:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f9fafb;--fg:#111827;--muted:#6b7280;--surface:#fff;--border:#e5e7eb;--accent:#2563eb;--accent-fg:#fff;--danger:#dc2626;--btn-bg:#eef0f3;--btn-bg-active:#dde1e7;--overlay:#11182773;font-family:system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#111827;--fg:#f9fafb;--muted:#9ca3af;--surface:#1f2937;--border:#374151;--accent:#3b82f6;--danger:#f87171;--btn-bg:#1f2937;--btn-bg-active:#374151;--overlay:#0009}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111827;--fg:#f9fafb;--muted:#9ca3af;--surface:#1f2937;--border:#374151;--accent:#3b82f6;--danger:#f87171;--btn-bg:#1f2937;--btn-bg-active:#374151;--overlay:#0009}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);touch-action:manipulation;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;margin:0}button{font:inherit;color:inherit}.btn{background:var(--btn-bg);cursor:pointer;border:0;border-radius:12px;min-width:96px;min-height:48px;padding:0 20px;font-weight:600}.btn:active{background:var(--btn-bg-active)}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-danger{background:var(--danger);color:#fff}.overlay{z-index:10;background:var(--overlay);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);text-align:center;border-radius:16px;width:min(100%,320px);padding:20px;box-shadow:0 10px 30px #00000040}.dialog-text{margin:4px 0 20px;font-size:1.05rem}.dialog-actions{justify-content:center;gap:12px;display:flex}:root{--r0:#fde2e4;--r1:#fff1c1;--r2:#d8f3dc;--r3:#cfe8ff;--r4:#e9d8fd;--r5:#ffe0c2;--r6:#c9f2ee;--r7:#f9d5ec;--r8:#e4ecc4;--r9:#dfe3ea;--grid-thin:#9ca3af;--grid-thick:#1f2937;--mark:#6b7280;--star:#111827;--star-bad:#dc2626}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--r0:#4a2a30;--r1:#4a4024;--r2:#234030;--r3:#213a52;--r4:#3a2d52;--r5:#4a3322;--r6:#1f4643;--r7:#4a2840;--r8:#3a4224;--r9:#343a46;--grid-thin:#4b5563;--grid-thick:#e5e7eb;--mark:#9ca3af;--star:#f9fafb;--star-bad:#f87171}}:root[data-theme=dark]{--r0:#4a2a30;--r1:#4a4024;--r2:#234030;--r3:#213a52;--r4:#3a2d52;--r5:#4a3322;--r6:#1f4643;--r7:#4a2840;--r8:#3a4224;--r9:#343a46;--grid-thin:#4b5563;--grid-thick:#e5e7eb;--mark:#9ca3af;--star:#f9fafb;--star-bad:#f87171}.board{aspect-ratio:1;touch-action:none;cursor:pointer;width:min(100vw - 16px,480px);max-width:100%;height:auto;max-height:100%;display:block}.r0{--rf:var(--r0)}.r1{--rf:var(--r1)}.r2{--rf:var(--r2)}.r3{--rf:var(--r3)}.r4{--rf:var(--r4)}.r5{--rf:var(--r5)}.r6{--rf:var(--r6)}.r7{--rf:var(--r7)}.r8{--rf:var(--r8)}.r9{--rf:var(--r9)}.cell{fill:var(--rf)}.cell.over{fill:color-mix(in srgb, var(--star-bad) 32%, var(--rf))}.grid-thin{fill:none;stroke:var(--grid-thin)}.grid-thick,.grid-outer{fill:none;stroke:var(--grid-thick)}.marks{pointer-events:none}.mark{fill:none;stroke:var(--mark);stroke-width:.07px;stroke-linecap:round}.star{fill:var(--star)}.star.bad{fill:var(--star-bad)}.play{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.topbar{flex:none;grid-template-columns:1fr auto 1fr;align-items:center;height:56px;padding:0 8px 0 16px;display:grid}.topbar-title{margin:0;font-size:1.25rem;font-weight:700}.topbar-timer{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:1.25rem}.icon-btn{cursor:pointer;background:0 0;border:0;border-radius:12px;justify-self:end;place-items:center;width:48px;height:48px;display:grid}.icon-btn[aria-pressed=true]{color:var(--danger)}.icon-btn[aria-pressed=false]{color:var(--muted)}.play-main{flex:1;justify-content:center;align-items:center;min-height:0;padding:0 8px;display:flex}.toolbar{flex:none;justify-content:center;gap:8px;padding:8px 8px 12px;display:flex}.tool-btn{background:var(--btn-bg);cursor:pointer;border:0;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;max-width:120px;min-height:56px;font-size:.8rem;display:flex}.tool-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.tool-btn:active:not(:disabled){background:var(--btn-bg-active)}.tool-btn:disabled{opacity:.4;cursor:default}.clear-dialog{animation:.35s ease-out pop}.clear-stars{color:#f59e0b;letter-spacing:.2em;margin:0;font-size:1.75rem}.clear-title{margin:4px 0;font-size:2rem}.clear-time{color:var(--muted);margin:0 0 20px}.clear-time strong{color:var(--fg);font-variant-numeric:tabular-nums}@keyframes pop{0%{opacity:0;transform:scale(.8)}}@media (prefers-reduced-motion:reduce){.clear-dialog{animation:none}}.topbar-start{align-items:center;gap:2px;min-width:0;display:flex}.topbar{padding-left:4px}.icon-btn.back-btn{color:var(--fg);justify-self:start}.clear-actions{flex-direction:column;gap:8px;display:flex}:root{--success:#16a34a;--diff-easy:#22c55e;--diff-medium:#f59e0b;--diff-hard:#ef4444;--star-gold:#f59e0b}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--success:#4ade80}}:root[data-theme=dark]{--success:#4ade80}.screen{max-width:560px;min-height:100dvh;padding:env(safe-area-inset-top) calc(env(safe-area-inset-right) + 16px) calc(env(safe-area-inset-bottom) + 24px) calc(env(safe-area-inset-left) + 16px);margin:0 auto}.screen-header{align-items:center;gap:4px;height:56px;margin:0 -12px 8px;display:flex}.screen-title{margin:0;font-size:1.25rem;font-weight:700}.status{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:48px 16px;display:flex}.status-text{color:var(--fg);margin:0;font-weight:600}.status-detail{margin:0 0 12px;font-size:.85rem}.home{flex-direction:column;justify-content:center;gap:32px;display:flex}.home-hero{text-align:center}.home-logo{width:64px;height:64px;fill:var(--star-gold)}.home-title{letter-spacing:-.01em;margin:8px 0 4px;font-size:2rem;font-weight:800}.home-sub{color:var(--muted);margin:0}.home-menu{flex-direction:column;gap:12px;display:flex}.menu-btn{border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;border-radius:16px;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-height:64px;padding:10px 20px;display:flex}.menu-btn:active{background:var(--btn-bg-active)}.menu-label{font-size:1.1rem;font-weight:700}.menu-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.menu-daily{background:var(--accent);min-height:88px;color:var(--accent-fg);border:0}.menu-daily .menu-label{font-size:1.35rem}.menu-daily .menu-meta{color:inherit;opacity:.9}.menu-daily:active{background:var(--accent);filter:brightness(.92)}.menu-check{font-weight:700}.legend{color:var(--muted);gap:16px;margin:0 0 12px;padding:0;font-size:.85rem;list-style:none;display:flex}.legend-item:before{content:"";background:var(--diff);border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.diff-easy{--diff:var(--diff-easy)}.diff-medium{--diff:var(--diff-medium)}.diff-hard{--diff:var(--diff-hard)}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.tile{aspect-ratio:1;border:1px solid var(--border);border-bottom:4px solid var(--diff);background:var(--surface);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:56px;padding:0;display:flex;position:relative}.tile:active{background:var(--btn-bg-active)}.tile-num{font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:700}.tile-sub{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.7rem}.tile.cleared{background:color-mix(in srgb, var(--success) 12%, var(--surface))}.tile.cleared .tile-sub{color:var(--success);font-weight:600}.tile-badge{position:absolute;top:4px;right:6px}.tile-check{color:var(--success);font-size:.8rem;font-weight:800}.tile-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;top:7px;right:7px}.settings{flex-direction:column;gap:12px;display:flex}.setting-row{border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:64px;padding:12px 16px;display:flex}.setting-text{flex-direction:column;gap:2px;display:flex}.setting-label{font-weight:700}.setting-desc{color:var(--muted);margin:0;font-size:.85rem}.switch{background:var(--btn-bg-active);border-radius:14px;flex:none;width:48px;height:28px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.setting-row[aria-checked=true] .switch{background:var(--accent)}.setting-row[aria-checked=true] .switch:after{transform:translate(20px)}.setting-group{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;gap:10px;padding:12px 16px 16px;display:flex}.segmented{background:var(--btn-bg);border-radius:12px;gap:4px;padding:4px;display:flex}.segment{cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;min-height:48px;font-weight:600}.segment[aria-checked=true]{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px #00000026}.btn-danger-outline{border:1px solid var(--danger);color:var(--danger);background:0 0}@media (prefers-reduced-motion:reduce){.switch,.switch:after{transition:none}}@supports not (height:100dvh){.play{height:100vh}.screen{min-height:100vh}}html:has(.play){overscroll-behavior:none;overflow:hidden}html:has(.play) body{overscroll-behavior:none;overflow:hidden}.board{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.update-toast{left:50%;bottom:calc(env(safe-area-inset-bottom) + 16px);z-index:20;width:max-content;max-width:calc(100vw - 32px);position:fixed;transform:translate(-50%)}.update-toast-btn{background:var(--fg);min-height:48px;color:var(--bg);cursor:pointer;border:0;border-radius:999px;padding:0 20px;font-size:.95rem;box-shadow:0 6px 20px #00000040}.update-toast-btn strong{text-underline-offset:3px;text-decoration:underline}
