:root,[data-theme=shoreline]{--page-bg: #eaf2f2;--ui-text: #1f3a40;--ui-dim: rgba(31, 58, 64, .6);--board-bg: #cfe0df;--border: #9fbcbb;--tile-face: #ffffff;--tile-hot: #e7f6c0;--tile-mid: #ddeae6;--tile-spent: #bcd0cf;--used1-border: #b05656;--spent-border: #4d5a5c;--cell-text: #1f3a40;--bonus-dl: #4fb0c6;--bonus-tl: #f2a65a;--bonus-dw: #e2654f;--accent: #2b8aa0;--good: #2fa37a;--bad: #e2654f;--chip-bg: rgba(0, 0, 0, .06);--stack-bg: rgba(0, 0, 0, .05)}[data-theme=dusk]{--page-bg: #211f12;--ui-text: #f2f0d8;--ui-dim: rgba(242, 240, 216, .6);--board-bg: #524d24;--border: #39361b;--tile-face: #dbe09e;--tile-hot: #fff7c8;--tile-mid: #c2c785;--tile-spent: #9aa06a;--used1-border: #b0563e;--spent-border: #15140c;--cell-text: #211f12;--bonus-dl: #ebd138;--bonus-tl: #ed852e;--bonus-dw: #e6473d;--accent: #ebd138;--good: #6fcf6f;--bad: #e6473d;--chip-bg: rgba(255, 255, 255, .08);--stack-bg: rgba(0, 0, 0, .25)}[data-theme=sunny]{--page-bg: #fdf3dc;--ui-text: #4a3a18;--ui-dim: rgba(74, 58, 24, .6);--board-bg: #ecd9a8;--border: #cbb074;--tile-face: #ffffff;--tile-hot: #fff0b0;--tile-mid: #f3e9cb;--tile-spent: #d8c596;--used1-border: #a64b3c;--spent-border: #5c5236;--cell-text: #3a2f12;--bonus-dl: #f4c430;--bonus-tl: #f0892a;--bonus-dw: #e8584a;--accent: #e8584a;--good: #3aa655;--bad: #e8584a;--chip-bg: rgba(0, 0, 0, .07);--stack-bg: rgba(0, 0, 0, .06)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--page-bg);color:var(--ui-text);font-family:ui-rounded,Quicksand,Segoe UI,system-ui,sans-serif;-webkit-user-select:none;user-select:none;transition:background .2s,color .2s}#app{max-width:560px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 12px env(safe-area-inset-bottom)}#topbar{display:flex;align-items:flex-start;justify-content:space-between;padding:10px 4px 0;position:relative;z-index:2;pointer-events:none}#topbar button{pointer-events:auto}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px}#title{font-size:26px;font-weight:700;letter-spacing:1px;margin:0}#title span{color:var(--accent);font-weight:600}.puzzle-no{font-size:12px;color:var(--ui-dim);font-weight:700}.brand-links{display:flex;align-items:center;gap:0;margin-left:-5px}.brand-links .dot{color:var(--ui-dim);font-size:12px}#howto-btn,#share-top,#archive-btn{background:transparent;color:var(--ui-dim);padding:4px 5px;font-size:12px}#scoreboard{display:flex;gap:16px}.stat{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.stat .label{font-size:10px;text-transform:uppercase;opacity:.6;letter-spacing:.5px}.stat span:last-child{font-size:20px;font-weight:700}#score{color:var(--accent)}#board-wrap{display:flex;justify-content:center;padding:0;margin-top:-34px;pointer-events:none}#board{width:100%;height:auto;max-height:52vh;touch-action:manipulation;pointer-events:none}.hex{stroke:var(--border);stroke-width:1.5;cursor:pointer;transition:fill .08s;pointer-events:auto}.hex.empty{fill:var(--board-bg)}.hex.dl{fill:var(--bonus-dl)}.hex.tl{fill:var(--bonus-tl)}.hex.dw{fill:var(--bonus-dw)}.hex.filled{fill:var(--tile-face)}.hex.anchor{fill:var(--tile-face);stroke:var(--bonus-tl);stroke-width:3}.hex.tentative{fill:var(--tile-hot);stroke:var(--bonus-tl);stroke-width:2.5}.hex.used1{fill:var(--tile-mid);stroke:var(--used1-border);stroke-width:3}.hex.exhausted{fill:var(--tile-spent);stroke:var(--spent-border);stroke-width:5}.cell-letter.dim{opacity:.45}.hex.inpath{stroke:var(--bonus-dl);stroke-width:4}.hex.placeable{stroke:var(--good);stroke-width:3;stroke-dasharray:4 3}.cell-letter{fill:var(--cell-text);font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}.cell-sub{fill:var(--cell-text);opacity:.65;text-anchor:middle;dominant-baseline:central;pointer-events:none}.bonus-label{font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}.path-order{fill:var(--accent);font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}#message{text-align:center;min-height:18px;font-size:13px;font-weight:700;color:var(--accent);opacity:0;transition:opacity .15s}#message.show{opacity:1}#current{text-align:center;min-height:24px;font-size:20px;font-weight:700;letter-spacing:2px}#current.valid{color:var(--good)}#current.invalid{color:var(--bad)}#history{display:flex;flex-wrap:wrap;gap:6px;padding:2px 4px;justify-content:center}.word-chip{font-size:12px;padding:2px 8px;border-radius:10px;background:var(--chip-bg)}.word-chip b{color:var(--accent)}#stack{min-height:46px;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;padding:4px 6px;margin:2px 4px 0;border-radius:10px;background:var(--stack-bg)}.stack-hint{font-size:12px;opacity:.5}.stack-chip{width:34px;height:38px;border-radius:7px;background:var(--bonus-dl);color:var(--cell-text);display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:700;cursor:pointer}.stack-chip.blank{color:#211f1273}#tray-wrap{padding:6px 0 10px}#tray{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;min-height:52px}.tile{width:42px;height:46px;border-radius:8px;background:var(--tile-face);color:var(--cell-text);display:flex;align-items:center;justify-content:center;position:relative;font-size:22px;font-weight:700;cursor:pointer;box-shadow:0 2px #00000059}.tile.blank{color:#211f1266}.tile.committed{opacity:.4}.tile.used{opacity:.16;pointer-events:none}.tile .pts{position:absolute;right:4px;bottom:2px;font-size:10px;font-weight:700;opacity:.7}.tile.bag{background:transparent;border:2px dashed var(--border);box-shadow:none;color:var(--ui-dim);font-size:15px;cursor:default}#actions{display:flex;gap:8px;justify-content:center;margin-top:10px;flex-wrap:wrap}button{font-family:inherit;font-weight:700;font-size:15px;border:none;border-radius:10px;padding:10px 20px;color:var(--ui-text);background:var(--bonus-dw);cursor:pointer}#submit{background:var(--good);color:#11240f}button.secondary{background:var(--border)}button:active{transform:translateY(1px)}.modal{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:20px;z-index:10}.modal[hidden]{display:none}.modal-card{background:var(--page-bg);color:var(--ui-text);border:2px solid var(--border);border-radius:16px;padding:22px 26px;max-width:340px;width:100%;text-align:center;box-shadow:0 12px 40px #0006}.modal-card h2{margin:0 0 2px;font-size:22px}.modal-actions{display:flex;gap:8px;justify-content:center;margin:12px 0 4px}.ov-sub{font-size:12px;color:var(--ui-dim);min-height:16px}#howto-overlay .modal-card{max-width:430px}#howto-text{font-size:15px;line-height:1.6;text-align:left;margin:12px 0 4px}#howto-close{background:var(--good);color:#11240f}#archive-list{max-height:46vh;overflow-y:auto;margin:12px 0 4px;display:flex;flex-direction:column;gap:4px}.archive-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:var(--chip-bg);color:var(--ui-text);text-decoration:none;font-size:14px;font-weight:700}.archive-row.active{outline:2px solid var(--accent)}.arch-date{color:var(--ui-dim);font-weight:400}.arch-score{margin-left:auto;color:var(--accent)}#picker-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:12px 0 2px}.picker-letter{padding:9px 0;font-size:17px;background:var(--tile-face);color:var(--cell-text);border:1px solid var(--border);border-radius:8px}#ov-stats{display:flex;justify-content:center;gap:28px;margin:14px 0 10px}#ov-stats .stat{align-items:center}#ov-score{color:var(--accent)}#ov-grid{font-family:inherit;font-size:14px;line-height:1.25;margin:10px 0;user-select:text;-webkit-user-select:text}#ov-share{background:var(--good);color:#11240f}#ov-social{display:flex;gap:10px;justify-content:center;margin:2px 0 10px}.icon-btn{width:40px;height:40px;padding:0;border-radius:50%;background:var(--chip-bg);color:var(--ui-text);display:flex;align-items:center;justify-content:center}#ov-countdown{font-weight:700}
