:root{--bg:#07090f;--bg-2:#0c1018;--panel:#161c2ab8;--panel-solid:#11151f;--panel-border:#96aad22e;--panel-border-soft:#96aad229;--ink:#eef2fb;--muted:#8a93ad;--grid:#788cb41a;--district:#96acd657;--accent:#ffb547;--accent-bright:#fff0c4;--danger:#ff4d63;--good:#ffd470;--page-bg:radial-gradient(1100px 700px at 50% -15%, #141b2e 0%, transparent 60%), radial-gradient(900px 600px at 110% 120%, #1a1430 0%, transparent 55%), var(--bg);--title-color:var(--accent-bright);--title-glow-shadow:0 0 8px #ffb54799, 0 0 26px #ff962873, 0 0 60px #ff78144d;--title-spacing:.04em;--tagline:var(--muted);--btn-radius:10px;--btn-hover-border:#ffb54773;--primary-bg:linear-gradient(180deg, #ffb547e6, #e18219eb);--primary-color:#2a1602;--primary-border:#ffc878b3;--primary-shadow:none;--seg-active-bg:linear-gradient(180deg, #ffb54738, #ff8c1e1f);--seg-active-color:var(--accent-bright);--seg-active-ring:inset 0 0 0 1px #ffb54766;--seg-active-glow:0 0 18px #ffaa3c8c;--board-bg:linear-gradient(160deg, #0a0d15, #05070c);--board-shadow:0 24px 60px #0009, inset 0 0 0 1px #96aad214;--lamp-size:46%;--lamp-bg:radial-gradient(circle at 50% 42%, #fff6d8 0%, #ffc861 45%, #e6810f 100%);--lamp-shadow:0 0 10px 2px #ffc460e6, 0 0 26px 8px #ff96288c;--lamp-core-inset:28%;--lamp-core-bg:#fff8e6;--lamp-bad-bg:radial-gradient(circle at 50% 42%, #ffd9d9 0%, #ff6b7d 45%, #c00f24 100%);--lamp-bad-shadow:0 0 10px 2px #ff5064e6, 0 0 28px 9px #ff284699;--lamp-anim:corepulse 5.5s ease-in-out infinite;--glow-size:40%;--glow-gradient:radial-gradient(circle, #ffd6829e 0%, #ffa53766 26%, #ff781929 52%, #ff641400 72%);--glow2-size:0%;--glow2-gradient:none;--mark-size:16%;--mark-bg:#96aad280;--mark-border:inset 0 0 0 1px #96aad240;--mark-anim:none;--hint-bg:#141a28;--hint-border:#ffb5474d;--hint-cell-bg:#ffb5470f;--hint-target-bg:#ffb5472e;--hint-focus-bg:#ffb5473d;--hint-focus-ring:0 0 0 2px #ffd682f2, 0 0 10px 1px #ffaa3c8c;--win-color:var(--good);--win-glow:0 0 18px #ffb54799;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.skin-ember{--page-bg:radial-gradient(1100px 700px at 50% -15%, #141b2e 0%, transparent 60%), #070910;--title-spacing:.05em;--panel-border:#96aad238;--panel-border-soft:#96aad238;--btn-radius:999px;--primary-bg:linear-gradient(180deg, #ffc25e, #e18219);--primary-border:#ffcd82bf;--primary-shadow:0 4px 18px #ff962859;--board-bg:linear-gradient(160deg, #0b0e17, #04060b);--board-shadow:0 24px 60px #000000a6, inset 0 0 0 1px #ffcd8c17, inset 0 0 60px #0000008c;--district:#ffcd8c42;--grid:#788cb414;--lamp-bg:radial-gradient(circle at 50% 38%, #fff8e0 0%, #ffc861 42%, #d97a10 78%, #9c4d05 100%);--lamp-shadow:0 0 10px 2px #ffc460e6, 0 0 28px 9px #ff962880, inset 0 -3px 6px #8c3c008c, inset 0 2px 3px #ffffff80;--lamp-core-inset:30%;--lamp-core-bg:radial-gradient(circle, #fff 0%, #fff3cf 55%, #ffe6aa00 100%);--lamp-anim:corepulse 5.5s ease-in-out infinite, ignite .12s ease-out;--glow-size:24%;--glow-gradient:radial-gradient(circle, #ffe2a0bf 0%, #ffb44659 45%, #ff963200 72%);--glow2-size:58%;--glow2-gradient:radial-gradient(circle, #ffa03c42 0%, #ff6e1e1a 45%, #ff641400 70%);--mark-size:15%;--mark-bg:#a0b4d780;--mark-border:inset 0 0 0 1px #a0b4d740;--mark-anim:markpop 80ms ease-out;--hint-bg:#10141f;--hint-border:#ffb54754;--win-glow:0 0 18px #ffb54787}.skin-firefly{--page-bg:radial-gradient(1100px 700px at 50% -15%, #0c2226 0%, transparent 62%), #040b0d;--panel:#102426bf;--panel-border:#96d2be40;--panel-border-soft:#96d2be40;--ink:#d6efe2;--muted:#7fa093;--accent:#b7e86a;--accent-bright:#e4ffc9;--title-color:#e4ffc9;--title-glow-shadow:0 0 10px #beff8c8c, 0 0 34px #8ce65a66;--title-spacing:.05em;--btn-radius:999px;--btn-hover-border:#c8ff9673;--primary-bg:linear-gradient(180deg, #b7e86a, #7cb83e);--primary-color:#12230a;--primary-border:#c8ff968c;--primary-shadow:0 4px 18px #96e65a4d;--seg-active-bg:linear-gradient(180deg, #b7e86a38, #7cb83e1f);--seg-active-ring:inset 0 0 0 1px #b7e86a66;--seg-active-glow:0 0 18px #b7e86a80;--board-bg:linear-gradient(160deg, #07171a, #02080a);--board-shadow:0 24px 60px #000000a6, inset 0 0 0 1px #96dcc817;--district:#8cc8dc47;--grid:#78b4c812;--lamp-size:26%;--lamp-bg:radial-gradient(circle at 50% 40%, #f6ffd8 0%, #cdf27e 50%, #7fbf3f 100%);--lamp-shadow:0 0 10px 3px #c8ff82d9, 0 0 26px 9px #96e65a66;--lamp-core-inset:28%;--lamp-core-bg:#fbffee;--lamp-bad-bg:radial-gradient(circle at 50% 40%, #ffe3d0 0%, #ff9a5e 50%, #cf3b1e 100%);--lamp-bad-shadow:0 0 10px 3px #ff7846d9, 0 0 26px 9px #e6462880;--lamp-anim:ffpulse 2.8s ease-in-out infinite, ffland .4s ease-out;--glow-size:36%;--glow-gradient:radial-gradient(circle, #c8ff8c80 0%, #82dc6438 42%, #64c85a00 70%);--glow-bad-gradient:radial-gradient(circle, #ff965a80 0%, #e6502838 42%, #e6502800 70%);--mark-size:15%;--mark-bg:#a0d2c861;--mark-border:inset 0 0 0 1px #a0d2c833;--mark-anim:markpop 80ms ease-out;--hint-bg:#10141f;--hint-border:#b7e86a54;--hint-cell-bg:#b7e86a0f;--hint-target-bg:#b7e86a2e;--hint-focus-bg:#b7e86a3d;--hint-focus-ring:0 0 0 2px #e6ffbef2, 0 0 10px 1px #aaf0648c;--win-color:#e4ffc9;--win-glow:0 0 18px #b7e86a87}.skin-abyss{--page-bg:radial-gradient(1100px 700px at 50% -15%, #07203a 0%, transparent 62%), #02060f;--panel:#0a1e34bf;--panel-border:#82c8ff38;--panel-border-soft:#82c8ff38;--ink:#cfeaff;--muted:#6f8ba4;--accent:#58d6f2;--accent-bright:#d9f6ff;--title-color:#d9f6ff;--title-glow-shadow:0 0 10px #6ee1ffa6, 0 0 34px #3cb4ff73, 0 0 70px #9664ff4d;--title-spacing:.08em;--btn-radius:999px;--btn-hover-border:#82e6ff73;--primary-bg:linear-gradient(180deg, #58d6f2, #2a8fc4);--primary-color:#04283a;--primary-border:#82e6ff99;--primary-shadow:0 4px 20px #50c8ff59;--seg-active-bg:linear-gradient(180deg, #58d6f238, #2a8fc41f);--seg-active-ring:inset 0 0 0 1px #58d6f266;--seg-active-glow:0 0 18px #58d6f280;--board-bg:linear-gradient(170deg, #041226, #010409);--board-shadow:0 24px 60px #000000b3, inset 0 0 0 1px #6ec8ff1a;--district:#64b9eb4d;--grid:#64a0dc12;--lamp-size:38%;--lamp-bg:radial-gradient(circle at 50% 40%, #eafdff 0%, #7de9ff 45%, #1e7ab0 100%);--lamp-shadow:0 0 10px 3px #78e6ffd9, 0 0 28px 10px #46beff66, 0 0 44px 16px #8c64ff2e;--lamp-core-inset:30%;--lamp-core-bg:#f4feff;--lamp-bad-bg:radial-gradient(circle at 50% 40%, #ffe0f2 0%, #ff7ac2 45%, #b01a5e 100%);--lamp-bad-shadow:0 0 10px 3px #ff78c8d9, 0 0 28px 10px #e6288c73;--lamp-anim:breathe 3.6s ease-in-out infinite, startle .35s ease-out;--glow-size:26%;--glow-gradient:radial-gradient(circle, #96f0ff99 0%, #50c8ff47 45%, #3cb4ff00 72%);--glow-bad-gradient:radial-gradient(circle, #ff96dc8c 0%, #e63c9640 45%, #e63c9600 72%);--glow2-size:60%;--glow2-gradient:radial-gradient(circle, #8c6eff2e 0%, #7850ff14 45%, #7850ff00 70%);--mark-size:15%;--mark-bg:#78b4e659;--mark-border:inset 0 0 0 1px #78b4e633;--mark-anim:markpop 80ms ease-out;--hint-bg:#10141f;--hint-border:#58d6f254;--hint-cell-bg:#58d6f20f;--hint-target-bg:#58d6f22e;--hint-focus-bg:#58d6f23d;--hint-focus-ring:0 0 0 2px #bef0fff2, 0 0 10px 1px #5ad2ff8c;--win-color:#d9f6ff;--win-glow:0 0 18px #58d6f287}.skin-neon{--page-bg:radial-gradient(1100px 700px at 50% -15%, #2b0f3d 0%, transparent 62%), #0a0416;--panel:transparent;--panel-border:#5ae6ff80;--panel-border-soft:#5ae6ff80;--ink:#f2e6ff;--muted:#9d84b8;--accent:#ff6fd2;--accent-bright:#ffe9f6;--title-color:#ffe9f6;--title-glow-shadow:0 0 6px #ff6ecde6, 0 0 20px #ff3cbeb3, 0 0 52px #ff28b473;--title-spacing:.14em;--title-anim:neonbuzz 7s linear infinite;--btn-radius:8px;--btn-color:#9becff;--btn-shadow:0 0 12px #5ae6ff33;--btn-text-shadow:0 0 8px #5ae6ff99;--btn-hover-border:#ff6ecd99;--primary-bg:transparent;--primary-color:#ff9ade;--primary-border:#ff6ecdcc;--primary-shadow:0 0 14px #ff3cbe59, inset 0 0 10px #ff3cbe26;--primary-text-shadow:0 0 8px #ff6ecdcc;--seg-active-bg:linear-gradient(180deg, #ff6fd238, #ff3cbe1f);--seg-active-ring:inset 0 0 0 1px #ff6fd266;--seg-active-glow:0 0 18px #ff6fd280;--board-bg:linear-gradient(170deg, #120826, #05020c);--board-shadow:0 24px 60px #000000b3, inset 0 0 0 1px #ff6ecd24;--district:#ff46c86b;--grid:#c878ff12;--lamp-size:44%;--lamp-bg:transparent;--lamp-shadow:0 0 8px 2px #ff50c8cc, 0 0 22px 7px #ff50c866, inset 0 0 6px 1px #ff50c899;--lamp-core-inset:38%;--lamp-core-bg:#ffffffe6;--lamp-core-blur:2px;--lamp-bad-bg:transparent;--lamp-bad-shadow:0 0 8px 2px #ff5050cc, 0 0 22px 7px #ff505066, inset 0 0 6px 1px #ff505099;--lamp-anim:flicker 7s ease-in-out infinite, neonflick .25s linear;--glow-size:40%;--glow-gradient:radial-gradient(circle, #ff78d780 0%, #ff3cbe38 42%, #ff3cbe00 70%);--glow-bad-gradient:radial-gradient(circle, #ff787880 0%, #ff3c3c38 42%, #ff3c3c00 70%);--mark-size:16%;--mark-bg:transparent;--mark-border:none;--mark-anim:markpop 80ms ease-out;--hint-bg:#10141f;--hint-border:#ff6fd254;--hint-cell-bg:#ff6fd20f;--hint-target-bg:#ff6fd22e;--hint-focus-bg:#ff6fd23d;--hint-focus-ring:0 0 0 2px #ffc8f0f2, 0 0 10px 1px #ff64d28c;--win-color:#ff9ade;--win-glow:0 0 18px #ff6fd287}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{min-height:100vh;color:var(--ink);background:var(--page-bg);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;transition:background .4s}#root{justify-content:center;align-items:flex-start;min-height:100vh;display:flex}@media (prefers-reduced-motion:reduce){body{transition:none}}button{font:inherit;color:inherit;cursor:pointer}.pwa-toast{z-index:1000;background:#1a2030;border:1px solid #ffffff1f;border-radius:.6rem;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.9rem;display:flex;position:fixed;bottom:1rem;right:1rem;box-shadow:0 8px 24px #0006}.pwa-toast button{color:#0b0f17;cursor:pointer;background:#ffffffeb;border:0;border-radius:.4rem;padding:.35rem .7rem;font-weight:600}.pwa-toast .pwa-dismiss{color:#ffffffb3;background:0 0;font-weight:400}.app{flex-direction:column;gap:18px;width:min(96vw,600px);height:100dvh;padding:22px 16px 28px;display:flex}.board-area{flex:auto;place-items:center;width:100%;min-height:0;display:grid;position:relative;container-type:size}.masthead{text-align:center}.masthead h1{letter-spacing:var(--title-spacing);margin:4px 0 6px;font-size:clamp(2.2rem,9vw,3.4rem);font-weight:800}.title-glow{color:var(--title-color);text-shadow:var(--title-glow-shadow);animation:var(--title-anim,none)}.tagline{color:var(--tagline);margin:0;font-size:.95rem}.skin-picker{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.skin-chip{white-space:nowrap;color:var(--muted);background:#00000040;border:1px solid #96aad240;border-radius:999px;align-items:center;gap:7px;padding:6px 13px;font-size:12.5px;font-weight:500;display:inline-flex}.skin-chip.active{border-color:var(--dot);color:var(--ink);box-shadow:0 0 12px var(--dot-glow);background:#ffffff0f;font-weight:700}.skin-dot{background:var(--dot);width:9px;height:9px;box-shadow:0 0 6px var(--dot);border-radius:50%}.drawer-body .skin-picker{flex-direction:column;align-items:stretch}.drawer-body .skin-chip{justify-content:flex-start}.skin-chip.locked{opacity:.5;cursor:default}.skin-chip.locked .skin-dot{filter:grayscale(.75);box-shadow:none}.skin-lock{margin-left:1px;font-size:11px}.controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.seg{background:var(--panel);border:1px solid var(--panel-border-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:11px;padding:3px;display:inline-flex}.seg-btn{color:var(--muted);text-transform:capitalize;background:0 0;border:0;border-radius:8px;padding:7px 14px;font-weight:600;transition:background .15s,color .15s}.seg-btn.active{background:var(--seg-active-bg);color:var(--seg-active-color);box-shadow:var(--seg-active-ring), var(--seg-active-glow,none)}.btn{border:1px solid var(--panel-border);background:var(--panel);color:var(--btn-color,var(--ink));border-radius:var(--btn-radius);box-shadow:var(--btn-shadow,none);text-shadow:var(--btn-text-shadow,none);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:8px 16px;font-weight:600;transition:transform .1s,border-color .15s,background .15s}.btn:hover{border-color:var(--btn-hover-border)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--primary-bg);color:var(--primary-color);border-color:var(--primary-border);box-shadow:var(--primary-shadow);text-shadow:var(--primary-text-shadow,none)}.btn.ghost{background:0 0}.btn.pinned{color:var(--accent-bright);background:linear-gradient(#ffb54729,#ff8c1e14);border-color:#ffb5478c}.toggle{color:var(--muted);align-items:center;gap:7px;padding:6px 4px;font-size:.9rem;display:inline-flex}.toggle input{width:16px;height:16px;accent-color:var(--accent)}.board{background:var(--board-bg);width:100cqmin;height:100cqmin;box-shadow:var(--board-shadow);border-radius:16px;padding:10px;transition:box-shadow .5s,background .4s;position:relative;overflow:hidden}.board-loading{justify-content:center;align-items:center;display:flex}.kindling{color:var(--accent);letter-spacing:.02em;text-shadow:0 0 18px #ffb54780;font-weight:600;animation:2.2s ease-in-out infinite flicker}@media (prefers-reduced-motion:reduce){.kindling{animation:none}}.board.is-solved{animation:3.5s linear infinite glowcycle;box-shadow:0 24px 70px #ff962866,inset 0 0 0 1px #ffb54780}@keyframes glowcycle{0%{box-shadow:0 24px 70px #ffa6296b,inset 0 0 0 1px #ffc55280}25%{box-shadow:0 24px 70px #1ff9316b,inset 0 0 0 1px #4cfa6980}50%{box-shadow:0 24px 70px #3399ff6b,inset 0 0 0 1px #5ca0ff80}75%{box-shadow:0 24px 70px #fa42fa6b,inset 0 0 0 1px #fb6aef80}to{box-shadow:0 24px 70px #ffa6296b,inset 0 0 0 1px #ffc55280}}.glow-layer{pointer-events:none;z-index:0;filter:blur(2px);position:absolute;inset:10px}.glow{width:var(--glow-size);height:var(--glow-size);background:var(--glow-gradient);mix-blend-mode:screen;filter:blur(8px);will-change:opacity;border-radius:50%;animation:5.5s ease-in-out infinite flicker;position:absolute;transform:translate(-50%,-50%)}.glow.glow2{width:var(--glow2-size);height:var(--glow2-size);background:var(--glow2-gradient)}.glow.bad{background:var(--glow-bad-gradient,var(--glow-gradient))}.glow.glow2.bad{background:var(--glow2-bad-gradient,var(--glow2-gradient))}.ambient-layer{z-index:2;pointer-events:none;position:absolute;inset:10px}.ambient-layer span{border-radius:50%;display:none;position:absolute}.skin-firefly .ambient-layer span{background:#d9ffb0;width:3px;height:3px;display:block;box-shadow:0 0 6px 2px #beff8ccc}.skin-firefly .ambient-layer span:first-child{animation:14s ease-in-out infinite drift1,2.4s ease-in-out infinite ffpulse;top:62%;left:18%}.skin-firefly .ambient-layer span:nth-child(2){animation:17s ease-in-out infinite drift2,3s ease-in-out .7s infinite ffpulse;top:30%;left:72%}.skin-firefly .ambient-layer span:nth-child(3){width:2.5px;height:2.5px;animation:12s ease-in-out infinite drift3,2.7s ease-in-out 1.2s infinite ffpulse;top:80%;left:46%;box-shadow:0 0 6px 2px #beff8cb3}.skin-firefly .ambient-layer span:nth-child(4){width:2.5px;height:2.5px;animation:19s ease-in-out 3s infinite drift1,3.3s ease-in-out .4s infinite ffpulse;top:74%;left:84%;box-shadow:0 0 6px 2px #beff8cb3}@keyframes drift1{0%{transform:translate(0)}25%{transform:translate(38px,-26px)}50%{transform:translate(70px,10px)}75%{transform:translate(30px,34px)}to{transform:translate(0)}}@keyframes drift2{0%{transform:translate(0)}30%{transform:translate(-42px,22px)}60%{transform:translate(-12px,-30px)}to{transform:translate(0)}}@keyframes drift3{0%{transform:translate(0)}40%{transform:translate(26px,30px)}70%{transform:translate(-24px,12px)}to{transform:translate(0)}}.skin-abyss .ambient-layer span{opacity:0;display:block;bottom:-4px}.skin-abyss .ambient-layer span:first-child{background:#96e6ffcc;width:3px;height:3px;animation:11s linear infinite rise;left:12%}.skin-abyss .ambient-layer span:nth-child(2){background:#96e6ff99;width:2px;height:2px;animation:15s linear 5s infinite rise;left:38%}.skin-abyss .ambient-layer span:nth-child(3){background:#bea0ff99;width:2px;height:2px;animation:13s linear 2s infinite rise;left:62%}.skin-abyss .ambient-layer span:nth-child(4){background:#96e6ffb3;width:2.5px;height:2.5px;animation:12s linear 8s infinite rise;left:85%}@keyframes rise{0%{opacity:0;transform:translateY(0)}12%{opacity:.8}88%{opacity:.7}to{opacity:0;transform:translateY(-100cqmin)}}.cells{z-index:1;grid-template-rows:repeat(10,1fr);grid-template-columns:repeat(10,1fr);width:100%;height:100%;display:grid;position:relative}.cell{box-shadow:inset 0 0 0 .5px var(--grid);touch-action:none;background:0 0;border:1.5px solid #0000;justify-content:center;align-items:center;padding:0;transition:background .12s;display:flex;position:relative}.cell:hover{background:radial-gradient(circle at center, color-mix(in srgb, var(--accent) 22%, transparent) 0%, transparent 68%)}.cell.b-top{border-top-color:var(--district)}.cell.b-bottom{border-bottom-color:var(--district)}.cell.b-left{border-left-color:var(--district)}.cell.b-right{border-right-color:var(--district)}.lantern{width:var(--lamp-size);height:var(--lamp-size);background:var(--lamp-bg);box-shadow:var(--lamp-shadow);animation:var(--lamp-anim);animation-delay:var(--pulse-delay,0s), 0s;border-radius:50%;position:relative}.skin-abyss .lantern{animation-duration:var(--cycle-dur,3.6s), .35s;animation-delay:calc(var(--pulse-delay,0s) * 1.25), 0s}.lantern-core{inset:var(--lamp-core-inset);background:var(--lamp-core-bg);filter:blur(var(--lamp-core-blur,.5px));border-radius:50%;position:absolute}.mark{width:var(--mark-size);height:var(--mark-size);background:var(--mark-bg);box-shadow:var(--mark-border);animation:var(--mark-anim);border-radius:50%;position:relative}.skin-abyss .lantern:after,.skin-abyss .mark:after{content:"";opacity:0;pointer-events:none;border:1.5px solid #78dcff99;border-radius:50%;position:absolute;inset:-40%}.skin-abyss .lantern:after{animation:.6s ease-out sonarping}.skin-abyss .mark:after{animation:.7s ease-out sonarping;inset:-80%}:root:not(.skin-abyss) .mark:not(.auto):before,:root:not(.skin-abyss) .mark:not(.auto):after,:root:not(.skin-abyss) .cell.lit .lantern:not(.ghost):before,:root:not(.skin-abyss) .cell.lit .lantern:not(.ghost):after{content:"";border:1.5px solid var(--accent);opacity:0;pointer-events:none;border-radius:50%;animation:.8s cubic-bezier(.2,.7,.3,1) pondripple;position:absolute}:root:not(.skin-abyss) .mark:not(.auto):before,:root:not(.skin-abyss) .cell.lit .lantern:not(.ghost):before{border-width:1px;animation-name:pondripple-2;animation-delay:.15s}:root:not(.skin-abyss) .mark:not(.auto):before,:root:not(.skin-abyss) .mark:not(.auto):after{inset:-150%}:root:not(.skin-abyss) .cell.lit .lantern:not(.ghost):before,:root:not(.skin-abyss) .cell.lit .lantern:not(.ghost):after{inset:-25%}@keyframes pondripple{0%{opacity:.6;transform:scale(.25)}60%{opacity:.22}to{opacity:0;transform:scale(1.6)}}@keyframes pondripple-2{0%{opacity:.4;transform:scale(.25)}to{opacity:0;transform:scale(2.1)}}.mark.auto{opacity:.45}.cell .lantern.ghost{opacity:.32;animation:none}.cell.bad .lantern{background:var(--lamp-bad-bg);box-shadow:var(--lamp-bad-shadow)}.skin-neon .lantern{box-sizing:border-box;border:2.5px solid #ff6fd2}.skin-neon .lantern.alt{border-color:#6fe8ff;box-shadow:0 0 8px 2px #5ae1ffcc,0 0 22px 7px #5ae1ff66,inset 0 0 6px 1px #5ae1ff99}.skin-neon .lantern.buzzer{animation:5s linear infinite neonbuzz;animation-delay:var(--pulse-delay,0s)}.skin-neon .cell.bad .lantern{border-color:#ff5a5a;animation:1.2s linear infinite neonbuzz}.skin-neon .glow.alt{background:radial-gradient(circle,#78ebff73 0%,#3cbeff33 42%,#3cbeff00 70%)}.skin-neon .glow.bad{background:var(--glow-bad-gradient)}.skin-neon .mark{box-sizing:border-box;border:1.5px solid #a08cbe66}.hint-banner{z-index:30;background:var(--hint-bg);border:1px solid var(--hint-border);border-radius:12px;align-items:center;gap:10px;width:min(94vw,600px);padding:10px 12px;font-size:.92rem;line-height:1.4;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0000008c,0 0 22px #ff96281f}.hint-banner.kind-error{border-color:#ff4d6373;box-shadow:0 0 22px #ff3c5029}.hint-banner.kind-done{border-color:#ffd47080}.hint-icon{flex:none;font-size:1.1rem}.hint-text{flex:1}.hint-expand{color:var(--accent-bright);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;margin-left:6px;padding:0;font-weight:600;display:inline}.hint-expand:hover{text-decoration:underline}.hint-close{color:var(--muted);background:0 0;border:0;border-radius:6px;flex:none;padding:2px 6px;font-size:.9rem}.hint-close:hover{color:var(--ink)}.cell.hint{background:var(--hint-cell-bg);z-index:2}.cell.hint-target{background:var(--hint-target-bg)}.cell.hint-focus{background:var(--hint-focus-bg)}.cell.hint-focus:after{content:"";box-shadow:var(--hint-focus-ring);pointer-events:none;border-radius:5px;animation:1.4s ease-in-out infinite hintpulse;position:absolute;inset:18%}@keyframes hintpulse{0%,to{opacity:.65}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.cell.hint-focus:after{animation:none}}.status{justify-content:space-between;align-items:center;gap:12px;min-height:36px;display:flex}.progress{color:var(--muted)}.win{color:var(--win-color);text-shadow:var(--win-glow);font-weight:700}.how{color:var(--muted);background:var(--panel);border:1px solid #96aad224;border-radius:12px;padding:10px 14px;font-size:.9rem}.how summary{cursor:pointer;color:var(--ink);font-weight:600}.how ul{margin:10px 0 2px;padding-left:18px;line-height:1.5}.how strong{color:var(--accent)}.how-intro{margin:10px 0 4px;line-height:1.5}.strategies{margin:8px 0 2px;line-height:1.5}.strategies dt{color:var(--accent-bright);margin-top:10px;font-weight:600}.strategies dd{margin:2px 0 0}@keyframes flicker{0%,to{opacity:.92}20%{opacity:1}43%{opacity:.84}68%{opacity:.97}82%{opacity:.88}}@keyframes corepulse{0%,to{filter:brightness()}45%{filter:brightness(1.12)}72%{filter:brightness(.95)}}@keyframes ignite{0%{filter:brightness(1.9);transform:scale(.6)}to{filter:brightness();transform:scale(1)}}@keyframes markpop{0%{transform:scale(.4)}to{transform:scale(1)}}@keyframes ffpulse{0%,to{opacity:.45;filter:brightness(.8)}50%{opacity:1;filter:brightness(1.25)}}@keyframes ffland{0%{transform:translate(var(--p3x,-20vmax), var(--p3y,-20vmax)) scale(.6);opacity:0}to{opacity:1;transform:translate(0)scale(1)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}@keyframes startle{0%{filter:brightness(1.7);box-shadow:0 0 12px 4px #ff78c8d9,0 0 30px 12px #e6288c73}to{filter:brightness()}}@keyframes sonarping{0%{opacity:.8;transform:scale(.4)}to{opacity:0;transform:scale(1.8)}}@keyframes neonbuzz{0%,18.9%,21.1%,22.9%,25.1%,to{opacity:1}19%,21%,23%,25%{opacity:.35}}@keyframes neonflick{0%{opacity:.2}25%{opacity:1}45%{opacity:.3}70%{opacity:1}85%{opacity:.4}to{opacity:1}}@media (prefers-reduced-motion:reduce){.glow,.lantern,.mark,.mark:not(.auto):before,.mark:not(.auto):after,.cell.lit .lantern:not(.ghost):before,.cell.lit .lantern:not(.ghost):after,.title-glow{animation:none}.btn,.cell,.board{transition:none}.skin-firefly .ambient-layer span,.skin-abyss .ambient-layer span{display:none}.skin-abyss .lantern:after,.skin-abyss .mark:after,.skin-neon .lantern.buzzer,.skin-neon .cell.bad .lantern{animation:none}}@media (width<=540px){.app{width:100vw;padding:8px 8px calc(12px + env(safe-area-inset-bottom));gap:8px}.tagline{font-size:.85rem}}.build-tag{text-align:center;color:var(--muted);opacity:.5;letter-spacing:.02em;margin:2px 0 0;font-size:.68rem}.topbar{align-items:center;gap:12px;padding:4px 2px 0;display:none}.hamburger{border:1px solid var(--panel-border);background:var(--panel);width:42px;height:42px;color:var(--ink);border-radius:10px;flex:none;font-size:1.25rem;line-height:1}.topbar-title{letter-spacing:.03em;flex:1;font-size:1.55rem;font-weight:800}.topbar-actions{gap:6px;display:flex}.icon-btn{border:1px solid var(--panel-border);background:var(--panel);width:42px;height:42px;color:var(--ink);border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:1.15rem;line-height:1;display:flex}.icon-btn:disabled{opacity:.4}.icon-btn.pinned{background:linear-gradient(#ffb5472e,#ff8c1e14);border-color:#ffb54799}@media (width<=540px){.desktop-only{display:none!important}.topbar{display:flex}}.drawer{z-index:40;width:min(84vw,330px);padding:12px 14px calc(14px + env(safe-area-inset-bottom));background:var(--panel-solid);border-left:1px solid var(--panel-border-soft);flex-direction:column;transition:transform .22s;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-16px 0 44px #0000008c}.drawer.open{transform:translate(0)}.drawer-backdrop{z-index:39;background:#00000080;position:fixed;inset:0}.drawer-head{color:var(--ink);justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:700;display:flex}.drawer-body{flex-direction:column;gap:10px;display:flex}.drawer-body .btn{width:100%}.drawer-row{gap:10px;display:flex}.drawer-row .btn{flex:1}.drawer-body .seg{width:100%;display:flex}.drawer-body .seg-btn{flex:1}.drawer-body .toggle{justify-content:flex-start;font-size:.95rem}.drawer-body .build-tag{text-align:center;margin-top:10px}@media (prefers-reduced-motion:reduce){.drawer{transition:none}}@media (width>=541px){.drawer,.drawer-backdrop{display:none}}.modal-backdrop{z-index:50;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--panel-solid);border:1px solid var(--panel-border-soft);border-radius:14px;flex-direction:column;width:min(92vw,560px);max-height:86dvh;display:flex;box-shadow:0 24px 60px #0009}.modal-head{border-bottom:1px solid #96aad21f;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.modal-head h2{color:var(--ink);margin:0;font-size:1.1rem}.modal-body{color:var(--muted);padding:10px 16px 16px;font-size:.92rem;overflow-y:auto}.modal-body ul{padding-left:18px;line-height:1.5}.modal-body strong{color:var(--accent)}.level-link{font:inherit;text-transform:capitalize;color:var(--accent-bright);cursor:pointer;background:0 0;border:0;border-bottom:1px dotted #ffb54780;padding:0;font-weight:600}.levels-section{margin-bottom:16px}.levels-section h3{color:var(--ink);text-transform:capitalize;margin:4px 0 8px;font-size:1rem}.levels-count{color:var(--muted);font-size:.85rem;font-weight:400}.level-grid{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.level-cell{aspect-ratio:1;border:1px solid var(--panel-border);background:var(--panel);color:var(--ink);border-radius:8px;justify-content:center;align-items:center;font-size:.95rem;font-weight:600;display:flex}.level-cell.done{color:var(--accent-bright);background:linear-gradient(#ffb5473d,#ff8c1e1f);border-color:#ffb54780}.level-cell.current{box-shadow:0 0 0 2px var(--accent-bright)}.pb{color:var(--accent-bright);text-shadow:0 0 12px #ffb54780;font-style:normal;font-weight:700}.clean{color:var(--accent);text-shadow:0 0 12px #78beff73;font-style:normal;font-weight:700}.daily-card{background:var(--panel);border:1px solid #96aad22e;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding:10px 14px;display:flex}.daily-card-title{color:var(--ink);font-weight:700}.daily-card-meta{color:var(--muted);font-size:.9rem}.daily-card-streak{color:var(--accent-bright);font-size:.85rem;font-weight:600}.daily-card-actions{gap:8px;display:flex}.cal-nav{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.cal-month{color:var(--ink);font-weight:700}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-dow{text-align:center;color:var(--muted);padding-bottom:2px;font-size:.72rem}.cal-cell{aspect-ratio:1;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #96aad224;border-radius:8px;justify-content:center;align-items:center;font-size:.85rem;display:flex;position:relative}.cal-cell.blank{cursor:default;border:none}.cal-cell:disabled{cursor:default}.cal-cell.locked{color:var(--muted);opacity:.4}.cal-cell.missed{border-color:#96aad24d}.cal-cell.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;font-weight:700}.cal-cell.done{border-color:var(--accent);color:var(--accent-bright);background:#78beff29;font-weight:700}.cal-tick{color:var(--accent-bright);font-size:.6rem;position:absolute;bottom:1px;right:3px}.cal-legend{color:var(--muted);text-align:center;margin-top:12px;font-size:.78rem}.cal-legend .done{color:var(--accent-bright)}.cal-legend .today{color:var(--accent)}.lb-daily-date{color:var(--ink);font-weight:600}.level-cell{flex-direction:column;gap:1px;line-height:1.1}.level-num{font-size:.95rem}.level-best{opacity:.75;font-size:.62rem;font-weight:500}@keyframes huecycle{0%{filter:hue-rotate()}to{filter:hue-rotate(360deg)}}.board.is-solved .lantern{animation:5.5s ease-in-out infinite corepulse,3.5s linear infinite huecycle;animation-delay:0s, var(--hue-delay,0s)}.board.is-solved .glow{animation:5.5s ease-in-out infinite flicker,3.5s linear infinite huecycle;animation-delay:0s, var(--hue-delay,0s)}.skin-abyss .board.is-solved .lantern{animation:3.5s ease-in-out infinite bloomswell,3.5s linear infinite abysshue;animation-delay:var(--hue-delay,0s), var(--hue-delay,0s)}.skin-abyss .board.is-solved .glow{animation:5.5s ease-in-out infinite flicker,3.5s linear infinite abysshue;animation-delay:0s, var(--hue-delay,0s)}.skin-abyss .board.is-solved .ambient-layer span{animation:2.2s ease-in forwards school}.skin-abyss .board.is-solved .ambient-layer span:nth-child(2){animation-delay:.15s}.skin-abyss .board.is-solved .ambient-layer span:nth-child(3){animation-delay:.3s}.skin-abyss .board.is-solved .ambient-layer span:nth-child(4){animation-delay:.45s}@keyframes bloomswell{0%,to{transform:scale(1)}40%{transform:scale(2)}70%{transform:scale(1.25)}}@keyframes abysshue{0%,to{filter:hue-rotate()}45%{filter:hue-rotate(80deg)}75%{filter:hue-rotate(-25deg)}}@keyframes school{0%{opacity:0;transform:translate(-20cqmin,20cqmin)}15%{opacity:.9}to{opacity:0;transform:translate(90cqmin,-90cqmin)}}.skin-neon .board.is-solved .lantern,.skin-neon .board.is-solved .glow{animation:.6s linear both blaze;animation-delay:var(--blaze-delay,.4s)}.skin-neon .board.is-solved{animation:3.5s linear infinite glowcycle,1.1s ease-in-out infinite alternate districtpulse}@property --district{syntax:"<color>";inherits:true;initial-value:#0000}@keyframes blaze{0%{opacity:0}10%{opacity:1}30%{opacity:.3}55%{opacity:1}75%{opacity:.35}to{opacity:1}}@keyframes districtpulse{0%{--district:#ff46c86b}to{--district:#ff8ce1d9}}@keyframes lanternfly{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}12%{transform:translate(var(--p1x), var(--p1y)) scale(1.1);opacity:1}32%{transform:translate(var(--p2x), var(--p2y)) scale(1);opacity:1}56%{transform:translate(var(--p3x), var(--p3y)) scale(.92);opacity:1}80%{transform:translate(var(--p4x), var(--p4y)) rotate(var(--fly-rot)) scale(.8);opacity:.85}to{transform:translate(var(--p5x), var(--p5y)) rotate(var(--fly-rot)) scale(.45);opacity:0}}@keyframes glowfly{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}12%{transform:translate(calc(-50% + var(--p1x)), calc(-50% + var(--p1y))) scale(1.15);opacity:.95}32%{transform:translate(calc(-50% + var(--p2x)), calc(-50% + var(--p2y))) scale(1);opacity:.85}56%{transform:translate(calc(-50% + var(--p3x)), calc(-50% + var(--p3y))) scale(.85);opacity:.7}80%{transform:translate(calc(-50% + var(--p4x)), calc(-50% + var(--p4y))) scale(.7);opacity:.4}to{transform:translate(calc(-50% + var(--p5x)), calc(-50% + var(--p5y))) scale(.5);opacity:0}}.board.is-flyaway{overflow:visible}.board.is-flyaway .lantern{animation:2.4s cubic-bezier(.45,.02,.6,1) forwards lanternfly,3.5s linear infinite huecycle;animation-delay:var(--fly-delay,0s), var(--hue-delay,0s);z-index:5;will-change:transform, opacity, filter}.board.is-flyaway .glow{animation:2.4s cubic-bezier(.45,.02,.6,1) forwards glowfly,3.5s linear infinite huecycle;animation-delay:var(--fly-delay,0s), var(--hue-delay,0s);will-change:transform, opacity, filter}@media (prefers-reduced-motion:reduce){.board.is-solved,.board.is-solved .lantern,.board.is-solved .glow,.board.is-flyaway .lantern,.board.is-flyaway .glow,.skin-abyss .board.is-solved .lantern,.skin-abyss .board.is-solved .glow,.skin-abyss .board.is-solved .ambient-layer span,.skin-neon .board.is-solved,.skin-neon .board.is-solved .lantern,.skin-neon .board.is-solved .glow{animation:none}}.confetti{pointer-events:none;z-index:6;width:0;height:0;position:absolute;top:50%;left:50%}.confetti-piece{opacity:0;will-change:transform, opacity;animation-name:confetti-fly;animation-timing-function:cubic-bezier(.18,.7,.4,1);animation-fill-mode:forwards;position:absolute;top:0;left:0}@keyframes confetti-fly{0%{opacity:1;transform:translate(0)rotate(0)}22%{transform:translate(var(--bx), var(--by)) rotate(calc(var(--spin) * .3));opacity:1}to{transform:translate(var(--bx), var(--fall)) rotate(var(--spin));opacity:0}}.win .next-level{vertical-align:middle;margin-left:12px;padding:5px 14px}.achievement-toast{z-index:50;color:#fff3df;pointer-events:none;background:linear-gradient(150deg,#221a0cf7,#14100af7);border:1px solid #ffc46066;border-radius:14px;align-items:center;gap:12px;max-width:min(92vw,380px);padding:12px 18px 12px 14px;animation:.45s cubic-bezier(.2,.9,.3,1.3) both ach-in;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 18px 50px #0000008c,0 0 26px #ffaa3c47,inset 0 0 0 1px #ffdc960f}.skin-toast{color:#e8f2ff;background:linear-gradient(150deg,#0e1a28f7,#0a1018f7);border-color:#78beff66;bottom:120px;box-shadow:0 18px 50px #0000008c,0 0 26px #78beff40,inset 0 0 0 1px #96c8ff0f}@keyframes ach-in{0%{opacity:0;transform:translate(-50%,18px)scale(.94)}to{opacity:1;transform:translate(-50%)scale(1)}}.ach-icon{background:radial-gradient(circle at 50% 40%,#ffd2824d,#ff96281f);border-radius:11px;flex:none;place-items:center;width:42px;height:42px;font-size:22px;display:grid;box-shadow:inset 0 0 0 1px #ffc46059}.ach-text{min-width:0;animation:.3s ach-swap}@keyframes ach-swap{0%{opacity:.2}to{opacity:1}}.ach-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#ffc861;font-size:.66rem;font-weight:700}.ach-name{color:#fff6e0;font-size:1.02rem;font-weight:700;line-height:1.15}.ach-desc{color:#fff3dfc7;margin-top:2px;font-size:.82rem;line-height:1.25}@media (prefers-reduced-motion:reduce){.achievement-toast,.ach-text{animation:none}}.ach-progress-line{letter-spacing:.04em;color:#ffc861;margin:0 0 14px;font-size:.85rem;font-weight:700}.ach-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ach-row{background:#96aad20d;border:1px solid #96aad21a;border-radius:12px;align-items:center;gap:13px;padding:11px 13px;display:flex}.ach-row.earned{background:linear-gradient(150deg,#281f0fb3,#18130cb3);border-color:#ffc46052}.ach-row.locked{opacity:.62}.ach-row-icon{background:#96aad214;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;font-size:21px;display:grid}.ach-row.earned .ach-row-icon{background:radial-gradient(circle at 50% 40%,#ffd28247,#ff96281a);box-shadow:inset 0 0 0 1px #ffc4604d}.ach-row.secret .ach-row-name{color:#dce4f5b3;font-style:italic}.ach-row-text{flex:auto;min-width:0}.ach-row-name{color:#f3f6ff;font-size:.98rem;font-weight:700}.ach-row.earned .ach-row-name{color:#fff6e0}.ach-row-desc{color:#dce4f5a8;margin-top:1px;font-size:.8rem;line-height:1.25}.ach-row-badge{color:#1a1206;background:linear-gradient(160deg,#ffd98a,#ffae3c);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:.72rem;font-weight:800;display:grid}.btn.danger{color:#ffb4b4;border-color:#ff6e6e66}.btn.danger:hover{background:#ff505a29;border-color:#ff6e6eb3}.btn-badge{color:#ffe6b0;background:#ffc4602e;border-radius:999px;margin-left:7px;padding:1px 7px;font-size:.72rem;font-weight:700;box-shadow:inset 0 0 0 1px #ffc46059}.ach-progress{align-items:center;gap:8px;margin-top:7px;display:flex}.ach-progress-bar{background:#96aad229;border-radius:999px;flex:auto;height:6px;overflow:hidden}.ach-progress-fill{background:linear-gradient(90deg,#ffae3c,#ffd98a);border-radius:999px;height:100%;transition:width .3s}.ach-progress-count{font-variant-numeric:tabular-nums;color:#dce4f5b8;flex:none;font-size:.72rem;font-weight:700}.ach-reset-row{border-top:1px solid #96aad21f;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;padding-top:16px;display:flex}.ach-reset-row .btn.danger{flex-direction:column;align-items:center;padding:8px 16px;line-height:1.2;display:flex}.reset-sub{opacity:.7;text-transform:none;font-size:.68rem;font-weight:500}.lb-tabs{gap:6px;margin-bottom:14px;display:flex}.lb-tab{color:#dce4f5b8;cursor:pointer;background:#96aad20d;border:1px solid #96aad224;border-radius:9px;flex:1 1 0;padding:8px 6px;font-size:.82rem;font-weight:600}.lb-tab.active{color:#fff6e0;background:linear-gradient(150deg,#281f0fcc,#18130ccc);border-color:#ffc46066}.lb-picker{gap:8px;margin-bottom:12px;display:flex}.lb-picker select{color:#f3f6ff;background:#0a0d15e6;border:1px solid #96aad22e;border-radius:9px;flex:1 1 0;padding:7px 10px;font-size:.85rem}.lb-clean{color:#dce4f5b8;white-space:nowrap;cursor:pointer;background:#96aad20d;border:1px solid #96aad224;border-radius:9px;padding:7px 10px;font-size:.82rem;font-weight:600}.lb-clean.active{color:#fff6e0;background:linear-gradient(150deg,#281f0fcc,#18130ccc);border-color:#ffc46066}.lb-rows{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.lb-row{background:#96aad20d;border-radius:9px;align-items:center;gap:12px;padding:9px 12px;display:flex}.lb-row.me{background:linear-gradient(150deg,#281f0fcc,#18130ccc);box-shadow:inset 0 0 0 1px #ffc46059}.lb-rank{font-variant-numeric:tabular-nums;color:#dce4f58c;flex:0 0 1.6em;font-weight:700}.lb-row.me .lb-rank{color:#ffc861}.lb-name{text-overflow:ellipsis;white-space:nowrap;color:#f3f6ff;flex:auto;min-width:0;font-weight:600;overflow:hidden}.lb-value{font-variant-numeric:tabular-nums;color:#fff6e0;flex:none;font-weight:700}.lb-note,.lb-empty{color:#dce4f599;margin:12px 2px 0;font-size:.78rem}.lb-empty{text-align:center;padding:20px 0}.lb-identity{color:#dce4f5cc;border-top:1px solid #96aad21f;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding-top:14px;font-size:.85rem;display:flex}.lb-identity strong{color:#ffc861}.lb-noname{color:#dce4f580}.name-blurb{color:#dce4f5b8;margin:0 0 12px;font-size:.85rem}.name-input{color:#fff6e0;box-sizing:border-box;background:#0a0d15e6;border:1px solid #96aad238;border-radius:10px;width:100%;padding:11px 13px;font-size:1rem}.name-input:focus{border-color:#ffc4608c;outline:none}.name-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.ed-help{opacity:.85;margin:0 0 12px}.ed-palette{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.ed-swatch{color:#000000bf;cursor:pointer;border:2px solid #0000;border-radius:8px;width:34px;height:34px;padding:0;font-size:.85rem;font-weight:700}.ed-swatch.active{border-color:var(--accent-bright);box-shadow:0 0 0 2px var(--accent-bright)}.ed-grid{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;max-width:420px;box-shadow:inset 0 0 0 1px var(--district);border-radius:8px;grid-template-rows:repeat(10,1fr);grid-template-columns:repeat(10,1fr);margin:0 auto;display:grid;overflow:hidden}.ed-cell{box-shadow:inset 0 0 0 .5px var(--grid);cursor:pointer;border:1px solid #0000;padding:0}.ed-cell.b-top{border-top-color:var(--ink)}.ed-cell.b-bottom{border-bottom-color:var(--ink)}.ed-cell.b-left{border-left-color:var(--ink)}.ed-cell.b-right{border-right-color:var(--ink)}.ed-verdict{min-height:1.4em;margin:12px 0}.ed-status{opacity:.85}.ed-status.bad{color:#ff8a8a;opacity:1}.ed-status.good{color:var(--accent-bright);opacity:1}.ed-note{opacity:.75;font-size:.9em;font-style:normal}.ed-share{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.ed-code{word-break:break-all;background:#0a0d158c;border:1px solid #96aad238;border-radius:8px;padding:8px 10px;font-size:.78rem}.ed-share-btns{flex-wrap:wrap;gap:8px;display:flex}.ed-import{gap:8px;margin-bottom:4px;display:flex}.ed-import-input{color:#fff6e0;box-sizing:border-box;background:#0a0d15e6;border:1px solid #96aad238;border-radius:10px;flex:1;min-width:0;padding:9px 12px;font-size:.9rem}.ed-import-input:focus{border-color:#ffc4608c;outline:none}.ed-import-input.bad{border-color:#ff8a8a}.ed-tools{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.ed-cell.flag{box-shadow:inset 0 0 0 2px #ff6969f2, inset 0 0 0 .5px var(--grid);animation:1.4s ease-in-out infinite ed-flag-pulse}@keyframes ed-flag-pulse{50%{box-shadow:inset 0 0 0 2px #ff696973, inset 0 0 0 .5px var(--grid)}}@media (prefers-reduced-motion:reduce){.ed-cell.flag{animation:none}}.ed-swatch.bad{box-shadow:0 0 0 2px #ff6969f2}.ed-swatch.bad.active{border-color:#ff6969f2}.more-wrap{position:relative}.more-backdrop{z-index:30;position:fixed;inset:0}.more-pop{z-index:31;background:var(--panel-solid);border:1px solid var(--panel-border-soft);border-radius:12px;flex-direction:column;align-items:stretch;gap:8px;min-width:210px;padding:12px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 44px #0000008c}.more-pop .btn{text-align:left}.more-sep{border:none;border-top:1px solid #96aad224;width:100%;margin:2px 0}@media (width<=779px){.side-rail{display:contents}.topbar{order:1}.masthead{order:2}.skin-picker{order:3}.controls{order:4}.hint-banner{order:5}.daily-card{order:6}.board-area{order:7}.status{order:8}.how-howto{order:9}.how-strategies{order:10}.build-tag{order:11}}@media (width>=780px){.app{grid-template:"head head""hint rail""board rail"minmax(0,1fr)"status rail"/minmax(0,1fr) clamp(272px,26vw,370px);gap:12px 26px;width:min(96vw,1360px);display:grid}.masthead{grid-area:head}.hint-banner{grid-area:hint}.board-area{grid-area:board}.status{grid-area:status;justify-content:center;gap:20px}.side-rail{overscroll-behavior:contain;scrollbar-gutter:stable;flex-direction:column;grid-area:rail;gap:14px;min-height:0;margin:-6px;padding:6px;display:flex;overflow-y:auto}.side-rail .skin-picker{flex-direction:column;align-items:stretch;gap:6px}.side-rail .skin-lock{margin-left:auto}.side-rail .controls{grid-template-columns:1fr 1fr;gap:8px;display:grid}.side-rail .seg,.side-rail .more-wrap{grid-column:1/-1}.side-rail .seg-btn{flex:1}.side-rail .controls .btn{width:100%}.side-rail .more-pop{min-width:0;box-shadow:none;margin-top:8px;position:relative;top:auto;right:auto}.side-rail .daily-card{margin:0}.side-rail .build-tag{margin:auto 0 0}}
