@font-face{font-family:panel;src:url(../media/BarlowCondensed_Medium-s.p.42guvlhwlnyfy.ttf)format("truetype");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:panel;src:url(../media/BarlowCondensed_ExtraBold-s.p.1d-ofwf12rj5m.ttf)format("truetype");font-display:swap;font-weight:800;font-style:normal}@font-face{font-family:panel;src:url(../media/BarlowCondensed_ExtraBoldItalic-s.p.136woul2h_0fv.ttf)format("truetype");font-display:swap;font-weight:800;font-style:italic}@font-face{font-family:panel Fallback;src:local(Arial);ascent-override:126.37%;descent-override:25.27%;line-gap-override:0.0%;size-adjust:79.13%}.A71xvG_className{font-family:panel,panel Fallback}.A71xvG_variable{--font-panel:"panel", "panel Fallback"}
@font-face{font-family:MaterialIcons;src:url(/fonts/materialicons-regular.otf)format("opentype");font-display:block}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#171027;--paper:#f6e6cf;--pink:#f254c4;--cyan:#64d8ce;--yellow:#f1bb3c;--muted:#bbb8cd}*{box-sizing:border-box}html{scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%}body{color:var(--paper);font:500 16px var(--font-panel), sans-serif;background:#080b16;margin:0;line-height:1.25}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0;min-height:48px;padding:8px 16px}button:disabled{cursor:default;opacity:.48}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4,strong{font-weight:800}img{vertical-align:middle;max-width:100%}.material-icon{letter-spacing:normal;white-space:nowrap;word-wrap:normal;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;direction:ltr;flex:none;font-family:MaterialIcons;font-style:normal;font-weight:400;line-height:1;display:inline-flex}.brand{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.brand-name{letter-spacing:4px;align-items:center;gap:14px;font-size:25px;font-weight:800;display:flex}.brand-mark{background:var(--pink);color:#080b16;place-items:center;width:40px;height:40px;display:grid}.brand-web{letter-spacing:2px;color:var(--muted);font-size:12px}.button{text-align:center;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 24px;font-weight:500;display:inline-flex}.primary{background:var(--yellow);color:#080b16}.outline{border-color:var(--muted);color:var(--paper)}.text-button{justify-content:center;align-items:center;gap:8px;min-height:48px;padding:8px 16px;display:inline-flex}.web-home{isolation:isolate;padding:24px 48px 32px;padding-top:max(24px, env(safe-area-inset-top));background:#080b16;min-height:100svh;position:relative}.web-home:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(#080b16a8,#080b16bf 55%,#080b16df),url(/art/expert-site-tunnel.svg);background-position:50%;background-size:cover;position:fixed;inset:0}.web-container{max-width:1280px;margin:auto}.web-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 32px;margin-bottom:24px;display:flex}.web-header nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.web-header nav button{color:var(--pink)}.account-link{border:1px solid var(--pink);border-radius:24px;place-items:center;min-width:100px;min-height:48px;padding:8px 20px;display:grid}.web-hero{isolation:isolate;background:url(/assets/backgrounds/legend-metropolis-v1.png) 75% 32.5%/cover;position:relative;overflow:hidden}.web-hero:before{content:"";z-index:-1;background:linear-gradient(90deg,#080b16fa,#111029ce 50%,#11102940);position:absolute;inset:0}.hero-frame{pointer-events:none;background:linear-gradient(128deg,#0000 64.8%,#f254c438 64.9%,#0000 65% 67%,#f254c438 67.1%,#0000 67.2% 69%,#f254c438 69.1%,#0000 69.2%);border:1px solid #303047;position:absolute;inset:0}.hero-frame:after{content:"";background:linear-gradient(90deg, var(--yellow) 28%, var(--pink) 28%);height:4px;position:absolute;bottom:1px;left:0;right:0}.hero-content{flex-direction:column;justify-content:center;align-items:flex-start;min-height:536px;padding:48px;display:flex}.hero-content>*{max-width:610px}.hero-eyebrow{letter-spacing:1.8px;color:var(--yellow);margin-bottom:24px;font-size:13px;font-weight:800}.hero-content h1{text-shadow:3px 2px var(--pink);margin-bottom:24px;font-size:78px;font-style:italic;line-height:.98}.hero-description{color:#d6d0e0;margin-bottom:28px;font-size:18px;line-height:1.5}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-actions .button{min-width:168px;min-height:52px}.hero-stats{letter-spacing:1.4px;color:var(--muted);margin-top:30px;font-size:12px}.home-section{margin-top:48px;scroll-margin-top:24px}.section-heading>span{color:var(--cyan);letter-spacing:2px;font-size:12px}.section-heading h2{margin:10px 0 8px;font-size:32px;font-style:italic}.section-heading p{color:var(--muted);font-size:16px}.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px;display:grid}.mode-card{background-color:#111322;background-image:linear-gradient(90deg, #0e1123f5 0%, #0e1123dc 35%, #0e112354 100%), var(--mode-art);border:1px solid #303047;border-top:3px solid var(--mode-accent);background-position:50%;background-size:cover;padding:24px}.mode-card:first-child{--mode-art:url(/art/modes/solo.svg)}.mode-card:nth-child(2){--mode-art:url(/art/modes/duel.svg)}.mode-card:nth-child(3){--mode-art:url(/art/modes/portal.svg)}.mode-top{color:var(--muted);letter-spacing:2px;flex-wrap:wrap;align-items:center;gap:16px;font-size:12px;display:flex}.mode-top .material-icon{color:var(--mode-accent)}.mode-top span:last-child:not(:nth-child(2)){color:var(--paper);letter-spacing:1.5px}.mode-card h3{color:var(--mode-accent);margin-top:22px;font-size:36px;font-style:italic}.mode-card h4{margin-top:4px;font-size:18px}.mode-card p{color:var(--muted);margin:14px 0 20px;font-size:16px;line-height:1.5}.mode-card .button{border-color:color-mix(in srgb, var(--mode-accent) 60%, transparent);min-width:140px}.together-banner{border-left:3px solid var(--pink);background-color:#19162f;background-image:linear-gradient(90deg,#221229f5 0%,#1b152edb 45%,#10172e38 100%),url(/art/modes/together.svg);background-position:100%;background-size:cover;margin-top:48px;padding:28px}.together-banner>p{color:var(--pink);letter-spacing:2px;font-size:12px;font-weight:800}.together-banner h2{margin:12px 0 10px;font-size:28px;font-style:italic}.together-banner>div{color:var(--muted);line-height:1.5}.world-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;margin-top:28px;display:grid}.web-footer{color:var(--muted);border-top:1px solid #303047;flex-wrap:wrap;gap:10px 24px;margin-top:48px;padding-top:24px;font-size:16px;display:flex}.web-footer strong{letter-spacing:2px;color:var(--paper);font-size:14px}.comic-panel{isolation:isolate;background-size:100% 100%;width:100%;height:100%;position:relative;overflow:hidden}.difficulty-card{aspect-ratio:1;box-shadow:5px 5px var(--accent);border:2px solid #f6e6cfbf}.difficulty-card.theme-legend{box-shadow:5px 5px var(--light)}.comic-content{flex-direction:column;justify-content:center;align-items:center;gap:clamp(8px,1.5vw,18px);height:100%;padding:16px;display:flex}.comic-art-text{flex-direction:column;flex-shrink:1;align-items:center;max-width:100%;min-height:0;display:flex}.comic-caption{background:var(--light);color:#171027;letter-spacing:.65px;text-align:center;max-width:100%;padding:5px 14px;font-size:13px;font-weight:800;display:inline-block;transform:rotate(-2deg)}.theme-easy .comic-caption{background:var(--yellow)}.comic-symbol{background:var(--accent);color:#171027;border:2px solid #f6e6cf;margin:20px 0 14px;padding:10px;display:flex;transform:rotate(4.58deg);box-shadow:5px 5px #64d8ce}.comic-panel h2{color:#f6e6cf;text-align:center;white-space:nowrap;max-width:100%;text-shadow:3px 2px var(--accent), -1px -1px #64d8ce;font-size:38px;font-style:italic;line-height:1.25}.comic-panel p{color:#f6e6cf;text-align:center;margin-top:8px;font-size:13px}.comic-action{background:var(--light);color:#171027;letter-spacing:1.8px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:13px 25px;font-size:14px;font-weight:800;display:inline-flex;transform:rotate(-1.43deg)}.theme-easy{--light:#64d8ce}.modal{color:var(--paper);background:#111322;border:1px solid #303047;border-radius:24px;max-width:min(560px,100vw - 32px);max-height:calc(100svh - 48px);padding:24px}.modal::backdrop{background:#0009}.modal-body h2{margin-bottom:16px;font-size:24px}.modal-body p{margin:16px 0;line-height:1.5}.modal-body>.button{float:right}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.account-screen{isolation:isolate;min-height:100svh;padding:40px;padding-top:max(40px, env(safe-area-inset-top));padding-bottom:max(40px, env(safe-area-inset-bottom));background-color:#0000;background-image:linear-gradient(135deg,#080b16e6,#131027ae 50%,#080b16ef),url(/assets/backgrounds/legend-metropolis-v1.png);background-position:0 0,70% 37.5%;background-repeat:repeat,repeat;background-size:auto,cover;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:relative}.account-container{max-width:1200px;margin:auto}.account-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.account-header .brand-name{letter-spacing:3px;gap:12px;font-size:23px}.account-header .brand-mark{width:36px;height:36px}.account-lines{z-index:-1;pointer-events:none;background:repeating-linear-gradient(125deg,#0000 0 190px,#f254c414 191px,#0000 192px 220px);position:absolute;inset:0}.account-workspace{justify-content:center;align-items:center;gap:64px;min-height:calc(100svh - 204px);margin-top:28px;display:flex}.account-story{flex:1;padding-right:12px}.story-tape{background:var(--yellow);color:#171027;letter-spacing:1.4px;padding:8px 14px;font-size:13px;font-weight:800;display:inline-block;transform:rotate(-2deg)}.account-story h1{text-shadow:3px 2px var(--pink);margin-top:32px;font-size:76px;font-style:italic;line-height:1.02}.account-story p{color:#d4cddf;margin-top:28px;font-size:20px;line-height:1.5}.story-rule{background:var(--cyan);width:44px;height:3px;margin:32px 0 14px}.account-story small{color:var(--cyan);letter-spacing:2px;font-size:12px}.account-card{isolation:isolate;box-shadow:5px 5px var(--pink);background:#101020;border:1px solid #f6e6cf4d;flex-shrink:0;width:440px;padding:28px;position:relative}.account-card:after{content:"";background:linear-gradient(90deg, var(--yellow) 60.5%, var(--cyan) 60.5%);width:43%;height:3px;position:absolute;bottom:0;left:0}.account-print{z-index:-1;position:absolute;inset:0;overflow:hidden}.account-print:before{content:"";clip-path:polygon(0 0,100% 0,100% 100%);background:#25192f;width:40%;height:130px;position:absolute;top:0;right:0}.account-print:after{content:"";background:radial-gradient(#f6e6cf17 .8px,#0000 .9px) 0 0/9px 9px;width:106px;height:84px;position:absolute;top:10px;right:6px}.account-caption{color:var(--cyan);letter-spacing:1.4px;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-bottom:28px;font-size:11px;display:flex}.account-caption strong{color:var(--yellow);letter-spacing:1.7px;font-size:12px}.account-card h2{text-shadow:2px 2px var(--pink);font-size:44px;font-style:italic;line-height:1.2}.account-subtitle{color:#bcb5cd;text-align:center;margin:14px 0 28px;font-size:18px;line-height:1.4}.auth-methods{flex-direction:column;gap:20px;display:flex}.method-button{background:#151426;border:2px solid #64d8ce99;border-radius:4px;justify-content:center;align-items:center;gap:16px;width:100%;min-height:64px;padding:16px 24px;font-size:22px;font-weight:800;line-height:1.15;display:flex}.method-button.google{color:#101018;background:#fff;border-color:#fff;font-style:italic}.primary-method{background:var(--yellow);color:#101018;border-color:var(--yellow);font-style:italic}.auth-toggle{text-align:center;color:#bcb5cd;width:100%;margin-top:28px;font-size:16px;text-decoration:underline;display:block}.email-form{flex-direction:column;gap:18px;display:flex}.email-form label{color:#bcb5cd;flex-direction:column;gap:6px;font-size:16px;display:flex}.email-form input{width:100%;color:var(--paper);background:#100d2636;border:1px solid #696079;border-radius:4px;min-height:60px;padding:18px 20px;font-size:18px}.password-field{display:flex;position:relative}.password-field input{padding-right:52px}.password-field button{place-items:center;padding:8px 12px;display:grid;position:absolute;top:2px;bottom:2px;right:2px}.email-form .method-button{margin-top:6px}.auth-error{color:#ffcdd7;text-align:center;margin-top:20px;font-size:16px;line-height:1.4}.auth-loading{text-align:center;color:var(--yellow);margin-top:20px}.email-confirmation,.account-signed-in{text-align:center}.email-confirmation>.material-icon{color:var(--yellow);margin-bottom:24px}.email-confirmation p{color:#bcb5cd;margin:18px 0 28px;font-size:18px;line-height:1.5}.account-signed-in p{color:var(--yellow);overflow-wrap:anywhere;margin:20px 0 32px;font-size:20px}.account-footer{text-align:center;color:#bcb5cd;letter-spacing:2px;margin-top:30px;font-size:12px}.game-loading,.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100svh;padding:24px;display:flex}.not-found h1{font-size:44px;font-style:italic}.game-screen{isolation:isolate;background:#160f24;min-height:100svh;position:relative}.game-backdrop{z-index:-1;background-image:var(--mobile-backdrop);pointer-events:none;background-position:50%;background-size:100% 100%;position:fixed;inset:0}.game-container{max-width:1160px;margin:auto;padding:32px 48px}.game-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;display:flex}.game-header .brand-name{letter-spacing:3px;gap:12px;font-size:20px}.game-header .brand-mark{background:var(--pink);width:32px;height:32px}.game-header .text-button{color:var(--pink);font-size:14px}.game-workspace{align-items:flex-start;gap:56px;margin-top:32px;display:flex}.desktop-intro{flex:1;min-width:0;padding-top:36px}.desktop-intro .story-tape{letter-spacing:1px;background:var(--light);padding:6px 12px;font-size:11px;transform:rotate(-2.86deg)}.theme-easy .desktop-intro .story-tape,.theme-medium .desktop-intro .story-tape{background:var(--yellow)}.desktop-intro h1{letter-spacing:-4px;color:#f6e6cf;-webkit-text-stroke:1px #171027;paint-order:stroke fill;text-shadow:4px 3px var(--pink);margin-top:30px;font-size:76px;font-style:italic;line-height:.95}.desktop-intro>p{color:#c4b5d4;margin-top:26px;font-size:17px;line-height:1.7}.intro-motto{letter-spacing:1.3px;color:var(--cyan);align-items:center;gap:12px;margin-top:36px;font-size:10px;display:flex}.intro-motto i{background:var(--pink);width:28px;height:3px}.desktop-intro h3{letter-spacing:1.5px;margin-top:52px;font-size:12px}.desktop-intro>p.instructions{margin-top:12px;font-size:15px}.desktop-intro small{color:#9583ac;margin-top:24px;font-size:11px;display:block}.mobile-intro{display:none}.play-panel{flex-shrink:0;width:454px;max-width:100%}.game-heading{align-items:center;gap:8px;min-height:48px;margin-bottom:4px;display:flex}.game-heading strong{color:var(--accent);letter-spacing:1.5px;margin-right:auto;font-size:11px}.theme-expert .game-heading strong,.theme-legend .game-heading strong{color:var(--light)}.game-clock{color:#f6e6cf;font-variant-numeric:tabular-nums;font-size:19px;font-weight:800}.game-heading button{color:#f6e6cf;place-items:center;width:48px;padding:12px;display:grid}.board-frame{border:2px solid var(--ink);width:100%;box-shadow:5px 6px var(--accent);margin:auto;position:relative;container-type:inline-size}.board-frame:before{content:"";padding-top:100%;display:block}.board-frame>.sudoku-grid,.board-frame>.comic-panel{position:absolute;inset:0}.theme-hard .board-frame,.theme-expert .board-frame,.theme-legend .board-frame{border-color:var(--light)}.sudoku-grid{grid-template-rows:repeat(9,minmax(0,1fr));grid-template-columns:repeat(9,minmax(0,1fr));width:100%;height:100%;display:grid}.sudoku-cell{border:0;border-right:.5px solid color-mix(in srgb, var(--ink) 18%, transparent);border-bottom:.5px solid color-mix(in srgb, var(--ink) 18%, transparent);background:var(--surface);min-width:0;min-height:0;color:var(--ink);isolation:isolate;touch-action:manipulation;border-radius:0;place-items:center;padding:0;font-size:min(24px,6cqw);line-height:1;display:grid;position:relative}.sudoku-cell.box-right{border-right:2px solid color-mix(in srgb, var(--ink) 90%, transparent)}.sudoku-cell.box-bottom{border-bottom:2px solid color-mix(in srgb, var(--ink) 90%, transparent)}.theme-hard .sudoku-cell,.theme-expert .sudoku-cell,.theme-legend .sudoku-cell{border-color:color-mix(in srgb, var(--light) 18%, transparent);color:var(--paper)}.theme-hard .box-right,.theme-expert .box-right,.theme-legend .box-right{border-right-color:color-mix(in srgb, var(--light) 90%, transparent)}.theme-hard .box-bottom,.theme-expert .box-bottom,.theme-legend .box-bottom{border-bottom-color:color-mix(in srgb, var(--light) 90%, transparent)}.sudoku-cell.peer{background:var(--peer)}.sudoku-cell.matching{background:var(--matching)}.sudoku-cell.wrong{color:#b32445;background:#f5b6bb}.sudoku-cell.editable{color:#713aa1;font-weight:500}.sudoku-cell.given{font-weight:800}.theme-hard .sudoku-cell.editable,.theme-expert .sudoku-cell.editable,.theme-legend .sudoku-cell.editable{color:var(--light)}.theme-hard .sudoku-cell.wrong,.theme-expert .sudoku-cell.wrong,.theme-legend .sudoku-cell.wrong{color:#ffb7db;background:#6d204f}.sudoku-cell.selected{background:var(--light)}.sudoku-cell.selected:focus-visible{outline:2px solid var(--ink);outline-offset:-3px;z-index:1}.theme-hard .sudoku-cell.selected,.theme-expert .sudoku-cell.selected,.theme-legend .sudoku-cell.selected{color:var(--ink)}.cell-notes{color:#714e8d;grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));width:100%;height:100%;padding:1px;font-size:min(11px,2.7cqw);font-weight:500;line-height:1.2;display:grid}.cell-notes>span{justify-content:center;align-items:center;min-width:0;min-height:0;display:flex}.sudoku-cell.selected .cell-notes{color:var(--ink)}.theme-hard .cell-notes,.theme-expert .cell-notes,.theme-legend .cell-notes{color:var(--light)}.cell-feedback{pointer-events:none;z-index:2;width:calc(100% - 2px);height:calc(100% - 2px);position:absolute;inset:1px}.game-status{margin-top:20px}.game-status>div:first-child{letter-spacing:1px;justify-content:space-between;gap:8px;font-size:11px;display:flex}.game-status span:first-child{color:var(--cyan)}.game-status span:last-child{color:#f6e6cf}.game-status span.has-errors{color:var(--pink)}.progress-track{background:#3c2b50;height:3px;margin-top:10px}.progress-track>div{background:var(--cyan);height:100%}.game-controls{border:1px solid var(--line);background:var(--panel);touch-action:none;overscroll-behavior:contain;border-radius:7px;margin-top:18px;padding:8px 12px 15px;box-shadow:3px 4px #171027}.control-tools{gap:0;display:flex}.control-tools>button{color:#f6e6cf;border-radius:4px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;min-width:48px;min-height:58px;padding:7px 2px;display:flex}.control-tools>button>span:last-child{letter-spacing:.3px;font-size:12px}.control-tools .hint>.material-icon{color:var(--yellow)}.theme-hard .control-tools .hint>.material-icon,.theme-expert .control-tools .hint>.material-icon,.theme-legend .control-tools .hint>.material-icon{color:var(--accent)}.control-tools>button.active{background:var(--light);color:var(--ink)}.theme-easy .control-tools>button.active{background:var(--yellow)}.pad-heading{border-top:1px solid #493153;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;margin-bottom:12px;padding-top:12px;display:flex}.pad-heading strong{letter-spacing:1.2px;color:#f6e6cf;border-left:3px solid var(--accent);padding-left:7px;font-size:11px;line-height:12px}.theme-easy .pad-heading strong{border-left-color:var(--yellow)}.pad-heading>span{letter-spacing:1px;color:var(--cyan);font-size:10px}.number-pad{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px 7px;display:grid;container-type:inline-size}.number-key{touch-action:none;border:0;min-width:0;min-height:54px;padding:0;transition:opacity .1s;display:block;position:relative}.key-face{width:100%;height:100%;min-height:54px;color:var(--ink);pointer-events:none;text-shadow:.7px .6px #dda4c4;background-color:#f6e6cf;background-size:100% 100%;border:1px solid #d4bea7;border-radius:4px;justify-content:center;align-items:center;font-size:29px;font-weight:800;line-height:1;transition:transform 60ms cubic-bezier(.33,1,.68,1),box-shadow 60ms;display:flex;box-shadow:2px 3px #78627b}.number-key:active .key-face,.number-key.pressed .key-face{transition-duration:30ms;transform:translateY(2.5px)scale(.965);box-shadow:0 0 #78627b}.number-key.active .key-face{background-color:var(--light);border-color:var(--light);box-shadow:2px 3px #26766e}.number-key.completed{opacity:.38}.number-key:disabled{opacity:1}.number-key:disabled .key-face{color:#9988a7;text-shadow:none;background-color:#3d3049}.number-key.utility-key .key-face{color:#f6e6cf;text-shadow:none;background:#392748;border-color:#765a88;flex-direction:column;gap:3px;display:flex}.utility-key .key-face>span:last-child{letter-spacing:.2px;font-size:10px;font-weight:500}.theme-hard .key-face,.theme-expert .key-face,.theme-legend .key-face{color:var(--paper);border-color:color-mix(in srgb, var(--violet) 65%, transparent);text-shadow:none;background-color:#193769}.theme-expert .key-face{background-color:#4a1529;box-shadow:2px 3px #570c32}.theme-hard .number-key.active .key-face,.theme-expert .number-key.active .key-face,.theme-legend .number-key.active .key-face{background-color:var(--light);color:var(--ink)}.theme-hard .utility-key .key-face,.theme-expert .utility-key .key-face,.theme-legend .utility-key .key-face{border-color:var(--violet);background:#193769}.theme-medium .key-face{color:#171027;text-shadow:none;background-color:#e7e7e7;border-color:#969696;border-radius:2px;box-shadow:2px 3px #494949}.theme-medium .number-key.active .key-face,.theme-medium .utility-key .key-face{color:#fff;background:#202020}.theme-medium .control-tools>button{background:#202020;border:.6px solid #535353;border-radius:2px}.theme-medium .control-tools>button.active{color:#171027;background:#f6e6cf}.game-footer{letter-spacing:1.4px;color:#9583ac;border-top:1px solid #382a4d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:32px;padding-top:10px;font-size:10px;display:flex}.game-footer>button{color:var(--cyan);letter-spacing:0;font-size:11px}.save-warning{color:var(--yellow);margin-top:12px;font-size:14px}.finale{z-index:10;isolation:isolate;background:var(--ink);position:fixed;inset:0;overflow:auto}.finale-background{z-index:-1;opacity:.42;background-size:cover;position:absolute;inset:0}.finale-canvas{pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.finale-result{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100%;padding:72px 24px 32px;animation:.42s cubic-bezier(.2,1.6,.5,1) title-land;display:flex;position:relative}.finale-result>small{letter-spacing:2px;color:var(--final-secondary);font-size:11px}.finale-result h1{color:var(--highlight);text-shadow:4px 4px var(--accent), -2px -1px var(--final-secondary);font-size:clamp(48px,13vw,72px);font-style:italic;line-height:1.2;transform:rotate(-3.72deg)}.theme-medium .finale-result h1{text-shadow:-1.5px -1.5px #000,1.5px -1.5px #000,-1.5px 1.5px #000,1.5px 1.5px #000,3px 3px #4b4b4b}.finale-result p{color:#f6e6cf;margin-top:4px;font-size:16px}.finale-result .button{border-radius:24px;min-width:180px}.finale-result .primary{background:var(--highlight);padding:20px 28px;font-weight:800}.finale-skip{right:20px;top:max(20px, env(safe-area-inset-top));color:#f6e6cf;z-index:2;position:fixed}.share-screen{width:100%;max-width:none;height:100%;max-height:none;color:var(--paper);z-index:20;background:var(--ink);padding:16px 20px max(16px, env(safe-area-inset-bottom));border:0;flex-direction:column;align-items:center;gap:16px;margin:0;display:flex;position:fixed;inset:0;overflow:auto}.share-header{align-items:center;gap:12px;width:100%;font-size:20px;display:flex}.share-art{flex:1;justify-content:center;width:100%;min-height:0;display:flex}.share-art canvas{aspect-ratio:9/16;object-fit:contain;width:auto;max-width:100%;height:100%;display:block}.share-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.share-actions .button{border-radius:24px;min-width:140px}.share-status{text-align:center;min-height:18px;font-size:14px}.share-screen .primary{background:var(--highlight);color:#171027}@keyframes title-land{0%{transform:scale(.78)}to{transform:scale(1)}}@media (min-width:960px){.game-backdrop{background-image:var(--desktop-backdrop)}}@media (max-width:1175px){.world-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-grid{grid-template-columns:1fr}}@media (min-width:1176px){.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:999px){.account-story{display:none}.account-card{width:min(470px,100%)}.account-workspace{gap:0}}@media (max-width:959px){.game-container{padding:8px 18px}.game-workspace{flex-direction:column;align-items:center;gap:8px;margin-top:8px;display:flex}.desktop-intro{display:none}.mobile-intro{background-size:100% 100%;border:1px solid #f254c466;width:100%;max-width:454px;padding:8px 12px;display:block;box-shadow:3px 3px #171027}.mobile-intro .comic-caption{letter-spacing:.55px;padding:4px 7px;font-size:12px;transform:rotate(-1.15deg)}.mobile-intro h1{text-shadow:2px 2px var(--accent), -1px -1px #64d8ce;color:#f6e6cf;white-space:nowrap;margin-top:8px;font-size:28px;font-style:italic;line-height:1;transform:rotate(-1.43deg)}.mobile-intro p{color:#f6e6cf;margin-top:8px;font-size:12px}.board-frame{width:min(100%,clamp(252px,100svh - 480px,454px))}.game-status{margin-top:10px}.game-controls{margin-top:10px;padding:2px 12px 8px}.control-tools>button{gap:3px;min-height:48px;padding:6px 2px}.pad-heading{margin-top:5px;margin-bottom:6px;padding-top:5px}.game-footer{margin-top:32px}}@media (max-width:745px){.web-home{padding-left:20px;padding-right:20px}.world-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:795px){.hero-content{min-height:488px;padding:24px}.hero-content h1{font-size:46px}}@media (max-width:599px){.account-screen{padding:20px;padding-top:max(20px, env(safe-area-inset-top))}.account-workspace{min-height:calc(100svh - 164px)}}@media (max-width:359px){.comic-panel h2{font-size:clamp(21px,9vw,38px)}.comic-caption{padding:5px 8px;font-size:12px}.comic-symbol{margin-top:14px;margin-bottom:10px}.comic-content{gap:8px}.comic-panel p{font-size:12px}.account-card{padding:24px}.account-card h2{font-size:38px}}@media (min-width:640px) and (max-width:959px) and (max-aspect-ratio:4/3){.game-workspace{gap:8px}}@media (min-width:640px) and (max-width:959px) and (min-aspect-ratio:13/10){.mobile-intro{display:none}.play-panel{width:100%;padding-top:0;position:relative}.board-layout{align-items:flex-start;gap:20px;display:flex}.board-frame{flex-shrink:0;width:min(48%,clamp(216px,100svh - 76px,454px));margin:0}.game-side{flex-direction:column;flex:1;display:flex}.game-status{order:2}.game-controls{margin-top:0}.game-heading{margin-left:calc(48% + 20px)}.board-frame{margin-top:-52px}.pad-heading{display:none}.number-pad{margin-top:6px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important}.finale-result{animation:none}.number-key:active .key-face,.number-key.pressed .key-face{transform:translateY(.7px)scale(.992)}}.print-definitions{pointer-events:none;position:absolute}.hero-frame,.account-lines{background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.theme-medium .game-backdrop,.theme-medium .game-container,.comic-panel.theme-medium{filter:url(#noir-print)}.theme-medium .game-container{--ink:#171027;--paper:#f6e6cf;--light:#64d8ce;--accent:#f254c4;--surface:#f6e6cf;--peer:#e9d8c8;--matching:#e6bde4;--line:#513960;--panel:#241831}.theme-medium .comic-caption{background:#f1bb3c}.theme-medium .comic-symbol{background:#f254c4}.theme-medium.comic-panel h2{text-shadow:3px 2px #f254c4,-1px -1px #64d8ce}.theme-medium .comic-action{background:#64d8ce;font-size:14px}.theme-medium .game-heading strong{color:#f254c4}.theme-medium .sudoku-cell.selected{background:#64d8ce}.theme-medium .game-controls{background:#241831}.theme-medium .control-tools>button.active{background:#f6e6cf}.web-header nav,.account-link,.button,.web-footer{font-size:14px}.hero-frame:after{display:none}.theme-medium .game-container .comic-panel{filter:none}.difficulty-card.theme-medium{--accent:#f254c4;--light:#64d8ce;box-shadow:5px 5px #777}.theme-medium .mobile-intro .comic-caption{background:#f1bb3c}.theme-medium .mobile-intro h1{text-shadow:2px 2px #f254c4,-1px -1px #64d8ce}.game-header{justify-content:flex-start}.game-screen{background:#171027}.mobile-intro p{display:none}.game-screen,.comic-panel{letter-spacing:.6px}.sudoku-cell,.cell-notes,.key-face{letter-spacing:0}.control-tools>button{font-weight:500}.game-header .text-button{letter-spacing:1px;font-weight:500}.number-key .key-face{font-weight:800}.mobile-intro h1{text-shadow:2.5px 2px var(--accent), -1px -1px #64d8ce}.comic-group-fit{flex:none;width:100%;position:relative}.comic-art-text{transform-origin:top;width:100%;position:relative}.comic-content{gap:18px}.comic-art-text h2{white-space:nowrap;max-width:none}.comic-art-text{overflow:visible}.theme-hard .number-key:disabled .key-face,.theme-expert .number-key:disabled .key-face,.theme-legend .number-key:disabled .key-face{background-color:var(--ink);color:#91a4bf}@media (min-width:1360px){.game-container{max-width:1680px}.game-workspace{grid-template-rows:48px auto auto;grid-template-columns:minmax(0,1fr) 454px 454px;gap:4px 24px;display:grid}.desktop-intro{grid-area:1/1/4;align-self:start}.play-panel,.board-layout,.game-side{display:contents}.game-heading{grid-area:1/2;margin:0}.board-frame{grid-area:2/2}.game-status{grid-area:3/2}.game-controls{grid-area:2/3;align-self:start;margin-top:0}}.auth-method-help{color:var(--muted);text-align:center;font-size:14px;line-height:1.5}.auth-email-status{color:var(--muted);margin-bottom:20px;font-size:16px;line-height:1.5}.email-confirmation>a.method-button{display:block}.account-screen:has(.email-form){--account-inset:clamp(12px, 2svh, 24px);padding-top:max(var(--account-inset), env(safe-area-inset-top));padding-bottom:max(var(--account-inset), env(safe-area-inset-bottom))}.account-screen:has(.email-form) .account-container{min-height:calc(100svh - max(var(--account-inset), env(safe-area-inset-top)) - max(var(--account-inset), env(safe-area-inset-bottom)));flex-direction:column;gap:16px;display:flex}.account-screen:has(.email-form) .account-workspace{flex:1;min-height:0;margin-top:0}.account-screen:has(.email-form) .account-card{padding:22px}.account-screen:has(.email-form) .account-caption{margin-bottom:16px}.account-screen:has(.email-form) .account-card h2{font-size:36px}.account-screen:has(.email-form) .account-subtitle{margin:8px 0 16px;font-size:16px}.account-screen:has(.email-form) .email-form{gap:10px}.account-screen:has(.email-form) .email-form label{gap:4px;font-size:15px}.account-screen:has(.email-form) .email-form input{min-height:48px;padding:12px 14px;line-height:1.2}.account-screen:has(.email-form) .password-field input{padding-right:52px}.account-screen:has(.email-form) .method-button{min-height:48px;padding:10px 20px;font-size:20px}.account-screen:has(.email-form) .email-form .method-button{margin-top:0}.account-screen:has(.email-form) .auth-toggle{min-height:48px;margin-top:8px;font-size:15px}.account-screen:has(.email-form) .email-form .auth-toggle{margin-top:0;padding:4px 8px}.account-screen:has(.email-form) .account-footer{margin-top:0}@media (max-height:700px){.account-screen:has(.email-form) .account-container{gap:8px}:is(.account-screen:has(.email-form) .account-story,.account-screen:has(.email-form) .account-footer){display:none}.account-screen:has(.email-form) .account-card{padding:16px}.account-screen:has(.email-form) .account-caption{margin-bottom:12px}.account-screen:has(.email-form) .account-card h2{font-size:32px}.account-screen:has(.email-form) .account-subtitle{margin-bottom:12px}.account-screen:has(.email-form) .auth-toggle{margin-top:0}}@media (max-width:959px){.game-container{padding:max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left))}.game-workspace{gap:6px;margin-top:6px}.game-header .brand-name{letter-spacing:2px;font-size:19px}.game-header .text-button{padding-inline:10px}.mobile-intro{padding:6px 10px}.mobile-intro .comic-caption{padding:3px 6px;font-size:11px}.mobile-intro h1{white-space:normal;margin-top:5px;font-size:clamp(24px,6.5vw,28px)}.mobile-intro p{display:none}.board-frame{width:min(100%,clamp(270px,100svh - 370px,454px))}.game-status{margin-top:8px}.progress-track{margin-top:6px}.game-controls{margin-top:8px;padding:4px 8px 10px}.control-tools>button{gap:3px;min-height:48px;padding:4px 2px}.pad-heading{margin-top:4px;margin-bottom:6px;padding-top:6px}.number-pad{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px 6px}.number-key,.key-face{min-height:50px}.key-face{font-size:27px}.game-footer{margin-top:16px}.game-header,.play-panel,.game-side{min-width:0}}@media (max-width:639px) and (max-height:740px){.mobile-intro{display:none}.board-frame{width:min(100%,clamp(270px,100svh - 360px,454px))}}@media (max-width:745px){.web-home{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.web-header{gap:12px;margin-bottom:16px}.web-header nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.web-header nav>*{min-width:0;min-height:48px;padding-inline:6px}.hero-content{min-height:0;padding:28px 20px}.hero-eyebrow{letter-spacing:1.2px;margin-bottom:20px;font-size:12px}.hero-content h1{margin-bottom:20px;font-size:clamp(36px,10vw,58px)}.hero-description{margin-bottom:22px;font-size:17px}.hero-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.hero-actions .button{gap:5px;min-width:0;padding:10px 8px;font-size:14px}.hero-actions .material-icon{font-size:20px!important}.hero-stats{letter-spacing:.8px;margin-top:24px;font-size:11px}.home-section,.together-banner{margin-top:32px}.mode-card{padding:22px}.mode-card p{font-size:17px}.together-banner{padding:24px 20px}.together-banner h2{font-size:26px}.together-banner>div{font-size:17px}.web-footer{gap:12px;line-height:1.5}}@media (max-width:599px){.account-screen{padding-inline:max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-right));padding-block:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-bottom));background-attachment:scroll}.account-container{min-height:calc(100dvh - max(12px, env(safe-area-inset-top)) - max(16px, env(safe-area-inset-bottom)));flex-direction:column;gap:16px;display:flex}.account-workspace{flex:1;min-height:0;margin-top:0}.account-card{min-width:0;padding:20px}.account-caption{gap:8px;margin-bottom:18px}.account-caption strong{font-size:11px}.account-card h2{font-size:clamp(30px,8.5vw,38px)}.account-subtitle{margin:10px 0 20px;font-size:17px}.auth-methods{gap:12px}.method-button{gap:10px;min-height:52px;padding:12px;font-size:20px}.auth-toggle{margin-top:16px;padding-inline:4px}.auth-method-help{font-size:14px}.account-footer{margin-top:0}.account-screen:has(.email-form) .account-container{min-height:calc(100dvh - max(var(--account-inset), env(safe-area-inset-top)) - max(var(--account-inset), env(safe-area-inset-bottom)))}.email-form input{scroll-margin-block:80px;font-size:18px}.account-screen:has(.email-form) .account-card{padding:18px}.modal{width:calc(100% - 24px);max-width:560px;max-height:calc(100dvh - max(24px, env(safe-area-inset-top)) - max(24px, env(safe-area-inset-bottom)));overflow-wrap:anywhere;border-radius:12px;padding:20px}.modal-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.modal-actions .button{min-width:0;padding-inline:12px}.share-screen{padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));gap:10px}.share-header{gap:8px;font-size:18px}.share-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.share-actions .button{min-width:0;padding-inline:10px}.finale-result{padding-inline:16px;padding-bottom:max(24px, env(safe-area-inset-bottom))}}@media (max-width:599px) and (max-height:700px){.account-footer{display:none}.account-caption{margin-bottom:12px}.account-subtitle{margin-bottom:16px}}@media (min-width:640px) and (max-width:959px) and (min-aspect-ratio:13/10){.play-panel{grid-template-columns:minmax(216px,min(42vw,100svh - 80px)) minmax(0,1fr);gap:4px 16px;display:grid}.board-layout{display:contents}.game-heading{grid-column:2;margin:0}.board-frame{grid-area:1/1/3;width:100%;margin:0}.game-side{grid-column:2;min-width:0}.game-controls{margin-top:0}.game-footer{margin-top:12px}}.modal{overscroll-behavior:contain;scrollbar-gutter:stable}@media (hover:none){button,a{touch-action:manipulation}.game-controls,.number-key{touch-action:none}}@media (min-width:600px) and (max-width:745px){.world-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.share-screen:not([open]){display:none}@media (max-width:959px) and (min-aspect-ratio:13/10){.share-screen{padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr) minmax(260px,1fr);gap:12px 24px;display:grid}.share-art{grid-area:1/1/4;height:100%}.share-header{grid-column:2}.share-actions{grid-column:2;grid-template-columns:1fr;align-self:center;display:grid}.share-status{grid-column:2}}@media (pointer:coarse) and (min-width:960px) and (max-width:1359px){.game-container{padding:max(16px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left))}.desktop-intro{display:none}.game-workspace{margin-top:16px}.play-panel{grid-template-columns:1fr 1fr;gap:4px 24px;width:100%;display:grid}.board-layout{display:contents}.game-heading{grid-column:2;margin:0}.board-frame{grid-area:1/1/3;align-self:start;max-width:454px}.game-side{grid-column:2;min-width:0}.game-controls{margin-top:0}}
