:root{
  --bg:#050914;--bg-2:#090d24;--panel:#111a2a;--panel-2:#182235;--panel-3:#202b3f;
  --line:rgba(93,212,255,.28);--line-soft:rgba(111,137,180,.2);--txt:#eff7ff;--dim:#93a5c4;
  --accent:#00d9ef;--accent-2:#3a98ff;--violet:#743bdb;--ok:#21d58b;--warn:#ffc84d;--err:#ff5d73;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg)}
body{color:var(--txt);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-tap-highlight-color:transparent;background-image:radial-gradient(circle at 92% 12%,rgba(0,177,255,.16),transparent 28rem),radial-gradient(circle at 8% 43%,rgba(106,49,224,.18),transparent 27rem)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
#app{width:100%;max-width:430px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(145deg,rgba(7,13,32,.98),rgba(3,8,20,.99));box-shadow:0 0 58px rgba(0,0,0,.42)}
#topbar{display:flex;align-items:center;gap:14px;min-height:74px;padding:0 20px;position:sticky;top:0;z-index:20;background:rgba(5,10,21,.9);border-bottom:1px solid rgba(119,153,195,.25);backdrop-filter:blur(16px)}
#brand{font-size:15px;font-weight:800;letter-spacing:.02em;color:var(--accent);white-space:nowrap;text-shadow:0 0 16px rgba(0,224,242,.34)}
#progressWrap{flex:1;display:flex;align-items:center;gap:10px;min-width:0}
#progressWrap #progressBar{flex:1;height:8px;min-width:58px;overflow:hidden;border-radius:999px;background:#1a2436;box-shadow:inset 0 1px 2px rgba(0,0,0,.45)}
#progressBar::after{content:"";display:block;width:var(--p,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#32a4ff);box-shadow:0 0 12px var(--accent);transition:width .4s ease}
#progressText{color:var(--dim);font-size:12px;font-variant-numeric:tabular-nums;min-width:28px;text-align:right}
#view{flex:1;padding:25px 18px 112px;overflow:hidden}
#tabbar{display:flex;align-items:center;justify-content:center;gap:25px;position:fixed;z-index:30;bottom:0;left:50%;width:min(100%,430px);min-height:78px;padding:9px 22px;background:rgba(13,22,35,.94);border-top:1px solid rgba(119,153,195,.26);backdrop-filter:blur(16px);transform:translateX(-50%)}
#tabbar button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:116px;padding:10px 14px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--dim);font-weight:700}
#tabbar button img{width:21px;height:21px;object-fit:contain;opacity:.65}
#tabbar button.active{color:var(--accent);border-color:rgba(22,215,242,.48);background:linear-gradient(135deg,rgba(0,212,240,.16),rgba(111,52,220,.32));box-shadow:0 0 18px rgba(0,216,240,.16),inset 0 0 15px rgba(70,99,255,.12)}
#tabbar button.active img{opacity:1;filter:drop-shadow(0 0 7px rgba(0,220,250,.9))}
h1{margin:0;font-size:29px;line-height:1.18;letter-spacing:-.02em}h2{margin:0;color:#f3f8ff;font-size:19px;line-height:1.25}p{margin:0}.dim,.muted{color:var(--dim)}.muted{font-size:13px}.center{text-align:center}.spacer{flex:1}
.card{margin-bottom:14px;padding:16px;border:1px solid var(--line-soft);border-radius:18px;background:linear-gradient(145deg,rgba(25,35,53,.95),rgba(13,22,35,.97));box-shadow:inset 0 1px rgba(255,255,255,.035),0 16px 26px rgba(0,0,0,.13)}
.card.tap{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.card.tap:active{transform:scale(.986);border-color:var(--accent)}
.row{display:flex;align-items:center;gap:12px}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:3px 9px;border-radius:999px;background:#1a263b;border:1px solid rgba(111,142,186,.18);color:var(--dim);font-size:12px;white-space:nowrap}.badge.done,.badge.live{background:rgba(25,211,137,.11);border-color:rgba(29,218,139,.36);color:var(--ok)}.badge.gold{background:rgba(255,200,77,.12);border-color:rgba(255,200,77,.36);color:var(--warn)}.badge.draft{background:rgba(0,217,239,.1);border-color:rgba(0,217,239,.3);color:var(--accent)}
label{display:block;margin:12px 0 5px;color:var(--dim);font-size:13px}input,select,textarea{width:100%;padding:12px;border:1px solid rgba(119,153,195,.3);border-radius:12px;background:#172235;color:var(--txt);outline:0}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,217,239,.1)}
button.btn{width:100%;min-height:48px;margin-top:14px;padding:12px 16px;border:1px solid rgba(172,248,255,.75);border-radius:15px;background:linear-gradient(112deg,#00dbe8,#31a0ff);color:#041225;font-weight:900;font-size:16px;box-shadow:inset 0 1px rgba(255,255,255,.48),0 7px 18px rgba(0,169,245,.26)}button.btn:disabled{opacity:.43;box-shadow:none;cursor:not-allowed}button.btn.ghost{border-color:rgba(117,155,201,.34);background:#182337;color:var(--txt);box-shadow:none}button.btn.sm{width:auto;min-height:36px;margin:0;padding:8px 12px;font-size:13px;border-radius:11px}
button.opt{width:100%;margin-top:10px;padding:14px;border:1px solid rgba(119,153,195,.3);border-radius:13px;background:#172235;color:var(--txt);text-align:left}button.opt.sel{border-color:var(--accent);color:var(--accent)}button.opt.correct{border-color:var(--ok);color:var(--ok)}button.opt.wrong{border-color:var(--err);color:var(--err)}
.h5-home,.h5-profile,.leaderboard-view{animation:h5-enter .32s ease-out}@keyframes h5-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.h5-greeting{padding:3px 2px 20px}.h5-greeting p{margin-top:11px;color:var(--dim);font-size:15px}.h5-section-title{margin:0 2px 13px;font-size:20px}.room-grid{display:grid;gap:12px}.room-card{display:flex;align-items:center;gap:13px;width:100%;min-height:88px;padding:13px 14px;border:1px solid rgba(101,219,246,.42);border-radius:18px;background:linear-gradient(112deg,rgba(18,32,57,.98),rgba(12,24,42,.98));color:var(--txt);text-align:left;box-shadow:inset 0 1px rgba(255,255,255,.06),0 9px 18px rgba(0,0,0,.13)}.room-card:active{transform:scale(.985);border-color:#82f1ff}.room-icon{display:grid;flex:0 0 51px;place-items:center;width:51px;height:51px;border:1px solid rgba(121,235,255,.63);border-radius:18px;background:linear-gradient(135deg,rgba(0,204,229,.23),rgba(111,48,212,.75));box-shadow:inset 0 1px rgba(255,255,255,.26),0 0 18px rgba(20,208,245,.25)}.room-icon img{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 0 5px rgba(133,245,255,.65))}.room-copy{min-width:0}.room-copy strong{display:block;overflow:hidden;font-size:16px;white-space:nowrap;text-overflow:ellipsis}.room-copy span{display:block;margin-top:3px;color:var(--dim);font-size:13px}.room-count{margin-left:auto;min-width:53px;padding:7px 8px;border:1px solid rgba(39,191,236,.35);border-radius:99px;background:rgba(6,13,28,.76);color:#35baff;text-align:center;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}.room-count.done{color:var(--ok);border-color:rgba(27,213,135,.42)}
.main-tower-card{position:relative;overflow:hidden;margin-top:24px;padding:19px 18px 17px;border:1px solid rgba(38,217,243,.7);border-radius:24px;background:radial-gradient(circle at 70% 16%,rgba(224,43,53,.21),transparent 24%),radial-gradient(circle at 8% 0%,rgba(75,60,184,.31),transparent 45%),linear-gradient(145deg,#151b4e,#07162a 72%);box-shadow:inset 0 1px rgba(201,255,255,.11),0 19px 40px rgba(0,0,0,.25)}.main-tower-card:before{content:"";display:block;height:5px;margin-bottom:24px;border-radius:99px;background:linear-gradient(90deg,#00d8ee,#10cfe6);box-shadow:0 0 12px rgba(0,227,245,.78)}.tower-kicker{max-width:calc(100% - 154px);color:#98a7c7;font-size:11px;font-weight:800;letter-spacing:.08em;line-height:1.36}.tower-title{max-width:calc(100% - 154px);margin:7px 0 4px;font-size:28px;line-height:1.12}.tower-copy{max-width:calc(100% - 154px);color:#a3b1c9}.tower-visual{position:absolute;top:32px;right:14px;width:142px;height:142px;display:grid;place-items:center}.tower-visual:before{content:"";position:absolute;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(238,48,59,.43),transparent 66%);filter:blur(6px)}.tower-visual img{position:relative;width:125px;height:125px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(255,33,47,.32))}.tower-action{width:calc(100% - 145px);min-width:154px;min-height:54px;margin:23px 0 17px;padding:10px;border:1px solid rgba(169,245,255,.85);border-radius:17px;background:linear-gradient(115deg,#00d7e7,#2d96ff);color:#031325;font-size:18px;font-weight:900;box-shadow:inset 0 1px rgba(255,255,255,.5),0 9px 18px rgba(0,159,236,.26)}.tower-action:disabled{color:#9caac4;border-color:rgba(119,153,195,.3);background:#1c2940;box-shadow:none}.tower-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 15px}.tower-stage{padding:8px 5px;border:1px solid rgba(43,195,234,.34);border-radius:12px;background:rgba(9,20,38,.52);color:#a1b1ca;text-align:center;font-size:12px}.tower-stage.done{border-color:rgba(28,211,137,.52);color:var(--ok);background:rgba(28,211,137,.08)}.tower-leaderboard{position:relative;overflow:hidden;border:1px solid rgba(108,193,233,.37);border-radius:18px;background:linear-gradient(135deg,rgba(25,42,68,.98),rgba(10,23,43,.96));box-shadow:inset 0 1px rgba(255,255,255,.06),0 10px 22px rgba(0,0,0,.16)}.tower-leaderboard:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 100% 0,rgba(24,189,240,.14),transparent 34%)}.tower-leaderboard-head{position:relative;display:flex;align-items:center;justify-content:space-between;padding:13px 14px 10px}.tower-board-kicker{display:block;margin-bottom:3px;color:#6c9dcb;font-size:9px;font-weight:900;letter-spacing:.12em}.tower-leaderboard-head strong{display:block;font-size:17px;letter-spacing:.02em}.tower-board-live{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid rgba(49,216,193,.25);border-radius:99px;background:rgba(7,29,41,.58);color:#7adccf;font-size:10px;font-weight:800}.tower-board-live i{width:5px;height:5px;border-radius:50%;background:#35e1b1;box-shadow:0 0 8px #35e1b1}.tower-board-rule{position:relative;height:1px;margin:0 14px;background:linear-gradient(90deg,rgba(83,204,244,.6),rgba(99,150,201,.12))}.tower-rank-list{position:relative;padding:7px}.tower-rank-row{display:flex;align-items:center;gap:10px;min-height:54px;padding:9px 8px;border-radius:13px}.tower-rank-row+.tower-rank-row{margin-top:3px}.tower-rank-row.tower-rank-1{border:1px solid rgba(255,193,74,.35);background:linear-gradient(100deg,rgba(244,184,50,.16),rgba(26,45,70,.35) 61%,rgba(14,27,46,.1));box-shadow:inset 0 1px rgba(255,237,172,.12)}.tower-rank-row:not(.tower-rank-1){background:rgba(6,18,35,.34)}.tower-rank-no{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(133,166,209,.26);border-radius:10px;background:#182a45;color:#a8b6cf;font-size:13px;font-weight:900}.tower-rank-row:nth-child(1) .leaderboard-medal{background:linear-gradient(135deg,#ffe07b,#d7802a);color:#392400}.tower-rank-row:nth-child(2) .leaderboard-medal{background:linear-gradient(135deg,#e3f0ff,#8099ba);color:#162337}.tower-rank-row:nth-child(3) .leaderboard-medal{background:linear-gradient(135deg,#e2a984,#9c5b3f);color:#321a10}.leaderboard-person{min-width:0}.leaderboard-person strong{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.leaderboard-person span{display:block;overflow:hidden;color:var(--dim);font-size:12px;white-space:nowrap;text-overflow:ellipsis}.leaderboard-score{margin-left:auto;color:#cfe4ff;font-size:13px;font-weight:800;text-align:right}.leaderboard-score span{display:block;margin-top:2px;color:var(--dim);font-size:11px;font-weight:400}
.tower-rank-no i{font-style:normal}.tower-rank-1 .tower-rank-no{border-color:rgba(255,218,117,.72);background:linear-gradient(135deg,#ffe38b,#ce8425);color:#3c2600;box-shadow:0 0 14px rgba(245,180,47,.28)}.tower-rank-copy{min-width:0;flex:1}.tower-rank-copy .tower-rank-label{display:block;margin-bottom:1px;color:#7490b5;font-size:9px;font-weight:900;letter-spacing:.08em}.tower-rank-1 .tower-rank-label{color:#ffc75f}.tower-rank-copy b{display:block;overflow:hidden;color:#eff7ff;white-space:nowrap;text-overflow:ellipsis;font-size:13px}.tower-rank-copy>span:last-child{display:block;overflow:hidden;margin-top:2px;color:#9aafcc;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.tower-rank-time{flex:0 0 auto;padding-left:7px;color:#8ca2c3;text-align:right;font-variant-numeric:tabular-nums}.tower-rank-time span{display:block;margin-bottom:2px;font-size:9px}.tower-rank-time b{display:block;color:#d6e9ff;font-size:13px}.tower-rank-1 .tower-rank-time b{color:#ffe3a5}.tower-empty{position:relative;padding:19px 13px;color:var(--dim);font-size:13px}.tower-foot{display:flex;align-items:center;gap:12px;margin-top:11px;color:var(--dim);font-size:11px}.tower-link{margin-left:auto;border:0;background:transparent;color:var(--accent);font-size:12px;font-weight:800}.tower-link b{margin-left:2px;font-size:14px}.tower-share{border:0;background:transparent;color:var(--accent);font-size:12px;font-weight:800}
.profile-identity{position:relative;display:flex;align-items:center;gap:13px;overflow:hidden;padding:16px;border:1px solid rgba(109,220,247,.5);border-radius:19px;background:linear-gradient(110deg,rgba(27,39,75,.95),rgba(11,23,42,.98));box-shadow:inset 0 1px rgba(255,255,255,.08),0 11px 24px rgba(0,0,0,.14)}.profile-identity:after{content:"";position:absolute;top:0;right:0;bottom:0;width:83px;background:linear-gradient(115deg,rgba(100,55,207,.34),rgba(16,31,48,.72));border-left:1px solid rgba(98,185,222,.17)}.profile-avatar{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 55px;width:55px;height:55px;border:1px solid rgba(121,235,255,.64);border-radius:18px;background:linear-gradient(135deg,rgba(0,204,229,.26),rgba(111,48,212,.84));box-shadow:0 0 18px rgba(20,208,245,.25)}.profile-avatar img{width:31px;height:31px}.profile-data{position:relative;z-index:1;min-width:0}.profile-data strong{display:block;overflow:hidden;font-size:17px;white-space:nowrap;text-overflow:ellipsis}.profile-data span{display:block;overflow:hidden;margin-top:3px;color:var(--dim);font-size:13px;white-space:nowrap;text-overflow:ellipsis}.profile-login{position:relative;z-index:1;margin-left:auto;padding-right:4px;color:var(--ok);font-size:12px;font-weight:900}.h5-action-list{display:grid;gap:12px}.h5-action-card{display:flex;align-items:center;gap:12px;width:100%;min-height:85px;padding:12px 13px;border:1px solid rgba(99,213,239,.46);border-radius:18px;background:linear-gradient(105deg,rgba(24,36,67,.96),rgba(12,24,42,.98));color:var(--txt);text-align:left;box-shadow:inset 0 1px rgba(255,255,255,.055),0 9px 19px rgba(0,0,0,.13)}.h5-action-card:active{transform:scale(.985);border-color:#91f3ff}.h5-action-icon{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border:1px solid rgba(125,233,253,.6);border-radius:18px;background:linear-gradient(135deg,rgba(0,212,230,.25),rgba(115,52,216,.75));box-shadow:inset 0 1px rgba(255,255,255,.2),0 0 17px rgba(20,208,245,.21)}.h5-action-icon img{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 0 6px rgba(125,245,255,.65))}.h5-action-copy{min-width:0}.h5-action-copy strong{display:block;font-size:16px}.h5-action-copy span{display:block;overflow:hidden;margin-top:3px;color:var(--dim);font-size:12px;white-space:nowrap;text-overflow:ellipsis}.h5-status{display:inline-flex;align-items:center;gap:5px;margin-left:auto;min-width:65px;padding:6px 7px;border:1px solid rgba(91,153,204,.2);border-radius:12px;background:rgba(5,13,28,.56);font-size:11px;font-weight:900;white-space:nowrap}.h5-status img{width:14px;height:14px;object-fit:contain}.h5-status.success{color:var(--ok)}.h5-status.warning{color:var(--warn)}.h5-status.active{color:var(--accent)}.h5-status.config{color:#65adff}.h5-data-card{display:flex;align-items:center;gap:12px;margin-top:16px;padding:15px 13px;border:1px solid rgba(99,213,239,.34);border-radius:17px;background:rgba(13,24,42,.72)}.h5-data-card img{width:28px;height:28px}.h5-data-card strong{display:block}.h5-data-card span{display:block;margin-top:2px;color:var(--dim);font-size:12px}.h5-logout{width:100%;margin-top:14px;padding:12px;border:1px solid rgba(117,155,201,.3);border-radius:13px;background:transparent;color:var(--dim)}
.leaderboard-hero{position:relative;overflow:hidden;margin-bottom:16px;padding:18px;border:1px solid rgba(0,217,239,.53);border-radius:20px;background:radial-gradient(circle at 86% 25%,rgba(241,58,70,.18),transparent 10rem),linear-gradient(125deg,#1b2459,#0b1729)}.leaderboard-hero p{margin-top:7px;color:var(--dim)}.leaderboard-list{overflow:hidden;border:1px solid rgba(101,150,201,.29);border-radius:19px;background:rgba(15,27,44,.88)}.leaderboard-row{display:flex;align-items:center;gap:12px;padding:14px;border-bottom:1px solid rgba(101,150,201,.16)}.leaderboard-row:last-child{border-bottom:0}.leaderboard-medal{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#24334c;color:#a8b6cf;font-size:13px;font-weight:900}.leaderboard-row:nth-child(1) .leaderboard-medal{background:linear-gradient(135deg,#ffe07b,#d7802a);color:#392400}.leaderboard-row:nth-child(2) .leaderboard-medal{background:linear-gradient(135deg,#e3f0ff,#8099ba);color:#162337}.leaderboard-row:nth-child(3) .leaderboard-medal{background:linear-gradient(135deg,#e2a984,#9c5b3f);color:#321a10}.leaderboard-person{min-width:0}.leaderboard-person strong{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.leaderboard-person span{display:block;overflow:hidden;color:var(--dim);font-size:12px;white-space:nowrap;text-overflow:ellipsis}.leaderboard-score{margin-left:auto;color:#cfe4ff;font-size:13px;font-weight:800;text-align:right}.leaderboard-score span{display:block;margin-top:2px;color:var(--dim);font-size:11px;font-weight:400}
.lead{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-soft)}.lead .rank{width:28px;text-align:center;font-weight:800;color:var(--dim)}.lead.top1 .rank{color:var(--gold)}.rbar{height:10px;overflow:hidden;margin-top:8px;border-radius:8px;background:var(--panel-2)}.rbar.sm{height:6px}.rbar>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .4s}.card.reward.locked,.card.reward.redeemed{opacity:.76}.card.reward .bc-wrap{margin:12px 0 6px;padding:12px;border-radius:10px;background:#fff;text-align:center}.card.reward .bc-wrap svg{display:block;max-width:100%;height:auto;margin:0 auto}.card.reward .bc-num{margin-bottom:10px;color:var(--txt);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:15px;letter-spacing:3px;text-align:center}.tower{width:120px;height:160px;margin:20px auto;border-radius:12px 12px 6px 6px;position:relative;transition:.3s;box-shadow:0 0 40px -8px currentColor}.names{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px}.name-chip{padding:3px 10px;border:1px solid var(--line-soft);border-radius:20px;background:var(--panel-2);font-size:12px}
.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.pill{padding:6px 12px;border:1px solid var(--line-soft);border-radius:20px;background:var(--panel-2);font-size:13px}.pill.sel{border-color:var(--accent);color:var(--accent)}#toast{position:fixed;z-index:80;bottom:94px;left:50%;max-width:calc(100% - 42px);padding:10px 16px;border:1px solid rgba(100,215,246,.38);border-radius:11px;background:rgba(2,9,21,.93);color:#fff;opacity:0;pointer-events:none;transform:translate(-50%,10px);transition:.24s;box-shadow:0 10px 25px rgba(0,0,0,.32)}#toast.show{opacity:1;transform:translate(-50%,0)}#scanOverlay{position:fixed;z-index:90;inset:0;display:flex;flex-direction:column;overflow:hidden;height:100dvh;background:#000}#scanOverlay .scan-head{flex:0 0 auto;padding:max(14px,env(safe-area-inset-top)) 16px 14px;color:#fff;text-align:center;line-height:1.4}#scanOverlay video{display:block;flex:1 1 auto;min-height:0;width:100%;height:0;background:#000;object-fit:cover}#scanOverlay .scan-bar{position:relative;z-index:1;display:flex;flex:0 0 auto;gap:10px;padding:12px 16px max(12px,env(safe-area-inset-bottom));background:#000;box-shadow:0 -10px 24px rgba(0,0,0,.42)}#scanOverlay .scan-bar .btn{flex:1 1 0;width:auto;min-width:0;margin:0}
@media (max-width:360px){#topbar{padding:0 14px}#brand{font-size:13px}.tower-visual{right:4px;transform:scale(.88);transform-origin:top right}.tower-action{width:calc(100% - 122px);min-width:142px;font-size:16px}.room-copy strong{font-size:15px}.h5-action-card{gap:9px}.h5-status{min-width:57px;padding:5px}}
.challenge-ar-card{display:none}

/* Challenge hierarchy: consistent rhythm between navigation, title, type, and answers. */
#view>h1{margin-top:23px;line-height:1.2}#view>h1+.badge{margin:10px 0 18px}#view>h1+.badge+.card{margin-top:0}.card>.muted:first-child{margin-bottom:15px;line-height:1.55}button.opt{display:block;min-height:58px;margin-top:12px;padding:15px 16px;line-height:1.5}#view>.card+button.btn{margin-top:8px}

/* The existing Three.js AR runs as a true full-screen layer; questions never compete with a mini player. */
.room-ar-fullscreen{position:fixed;z-index:200;inset:0;overflow:hidden;background:#020814}.room-ar-fullscreen iframe{display:block;width:100%;height:100%;border:0;background:#020814}.room-ar-skip{position:absolute;z-index:2;top:max(16px,env(safe-area-inset-top));right:16px;padding:8px 13px;border:1px solid rgba(135,244,255,.45);border-radius:99px;background:rgba(2,10,24,.72);color:#c4f8ff;font-size:12px;font-weight:800;backdrop-filter:blur(10px)}.room-ar-unlock .room-ar-skip{top:auto;right:22px;bottom:max(22px,calc(env(safe-area-inset-bottom) + 12px));min-width:112px;padding:11px 16px;border-color:rgba(172,248,255,.82);background:linear-gradient(112deg,#00dbe8,#31a0ff);color:#041225;box-shadow:0 7px 18px rgba(0,169,245,.3)}.room-ar-copy{position:absolute;z-index:2;right:22px;bottom:max(32px,calc(env(safe-area-inset-bottom) + 22px));left:22px;padding:16px 18px;border:1px solid rgba(126,244,255,.64);border-radius:17px;background:linear-gradient(145deg,rgba(18,43,80,.94),rgba(4,13,29,.94));box-shadow:0 12px 32px rgba(0,0,0,.42);color:#e8feff;text-align:center;backdrop-filter:blur(12px)}.room-ar-unlock .room-ar-copy{bottom:max(88px,calc(env(safe-area-inset-bottom) + 68px))}.room-ar-copy p{white-space:pre-line;line-height:1.58}
.room-ar-backdrop{position:fixed;z-index:0;top:0;bottom:0;left:50%;width:min(100%,430px);overflow:hidden;background:#020814;transform:translateX(-50%);pointer-events:none}.room-ar-backdrop iframe{display:block;width:100%;height:100%;border:0;background:#020814}body.ar-question-active #app{position:relative;z-index:1;background:linear-gradient(145deg,rgba(7,13,32,.52),rgba(3,8,20,.62))}body.ar-question-active #topbar,body.ar-question-active #tabbar{background:rgba(5,10,21,.76)}body.ar-question-active .card{background:linear-gradient(145deg,rgba(25,35,53,.78),rgba(13,22,35,.82));backdrop-filter:blur(10px)}body.ar-question-active button.opt{background:rgba(23,34,53,.78);backdrop-filter:blur(7px)}body.ar-question-active button.btn.ghost{background:rgba(24,35,55,.78);backdrop-filter:blur(9px)}

/* Feedback uses configured activity copy only—no generic correct/incorrect wording. */
.room-feedback-dialog{position:fixed;z-index:210;inset:0;display:grid;place-items:center;padding:24px;background:rgba(2,7,18,.7);backdrop-filter:blur(7px);animation:dialog-in .22s ease both}.room-feedback-panel{position:relative;width:min(322px,100%);padding:27px 24px;border:1px solid rgba(122,242,255,.72);border-radius:24px;background:radial-gradient(circle at 50% 4%,rgba(0,221,242,.22),transparent 43%),linear-gradient(145deg,rgba(23,38,82,.98),rgba(6,15,31,.99));text-align:center;box-shadow:0 0 0 1px rgba(255,255,255,.05) inset,0 24px 60px rgba(0,0,0,.42)}.room-feedback-mark{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 15px;border:1px solid rgba(152,248,255,.9);border-radius:50%;background:rgba(0,223,243,.14);color:#d9feff;font-size:29px;text-shadow:0 0 14px #00dff5;box-shadow:0 0 24px rgba(0,220,244,.4)}.room-feedback-panel p{margin:0;color:#d9e8f4;white-space:pre-line;line-height:1.6}.room-feedback-dialog.wrong .room-feedback-panel{border-color:rgba(255,130,145,.7);background:radial-gradient(circle at 50% 4%,rgba(243,62,81,.2),transparent 43%),linear-gradient(145deg,rgba(72,25,54,.98),rgba(17,10,27,.99))}.room-feedback-dialog.wrong .room-feedback-mark{border-color:rgba(255,137,151,.76);background:rgba(255,77,99,.14);color:#ffcbd2;text-shadow:0 0 14px #ff5370;box-shadow:0 0 24px rgba(255,77,99,.32)}@keyframes dialog-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
