.header-actions.svelte-6k6hra{display:inline-flex;align-items:center;gap:8px}.locale-switcher.svelte-6k6hra{position:relative;display:inline-flex;align-items:center}.locale-select.svelte-6k6hra{appearance:none;-webkit-appearance:none;height:34px;padding:0 26px 0 12px;border:1px solid var(--line-2);background:var(--card);border-radius:999px;color:var(--ink);font:inherit;font-size:13px;font-weight:600;letter-spacing:-.005em;cursor:pointer;box-shadow:0 1px #14142808}.locale-select.svelte-6k6hra:hover{background:var(--tint)}.locale-select.svelte-6k6hra:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.locale-chevron.svelte-6k6hra{position:absolute;right:10px;color:var(--muted);pointer-events:none}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-page: oklch(96% .004 80);--paper: oklch(98.5% .004 80);--card: #ffffff;--ink: oklch(20% .01 280);--ink-2: oklch(38% .01 280);--muted: oklch(58% .008 280);--line: oklch(91% .005 280);--line-2: oklch(86% .006 280);--tint: oklch(96.5% .012 285);--accent: oklch(48% .18 277);--accent-ink: #ffffff;--accent-soft: oklch(94% .04 277);--accent-soft-ink: oklch(38% .16 277);--danger: oklch(58% .18 25);--danger-soft: oklch(94% .04 25);--success: oklch(60% .14 145);--radius: 14px;--radius-lg: 20px;--shadow-card: 0 1px 0 rgba(20, 20, 40, .03), 0 1px 2px rgba(20, 20, 40, .04), 0 6px 18px -8px rgba(20, 20, 40, .08)}html,body{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg-page);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#app{display:contents}.app-shell{width:100%;height:100dvh;display:flex;flex-direction:column;background:var(--paper);overflow:hidden}.screen-content{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom,0)}@media(min-width:520px){body{display:flex;align-items:center;justify-content:center;min-height:100dvh}.app-shell{width:390px;height:min(820px,96dvh);border-radius:var(--radius-lg);box-shadow:0 30px 70px -20px #1414282e,0 0 0 1px #1414280f;overflow:hidden}}.page-header{padding:14px 18px 10px;display:flex;flex-direction:column;gap:4px;flex-shrink:0}.page-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.page-title{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.page-status{min-height:16px;font-size:12px;font-weight:500;letter-spacing:-.005em;color:var(--muted);transition:color .2s}.page-status.error{color:var(--danger)}.page-status.success{color:var(--success)}.btn-share{height:34px;padding:0 12px 0 10px;border:1px solid var(--line-2);background:var(--card);border-radius:999px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--ink);font-size:13px;font-weight:600;letter-spacing:-.005em;box-shadow:0 1px #14142808;white-space:nowrap;flex-shrink:0}.btn-share:hover{background:var(--tint)}.bottom-nav{flex-shrink:0;border-top:1px solid var(--line-2);background:#ffffffeb;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);padding-top:6px;padding-bottom:max(18px,env(safe-area-inset-bottom,18px));padding-left:4px;padding-right:4px}.bottom-nav-inner{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.bottom-nav-inner::-webkit-scrollbar{display:none}.nav-btn{flex:1 1 0;min-width:60px;border:none;background:transparent;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;color:var(--muted);-webkit-tap-highlight-color:transparent}.nav-btn.active{color:var(--accent)}.nav-btn-pill{width:44px;height:26px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:transparent;transition:background .16s ease}.nav-btn.active .nav-btn-pill{background:var(--accent-soft)}.nav-btn-label{font-size:10.5px;font-weight:500;letter-spacing:-.005em;white-space:nowrap;max-width:72px;overflow:hidden;text-overflow:ellipsis}.nav-btn.active .nav-btn-label{font-weight:600}.tab-content{padding:0 14px 20px}.card{background:var(--card);border:1px solid var(--line-2);border-radius:16px;padding:14px 16px;box-shadow:var(--shadow-card)}.size-selector{display:inline-flex;align-items:center;gap:4px;background:var(--card);border:1px solid var(--line-2);border-radius:12px;padding:3px}.size-btn{border:none;background:transparent;color:var(--ink-2);padding:6px 10px;border-radius:9px;font-size:12.5px;font-weight:600;cursor:pointer;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.size-btn.active{background:var(--accent);color:var(--accent-ink)}.toolbar{display:flex;gap:6px}.toolbar-btn{flex:1;height:38px;border-radius:10px;border:1px solid var(--line-2);background:var(--card);color:var(--ink);font-size:13px;font-weight:600;letter-spacing:-.005em;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-family:inherit}.toolbar-btn:disabled{opacity:.4;cursor:default}.toolbar-btn:hover:not(:disabled){background:var(--tint)}.btn-primary{height:44px;border-radius:12px;border:1px solid transparent;background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;width:100%}.btn-primary:hover:not(:disabled){opacity:.92}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.field-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.field-label{font-size:13.5px;font-weight:600;color:var(--ink)}.field-hint{font-size:11.5px;color:var(--muted);margin-top:2px}.divider{height:1px;background:var(--line);margin:14px 0}.stepper{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:10px;background:var(--paper);overflow:hidden}.stepper-btn{width:32px;height:32px;border:none;background:transparent;font-size:16px;font-weight:600;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit}.stepper-value{width:44px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums;font-size:14px}.hint-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--accent-soft);color:var(--accent-soft-ink);border-radius:999px;font-size:12.5px;font-weight:500;letter-spacing:-.005em;align-self:flex-start;max-width:100%}.hint-chip-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hint-dismiss{border:none;background:transparent;cursor:pointer;color:var(--accent-soft-ink);padding:2px;margin-left:2px;display:flex;align-items:center;flex-shrink:0;font-family:inherit}.mode-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--accent-soft);color:var(--accent-soft-ink);border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.01em;text-transform:uppercase}.create-values{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.create-value-btn{min-width:36px;height:36px;padding:0 10px;border-radius:10px;border:1px solid var(--line-2);background:var(--card);color:var(--ink);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;font-family:inherit}.create-value-btn:disabled{opacity:.4;cursor:default}.create-value-btn:hover:not(:disabled){background:var(--tint)}.create-value-btn.valid{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-soft-ink)}.create-value-btn.valid:hover:not(:disabled){background:color-mix(in oklab,var(--accent) 22%,var(--card))}.howto-prose{font-size:14px;line-height:1.55;color:var(--ink-2);margin-bottom:14px}.rule-row{display:flex;gap:12px;align-items:flex-start;margin-top:10px}.rule-number{flex-shrink:0;width:24px;height:24px;border-radius:6px;background:var(--accent-soft);color:var(--accent-soft-ink);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.rule-title{font-size:13.5px;font-weight:600;color:var(--ink)}.rule-body{font-size:13px;color:var(--ink-2);line-height:1.5;margin-top:2px}.controls-table{border-top:1px solid var(--line);font-size:12.5px}.controls-row-item{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.controls-action{font-weight:600;color:var(--ink)}.controls-touch{color:var(--ink-2)}.controls-kb{color:var(--muted);font-family:JetBrains Mono,monospace;font-size:11.5px}.walkthrough-placeholder{background:var(--card);border:1px dashed var(--line-2);border-radius:16px;padding:32px 24px;text-align:center;color:var(--muted);font-size:13px;line-height:1.5}.walkthrough-intro{margin-bottom:14px}.walkthrough-wave{background:var(--card);border:1px solid var(--line-2);border-radius:16px;padding:12px 14px 14px;box-shadow:var(--shadow-card);margin-bottom:14px}.walkthrough-wave-title{font-size:13.5px;font-weight:700;color:var(--ink);letter-spacing:-.01em;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.walkthrough-wave-count{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:-.005em}.walkthrough-wave-rules{margin-top:4px;font-size:11.5px;font-weight:600;color:var(--accent-soft-ink);letter-spacing:.02em;text-transform:uppercase;font-variant-numeric:tabular-nums}.walkthrough-wave-sub{margin-top:4px;font-size:12.5px;line-height:1.5;color:var(--ink-2)}.walkthrough-grid{display:flex;justify-content:center;margin-top:10px}.walkthrough-wave .puzzle td,.walkthrough-wave .puzzle th{width:2.1rem;height:2.1rem;font-size:.92rem}#emoji-rain{position:fixed;inset:0;pointer-events:none;z-index:9999;overflow:hidden}.emoji-drop{position:absolute;top:-3rem;font-size:1.75rem;user-select:none;will-change:transform}@keyframes emoji-fall{to{transform:translateY(110vh) rotate(var(--spin));opacity:.2}}#print-output{display:none}.page-group{display:grid;grid-template-columns:repeat(2,auto);gap:2rem 3rem;position:relative}.promo{display:none;font-size:.95rem;color:#000;text-align:center;padding-top:.5rem;border-top:1px solid #000;margin-top:.5rem}@media print{body{background:#fff;display:block}.app-shell,.bottom-nav{display:none}#print-output{display:block}.page-group{gap:8mm 10mm;break-after:page;page-break-after:always;padding-bottom:12mm}.page-group:last-child{break-after:auto;page-break-after:auto}.promo{display:block;position:absolute;bottom:0;left:0;right:0}}.puzzle-wrap{display:inline-block;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px var(--line-2);background:var(--card);user-select:none}.puzzle{border-collapse:collapse;color:var(--ink)}.puzzle td,.puzzle th{width:2.5rem;height:2.5rem;text-align:center;vertical-align:middle;font-size:1.05rem}.puzzle .target{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;background:var(--tint);letter-spacing:-.02em}.puzzle .target.target-clickable{cursor:pointer;user-select:none}.puzzle .target.target-clickable:hover{background:var(--accent-soft)}.puzzle .target.target-selected{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft);border-radius:4px}.puzzle thead th:first-child{background:transparent}.puzzle .cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;background:var(--card);transition:background .12s ease;cursor:pointer}.puzzle .cell.selected{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft);border-radius:4px}.puzzle .cell.selected.notes-mode{outline-style:dashed;background:#f5f4ff}.puzzle .cell.wrong{background:var(--danger-soft)}.puzzle .cell.selected.wrong{background:oklch(90% .06 25)}.puzzle .cell.black{background:var(--ink);color:var(--ink)}.puzzle .cell.black.wrong{outline:3px solid var(--danger);outline-offset:-4px}.puzzle .cell.ex-new{background:#fef9c3}.puzzle .cell.ex-new:has(.cell-value){outline:2.5px solid #f59e0b;outline-offset:-3px}.puzzle .cell.black.ex-new{background:var(--ink)}.puzzle .cell .cell-value{font-size:1.05rem;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.puzzle .cell .cell-notes{position:absolute;inset:4%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);pointer-events:none;font-size:.62rem;line-height:1;color:var(--ink-2);font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.puzzle .cell .cell-notes .note{display:flex;align-items:center;justify-content:center}.puzzle .cell .cell-notes .note-1{grid-area:1 / 1}.puzzle .cell .cell-notes .note-2{grid-area:1 / 2}.puzzle .cell .cell-notes .note-3{grid-area:1 / 3}.puzzle .cell .cell-notes .note-4{grid-area:2 / 1}.puzzle .cell .cell-notes .note-5{grid-area:2 / 2}.puzzle .cell .cell-notes .note-6{grid-area:2 / 3}.puzzle .cell .cell-notes .note-7{grid-area:3 / 1}.puzzle .cell .cell-notes .note-marker{grid-area:3 / 3;font-weight:700}.puzzle tbody th{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.input-bar{display:flex;gap:6px;width:100%}.pad-btn{position:relative;flex:1;min-width:0;height:56px;border-radius:12px;background:var(--card);border:1px solid var(--line-2);box-shadow:0 1px #1414280a;display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;overflow:hidden;-webkit-tap-highlight-color:transparent;user-select:none;transition:transform 80ms ease,background .12s ease;font-family:inherit}.pad-btn:disabled{opacity:.4;cursor:default}.pad-btn.pressed{background:var(--tint);transform:scale(.97);box-shadow:none}.pad-btn-digit{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em;position:relative;z-index:1}.pad-btn-icon{position:relative;z-index:1;display:flex;align-items:center;justify-content:center}.pad-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent);transform-origin:left center;transition:opacity .2s}.howto-step{display:flex;justify-content:center;margin:10px 0}.howto-step .puzzle td,.howto-step .puzzle th{width:2.1rem;height:2.1rem;font-size:.92rem}@media print{.puzzle{color:#000}.puzzle td,.puzzle th{width:9mm;height:9mm;font-size:8pt;border:1px solid #000;color:#000;background:#fff}.puzzle .cell{border-right-color:#000;border-bottom-color:#000}.puzzle-wrap{border-radius:0;box-shadow:none;background:#fff}.puzzle .target{background:#fff;color:#000}.puzzle thead th:first-child{border:none;background:transparent}.puzzle .cell.black{background:#000;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
