:root{--surface-board: #f4f3f1;--surface-panel: #fbfaf9;--border-subtle: #e3e1de;--text-primary: #1f1e1d;--text-muted: #6b6864;--accent: #4a7c9e;--warning: #b07d18;--danger: #b03a2e;--success: #2f7d52;--shadow-color: 26 31 46;--is-dark: 0;--edge-boost: 1;--shadow-panel: 0 4px 16px rgb(var(--shadow-color) / .08);--shadow-raised: 0 8px 20px rgb(var(--shadow-color) / .14);--table-color: #f4f3f1;--hud-row: 72px;--radius-panel: 12px;--radius-control: 8px;--radius-card: 6px;--space: 4px;--ui-font: 13px;--ui-scale-factor: 1;--motion-snap: 80ms;--motion-lift: .12s;--motion-panel: .18s;--motion-flash: .24s;--ease-snap: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1)}@media(prefers-color-scheme:dark){:root:not([data-theme]){--table-color: #171615;--surface-board: #1b1a19;--surface-panel: #232120;--border-subtle: #34312f;--text-primary: #f0eeec;--text-muted: #98938e;--accent: #6da3c7;--warning: #e3b04b;--danger: #e07a6e;--success: #5fbb85;--shadow-color: 0 0 0;--is-dark: 1}}:root[data-theme=gelap]{--table-color: #171615;--surface-board: #1b1a19;--surface-panel: #232120;--border-subtle: #34312f;--text-primary: #f0eeec;--text-muted: #98938e;--accent: #6da3c7;--warning: #e3b04b;--danger: #e07a6e;--success: #5fbb85;--shadow-color: 0 0 0;--is-dark: 1}:root[data-ui-scale=kecil]{--ui-font: 12px;--space: 3.5px;--hud-row: 68px;--ui-scale-factor: .92}:root[data-ui-scale=besar]{--ui-font: 15px;--space: 5px;--hud-row: 84px;--ui-scale-factor: 1.1}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--surface-board);color:var(--text-primary);font:400 var(--ui-font) / 1.45 "Inter",system-ui,-apple-system,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}#app{position:fixed;inset:0}canvas.board{display:block;width:100%;height:100%;touch-action:none;cursor:grab}canvas.board.dragging{cursor:grabbing}.panel{position:absolute;background:color-mix(in srgb,var(--surface-panel) 96%,transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);padding:calc(var(--space) * 3);user-select:none}kbd{display:inline-block;padding:1px 5px;font:500 11px / 1.5 inherit;color:var(--text-primary);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:5px}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text-muted) 45%,transparent) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text-muted) 45%,transparent);border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--accent) 70%,transparent);background-clip:content-box}::-webkit-scrollbar-corner{background:transparent}button{font:inherit;color:var(--text-primary);background:var(--surface-board);border:1px solid var(--border-subtle);border-radius:var(--radius-control);padding:7px 12px;cursor:pointer;transition:background var(--motion-panel) var(--ease-out),border-color var(--motion-panel) var(--ease-out)}button:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 10%,var(--surface-board))}button:disabled{color:var(--text-muted);cursor:default;opacity:.55}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button[data-selected=true]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface-board))}button.primary{color:var(--surface-panel);background:var(--accent);border-color:var(--accent);padding:9px 22px;font-weight:500}button.primary:hover{background:color-mix(in srgb,var(--accent) 88%,black)}button.icon-label{display:inline-flex;align-items:center;gap:6px}button.icon-label svg{flex:none}button.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border-subtle))}button.danger:hover:not(:disabled){color:var(--surface-panel);background:var(--danger);border-color:var(--danger)}button.danger:focus-visible{outline-color:var(--danger)}button.primary.danger-solid{color:var(--surface-panel);background:var(--danger);border-color:var(--danger)}button.primary.danger-solid:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 86%,black)}button.primary.danger-solid:focus-visible{outline-color:var(--danger)}.segmented{display:flex;gap:var(--space);flex-wrap:wrap}.loading,.fatal{position:absolute;inset:0;display:grid;place-items:center;padding:32px;text-align:center;line-height:1.6;color:var(--text-muted);background:var(--surface-board);z-index:4}.handheld{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;gap:calc(var(--space) * 4);padding:calc(var(--space) * 6);overflow:auto;background:var(--surface-board)}.handheld-card{width:min(420px,100%);display:grid;justify-items:center;gap:calc(var(--space) * 3);padding:calc(var(--space) * 7) calc(var(--space) * 6);text-align:center;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel)}.handheld-mark{color:var(--warning)}.handheld-card h1{margin:0;font-size:19px;font-weight:600;line-height:1.35;letter-spacing:-.01em}.handheld-card p{margin:0;color:var(--text-muted);line-height:1.65}.handheld-code{font:600 26px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;color:var(--text-primary);user-select:text}.handheld-status:empty{display:none}.handheld-status{font-size:12px;color:var(--accent)}.loading-card{display:grid;justify-items:center;gap:calc(var(--space) * 4);width:min(340px,100%)}.loading-piece{color:var(--accent);opacity:.9;animation:loading-pulse 1.8s var(--ease-out) infinite}@keyframes loading-pulse{0%,to{opacity:.35;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}.loading-message{margin:0;font-size:14px;color:var(--text-primary)}.loading-track{width:100%;height:3px;border-radius:2px;background:var(--border-subtle);overflow:hidden}.loading-bar{width:40%;height:100%;border-radius:2px;background:var(--accent);animation:loading-slide 1.4s var(--ease-out) infinite}@keyframes loading-slide{0%{transform:translate(-110%)}to{transform:translate(260%)}}.loading-tip{margin:0;min-height:2.6em;font-size:12px;color:var(--text-muted)}.loading-tip-enter{animation:loading-tip-in var(--motion-panel) var(--ease-out)}@keyframes loading-tip-in{0%{opacity:0;transform:translateY(4px)}}@media(prefers-reduced-motion:reduce){*{transition-duration:0ms!important;animation-duration:0ms!important}}.table-colors{align-items:center}button.table-swatch{padding-left:28px;position:relative}button.table-swatch:before{content:"";position:absolute;left:8px;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:3px;border:1px solid var(--border-subtle);background:var(--swatch)}.table-custom{display:inline-flex;align-items:center;gap:var(--space);padding:6px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-board);cursor:pointer}.table-custom input{width:20px;height:20px;padding:0;border:none;background:none;cursor:pointer}button.panel-close{position:absolute;top:calc(var(--space) * 2);right:calc(var(--space) * 2);display:grid;place-items:center;width:34px;height:34px;padding:0;color:var(--text-muted);background:none;border-color:transparent}button.panel-close svg{width:18px;height:18px}button.panel-close:hover:not(:disabled){color:var(--text-primary);background:var(--surface-board);border-color:var(--border-subtle)}.setup{position:absolute;inset:0;display:grid;place-items:center;overflow:auto;padding:calc(var(--space) * 8)}.setup-card{width:min(1180px,100%);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);padding:calc(var(--space) * 8)}.setup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:calc(var(--space) * 6);margin-bottom:calc(var(--space) * 6);padding-bottom:calc(var(--space) * 5);border-bottom:1px solid var(--border-subtle)}.setup-head-text{flex:1;min-width:0}.setup-account{flex:none;display:flex;align-items:center;gap:calc(var(--space) * 2)}.setup-card header h1{margin:0;font-size:26px;font-weight:600;letter-spacing:-.01em}.setup-card header p{margin:var(--space) 0 0;color:var(--text-muted);max-width:68ch}.setup-columns{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:calc(var(--space) * 8);align-items:stretch}.setup-column{display:flex;flex-direction:column;gap:calc(var(--space) * 6);min-width:0}.setup-column-left>.setup-library{flex:1;min-height:0}.setup-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:calc(var(--space) * 3)}.setup-block-head .setup-label{margin-bottom:0}.setup-upload-count{font-size:12px;color:var(--text-muted)}.setup-code{padding-bottom:calc(var(--space) * 5);border-bottom:1px solid var(--border-subtle)}.setup-code-row{display:flex;gap:calc(var(--space) * 2)}.setup-code input{flex:1;min-width:0;font:500 15px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em;color:var(--text-primary);background:var(--surface-board);border:1px solid var(--border-subtle);border-radius:var(--radius-control);padding:9px 12px}.setup-code input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.setup-themes,.setup-uploads{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:calc(var(--space) * 3)}.setup-uploads{max-height:336px;overflow-y:auto;padding:var(--space);margin-top:calc(var(--space) * 2);background:var(--surface-board);border:1px solid var(--border-subtle);border-radius:var(--radius-control)}.setup-uploads .setup-note{grid-column:1 / -1;margin:var(--space) 0}.theme-slot{position:relative;min-width:0}.theme-card{display:grid;gap:var(--space);width:100%;padding:var(--space);text-align:left;border-radius:var(--radius-control)}.theme-remove{position:absolute;top:7px;right:7px;display:grid;place-items:center;width:22px;height:22px;padding:0;opacity:0;color:var(--surface-panel);background:color-mix(in srgb,var(--danger) 88%,black);border-color:transparent;transition:opacity var(--motion-panel) var(--ease-out)}.theme-remove svg{width:12px;height:12px}.theme-slot:hover .theme-remove,.theme-remove:focus-visible{opacity:1}.theme-remove:hover:not(:disabled){background:var(--danger)}.theme-card canvas,.theme-card img{display:block;width:100%;height:74px;object-fit:cover;border-radius:var(--radius-card)}.theme-card span{font-size:12px;color:var(--text-muted)}.theme-card[data-selected=true] span{color:var(--accent)}.setup-options{display:grid;gap:calc(var(--space) * 5)}.setup-label{display:block;margin-bottom:calc(var(--space) * 2);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.setup-note{margin:calc(var(--space) * 2) 0 0;font-size:12px;color:var(--text-muted);max-width:62ch}.setup-card footer{margin-top:calc(var(--space) * 6);display:flex;align-items:center;justify-content:space-between;gap:calc(var(--space) * 4);padding-top:calc(var(--space) * 5);border-top:1px solid var(--border-subtle)}.setup-summary{color:var(--text-muted)}@media(max-width:1000px){.setup{padding:calc(var(--space) * 4)}.setup-columns{grid-template-columns:minmax(0,1fr);gap:calc(var(--space) * 6)}.setup-column-left{gap:calc(var(--space) * 5)}}@media(max-width:720px){.setup-themes,.setup-uploads{grid-template-columns:repeat(2,1fr)}.setup-head{flex-direction:column;gap:calc(var(--space) * 4)}}.setup-library{display:flex;flex-direction:column;gap:calc(var(--space) * 2);min-width:0}.library-body{position:relative;flex:1;min-height:132px}.library-list{position:absolute;inset:0;align-content:start;overflow-y:auto;padding-right:calc(var(--space) * 2)}.library-head{display:grid;gap:calc(var(--space) * 2)}.library-head .setup-label{margin-bottom:0}.library-tools{display:flex;flex-wrap:wrap;gap:var(--space)}.library-list{display:grid;gap:var(--space)}.library-row{display:flex;align-items:center;gap:calc(var(--space) * 3);padding:calc(var(--space) * 2);background:var(--surface-board);border:1px solid var(--border-subtle);border-radius:var(--radius-control);transition:border-color var(--motion-panel) var(--ease-out)}.library-row:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border-subtle))}.library-thumb{flex:none;width:76px;height:52px;overflow:hidden;border-radius:var(--radius-card);background:color-mix(in srgb,var(--text-muted) 16%,transparent)}.library-thumb img{display:block;width:100%;height:100%;object-fit:cover}.library-text{flex:1;display:grid;gap:5px;min-width:0}.library-title{display:flex;align-items:center;gap:calc(var(--space) * 2);min-width:0}.library-text strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-bar{height:3px;border-radius:2px;background:color-mix(in srgb,var(--text-muted) 28%,transparent);overflow:hidden}.library-bar>div{height:100%;border-radius:inherit;background:var(--accent);transition:width var(--motion-panel) var(--ease-out)}.library-row[data-solved=true] .library-bar>div{background:color-mix(in srgb,var(--accent) 60%,#4caf7d)}.library-detail{font-size:12px;color:var(--text-muted)}.library-actions{flex:none;display:grid;gap:5px}.library-actions button{padding:5px 12px;font-size:12px}.library-delete:hover:not(:disabled){color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border-subtle));background:var(--surface-board)}.library-room{flex:none;padding:1px 7px;font-size:10px;font-weight:500;color:var(--accent);border:1px solid var(--accent);border-radius:999px}.file-button{position:relative;display:inline-flex;align-items:center;padding:5px 10px;font-size:12px;color:var(--text-primary);background:var(--surface-board);border:1px solid var(--border-subtle);border-radius:var(--radius-control);cursor:pointer}.file-button:hover{background:color-mix(in srgb,var(--accent) 10%,var(--surface-board))}.file-button:focus-within{outline:2px solid var(--accent);outline-offset:2px}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.notices{position:fixed;right:calc(var(--space) * 5);bottom:calc(var(--space) * 5);z-index:20;display:grid;gap:calc(var(--space) * 2);width:min(360px,calc(100vw - var(--space) * 10));pointer-events:none}.notice{position:relative;pointer-events:auto;padding:calc(var(--space) * 3) calc(var(--space) * 4);box-shadow:inset 3px 0 0 var(--tone),var(--shadow-raised);overflow:hidden;animation:notice-in .18s var(--ease-out)}.notice[data-tone=sukses]{--tone: var(--success)}.notice[data-tone=bahaya]{--tone: var(--danger)}.notice[data-leaving=true]{opacity:0;transform:translate(10px);transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}.notice-body{display:flex;align-items:center;gap:calc(var(--space) * 3);font-size:13px}.notice-text{flex:1;min-width:0}.notice-undo{flex:none;padding:4px 10px;font-size:12px;font-weight:500;color:var(--tone);border-color:color-mix(in srgb,var(--tone) 45%,var(--border-subtle))}.notice-undo:hover:not(:disabled){color:var(--surface-panel);background:var(--tone);border-color:var(--tone)}.notice-bar{position:absolute;left:0;right:0;bottom:0;height:3px}.notice-bar i{display:block;height:100%;background:var(--tone);transform-origin:left;animation-name:notice-drain;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes notice-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes notice-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.display-controls{display:grid;gap:calc(var(--space) * 5)}.setup-notice{flex:1;text-align:right;color:var(--text-muted)}.setup-failure{position:absolute;left:50%;bottom:calc(var(--space) * 6);transform:translate(-50%);max-width:min(560px,90vw);padding:9px 16px;color:var(--surface-panel);background:var(--text-primary);border-radius:var(--radius-control);box-shadow:var(--shadow-raised)}@media(max-width:720px){.library-row{flex-wrap:wrap}.setup-card footer{flex-wrap:wrap}.setup-notice{text-align:left}}.hud{position:absolute;inset:0;pointer-events:none;z-index:1}.hud>*{pointer-events:auto}.hud-top{position:absolute;top:calc(var(--space) * 4);left:calc(var(--space) * 4);right:calc(var(--space) * 4);display:flex;align-items:stretch;gap:calc(var(--space) * 3);pointer-events:none}.hud-top>*{pointer-events:auto}.hud-bar{position:relative;flex:0 1 340px;min-width:200px;height:var(--hud-row);display:flex;align-items:center;gap:calc(var(--space) * 5)}.hud-account{position:relative;margin-left:auto;height:var(--hud-row);display:flex;align-items:stretch;gap:calc(var(--space) * 2);padding:calc(var(--space) * 1.5);overflow:visible}.hud-account>*+*:before{content:"";position:absolute;left:calc(var(--space) * -1);top:25%;bottom:25%;width:1px;background:var(--border-subtle)}.hud-square{position:relative;width:56px;display:grid;place-items:center;--hover-grow: 1.5}.hud-square>button:hover:not(:disabled),.hud-square>button:focus-visible{background:none;border-color:transparent}.hud-square:not(.hud-profile)>button{transition:color var(--motion-panel) var(--ease-out),transform var(--motion-panel) var(--ease-out)}.hud-square:not(.hud-profile)>button:hover{transform:scale(var(--hover-grow))}.hud-icon{display:grid;place-items:center;padding:5px 8px}.hud-icon-large{width:100%;height:100%;padding:0;background:none;border-color:transparent}.hud-progress{flex:1;display:grid;gap:var(--space);min-width:0}.hud-progress-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hud-progress-text{font-size:12px;color:var(--text-muted)}.hud-stats{font-size:11px;color:var(--text-muted)}.hud-progress-row{display:grid;grid-template-columns:1fr 34px;align-items:center;gap:calc(var(--space) * 1.5)}.hud-progress-track{position:relative;height:3px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 16%,transparent);overflow:hidden}.hud-progress-fill{display:block;height:100%;width:0;border-radius:999px;color:var(--accent);background:linear-gradient(90deg,color-mix(in srgb,currentcolor 70%,transparent),currentcolor);box-shadow:0 0 6px 0 currentcolor,0 0 14px 2px color-mix(in srgb,currentcolor 55%,transparent);transition:width .42s cubic-bezier(.22,1,.36,1)}.hud-progress-percent{font-size:11px;font-variant-numeric:tabular-nums;text-align:right;color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.hud-progress-fill{transition:none}}.hud-donate{--hover-grow: 2}.hud-donate button{color:color-mix(in srgb,var(--danger) 84%,var(--text-muted));text-decoration:none;border-radius:var(--radius-control)}.hud-donate svg{animation:donate-beat 6s var(--ease-out) infinite;transform-origin:center}.hud-donate button:hover{color:var(--danger)}.hud-donate button:focus-visible{outline:2px solid var(--danger);outline-offset:2px}@keyframes donate-beat{0%,86%,to{transform:scale(1)}90%{transform:scale(1.14)}94%{transform:scale(1.02)}}@media(prefers-reduced-motion:reduce){.hud-donate svg{animation:none}}.hud-profile,.hud-share{overflow:visible}.hud-profile:has(.profile-menu:not([hidden])),.hud-share:has(.share-popover:not([hidden])){z-index:2}.profile-initial{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;overflow:hidden;font-size:14px;font-weight:600;line-height:1;color:var(--surface-panel);background:var(--player-color, var(--accent))}.profile-initial img,.profile-preview img{width:100%;height:100%;object-fit:cover}.profile-picture{display:flex;align-items:center;gap:calc(var(--space) * 3)}.profile-preview{flex:none;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;overflow:hidden;font-size:26px;font-weight:600;color:var(--surface-panel);background:var(--player-color, var(--accent))}.profile-picture-actions{display:grid;gap:var(--space);justify-items:start}.profile-pick input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.profile-pick{display:inline-block;padding:7px 12px;font-size:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-board);cursor:pointer}.profile-pick:hover{background:color-mix(in srgb,var(--accent) 10%,var(--surface-board))}.profile-drop{padding:7px 12px;font-size:12px}.profile-note:empty{display:none}.profile-menu[hidden]{display:none}.profile-menu{position:absolute;top:calc(100% + var(--space) * 2);right:0;display:grid;gap:var(--space);width:232px;padding:var(--space);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);box-shadow:var(--shadow-raised)}button.profile-item{display:flex;align-items:center;gap:calc(var(--space) * 3);padding:7px 10px;text-align:left;background:none;border-color:transparent}.profile-item-icon{flex:none;display:grid;place-items:center;width:18px;height:18px;color:var(--text-muted)}button.profile-item:hover:not(:disabled) .profile-item-icon{color:var(--accent)}.profile-item-text{display:grid;gap:2px;min-width:0}.profile-item-label{font-size:13px;color:var(--text-primary)}.profile-item-hint{font-size:11px;color:var(--text-muted)}.profile-field input{width:100%;font:inherit;color:var(--text-primary);background:var(--surface-board);border:1px solid var(--border-subtle);border-radius:var(--radius-control);padding:9px 12px}.profile-field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.share-popover[hidden]{display:none}.share-popover{position:absolute;top:calc(100% + var(--space) * 2);right:0;display:grid;gap:calc(var(--space) * 2);width:288px;padding:calc(var(--space) * 4);text-align:left;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);box-shadow:var(--shadow-raised)}.share-code-row{display:flex;align-items:center;gap:calc(var(--space) * 2)}.share-code{flex:1;min-width:0;font:600 20px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;color:var(--text-primary);user-select:text}button.share-copy-code{flex:none;width:32px;height:32px;padding:0;color:var(--text-muted)}button.share-copy-code:hover:not(:disabled){color:var(--accent)}.share-link{display:grid;gap:var(--space);font-size:11px;color:var(--text-muted)}.share-link input{font:inherit;color:var(--text-primary);background:var(--surface-board);border:1px solid var(--border-subtle);border-radius:var(--radius-control);padding:6px 8px;min-width:0;user-select:text}button.share-copy{justify-self:stretch;padding:8px 12px}.hud-debug{bottom:calc(12px * var(--ui-scale-factor));left:calc(12px * var(--ui-scale-factor));margin:0;max-width:calc(100% - 24px * var(--ui-scale-factor));max-height:calc(100% - 24px * var(--ui-scale-factor));overflow:auto;padding:calc(16px * var(--ui-scale-factor));font:400 calc(12px * var(--ui-scale-factor)) / 1.5 ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;color:var(--text-muted);white-space:pre}.shares{position:absolute;right:calc(var(--space) * 4);bottom:calc(var(--space) * 4);width:232px;padding:calc(var(--space) * 2.5) calc(var(--space) * 3);background:color-mix(in srgb,var(--surface-panel) 96%,transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel)}.shares-title{margin:0 0 calc(var(--space) * 2);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.shares-list{display:flex;flex-direction:column;gap:calc(var(--space) * 1.5)}.shares-row{display:grid;grid-template-columns:62px 1fr 30px;align-items:center;gap:calc(var(--space) * 1.5)}.shares-name{font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shares-track{position:relative;height:3px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 16%,transparent);overflow:hidden}.shares-fill{display:block;height:100%;border-radius:999px;box-shadow:0 0 6px 0 currentcolor;transition:width .42s cubic-bezier(.22,1,.36,1)}.shares-percent{font-size:11px;font-variant-numeric:tabular-nums;text-align:right;color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.shares-fill{transition:none}}.room{position:absolute;top:calc(var(--space) * 4 + var(--hud-row) + var(--space) * 3);left:calc(var(--space) * 4);display:grid;justify-items:start;gap:calc(var(--space) * 2);font-size:11px;pointer-events:none}.room>*{pointer-events:auto}.room-status{padding:3px 9px;border-radius:999px;color:var(--surface-panel);background:var(--accent)}.room-status[hidden]{display:none}.room-people{display:grid;justify-items:start;gap:calc(var(--space) * 1.5)}.room-bubble{display:flex;align-items:center;gap:calc(var(--space) * 1.5);max-width:200px;padding:3px 10px 3px 3px;border-radius:999px;background:color-mix(in srgb,var(--surface-panel) 86%,transparent);border:1px solid var(--border-subtle);box-shadow:var(--shadow-panel)}.room-bubble[data-host=true] .room-avatar{box-shadow:0 0 0 2px var(--surface-panel),0 0 0 3.5px var(--player-color)}.room-avatar{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;overflow:hidden;font-size:11px;font-weight:600;line-height:1;color:var(--surface-panel);background:var(--player-color, var(--accent))}.room-avatar img{width:100%;height:100%;object-fit:cover}.room-bubble-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-chat{display:grid;justify-items:start;gap:calc(var(--space) * 2)}.room-chat-toggle{display:flex;align-items:center;gap:calc(var(--space) * 1.5);padding:4px 12px 4px 9px;font-size:11px;border-radius:999px;color:var(--text-muted);background:color-mix(in srgb,var(--surface-panel) 86%,transparent);border-color:var(--border-subtle);box-shadow:var(--shadow-panel)}.room-chat-toggle:hover:not(:disabled){color:var(--text-primary);background:color-mix(in srgb,var(--accent) 12%,var(--surface-panel))}.room-chat-toggle svg{flex:none}.room-chat-unread{flex:none;min-width:17px;padding:1px 5px;font-size:10px;font-weight:600;text-align:center;color:var(--surface-panel);background:var(--accent);border-radius:999px}.room-chat-body[hidden]{display:none}.room-chat-body{position:relative;width:260px;display:grid;gap:calc(var(--space) * 2)}.room-chat-log{display:grid;align-content:start;gap:5px;max-height:220px;overflow-y:auto;padding-right:var(--space)}.room-chat-older{margin:0;padding:3px 0;text-align:center;color:var(--text-muted)}.room-chat-older[hidden]{display:none}.room-chat-line{margin:0;line-height:1.45;overflow-wrap:anywhere}.room-chat-line b{margin-right:5px;font-weight:600;color:var(--player-color)}.room-chat-mine span{color:var(--text-muted)}.room-chat-sticker{display:block;width:56px;height:56px;margin-top:2px}.room-chat-form{display:flex;align-items:center;gap:var(--space)}.room-chat-form input{flex:1;min-width:0;font:inherit;color:var(--text-primary);background:var(--surface-board);border:1px solid var(--border-subtle);border-radius:var(--radius-control);padding:6px 9px}.room-chat-form input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.room-chat-tools{display:flex;gap:2px}.room-tray-button{display:grid;place-items:center;padding:5px;color:var(--text-muted);background:none;border-color:transparent}.room-tray-button:hover:not(:disabled){color:var(--text-primary);background:color-mix(in srgb,var(--accent) 12%,transparent)}.room-tray{display:grid;gap:2px;padding:var(--space);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-board)}.room-tray[hidden]{display:none}.room-tray-emoji{grid-template-columns:repeat(8,1fr)}.room-tray-sticker{grid-template-columns:repeat(4,1fr)}.room-emoji{padding:2px;font-size:15px;line-height:1.2;background:none;border-color:transparent}.room-sticker-pick{display:grid;place-items:center;padding:3px;background:none;border-color:transparent}.room-sticker-pick svg{width:36px;height:36px}.room-emoji:hover:not(:disabled),.room-sticker-pick:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 14%,transparent)}.cursors{position:absolute;inset:0;overflow:hidden;pointer-events:none}.cursor{position:absolute;top:0;left:0;display:flex;align-items:center;gap:var(--space);transition:transform 70ms linear;will-change:transform}.cursor i{width:10px;height:10px;border-radius:50% 50% 50% 2px;background:var(--player-color);box-shadow:var(--shadow-panel)}.cursor span{font-size:10px;line-height:1;padding:3px 6px;border-radius:var(--radius-card);color:var(--surface-panel);background:var(--player-color);white-space:nowrap}.select-box{position:fixed;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:2px;pointer-events:none}.toasts{position:absolute;left:50%;bottom:calc(var(--space) * 5);transform:translate(-50%);display:grid;gap:var(--space);justify-items:center;pointer-events:none}.toasts .toast{position:static;padding:7px 14px;font-size:12px;color:var(--text-muted);animation:toast-enter var(--motion-panel) var(--ease-out)}.toasts .toast-celebrate{color:var(--accent);border-color:var(--accent);font-weight:500}.toasts .toast-leaving{opacity:0;transition:opacity var(--motion-panel) var(--ease-out)}@keyframes toast-enter{0%{opacity:0;transform:translateY(6px)}}.shortcuts{top:50%;left:50%;transform:translate(-50%,-50%);width:min(760px,92%);max-height:80vh;overflow:auto;padding:calc(var(--space) * 6);box-shadow:var(--shadow-raised);z-index:2}.shortcuts h2{margin:0 0 calc(var(--space) * 4);font-size:16px;font-weight:600}.shortcut-groups{display:grid;grid-template-columns:1.45fr 1fr;gap:calc(var(--space) * 5)}.shortcuts h3{margin:0 0 calc(var(--space) * 2);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.shortcuts dl{display:grid;grid-template-columns:max-content 1fr;align-items:baseline;gap:calc(var(--space) * 1.5) calc(var(--space) * 3);margin:0}.shortcuts dt{white-space:nowrap}.shortcuts dd{margin:0;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1100px){.shortcut-groups{grid-template-columns:1fr}}.settings{top:50%;left:50%;transform:translate(-50%,-50%);width:min(460px,90%);max-height:88vh;overflow-y:auto;padding:calc(var(--space) * 6);box-shadow:var(--shadow-raised);z-index:2}.settings h2{margin:0 0 calc(var(--space) * 4);font-size:16px;font-weight:600}.settings-game{margin-top:calc(var(--space) * 5)}.settings-row{display:flex;flex-wrap:wrap;gap:var(--space)}.settings-export{display:flex;align-items:center;gap:calc(var(--space) * 4);margin-top:calc(var(--space) * 5);padding:calc(var(--space) * 3);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:var(--radius-panel);background:color-mix(in srgb,var(--accent) 10%,transparent)}.settings-export-text{flex:1}.settings-export .setup-note{margin-bottom:0}.settings-export-button{display:flex;align-items:center;gap:calc(var(--space) * 2);flex-shrink:0;color:var(--surface-panel);background:var(--accent);border-color:var(--accent)}.settings-export-button:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 82%,var(--text-primary))}.celebration[hidden]{display:none}.celebration{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:calc(var(--space) * 6);background:color-mix(in srgb,var(--surface-board) 55%,transparent);animation:celebration-in var(--motion-panel) var(--ease-out)}.celebration-card{position:relative;z-index:1;display:grid;justify-items:center;gap:calc(var(--space) * 3);width:min(420px,100%);padding:calc(var(--space) * 8);text-align:center;box-shadow:var(--shadow-raised);animation:celebration-rise .42s var(--ease-out) both}.celebration-mark{display:grid;place-items:center;width:72px;height:72px;color:var(--accent);border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,transparent)}.celebration-card h2{margin:0;font-size:24px;font-weight:600;letter-spacing:-.01em}.celebration-lead{margin:0;color:var(--text-muted)}.celebration-facts{display:grid;grid-template-columns:1fr auto;gap:6px calc(var(--space) * 4);width:100%;margin:0;padding:calc(var(--space) * 4) 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);text-align:left;font-size:13px}.celebration-facts dt{color:var(--text-muted)}.celebration-facts dd{margin:0;font-weight:500;text-align:right}.celebration-sky{position:absolute;inset:0;overflow:hidden;pointer-events:none}.celebration-sky i{position:absolute;top:-24px;width:9px;height:14px;border-radius:2px;animation-name:celebration-fall;animation-timing-function:linear;animation-iteration-count:2;animation-fill-mode:forwards}@keyframes celebration-fall{0%{transform:translate3d(0,-10vh,0) rotate(0);opacity:0}12%{opacity:1}to{transform:translate3d(var(--drift),105vh,0) rotate(var(--spin));opacity:1}}@keyframes celebration-in{0%{opacity:0}to{opacity:1}}@keyframes celebration-rise{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.celebration,.celebration-card{animation:none}}@media(max-width:820px){.hud-top{top:calc(var(--space) * 2);left:calc(var(--space) * 2);right:calc(var(--space) * 2);flex-wrap:wrap;gap:calc(var(--space) * 2)}.hud-bar{height:auto;min-height:var(--hud-row);flex-wrap:wrap;gap:calc(var(--space) * 2);padding:calc(var(--space) * 2)}.hud-square{width:48px}.hud-progress{min-width:100%}.dock button{min-width:34px;min-height:34px}.shares{right:calc(var(--space) * 2);bottom:calc(var(--space) * 2);width:168px;padding:calc(var(--space) * 2)}.shares-row{grid-template-columns:44px 1fr 26px}.room{top:auto;left:calc(var(--space) * 2);bottom:calc(var(--space) * 2)}.room-chat-body{width:min(240px,calc(100vw - var(--space) * 4))}.room-chat-log{max-height:148px}.profile-menu,.share-popover{width:min(288px,calc(100vw - var(--space) * 6))}.toasts{bottom:calc(var(--space) * 3)}.shortcuts,.settings{top:40%;width:min(560px,94%);max-height:62vh}}.preview[hidden]{display:none}.preview{position:absolute;inset:0;display:grid;place-items:center;padding:calc(var(--space) * 6);background:color-mix(in srgb,var(--surface-board) 82%,transparent);cursor:zoom-out;z-index:2}.preview-card{position:relative;display:grid;gap:calc(var(--space) * 3);max-width:min(1100px,92vw);cursor:default;box-shadow:var(--shadow-raised)}.preview-stage{position:relative;overflow:hidden;border-radius:var(--radius-card);touch-action:none;cursor:zoom-in}.preview-stage[data-zoomed=true]{cursor:grab}.preview-stage[data-dragging=true]{cursor:grabbing}.preview-image{margin:0;display:grid;place-items:center;transform-origin:0 0}.preview-image canvas{display:block;max-width:100%;max-height:72vh;border-radius:var(--radius-card)}.preview-tools{display:grid;justify-items:center;gap:var(--space)}.preview-zoom{display:flex;align-items:center;gap:var(--space)}.preview-scale{min-width:46px;text-align:center;font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.preview-note{margin:0;text-align:center;font-size:11px;color:var(--text-muted)}.confirm[hidden],.profile-dialog[hidden]{display:none}.confirm,.profile-dialog{position:absolute;inset:0;display:grid;place-items:center;padding:calc(var(--space) * 6);background:color-mix(in srgb,var(--surface-board) 72%,transparent);z-index:3}.confirm-card{position:static;display:grid;gap:calc(var(--space) * 3);width:min(420px,92vw);padding:calc(var(--space) * 6);box-shadow:var(--shadow-raised)}.profile-dialog .confirm-card{position:relative}.confirm-title{margin:0;font-size:15px;font-weight:600}.confirm-body{margin:0;color:var(--text-muted);line-height:1.6}.confirm-actions{display:flex;justify-content:flex-end;gap:calc(var(--space) * 2)}.donate[hidden]{display:none}.donate{position:absolute;inset:0;display:grid;place-items:center;padding:calc(var(--space) * 4);background:color-mix(in srgb,var(--surface-board) 78%,transparent);z-index:3}.donate-card{position:relative;display:grid;justify-items:center;gap:calc(var(--space) * 3);width:min(420px,92vw);padding:calc(var(--space) * 6);text-align:center;box-shadow:var(--shadow-raised)}.donate-card h2{margin:0;font-size:16px;font-weight:600}.donate-lead{margin:0;max-width:34em;color:var(--text-muted);line-height:1.6}.donate-option{display:grid;justify-items:center;gap:calc(var(--space) * 3);width:100%;padding:calc(var(--space) * 4);border:1px solid var(--border-subtle);border-radius:var(--radius-control)}.donate-option h3{margin:0;font-size:14px;font-weight:600}.donate-option .setup-note{margin:0}.donate-qr{width:min(220px,60vw);height:auto;border-radius:var(--radius-card);background:#fff}.donate-open{display:inline-block;padding:8px calc(var(--space) * 4);border-radius:var(--radius-control);color:var(--surface-panel);background:var(--accent);font-weight:500;text-decoration:none}.donate-open:hover{background:color-mix(in srgb,var(--accent) 86%,#000000)}.donate-address{margin:0;user-select:text;word-break:break-all}.setup.welcome-screen{display:block;padding:0;--quiet-bg: #faf7f1;--quiet-ink: #202b27;--quiet-muted: #797b77;--quiet-button: #465f4e;--quiet-button-ink: #fffdf5;background:var(--quiet-bg);color:var(--quiet-ink)}.quiet-welcome{width:100%;min-height:100%;max-width:1600px;zoom:var(--ui-scale-factor);margin:auto;padding:20px 4% 36px;display:flex;flex-direction:column}.quiet-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.quiet-brand{display:flex;align-items:center;gap:12px;font:32px Georgia,serif;color:var(--quiet-ink)}.quiet-brand>svg{width:24px;height:24px}.quiet-actions{display:flex;align-items:center;gap:12px}.quiet-theme-control{display:grid;place-items:center}.quiet-theme{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--quiet-ink);transition:background .18s var(--ease-out),border-color .18s var(--ease-out),transform .18s var(--ease-out)}.quiet-theme>svg{width:20px;height:20px}.quiet-theme:hover:not(:disabled){border-color:color-mix(in srgb,var(--quiet-button) 18%,transparent);background:color-mix(in srgb,var(--quiet-button) 9%,var(--quiet-bg));transform:translateY(-1px)}.quiet-theme:active:not(:disabled){transform:translateY(0) scale(.94)}.quiet-theme:focus-visible{outline:2px solid color-mix(in srgb,var(--quiet-button) 70%,transparent);outline-offset:2px}.quiet-theme.is-switching>svg{animation:theme-icon-swap .36s var(--ease-out)}@keyframes theme-icon-swap{0%{opacity:0;transform:rotate(-28deg) scale(.7)}60%{opacity:1;transform:rotate(8deg) scale(1.12)}to{transform:rotate(0) scale(1)}}.quiet-eyebrow{display:block;margin-bottom:22px;font-size:12px;letter-spacing:.16em;color:var(--quiet-muted)}.quiet-copy h1>span{color:#b46b4c}:root[data-theme=gelap] .quiet-copy h1>span{color:#e6a280}@media(prefers-color-scheme:dark){:root:not([data-theme]) .quiet-copy h1>span{color:#e6a280}}.quiet-dots{color:#bb795b;letter-spacing:4px;margin-right:10px}.quiet-art{background:radial-gradient(ellipse,#c6ae7420,transparent 68%)}.quiet-actions .setup-account{gap:12px}.quiet-actions .hud-square{width:42px;height:42px;min-height:42px;border-radius:50%}.quiet-actions .hud-donate{--hover-grow: 1.08}.quiet-actions .profile-initial{width:28px;height:28px;font-size:17px}.quiet-actions .hud-icon-large{width:100%;height:100%}.quiet-hero{flex:1;display:grid;grid-template-columns:58% 42%;gap:0;align-items:center;min-height:540px;padding:60px 0 70px;margin:0 4%}.quiet-copy h1{margin:0 0 25px;font:400 clamp(44px,6.1vw,92px) / 1.04 Georgia,"Times New Roman",serif;letter-spacing:-.045em}.quiet-copy p{color:var(--quiet-ink);font-size:clamp(15px,1.9vw,25px);line-height:1.5;max-width:650px;margin:0 0 38px}.quiet-play{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-width:clamp(195px,20vw,290px);border:0;border-radius:40px;padding:15px 32px;background:var(--quiet-button);color:var(--quiet-button-ink);font-size:clamp(20px,2.2vw,29px);box-shadow:inset 0 1px 2px #ffffff20;transition:transform .25s ease,box-shadow .25s ease}.quiet-play:hover:not(:disabled){background:color-mix(in srgb,var(--quiet-button) 90%,white);transform:translateY(-2px);box-shadow:0 8px 18px #172b2826}.quiet-play:active{transform:translateY(0)}.quiet-art{min-width:0;isolation:isolate}.quiet-pieces{position:relative;display:block;width:100%;aspect-ratio:1;max-width:520px;margin:auto;overflow:visible}.quiet-piece{position:absolute;display:block;width:68%;aspect-ratio:1;background-image:url(/assets/quiet-pieces-corrected-DkKOT7oO.png);background-size:300% 100%;background-repeat:no-repeat;transform-origin:center;filter:drop-shadow(7px 17px 10px #1e211e45);transition:transform .25s ease,filter .25s ease}.quiet-piece-clay{left:0;top:0;background-position:0 0;z-index:3}.quiet-piece-sage{left:34%;top:21%;background-position:50% 0;z-index:1}.quiet-piece-cream{left:8%;top:39%;rotate:24deg;background-position:100% 0;z-index:2}@media(hover:hover){.quiet-piece:hover{transform:translateY(-4px) rotate(2deg);filter:drop-shadow(4px 17px 10px #19231b38)}}.quiet-footer{padding:0 4%;color:var(--quiet-muted);font-size:16px}.quiet-lobby[hidden]{display:none}.quiet-lobby{position:fixed;inset:0;z-index:1;overflow:auto;padding:32px;background:#111b1780;backdrop-filter:blur(6px);display:flex;align-items:safe center;justify-content:center}.quiet-lobby .setup-card{position:relative;flex:none;margin:auto}.welcome-screen{--quiet-panel-surface: color-mix(in srgb, var(--quiet-bg) 91%, var(--quiet-button));--quiet-panel-field: color-mix(in srgb, var(--quiet-bg) 97%, var(--quiet-button));--quiet-panel-border: color-mix(in srgb, var(--quiet-button) 30%, var(--quiet-bg));--quiet-panel-shadow: 0 24px 64px #15221b2e}.welcome-screen .settings,.welcome-screen .shortcuts,.welcome-screen .profile-dialog .confirm-card,.welcome-screen .profile-menu{--surface-panel: var(--quiet-panel-surface);--surface-board: var(--quiet-panel-field);--border-subtle: var(--quiet-panel-border);--text-primary: var(--quiet-ink);--text-muted: var(--quiet-muted);--accent: var(--quiet-button);--shadow-panel: var(--quiet-panel-shadow);--shadow-raised: var(--quiet-panel-shadow);border-color:var(--quiet-panel-border);box-shadow:var(--quiet-panel-shadow)}.welcome-screen .settings,.welcome-screen .shortcuts,.welcome-screen .profile-dialog .confirm-card{background:linear-gradient(145deg,var(--quiet-panel-field),var(--quiet-panel-surface));border-radius:22px}.welcome-screen .profile-menu{padding:8px;background:linear-gradient(145deg,var(--quiet-panel-field),var(--quiet-panel-surface));border-radius:18px}.welcome-screen .profile-menu:before{content:"Ruangmu";display:block;padding:7px 10px 5px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--quiet-muted)}.welcome-screen button.profile-item{border-radius:12px}.welcome-screen button.profile-item:hover:not(:disabled){background:color-mix(in srgb,var(--quiet-button) 11%,var(--quiet-panel-field))}.welcome-screen .settings h2,.welcome-screen .shortcuts h2{margin-bottom:6px;font:600 22px/1.2 Georgia,Times New Roman,serif;letter-spacing:-.015em}.welcome-screen .panel-intro{max-width:48ch;margin:0 0 24px;color:var(--quiet-muted);font-size:13px;line-height:1.55}.welcome-screen .shortcuts .shortcut-groups{gap:16px}.welcome-screen .shortcuts section{padding:16px;border:1px solid color-mix(in srgb,var(--quiet-button) 15%,transparent);border-radius:16px;background:color-mix(in srgb,var(--quiet-panel-field) 84%,transparent)}.welcome-screen .shortcuts h3{color:var(--quiet-muted)}.welcome-screen .settings .setup-field+.setup-field{padding-top:18px;border-top:1px solid color-mix(in srgb,var(--quiet-button) 16%,transparent)}.welcome-screen .settings .setup-label,.welcome-screen .profile-menu:before{color:var(--quiet-muted)}.welcome-screen .profile-dialog .confirm-card{width:min(480px,92vw)}.welcome-screen .profile-dialog .confirm-title{font:600 24px/1.2 Georgia,Times New Roman,serif;letter-spacing:-.015em}.welcome-screen .profile-dialog .profile-picture{padding:12px;border:1px solid color-mix(in srgb,var(--quiet-button) 16%,transparent);border-radius:16px;background:color-mix(in srgb,var(--quiet-panel-field) 86%,transparent)}.welcome-screen .profile-dialog .primary{color:var(--quiet-button-ink);background:var(--quiet-button);border-color:var(--quiet-button)}.welcome-screen button.panel-close{border-radius:50%}.welcome-screen button.panel-close:hover:not(:disabled){background:color-mix(in srgb,var(--quiet-button) 12%,var(--quiet-panel-field));border-color:color-mix(in srgb,var(--quiet-button) 25%,transparent)}.quiet-close{display:block;margin:0 0 16px auto}:root[data-theme=gelap] .welcome-screen{--quiet-bg: #272d29;--quiet-ink: #f6f3e7;--quiet-muted: #b5b7ae;--quiet-button: #c0cbb1;--quiet-button-ink: #233329}@media(prefers-color-scheme:dark){:root:not([data-theme]) .welcome-screen{--quiet-bg: #272d29;--quiet-ink: #f6f3e7;--quiet-muted: #b5b7ae;--quiet-button: #c0cbb1;--quiet-button-ink: #233329}}@media(max-width:720px){.quiet-welcome{padding:24px}.quiet-brand{font-size:22px;gap:7px}.quiet-header{flex-wrap:wrap;gap:20px}.quiet-actions{margin-left:auto}.quiet-hero{grid-template-columns:1fr;gap:0;padding:55px 0 20px;min-height:0;margin:0}.quiet-copy h1{font-size:clamp(44px,8vw,64px)}.quiet-pieces{max-width:320px;margin:25px auto 50px}.quiet-lobby{padding:12px}}@media(prefers-reduced-motion:reduce){.quiet-piece,.quiet-play,.quiet-theme{transition:none}.quiet-piece:hover,.quiet-play:hover:not(:disabled),.quiet-theme:hover:not(:disabled){transform:none}.quiet-theme.is-switching>svg{animation:none}}:root[data-ui-scale=kecil] .quiet-welcome{width:108.696%;min-height:108.696%}:root[data-ui-scale=besar] .quiet-welcome{width:90.91%;min-height:90.91%}:root[data-ui-scale=kecil] .quiet-pieces{scale:.8464}:root[data-ui-scale=besar] .quiet-pieces{scale:1.21}.ingame{--quiet-bg: #faf7f1;--quiet-ink: #202b27;--quiet-muted: #687166;--quiet-button: #465f4e;--quiet-button-ink: #fffdf5;--quiet-coral: #ad6047;--surface-panel: var(--quiet-bg);--text-primary: var(--quiet-ink);--text-muted: var(--quiet-muted);--accent: var(--quiet-button);--border-subtle: #d8dcd1;--hud-row: calc(64px * var(--ui-scale-factor))}:root:has(.ingame):not([data-theme=gelap]){--table-color: #f4f3f1}:root[data-theme=gelap]:has(.ingame){--table-color: #393731}:root[data-theme=gelap] .ingame{--quiet-bg: #252e28;--quiet-ink: #f4f0e5;--quiet-muted: #b5b9ac;--quiet-button: #c2ccb0;--quiet-button-ink: #233329;--quiet-coral: #de9575;--border-subtle: #4d594c}@media(prefers-color-scheme:dark){:root:not([data-theme]):has(.ingame){--table-color: #393731}:root:not([data-theme]) .ingame{--quiet-bg: #252e28;--quiet-ink: #f4f0e5;--quiet-muted: #b5b9ac;--quiet-button: #c2ccb0;--quiet-button-ink: #233329;--quiet-coral: #de9575;--border-subtle: #4d594c}}.ingame .hud-top{position:static;height:calc(62px * var(--ui-scale-factor));padding:0 calc(28px * var(--ui-scale-factor));align-items:center;gap:calc(24px * var(--ui-scale-factor));background:var(--quiet-bg);border-bottom:1px solid var(--border-subtle);pointer-events:auto}.hud-brand{display:flex;align-items:center;flex:none;gap:calc(9px * var(--ui-scale-factor));color:var(--quiet-ink);font:calc(32px * var(--ui-scale-factor)) Georgia,serif;padding-right:calc(24px * var(--ui-scale-factor));border-right:1px solid var(--border-subtle)}.hud-brand svg{display:none}.ingame .hud-bar{flex:1;min-width:0;height:auto;padding:0;border:0;border-radius:0;background:none;box-shadow:none;justify-content:start}.ingame .hud-progress{display:flex;align-items:center;gap:calc(16px * var(--ui-scale-factor));min-width:0}.hud-puzzle-title{min-width:0;max-width:calc(230px * var(--ui-scale-factor));font:calc(24px * var(--ui-scale-factor)) Georgia,serif;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hud-piece-count{flex:none;padding-left:calc(14px * var(--ui-scale-factor));border-left:1px solid var(--border-subtle);font-size:calc(12px * var(--ui-scale-factor));color:var(--quiet-muted);white-space:nowrap}.ingame .hud-progress-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ingame .hud-progress-row{display:flex;align-items:center;flex-direction:row-reverse;gap:calc(10px * var(--ui-scale-factor));width:calc(156px * var(--ui-scale-factor));font-size:calc(12px * var(--ui-scale-factor))}.ingame .hud-progress-percent{flex:none;color:var(--quiet-ink)}.ingame .hud-progress-track{flex:1;height:5px}.ingame .hud-progress-fill{background:var(--quiet-button);box-shadow:none;transition:none}.ingame .hud-account{height:calc(40px * var(--ui-scale-factor));flex:none;padding:0;margin-left:0;gap:calc(12px * var(--ui-scale-factor));align-items:center;border:0;background:none;box-shadow:none}.ingame .hud-account>*+*:before{display:none}.ingame .hud-square,.ingame .quiet-theme{width:calc(36px * var(--ui-scale-factor));height:calc(36px * var(--ui-scale-factor));flex:none;padding:0;--hover-grow: 1.06}.ingame .hud-share{width:auto}.ingame .hud-donate button{color:var(--quiet-coral)}.ingame .hud-donate svg{width:calc(22px * var(--ui-scale-factor));height:calc(22px * var(--ui-scale-factor))}.ingame .hud-share>button{display:flex;gap:calc(8px * var(--ui-scale-factor));padding:0 calc(16px * var(--ui-scale-factor));min-height:calc(36px * var(--ui-scale-factor));border:1px solid var(--border-subtle);border-radius:999px;color:var(--quiet-ink)}.share-trigger-label{font-size:calc(12px * var(--ui-scale-factor))}.ingame .hud-share>button:hover:not(:disabled){border-color:var(--quiet-button);background:color-mix(in srgb,var(--quiet-button) 10%,var(--quiet-bg))}.game-navigation{position:absolute;inset:0 0 auto;z-index:1;background:var(--quiet-bg);color:var(--quiet-ink);border-bottom:1px solid var(--border-subtle);font-size:calc(13px * var(--ui-scale-factor))}.game-navigation [hidden]{display:none!important}.ingame .hud{z-index:1}.ingame .hud-stats{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ingame .hud-settings>button{width:100%;height:100%;padding:0;background:none;border:0}.nav-secondary{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:calc(20px * var(--ui-scale-factor));min-height:calc(62px * var(--ui-scale-factor));padding:calc(8px * var(--ui-scale-factor)) calc(28px * var(--ui-scale-factor))}.nav-left{grid-column:1;display:flex;align-items:center;gap:calc(16px * var(--ui-scale-factor));min-width:0}.nav-presence{flex:0 1 auto;min-width:0}.nav-tools{grid-column:2}.nav-right{grid-column:3;grid-row:1;display:flex;justify-content:flex-end;align-items:center;gap:calc(16px * var(--ui-scale-factor))}.nav-actions,.ingame .dock-actions{display:contents}.dock-actions button[aria-label=Pintasan]{order:1}.dock-actions button[aria-label=Keluar]{order:4}.nav-exit-separator{order:3;flex:none;width:1px;height:calc(24px * var(--ui-scale-factor));background:var(--border-subtle)}.nav-right .dock button,.nav-right .nav-popover-toggle{height:calc(40px * var(--ui-scale-factor));min-height:calc(40px * var(--ui-scale-factor))}.ingame .dock:not(.dock-actions){display:block}.dock-tools{display:flex;align-items:center;gap:calc(8px * var(--ui-scale-factor))}.nav-social{order:2;display:flex;align-items:center;gap:calc(10px * var(--ui-scale-factor))}.ingame .dock button,.nav-popover-toggle{min-height:calc(38px * var(--ui-scale-factor));padding:calc(8px * var(--ui-scale-factor)) calc(10px * var(--ui-scale-factor));display:inline-flex;align-items:center;justify-content:center;flex:none;gap:calc(8px * var(--ui-scale-factor));border:1px solid var(--border-subtle);border-radius:calc(8px * var(--ui-scale-factor));background:none;color:var(--quiet-ink);line-height:1.25}.ingame .dock button[aria-label=Perkecil],.ingame .dock button[aria-label=Perbesar]{border-radius:999px}.ingame .dock button[aria-label=Keluar]{border:0;padding-left:0;padding-right:0}.ingame .dock button[aria-label=Keluar] .dock-label{max-width:calc(76px * var(--ui-scale-factor));white-space:normal}.ingame .dock button svg,.nav-popover-toggle>svg{width:calc(19px * var(--ui-scale-factor));height:calc(19px * var(--ui-scale-factor));flex:none}.ingame .dock button:hover:not(:disabled),.nav-popover-toggle:hover{background:color-mix(in srgb,var(--quiet-button) 10%,var(--quiet-bg))}.ingame .dock button[data-selected=true],.nav-popover-toggle[aria-expanded=true],.ingame .nav-popover-toggle[aria-expanded=true]{background:var(--quiet-button);border-color:var(--quiet-button);color:var(--quiet-button-ink)}.ingame .dock button.danger{color:var(--quiet-ink)}.ingame .dock button.danger:hover{color:var(--quiet-coral);background:none}.dock-label{font-size:calc(12px * var(--ui-scale-factor));white-space:nowrap}.ingame .dock-zoom{min-width:calc(46px * var(--ui-scale-factor));padding:calc(8px * var(--ui-scale-factor));border:1px solid var(--border-subtle);border-radius:calc(8px * var(--ui-scale-factor));color:var(--quiet-ink);font-size:calc(12px * var(--ui-scale-factor));text-align:center}.ingame .nav-social .room-chat-toggle{padding:calc(8px * var(--ui-scale-factor)) calc(10px * var(--ui-scale-factor));font-size:calc(12px * var(--ui-scale-factor));box-shadow:none}.ingame .nav-popover-toggle>span{display:inline-flex;flex-direction:column;text-align:left}.ingame .room-people{display:flex;align-items:center;gap:calc(24px * var(--ui-scale-factor));width:100%;min-width:0;overflow-x:auto;padding:5px;scrollbar-width:thin}.ingame .room-bubble{display:flex;align-items:center;flex:none;gap:calc(10px * var(--ui-scale-factor));max-width:calc(150px * var(--ui-scale-factor));padding:0;border:0;background:none;box-shadow:none}.ingame .room-avatar{width:calc(30px * var(--ui-scale-factor));height:calc(30px * var(--ui-scale-factor));font-size:calc(12px * var(--ui-scale-factor))}.ingame .room-bubble[data-presence] .room-avatar{box-shadow:0 0 0 2px var(--quiet-bg),0 0 0 4px var(--presence-color)}.ingame .room-bubble[data-presence=online]{--presence-color: #38a86d}.ingame .room-bubble[data-presence=idle]{--presence-color: #d6635a}.ingame .room-bubble-name{min-width:0;font-size:calc(13px * var(--ui-scale-factor));color:var(--quiet-ink)}.ingame .room-status{position:absolute;top:calc(100% + 8px);left:16px;background:var(--quiet-bg);color:var(--quiet-coral);border:1px solid var(--border-subtle);font-size:12px}.nav-popover{position:absolute;right:calc(28px * var(--ui-scale-factor));top:calc(100% + 1px);width:min(calc(340px * var(--ui-scale-factor)),calc(100vw - 28px));max-height:calc(100vh - 180px);padding:calc(8px * var(--ui-scale-factor)) calc(16px * var(--ui-scale-factor)) calc(16px * var(--ui-scale-factor));border:1px solid var(--border-subtle);border-radius:calc(10px * var(--ui-scale-factor));background:var(--quiet-bg);box-shadow:var(--shadow-raised)}.nav-popover-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:calc(6px * var(--ui-scale-factor))}.nav-popover-heading h2{margin:0;font-size:calc(15px * var(--ui-scale-factor));font-weight:400}.nav-popover-heading .panel-close{position:static;margin:0;width:28px;height:28px}.nav-chat-content{height:min(calc(200px * var(--ui-scale-factor)),42vh)}.ingame .room{position:static;display:block;height:100%;pointer-events:auto;font-size:inherit}.ingame .room-chat{position:static;display:block;height:100%;width:100%}.ingame .room-chat-body{position:static;display:flex;flex-direction:column;width:100%;height:100%;padding:0;border:0;background:none;box-shadow:none;gap:calc(12px * var(--ui-scale-factor))}.ingame .room-chat-log{flex:1;min-height:0;max-height:none;gap:14px;padding:0 6px 0 0}.ingame .room-chat-line{display:grid;grid-template-columns:28px minmax(0,1fr);gap:3px 10px;line-height:1.5}.ingame .room-chat-line b{grid-column:2;margin:0;font-size:calc(12px * var(--ui-scale-factor))}.ingame .room-chat-line>span:not(.room-message-avatar){grid-column:2;min-width:0}.room-message-avatar{grid-column:1;grid-row:1 / 3;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--player-color);border-radius:50%;background:color-mix(in srgb,var(--player-color) 20%,var(--quiet-bg));color:var(--quiet-ink);font-size:12px;overflow:hidden}.room-message-avatar img{width:100%;height:100%;object-fit:cover}.ingame .room-chat-form{flex:none;gap:4px;border-top:1px solid var(--border-subtle);padding-top:12px}.ingame .room-chat-form input{padding:calc(9px * var(--ui-scale-factor)) calc(10px * var(--ui-scale-factor));background:none;border:1px solid var(--border-subtle);border-radius:999px}.ingame .room-chat-tools{gap:0}.ingame .room-tray-button{padding:4px}.room-chat-send{display:grid;place-items:center;width:36px;height:36px;flex:none;padding:8px;border-radius:50%;border:0;background:var(--quiet-coral);color:var(--quiet-bg)}.ingame .room-chat-send:hover:not(:disabled){background:var(--quiet-coral)}.ingame .room-chat-unread{background:var(--quiet-coral);color:var(--quiet-bg)}.ingame .room-chat-trays{position:relative}.ingame .room-tray{position:absolute;bottom:0;right:0;width:min(300px,100%);z-index:1;background:var(--quiet-bg);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:var(--shadow-raised)}.game-contributions{position:absolute;left:calc(12px * var(--ui-scale-factor));margin-top:calc(10px * var(--ui-scale-factor));z-index:0;width:min(calc(264px * var(--ui-scale-factor)),calc(100vw - 24px))}.ingame .shares{position:static;width:100%;padding:calc(16px * var(--ui-scale-factor)) calc(12px * var(--ui-scale-factor));border:1px solid var(--border-subtle);background:var(--quiet-bg);box-shadow:none}.ingame .shares[hidden]{display:none}.ingame .shares-title{font-size:calc(10px * var(--ui-scale-factor));margin-bottom:calc(14px * var(--ui-scale-factor))}.ingame .shares-list{gap:calc(12px * var(--ui-scale-factor));max-height:40vh;overflow-y:auto}.ingame .shares-row{grid-template-columns:minmax(0,1fr) calc(112px * var(--ui-scale-factor)) calc(34px * var(--ui-scale-factor));gap:calc(10px * var(--ui-scale-factor))}.ingame .shares-name,.ingame .shares-percent{font-size:calc(12px * var(--ui-scale-factor))}.ingame .shares-track{height:3px}.ingame .shares-fill{box-shadow:none;transition:none}.ingame .profile-menu,.ingame .settings,.ingame .shortcuts,.ingame .confirm-card{background:var(--quiet-bg);border-color:var(--border-subtle)}.ingame .settings h2,.ingame .shortcuts h2,.ingame .confirm-title{font-family:Georgia,serif}@media(max-width:1300px){.nav-secondary{gap:12px;padding-left:18px;padding-right:18px}.nav-left{grid-column:1;grid-row:1;justify-content:flex-start}.nav-presence{flex:0 1 auto;max-width:100%}.dock-tools{gap:5px}.ingame .dock button{padding:8px}.dock-actions .dock-label{display:none}.ingame .hud-progress-row{width:calc(115px * var(--ui-scale-factor))}}@media(max-width:1000px){.hud-piece-count,.dock-actions .dock-label{display:none}.nav-secondary{gap:10px}.ingame .hud-top{padding:0 18px;gap:18px}.ingame .hud-brand{font-size:calc(22px * var(--ui-scale-factor));padding-right:18px}.hud-puzzle-title{font-size:calc(16px * var(--ui-scale-factor))}.ingame .hud-account{gap:6px}.nav-popover-toggle{padding:8px}.ingame .nav-social .room-chat-toggle{padding:10px}}@media(max-width:760px){.nav-secondary{gap:10px;grid-template-columns:minmax(0,1fr) auto}.nav-right{grid-column:2}.nav-tools{grid-column:1 / -1;grid-row:2;justify-self:center}.nav-left{gap:10px}.nav-presence{flex:0 1 auto;max-width:none}.ingame .hud-top{flex-wrap:wrap;height:auto;min-height:calc(62px * var(--ui-scale-factor));gap:8px;padding:10px 14px}.ingame .hud-brand{border:0;padding:0}.ingame .hud-account{margin-left:auto}.ingame .hud-bar{order:3;flex-basis:100%}.ingame .hud-progress-row{width:100px}.hud-puzzle-title{max-width:65vw}.ingame .share-trigger-label{display:none}.ingame .hud-share>button{padding:8px}.nav-popover{right:14px;max-height:calc(100vh - 230px)}.nav-chat-content{height:min(calc(230px * var(--ui-scale-factor)),34vh)}}@media(max-width:450px){.nav-right{gap:8px}.nav-secondary{gap:8px;padding:8px 10px}.nav-popover-toggle>svg{display:none}.ingame .hud-account{gap:1px}.ingame .hud-brand{font-size:calc(20px * var(--ui-scale-factor))}.ingame .hud-share>button{padding:4px}.ingame .dock button{padding:6px}}.quiet-lobby{--surface-panel: var(--quiet-bg);--surface-board: var(--quiet-bg);--text-primary: var(--quiet-ink);--text-muted: var(--quiet-muted);--accent: var(--quiet-button);--border-subtle: color-mix(in srgb, var(--quiet-ink) 24%, var(--quiet-bg))}.quiet-lobby .setup-card{color:var(--quiet-ink);box-shadow:none}.quiet-lobby .setup-head h1{font-family:Georgia,serif;font-weight:400}.quiet-lobby .setup-head{position:relative;padding-right:44px}.quiet-lobby .quiet-close{position:absolute;display:grid;place-items:center;width:36px;height:36px;top:0;right:0;margin:0;padding:0;line-height:1;background:transparent;border:0}.quiet-lobby .quiet-close svg{display:block;width:18px;height:18px}.quiet-lobby .setup-summary{display:flex;align-items:center;gap:12px;margin-left:auto}.quiet-lobby .setup-notice:empty{display:none}.quiet-lobby .setup-summary canvas{flex:none;width:72px;height:48px;border-radius:6px}.quiet-lobby .primary,.quiet-lobby button[data-selected=true]{background:var(--quiet-button);color:var(--quiet-button-ink);border-color:transparent}.quiet-lobby .theme-card[data-selected=true]{background:transparent;border-color:#d18b75;box-shadow:inset 0 0 0 1px #d18b75}.quiet-lobby .primary:hover:not(:disabled){background:color-mix(in srgb,var(--quiet-button) 88%,var(--quiet-ink))}
