:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090e1a;--panel:#111a2b;--panel-raised:#151f32;--line:#28364c;--text:#f5f7fd;--muted:#9eaec6;--soft:#73849e;--accent:#ffbd63;--accent-secondary:#f28b58;--mint:#5ad7bf;--danger:#ff828a;--shadow:0 16px 60px #03081460;--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse 900px 460px at 8% -15%, #29354c5e, transparent 70%), radial-gradient(ellipse 800px 540px at 100% 6%, #3323194a, transparent 73%), var(--bg);min-height:100vh;color:var(--text);margin:0;font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-shell{width:min(100%,1220px);padding:max(28px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) calc(30px + env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));margin:0 auto}.skip-link{z-index:10;top:calc(env(safe-area-inset-top) + 8px);left:calc(env(safe-area-inset-left) + 12px);border:1px solid var(--line);background:var(--panel-raised);min-width:44px;min-height:44px;color:var(--text);border-radius:12px;justify-content:center;align-items:center;padding:0 14px;font-weight:750;text-decoration:none;display:inline-flex;position:fixed;transform:translateY(calc(-100% - 12px))}.skip-link:focus-visible{transform:translateY(0)}.site-shell:focus{outline:none}.topbar,.brand,.hero,.section-heading,.footer{justify-content:space-between;align-items:center;display:flex}.topbar{min-height:48px;margin-bottom:clamp(56px,10vw,112px)}.brand{letter-spacing:-.045em;justify-content:flex-start;gap:11px;min-width:44px;min-height:44px;font-size:19px;font-weight:850;text-decoration:none}.brand-mark{grid-template-columns:repeat(2,9px);gap:3px;display:grid;transform:rotate(-12deg)}.brand-mark span{background:var(--accent);border-radius:3px;width:9px;height:9px}.brand-mark span:nth-child(2){background:var(--mint)}.brand-mark span:nth-child(3){background:#f38e78}.brand-mark span:nth-child(4){background:#b58bff}.version-tag,.section-note{color:var(--muted);font-size:12px}.version-tag{border:1px solid var(--line);border-radius:999px;padding:7px 12px}.hero{align-items:center;gap:clamp(32px,7vw,92px);margin-bottom:clamp(76px,11vw,132px)}.hero-copy{max-width:730px}.eyebrow,.card-label{color:var(--mint);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}h1{letter-spacing:-.065em;max-width:760px;margin:15px 0 18px;font-size:clamp(38px,6.2vw,70px);font-weight:850;line-height:1.04}h1 em{color:var(--accent);font-style:normal}.hero-description{max-width:610px;color:var(--muted);margin:0;font-size:16px}.text-link{min-height:44px;color:var(--accent);align-items:center;gap:8px;margin-top:23px;font-size:13px;font-weight:750;text-decoration:none;display:inline-flex}.text-link span{font-size:18px}.install-note{max-width:560px;color:var(--soft);margin:8px 0 0;font-size:12px}.foundation-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(155deg, #172135, var(--panel) 76%);box-shadow:var(--shadow);flex:0 0 min(300px,33%);padding:22px}.card-label{color:var(--soft)}.stack-list{gap:14px;margin:20px 0;padding:0;font-size:13px;font-weight:700;list-style:none;display:grid}.stack-list li{align-items:center;gap:10px;display:flex}.status-dot{background:var(--mint);border-radius:50%;flex:0 0 8px;width:8px;height:8px;box-shadow:0 0 15px #5ad7bf75}.card-footnote{border-top:1px solid var(--line);color:var(--muted);margin:0;padding-top:15px;font-size:12px}.image-intake{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(145deg,#151f32,#101827 78%);gap:20px;margin-bottom:clamp(76px,11vw,132px);padding:clamp(20px,4vw,32px);display:grid}.image-intake-heading{grid-template-columns:minmax(0,1fr) minmax(220px,.72fr);align-items:end;gap:24px;display:grid}.image-intake-heading h2{letter-spacing:-.04em;margin:7px 0 0;font-size:clamp(22px,3vw,30px)}.image-intake-description,.image-privacy-note{color:var(--muted);margin:0;font-size:13px}.image-intake-actions{flex-wrap:wrap;gap:12px;display:flex}.image-action,.image-remove{cursor:pointer;min-width:44px;min-height:48px;font:inherit;text-align:center;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;padding:0 20px;font-size:14px;font-weight:800;transition:background-color .14s,border-color .14s,transform .14s;display:inline-flex}.image-action:hover,.image-remove:hover{transform:translateY(-1px)}.image-action:focus-visible,.image-remove:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.image-action-primary{background:var(--accent);color:#15100a}.image-action-primary:hover{background:#ffcf8b}.image-action-secondary{border-color:var(--line);color:var(--text);background:#1a2639}.image-action-secondary:hover,.image-remove:hover{background:#202e43;border-color:#53657f}.image-file-input{display:none}.image-intake-error{color:var(--danger);margin:0;font-size:13px;font-weight:700}.image-preview{gap:12px;padding-top:4px;display:grid}.image-preview-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.image-preview-heading h3{margin:0;font-size:15px}.image-preview-name{max-width:100%;color:var(--muted);overflow-wrap:anywhere;margin:3px 0 0;font-size:12px}.image-remove{border-color:var(--line);min-height:44px;color:var(--text);background:0 0;padding:0 14px;font-size:12px}.board-detection{gap:12px;min-width:0;display:grid}.board-detection-status{min-height:22px;color:var(--muted);margin:0;font-size:12px}.board-image-stage{border:1px solid var(--line);touch-action:none;background:#090e1a;border-radius:14px;width:fit-content;max-width:100%;margin-inline:auto;line-height:0;position:relative;overflow:visible}.board-detection-image{object-fit:contain;border-radius:13px;width:auto;max-width:100%;height:auto;max-height:min(58vh,440px);display:block}.board-detection-overlay{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.board-detection-overlay [data-testid=board-cell]{fill:#5ad7bf12;stroke:#5ad7bfaa;stroke-width:2px;vector-effect:non-scaling-stroke}.board-detection-outline{fill:#ffbd6310;stroke:var(--accent);stroke-width:3px;stroke-dasharray:12 7;vector-effect:non-scaling-stroke}.board-crop-handle{z-index:1;background:var(--accent-secondary);cursor:move;touch-action:none;border:3px solid #fff;border-radius:50%;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 12px #000a}.board-crop-handle:after{content:"";border:2px solid #1a1020;border-radius:50%;position:absolute;inset:10px}.board-crop-handle:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.board-detection-confidence{color:var(--soft);margin:0;font-size:12px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.image-privacy-note{color:var(--soft);font-size:12px}.ocr-review{border:1px solid var(--line);background:#0c1422;border-radius:16px;gap:14px;min-width:0;margin-top:8px;padding:clamp(16px,3vw,24px);display:grid}.ocr-review-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.ocr-review-heading h3{letter-spacing:-.035em;margin:6px 0 0;font-size:clamp(18px,2.6vw,23px)}.ocr-model-version{color:var(--soft);overflow-wrap:anywhere;margin:0;font-size:11px}.ocr-review-status,.ocr-review-help{color:var(--muted);margin:0;font-size:12px}.ocr-review-status{min-height:19px}.ocr-tile-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.ocr-tile{border:1px solid var(--line);background:var(--panel);border-radius:12px;align-content:start;justify-items:stretch;gap:6px;min-width:0;padding:8px;display:grid}.ocr-tile-review-required{background:#211b1a;border-color:#a7763d}.ocr-tile label{color:var(--soft);font-size:10px;font-weight:750}.ocr-tile input{border:1px solid var(--line);width:100%;min-width:44px;min-height:48px;color:var(--text);font:inherit;letter-spacing:.03em;text-align:center;text-transform:uppercase;background:#080d17;border-radius:9px;padding:4px;font-size:clamp(19px,4vw,26px);font-weight:850}.ocr-tile input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ocr-tile input[aria-invalid=true]{border-color:var(--danger)}.ocr-tile-state{color:var(--soft);font-size:10px}.ocr-candidates{flex-wrap:wrap;gap:4px;display:flex}.ocr-candidate{width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text);cursor:pointer;font:inherit;background:#1a2639;border:1px solid #42536b;border-radius:9px;place-items:center;padding:0;font-size:13px;font-weight:850;display:inline-grid}.ocr-candidate:hover{border-color:var(--accent);background:#26354b}.ocr-candidate:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ocr-tile-error{color:var(--danger);margin:0;font-size:10px;line-height:1.35}.ocr-tile[data-path-order]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);position:relative}.ocr-path-order{z-index:1;background:var(--accent);color:#15100a;border:1px solid #15100a;border-radius:50%;place-items:center;width:23px;height:23px;font-size:11px;font-weight:900;line-height:1;display:grid;position:absolute;top:5px;right:5px}.solve-results{border:1px solid var(--line);background:#0c1422;border-radius:16px;gap:14px;min-width:0;margin-top:8px;padding:clamp(16px,3vw,24px);display:grid}.solve-results-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.solve-results-heading h3{letter-spacing:-.035em;margin:6px 0 0;font-size:clamp(18px,2.6vw,23px)}.solve-mode-field{gap:5px;min-width:min(190px,42%);display:grid}.solve-mode-field label,.solve-add-word>label{color:var(--muted);font-size:12px;font-weight:750}.solve-mode-field select,.solve-add-word input{border:1px solid var(--line);background:var(--panel-raised);width:100%;min-width:0;min-height:48px;color:var(--text);font:inherit;border-radius:10px;padding:0 12px}.solve-mode-field select:focus-visible,.solve-add-word input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.solve-results-help,.solve-results-status,.solve-results-summary{color:var(--muted);margin:0;font-size:12px}.solve-submit{width:100%}.solve-submit:disabled,.solve-add-word button:disabled{opacity:.58;cursor:not-allowed}.local-backup-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:10px;padding:12px 0;display:grid}.local-backup-panel summary{min-height:44px;color:var(--text);cursor:pointer;align-content:center;font-size:13px;font-weight:800}.local-backup-panel summary:focus-visible,.local-backup-import:focus-within{outline:2px solid var(--accent);outline-offset:3px}.local-backup-actions{flex-wrap:wrap;gap:8px;display:flex}.local-backup-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.local-backup-count{color:var(--muted);margin:0;font-size:11px}.solve-word-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.solve-word-result{border:1px solid var(--line);background:var(--panel);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;padding:8px;display:grid}.solve-word-result-selected{border-color:var(--accent);background:#241d16}.solve-word-select{min-width:0;min-height:56px;color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-content:center;gap:2px;padding:5px 8px;display:grid}.solve-word-select:hover{background:#ffffff08}.solve-word-select:focus-visible,.solve-review-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.solve-word-main{flex-wrap:wrap;align-items:baseline;gap:9px;display:flex}.solve-word-text{letter-spacing:.025em;font-size:clamp(17px,3.4vw,21px);font-weight:850}.solve-word-score{color:var(--accent);font-size:12px;font-weight:850}.solve-word-meta{color:var(--muted);overflow-wrap:anywhere;font-size:11px}.solve-word-review{align-items:center;gap:4px;display:flex}.solve-review-button{border:1px solid var(--line);min-width:44px;min-height:44px;color:var(--text);cursor:pointer;font:inherit;background:#1a2639;border-radius:8px;padding:0 8px;font-size:10px;font-weight:750}.solve-review-button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:#46351f}.personal-word-library{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:grid}.personal-word-library h4{margin:0;font-size:14px}.personal-word-library ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.personal-word-library li{border:1px solid var(--line);background:var(--panel);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px;display:flex}.personal-word-library li>span{overflow-wrap:anywhere;min-width:0}.personal-word-library li small{color:var(--muted)}.personal-word-library .image-action{flex:none;min-height:44px;padding-inline:12px;font-size:11px}.solve-add-word{border-top:1px solid var(--line);gap:7px;padding-top:12px;display:grid}.solve-add-word-controls{grid-template-columns:minmax(0,1fr) minmax(150px,auto);gap:8px;display:grid}.solve-add-word input{text-transform:uppercase}.solve-add-word button{min-width:44px;min-height:48px;padding-inline:12px}.section-heading{align-items:end;gap:18px;margin-bottom:21px}.section-heading h2{letter-spacing:-.04em;margin:7px 0 0;font-size:clamp(22px,3vw,30px)}.section-note{padding-bottom:5px}.rule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.rule-card{border:1px solid var(--line);background:#111a2bba;border-radius:16px;min-height:174px;padding:20px}.rule-index{color:var(--accent);letter-spacing:.12em;font-size:11px;font-weight:850}.rule-card h3{letter-spacing:-.02em;margin:15px 0 6px;font-size:15px}.rule-card p{color:var(--muted);margin:0;font-size:13px}.footer{border-top:1px solid var(--line);color:var(--soft);gap:16px;margin-top:58px;padding-top:17px;font-size:11px}@media (max-width:760px){.site-shell{width:100%;max-width:576px;padding-top:max(18px, env(safe-area-inset-top));padding-right:max(18px, env(safe-area-inset-right));padding-bottom:calc(30px + env(safe-area-inset-bottom));padding-left:max(18px, env(safe-area-inset-left))}.topbar{margin-bottom:62px}.hero{flex-direction:column;align-items:stretch;gap:28px;margin-bottom:76px}.image-intake{gap:17px;margin-bottom:76px}.image-intake-heading{grid-template-columns:1fr;gap:10px}.image-intake-actions{grid-template-columns:1fr;display:grid}.image-action{width:100%}.image-preview-heading{flex-direction:column;align-items:flex-start}.image-remove{width:100%}.ocr-review-heading{flex-direction:column;align-items:flex-start;gap:3px}.ocr-tile-grid{gap:6px}.ocr-tile{padding:6px}.solve-results-heading{flex-direction:column;align-items:stretch}.solve-mode-field{width:100%;min-width:0}.solve-add-word-controls{grid-template-columns:1fr}.solve-add-word button{width:100%}.local-backup-actions{grid-template-columns:1fr;display:grid}.personal-word-library li{flex-direction:column;align-items:stretch}.personal-word-library .image-action{width:100%}.board-crop-handle{width:48px;min-width:48px;height:48px;min-height:48px}.foundation-card{flex-basis:auto}.section-heading{flex-direction:column;align-items:flex-start}.rule-grid{grid-template-columns:1fr}.rule-card{min-height:0}.footer{flex-direction:column;align-items:flex-start;gap:4px;margin-top:42px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}.image-action,.image-remove{transition:none}}
