:root{color-scheme:light dark;--bg: #fbfbfa;--cell-bg: #e7eae8;--tray-bg: #f3f5f4;--tray-border: #d0d5d3;--rule: #dde1df;--die-bg: #ffffff;--die-border: #9aa09c;--die-text: #16181a;--die-state-text: #ffffff;--die-fragment-text: #241a06;--die-shadow: rgba(20, 26, 24, .12);--die-drag-shadow: rgba(20, 26, 24, .28);--die-valid: #2f8f63;--die-invalid: #8b9096;--die-fragment: #d99035;--die-disconnected: #cf4b3c;--text-muted: #4a5158;--text-subtle: #767d85;--text-faint: #949ba2;--text: #16181a;--dialog-bg: #ffffff;--dialog-shadow: rgba(20, 26, 24, .2);--dialog-backdrop: rgba(20, 26, 24, .45);--share-preview-bg: #f0f3f1;--btn-primary-bg: #2f8f63;--btn-primary-bg-hover: #277a54;--btn-primary-text: #ffffff;--btn-bg: #ffffff;--btn-bg-hover: #eef1ef;--btn-border: #c3c9c6;--btn-text: #16181a;--tweet-bg: #000;--tweet-text: #fff;--tweet-bg-hover: #333}@media(prefers-color-scheme:dark){:root{--bg: #14161a;--cell-bg: #1f232a;--tray-bg: #1a1e24;--tray-border: #363c45;--rule: #2b3038;--die-bg: #59616b;--die-border: #6e7883;--die-text: #f2f4f6;--die-state-text: #ffffff;--die-shadow: rgba(0, 0, 0, .5);--die-drag-shadow: rgba(0, 0, 0, .6);--die-valid: #2e7d58;--die-invalid: #3d4247;--die-fragment: #a97e2b;--die-disconnected: #ff8a72;--text-muted: #aeb5bd;--text-subtle: #8d949c;--text-faint: #737a82;--text: #e3e7ea;--dialog-bg: #1b1f25;--dialog-shadow: rgba(0, 0, 0, .6);--dialog-backdrop: rgba(0, 0, 0, .7);--share-preview-bg: #22272e;--btn-primary-bg: #2e7d58;--btn-primary-bg-hover: #266a4a;--btn-primary-text: #ffffff;--btn-bg: #262b32;--btn-bg-hover: #313841;--btn-border: #444b54;--btn-text: #e3e7ea;--tweet-bg: #e3e7ea;--tweet-text: #14161a;--tweet-bg-hover: #c6ccd1}}body{background-color:var(--bg);color:var(--text);margin:0;padding:0 0 24px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}h1{color:var(--text);font-size:clamp(1.5em,6vw,2.1em);font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0}#title{display:flex;justify-content:center;align-self:center;border-bottom:1px solid var(--rule);padding:12px 0;margin-bottom:10px}#game-container{display:flex;flex-direction:column;align-items:center}#board{display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(10,1fr);gap:2px;width:min(95vw,500px);aspect-ratio:1;margin-bottom:10px;user-select:none;-webkit-user-select:none}#game-controls{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:14px}.cell{background-color:var(--cell-bg);border-radius:clamp(2px,.8vw,5px);display:flex;align-items:center;justify-content:center;overflow:hidden;user-select:none;-webkit-user-select:none}#letters{width:min(95vw,500px);min-height:52px;border:2px dashed var(--tray-border);border-radius:8px;background-color:var(--tray-bg);display:flex;flex-wrap:wrap;gap:4px;padding:4px;align-items:center;justify-content:center;box-sizing:border-box}.die{background-color:var(--die-bg);color:var(--die-text);border:1px solid var(--die-border);border-radius:4px;box-sizing:border-box;width:clamp(36px,8vw,48px);height:clamp(36px,8vw,48px);font-size:clamp(1.1em,3.5vw,1.6em);font-weight:700;flex-shrink:0;user-select:none;display:flex;align-items:center;justify-content:center}.cell .die{width:100%;height:100%;font-size:clamp(.9em,3vw,1.5em);cursor:grab;user-select:none;box-shadow:0 1px 2px var(--die-shadow)}.die:active{cursor:grabbing}.btn{background-color:var(--btn-bg);color:var(--btn-text);border:1px solid var(--btn-border);border-radius:6px;padding:12px 32px;font-family:inherit;font-size:.85em;font-weight:700;letter-spacing:.06em;text-align:center;text-transform:uppercase;cursor:pointer;transition:background-color .15s ease}.btn:hover{background-color:var(--btn-bg-hover)}.btn-primary{background-color:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.btn-primary:hover{background-color:var(--btn-primary-bg-hover);border-color:var(--btn-primary-bg-hover)}.how-to-play{text-align:center;margin:8px auto;max-width:520px}.how-to-play summary{cursor:pointer;color:var(--text-faint);font-size:.85em;list-style:none}.how-to-play summary::-webkit-details-marker{display:none}.how-to-play p{text-align:left;color:var(--text-muted);font-size:.9em;line-height:1.5;margin:8px 16px}.how-to-play-content ul{text-align:left;color:var(--text-muted);font-size:.9em;line-height:1.8;margin:4px 16px;padding-left:20px}.how-to-play-note{font-size:.82em!important;color:var(--text-faint)!important;font-style:italic}#win-dialog{border:1px solid var(--rule);border-radius:8px;padding:28px 32px;max-width:360px;text-align:center;box-shadow:0 8px 32px var(--dialog-shadow);font-family:inherit;background:var(--dialog-bg);color:var(--text)}#win-dialog::backdrop{background:var(--dialog-backdrop)}#win-dialog h2{margin:0 0 16px;font-size:1.4em;font-weight:700;letter-spacing:.08em;text-transform:uppercase}#win-stats{display:flex;justify-content:center;gap:16px;margin:0 0 16px}#win-stats .stat{display:flex;flex-direction:column;align-items:center}#win-stats .stat-value{font-size:1.4em;font-weight:700}#win-stats .stat-label{font-size:.75em;color:var(--text-subtle);text-transform:uppercase}#share-preview{background:var(--share-preview-bg);padding:12px;border-radius:8px;font-size:1.1em;line-height:1.3;text-align:center;margin:0 auto 16px;display:inline-block}.dialog-buttons{display:flex;gap:8px;justify-content:center}.dialog-buttons button,.dialog-buttons a{padding:10px 18px;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:.9em;font-family:inherit;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:6px}#copy-share{background:var(--btn-primary-bg);color:var(--btn-primary-text)}#copy-share:hover{background:var(--btn-primary-bg-hover)}#tweet-share{background:var(--tweet-bg);color:var(--tweet-text)}#tweet-share:hover{background:var(--tweet-bg-hover)}#close-dialog{background:var(--btn-bg);color:var(--btn-text);border-color:var(--btn-border)}#close-dialog:hover{background:var(--btn-bg-hover)}#timer{font-family:SF Mono,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;color:var(--text-subtle);text-align:center;font-size:1.2em;margin:6px 0}#win-time{color:var(--text-muted);font-size:1.1em;margin:0 0 12px}#next-puzzle-countdown{color:var(--text-faint);font-size:.85em;margin:0 0 12px}#reset:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.die-valid,.die-invalid,.die-fragment{color:var(--die-state-text);border-color:transparent}.die-valid{background-color:var(--die-valid)}.die-invalid{background-color:var(--die-invalid)}.die-fragment{background-color:var(--die-fragment);color:var(--die-fragment-text)}.die-disconnected{outline:2px dashed var(--die-disconnected);outline-offset:-2px}.die-dragging{opacity:.9;box-shadow:0 4px 16px var(--die-drag-shadow);position:relative;touch-action:none}.die{touch-action:none}
