:root{--wood-1:#2b1d14;--wood-2:#3b2818;--parchment:#f3e6c8;--parchment-2:#e8d6ae;--ink:#2a1d12;--muted:#7a6446;--accent:#e0a526;--accent-2:#2f8f83;--danger:#b3412e;--line:#3c28142e;--die:min(15.5vw, 88px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:radial-gradient(ellipse at 50% 0%, #4b3220 0%, var(--wood-1) 70%) fixed;height:100%;color:var(--ink);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;word-break:keep-all;margin:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,system-ui,sans-serif}button{font:inherit;color:inherit;cursor:pointer}[hidden]{display:none!important}#app{min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);justify-content:center;display:flex}.screen{flex-direction:column;gap:12px;width:100%;max-width:560px;padding:14px 14px 22px;display:flex}.panel{background:var(--parchment);border-radius:18px;padding:14px 16px;box-shadow:0 3px #00000040,inset 0 0 0 1px #fff6}.btn{background:var(--accent);color:#3a2605;border:0;border-radius:14px;padding:13px 18px;font-size:16px;font-weight:800;transition:transform 80ms;box-shadow:0 3px #0000004d}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #0000004d}.btn:disabled{color:#7c6f55;cursor:default;box-shadow:none;background:#bfb08e}.btn.secondary{background:var(--parchment-2);color:var(--ink)}.btn.teal{background:var(--accent-2);color:#fff}.btn.small{border-radius:10px;padding:8px 12px;font-size:14px}.row{align-items:center;gap:10px;display:flex}.grow{flex:1}.muted{color:var(--muted)}.home{align-items:stretch;padding-top:8vh}.brand{text-align:center;color:var(--parchment);margin-bottom:8px}.brand h1{letter-spacing:-.02em;margin:10px 0 6px;font-size:34px}.brand p{color:#d9c6a0;margin:0;font-size:15px}.logo-dice{justify-content:center;gap:10px;display:flex}.logo-dice .face{--s:54px}.mode h2{margin:0 0 2px;font-size:19px}.mode p{color:var(--muted);margin:0 0 12px;font-size:14px}.mode .btn{width:100%}.records{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chip{background:#0000001a;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700}.toggles{gap:10px;display:flex}.toggle{background:var(--parchment);cursor:pointer;border-radius:14px;flex:1;justify-content:space-between;align-items:center;padding:12px 14px;font-weight:700;display:flex}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle i{background:#b8a782;border-radius:12px;width:42px;height:24px;transition:background .2s;position:relative}.toggle i:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle input:checked+i{background:var(--accent-2)}.toggle input:checked+i:after{transform:translate(18px)}.topbar{color:var(--parchment);align-items:center;gap:10px;display:flex}.topbar .stage{font-size:17px;font-weight:800}.boss-badge{background:var(--danger);color:#fff;border-radius:8px;margin-left:6px;padding:2px 8px;font-size:12px;font-weight:800}.coins{background:#0000004d;border-radius:999px;margin-left:auto;padding:5px 12px;font-weight:800}.coins:before{content:"●";color:var(--accent);margin-right:6px}.menu-btn{color:var(--parchment);background:#ffffff1f;border:0;border-radius:10px;width:38px;height:38px;font-size:18px}.progress{background:#00000059;border-radius:13px;height:26px;position:relative;overflow:hidden}.progress .fill{background:linear-gradient(90deg,#2f8f83,#5bc0a8);border-radius:13px;width:0;transition:width .5s ease-out;position:absolute;inset:0 auto 0 0}.progress .label{color:#fff;text-shadow:0 1px 2px #00000080;place-items:center;font-size:13px;font-weight:800;display:grid;position:absolute;inset:0}.hands{color:var(--parchment);align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.hand-dot{background:var(--accent);border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 2px #00000040}.hand-dot.used{background:#5d4a33}.boss-rule{color:#fff;background:#b3412eeb;border-radius:12px;padding:8px 12px;font-size:14px}.boss-rule b{margin-right:6px}.table{background:radial-gradient(at 50% 30%,#6b4a2d,#4a3220);border-radius:22px;min-height:150px;padding:18px 6px 14px;position:relative;box-shadow:inset 0 0 0 3px #0000004d,inset 0 8px 24px #00000059}.dice-row{flex-wrap:wrap;justify-content:center;gap:14px 8px;display:flex}.die{width:var(--die);height:var(--die);background:0 0;border:0;border-radius:20%;padding:0;transition:transform .15s;position:relative}.die.held{transform:translateY(-14px)}.die:disabled{cursor:default}.die.rolling .face{animation:.14s infinite wobble}@keyframes wobble{0%{transform:rotate(-6deg)translateY(0)}50%{transform:rotate(6deg)translateY(-4px)}to{transform:rotate(-6deg)translateY(0)}}.face{--s:var(--die);width:var(--s);height:var(--s);background:linear-gradient(145deg,#fffdf6,#e9e0c9);border-radius:20%;display:block;position:relative;box-shadow:0 4px #00000059,inset 0 0 0 2px #0000000f}.face .pips{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);place-items:center;display:grid;position:absolute;inset:16%}.pip{background:#2a1d12;border-radius:50%;width:78%;max-width:70%;height:78%}.pip.off{visibility:hidden}.glyph{font-size:calc(var(--s) * .26);font-weight:900;line-height:1;position:absolute;top:3%;right:8%}.face.kind-gold{background:linear-gradient(145deg,#ffe9a0,#f0bf3a)}.face.kind-gold .glyph{color:#a56b00}.face.kind-star{background:linear-gradient(145deg,#fff6b8,#f6dd5a)}.face.kind-star .glyph{color:#c97a00}.face.kind-wild{background:linear-gradient(145deg,#ead7ff,#b890f0)}.face.kind-wild .glyph{color:#5c2ea8;font-size:calc(var(--s) * .34)}.face.kind-wild .pip{opacity:.55;background:#6a43a8}.face.kind-mirror{background:linear-gradient(145deg,#eaf4ff,#b6cde6)}.face.kind-mirror .glyph{color:#31587f}.face.kind-blast{background:linear-gradient(145deg,#ffd9c2,#f29a68)}.face.kind-blast .glyph{color:#a53a0c}.face.kind-ice{background:linear-gradient(145deg,#e3f7ff,#98d6ee)}.face.kind-ice .glyph{color:#1b7da0}.face.kind-thorn{background:linear-gradient(145deg,#d6f0c9,#7fbb68)}.face.kind-thorn .glyph{color:#2d6a1d}.face.kind-heavy{background:linear-gradient(145deg,#d9d3c9,#a39a8a)}.face.kind-heavy .glyph{color:#4a4034}.die.cursed .face{box-shadow:0 4px 0 #00000059, 0 0 0 3px var(--danger)}.held-tag{text-align:center;color:var(--accent);font-size:11px;font-weight:800;position:absolute;bottom:-18px;left:0;right:0}.dice-hint{text-align:center;color:#e8d6ae;margin-top:22px;font-size:13px}.actions{gap:10px;display:flex}.actions .btn{flex:1}.combo-list{flex-direction:column;gap:8px;display:flex}.combo{text-align:left;background:var(--parchment);border:0;border-radius:14px;align-items:center;gap:10px;width:100%;padding:10px 14px;display:flex;box-shadow:0 3px #00000047}.combo:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #00000047}.combo:disabled{opacity:.6}.combo.best{box-shadow:0 3px 0 #00000047, 0 0 0 3px var(--accent);background:#ffe9a8}.combo .name{font-size:16px;font-weight:800}.combo .note{color:var(--danger);font-size:12px;font-weight:700}.combo .calc{text-align:right;color:var(--muted);margin-left:auto;font-size:13px}.combo .total{color:var(--ink);font-size:20px;font-weight:900}.relic-strip{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.relic-chip{background:var(--parchment);border:0;border-radius:12px;padding:7px 11px;font-size:14px;font-weight:800;box-shadow:0 2px #0000004d}.relic-chip.rare{background:#ffe0a6}.relic-chip.uncommon{background:#d8ecff}.tip{background:var(--accent-2);color:#fff;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:600;display:flex}.tip button{background:#ffffff40;border:0;border-radius:999px;flex:none;padding:5px 10px;font-size:12px;font-weight:700}.offers{gap:10px;display:grid}.offer{align-items:center;gap:12px;display:flex}.offer .face{--s:52px;flex:none}.offer .badge{background:#ffe0a6;border-radius:14px;flex:none;place-items:center;width:52px;height:52px;font-size:22px;font-weight:900;display:grid}.offer .badge.uncommon{background:#d8ecff}.offer .badge.common{background:#e4e0d3}.offer .info{flex:1;min-width:0}.offer .info b{font-size:16px;display:block}.offer .info span{color:var(--muted);font-size:13px}.offer .reason{color:var(--danger);margin-top:3px;font-size:12px;font-style:normal;font-weight:800;display:block}.offer.sold{opacity:.5}.price{min-width:64px}.shop-title h2{color:var(--parchment);margin:0}.shop-title p{color:#d9c6a0;margin:2px 0 0;font-size:14px}#modal{z-index:20;background:#140c06a6;place-items:center;padding:16px;animation:.2s ease-out fade;display:grid;position:fixed;inset:0}.sheet{background:var(--parchment);border-radius:20px;width:min(520px,100%);max-height:88dvh;padding:18px;animation:.25s cubic-bezier(.2,1.3,.4,1) pop;overflow:auto}.sheet h3{margin:0 0 6px;font-size:20px}.sheet p{color:var(--muted);margin:0 0 12px}.die-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.die-row .label{width:56px;color:var(--muted);font-size:12px;font-weight:800}.die-row .faces{flex-wrap:wrap;gap:4px;display:flex}.face-pick{background:0 0;border:0;border-radius:20%;padding:0}.face-pick .face{--s:34px}button.face-pick:hover .face,button.face-pick:focus-visible .face{outline:3px solid var(--accent-2)}.big-result{text-align:center;padding:24px 18px}.big-result h2{margin:0 0 4px;font-size:30px}.big-result .score{font-size:40px;font-weight:900}#floaters{pointer-events:none;z-index:30;position:fixed;inset:0}.floater{text-align:center;color:#fff;text-shadow:0 3px #00000073,0 0 14px #0006;font-weight:900;animation:1.2s ease-out forwards rise;position:absolute;top:36%;left:50%;transform:translate(-50%)}.floater .big{color:#ffe08a;font-size:44px}.floater .small{font-size:16px}@keyframes rise{0%{opacity:0;transform:translate(-50%,18px)scale(.8)}15%{opacity:1;transform:translate(-50%)scale(1.1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-34px)scale(1)}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.92)}}@media (width>=900px){.screen{max-width:920px}.run-grid{grid-template-columns:1.15fr 1fr;align-items:start;gap:14px;display:grid}:root{--die:84px}}@media (width<=380px){.face .pips{inset:14%}}
