:root,:root[data-theme=workbook]{--paper:#fafaf7;--paper-tile:#fff;--paper-sheen:#ffffff80;--ink:#2c2a26;--ink-soft:#78766c;--ink-faint:#a3a196;--grid-line:#648fbe21;--grid-line-major:#648fbe33;--accent:#0ea5a5;--accent-deep:#0a7d7d;--accent-tint:#d2f0ee;--accent-muted:#e4f0ef;--accent-line:#7fc9c6;--sky:#2f9fdb;--sky-deep:#1c76a9;--sky-tint:#dcf0fb;--gold:#f2b02e;--gold-deep:#cf8c12;--gold-tint:#fdeec4;--goal-glow:#f2b02e99;--goal-glow-strong:#f2b02e57;--plus:#2f9e63;--plus-tint:#e0f4e9;--plus-deep:#1c7a49;--minus:#ef8a3c;--minus-tint:#fdeadb;--minus-deep:#c46414;--divide:#8b52e6;--divide-tint:#ece2fb;--divide-deep:#6a30c9;--join:#4364d8;--join-tint:#dfe4fb;--join-deep:#26409e;--join-glow:#4364d847;--join-glow-strong:#4364d873;--coral:#ef476f;--coral-tint:#fff5f7;--line:#e3e1d8;--edge-color:#aaa89c;--edge-slack-color:#8f8d82;--header-bg:#ffffffdb;--header-border:#54627424;--btn-border:#54627442}:root[data-theme=workbook][data-appearance=dark]{--paper:#1b1914;--paper-tile:#36322a;--paper-sheen:#fff6e00f;--ink:#f0ece2;--ink-soft:#b3ac9c;--ink-faint:#837d70;--grid-line:#96b2d21a;--grid-line-major:#96b2d229;--accent:#2bc4c4;--accent-deep:#7fe0e0;--accent-tint:#123a3a;--accent-muted:#163f3e;--accent-line:#2f8f8c;--sky:#52b4e6;--sky-deep:#9bd4f2;--sky-tint:#123246;--gold:#f2bf5a;--gold-deep:#f7d485;--gold-tint:#453413;--goal-glow:#f2bf5a80;--goal-glow-strong:#f2bf5a4d;--plus:#4fc07f;--plus-tint:#17402a;--plus-deep:#8fe0b0;--minus:#f2a35a;--minus-tint:#45280f;--minus-deep:#f6c087;--divide:#b58af0;--divide-tint:#2f1a4a;--divide-deep:#d3b0f6;--join:#869cf2;--join-tint:#1e2750;--join-deep:#b0c0f8;--join-glow:#869cf247;--join-glow-strong:#869cf273;--coral:#f56a8b;--coral-tint:#451520;--line:#524d43;--edge-color:#6f6a5f;--edge-slack-color:#7d786c;--header-bg:#1b1914d1;--header-border:#96b2d22e;--btn-border:#96b2d257}:root[data-theme=blueprint]{--paper:#f4f7fb;--paper-tile:#fff;--paper-sheen:#ffffff8c;--ink:#1c2b3a;--ink-soft:#5a6b7d;--ink-faint:#93a3b4;--grid-line:#2563b526;--grid-line-major:#2563b53d;--accent:#2563c4;--accent-deep:#1b4a97;--accent-tint:#dbe7fb;--accent-muted:#e2ebf8;--accent-line:#8fb0dd;--sky:#2a5d8f;--sky-deep:#1a4468;--sky-tint:#d9e6f2;--gold:#b98d2f;--gold-deep:#7a5817;--gold-tint:#efe3c2;--goal-glow:#b98d2f8c;--goal-glow-strong:#b98d2f52;--plus:#2f9e63;--plus-tint:#dcf1e6;--plus-deep:#1c7a49;--minus:#e8823a;--minus-tint:#fbe6d6;--minus-deep:#bf5f14;--divide:#7a52e6;--divide-tint:#e5ddfb;--divide-deep:#5730c9;--join:#1b8ea3;--join-tint:#d8f0f5;--join-deep:#0f6377;--join-glow:#1b8ea347;--join-glow-strong:#1b8ea373;--coral:#e5476f;--coral-tint:#fdeef2;--line:#d5dfea;--edge-color:#97aabd;--edge-slack-color:#8194a8;--header-bg:#f4f7fbdb;--header-border:#2563b529;--btn-border:#2563b547}:root[data-theme=blueprint][data-appearance=dark]{--paper:#0b1c30;--paper-tile:#1e3d61;--paper-sheen:#78b4f014;--ink:#dce9f7;--ink-soft:#98b4d1;--ink-faint:#6a89a8;--grid-line:#78b4f024;--grid-line-major:#78b4f038;--accent:#5aa9f0;--accent-deep:#8ec6f6;--accent-tint:#143a5c;--accent-muted:#17324e;--accent-line:#3f6f9e;--sky:#62c5ea;--sky-deep:#a5dcf4;--sky-tint:#0f3e58;--gold:#d9b45c;--gold-deep:#e6ca85;--gold-tint:#3c2f10;--goal-glow:#d9b45c80;--goal-glow-strong:#d9b45c4d;--plus:#4bc07f;--plus-tint:#12402a;--plus-deep:#8fe0b0;--minus:#f2a35a;--minus-tint:#43280f;--minus-deep:#f6c087;--divide:#b58af0;--divide-tint:#2b1c4c;--divide-deep:#d3b0f6;--join:#4cc3da;--join-tint:#10353e;--join-deep:#86dcec;--join-glow:#4cc3da47;--join-glow-strong:#4cc3da73;--coral:#f56a8b;--coral-tint:#40151f;--line:#36587f;--edge-color:#5f7d9e;--edge-slack-color:#6d8bab;--header-bg:#0b1c30d1;--header-border:#78b4f033;--btn-border:#78b4f05c}:root[data-theme=sunset]{--paper:#fdf6f0;--paper-tile:#fffaf5;--paper-sheen:#fff0e48c;--ink:#3a2a2e;--ink-soft:#8a6f70;--ink-faint:#b89a97;--grid-line:#d6785a1f;--grid-line-major:#d6785a33;--accent:#e8663f;--accent-deep:#c14620;--accent-tint:#fce0d5;--accent-muted:#f7e2da;--accent-line:#eaa88f;--sky:#6a5ecf;--sky-deep:#4a3fa5;--sky-tint:#e7e3fa;--gold:#ef9414;--gold-deep:#96590a;--gold-tint:#fbe3bd;--goal-glow:#ef94148c;--goal-glow-strong:#ef941452;--plus:#4fae72;--plus-tint:#e2f2e8;--plus-deep:#2c8250;--minus:#ef7a3c;--minus-tint:#fde3d5;--minus-deep:#c45414;--divide:#a75fe0;--divide-tint:#f0e4fb;--divide-deep:#7d38c9;--join:#1fa39c;--join-tint:#d7f2f0;--join-deep:#10726d;--join-glow:#1fa39c47;--join-glow-strong:#1fa39c73;--coral:#ef476f;--coral-tint:#fdeaef;--line:#ecdcd2;--edge-color:#bda99a;--edge-slack-color:#a89384;--header-bg:#fffaf5db;--header-border:#d6785a24;--btn-border:#d6785a42}:root[data-theme=sunset][data-appearance=dark]{--paper:#1f141c;--paper-tile:#3b2734;--paper-sheen:#ff966e14;--ink:#f6e6dd;--ink-soft:#c8a79d;--ink-faint:#9c8078;--grid-line:#f0966e1f;--grid-line-major:#f0966e33;--accent:#f5794f;--accent-deep:#f89a78;--accent-tint:#4a2418;--accent-muted:#3a2219;--accent-line:#8f5a48;--sky:#948ff0;--sky-deep:#bcb7f7;--sky-tint:#312e66;--gold:#f3ae45;--gold-deep:#f7c983;--gold-tint:#4a3512;--goal-glow:#f4b95a80;--goal-glow-strong:#f4b95a4d;--plus:#58c085;--plus-tint:#16402a;--plus-deep:#8fe0b0;--minus:#f2985a;--minus-tint:#45280f;--minus-deep:#f6bb87;--divide:#bd8af0;--divide-tint:#2f1a4a;--divide-deep:#d3b0f6;--join:#4fc9c1;--join-tint:#0f3c39;--join-deep:#86e2db;--join-glow:#4fc9c147;--join-glow-strong:#4fc9c173;--coral:#f56a8b;--coral-tint:#45151f;--line:#56404c;--edge-color:#8a6f68;--edge-slack-color:#9c8078;--header-bg:#1f141cd1;--header-border:#f0966e33;--btn-border:#f0966e5c}:root[data-theme=sakura]{--paper:#fdf4f7;--paper-tile:#fffafc;--paper-sheen:#fff0f78c;--ink:#3a2a33;--ink-soft:#8a6f7c;--ink-faint:#bb9aa8;--grid-line:#d678a01f;--grid-line-major:#d678a033;--accent:#e0669a;--accent-deep:#b83f76;--accent-tint:#fbdce9;--accent-muted:#f7e0ea;--accent-line:#e2a3c0;--sky:#38a3b5;--sky-deep:#1f7383;--sky-tint:#ddf2f4;--gold:#ec9c33;--gold-deep:#8a5507;--gold-tint:#fce4c8;--goal-glow:#ec9c338c;--goal-glow-strong:#ec9c3352;--plus:#5aae72;--plus-tint:#e2f4e8;--plus-deep:#2f8250;--minus:#ef8a5c;--minus-tint:#fde6db;--minus-deep:#c46414;--divide:#a75fe0;--divide-tint:#f0e4fb;--divide-deep:#7d38c9;--join:#4a6fd4;--join-tint:#dfe6fa;--join-deep:#2a4a9e;--join-glow:#4a6fd447;--join-glow-strong:#4a6fd473;--coral:#ef476f;--coral-tint:#fdeaf0;--line:#eed6e0;--edge-color:#c2a6b2;--edge-slack-color:#ab8f9c;--header-bg:#fffafcdb;--header-border:#d678a024;--btn-border:#d678a042}:root[data-theme=sakura][data-appearance=dark]{--paper:#1d1220;--paper-tile:#3a2438;--paper-sheen:#ff96c814;--ink:#f6e0ec;--ink-soft:#c8a2b6;--ink-faint:#9c7c8e;--grid-line:#f096be1f;--grid-line-major:#f096be33;--accent:#f07aac;--accent-deep:#f6a3c8;--accent-tint:#4a1830;--accent-muted:#3a1c2e;--accent-line:#8f5a72;--sky:#49c2cf;--sky-deep:#86dde6;--sky-tint:#0f4046;--gold:#f0b466;--gold-deep:#f5cf92;--gold-tint:#46320f;--goal-glow:#f0b46680;--goal-glow-strong:#f0b4664d;--plus:#58c085;--plus-tint:#16402a;--plus-deep:#8fe0b0;--minus:#f29a6a;--minus-tint:#45280f;--minus-deep:#f6bb87;--divide:#bd8af0;--divide-tint:#2f1a4a;--divide-deep:#d3b0f6;--join:#8aa4f0;--join-tint:#1e2a50;--join-deep:#b3c4f7;--join-glow:#8aa4f047;--join-glow-strong:#8aa4f073;--coral:#f56a8b;--coral-tint:#45151f;--line:#513350;--edge-color:#8a6f7c;--edge-slack-color:#9c7c8e;--header-bg:#1d1220d1;--header-border:#f096be33;--btn-border:#f096be5c}:root[data-theme=dorris]{--paper:#f7f3fc;--paper-tile:#fdfbff;--paper-sheen:#f0e8fc99;--ink:#2f2440;--ink-soft:#766a8c;--ink-faint:#a99cc0;--grid-line:#7c5cbe1f;--grid-line-major:#7c5cbe33;--accent:#7c4dd6;--accent-deep:#5a2fae;--accent-tint:#ece2fb;--accent-muted:#e4dcf6;--accent-line:#b79ce6;--sky:#2f9bb5;--sky-deep:#1a7085;--sky-tint:#dcf0f5;--gold:#e0930f;--gold-deep:#8a5507;--gold-tint:#fbe8c4;--goal-glow:#e0930f8c;--goal-glow-strong:#e0930f52;--plus:#48a06a;--plus-tint:#dff2e6;--plus-deep:#2a7549;--minus:#e8804a;--minus-tint:#fce4d6;--minus-deep:#bd5813;--divide:#4f63e0;--divide-tint:#dfe3fb;--divide-deep:#2f3fb5;--join:#d2489a;--join-tint:#fbdff0;--join-deep:#9c246b;--join-glow:#d2489a47;--join-glow-strong:#d2489a73;--coral:#e5486f;--coral-tint:#fce4eb;--line:#e0d6f0;--edge-color:#b0a3c6;--edge-slack-color:#9a8cb2;--header-bg:#fdfbffdb;--header-border:#7c5cbe24;--btn-border:#7c5cbe42}:root[data-theme=dorris][data-appearance=dark]{--paper:#171125;--paper-tile:#2c2140;--paper-sheen:#aa82ff14;--ink:#ece2fb;--ink-soft:#b3a3d0;--ink-faint:#8a7aa8;--grid-line:#aa82ff1f;--grid-line-major:#aa82ff33;--accent:#a884f5;--accent-deep:#c4aaf9;--accent-tint:#372458;--accent-muted:#2e1f47;--accent-line:#6e529e;--sky:#45bcd2;--sky-deep:#84dced;--sky-tint:#0e3d47;--gold:#eeae52;--gold-deep:#f4c98b;--gold-tint:#44300d;--goal-glow:#eeae5280;--goal-glow-strong:#eeae524d;--plus:#56be82;--plus-tint:#133e28;--plus-deep:#8cdfad;--minus:#f0955f;--minus-tint:#43260e;--minus-deep:#f5b98a;--divide:#7688f5;--divide-tint:#1e2456;--divide-deep:#a3aefa;--join:#ef8ac8;--join-tint:#4a1838;--join-deep:#f7b6dd;--join-glow:#ef8ac847;--join-glow-strong:#ef8ac873;--coral:#f2648a;--coral-tint:#43141f;--line:#43335e;--edge-color:#7e6da0;--edge-slack-color:#8a7aa8;--header-bg:#171125d1;--header-border:#aa82ff33;--btn-border:#aa82ff5c}:root[data-theme=photocopy]{--paper:#eeedea;--paper-tile:#fafaf8;--paper-sheen:#ffffff8c;--ink:#1e1e1c;--ink-soft:#605f5b;--ink-faint:#9a9994;--grid-line:#2828261a;--grid-line-major:#2828262e;--accent:#4a4a46;--accent-deep:#262623;--accent-tint:#deddda;--accent-muted:#e4e3e0;--accent-line:#a8a7a2;--sky:#74736e;--sky-deep:#45443f;--sky-tint:#e6e5e1;--gold:#232320;--gold-deep:#000;--gold-tint:#cfceca;--goal-glow:#1e1e1c66;--goal-glow-strong:#1e1e1c38;--plus:#2b2b28;--plus-tint:#d6d5d1;--plus-deep:#161615;--minus:#4e4d49;--minus-tint:#deddda;--minus-deep:#2b2b28;--divide:#6d6c67;--divide-tint:#e6e5e1;--divide-deep:#43423e;--join:#8d8c87;--join-tint:#f0efec;--join-deep:#56554f;--join-glow:#8d8c8747;--join-glow-strong:#8d8c8773;--coral:#111110;--coral-tint:#d2d1cd;--line:#cbcac6;--edge-color:#8d8c87;--edge-slack-color:#a8a7a2;--header-bg:#fafaf8e0;--header-border:#28282629;--btn-border:#2828264d}:root[data-theme=photocopy][data-appearance=dark]{--paper:#191918;--paper-tile:#2b2b29;--paper-sheen:#ffffff0d;--ink:#f0efec;--ink-soft:#b2b1ad;--ink-faint:#7d7c78;--grid-line:#f0efec1a;--grid-line-major:#f0efec2e;--accent:#cbcac6;--accent-deep:#f0efec;--accent-tint:#3d3d3a;--accent-muted:#343432;--accent-line:#6d6c67;--sky:#85847f;--sky-deep:#b2b1ad;--sky-tint:#333331;--gold:#f4f3f0;--gold-deep:#fff;--gold-tint:#4a4a46;--goal-glow:#f4f3f066;--goal-glow-strong:#f4f3f038;--plus:#e8e7e4;--plus-tint:#3f3f3c;--plus-deep:#fafaf8;--minus:#c2c1bd;--minus-tint:#383835;--minus-deep:#e8e7e4;--divide:#9c9b96;--divide-tint:#313130;--divide-deep:#c2c1bd;--join:#7d7c78;--join-tint:#2b2b29;--join-deep:#a5a49f;--join-glow:#7d7c7847;--join-glow-strong:#7d7c7873;--coral:#fff;--coral-tint:#4a4a46;--line:#464643;--edge-color:#7d7c78;--edge-slack-color:#605f5b;--header-bg:#191918d9;--header-border:#f0efec33;--btn-border:#f0efec57}:root[data-theme=photocopy] .sq-op[data-op=\+] .sq-chip-face{border-style:solid}:root[data-theme=photocopy] .sq-op[data-op=−] .sq-chip-face{border-style:dashed}:root[data-theme=photocopy] .sq-op[data-op=÷] .sq-chip-face{border-style:dotted}:root[data-theme=photocopy] .sq-op[data-op=×] .sq-chip-face{border-style:double;border-width:4px}:root[data-theme=photocopy] .sq-menu-btn[data-op=\+]{border-style:solid}:root[data-theme=photocopy] .sq-menu-btn[data-op=−]{border-style:dashed}:root[data-theme=photocopy] .sq-menu-btn[data-op=÷]{border-style:dotted}:root[data-theme=photocopy] .sq-menu-btn[data-op=×]{border-style:double;border-width:4px}:root[data-theme=photocopy] .sq-hud-pill[data-op=\+]{border-style:solid}:root[data-theme=photocopy] .sq-hud-pill[data-op=−]{border-style:dashed}:root[data-theme=photocopy] .sq-hud-pill[data-op=÷]{border-style:dotted}:root[data-theme=photocopy] .sq-hud-pill[data-op=×]{border-style:double;border-width:3px}:root[data-appearance=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--shadow-ink:0, 0, 0;--shadow-tile:0 1.5px 0 rgba(var(--shadow-ink), .4), 0 6px 16px -8px rgba(var(--shadow-ink), .6);--shadow-tile-hover:0 3px 0 rgba(var(--shadow-ink), .42), 0 14px 26px -10px rgba(var(--shadow-ink), .62);--shadow-chip:0 1.5px 0 rgba(var(--shadow-ink), .45), 0 4px 11px -5px rgba(var(--shadow-ink), .6);--shadow-menu:0 2px 0 rgba(var(--shadow-ink), .45), 0 12px 24px -10px rgba(var(--shadow-ink), .66)}:root{--radius-sm:11px;--radius-md:16px;--radius-lg:22px;--grid-size:26px;--shadow-ink:44, 42, 38;--shadow-tile:0 2.5px 0 rgba(var(--shadow-ink), .12), 0 7px 16px -6px rgba(var(--shadow-ink), .28);--shadow-tile-hover:0 5px 0 rgba(var(--shadow-ink), .13), 0 16px 26px -8px rgba(var(--shadow-ink), .3);--shadow-chip:0 2px 0 rgba(var(--shadow-ink), .14), 0 5px 11px -4px rgba(var(--shadow-ink), .32);--shadow-menu:0 3px 0 rgba(var(--shadow-ink), .14), 0 12px 24px -8px rgba(var(--shadow-ink), .38);--word-min-width:66px;--word-height:46px;--word-pad:.42rem .9rem;--input-width:6ch;--input-max-width:14ch;--chip-size:36px;--chip-font:1.15rem;--menu-btn-size:46px;--font-display:"Fredoka", ui-rounded, system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--title-size:1.6rem;--header-pad:.7rem 1.4rem;--btn-bg:transparent;--btn-bg-hover:var(--paper-tile);--node-bg:var(--paper-tile);--node-fg:var(--ink);--node-border:var(--line);--node-shadow:var(--shadow-tile);--start-bg:var(--sky-tint);--start-border:var(--sky);--start-fg:var(--sky-deep);--goal-bg:var(--gold-tint);--goal-border:var(--gold);--goal-fg:var(--gold-deep);--node-editing-bg:var(--paper-tile);--node-editing-border:var(--accent);--chip-bg:var(--paper-tile);--chip-fg:var(--ink-soft);--chip-border:var(--line);--op-bg:var(--divide-tint);--op-fg:var(--divide-deep);--op-border:var(--divide);--delete-bg:var(--coral-tint);--delete-fg:var(--coral);--delete-border:var(--coral);--edge-width:3px;--edge-win-color:var(--gold);--edge-solved-color:var(--gold);--edge-solved-width:4px;--edge-solved-glow:var(--goal-glow);--menu-bg:var(--paper-tile);--menu-fg:var(--accent-deep);--menu-border:var(--accent);--menu-bg-hover:var(--accent);--menu-border-active:var(--accent-deep);--menu-shadow:var(--shadow-menu);--menu-pop-dur:.3s;--focus-ring:var(--accent);--goal-pulse:var(--goal-glow-strong);--z-header:100;--z-modal:1000;--ease-spring:cubic-bezier(.34, 1.55, .5, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-fast:.13s;--dur:.22s;--dur-slow:.46s;--sheet-inset:12px;--sheet-max-h:62vh}@keyframes sq-sheet-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){@keyframes sq-sheet-rise{0%{opacity:0}to{opacity:1}}}*{box-sizing:border-box;margin:0;padding:0}html,body{overscroll-behavior-y:contain;width:100%;height:100%}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{font-family:var(--font-display,system-ui);background-color:var(--paper,#fafaf7);color:var(--ink,#2c2a26);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent}.graph-paper{background-color:var(--paper,#fafaf7);background-image:radial-gradient(120% 120% at 50% 0%, var(--paper-sheen,#ffffff80) 0%, transparent 55%), repeating-linear-gradient(0deg, var(--grid-line) 0, var(--grid-line) 1px, transparent 1px, transparent var(--grid-size,26px)), repeating-linear-gradient(90deg, var(--grid-line) 0, var(--grid-line) 1px, transparent 1px, transparent var(--grid-size,26px)), repeating-linear-gradient(0deg, var(--grid-line-major) 0, var(--grid-line-major) 1.5px, transparent 1.5px, transparent calc(var(--grid-size,26px) * 5)), repeating-linear-gradient(90deg, var(--grid-line-major) 0, var(--grid-line-major) 1.5px, transparent 1.5px, transparent calc(var(--grid-size,26px) * 5))}#root{flex-direction:column;height:100%;display:flex}.app-header{padding:var(--header-pad,.75rem 1.25rem);border-bottom:1.5px solid var(--header-border,#e5e5e5);background:var(--header-bg,#fff);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:var(--z-header,100);flex:none;justify-content:space-between;align-items:center;display:flex;position:relative}.brand{align-items:center;gap:.7rem;min-width:0;display:flex}.brand-mark{flex:none;width:27px;height:auto;display:block}.app-title{font-family:var(--font-display,inherit);font-size:var(--title-size,1.6rem);letter-spacing:.005em;color:var(--ink,#2c2a26);font-weight:600;line-height:1}.app-title:first-letter{color:var(--accent,#0ea5a5)}.controls{align-items:center;gap:.5rem;display:flex}.controls button{font-family:var(--font-display,inherit);letter-spacing:.02em;border:1.5px solid var(--btn-border,#d0d0d0);background:var(--btn-bg,transparent);color:var(--ink-soft,inherit);cursor:pointer;transition:background var(--dur-fast,.13s) var(--ease-out,ease), color var(--dur-fast,.13s) var(--ease-out,ease), border-color var(--dur-fast,.13s) var(--ease-out,ease), transform var(--dur-fast,.13s) var(--ease-spring,ease);border-radius:999px;padding:.42rem 1rem;font-size:.85rem;font-weight:500}.controls button:hover{background:var(--btn-bg-hover,#ececec);color:var(--ink,#2c2a26);border-color:var(--ink-faint,#a49a86)}.controls button:active{transform:scale(.95)}.controls button:focus-visible{outline:2.5px solid var(--focus-ring,#0ea5a5);outline-offset:2px}.ctl-icon{font-size:1.05rem;line-height:1;display:none}.sq-glyph{width:20px;height:20px;display:block}@media (width<=560px){.app-title{font-size:1.3rem}.controls{gap:.35rem}.controls button{padding:.42rem .6rem}.ctl-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ctl-icon{display:inline-flex}}main.graph-paper{flex:auto;position:relative;overflow:hidden}main.graph-paper.sq-page-scroll{overflow:hidden auto}.sq-loading{opacity:0;animation:sq-loading-in .26s var(--ease-out,ease) .3s forwards;flex-direction:column;justify-content:center;align-items:center;gap:1.1rem;display:flex;position:absolute;inset:0}@keyframes sq-loading-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.sq-loading-squish{width:190px;height:64px;position:relative}.sq-loading-squish svg{width:100%;height:100%;position:absolute;inset:0}.sq-loading-squish line{stroke:var(--edge-color,#aaa89c);stroke-width:3px;stroke-linecap:round;stroke-dasharray:1 9;animation:1.4s linear infinite sq-loading-march}@keyframes sq-loading-march{to{stroke-dashoffset:-10px}}.sq-loading-ghost{width:var(--word-min-width,66px);height:var(--word-height,46px);border-radius:var(--radius-sm,11px);background:var(--paper-tile,#fff);border:2.5px dashed;position:absolute;top:50%}.sq-loading-ghost.start{border-color:var(--sky,#2f9fdb);background:color-mix(in srgb, var(--sky-tint,#dcf0fb) 55%, var(--paper-tile,#fff));animation:sq-squish-l 1.9s var(--ease-spring,ease) infinite;left:0}.sq-loading-ghost.goal{border-color:var(--gold,#f2b02e);background:color-mix(in srgb, var(--gold-tint,#fdeec4) 55%, var(--paper-tile,#fff));animation:sq-squish-r 1.9s var(--ease-spring,ease) infinite;right:0}@keyframes sq-squish-l{0%,12%{transform:translateY(-50%)}42%{transform:translate(28px,-50%)}52%{transform:translate(30px,-50%)scale(.82,1.14)}78%,to{transform:translateY(-50%)}}@keyframes sq-squish-r{0%,12%{transform:translateY(-50%)}42%{transform:translate(-28px,-50%)}52%{transform:translate(-30px,-50%)scale(.82,1.14)}78%,to{transform:translateY(-50%)}}.sq-loading-text{font-family:var(--font-display,inherit);color:var(--ink-soft,#78766c);letter-spacing:.01em;margin:0;font-size:.92rem;font-weight:500}@media (prefers-reduced-motion:reduce){.sq-loading{animation-duration:1ms}.sq-loading-squish line,.sq-loading-ghost{animation:none}}@keyframes sq-wincard-in{0%{opacity:0;transform:scale(.9)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){.controls button{transition:none}}.sq-feedback-open{color:var(--ink-soft,#78766c);padding:.42rem .6rem;font-size:1rem;line-height:1}.sq-feedback-open:hover{color:var(--coral,#ef476f)}.sq-feedback-scrim{z-index:var(--z-modal,1000);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2c2a2657;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.sq-feedback-sheet{border-radius:var(--radius-lg,22px);background:var(--paper-tile,#fff);border:1.5px solid var(--node-border,#e3e1d8);width:min(460px,100%);box-shadow:var(--shadow-menu,0 12px 24px -8px #2c2a2661);animation:sq-wincard-in .28s var(--ease-spring,ease) both;padding:1.1rem 1.2rem 1.2rem}.sq-feedback-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.sq-feedback-title{font-size:1.05rem;font-weight:600}.sq-feedback-close{cursor:pointer;color:var(--ink-soft,#78766c);background:0 0;border:none;font-size:.9rem}.sq-feedback-lede{color:var(--ink-soft,#78766c);margin-bottom:.7rem;font-size:.85rem}.sq-feedback-input{resize:vertical;border-radius:var(--radius-sm,11px);border:1.5px solid var(--node-border,#e3e1d8);width:100%;font-family:var(--font-display,inherit);color:var(--ink,#2c2a26);background:var(--paper,#fafaf7);padding:.6rem .7rem;font-size:.9rem}.sq-feedback-input:focus-visible{outline:2px solid var(--accent,#0ea5a5);outline-offset:1px}.sq-feedback-foot{justify-content:space-between;align-items:center;margin-top:.6rem;display:flex}.sq-feedback-count{font-family:var(--font-mono,monospace);color:var(--ink-faint,#a3a196);font-size:.75rem}.sq-feedback-count.over{color:var(--coral,#ef476f);font-weight:600}.sq-feedback-btn{border-radius:var(--radius-sm,11px);border:1.5px solid var(--btn-border,#54627442);background:var(--paper-tile,#fff);cursor:pointer;font-family:var(--font-display,inherit);color:var(--ink,#2c2a26);padding:.42rem .9rem;font-size:.85rem}.sq-feedback-btn.primary{background:var(--accent,#0ea5a5);border-color:var(--accent-deep,#0a7d7d);color:#fff}.sq-feedback-btn:disabled{opacity:.5;cursor:not-allowed}.sq-feedback-error{color:var(--coral,#ef476f);margin-top:.5rem;font-size:.82rem}.sq-feedback-note{color:var(--ink-faint,#a3a196);margin-top:.6rem;font-size:.72rem}.sq-feedback-done{text-align:center;padding:.8rem .2rem .2rem}.sq-feedback-done-mark{color:var(--plus,#2f9e63);font-size:2rem}.sq-feedback-done p{color:var(--ink-soft,#78766c);margin:.5rem 0 .9rem;font-size:.9rem}.sq-confirm-scrim{z-index:var(--z-modal,1000);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2c2a2657;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.sq-confirm-slip{border-radius:var(--radius-lg,22px);background:var(--paper-tile,#fff);border:1.5px solid var(--node-border,#e3e1d8);width:min(380px,100%);box-shadow:var(--shadow-menu,0 12px 24px -8px #2c2a2661);animation:sq-wincard-in .24s var(--ease-spring,ease) both;padding:1.05rem 1.2rem 1.1rem 1.5rem;position:relative;overflow:hidden}.sq-confirm-slip:before{content:"";background:var(--coral,#ef476f);opacity:.45;width:2px;position:absolute;top:0;bottom:0;left:.72rem}.sq-confirm-title{font-family:var(--font-display,inherit);color:var(--ink,#2c2a26);margin:0;font-size:1.05rem;font-weight:600}.sq-confirm-body{color:var(--ink-soft,#78766c);margin:.4rem 0 0;font-size:.88rem;line-height:1.45}.sq-confirm-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.sq-confirm-btn{border-radius:var(--radius-sm,11px);border:1.5px solid var(--btn-border,#54627442);background:var(--paper-tile,#fff);cursor:pointer;font-family:var(--font-display,inherit);color:var(--ink,#2c2a26);transition:background var(--dur-fast,.13s) var(--ease-out,ease), color var(--dur-fast,.13s) var(--ease-out,ease);padding:.44rem .95rem;font-size:.88rem}.sq-confirm-btn:hover{background:var(--paper,#fafaf7)}.sq-confirm-btn.primary{background:var(--accent,#0ea5a5);border-color:var(--accent-deep,#0a7d7d);color:#fff}.sq-confirm-slip.destructive .sq-confirm-btn.primary{background:var(--coral,#ef476f);border-color:var(--coral,#ef476f);color:#fff}.sq-confirm-slip.destructive .sq-confirm-btn.primary:hover{background:color-mix(in srgb, var(--coral,#ef476f) 84%, #000)}.sq-confirm-btn:focus-visible{outline:2.5px solid var(--focus-ring,#0ea5a5);outline-offset:2px}.sq-feedback-fallback{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.sq-torn{background:var(--paper,#fafaf7);place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.sq-torn-card{text-align:center;border-radius:var(--radius-lg,22px);background:var(--paper-tile,#fff);border:1.5px solid var(--node-border,#e3e1d8);max-width:380px;box-shadow:var(--shadow-tile,0 7px 16px -6px #2c2a2647);padding:1.6rem 1.4rem}.sq-torn-mark{color:var(--coral,#ef476f);font-size:2.2rem}.sq-torn-title{color:var(--ink,#2c2a26);margin:.5rem 0;font-size:1.3rem}.sq-torn-body{color:var(--ink-soft,#78766c);margin-bottom:1rem;font-size:.9rem}.sq-torn-btn{border-radius:var(--radius-sm,11px);border:1.5px solid var(--accent-deep,#0a7d7d);background:var(--accent,#0ea5a5);color:#fff;cursor:pointer;font-family:var(--font-display,inherit);padding:.5rem 1.1rem;font-size:.9rem}@media (pointer:coarse){.app-header{padding-block:6px}.controls button,.sq-feedback-open,.sq-gear{min-width:44px;min-height:44px}.sq-recenter[data-off-home]{border-color:var(--accent,#0ea5a5);color:var(--accent-deep,#0a7d7d)}@media (width<=380px){.controls{gap:.25rem}.app-header{padding-inline:max(.75rem, env(safe-area-inset-left)) max(.75rem, env(safe-area-inset-right))}}.sq-confirm-scrim{padding:var(--sheet-inset);padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--sheet-inset));align-items:end}.sq-confirm-slip{width:100%;max-height:var(--sheet-max-h);overscroll-behavior:contain;animation-name:sq-sheet-rise;overflow-y:auto}.sq-confirm-actions{flex-direction:column-reverse;gap:.5rem}.sq-confirm-btn{width:100%;min-height:48px;font-size:.95rem}:root{--foot-h:2.75rem}.sq-door.sq-door{height:var(--foot-h);padding-block:0}.sq-diff.sq-diff{height:var(--foot-h);padding:3px}.sq-cover .sq-cover-play{min-height:48px}.sq-home-door{min-height:44px}.sq-diff .sq-diff-btn{justify-content:center;align-self:stretch;align-items:center;padding:0 1rem;display:inline-flex}.sq-corner.sq-corner{--rail-h:var(--foot-h)}}.sq-account-door,.sq-home-door{font-family:var(--font-display);white-space:nowrap;color:var(--ink-soft);background:var(--paper-tile);border:1.5px solid var(--node-border);box-shadow:var(--shadow-chip);cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring), background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.sq-account-door:hover,.sq-home-door:hover{color:var(--ink);border-color:var(--accent);transform:translateY(-2px)}.sq-account-door:focus-visible,.sq-home-door:focus-visible{outline:2.5px solid var(--focus-ring);outline-offset:2px}.sq-account-door{height:var(--rail-h,2rem);padding:0 .85rem;font-size:.82rem;font-weight:600}.sq-home-door{letter-spacing:.02em;gap:.3rem;padding:.4rem .85rem;font-size:.9rem;font-weight:500}.sq-home-door--exit{border-radius:var(--radius-sm,11px);background:var(--paper);width:100%;box-shadow:none;gap:.4rem;margin-top:1rem;padding:.65rem 1rem;font-size:.92rem;font-weight:600;display:flex}.sq-home-door--exit:hover{background:var(--paper-tile)}@media (prefers-reduced-motion:reduce){.sq-account-door,.sq-home-door{transition:none}.sq-account-door:hover,.sq-home-door:hover{transform:none}}.sq-cover,.sq-select{background-color:var(--paper);background-image:radial-gradient(120% 90% at 50% 0%, var(--paper-sheen) 0%, transparent 55%), repeating-linear-gradient(0deg, var(--grid-line) 0, var(--grid-line) 1px, transparent 1px, transparent var(--grid-size)), repeating-linear-gradient(90deg, var(--grid-line) 0, var(--grid-line) 1px, transparent 1px, transparent var(--grid-size)), repeating-linear-gradient(0deg, var(--grid-line-major) 0, var(--grid-line-major) 1.5px, transparent 1.5px, transparent calc(var(--grid-size) * 5)), repeating-linear-gradient(90deg, var(--grid-line-major) 0, var(--grid-line-major) 1.5px, transparent 1.5px, transparent calc(var(--grid-size) * 5));width:100%;min-height:100%}.sq-cover{justify-content:center;align-items:flex-start;padding:2rem 1.25rem;display:flex;position:relative}.sq-corner{--rail-h:2rem;right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:5;align-items:center;gap:7px;display:flex;position:fixed}.sq-cover-book{padding:2rem 1.85rem 1.4rem;background:var(--paper-tile);border:1.5px solid var(--node-border);border-radius:var(--radius-lg);width:min(25rem,100%);box-shadow:var(--shadow-tile);text-align:center;margin-block:auto;padding-left:2.1rem;position:relative;overflow:hidden}.sq-cover-book:before{content:"";background:repeating-linear-gradient(180deg, var(--accent) 0 13px, var(--accent-deep) 13px 22px);opacity:.7;width:8px;position:absolute;inset:0 auto 0 0}.sq-cover-eyebrow{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.7rem;font-size:.68rem;font-weight:600}.sq-cover-wordmark{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:clamp(2.1rem,7vw,2.75rem);font-weight:700;line-height:.95}.sq-cover-wordmark:first-letter{color:var(--accent)}.sq-cover-logo{width:min(6.6rem,32%);height:auto;margin:1.05rem auto .9rem;display:block;overflow:visible}.sq-logo-fill--sky{fill:var(--sky-tint)}.sq-logo-fill--gold{fill:var(--gold-tint)}.sq-logo-fill--accent{fill:var(--accent-tint)}.sq-logo-stroke--sky,.sq-logo-stroke--gold,.sq-logo-stroke--accent{fill:none;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.sq-logo-stroke--sky{stroke:var(--sky)}.sq-logo-stroke--gold{stroke:var(--gold)}.sq-logo-stroke--accent{stroke:var(--accent)}.sq-logo-ticks path{fill:none;stroke:var(--accent);stroke-width:4.4px;stroke-linecap:round}.sq-week{margin-top:1.2rem}.sq-week-rule{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);justify-content:flex-end;align-items:baseline;gap:.6rem;margin-bottom:.42rem;font-size:.62rem;display:flex}.sq-week-label{white-space:nowrap;margin-right:auto;font-weight:600}.sq-week-rule .sq-next{font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;white-space:nowrap}.sq-week-days{grid-template-columns:repeat(7,1fr);gap:4px;list-style:none;display:grid}.sq-week-day{aspect-ratio:1;border:1.5px solid color-mix(in srgb, var(--ink-faint) 45%, transparent);color:var(--ink-faint);font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:0 0;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:1px;line-height:1;display:flex}.sq-week-dow{letter-spacing:.04em;opacity:.6;font-size:.5rem;font-weight:600}.sq-week-num{font-size:.72rem;font-weight:600}.sq-week-day[data-none]{background:0 0;border-color:#0000}.sq-week-day[data-grade]{font-weight:700}.sq-week-day[data-grade=A\+]{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-deep)}.sq-week-day[data-grade=A]{background:var(--gold-tint);border-color:var(--gold);color:var(--gold-deep)}.sq-week-day[data-grade=B]{background:var(--sky-tint);border-color:var(--sky);color:var(--sky-deep)}.sq-week-day[data-grade=C]{background:var(--minus-tint);border-color:var(--minus);color:var(--minus-deep)}.sq-week-day[data-today]:not([data-grade]){background:var(--accent);border-color:var(--accent-deep);color:var(--paper-tile)}.sq-week-day[data-today]:not([data-grade]) .sq-week-num{font-weight:700}.sq-week-day[data-today][data-grade]{border-color:var(--accent-deep);border-width:2.5px}.sq-cover-tile{border-radius:var(--radius-sm);border:1.5px solid var(--node-border);background:var(--paper-tile);box-shadow:var(--shadow-chip);font-family:var(--font-display);color:var(--ink);white-space:nowrap;align-items:center;padding:.3rem .72rem;font-size:1rem;font-weight:600;display:inline-flex}.sq-cover-tile.is-start{background:var(--start-bg);border-color:var(--start-border);color:var(--start-fg)}.sq-cover-tile.is-goal{background:var(--goal-bg);border-color:var(--goal-border);color:var(--goal-fg)}.sq-today{text-align:left;border:1.5px solid var(--accent-line);border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow-tile);margin-top:1.1rem;overflow:hidden}.sq-today-head{background:var(--accent-muted);border-bottom:1.5px solid var(--accent-line);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);justify-content:space-between;align-items:baseline;gap:.75rem;padding:.6rem 1rem;font-size:.7rem;display:flex}.sq-today-label{white-space:nowrap;color:var(--accent-deep);font-weight:600}.sq-today-date{color:var(--ink-faint);font-weight:500}.sq-today-no{white-space:nowrap}.sq-today-body{text-align:center;padding:1.15rem 1rem}.sq-today-route{justify-content:center;align-items:center;gap:.7rem;display:flex}.sq-today-route .sq-cover-tile{padding:.36rem .9rem;font-size:1.1rem}.sq-today-arrow{font-family:var(--font-mono);color:var(--ink-faint);font-size:1.2rem}.sq-today-flavor{max-width:20rem;font-family:var(--font-display);color:var(--ink-soft);margin:.75rem auto 0;font-size:.85rem;font-style:italic;line-height:1.4}.sq-card-rules.sq-today-rules{margin-top:.75rem;margin-bottom:0}.sq-card-rules.sq-today-rules[data-mode=easy]{margin-top:0}.sq-today--learn{background:var(--accent-tint);border-color:var(--accent)}.sq-today--learn .sq-today-head{color:var(--accent-deep);border-bottom-color:#0ea5a547}.sq-today--learn .sq-today-body{padding:.85rem}.sq-today--learn .sq-cover-play{margin-top:0}.sq-today-stamp{min-width:1.55em;height:1.55em;color:var(--accent-deep);letter-spacing:0;background:#ffffffeb;border-radius:999px;place-items:center;padding:0 .35em;font-size:.8em;font-weight:700;display:inline-grid}.sq-cover-play{width:100%;font-family:var(--font-display);letter-spacing:.01em;border-radius:var(--radius-md);background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 3px 0 var(--accent-deep), 0 10px 18px -9px #0a7d7d80;transition:transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);border:none;justify-content:center;align-items:center;gap:.5rem;margin-top:.7rem;padding:.68rem 1rem;font-size:1.1rem;font-weight:700;display:flex}.sq-cover-play:hover{background:var(--accent-deep);transform:translateY(-1px)}.sq-cover-play:active{box-shadow:0 1px 0 var(--accent-deep), 0 6px 12px -8px #0a7d7d80;transform:translateY(2px)}.sq-cover-doors{grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1.1rem;display:grid}.sq-cover-doors:has(>:only-child){grid-template-columns:1fr}.sq-door{text-align:center;border:1.5px solid var(--node-border);border-radius:var(--radius-sm);background:var(--paper-tile);box-shadow:var(--shadow-chip);cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring), border-color var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;padding:.62rem .9rem;display:flex}.sq-door:hover{border-color:var(--accent);transform:translateY(-2px)}.sq-door-name{font-family:var(--font-display);color:var(--ink);font-size:.95rem;font-weight:700}.sq-select{padding:2rem 1.5rem 3rem}.sq-select-head{text-align:center;max-width:62rem;margin:0 auto 1.8rem;position:relative}.sq-select-head .sq-home-door{position:absolute;top:.2rem;left:0}.sq-select-title{font-family:var(--font-display);color:var(--ink);font-size:clamp(1.8rem,6vw,2.4rem);font-weight:700;line-height:1}.sq-diff{border:1.5px solid var(--node-border);background:var(--paper-tile);box-shadow:var(--shadow-chip);border-radius:999px;gap:4px;padding:4px;display:inline-flex;overflow:hidden}.sq-diff-btn{font-family:var(--font-display);text-transform:capitalize;color:var(--ink-soft);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:999px;padding:.32rem .9rem;font-size:.85rem;font-weight:600}.sq-diff-btn:hover{background:var(--paper);color:var(--ink)}.sq-diff-btn.selected{background:var(--accent);color:#fff;box-shadow:0 2px 0 var(--accent-deep)}.sq-cover .sq-diff{align-self:center;width:max-content;max-width:100%;margin-top:1.3rem}.sq-select-head .sq-diff{margin-top:.75rem}.sq-skin{align-items:center;gap:7px;display:flex}.sq-skin-palette{display:flex;position:relative}.sq-skin-chip,.sq-skin-toggle{width:var(--rail-h,2rem);height:var(--rail-h,2rem);border:1.5px solid var(--node-border);background:var(--paper-tile);color:var(--ink-soft);cursor:pointer;box-shadow:var(--shadow-chip);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.sq-skin-chip:hover,.sq-skin-toggle:hover{color:var(--ink);border-color:var(--ink-soft)}.sq-skin-chip[aria-expanded=true]{background:var(--paper);border-color:var(--accent)}.sq-skin-toggle{color:var(--ink);font-size:1.05rem}.sq-skin-toggle[aria-pressed=true]{background:var(--accent);border-color:var(--accent-deep);color:#fff}.sq-skin-dot{border-radius:50%;flex:none;width:15px;height:15px;box-shadow:inset 0 0 0 1.5px #00000029}[data-theme-swatch=workbook] .sq-skin-dot{background:linear-gradient(135deg,#0ea5a5 0 50%,#f2b02e 50% 100%)}[data-theme-swatch=blueprint] .sq-skin-dot{background:linear-gradient(135deg,#2563c4 0 50%,#e0a52a 50% 100%)}[data-theme-swatch=sunset] .sq-skin-dot{background:linear-gradient(135deg,#e8663f 0 50%,#6d78d9 50% 100%)}[data-theme-swatch=sakura] .sq-skin-dot{background:linear-gradient(135deg,#e0669a 0 50%,#5aae72 50% 100%)}[data-theme-swatch=dorris] .sq-skin-dot{background:linear-gradient(135deg,#7c4dd6 0 50%,#e0930f 50% 100%)}[data-theme-swatch=photocopy] .sq-skin-dot{background:linear-gradient(135deg,#1e1e1c 0 50%,#b2b1ad 50% 100%)}.sq-skin-menu{transform-origin:bottom;z-index:40;border-radius:var(--radius-md);border:1.5px solid var(--node-border);background:var(--paper-tile);min-width:10.5rem;box-shadow:var(--menu-shadow);animation:sq-skin-menu-in var(--dur-fast) var(--ease-out) both;padding:5px;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%)}.sq-skin-menu-scroll{flex-direction:column;gap:2px;max-height:min(60vh,22rem);display:flex;overflow-y:auto}.sq-skin-menu:before{content:"";background:var(--paper-tile);border-right:1.5px solid var(--node-border);border-bottom:1.5px solid var(--node-border);width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}@keyframes sq-skin-menu-in{0%{opacity:0;transform:translate(-50%)translateY(4px)}}@media (prefers-reduced-motion:reduce){.sq-skin-menu{animation:none}}.sq-skin-item{width:100%;font-family:var(--font-display);text-align:left;color:var(--ink-soft);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:999px;align-items:center;gap:.55rem;padding:.36rem .7rem;font-size:.85rem;font-weight:600;display:flex}.sq-skin-item:hover{background:var(--paper);color:var(--ink)}.sq-skin-item.selected{background:var(--accent);color:#fff}.sq-skin-chip:focus-visible,.sq-skin-toggle:focus-visible,.sq-skin-item:focus-visible{outline:2.5px solid var(--focus-ring);outline-offset:2px}.sq-select-grid{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1.1rem;max-width:62rem;margin:0 auto;padding:0;list-style:none;display:grid}.sq-card{background:var(--paper-tile);border:1.5px solid var(--accent-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-tile);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-spring);position:relative}.sq-card:hover{border-color:var(--accent);box-shadow:var(--shadow-tile-hover);transform:translateY(-2px)}.sq-card[data-solved]{background:linear-gradient(180deg, var(--gold-tint) 0%, var(--gold-tint) 100%);border-color:var(--gold)}.sq-card[data-solved]:hover{border-color:var(--gold-deep)}.sq-card[data-solved] .sq-card-bar{background-color:var(--gold-tint);border-bottom-color:var(--gold)}.sq-card-play{--card-pad-x:1.2rem;--card-pad-y:1.3rem;text-align:left;width:100%;padding:var(--card-pad-y) var(--card-pad-x) 1.15rem;border-radius:inherit;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;display:block}.sq-card-bar{margin:calc(var(--card-pad-y) * -1) calc(var(--card-pad-x) * -1) .95rem;padding:.58rem var(--card-pad-x);border-bottom:1.5px solid var(--accent-line);border-radius:calc(var(--radius-lg) - 1.5px) calc(var(--radius-lg) - 1.5px) 0 0;background:var(--accent-muted);align-items:center;gap:.6rem;display:flex}.sq-card-num{font-family:var(--font-mono);letter-spacing:.12em;color:var(--ink);opacity:.62;flex:none;font-size:.72rem;font-weight:600;line-height:1}.sq-card-date{font-family:var(--font-display);color:var(--ink);opacity:.62;white-space:nowrap;flex:none;font-size:.72rem;font-weight:700;line-height:1}.sq-card-name{min-width:0;font-family:var(--font-display);color:var(--ink);flex:auto;font-size:1.05rem;font-weight:700;line-height:1.15}.sq-card-star{color:var(--gold);-webkit-text-stroke:1px var(--gold-deep);visibility:hidden;flex:none;font-size:1.05rem;line-height:1}.sq-card-star.is-earned{visibility:visible}.sq-card-route{justify-content:center;align-items:center;gap:.5rem;margin:.85rem 0 .7rem;display:flex}.sq-card-arrow{font-family:var(--font-mono);color:var(--ink-faint);font-size:1.05rem}.sq-card-flavor{font-family:var(--font-display);color:var(--ink-soft);text-align:center;min-height:2.4em;margin-bottom:.55rem;font-size:.85rem;font-style:italic;line-height:1.4}.sq-card-rules{transition:grid-template-rows var(--dur) var(--ease-out), margin-top var(--dur) var(--ease-out), margin-bottom var(--dur) var(--ease-out);grid-template-rows:1fr;margin-bottom:.8rem;display:grid}.sq-card-rules-clip{overflow:hidden}.sq-card-rules-line{min-height:1.7em;transition:opacity var(--dur-fast) var(--ease-out) var(--dur);flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;display:flex}.sq-card-rules[data-mode=easy]{transition-delay:var(--dur-fast);grid-template-rows:0fr;margin-bottom:0}.sq-card-rules[data-mode=easy] .sq-card-rules-line{opacity:0;transition-delay:0s}.sq-rule-ops{transition:opacity var(--dur-fast) var(--ease-out), display var(--dur-fast) allow-discrete;gap:.4rem;display:flex}.sq-card-rules:not([data-mode=hard]) .sq-rule-ops{opacity:0;display:none}@media (prefers-reduced-motion:reduce){.sq-card-rules,.sq-card-rules-line,.sq-rule-ops{transition:none}}.sq-rule-req{border:1.5px dashed var(--ink-faint);background:var(--paper);color:var(--ink-soft);font-family:var(--font-display);border-radius:999px;align-items:center;gap:.32em;padding:.16rem .5rem;font-size:.74rem;font-weight:600;line-height:1;display:inline-flex}.sq-rule-req-ring{color:var(--ink-faint);font-size:.85em}.sq-rule-op{font-family:var(--font-mono);border:1.5px solid;border-radius:999px;padding:.16rem .45rem;font-size:.72rem;font-weight:600;line-height:1}.sq-rule-op[data-op=\+]{color:var(--plus-deep);border-color:var(--plus);background:var(--plus-tint)}.sq-rule-op[data-op=−]{color:var(--minus-deep);border-color:var(--minus);background:var(--minus-tint)}.sq-rule-op[data-op=÷]{color:var(--divide-deep);border-color:var(--divide);background:var(--divide-tint)}.sq-rule-op[data-op=×]{color:var(--join-deep,#1c76a9);border-color:var(--join,#2f9fdb);background:var(--join-tint,#dcf0fb)}.sq-cover-play:focus-visible,.sq-door:focus-visible,.sq-diff-btn:focus-visible,.sq-card-play:focus-visible{outline:2.5px solid var(--focus-ring);outline-offset:2px}@media (width<=640px){.sq-card-play{--card-pad-x:1rem;--card-pad-y:1rem;text-align:center;padding:var(--card-pad-y) var(--card-pad-x) 1.05rem}.sq-card-name{font-size:1rem}.sq-card-route{justify-content:center;margin:.7rem 0 0}.sq-card-flavor{min-height:0;margin:.6rem 0 0}.sq-card .sq-card-rules{display:none}.sq-today-head{letter-spacing:.09em;gap:.5rem;font-size:.64rem}.sq-cover{padding-bottom:max(1.25rem, env(safe-area-inset-bottom));flex-direction:column;align-items:center}.sq-cover-book,.sq-cover .sq-corner{flex:none}.sq-cover .sq-corner{align-self:flex-end;margin-top:.9rem;position:static}.sq-cover-title{flex-direction:row-reverse;justify-content:center;align-items:center;gap:.6rem;display:flex}.sq-cover-title .sq-cover-logo{flex:none;width:2.6rem;margin:0}.sq-cover-doors:not(.sq-cover-doors--ways){flex-wrap:wrap;justify-content:center;margin-top:.95rem;display:flex}.sq-cover-doors:not(.sq-cover-doors--ways) .sq-door{border-radius:999px;padding:.4rem 1rem}.sq-cover-doors:not(.sq-cover-doors--ways) .sq-door-name{color:var(--ink-soft);font-size:.84rem;font-weight:600}.sq-cover-doors--ways .sq-door{padding-inline:.45rem}.sq-cover-doors--ways .sq-door-name{font-size:.88rem}.sq-cover .sq-diff{margin-top:.75rem}.sq-today-flavor{display:none}.sq-today-rules .sq-card-rules-line{gap:.45rem}.sq-today-rules .sq-rule-req{padding:.34rem .7rem;font-size:.86rem}.sq-today-rules .sq-rule-op{padding:.34rem .62rem;font-size:.82rem}}@media (width<=340px){.sq-today-head{letter-spacing:.05em;gap:.35rem;font-size:.58rem}.sq-cover-book{padding-inline:1.25rem;padding-left:1.6rem}}@media (prefers-reduced-motion:no-preference){.sq-cover-book{animation:sq-cover-in var(--dur-slow) var(--ease-spring) both}.sq-card{animation:sq-cover-in var(--dur) var(--ease-out) both}@keyframes sq-cover-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}.sq-pack{background:var(--paper);border:1.5px solid var(--accent-line);border-radius:var(--radius-lg);max-width:62rem;box-shadow:var(--shadow-tile);margin:2.9rem auto 0;padding:1.25rem 1.15rem 1.35rem;position:relative}.sq-pack:not([open]):not(details),div.sq-pack{box-shadow:none;background:0 0;border:none;margin-top:1.6rem;padding:0}.sq-pack-head{cursor:pointer;margin-bottom:1rem;list-style:none;display:block}.sq-pack-head::-webkit-details-marker{display:none}.sq-pack-tab{background:var(--accent-muted);border:1.5px solid var(--accent-line);border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:none;align-items:center;gap:.45rem;max-width:calc(100% - 3rem);padding:.42rem 1.15rem .46rem;display:flex;position:absolute;bottom:100%;left:1.15rem}.sq-pack-tab:after{content:"";background:var(--accent-muted);height:1.5px;position:absolute;bottom:-1.5px;left:0;right:0}.sq-pack-name{font-family:var(--font-display);color:var(--ink);font-size:1rem;font-weight:700;line-height:1.15}.sq-pack-caret{font-family:var(--font-mono);color:var(--accent-deep);transition:transform var(--dur-fast) var(--ease-out);font-size:.9rem;line-height:1;display:inline-block}.sq-pack[open]>.sq-pack-head .sq-pack-caret{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.sq-pack-caret{transition:none}}.sq-pack-status{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--ink-soft);font-size:.74rem;font-weight:600;display:block}.sq-pack-status-n{color:var(--accent-deep)}.sq-pack-blurb{max-width:34rem;font-family:var(--font-display);color:var(--ink-soft);margin:0 0 1rem;font-size:.82rem;font-style:italic;line-height:1.35}.sq-pack:not([open]){padding:.8rem 1.15rem .85rem}.sq-pack:not([open])>.sq-pack-head{margin-bottom:0}.sq-pack-head:hover .sq-pack-tab,.sq-pack-head:hover .sq-pack-tab:after{background:var(--accent-tint)}.sq-pack-head:hover .sq-pack-status-n{color:var(--accent)}.sq-pack:not([open]):hover{border-color:var(--accent)}.sq-pack-head:focus-visible{outline:2.5px solid var(--focus-ring);outline-offset:2px}.sq-next{font-family:var(--font-display);color:var(--ink-soft);font-size:.83rem;line-height:1.4}.sq-next-clock{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--accent-deep);font-weight:600}
