:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-pixel:"Press Start 2P", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--bg:#141817;--panel:#202725;--panel-strong:#2b3431;--text:#eef4f0;--muted:#a5b3ad;--line:#43504b;--grid-line:#93a39b;--focus:#66c3ba;--danger:#ff7a86;--empty-cell:#0a0a0c;--cell-size:46px;--clue-size:36px;--board-gap:0px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/press-start-2p-latin.woff2)format("woff2")}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button,select,textarea,.button-link,.toolbar-link,.footer-link,.footer-nav-link,.support-link{font:inherit}option{font-size:1.125rem;line-height:1.35}button,select,.button-link{border:1px solid var(--line);background:var(--panel);min-height:44px;color:var(--text);border-radius:7px;font-size:1.125rem;line-height:1.25}select{min-width:128px;padding:0 34px 0 12px;font-size:.98rem}button{cursor:pointer}.button-link{text-align:center;place-items:center;padding:0 12px;text-decoration:none;display:inline-grid}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,select:focus-visible,.button-link:focus-visible,.toolbar-link:focus-visible,.footer-link:focus-visible,.footer-nav-link:focus-visible,.support-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.app-shell{width:min(480px,100%);margin:0 auto;padding:18px}.game-layout,.toolbar,.button-row{gap:12px;display:flex}.topbar{margin-bottom:10px}h1,p{margin:0}h1{font-family:var(--font-pixel);font-size:1.25rem;font-weight:400;line-height:1}.brand-mark{color:var(--text);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:.8rem;font-weight:800}.topbar p,.selected-copy,.board-status span{color:var(--muted)}.mode-heading{grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;width:100%;display:grid}.mode-heading .brand-mark{grid-column:1;justify-self:start;min-width:0}.mode-heading h1{white-space:nowrap;grid-column:2;justify-self:center}.mode-heading p{text-align:right;white-space:nowrap;grid-column:3;justify-self:end;min-width:0;font-size:.8rem}.daily-topbar{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding-bottom:14px;display:grid}.daily-topbar .mode-heading{grid-column:1/-1}.daily-topbar .daily-streak-summary{grid-column:1;justify-self:start}.daily-topbar .toolbar{grid-column:2;justify-self:end}.training-topbar{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px;display:grid}.training-topbar .toolbar{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;display:grid}.training-topbar .toolbar .toolbar-control{width:100%;min-width:0}.timer-value,.result-time-value{font-family:var(--font-pixel);font-size:.82em;font-weight:400;line-height:1.25}.toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}.daily-streak-summary{border:1px solid var(--line);background:var(--panel-strong);border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:0 10px;display:flex}.daily-streak-summary span{color:var(--muted);font-size:.78rem;font-weight:800}.daily-streak-summary strong{font-family:var(--font-pixel);color:var(--text);font-size:1.2rem;font-weight:400;line-height:1}.toolbar-link,.footer-link,.footer-nav-link,.support-link{color:var(--muted);font-weight:800;text-decoration:none}.toolbar-link{white-space:nowrap;place-items:center;min-height:44px;padding:0 4px;display:inline-grid}.footer-link{text-underline-offset:4px;place-items:center;min-height:30px;padding:0 2px;font-size:.85rem;text-decoration:underline;display:inline-grid}.footer-nav-link{text-underline-offset:4px;place-items:center;min-height:34px;font-size:.92rem;text-decoration:underline;display:inline-grid}.support-link{text-underline-offset:4px;justify-self:start;place-items:center;min-height:34px;font-size:.88rem;text-decoration:underline;display:inline-grid}.toolbar-control{border:1px solid var(--line);background:var(--panel);min-height:44px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;font-weight:800;line-height:1;display:inline-flex}.toolbar-select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 16px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;min-width:96px;padding:0 34px 0 12px;font-size:.95rem}.toolbar-button{min-width:72px;padding:0 12px}.icon-button{border:1px solid var(--line);background:var(--panel);width:44px;min-width:44px;min-height:44px;color:var(--text);border-radius:8px;place-items:center;padding:0;display:grid}.icon-button .toolbar-icon{width:16px;height:16px}.toolbar-icon{shape-rendering:crispedges;fill:currentColor;stroke:none;display:block}.toolbar-icon rect{fill:currentColor;stroke:none}.language-select{min-width:72px}.app-footer{color:var(--muted);justify-items:start;gap:10px;margin-top:30px;display:grid}.footer-action,.footer-meta{flex-wrap:wrap;align-items:center;display:flex}.footer-action{gap:8px}.footer-meta{gap:6px}.footer-meta .footer-link{align-items:center;min-height:24px;padding:0;font-size:.78rem;display:inline-flex}.footer-meta .footer-link+.footer-link:before{color:color-mix(in srgb, var(--muted) 60%, transparent);content:"·";margin-right:6px;line-height:1;display:inline-block}.app-footer .language-select{min-width:68px;min-height:30px;padding:0 20px 0 8px;font-size:.78rem}.legal-page{gap:16px;display:grid}.legal-page-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.legal-content{max-width:100%;color:var(--text);overflow-wrap:anywhere;gap:12px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.98rem;line-height:1.58;display:grid}.legal-content h1,.legal-content h2,.legal-content h3,.legal-content h4,.legal-content p,.legal-content ul{margin:0}.legal-content h1{font-family:var(--font-pixel);font-size:clamp(1rem,8vw,1.35rem);font-weight:400;line-height:1.35}.legal-content h2{margin-top:10px;font-size:1.16rem;line-height:1.3}.legal-content h3{margin-top:4px;font-size:1rem;line-height:1.35}.legal-content h4{color:var(--muted);font-size:.95rem;line-height:1.35}.legal-content ul{padding-left:1.25rem}.legal-content a{color:var(--focus);overflow-wrap:anywhere}.game-layout{gap:8px;display:block;position:relative}.game-play{gap:12px;width:100%;min-width:0;display:grid}.game-play.is-paused{visibility:hidden}.board-column{flex:auto;min-width:0}.board-status{justify-content:space-between;align-items:start;gap:8px;margin-bottom:4px;font-size:.9rem;display:flex}.board-status span{text-align:right;overflow-wrap:anywhere}.daily-countdown-banner{border:1px solid var(--line);background:var(--panel-strong);border-radius:7px;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;padding:7px 8px;font-size:.88rem;display:flex}.daily-countdown-banner span{color:var(--muted);font-size:.82rem}.daily-countdown-banner strong{text-align:right;font-size:.95rem}.board-wrap{padding:4px 0 8px;overflow-x:hidden}.board-rule-hint{border:1px solid color-mix(in srgb, var(--danger) 28%, var(--line));background:color-mix(in srgb, var(--danger) 8%, var(--panel));color:var(--danger);border-radius:7px;margin-top:4px;padding:8px 10px}.grenz-board{gap:var(--board-gap);touch-action:none;-webkit-user-select:none;user-select:none;place-items:stretch stretch;width:max-content;display:grid}.grenz-board.grid-w-3{--cell-size:calc((min(444px, 100vw - 36px) - var(--clue-size)) / 3)}.grenz-board.grid-w-4{--cell-size:calc((min(444px, 100vw - 36px) - var(--clue-size)) / 4)}.grenz-board.grid-w-5{--cell-size:calc((min(444px, 100vw - 36px) - var(--clue-size)) / 5)}.grenz-board.grid-w-6{--cell-size:calc((min(444px, 100vw - 36px) - var(--clue-size)) / 6)}.grenz-board.grid-w-7{--cell-size:calc((min(444px, 100vw - 36px) - var(--clue-size)) / 7)}.grenz-board.grid-w-8{--cell-size:calc((min(444px, 100vw - 36px) - var(--clue-size)) / 8)}.grenz-board.grid-w-9{--cell-size:calc((min(444px, 100vw - 36px) - var(--clue-size)) / 9)}.grenz-board .line-clue{font-family:var(--font-pixel);font-size:clamp(.72rem, calc(var(--cell-size) * .24), .9rem);font-weight:400;line-height:1}.grenz-board.is-paused{filter:blur(4px);pointer-events:none}.pause-overlay{z-index:4;border:1px solid var(--line);background:#141817fa;border-radius:8px;align-content:center;place-items:center;gap:12px;padding:20px;display:grid;position:absolute;inset:0}.pause-overlay strong{font-family:var(--font-pixel);font-size:1.05rem;font-weight:400}.pause-overlay button{min-width:140px}.board-row-fragment{display:contents}.corner-spacer,.line-clue{min-width:var(--clue-size);min-height:var(--clue-size);color:var(--muted);place-items:center;font-weight:800;display:grid}.line-clue{background:var(--panel-strong);border:1px solid var(--line);border-radius:6px}.grid-cell{width:var(--cell-size);height:var(--cell-size);border:0 solid var(--grid-line);background:var(--empty-cell);color:var(--text);border-radius:0;place-items:center;display:grid;position:relative;overflow:hidden;container-type:inline-size}.grid-cell.empty:after{content:"";pointer-events:none;border:1px solid #eef4f029;position:absolute;inset:7px}.grid-cell.assigned,.grid-cell.anchor{background:var(--region-color);color:var(--region-text)}.grid-cell.selected{outline:3px solid var(--focus);outline-offset:-3px}.grid-cell.wrong{outline:3px solid var(--danger);outline-offset:-3px}.anchor-label,.region-label{font-family:var(--font-pixel);letter-spacing:0;font-weight:400;line-height:1}.anchor-label{font-size:clamp(.55rem, calc(var(--cell-size) * .25), .84rem);letter-spacing:.15em;white-space:nowrap;justify-content:center;align-items:baseline;gap:0;display:inline-flex}.anchor-letter,.anchor-size{font-size:1em}.region-label{font-size:clamp(.6rem, calc(var(--cell-size) * .19), .76rem);opacity:.94}.colorsym-cell-content{color:var(--region-text);pointer-events:none;position:absolute;inset:0}.colorsym-cell-label{max-width:58%;font-family:var(--font-pixel);font-size:clamp(.82rem, calc(var(--cell-size) * .34), 1.18rem);white-space:nowrap;line-height:.9;display:inline-block;position:absolute;bottom:2px;left:2px}.colorsym-cell-label.long{font-size:clamp(.72rem, calc(var(--cell-size) * .28), 1rem)}.colorsym-cell-symbol{width:clamp(24px, calc(var(--cell-size) * .58), 34px);height:clamp(24px, calc(var(--cell-size) * .58), 34px);position:absolute;top:2px;right:2px}.grid-cell.colorsym .colorsym-cell-label{letter-spacing:0}.grid-cell.colorsym.anchor .colorsym-cell-label{max-width:54%;font-size:clamp(.72rem, calc(var(--cell-size) * .29), 1.02rem)}.grid-cell.colorsym.anchor .colorsym-cell-label.long{font-size:clamp(.66rem, calc(var(--cell-size) * .25), .92rem)}@container (width<=32px){.anchor-label.long .anchor-letter{font-size:.55em}.grid-cell.colorsym .colorsym-cell-label{max-width:56%;font-size:clamp(.7rem, calc(var(--cell-size) * .31), .94rem);bottom:2px;left:2px}.grid-cell.colorsym .colorsym-cell-label.long,.grid-cell.colorsym.anchor .colorsym-cell-label,.grid-cell.colorsym.anchor .colorsym-cell-label.long{font-size:clamp(.62rem, calc(var(--cell-size) * .23), .82rem)}.grid-cell.colorsym .colorsym-cell-symbol{width:clamp(20px, calc(var(--cell-size) * .54), 28px);height:clamp(20px, calc(var(--cell-size) * .54), 28px);top:2px;right:2px}}.side-panel,.modal,.loading-board{background:var(--panel);border:1px solid var(--line);border-radius:8px}.side-panel{gap:8px;width:100%;padding:10px;display:grid}.region-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.region-chip{border-color:color-mix(in srgb, var(--region-color) 55%, var(--line));grid-template-columns:auto 1fr;align-items:center;gap:4px;min-width:0;min-height:34px;padding:4px 6px;display:grid}.region-chip span{background:var(--region-color);width:22px;height:22px;color:var(--region-text);border-radius:5px;place-items:center;font-weight:900;display:grid}.region-chip small{color:var(--muted);text-align:right;font-size:.78rem}.region-chip.active{outline:3px solid var(--focus);outline-offset:0}.button-row{flex-wrap:wrap;gap:0}.button-row button,.wide{flex:1}.secondary{color:var(--muted)}.toggle{align-items:center;gap:8px;display:flex}.selected-copy{font-size:.78rem}textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:112px;color:var(--text);background:0 0;border-radius:7px;padding:10px}.share-panel{border-top:1px solid var(--line);gap:8px;padding-top:10px;display:grid}.share-panel div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.share-panel span{color:var(--muted);font-size:.82rem}.share-panel pre{border:1px solid var(--line);background:var(--panel-strong);color:var(--text);white-space:pre;border-radius:7px;margin:0;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem;line-height:1.45;overflow-x:auto}.share-actions{flex-wrap:wrap;gap:8px;display:flex}.share-actions .wide{flex:1}.daily-result{border-top:1px solid var(--line);gap:10px;padding-top:10px;display:grid}.daily-result dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.daily-result div{min-width:0}@media (width>=380px){.daily-result dl{flex-wrap:nowrap;justify-content:space-between;align-items:start;display:flex}.daily-result div{flex:0 auto}}.daily-result dt{color:var(--muted);font-size:.72rem}.daily-result dd{margin:0;font-weight:900}.loading-board{width:min(100%,420px);min-height:320px;color:var(--muted);place-items:center;gap:10px;display:grid}.loading-board strong{color:var(--text)}.loading-progress{background:color-mix(in srgb, var(--focus) 18%, var(--panel-strong));border-radius:999px;width:min(220px,70%);height:6px;position:relative;overflow:hidden}.loading-progress span{border-radius:inherit;background:var(--focus);width:42%;animation:1.15s ease-in-out infinite loading-progress;position:absolute;inset:0 auto 0 0}@keyframes loading-progress{0%{transform:translate(-110%)}50%{transform:translate(82%)}to{transform:translate(250%)}}.modal-backdrop{background:color-mix(in srgb, var(--bg) 96%, black);z-index:10;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.popup-backdrop{z-index:12;pointer-events:none;background:#00000038;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{gap:14px;width:min(520px,100%);padding:18px;display:grid}.modal h2{margin:0}.modal h3{margin:0 0 8px;font-size:.95rem}.help-modal{max-height:calc(100vh - 40px);overflow:auto}.help-modal section{gap:8px;display:grid}.help-example{border:1px solid var(--line);background:var(--panel-strong);border-radius:8px;grid-template-rows:repeat(3,40px);grid-template-columns:repeat(3,40px);gap:4px;width:max-content;padding:8px;display:grid}.help-example-cell{color:var(--region-text);font-family:var(--font-pixel);place-items:center;font-size:.62rem;line-height:1;display:grid;position:relative;overflow:hidden}.tutorial-cell.colorsym .colorsym-cell-label,.help-example-cell.colorsym .colorsym-cell-label{max-width:58%;font-size:.7rem;bottom:2px;left:2px}.tutorial-cell.colorsym .colorsym-cell-label.long,.help-example-cell.colorsym .colorsym-cell-label.long{font-size:.6rem}.tutorial-cell.colorsym .colorsym-cell-symbol,.help-example-cell.colorsym .colorsym-cell-symbol{width:22px;height:22px;top:2px;right:2px}.help-example-cell.start{outline:2px solid var(--focus);outline-offset:-2px}.help-caption{color:var(--muted);font-size:.86rem}.help-credit{color:var(--muted);font-size:.8rem}.result-popup{border:1px solid var(--line);background:var(--panel);pointer-events:auto;border-radius:8px;gap:10px;width:min(420px,100%);padding:16px;display:grid;box-shadow:0 18px 48px #0003}.result-popup.won{border-color:var(--focus)}.result-popup.lost{border-color:var(--danger)}.result-popup h2,.result-popup p{margin:0}.result-popup h2{font-size:1.2rem}.result-popup p{color:var(--muted)}.tutorial-board{grid-template-rows:repeat(3,50px);grid-template-columns:repeat(3,50px);gap:5px;width:max-content;display:grid}.tutorial-board.compact{grid-template-rows:repeat(3,42px);grid-template-columns:repeat(3,42px)}.tutorial-example{grid-template-rows:34px repeat(3,50px);grid-template-columns:34px repeat(3,50px);gap:5px;width:max-content;display:grid}.tutorial-connection-pair{flex-wrap:wrap;gap:14px;display:flex}.tutorial-connection-example{justify-items:center;gap:7px;display:grid}.invalid-board-wrap{position:relative}.strike-mark{color:var(--danger);text-shadow:0 2px 10px #00000073;place-items:center;font-size:5rem;font-weight:900;line-height:1;display:grid;position:absolute;inset:0}.diagonal-invalid-mark{border:3px solid var(--danger);background:linear-gradient(45deg, transparent 42%, var(--danger) 42%, var(--danger) 58%, transparent 58%);border-radius:999px;width:18px;height:18px;position:absolute;top:39px;left:39px;box-shadow:0 0 0 3px #00000059}.tutorial-caption{font-size:.86rem;font-weight:800}.tutorial-caption.valid{color:var(--focus)}.tutorial-caption.invalid{color:var(--danger)}.tutorial-cell{border:1px solid #eef4f02e;border-radius:0;place-items:center;font-weight:900;display:grid;position:relative;overflow:hidden}.tutorial-cell.assigned,.tutorial-cell.anchor{background:var(--region-color);color:var(--region-text)}.tutorial-cell.target{border-color:var(--focus);background:var(--panel-strong);border-style:dashed}.tutorial-cell.invalid-region{background:color-mix(in srgb, var(--danger) 62%, black)}.tutorial-cell.line-focus,.line-clue.clue-focus{outline:3px solid var(--focus);outline-offset:-3px}.tutorial-cell.boundary-left{box-shadow:inset 4px 0 0 var(--focus)}.rule-list{color:var(--text);margin:0;padding-left:1.25rem}.rule-list li+li{margin-top:6px}.tutorial-hint-copy,.tutorial-ok,.tutorial-error,.paint-message{color:var(--muted);font-size:.9rem}.tutorial-ok{color:var(--focus);font-weight:800}.tutorial-error,.paint-message{color:var(--danger);font-weight:800}.legend-grid{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:8px 10px;display:grid}.legend-symbol{border:1px solid var(--line);border-radius:6px;place-items:center;width:34px;height:30px;font-weight:900;display:grid}.anchor-symbol,.paint-symbol{color:#fff;background:#3b6ea8}.clue-symbol{background:var(--panel-strong);color:var(--text)}.modal-actions{justify-content:flex-end;gap:8px;display:flex}
