:root{--bg:#1f0c02;--bg2:#5c1b00;--bg3:#170901;--panel:rgba(8,8,8,.9);--line:rgba(255,195,100,.45);--accent:#ffc93c;--text:#fff4dc;--soft:#ffdca8;--ok:#72f061;--err:#ff9189;--radius:16px}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;font-family:Rajdhani,sans-serif;color:var(--text);background:radial-gradient(circle at 85% 10%,rgba(93,201,255,.16),transparent 25%),radial-gradient(circle at 20% 30%,rgba(255,201,60,.18),transparent 30%),linear-gradient(140deg,var(--bg),var(--bg2) 56%,var(--bg3));overflow-x:hidden}.page-shell{position:relative;min-height:100vh}.wrapper{width:min(98vw,1820px);margin:0 auto;padding:24px 28px 34px;position:relative;z-index:2}.wrapper:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:24px;border:1px solid rgba(255,195,100,.18);background:linear-gradient(135deg,#0805047a,#08050438 46%,#08050466);box-shadow:0 16px 46px #00000057;z-index:-1}.site-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:#080808f0;padding:12px;margin-bottom:12px}.top-nav{flex:1}.tabs{display:flex;gap:10px;flex-wrap:wrap}.tab-btn{border:1px solid var(--line);background:#00000059;color:var(--text);border-radius:999px;padding:8px 14px;font-weight:700;cursor:pointer}.tab-btn.active{border-color:var(--accent);background:#ffc93c26;color:var(--accent)}.auth-corner{min-width:370px;border:1px solid rgba(255,220,168,.3);border-radius:12px;background:#00000070;padding:10px}.auth-corner-title{font-family:Teko,sans-serif;font-size:1.2rem;color:var(--accent)}.auth-inline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px}.auth-current-line{color:var(--soft);font-size:.92rem}.auth-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.auth-status{margin-top:8px;font-size:.9rem}.auth-status.error{color:#ffb6b0}.auth-status.info{color:#b9e8ff}.hero,.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:16px}.hero{margin-bottom:14px}.badge{display:inline-block;font-family:Teko,sans-serif;background:linear-gradient(90deg,var(--accent),#ffef9a);color:#111;padding:4px 12px;border-radius:999px;margin-bottom:8px}h1{margin:0;font-family:Teko,sans-serif;font-size:clamp(2rem,7vw,3.8rem);line-height:.95;text-transform:uppercase}h2{margin:0 0 6px;font-family:Teko,sans-serif;font-size:2rem;color:var(--accent);line-height:.95}h3{margin:0 0 4px;font-family:Teko,sans-serif;font-size:1.5rem;color:var(--accent)}p{margin:0 0 8px;color:var(--soft)}label{display:block;margin:6px 0;color:var(--accent);font-weight:700}input,select{width:100%;border:1px solid rgba(255,189,94,.35);border-radius:10px;padding:9px;background:#0000008c;color:var(--text)}.btn{border:none;border-radius:12px;padding:10px 16px;cursor:pointer;font-family:Teko,sans-serif;font-size:1.1rem;letter-spacing:.4px;text-transform:uppercase}.btn-primary{background:linear-gradient(110deg,var(--accent),#ff7f11);color:#141414}.btn-secondary{background:#5dc9ff29;border:1px solid rgba(93,201,255,.55);color:var(--text)}.duel-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.tab-panel{display:none}.tab-panel.active{display:block}.section-title{font-family:Teko,sans-serif;font-size:1.8rem;color:var(--accent)}.section-sub{font-size:.92rem;color:var(--soft)}.invite-card,.live-duels-card,.box{border:1px solid rgba(255,220,168,.3);border-radius:12px;background:#00000047;padding:12px;margin-bottom:12px}.result{margin-top:12px;border:1px solid rgba(88,214,141,.4);border-radius:14px;padding:12px;background:#58d68d1f;display:none}.result.show{display:block}.result-title{font-family:Teko,sans-serif;font-size:1.6rem;color:#c6ffd6;margin-bottom:8px}.players-fields{display:grid;gap:8px}.player-hint,.notice{font-size:.88rem;color:var(--soft)}.style-lock-note{margin-top:8px;font-size:.88rem;color:#ffd79b}.actions,.item-actions,.invite-actions{display:flex;gap:8px;flex-wrap:wrap}.duel-actions{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:8px}.duel-live-item,.invite-item,.resume-item,.history-item{border:1px solid rgba(255,220,168,.3);border-radius:12px;background:#00000052;padding:10px;margin-bottom:8px}.scroll-list{max-height:420px;overflow-y:auto;padding-right:4px}.scroll-list::-webkit-scrollbar{width:8px}.scroll-list::-webkit-scrollbar-thumb{background:#ffc93c59;border-radius:999px}.scroll-list::-webkit-scrollbar-track{background:#0003}.duel-live-title,.item-title{font-weight:700;color:#ffdca8}.duel-live-meta,.item-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--soft);font-size:.86rem;margin:6px 0}.item-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.pill{border-radius:999px;padding:3px 9px;font-size:.78rem;font-weight:700}.pill.run{background:#ffc93c33;border:1px solid rgba(255,201,60,.5);color:#ffe5b3}.pill.done{background:#58d68d33;border:1px solid rgba(88,214,141,.5);color:#d8ffe7}.duel-label{display:inline-block;padding:2px 9px;border-radius:999px;background:#ffc93c33;border:1px solid rgba(255,201,60,.45);color:#ffe6b2;font-size:.82rem;font-weight:700}.small-btn,.copy-btn{border:1px solid rgba(93,201,255,.7);background:#5dc9ff33;color:var(--text);border-radius:10px;padding:8px 10px;font-weight:700;cursor:pointer;text-decoration:none}.empty{border:1px dashed rgba(255,220,168,.35);border-radius:12px;padding:14px;color:var(--soft);text-align:center;background:#00000040}.collapse{border:1px solid rgba(255,220,168,.28);border-radius:12px;background:#0000003d;margin-top:8px}.collapse>summary{cursor:pointer;color:#ffdca8;padding:9px 11px;background:#ffc93c14;font-weight:700}.collapse-content{padding:10px}.link-box{border:1px solid rgba(255,220,168,.36);border-radius:12px;background:#00000059;padding:10px;margin-bottom:8px}.link-row{display:grid;grid-template-columns:1fr auto;gap:8px}.obs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}.obs-grid .full{grid-column:1/-1}.obs-status{margin-top:8px;border-radius:10px;padding:8px 10px;font-size:.9rem}.obs-status.info{border:1px solid rgba(93,201,255,.55);background:#5dc9ff29;color:#e5f7ff}.obs-status.success{border:1px solid rgba(88,214,141,.55);background:#58d68d2e;color:#d9ffe8}.obs-status.error{border:1px solid rgba(255,95,86,.55);background:#ff5f5629;color:#ffe3e1}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.history-stats{margin-bottom:12px}.stat{border:1px solid var(--line);border-radius:12px;background:#00000059;padding:10px}.stat-label{font-size:.9rem;color:var(--soft)}.stat-value{font-family:Teko,sans-serif;font-size:1.8rem;color:var(--accent)}.history-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.setup-list{display:grid;gap:10px;list-style:none;padding:0;margin:0}.setup-step{border:1px solid rgba(255,220,168,.3);border-radius:12px;background:#00000052;padding:12px}.setup-step strong{display:block;color:#ffdca8;margin-bottom:4px}.preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.preview-card{border:1px solid rgba(255,220,168,.35);border-radius:14px;background:#00000059;padding:10px}.preview-wrap{border:1px solid rgba(255,195,100,.28);border-radius:10px;overflow:hidden;background:#070a0f;position:relative;aspect-ratio:16/9}.preview-wrap.compact,.preview-wrap.minimal{aspect-ratio:16/6}.preview-wrap.vertical{aspect-ratio:16/10;max-width:520px;margin:0 auto}.preview-wrap.style1 .preview-frame{transform:scale(.88);transform-origin:center;width:114%;height:114%;margin-left:-7%;margin-top:-3%}.preview-frame{width:100%;height:100%;border:0;pointer-events:none;display:block}.footer{margin-top:14px;text-align:center;color:#ffe4bfc2}.section-gap{margin-top:12px}.room-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.room-title{font-family:Teko,sans-serif;font-size:2.4rem;color:var(--accent);line-height:.95}.room-subtitle{color:var(--soft);font-size:.92rem}.room-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:12px}.score-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.score-card{border:1px solid rgba(255,220,168,.3);border-radius:12px;background:#00000052;padding:10px}.score-head{display:flex;justify-content:space-between;gap:8px}.score-name{font-weight:700;color:#ffe1ad}.score-main{font-family:Teko,sans-serif;font-size:2rem;color:var(--accent)}.score-meta{font-size:.88rem;color:var(--soft)}.lead-box{margin-top:8px;border:1px solid rgba(93,201,255,.45);border-radius:12px;background:#5dc9ff1a;padding:10px}.lead-title{font-weight:700;color:#cdefff}.lead-list{display:grid;gap:4px;margin-top:5px}.line{font-size:.9rem;color:#e7f9ff}.tables{display:grid;gap:10px}.table-card{border:1px solid rgba(255,220,168,.3);border-radius:12px;background:#00000047;padding:10px}table{width:100%;border-collapse:collapse;margin-top:6px}th,td{padding:6px;border-bottom:1px solid rgba(255,220,168,.2);text-align:left;font-size:.9rem}th{color:#ffe0ac}td{color:#f7ebd2}.status{margin-top:8px;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,220,168,.35);background:#0000004d;color:var(--soft)}.status.ok{border-color:#72f06180;background:#72f06121;color:#d8ffd4}.status.err{border-color:#ff918980;background:#ff91891f;color:#ffe2df}.bg-scene{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.bg-scene:before{content:"";position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;background:radial-gradient(circle at 14% 82%,rgba(255,194,87,.2),transparent 34%),radial-gradient(circle at 88% 70%,rgba(93,201,255,.16),transparent 32%),radial-gradient(circle at 50% 4%,rgba(255,229,143,.16),transparent 30%),linear-gradient(135deg,#0c080429,#ff8f0f12 48%,#09060324);animation:bgShift 16s ease-in-out infinite}.bg-scene:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.16;background-image:radial-gradient(circle at 50% 50%,rgba(255,255,255,.25) 0 1px,transparent 1.5px);background-size:3px 3px}.shenron-image-layer{position:absolute;top:-14%;right:-8%;bottom:-14%;left:-8%;background-image:url(/assets/shenron.png);background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.2;mix-blend-mode:screen;filter:drop-shadow(0 0 28px rgba(118,255,95,.45));animation:shenronImageFloat 14s ease-in-out infinite}.shenron-image-layer.has-asset{opacity:.55}.shenron-layer{position:absolute;top:-8%;right:-14%;bottom:-8%;left:-14%;opacity:.68;filter:drop-shadow(0 0 14px rgba(126,255,88,.55));mix-blend-mode:screen;animation:shenronDrift 12s ease-in-out infinite}.shenron-svg{width:136%;height:136%;transform:translate(-10%,-11%) rotate(-5deg)}.shenron-shadow{fill:none;stroke:#06230ecc;stroke-width:22;stroke-linecap:round;stroke-linejoin:round}.body-main-vue{fill:none;stroke:url(#shenronBodyGradientVue);stroke-width:14;stroke-linecap:round;stroke-linejoin:round}.belly-vue{fill:none;stroke:url(#shenronBellyGradientVue);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.shenron-scales{fill:none;stroke:#2b6826cc;stroke-width:1.8;stroke-dasharray:6 9;stroke-linecap:round;animation:shenronScaleFlow 6s linear infinite}.dragon-balls{position:absolute;top:0;right:0;bottom:0;left:0}.dragon-ball{position:absolute;top:0;left:0;width:110px;height:110px;background-repeat:no-repeat;background-position:center;background-size:contain;filter:drop-shadow(0 0 16px rgba(255,168,36,.65)) drop-shadow(0 0 42px rgba(255,130,0,.35));animation:orbGlow 2.7s ease-in-out infinite;will-change:transform}@keyframes bgShift{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(-2%,-1.5%,0) scale(1.06)}}@keyframes orbGlow{0%,to{filter:brightness(1) saturate(1)}50%{filter:brightness(1.34) saturate(1.2)}}@keyframes shenronDrift{0%,to{transform:translateZ(0)}50%{transform:translate3d(-2.8%,-1.6%,0)}}@keyframes shenronImageFloat{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(-1.4%,-1.2%,0) scale(1.02)}}@keyframes shenronScaleFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-120}}@media (max-width:980px){.wrapper{width:100%;padding:16px}.wrapper:before{top:4px;right:4px;bottom:4px;left:4px;border-radius:18px}.site-topbar{flex-direction:column}.auth-corner{width:100%;min-width:0}.duel-layout,.room-grid,.preview-grid{grid-template-columns:1fr}}@media (max-width:640px){.auth-inline-grid,.duel-actions,.link-row,.stats,.obs-grid,.score-cards{grid-template-columns:1fr}}
