:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1216;--panel:#12161cb8;--panel-solid:#12161c;--panel-border:#ffffff14;--text:#eef1f5;--text-dim:#eef1f59e;--accent:#f2b544;--radius:14px;--shadow:0 10px 30px #00000059;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--sidebar-width:300px;--result-pad:8px;--result-font-size:clamp(24px, 5vw, 36px)}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;margin:0}body{position:fixed;inset:0;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#app{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) auto;height:100%;display:grid}#stage{grid-area:1/1/2/2;min-height:0;position:relative;overflow:hidden}#scene{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}#scene:active{cursor:grabbing}.hud{pointer-events:none;z-index:2;align-items:center;gap:10px;display:flex;position:absolute;left:0;right:0}.hud>*{pointer-events:auto}.hud-top{padding:calc(var(--result-pad) + var(--safe-top)) calc(12px + var(--safe-right)) var(--result-pad) calc(14px + var(--safe-left));min-height:calc(var(--safe-top) + var(--result-pad) * 2 + (var(--result-font-size) * 1.2 + var(--result-pad) * 2 + 2px));justify-content:flex-end;align-items:center;top:0}.icon-button{border:1px solid var(--panel-border);background:var(--panel);width:42px;height:42px;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(10px);border-radius:50%;place-items:center;padding:0;transition:background .12s,color .12s,border-color .12s;display:inline-grid}.icon-button:hover{background:#1e242cd9}.icon-button[aria-expanded=true]{color:var(--accent);border-color:#f2b54473}.icon-button-small{-webkit-backdrop-filter:none;background:#ffffff0d;width:36px;height:36px}.icon-button-small:hover{background:#ffffff1a}.result{top:calc(var(--result-pad) + var(--safe-top));padding:var(--result-pad) 18px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--panel-border);font-size:var(--result-font-size);font-variant-numeric:tabular-nums;letter-spacing:.02em;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(10px);z-index:2;text-align:center;white-space:normal;max-width:min(90%,28rem);font-weight:800;line-height:1.25;transition:opacity .22s,transform .26s cubic-bezier(.2,.9,.3,1.2);position:absolute;left:50%;transform:translate(-50%,-10px)}.result.is-compact{font-size:clamp(18px,4vw,28px)}.result.is-visible{opacity:1;transform:translate(-50%)}#app.is-result-hidden .result,#app.is-result-hidden .result.is-visible{opacity:0;visibility:hidden}.result .result-total{color:var(--accent)}.result .result-dim{color:var(--text-dim);font-weight:600}.result-part{white-space:nowrap}.result-dot{background:var(--swatch);vertical-align:.06em;border-radius:50%;width:.42em;height:.42em;margin-right:.22em;display:inline-block;box-shadow:inset 0 0 0 1px #00000059}.hint{left:50%;bottom:calc(18px + var(--safe-bottom));color:var(--text-dim);pointer-events:none;white-space:nowrap;z-index:2;background:#12161c80;border-radius:999px;margin:0;padding:8px 14px;font-size:14px;transition:opacity .4s;position:absolute;transform:translate(-50%)}.hint.is-hidden{opacity:0}.loading{background:var(--bg);color:var(--text-dim);z-index:5;place-content:center;justify-items:center;gap:14px;font-size:15px;transition:opacity .3s;display:grid;position:absolute;inset:0}.loading.is-hidden{opacity:0;pointer-events:none}.loading.is-error{color:#ff8a80}.spinner{border:3px solid #ffffff1f;border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.debug-panel{left:calc(12px + var(--safe-left));bottom:calc(18px + var(--safe-bottom));color:#b8f5c2;pointer-events:none;z-index:3;background:#0009;border-radius:8px;margin:0;padding:8px 10px;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute}.panel{width:var(--sidebar-width);background:var(--panel-solid);border-left:1px solid var(--panel-border);min-height:0;color:var(--text);flex-direction:column;grid-area:1/2/2/3;display:flex}.panel-header{padding:calc(10px + var(--safe-top)) calc(12px + var(--safe-right)) 10px 20px;border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;gap:10px;display:flex}.panel-title{margin:0;font-size:17px;font-weight:700}.panel-body{min-height:0;padding:20px 20px calc(20px + var(--safe-bottom));padding-right:calc(20px + var(--safe-right));flex:1;align-content:start;gap:26px;display:grid;overflow-y:auto}.panel-section{gap:10px;display:grid}.panel-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0;font-size:12px;font-weight:700}.field{gap:8px;display:grid}.panel-section[hidden],.field[hidden]{display:none}.field-label{color:var(--text-dim);font-size:14px}.field-row{grid-template-columns:1fr auto;align-items:center;gap:12px;min-height:34px}label.field-row{cursor:pointer}.field-row-fill{grid-template-columns:auto minmax(0,1fr)}.stepper{border:1px solid var(--panel-border);background:#ffffff0d;border-radius:999px;align-items:center;padding:3px;display:flex}.stepper-btn{appearance:none;width:30px;height:30px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;font-size:18px;font-weight:600;line-height:1}.stepper-btn:hover:not(:disabled){background:#ffffff1a}.stepper-btn:disabled{color:var(--text-dim);opacity:.4;cursor:default}.stepper-value{text-align:center;font-variant-numeric:tabular-nums;min-width:34px;font-size:15px;font-weight:700}.die-editor{--die:#ffffff29;--die-face:#f3ead6;display:grid}.die-tabs{gap:4px;padding:0 6px;display:flex}.die-tabs[hidden]{display:none}.die-tab{appearance:none;border:1px solid var(--tab,#ffffff29);min-width:0;color:var(--text-dim);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border-bottom:0;border-radius:10px 10px 0 0;flex:1 1 0;padding:7px 0 9px;font-size:13px;font-weight:700;line-height:1;transition:background .12s,color .12s}.die-tab:hover{background:#ffffff0d}.die-tab[aria-selected=true]{background:var(--tab);border-color:var(--tab);color:var(--tab-ink,var(--text));z-index:1;margin-bottom:-2px;padding-bottom:11px;position:relative}.die-card{border:2px solid var(--die);background:#ffffff08;border-radius:14px;gap:8px;padding:10px 12px;transition:border-color .16s;display:grid}.die-editor.is-shared .die-card{border-color:var(--panel-border)}.select{appearance:none;width:auto;max-width:100%;font:inherit;color:var(--text);border:1px solid var(--panel-border);text-overflow:ellipsis;cursor:pointer;background:#ffffff0d url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23eef1f5' d='M1 1l5 5 5-5'/></svg>") right 12px center no-repeat;border-radius:999px;justify-self:end;padding:7px 32px 7px 14px;font-size:14px;font-weight:600}.color-pick{appearance:none;border:1px solid var(--panel-border);color:var(--text);font:inherit;cursor:pointer;background:#ffffff0d;border-radius:999px;align-items:center;gap:10px;padding:4px 4px 4px 14px;transition:background .12s,border-color .12s;display:inline-flex}.color-pick:hover{background:#ffffff17}.color-pick[aria-expanded=true]{border-color:var(--die);background:#ffffff17}.color-name{font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.color-dot{background:var(--die-face);border-radius:50%;width:26px;height:26px;box-shadow:inset 0 0 0 1px #00000059,0 0 0 1px #ffffff24}.color-strip{flex-wrap:wrap;gap:10px;padding:2px 2px 8px;display:flex}.color-strip[hidden]{display:none}.color-option{appearance:none;background:var(--c);cursor:pointer;border:0;border-radius:50%;width:28px;height:28px;padding:0;transition:transform .12s,box-shadow .12s;position:relative;box-shadow:inset 0 0 0 1px #00000059,0 0 0 1px #ffffff24}.color-option:hover{transform:scale(1.08)}.color-option[aria-pressed=true],.color-option-custom.is-active{box-shadow:inset 0 0 0 1px #00000059, 0 0 0 2px var(--panel-solid), 0 0 0 4px var(--text)}.color-option.is-default:after{content:"";background:var(--text-dim);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:-8px;left:50%}.color-option-custom{background:conic-gradient(#ff5a5a,#ffd23f,#5df09a,#4fb4ff,#a37dff,#ff5ad2,#ff5a5a)}.color-option-custom:has(.color-input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.color-input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.switch{appearance:none;cursor:pointer;background:#ffffff29;border:0;border-radius:999px;width:46px;height:27px;margin:0;transition:background .16s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:21px;height:21px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0006}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(19px)}.panel-tips ul{color:var(--text-dim);margin:0;padding-left:18px;font-size:13px;line-height:1.7}kbd{font:inherit;border:1px solid var(--panel-border);background:#ffffff1a;border-radius:6px;padding:1px 6px;font-size:12px}.tip-toggle{vertical-align:1px;font:inherit;color:var(--text);border:1px solid var(--panel-border);white-space:nowrap;background:#ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:1px 4px 1px 7px;font-size:12px;display:inline-flex}.tip-toggle:after{content:"";background:radial-gradient(circle 3.5px at 11.5px 5px, #fff 100%, transparent 101%), var(--accent);border-radius:999px;width:16px;height:10px}@media (min-width:720px){.panel:not(.is-open){display:none}}@media (max-width:719px){.panel{z-index:4;width:min(320px,86vw);margin-bottom:calc(56px + var(--safe-bottom));border-bottom:1px solid var(--panel-border);box-shadow:var(--shadow);visibility:hidden;border-bottom-left-radius:16px;grid-area:1/1/2/2;place-self:stretch end;transition:transform .24s cubic-bezier(.2,.8,.2,1),visibility 0s linear .24s;transform:translate(100%)}.panel.is-open{visibility:visible;transition:transform .24s cubic-bezier(.2,.8,.2,1);transform:none}#app.is-panel-open .result{top:auto;bottom:calc(12px + var(--safe-bottom));transform:translate(-50%,10px)}#app.is-panel-open .result.is-visible{transform:translate(-50%)}#app.is-panel-open .hint{opacity:0}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
