:root{font-family:Inter,Helvetica Neue,Arial,sans-serif;color:#554944;background:#fcf8f6;font-synthesis:none;color-scheme:light;--ink:#554944;--muted:#8b7b74;--hairline:rgba(107,81,65,.12)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overscroll-behavior:none}body{overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,canvas:focus-visible{outline:2px solid #a184b8;outline-offset:5px}button:disabled{opacity:.35;cursor:default}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{transition:background .2s,opacity .2s,transform .2s}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}#experience{position:relative;width:100%;height:100%;height:100dvh;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#fffdfa,#fdf8f5 55%,#f8eef0)}#scene{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab;outline-offset:-6px;user-select:none;-webkit-user-select:none}#scene.dragging{cursor:grabbing}#scene.over-piece{cursor:crosshair}.chrome{transition:opacity .3s,visibility .3s}.header{position:absolute;top:calc(33px + env(safe-area-inset-top));left:clamp(24px,4.2vw,68px);right:clamp(24px,4.2vw,68px);display:flex;align-items:center;justify-content:space-between;pointer-events:none;gap:20px}.wordmark{font-weight:500;font-size:19px;letter-spacing:-.75px;white-space:nowrap}.edition{font-weight:400;display:inline-block;margin-left:15px;font-size:12px;letter-spacing:.07em;color:#a1928b;vertical-align:2px}.header-actions{display:flex;gap:17px;align-items:center;pointer-events:auto}.move-meter{display:flex;gap:7px;align-items:baseline;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.move-meter #move-count{font-size:15px;color:var(--ink)}.header-divider{height:18px;width:1px;background:var(--hairline);margin:0 2px}.icon-button,.help-button{border:0;background:transparent;display:grid;place-items:center;width:40px;height:40px;border-radius:50%}.icon-button:hover,.help-button:hover{background:#805a4e0f}.help-button{font-size:14px;border:1px solid rgba(117,85,72,.22);width:25px;height:25px}.help-button:before{content:"";position:absolute;width:44px;height:44px}.footer{position:absolute;bottom:calc(36px + env(safe-area-inset-bottom));left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:22px;pointer-events:none}.hint{font-size:12px;font-weight:400;letter-spacing:.01em;color:#8d7a72;text-align:center;padding:0 24px;line-height:1.7;transition:opacity .8s}.hint span{margin:0 7px;color:#b4a19a}.hint.used{opacity:0}.toolbar{display:flex;align-items:center;gap:5px;padding:7px;background:#fffdfbc7;border:1px solid rgba(255,255,255,.95);box-shadow:0 4px 20px #9b766b0b,0 1px 3px #9b766b08,inset 0 0 0 1px #a98b7d09;border-radius:19px;backdrop-filter:blur(18px);pointer-events:auto}.toolbar button{height:45px;padding:0 20px;border-radius:13px;display:flex;align-items:center;gap:9px;border:0;background:transparent;font-size:13px;font-weight:500}.toolbar button:hover:not(:disabled){background:#eee4dd66}.toolbar button.primary{background:#eee4dd;color:#604c41}.toolbar button.primary:hover{background:#e5d8cf}.toolbar-divider{height:20px;width:1px;background:var(--hairline);margin:0 3px}.toast{position:absolute;top:calc(90px + env(safe-area-inset-top));left:50%;transform:translate(-50%,-5px);background:#fffaf3c9;box-shadow:0 3px 16px #8a666308;border:1px solid #ffffffd9;padding:12px 21px;border-radius:99px;font-size:13px;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%)}dialog{color:var(--ink);background:#fffbf7f7;border:1px solid #fff;border-radius:24px;padding:27px;width:min(430px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 15px 90px #57414024;backdrop-filter:blur(18px)}dialog::backdrop{background:#bdaeab26;backdrop-filter:blur(7px)}.help-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.help-heading h1{font-family:Georgia,serif;font-size:26px;font-weight:400;letter-spacing:-.6px;margin:0}dialog p{font-size:14px;line-height:1.65;color:#857169;margin:12px 0}.instructions{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);margin:19px 0;padding:3px 0}strong{font-weight:500;color:#554944}dialog h2{font-size:14px;font-weight:500;margin:22px 0 0}dialog .control-caption{font-size:12px;line-height:1.65;margin-top:7px}.face-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.face-grid button{display:flex;gap:9px;align-items:center;padding:11px;border-radius:10px;background:#ffffff91;border:1px solid var(--hairline);font-size:12px}.face-grid button[aria-pressed=true]{border-color:#9d7f91;box-shadow:0 0 0 1px #9d7f9133}.face-dot{width:17px;height:17px;border:1px solid #ffffffb5;border-radius:5px;box-shadow:inset 1px 1px 3px #fff8}.selected-label{font-size:12px;margin:14px 0 10px;color:#856d79}.turn-controls{display:flex;gap:8px}.turn-controls button{flex:1;padding:12px 5px;font-size:12px;border:1px solid var(--hairline);background:#f2e9e2;border-radius:10px}.keyboard-hint{font-size:12px;line-height:2.2}kbd{display:inline-block;min-width:20px;padding:1px 4px;border:1px solid #c1aaa936;background:#fff8;font-family:inherit;font-size:11px;border-radius:4px;text-align:center;line-height:1.5}.help-bottom{border-top:1px solid var(--hairline);padding-top:15px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}.help-bottom button{border:0;background:transparent;padding:0;font-size:12px;text-decoration:underline;text-underline-offset:4px}.help-bottom span{font-size:11px;color:#96827b}#exit-present{display:none;position:absolute;right:24px;bottom:24px;border:1px solid #ffffffbb;background:#fff9;border-radius:99px;padding:12px 16px;font-size:12px;opacity:0;transition:opacity .3s}#exit-present span{margin-left:12px;color:#aa9890}.presentation .chrome,.presentation .toast{opacity:0;visibility:hidden;pointer-events:none}.presentation #exit-present{display:block}.presentation.awake #exit-present,#exit-present:focus-visible,#exit-present:hover{opacity:1}.presentation .chrome *{pointer-events:none!important}#fallback,.no-js{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(400px,calc(100% - 48px));text-align:center}#fallback h1{font-family:Georgia,serif;font-weight:400;font-size:28px}#fallback p{font-size:15px;line-height:1.7;color:var(--muted)}#fallback button{border:1px solid var(--hairline);padding:12px 25px;border-radius:12px;background:#fff8}.unavailable .footer,.unavailable .header-actions{display:none}.qa-panel{position:absolute;left:10px;top:85px;padding:10px;max-width:400px;max-height:300px;overflow:auto;background:#ffffffe8;font:11px/1.6 monospace;z-index:5;white-space:pre-wrap;pointer-events:none}@media(max-width:600px){.header{top:calc(18px + env(safe-area-inset-top));left:23px;right:23px;gap:10px}.wordmark{font-size:18px}.edition{margin-left:9px;font-size:10px;vertical-align:2px}.header-actions{gap:10px}.header-divider{margin:0}.move-meter{font-size:11px;gap:5px}.icon-button{width:32px;height:38px}.help-button{width:24px;height:24px}.footer{bottom:calc(25px + env(safe-area-inset-bottom));gap:19px}.hint{font-size:11px;letter-spacing:0;max-width:330px;padding:0 9px}.hint span{margin:0 3px}.toolbar{gap:2px;padding:6px;border-radius:18px}.toolbar button{padding:0 15px;gap:8px;font-size:12px;height:45px}.toolbar svg{width:17px;height:17px}.toast{top:calc(76px + env(safe-area-inset-top));font-size:12px;padding:10px 16px}.help-heading h1{font-size:25px}}@media(max-height:510px)and (min-width:601px){.header{top:15px;left:26px;right:26px}.footer{bottom:14px;gap:5px}.hint{font-size:10px}.toolbar button{height:36px}.toolbar{padding:5px}.toast{top:58px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.icon-button,.help-button{position:relative;min-width:44px;width:44px;height:44px}.help-button{border:0}.help-button:before{inset:0;width:44px;height:44px}.help-button:after{content:"";position:absolute;width:25px;height:25px;border:1px solid rgba(117,85,72,.22);border-radius:50%;pointer-events:none}.face-grid button,.turn-controls button{min-height:44px}.qa-panel{width:min(400px,calc(100% - 20px));overflow-wrap:anywhere}.qa-targets{position:absolute;inset:0;pointer-events:none}.qa-target{position:absolute;transform:translate(-50%,-50%);padding:4px 6px;border:1px solid #aa7f9c;background:#fff8faeb;border-radius:99px;font:10px monospace;color:#79536c;white-space:nowrap;pointer-events:none}.header-actions{gap:9px}.sound-cross,.resume-symbol,.is-muted .sound-waves{display:none}.is-muted .sound-cross,.is-paused .resume-symbol{display:block}.is-paused .pause-symbol{display:none}.icon-button[aria-pressed=true]{background:#e9dfe48a}.session-clock{position:absolute;top:calc(92px + env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 12px 8px 19px;background:#fffaf5bc;border:1px solid #ffffffed;border-radius:17px;box-shadow:0 3px 18px #7b657109;backdrop-filter:blur(12px)}.clock-copy{display:flex;flex-direction:column;gap:5px;text-align:center;min-width:132px}.clock-copy>span{font-size:10px;letter-spacing:.035em;color:#927e75}.clock-copy time{font-size:24px;font-weight:400;letter-spacing:.03em;font-variant-numeric:tabular-nums;color:#685058}.session-clock .icon-button{border-left:1px solid #aa8a841f;border-radius:0 10px 10px 0;width:40px;min-width:40px}.toast{top:calc(175px + env(safe-area-inset-top))}.keyboard-guide{position:absolute;left:32px;bottom:122px;width:218px;padding:17px 15px 13px;background:#fffaf4cc;border:1px solid #ffffffe0;border-radius:20px;box-shadow:0 8px 34px #77555d09;backdrop-filter:blur(16px)}.guide-heading{display:flex;align-items:center;justify-content:space-between;gap:3px}.guide-heading h2{font-size:10px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;margin:0}.guide-heading .icon-button{font-size:23px;margin:-8px -8px -7px 0;width:36px;min-width:36px;height:36px}.keyboard-guide p{font-size:11px;color:#8e7770;margin:8px 0 13px;line-height:1.55}.shortcut-rows{display:grid;gap:1px}.shortcut{display:grid;grid-template-columns:30px 10px 1fr;align-items:center;gap:10px;text-align:left;min-height:32px;width:100%;padding:3px 6px;border:0;border-radius:7px;background:transparent;font-size:12px}.shortcut:hover:not(:disabled){background:#eddee56b}.shortcut[aria-pressed=true]{background:#ecdee664}.shortcut kbd{background:#ffffff90;border-color:#baa5a632;border-radius:6px;padding:4px;font-size:11px;color:#604c55;min-width:28px}.shortcut-dot{width:10px;height:10px;border-radius:3px;box-shadow:inset 0 0 0 1px #ffffff9c}.slice-dot{background:repeating-linear-gradient(45deg,#baaab0 0 2px,#fff0 2px 4px)}.pause-shortcut{display:flex;border-top:1px solid #ab929420;margin-top:9px;padding-top:12px;gap:12px;min-height:45px;border-radius:0}.pause-shortcut kbd{min-width:52px}.keyboard-guide .guide-footnote{font-size:10px;color:#97837d;margin-bottom:0}.keyboard-toggle{display:flex;align-items:center;gap:4px;position:fixed;left:34px;bottom:42px;border:0;background:transparent;padding:7px 0;pointer-events:auto}.keyboard-toggle span{margin-left:6px;font-size:11px;color:#89756e}.keyboard-toggle kbd{width:20px;height:20px;font-size:10px;display:grid;place-items:center}.keyboard-toggle:hover span{color:#59414b}.footer{gap:18px}.hint{color:#826c64}.pause-notice{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;background:#fdf8f24d;backdrop-filter:blur(10px);z-index:7;pointer-events:none}.pause-notice>span{font:32px Georgia,serif;color:#6e545d}.pause-notice button{pointer-events:auto;border:1px solid #fff;background:#fffaf4d9;border-radius:99px;padding:12px 20px;font-size:14px;box-shadow:0 8px 26px #8061670c}.pause-notice kbd{margin-left:12px}.is-paused .session-clock,.is-paused .header{z-index:8}.presentation .session-clock,.presentation .keyboard-guide,.presentation .pause-notice{opacity:0;visibility:hidden;pointer-events:none}.presentation .pause-notice{display:none}.presentation .keyboard-toggle{pointer-events:none!important}@media(max-width:1199px),(max-aspect-ratio:4/3){.keyboard-guide{z-index:6;left:auto;right:24px;bottom:124px;background:#fffaf5ed;width:235px}.keyboard-guide .shortcut{min-height:36px}.keyboard-guide .guide-heading h2{font-size:11px}}@media(max-width:600px){.header{align-items:start}.header-actions{display:grid;grid-template-columns:repeat(4,44px);gap:0;justify-items:center}.header-actions .move-meter{grid-column:1/-1;justify-self:end;height:25px;padding-right:9px}.header-divider{display:none}.wordmark{padding-top:5px}.edition{display:none}.footer{gap:10px;bottom:calc(20px + env(safe-area-inset-bottom))}.keyboard-toggle{position:static;height:30px;order:2;padding:2px 8px}.toolbar{order:3}.hint{order:1}.session-clock{top:calc(112px + env(safe-area-inset-top));padding:7px 8px 7px 13px}.clock-copy{min-width:126px}.clock-copy time{font-size:23px}.clock-copy>span{font-size:10px}.toast{top:calc(196px + env(safe-area-inset-top));max-width:calc(100vw - 32px);white-space:normal;text-align:center;width:max-content}.keyboard-guide{right:20px;bottom:calc(121px + env(safe-area-inset-bottom));width:250px;max-height:calc(100dvh - 220px);overflow:auto}.keyboard-guide .shortcut{min-height:40px}.guide-heading .icon-button{width:44px;min-width:44px;height:44px}.keyboard-guide .guide-heading h2,.keyboard-guide .guide-footnote{font-size:11px}.pause-notice>span{font-size:28px}}@media(max-height:510px)and (min-width:601px){.footer{gap:5px;bottom:14px}.keyboard-toggle{left:27px;bottom:20px}.keyboard-guide{right:auto;left:23px;bottom:75px;max-height:calc(100dvh - 142px);overflow:auto}.session-clock{top:80px;left:auto;right:26px;transform:none;padding:7px 8px 7px 10px}.clock-copy{min-width:105px}.clock-copy time{font-size:21px}.clock-copy>span{font-size:9px}.toast{top:73px}.header-actions{gap:4px}}@media(min-width:601px)and (min-height:511px){.session-clock{left:auto;right:clamp(24px,4.2vw,68px);transform:none}}.creator{display:inline-block;margin-left:12px;font-size:12px;font-weight:400;letter-spacing:0;color:#8b7771;text-decoration:none;pointer-events:auto;vertical-align:2px}.creator:hover{color:#614b61;text-decoration:underline;text-underline-offset:4px}.creator:focus-visible{outline:2px solid #a184b8;outline-offset:5px;border-radius:4px}.keyboard-toggle{min-height:44px;gap:5px}.keyboard-toggle .key-preview{width:25px;height:27px;border-radius:7px;border:1px solid var(--key-border);background:linear-gradient(155deg,#fffc,var(--key-tint));color:#604c55;box-shadow:inset 0 1px 1px #fff,0 2px 5px #9272870c;font-size:11px;font-weight:500}.key-r{--key-tint:#c7a6efad;--key-border:#b69ad38c}.key-l{--key-tint:#8fd5c1ad;--key-border:#81bda88c}.key-u{--key-tint:#f6c568bf;--key-border:#d5b46e99}.key-d{--key-tint:#e8ddc8e0;--key-border:#cbbca38c}.key-f{--key-tint:#f4acc7ba;--key-border:#d8a0b78c}.keyboard-toggle[aria-expanded=true] .key-preview{box-shadow:inset 0 1px 1px #fff,0 2px 7px #9272871c}.keyboard-toggle:hover .key-preview{border-color:#a889a0}@media(max-width:600px){.header{display:grid;grid-template-columns:1fr;gap:3px}.wordmark{display:flex;align-items:baseline;gap:9px;white-space:nowrap}.creator{margin:0;font-size:11px;vertical-align:baseline}.header-actions{display:flex;justify-content:flex-end;gap:1px}.header-actions .move-meter{margin-right:auto;align-self:center;height:auto;padding:0}.keyboard-toggle{min-height:36px;height:36px;padding:2px 8px}.keyboard-toggle .key-preview{width:24px;height:26px}.keyboard-toggle span{font-size:10px;margin-left:4px}}@media(min-width:601px)and (max-width:1100px){.keyboard-toggle{position:static;order:2}.toolbar{order:3}.hint{order:1}.footer{gap:9px}}@media(max-height:510px)and (min-width:601px){.keyboard-toggle{position:fixed;left:25px;bottom:18px;max-width:155px;flex-wrap:wrap;gap:4px}.keyboard-toggle span{width:100%;text-align:center;margin:1px 0 0}.creator{font-size:11px}}
