:root{--bg:#140c14;--panel:#1f1320;--line:#3a2338;--text:#f6e9f1;--muted:#b79bb0;--accent:#e0407a;--accent-2:#ff8a5c;--l1:#f3a6c4;--l2:#ff7a59;--l3:#e0245e;--l4:#b517ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;margin:0}body{padding:env(safe-area-inset-top) 16px calc(24px + env(safe-area-inset-bottom));max-width:640px;margin:0 auto}button{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:14px;padding:10px 14px}button:disabled{opacity:.4;cursor:default}button.primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));border:none;font-weight:700}button.big{width:100%;padding:16px;font-size:1.15rem}input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:12px;width:100%;padding:12px}h1,h2{margin:0}.hint{color:var(--muted);margin:6px 0 14px;font-size:.95rem}.empty{color:var(--muted)}.bar{flex-direction:column;gap:10px;padding:16px 0 12px;display:flex}.bar h1{font-size:1.4rem}.tabs,.segmented{gap:6px;display:flex}.tabs button,.segmented button{flex:1}.tabs button.active,.segmented button.active{border-color:var(--accent);background:#2c1530;font-weight:700}.segmented.levels button.active[data-level="1"]{border-color:var(--l1)}.segmented.levels button.active[data-level="2"]{border-color:var(--l2)}.segmented.levels button.active[data-level="3"]{border-color:var(--l3)}.segmented.levels button.active[data-level="4"]{border-color:var(--l4)}.segmented.levels{flex-wrap:wrap}.segmented.levels button{flex-basis:40%}.segmented.levels button[data-level=random]{flex-basis:100%}.segmented.modes button{padding:10px 6px}.toggle{width:100%;color:var(--muted)}.toggle.on{color:var(--text);border-color:var(--accent);background:#3a1530}.panel{flex-direction:column;gap:10px;display:flex}.gate{text-align:center;flex-direction:column;justify-content:center;gap:14px;min-height:90vh;display:flex}.gate .logo{font-size:4rem}.gate .lead{font-size:1.1rem}.gate .rules{text-align:left;color:var(--muted);padding-left:20px;line-height:1.5}.players{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.players li{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:8px 10px;display:flex}.players .row{align-items:center;gap:8px;display:flex}.players .name{overflow-wrap:anywhere;flex:1;font-weight:600}.players .edit{color:var(--muted);padding:6px 10px;font-size:.9rem}.players .summary{text-align:left;color:var(--muted);background:0 0;border:none;padding:0;font-size:.9rem}.picker{flex-direction:column;gap:8px;display:flex}select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:12px;width:100%;padding:10px}.body{flex-wrap:wrap;gap:6px;display:flex}.chip{color:var(--muted);border-radius:999px;padding:6px 10px;font-size:.9rem}.chip.on{color:var(--text);border-color:var(--accent);background:#3a1530}.remove{color:var(--muted);padding:6px 10px}.add{background:var(--panel);border:1px dashed var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:10px;display:flex}.pairs{flex-direction:column;gap:6px;display:flex}.pair{text-align:left}.pair.active{border-color:var(--accent)}.card{text-align:center;background:radial-gradient(circle at top, #3a1735, var(--panel));border:2px solid var(--line);border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:260px;margin:6px 0;padding:20px;display:flex}.card.muted{color:var(--muted)}.card[data-level="1"]{border-color:var(--l1)}.card[data-level="2"]{border-color:var(--l2)}.card[data-level="3"]{border-color:var(--l3);box-shadow:0 0 30px #e0245e59}.card[data-level="4"]{border-color:var(--l4);box-shadow:0 0 34px #b517ff66}.card.penalty{background:radial-gradient(circle at top, #2a1f3f, var(--panel));border-style:dashed}.card.reveal{animation:.45s cubic-bezier(.2,.9,.3,1.2) flip-in}@keyframes flip-in{0%{opacity:0;transform:perspective(900px)rotateY(85deg)scale(.92)}to{opacity:1;transform:perspective(900px)rotateY(0)scale(1)}}.card .who{flex-wrap:wrap;justify-content:center;gap:8px;font-size:1.25rem;font-weight:700;display:flex}.card .arrow{color:var(--accent-2)}.card .emoji{font-size:3rem;line-height:1.1}.card .action{font-size:1.5rem;font-weight:800}.card .part{color:var(--accent-2);font-size:1.35rem;font-weight:700}.card .twist{color:var(--text);border:1px dashed var(--line);background:#ffffff0f;border-radius:12px;padding:6px 12px;font-size:1.05rem;font-style:italic}.card .twist:before{content:"+ ";color:var(--accent);font-style:normal;font-weight:700}.card .label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}.card .text{font-size:1.3rem;font-weight:700}.card .level{color:var(--muted);font-size:.85rem}.timer{align-items:center;gap:10px;width:100%;margin-top:8px;display:flex}.timer progress{height:10px;accent-color:var(--accent);flex:1}.timer .left{font-variant-numeric:tabular-nums;min-width:3.5em}.card .lines{flex-direction:column;gap:10px;width:100%;margin:4px 0;padding:0;list-style:none;display:flex}.card .lines li{background:#ffffff0d;border-radius:12px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.card .line-who{flex-wrap:wrap;justify-content:center;gap:6px;font-weight:700;display:flex}.card .line-text{font-size:1.05rem}.actions{flex-direction:column;gap:8px;display:flex}.rerolls{grid-template-columns:1fr 1fr;gap:8px;display:grid}.rerolls .wide{grid-column:1/-1}.refuse{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.refuse-label{color:var(--muted)}.help{padding-bottom:24px;line-height:1.5}.help h2{margin-top:14px;font-size:1.15rem}.help p,.help dl,.help ul,.help ol{margin:4px 0}.help ul,.help ol{padding-left:20px}.help li{margin-bottom:4px}.help dt{margin-top:8px;font-weight:700}.help dd{color:var(--muted);margin:0}.roller{gap:18px;overflow:hidden}.rolling-text{color:var(--muted);margin:0}.dice{perspective:700px;gap:26px;margin-bottom:26px;display:flex}.die{width:64px;height:64px;transform-style:preserve-3d;animation:1.1s cubic-bezier(.25,.6,.35,1) both tumble;position:relative}.die-1{animation-name:tumble-other}.face{background:linear-gradient(135deg,#fff5f9,#f3c3d8);border-radius:12px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);place-items:center;padding:8px;display:grid;position:absolute;inset:0;box-shadow:inset 0 0 8px #96145059}.face .pip{background:#5a0d33;border-radius:50%;width:11px;height:11px}.face-0{transform:translateZ(32px)}.face-1{transform:rotateY(180deg)translateZ(32px)}.face-2{transform:rotateY(90deg)translateZ(32px)}.face-3{transform:rotateY(-90deg)translateZ(32px)}.face-4{transform:rotateX(90deg)translateZ(32px)}.face-5{transform:rotateX(-90deg)translateZ(32px)}@keyframes tumble{0%{transform:translateY(-120px)rotateX(0)rotateY(0)rotate(0)}55%{transform:translateY(14px)rotateX(620deg)rotateY(380deg)rotate(90deg)}75%{transform:translateY(-16px)rotateX(760deg)rotateY(470deg)rotate(120deg)}to{transform:translateY(0)rotateX(900deg)rotateY(540deg)rotate(180deg)}}@keyframes tumble-other{0%{transform:translateY(-150px)rotateX(0)rotateY(0)rotate(0)}60%{transform:translateY(12px)rotateX(-540deg)rotateY(650deg)rotate(-60deg)}78%{transform:translateY(-12px)rotateX(-690deg)rotateY(760deg)rotate(-80deg)}to{transform:translateY(0)rotateX(-810deg)rotateY(900deg)rotate(-90deg)}}.deck{width:96px;height:136px;position:relative}.sheet{background:linear-gradient(135deg, var(--accent), #6a1b5c);border:2px solid #fff3;border-radius:12px;place-items:center;font-size:2rem;animation:1.1s ease-in-out both riffle;display:grid;position:absolute;inset:0;box-shadow:0 4px 12px #00000073}.sheet-0{--dir:-1;animation-delay:0s}.sheet-1{--dir:1;animation-delay:60ms}.sheet-2{--dir:-1;animation-delay:.12s}.sheet-3{--dir:1;animation-delay:.18s}.sheet-4{--dir:-1;animation-delay:.24s}.sheet-5{--dir:1;animation-delay:.3s}@keyframes riffle{0%,to{transform:translate(0)rotate(0)}35%{transform:translateX(calc(var(--dir) * 74px)) rotate(calc(var(--dir) * 14deg))}65%{transform:translateX(calc(var(--dir) * -30px)) rotate(calc(var(--dir) * -6deg))}}@media (prefers-reduced-motion:reduce){.die,.sheet,.card.reveal{animation:none}}
