:root,:root[data-theme=clean]{--canvas:#f6f7fb;--bg:var(--canvas);--card:#fff;--card-shadow:0 1px 2px #141e3c0f, 0 4px 12px #141e3c0d;--card-border:transparent;--cell:#fff;--ink:#1b2030;--muted:#646b7e;--line:#e6e9ef;--line-strong:#9aa3b5;--hairline:#e3e6ee;--box-line:#c9cfdc;--accent:#2f62e8;--on-accent:#fff;--peer:#f3f6fb;--same:#dbe6fb;--error:#d64545;--tile-play:#e8eeff;--tile-learn:#e3f5ea;--tile-entry:#fff1dc;--tile-photo:#f1e6fb;--tile-play-ink:#2f62e8;--tile-learn-ink:#1f8a57;--tile-entry-ink:#b25e09;--tile-photo-ink:#7a3fc4;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-push:cubic-bezier(.32, .72, 0, 1);--dur-press:.15s;--dur-quick:.22s;--dur-screen:.4s;--font:system-ui, -apple-system, sans-serif;--radius:12px;--radius-card:16px;--radius-key:14px;--hint-unit:#fff1c2;--hint-proof:#cdeed6;--hint-target:#ffd9a8;--hint-eliminate:#f8d0d0;--hint-a:#e0d7f8;--hint-b:#bfe6f2;--hint-source:#f6d3ea}:root[data-theme=paper]{--canvas:#f6f1e7;--bg:var(--canvas);--card:#fbf8f1;--card-shadow:0 1px 2px #50371412, 0 3px 10px #5037140d;--card-border:transparent;--cell:#fbf8f1;--ink:#2b2620;--muted:#6b6256;--line:#ddd3c2;--line-strong:#6b6153;--hairline:#ddd3c2;--box-line:#8a7f6e;--accent:#b0532f;--on-accent:#fff;--peer:#f1e9da;--same:#ecd3c0;--error:#b8322a;--tile-play:#f3dccd;--tile-learn:#dfe8d2;--tile-entry:#f4e5c1;--tile-photo:#e8dbe6;--tile-play-ink:#9a4424;--tile-learn-ink:#4a6b2e;--tile-entry-ink:#8a5d12;--tile-photo-ink:#7a3f68;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-push:cubic-bezier(.32, .72, 0, 1);--dur-press:.15s;--dur-quick:.22s;--dur-screen:.4s;--font:"Iowan Old Style", Charter, Palatino, "Palatino Linotype", "Book Antiqua", Georgia, serif;--radius:4px;--radius-card:6px;--radius-key:6px;--hint-unit:#f7e7a8;--hint-proof:#c9e0bd;--hint-target:#f2c98f;--hint-eliminate:#eebdb5;--hint-a:#d3c3e6;--hint-b:#b7d9de;--hint-source:#ecc4d8}:root[data-theme=night]{--canvas:#17191d;--bg:var(--canvas);--card:#23272e;--card-shadow:none;--card-border:#323843;--cell:#1e2126;--ink:#e8e6e1;--muted:#8f949d;--line:#2c3037;--line-strong:#555b66;--hairline:#2c3037;--box-line:#555b66;--accent:#8fc4a8;--on-accent:#0f2a1f;--peer:#23272d;--same:#2f4a3f;--error:#ef7b7b;--tile-play:#26382f;--tile-learn:#223a45;--tile-entry:#403626;--tile-photo:#392f47;--tile-play-ink:#8fc4a8;--tile-learn-ink:#8cc7de;--tile-entry-ink:#e0b476;--tile-photo-ink:#c4a6e8;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-push:cubic-bezier(.32, .72, 0, 1);--dur-press:.15s;--dur-quick:.22s;--dur-screen:.4s;--font:system-ui, -apple-system, sans-serif;--radius:10px;--radius-card:16px;--radius-key:14px;--hint-unit:#4a4328;--hint-proof:#2c4a63;--hint-target:#5c4020;--hint-eliminate:#5e2f33;--hint-a:#4a3a66;--hint-b:#1b4a54;--hint-source:#613253}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{overscroll-behavior:none}html{background:var(--canvas)}body{min-height:100dvh;font-family:var(--font);font-variant-numeric:lining-nums;color:var(--ink);background:var(--canvas);padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);-webkit-tap-highlight-color:transparent;margin:0;font-size:16px}button,a,input,select,textarea,[role=button],[role=gridcell]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,[role=button],.board,.pad{-webkit-user-select:none;user-select:none}.board{-webkit-touch-callout:none}.app{max-width:480px;margin:0 auto;padding:16px}h1{letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:700}.card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-card);box-shadow:var(--card-shadow)}.pressable{transition:transform var(--dur-press) var(--ease-out)}.pressable:active{transform:scale(.97)}.pressable:disabled:active{transform:none}.cell[data-hint] .notes{color:var(--ink)}.board{--size:min(calc(100vw - 8px), 520px);width:var(--size);border:1.5px solid var(--box-line);border-radius:var(--radius-card);box-shadow:var(--card-shadow);background:var(--cell);margin:0 auto;overflow:hidden}.board-row{grid-template-columns:repeat(9,1fr);display:grid}.cell{aspect-ratio:1;border:0;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);isolation:isolate;background:var(--cell);min-width:0;color:var(--ink);font:inherit;cursor:pointer;border-radius:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:clamp(1.1rem,6vw,1.9rem);transition:background-color .12s,color .12s;display:flex;position:relative}.board-row>.cell:last-child{border-right:0}.board-row:last-child>.cell{border-bottom:0}.board-row>.cell:nth-child(3n){border-right:0}.board-row:nth-child(3n)>.cell{border-bottom:0}.cell.box-left{border-left:1.5px solid var(--box-line)}.cell.box-top{border-top:1.5px solid var(--box-line)}.cell.given{color:var(--ink);font-weight:700}.cell.entry{color:var(--accent)}.cell[data-peer]{background:var(--peer)}.cell[data-same]{background:var(--same);box-shadow:inset 0 -3px 0 var(--accent)}.cell[data-selected]{background:var(--peer);box-shadow:none}.cell:before{content:"";background:var(--accent);box-shadow:0 3px 8px color-mix(in srgb, var(--accent) 35%, transparent);opacity:0;z-index:-1;pointer-events:none;transition:transform var(--dur-quick) var(--ease-spring), opacity var(--dur-press) var(--ease-out);border-radius:8px;position:absolute;inset:2px;transform:scale(.6)}:root[data-theme=night] .cell:before{box-shadow:none}.cell[data-selected]:before{opacity:1;transform:none}.cell[data-selected],.cell[data-selected].entry,.cell[data-selected][data-mistake],.cell[data-selected] .notes,.cell[data-selected] .note[data-match],.cell[data-selected] .note[data-hint-digit]{color:var(--on-accent)}.cell[data-selected][data-conflict] .value{-webkit-text-decoration-color:var(--on-accent);text-decoration-color:var(--on-accent)}.board[data-live] .value[data-fresh]{animation:pop .3s var(--ease-spring)}.board[data-live] .cell[data-mistake] .value[data-fresh]{animation:shake .35s var(--ease-out)}@keyframes pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.ripple{background:var(--accent);opacity:0;z-index:-1;pointer-events:none;animation:wash .6s var(--ease-out) calc(var(--ripple-i,0) * 40ms);position:absolute;inset:0}@keyframes wash{0%{opacity:.35}to{opacity:0}}@keyframes shake{20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.cell[data-mistake]{color:var(--error)}.cell[data-mistake]:after{content:"";border-top:9px solid var(--error);border-left:9px solid #0000;position:absolute;top:0;right:0}.cell[data-conflict] .value{-webkit-text-decoration:underline wavy var(--error);text-decoration:underline wavy var(--error);text-underline-offset:4px}.notes{color:var(--muted);grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);font-size:clamp(.55rem,2.6vw,.8rem);font-weight:400;line-height:1;display:grid;position:absolute;inset:2px}.note[data-match]{color:var(--accent);font-weight:800;text-decoration:underline}.cell[data-hint] .note[data-match]{color:var(--ink)}.note{justify-content:center;align-items:center;display:flex}.pad{grid-template-columns:repeat(9,1fr);width:min(100vw - 8px,520px);margin:12px auto 0;display:grid;overflow:hidden}.pad-key{min-width:0;height:52px;color:var(--ink);font:inherit;cursor:pointer;transition:background-color var(--dur-press) var(--ease-out), color var(--dur-press) var(--ease-out), opacity var(--dur-press) var(--ease-out);background:0 0;border:0;border-radius:0;padding:0;font-size:22px;font-weight:500;position:relative}.pad-key+.pad-key:before{content:"";background:var(--hairline);width:1px;position:absolute;top:14px;bottom:14px;left:0}.pad-key:active{background:color-mix(in srgb, var(--accent) 14%, var(--card))}.pad-key:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (hover:hover){.pad-key:hover{color:var(--accent)}}.pad-key[data-done]{opacity:.3}.pad[data-notes] .pad-key{color:var(--muted);font-size:1rem}.toolbar{justify-content:space-around;gap:4px;width:min(100vw - 8px,520px);margin:12px auto 0;display:flex}.tool{border-radius:var(--radius);min-height:52px;color:var(--ink);font:inherit;cursor:pointer;transition:transform var(--dur-press) var(--ease-out), background-color var(--dur-press) var(--ease-out), color var(--dur-press) var(--ease-out);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 4px;font-size:.6875rem;font-weight:500;display:flex}.tool:disabled{opacity:.4;cursor:default}.tool[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);font-weight:600}.tool[aria-pressed=true] span{color:var(--ink)}.more{flex:0 0 44px;display:flex;position:relative}.more-btn{padding:0}.more-menu{z-index:2;transform-origin:100% 100%;min-width:140px;animation:menu-in var(--dur-press) var(--ease-out);flex-direction:column;padding:4px;display:flex;position:absolute;bottom:calc(100% + 4px);right:0}.more-menu .tool{flex-direction:row;justify-content:flex-start;gap:10px;min-height:44px;padding:0 12px;font-size:.9375rem}@keyframes menu-in{0%{opacity:0;transform:scale(.96)}}.cell[data-hint~=unit]{background:var(--hint-unit);outline:1px dashed var(--muted);outline-offset:-3px}.cell[data-hint~=proof]{background:var(--hint-proof);outline:2px dotted var(--ink);outline-offset:-4px}.cell[data-hint~=target]{background:var(--hint-target);outline:3px solid var(--ink);outline-offset:-3px}.cell[data-hint~=eliminate]{background:var(--hint-eliminate);outline:2px dashed var(--error);outline-offset:-3px}.cell[data-hint~=source]{background:var(--hint-source);outline:5px double var(--ink);outline-offset:-4px}.cell[data-hint~=colorA]{background-image:linear-gradient(135deg, var(--ink) 0 10px, transparent 10px);background-color:var(--hint-a)}.cell[data-hint~=colorB]{background-image:linear-gradient(45deg, var(--ink) 0 10px, transparent 10px);background-color:var(--hint-b)}.note[data-hint-digit]{color:var(--ink);font-weight:700}.note[data-hint-digit=eliminate]{text-decoration:line-through;text-decoration-thickness:2px}.note[data-hint-digit=target]{color:var(--accent);font-size:1.5em}.hint-panel{width:min(100vw - 8px,520px);color:var(--ink);margin:12px auto 0;padding:14px 16px}.hint-content{animation:hint-rise var(--dur-quick) var(--ease-out)}@keyframes hint-rise{0%{opacity:0;transform:translateY(6px)}}.hint-title{margin:0 0 4px;font-size:1.05rem;font-weight:600}.hint-text{margin:0 0 8px;line-height:1.4}.hint-actions{gap:8px;margin-top:4px;display:flex}.hint-btn{border:1px solid var(--hairline);border-radius:var(--radius-key);background:var(--card);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;flex:1;font-weight:600}.hint-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.cell[data-hint]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.home-title{font-size:1.75rem}.sub{color:var(--muted);margin:0 0 6px;font-size:.8125rem}.home-header .icon-btn,.lesson-header .icon-btn,.game-header .icon-btn{isolation:isolate;position:relative}.home-header .icon-btn:before,.lesson-header .icon-btn:before,.game-header .icon-btn:before{content:"";z-index:-1;background:var(--card);box-shadow:var(--card-shadow);border-radius:12px;position:absolute;inset:4px}.cont{background:var(--accent);width:100%;color:var(--on-accent);box-shadow:0 8px 20px color-mix(in srgb, var(--accent) 30%, transparent);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:18px;padding:14px 16px;display:block}.cont-title{font-size:.9375rem;font-weight:600}.cont small{margin-top:2px;font-size:.75rem;font-weight:400;display:block}.crd{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:12px;padding:13px 14px;font-size:.9375rem;font-weight:600;display:flex}.crd em{color:var(--muted);font-size:.75rem;font-style:normal;font-weight:400;display:block}.tile{border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.tile-play{background:var(--tile-play);color:var(--tile-play-ink)}.tile-learn{background:var(--tile-learn);color:var(--tile-learn-ink)}.tile-entry{background:var(--tile-entry);color:var(--tile-entry-ink)}.tile-photo{background:var(--tile-photo);color:var(--tile-photo-ink)}.crd-compact{padding:9px 12px;font-size:.875rem}.crd-compact .tile{width:30px;height:30px}.lvl{min-height:52px;color:var(--ink);font:inherit;cursor:pointer;animation:rise var(--dur-quick) var(--ease-out) backwards;justify-content:space-between;align-items:center;padding:15px 16px;font-weight:600;display:flex}.lvl:nth-child(2){animation-delay:40ms}.lvl:nth-child(3){animation-delay:80ms}.lvl:nth-child(4){animation-delay:.12s}.lvl:disabled{opacity:.5;cursor:default}.dots{gap:3px;display:flex}.dots b{background:var(--line);border-radius:50%;width:6px;height:6px}.dots b.on{background:var(--accent)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.app{padding:8px 4px}.home{flex-direction:column;gap:12px;padding:8px 12px;display:flex}.home-header,.game-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.game-header{width:min(100vw - 8px,520px);margin:0 auto 8px}.game-level{letter-spacing:-.02em;font-weight:700}.game-timer{color:var(--muted);font-variant-numeric:lining-nums tabular-nums}.icon-btn{min-width:44px;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;font-size:1.3rem;display:inline-flex}.levels{flex-direction:column;gap:8px;display:flex}.confirm{padding:14px 16px}.confirm p{margin:0 0 8px}.error-text{color:var(--error);margin:0;line-height:1.4}.fb{animation:hint-rise var(--dur-quick) var(--ease-out);display:block}.pad-slot:empty{display:none}.completion{text-align:center;width:min(100vw - 8px,520px);animation:completion-rise .4s var(--ease-out) backwards;margin:16px auto 0;padding:20px 16px 16px}@keyframes completion-rise{0%{opacity:0;transform:translateY(12px)}}.completion-title{color:var(--muted);margin:0;font-size:1rem;font-weight:600}.completion-time{letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums;margin:4px 0;font-size:2.5rem;font-weight:700}.completion-hints{color:var(--muted);margin:0 0 16px;font-size:.875rem}.sheet-backdrop{animation:backdrop-in var(--dur-quick) var(--ease-out);background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--card);width:min(100vw,480px);box-shadow:var(--card-shadow);color:var(--ink);padding:8px 16px 16px;padding-bottom:max(16px, env(safe-area-inset-bottom));animation:sheet-up var(--dur-screen) var(--ease-push);border-radius:20px 20px 0 0}.sheet-backdrop[data-closing]{animation:backdrop-out .2s var(--ease-out) forwards}.sheet-backdrop[data-closing] .sheet{animation:sheet-down .2s var(--ease-push) forwards}@keyframes backdrop-in{0%{opacity:0}}@keyframes backdrop-out{to{opacity:0}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes sheet-down{to{transform:translateY(100%)}}.sheet-grip{background:var(--hairline);border-radius:2px;width:36px;height:4px;margin:0 auto 12px;display:block}.sheet-title{letter-spacing:-.02em;margin:0 0 12px;font-size:1.2rem;font-weight:700}.segmented{border-radius:var(--radius-card);background:var(--canvas);gap:2px;padding:3px;display:flex}.segment{border-radius:calc(var(--radius-card) - 3px);min-height:40px;color:var(--muted);font:inherit;cursor:pointer;transition:background-color var(--dur-press) var(--ease-out), color var(--dur-press) var(--ease-out), box-shadow var(--dur-press) var(--ease-out), transform var(--dur-press) var(--ease-out);background:0 0;border:0;flex:1;font-weight:500}.segment[aria-checked=true]{background:var(--card);color:var(--ink);box-shadow:var(--card-shadow);font-weight:600}.toggle-row{justify-content:space-between;align-items:center;min-height:48px;display:flex}.switch{border:1px solid var(--line-strong);background:var(--line);cursor:pointer;border-radius:14px;width:48px;height:28px;position:relative}.switch:after{content:"";background:var(--card);border:1px solid var(--line-strong);width:22px;height:22px;transition:transform var(--dur-press) var(--ease-out);border-radius:50%;position:absolute;top:2px;left:2px}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{transform:translate(20px)}.sheet-close{width:100%;margin-top:12px}.hint-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.hint-head .hint-text,.hint-head .hint-title{margin:0;line-height:28px}.explain-btn{width:44px;height:44px;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin:-8px -8px -8px 0;padding:0;display:inline-flex}.explain-btn-icon{background:var(--same);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.95rem;font-weight:600;line-height:1;display:inline-flex}.explain-btn:focus-visible{outline:none}.explain-btn:focus-visible .explain-btn-icon{outline:2px solid var(--accent);outline-offset:2px}.explain-sheet{overscroll-behavior:contain;max-height:100dvh;overflow-y:auto}.explain-sheet:focus{outline:none}.explain-title{margin-bottom:0}.explain-group{color:var(--muted);margin:2px 0 8px;font-size:.9rem}.explain-heading{margin:12px 0 4px;font-size:.95rem;font-weight:600}.sheet-text{margin:0;line-height:1.4}.explain-status{color:var(--muted)}.explain-caption{margin-top:8px}.board.readonly{--size:min(calc(100vw - 48px), 360px)}.board.readonly .cell{font-size:calc(var(--size) / 16);cursor:default}.board.readonly .notes{font-size:calc(var(--size) / 36)}.try-right{color:var(--accent);margin:0 0 4px;font-weight:600}.try-message{font-weight:500}.try-panel .pad{width:100%;margin:8px 0}.lesson{width:min(100vw - 8px,520px);margin:0 auto;padding:8px 4px 24px}.lesson-header{justify-content:flex-start;margin-bottom:4px}.lesson-title{letter-spacing:-.02em;margin:0;font-size:1.375rem;font-weight:700}.lesson-card{margin-top:10px;padding:4px 16px 14px}.lesson-card .explain-heading{margin-top:10px}.lesson-caption.card{padding:12px 16px}.lesson .explain-group{margin:0}.lesson-more{margin-top:8px}.lesson-caption{margin-top:10px}.lesson-controls{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.lesson-controls .hint-btn{min-width:44px;min-height:44px}.lesson-count{color:var(--muted);font-variant-numeric:lining-nums tabular-nums}.learn{width:min(100vw - 8px,520px);margin:0 auto;padding:8px 4px 24px}.learn-section h2{letter-spacing:-.02em;margin:20px 0 8px;font-size:1.05rem;font-weight:700}.learn-section h3{margin:14px 0 6px 4px}.learn-list{margin:0;padding:0;list-style:none;overflow:hidden}.learn-list li{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:8px;padding-right:12px;display:flex}.learn-list li:last-child{border-bottom:0}.learn-row{min-height:48px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--dur-press) var(--ease-out);background:0 0;border:0;flex:1;padding:0 4px 0 16px;font-weight:500}.learn-row:active{background:var(--canvas)}.learn-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (hover:hover){.learn-row:hover{background:var(--canvas)}}.learn-status{background:var(--canvas);color:var(--muted);border-radius:999px;flex:none;padding:3px 10px;font-size:.75rem;font-weight:600}.learn-status:empty{display:none}.learn-status[data-status=mastered]{background:color-mix(in srgb, var(--accent) 14%, var(--card));color:var(--ink)}.walk{width:min(100vw - 8px,520px);margin:0 auto;padding:8px 4px 24px}.walk-header{gap:8px}.walk-step{min-height:44px;color:var(--ink);font:inherit;cursor:pointer;flex:1;font-weight:600}.walk-toggle{flex:none}.walk-toggle .segment{min-width:44px;padding:0 12px}.walk-panel{margin-top:8px}.walk-nav{gap:8px;margin-top:8px;display:flex}.step-sheet{max-height:70vh;overflow-y:auto}.step-sheet .learn-list li{padding-right:0}.step-sheet .learn-row{padding-left:8px}.step-sheet .learn-row[aria-current=step]{background:color-mix(in srgb, var(--accent) 14%, var(--card));font-weight:600}.entry-screen{width:min(100vw - 8px,520px);margin:0 auto;padding:8px 4px 24px}.entry-screen .pad{width:100%}.entry-actions,.entry-panel{margin-top:8px}.hint-btn:disabled{opacity:.5;cursor:default}.photo-screen{width:min(100vw - 8px,520px);margin:0 auto;padding:8px 4px 24px}.photo-pick{flex-direction:column;gap:12px;margin-top:16px;display:flex}.photo-input{display:none}.photo-help,.photo-status,.photo-instruction{color:var(--muted);text-align:center;margin:8px 0}.photo-status{margin-top:32px}.photo-live .error-text{margin-top:16px}.lesson-title[tabindex="-1"]:focus{outline:none}.photo-instruction{margin-top:0}.photo-preview{object-fit:contain;border-radius:var(--radius-card);width:100%;max-height:28vh;box-shadow:var(--card-shadow);background:var(--peer);margin-bottom:8px;display:block}@media (width>=900px){.app:has(.entry-screen.photo-mode){max-width:none}.entry-screen.photo-mode{width:min(100vw - 48px,1100px)}.photo-body{align-items:flex-start;gap:24px;display:flex}.photo-preview{flex:1 1 0;min-width:0;max-height:80vh}.photo-work{flex:0 0 520px;width:520px}}.cell[data-flag]{box-shadow:inset 0 0 0 2px var(--accent);outline:2px dashed var(--ink);outline-offset:-4px}.cell[data-flag]:after{content:"";border-top:10px solid var(--ink);pointer-events:none;border-right:10px solid #0000;position:absolute;top:0;left:0}.cell[data-selected][data-flag]:after{border-top-color:var(--on-accent)}.cell[data-flag]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cell[data-selected]:focus-visible{outline:2px solid var(--on-accent);outline-offset:-5px}html[data-nav=push]::view-transition-group(root){animation-duration:var(--dur-screen)}html[data-nav=pop]::view-transition-group(root){animation-duration:var(--dur-screen)}html[data-nav=fade]::view-transition-group(root){animation-duration:.15s}html[data-nav=push]::view-transition-old(root){mix-blend-mode:normal;animation-duration:var(--dur-screen);animation-timing-function:var(--ease-push);animation-fill-mode:both}html[data-nav=push]::view-transition-new(root){mix-blend-mode:normal;animation-duration:var(--dur-screen);animation-timing-function:var(--ease-push);animation-fill-mode:both}html[data-nav=pop]::view-transition-old(root){mix-blend-mode:normal;animation-duration:var(--dur-screen);animation-timing-function:var(--ease-push);animation-fill-mode:both}html[data-nav=pop]::view-transition-new(root){mix-blend-mode:normal;animation-duration:var(--dur-screen);animation-timing-function:var(--ease-push);animation-fill-mode:both}html[data-nav=push]::view-transition-old(root){z-index:1;animation-name:nav-under-out}html[data-nav=push]::view-transition-new(root){z-index:2;animation-name:nav-over-in;box-shadow:-10px 0 28px #00000024}html[data-nav=pop]::view-transition-old(root){z-index:2;animation-name:nav-over-out;box-shadow:-10px 0 28px #00000024}html[data-nav=pop]::view-transition-new(root){z-index:1;animation-name:nav-under-in}html[data-nav=fade]::view-transition-old(root){animation:.15s both nav-fade-out}html[data-nav=fade]::view-transition-new(root){animation:.15s both nav-fade-in}@keyframes nav-over-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes nav-over-out{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes nav-under-out{0%{filter:brightness();transform:translate(0)}to{filter:brightness(.94);transform:translate(-25%)}}@keyframes nav-under-in{0%{filter:brightness(.94);transform:translate(-25%)}to{filter:brightness();transform:translate(0)}}@keyframes nav-fade-out{to{opacity:0}}@keyframes nav-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.pressable:active{transform:none}html[data-nav]::view-transition-group(root){animation-duration:.15s!important}html[data-nav]::view-transition-old(root){mix-blend-mode:plus-lighter!important;z-index:auto!important;box-shadow:none!important;animation-duration:.15s!important;animation-timing-function:ease!important;animation-fill-mode:both!important}html[data-nav]::view-transition-new(root){mix-blend-mode:plus-lighter!important;z-index:auto!important;box-shadow:none!important;animation-duration:.15s!important;animation-timing-function:ease!important;animation-fill-mode:both!important}html[data-nav]::view-transition-old(root){animation-name:nav-fade-out!important}html[data-nav]::view-transition-new(root){animation-name:nav-fade-in!important}}
