.quest{--bg:#edeffa;--panel:#fff;--panel2:#e2e5f6;--ink:#1b1e3c;--muted:#585e8c;--line:#c8cce8;--shadow:0 4px 0 #1b1e3c2e;--good:#1fb85a;--bad:#e63946;--gold:#ffd23f;--blue:#2d6bff;background:radial-gradient(900px 280px at 10% -40px, #ffd23f73, transparent 60%), radial-gradient(700px 240px at 100% 0, #2d6bff2e, transparent 55%), var(--bg);min-height:100vh;color:var(--ink);font-family:Rubik,Outfit,system-ui,sans-serif}.quest[data-theme=dark]{--bg:#131631;--panel:#1f2348;--panel2:#292e5c;--ink:#f2f3ff;--muted:#a3a9d8;--line:#3a407a;--shadow:0 4px 0 #00000059}.quest *{box-sizing:border-box}.quest button,.quest input,.quest textarea{font:inherit;color:inherit}.quest button{cursor:pointer}.quest label{margin:10px 0 4px;font-size:14px;font-weight:700;display:block}.quest input,.quest textarea{border:2px solid var(--line);background:var(--bg);width:100%;color:var(--ink);border-radius:10px;padding:10px}.quest .disp{letter-spacing:.01em;font-family:Bungee,Impact,sans-serif}.quest .wrap{max-width:980px;margin:0 auto;padding:0 16px}.quest .top{z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:2px solid var(--line);position:sticky;top:0}.quest .topbar{align-items:center;gap:12px;padding:10px 0;display:flex}.quest .brand{align-items:center;gap:8px;display:flex}.quest .brand svg{width:40px;height:40px}.quest .logo{font-size:20px}.quest .rank{flex:1;min-width:0}.quest .rank-row{color:var(--muted);justify-content:space-between;gap:8px;font-size:13px;display:flex}.quest .rank-row b{color:var(--ink)}.quest .xpbar{background:var(--panel2);border-radius:6px;height:10px;margin-top:4px;overflow:hidden}.quest .xpbar i{background:linear-gradient(90deg, var(--good), var(--gold));height:100%;display:block}.quest .chip,.quest .iconbtn,.quest .tog{border:2px solid var(--line);background:var(--panel);border-radius:999px;font-weight:700}.quest .chip{white-space:nowrap;padding:5px 10px;font-size:14px}.quest .iconbtn{border-radius:10px;padding:6px 10px}.quest .tabs{gap:6px;padding-bottom:0;display:flex}.quest .tabs button{border:2px solid var(--line);background:var(--panel);border-bottom:none;border-radius:12px 12px 0 0;flex:1;padding:9px 6px;font-weight:700}.quest .tabs button[aria-selected=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.quest main{padding:18px 0 72px}.quest .coach{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.quest .coach svg{flex:0 0 64px;width:64px;height:64px}.quest .bubble,.quest .card,.quest .world,.quest .stat,.quest .loot,.quest .badge{background:var(--panel);border:2px solid var(--line);box-shadow:var(--shadow)}.quest .bubble{border-radius:16px;max-width:68ch;padding:10px 14px}.quest .bubble b{color:var(--muted);font-size:13px;display:block}.quest .world{border-radius:18px;margin-bottom:16px;overflow:hidden}.quest .world-head{justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.quest .world-head h2{font-size:22px}.quest .world-head small{font-weight:700}.quest .nodes{flex-wrap:wrap;align-items:flex-end;gap:14px;padding:16px;display:flex}.quest .node{background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;width:96px;padding:0;display:flex}.quest .tile{width:64px;height:64px;box-shadow:inset 0 -6px 0 #00000026, var(--shadow);border:3px solid #00000040;border-radius:12px;place-items:center;font-family:Bungee,sans-serif;font-size:16px;display:grid}.quest .node.here .tile{outline:3px solid var(--blue);outline-offset:2px}.quest .node.locked .tile{color:var(--muted);box-shadow:none;background:var(--panel2)!important}.quest .node.boss .tile{background:var(--ink);width:84px;height:84px;color:var(--bg);border-radius:18px;font-size:28px}.quest .node.boss.beaten .tile{background:var(--good)}.quest .nm{text-align:center;font-size:12.5px;font-weight:700;line-height:1.2}.quest .stars{letter-spacing:1px;color:var(--line);font-size:14px}.quest .stars .on{color:#e0a100}.quest .teaser{color:var(--muted);padding:0 16px 14px}.quest .card{border-radius:16px;margin-bottom:12px;padding:14px 16px}.quest .card h3{margin-bottom:6px;font-size:17px}.quest .card p{margin:6px 0}.quest .scramble{text-align:center;background:var(--panel);border:2px solid var(--line);word-spacing:4px;border-radius:14px;margin-bottom:12px;padding:12px;font-size:clamp(17px,3.2vw,24px);font-weight:700}.quest .stage{grid-template-columns:1fr 240px;gap:12px;display:grid}.quest .pad{background:var(--panel);border:3px solid var(--line);-webkit-user-select:none;user-select:none;touch-action:none;text-align:center;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;min-height:230px;padding:16px;display:flex}.quest .pad.inspect{border-color:#ff8c1a}.quest .pad.hold .clock{color:var(--bad)}.quest .pad.ready{border-color:var(--good)}.quest .pad.ready .clock{color:var(--good)}.quest .pad.run{border-color:var(--blue)}.quest .clock{font-variant-numeric:tabular-nums;font-size:clamp(64px,14vw,112px);font-weight:900;line-height:1}.quest .hint{color:var(--muted);margin-top:8px}.quest .cam{border:2px solid var(--line);aspect-ratio:4/3;background:#12142c;border-radius:14px;position:relative;overflow:hidden}.quest .cam video{object-fit:cover;background:#12142c;width:100%;height:100%;display:block;transform:scaleX(-1)}.quest .cam .off{text-align:center;color:#d5d8f0;place-items:center;padding:12px;display:grid;position:absolute;inset:0}.quest .rec{background:var(--bad);color:#fff;border-radius:8px;padding:2px 7px;font-size:11px;font-weight:800;position:absolute;top:8px;left:8px}.quest .toggles{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.quest .tog{padding:6px 12px;font-size:14px}.quest .tog[aria-pressed=true]{background:var(--good);border-color:var(--good);color:#06210f}.quest .btn{background:var(--blue);color:#fff;border:none;border-radius:12px;padding:11px 16px;font-weight:800;box-shadow:0 4px #1946b8}.quest .btn:active{transform:translateY(2px);box-shadow:0 2px #1946b8}.quest .btn.alt{background:var(--panel2);color:var(--ink);box-shadow:0 4px 0 var(--line)}.quest .btn.go{background:var(--good);color:#06210f;box-shadow:0 4px #13803d}.quest .btn.warn{background:var(--bad);box-shadow:0 4px #9b1f2a}.quest .row>span>svg{width:64px;height:64px;display:block}.quest .goalrow{grid-template-columns:22px 1fr auto;align-items:baseline;gap:8px;margin:4px 0;display:grid}.quest .res-time{font-variant-numeric:tabular-nums;font-size:40px;font-weight:900}.quest .grade{background:var(--ink);width:72px;height:72px;color:var(--gold);border-radius:16px;place-items:center;font-family:Bungee,sans-serif;font-size:36px;display:grid}.quest .splits{color:#1b1e3c;border-radius:8px;height:28px;margin:8px 0 4px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.quest .splits div{place-items:center;min-width:0;display:grid;overflow:hidden}.quest .legend{color:var(--muted);font-size:13px}.quest .ptl{background:var(--panel2);border-radius:8px;height:14px;margin:8px 0;position:relative;overflow:hidden}.quest .ptl span{background:var(--bad);position:absolute;top:0;bottom:0}.quest .xplist{flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.quest .xplist li{background:var(--panel2);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700}.quest .xplist b{color:var(--good)}.quest .quip{color:var(--muted);font-style:italic}.quest .checks{margin:8px 0;padding:0;list-style:none}.quest .checks li{margin:2px 0;font-size:14px}.quest .solvelist{flex-wrap:wrap;gap:6px;display:flex}.quest .solvelist span{background:var(--panel2);font-variant-numeric:tabular-nums;border-radius:8px;padding:3px 8px;font-weight:700}.quest .solvelist .pb{background:var(--gold);color:#1b1e3c}.quest .statgrid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.quest .stat{border-radius:14px;padding:12px}.quest .stat small{color:var(--muted);font-weight:700}.quest .stat div{font-variant-numeric:tabular-nums;font-size:26px;font-weight:900}.quest .vault{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.quest .loot{border-style:dashed;border-radius:16px;padding:14px}.quest .loot.open{border-style:solid;border-color:var(--good)}.quest .badges{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.quest .badge{text-align:center;border-radius:14px;padding:10px}.quest .badge .ico{font-size:28px}.quest .badge.no{opacity:.45;filter:grayscale()}.quest .badge b{display:block}.quest .badge small{color:var(--muted)}.quest table{border-collapse:collapse;width:100%;font-size:14px}.quest td,.quest th{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:6px 8px}.quest .tablewrap{overflow-x:auto}.quest .hp{gap:3px;margin-top:6px;display:flex}.quest .hp i{background:var(--bad);border-radius:3px;flex:1;height:12px}.quest .hp i.hit{background:var(--good)}.quest .hp i.wait{background:var(--panel2)}.quest .modal{z-index:50;background:#0a0c1eb8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.quest .modal-card{background:var(--panel);color:var(--ink);border:3px solid var(--line);text-align:center;border-radius:22px;width:100%;max-width:520px;max-height:90vh;padding:20px;overflow:auto}.quest .modal-card svg{width:120px;height:120px;margin:0 auto 8px;display:block}.quest .modal-card input,.quest .modal-card textarea{border:2px solid var(--line);background:var(--bg);width:100%;color:var(--ink);border-radius:10px;padding:10px}.quest .modal-card label{text-align:left;margin:10px 0 4px;font-size:14px;font-weight:700;display:block}.quest .pl{border-bottom:1px solid var(--line);text-align:left;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;font-size:14px;display:flex}.quest .toast{background:var(--ink);color:var(--bg);z-index:70;border-radius:12px;padding:10px 16px;font-weight:700;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.quest .pen button{border:2px solid var(--line);background:var(--panel);border-radius:10px;padding:5px 10px;font-weight:700}.quest .pen button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.quest .mission{justify-content:space-between;align-items:center;gap:8px;display:flex}@media (width<=720px){.quest .stage{grid-template-columns:1fr}.quest .cam{max-width:280px}.quest .logo{display:none}}
