*{box-sizing:border-box;margin:0;padding:0}html,body,#root,.app,.orbs{color:#ffffff80;-webkit-user-select:none;user-select:none;touch-action:manipulation;overscroll-behavior:none;background:#000;width:100%;height:100dvh;font-family:Rubik,system-ui,sans-serif;font-weight:400}.orbs{cursor:default;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.orbs *{-webkit-user-select:none;user-select:none}.orbs ::selection{background:0 0}.orb{color:#00000080;cursor:grab;touch-action:none;appearance:none;border:1.5px solid #000;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:0;font-family:Rubik,system-ui,sans-serif;font-weight:500;line-height:1;display:flex;position:absolute;top:50%;left:50%;overflow:visible}.orb:active,.orb.dragging{cursor:grabbing}.orb.pending{cursor:grab}.orb.win{background:#c8f3d6}.sat{color:#00000080;pointer-events:none;border:1.5px solid #000;border-radius:50%;justify-content:center;align-items:center;font-family:Rubik,system-ui,sans-serif;font-weight:500;line-height:1;display:flex;position:absolute;top:50%;left:50%}.orb-inner{color:#00000080;pointer-events:none;border:1.5px solid #00000080;border-radius:50%;justify-content:center;align-items:center;font-weight:500;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.orb-ops{pointer-events:none;position:absolute;inset:0}.orb-op{color:#0000008c;cursor:pointer;pointer-events:auto;justify-content:center;align-items:center;width:32px;height:32px;font-family:Rubik,system-ui,sans-serif;font-size:20px;line-height:1;display:flex;position:absolute;top:50%;left:50%}.orb-op:hover{opacity:1}.hud{z-index:10;letter-spacing:.06em;color:#ffffff80;pointer-events:none;font-family:Rubik,system-ui,sans-serif;font-size:12px;font-weight:500;line-height:1;position:absolute}.hud.tl{top:calc(18px + env(safe-area-inset-top));left:calc(18px + env(safe-area-inset-left))}.hud.tr{top:calc(18px + env(safe-area-inset-top));right:calc(18px + env(safe-area-inset-right))}.hud.tc{top:calc(18px + env(safe-area-inset-top));color:#fff6;font-size:14px;left:50%;transform:translate(-50%)}.hud.br{bottom:calc(18px + env(safe-area-inset-bottom));right:calc(18px + env(safe-area-inset-right))}.hud.off,.menu-btn.off{opacity:0;pointer-events:none;transition:opacity .45s}.menu-btn{z-index:10;left:calc(18px + env(safe-area-inset-left));bottom:calc(18px + env(safe-area-inset-bottom));pointer-events:auto;cursor:pointer;flex-direction:column;justify-content:space-between;width:18px;height:13px;display:flex;position:absolute}.menu-btn span{background:#ffffff80;width:100%;height:1.5px;display:block}.menu{z-index:20;color:#000;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:16px;font-family:Rubik,system-ui,sans-serif;font-size:13px;display:flex;position:absolute;inset:0}.menu button{color:#000;letter-spacing:.08em;cursor:pointer;font-size:13px}.menu button:hover{opacity:.5}.timeout-veil{z-index:25;pointer-events:none;background:#000;position:absolute;inset:0}.end{z-index:30;pointer-events:auto;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;inset:0}.end.light button{color:#000}.end.dark button{color:#ffffff8c}.end button{letter-spacing:.1em;cursor:pointer;font-family:Rubik,system-ui,sans-serif;font-size:14px;font-weight:500}.end button:hover{opacity:.45}.sheet{color:#000;background:#fff;width:100%;height:100%;position:relative;overflow:auto}.sheet-chrome{top:calc(18px + env(safe-area-inset-top));left:calc(18px + env(safe-area-inset-left));right:calc(18px + env(safe-area-inset-right));letter-spacing:.08em;pointer-events:none;z-index:2;justify-content:space-between;font-size:12px;font-weight:500;display:flex;position:absolute}.sheet-chrome.dark{color:#ffffff80}.sheet-nav{flex-direction:column;justify-content:center;align-items:center;gap:22px;min-height:100%;display:flex}.sheet-nav button,.sheet-back{color:#000;letter-spacing:.14em;cursor:pointer;font-size:14px}.sheet-nav button:hover,.sheet-back:hover{opacity:.45}.sheet-back{padding:0 0 calc(28px + env(safe-area-inset-bottom));text-align:left;margin:2.2em 0 0;display:block}.sheet-back-fixed{left:calc(28px + env(safe-area-inset-left));margin:0;position:absolute;bottom:0}.about-sheet{overflow:auto}.about{max-width:34rem;padding:calc(72px + env(safe-area-inset-top)) 28px 32px;text-align:left;margin:0 auto;font-size:15px;font-weight:400;line-height:1.75}.about p+p{margin-top:1.15em}.about-soon{opacity:.72}.completed{max-width:28rem;padding:calc(72px + env(safe-area-inset-top)) 24px 32px;margin:0 auto}.completed-empty{text-align:center;letter-spacing:.08em;opacity:.55;font-size:13px}.completed-list{flex-direction:column;gap:8px;list-style:none;display:flex}.completed-list button{text-align:left;color:#000;cursor:pointer;border-bottom:1px solid #eee;width:100%;padding:14px 4px}.completed-vals{letter-spacing:.06em;font-size:15px;display:block}.completed-meta{letter-spacing:.1em;opacity:.5;margin-top:6px;font-size:11px;display:block}.hud-contrib{right:calc(18px + env(safe-area-inset-right));bottom:calc(36px + env(safe-area-inset-bottom));letter-spacing:.06em;color:#ffffff80;pointer-events:none;z-index:10;font-size:11px;position:absolute}.hud-contrib.off{opacity:0}.menu .sheet-chrome{color:#000}.end .sheet-chrome{pointer-events:none}.end.dark .sheet-chrome{color:#ffffff80}.end.light .sheet-chrome{color:#000}.app{--stage:min(840px, calc(100% - 32px));cursor:default;-webkit-user-select:none;user-select:none;text-transform:uppercase;flex-direction:column;display:flex}button{font:inherit;color:inherit;cursor:pointer;appearance:none;background:0 0;border:0}.tray{border-bottom:1px solid #1a1a1a;flex:0 0 20%;justify-content:center;align-items:center;min-height:0;display:flex}.tray-stage{width:var(--stage);justify-content:center;align-items:center;height:100%;display:flex;position:relative}.tray-stat{letter-spacing:.16em;color:#4a4a4a;font-size:11px;line-height:1;position:absolute}.tray-stat.paths{top:16px;left:0}.tray-stat.diff{top:16px;right:0}.tray-stat.found{bottom:16px;left:0}.tray-row{justify-content:center;align-items:center;gap:clamp(8px,1.6vw,28px);width:100%;display:flex}.tray-die{cursor:grab;flex:none}.tray-die.waiting,.tray-die.used{cursor:default}.tray-die.used{opacity:.22}.tray-die.waiting{opacity:.7}.die{width:clamp(40px,5.6vw,88px);height:clamp(40px,5.6vw,88px);display:block}.die-svg{pointer-events:none;width:100%;height:100%;display:block;overflow:visible}.die-svg text{fill:#f4f4f4;font-family:JetBrains Mono,ui-monospace,monospace;font-weight:500}.roll{letter-spacing:.22em;border:1px solid #f4f4f4;padding:8px 14px 7px;font-size:11px;line-height:1;position:absolute;bottom:14px;right:0}.roll:hover{color:#000;background:#f4f4f4}.board{flex-direction:column;flex:80%;align-items:center;min-height:0;display:flex}.stage{width:var(--stage);flex-direction:column;flex:1;min-height:0;display:flex}.panels{flex-direction:column;flex:1;gap:0;min-height:0;padding:18px 0 8px;display:flex;overflow-y:auto}.stack{flex-direction:column;display:flex}.panel{background:#141414;grid-template-columns:88px minmax(0,1fr) 64px;min-height:96px;display:grid}.panel-result{letter-spacing:-.03em;color:#f4f4f4;border-right:1px solid #1c1c1c;justify-content:center;align-items:center;font-size:22px;display:flex}.panel-result.drag{cursor:grab}.panel-result.used{opacity:.22;cursor:default}.panel-slots{justify-content:safe center;align-items:center;gap:10px;min-height:96px;padding:0 18px;display:flex;overflow-x:auto}.panel-op{border-left:1px solid #1c1c1c;justify-content:center;align-items:center;display:flex}.slot{border:1px dashed #5a5a5a;flex:none;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.slot.filled{border-style:solid;border-color:#2e2e2e}.slot.over{border-color:#f4f4f4}.chip{letter-spacing:-.03em;cursor:grab;justify-content:center;align-items:center;width:100%;height:100%;font-size:18px;display:flex}.chip.ref{color:#c8c8c8;box-shadow:inset 2px 0 #f4f4f4}.join{grid-template-columns:88px minmax(0,1fr) 64px;min-height:60px;display:grid}.join-body{justify-content:center;align-items:center;display:flex}.op-wheel{scroll-snap-type:y mandatory;scrollbar-width:none;width:48px;height:84px;overflow-y:auto}.op-wheel.compact{width:40px;height:60px}.op-wheel::-webkit-scrollbar{display:none}.op-pad,.op-item{flex-shrink:0;height:28px}.op-wheel.compact .op-pad,.op-wheel.compact .op-item{height:20px}.op-item{scroll-snap-align:center;opacity:.34;color:#f4f4f4;justify-content:center;align-items:center;width:100%;font-size:18px;display:flex}.op-wheel.compact .op-item{font-size:16px}.op-item.selected{opacity:1}.add-panel{color:#3a3a3a;letter-spacing:0;justify-content:center;align-items:center;height:52px;font-size:22px;display:flex}.add-panel:hover{color:#888}.total{background:#241414;flex:none;justify-content:center;align-items:center;min-height:80px;display:flex;position:relative}.total.hit{background:#1c4a2e}.total-label{color:#6a5a5a;letter-spacing:.18em;text-transform:uppercase;font-size:11px;position:absolute;top:10px;left:14px}.total.hit .total-label{color:#8aaa90}.total-value{letter-spacing:-.04em;font-size:28px}.submit{letter-spacing:.22em;opacity:.2;border:1px solid #f4f4f4;padding:8px 14px 7px;font-size:11px;line-height:1;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.submit:disabled{cursor:default}.submit:not(:disabled){opacity:1}.submit:not(:disabled):hover{color:#000;background:#f4f4f4}@media (width<=700px){.app{--stage:calc(100% - 20px)}.tray-row{gap:6px;padding:0 0 36px}.tray-stat.paths,.tray-stat.diff{top:10px}.tray-stat.found{bottom:10px}.die{width:clamp(34px,9vw,56px);height:clamp(34px,9vw,56px)}.roll{bottom:8px;right:0}.panels{padding:12px 0 8px}.panel,.join{grid-template-columns:68px minmax(0,1fr) 52px}.panel-result,.total-value{font-size:20px}.panel-slots{gap:8px;padding:0 10px}.slot{width:48px;height:48px}.chip{font-size:16px}}
