/* Gaya website Real Trader: hitam/zinc-950, aksen biru; emas untuk level Expert. */
:root{--bg:#09090b;--surface:#18181b;--line:#27272a;--text:#fafafa;--muted:#a1a1aa;--blue:#3b82f6;--blue2:#60a5fa;--gold:#daa520;--green:#22c55e}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{overflow-x:hidden}
body{margin:0;background:radial-gradient(ellipse 70% 40% at 50% -5%,rgba(59,130,246,.18),transparent 70%),var(--bg);color:var(--text);font:15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}
button,input{font:inherit}
.top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px clamp(16px,4vw,40px);border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(9,9,11,.86);backdrop-filter:blur(10px);z-index:5}
.brand{display:flex;gap:12px;align-items:center}.brand b{letter-spacing:.14em;font-size:13px}.brand small{display:block;color:var(--muted);font-size:12px}
.mark{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-weight:800;background:linear-gradient(135deg,#1d4ed8,#0b2d5b);border:1px solid #1e40af}
.who{display:flex;gap:10px;align-items:center;font-size:14px}.tier{padding:3px 10px;border-radius:999px;border:1px solid #1e40af;color:var(--blue2);font-size:12px}
.btn{display:inline-block;background:var(--blue);color:#fff;border:0;border-radius:10px;padding:11px 18px;font-weight:650;text-decoration:none;cursor:pointer}.btn:hover{background:#2563eb}
.btn.small{padding:7px 12px;font-size:13px}
.ghost{background:transparent;border:1px solid var(--line);color:var(--text);border-radius:9px;padding:6px 12px;cursor:pointer}
.gate{max-width:560px;margin:12vh auto;padding:0 16px;text-align:center}.gate h1{font-size:28px}.gate p{color:var(--muted)}
.warn{color:#fbbf24!important}.muted{color:var(--muted)}
main#app{padding:20px clamp(16px,4vw,40px) 60px;max-width:1280px;margin:0 auto}
.toolbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-bottom:6px}
.levels{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 14px;cursor:pointer}.chip.on{color:#fff;border-color:var(--blue);background:rgba(59,130,246,.16)}
#q{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:9px 12px;min-width:min(320px,100%)}
.faculty h2{font-size:17px;margin:28px 0 12px;color:var(--blue2)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.module{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}
.module.locked{opacity:.6}
.mhead{display:flex;justify-content:space-between;font-size:12px}.mid{color:var(--muted)}
.lvl{padding:2px 9px;border-radius:999px;font-weight:650}.l1{background:rgba(34,197,94,.14);color:#86efac}.l2{background:rgba(59,130,246,.16);color:#93c5fd}.l3{background:rgba(168,85,247,.16);color:#d8b4fe}.l4{background:rgba(218,165,32,.16);color:#fcd34d}
.module h3{margin:8px 0 10px;font-size:16px}
.mact{margin-bottom:10px}
.lessons{margin:0;padding-left:20px;font-size:14px}.lessons li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:5px 0;border-top:1px solid var(--line)}
.lessons li.done .lt::after{content:" ✓";color:var(--green)}
.play{background:transparent;border:1px solid #1e40af;color:var(--blue2);border-radius:8px;padding:3px 10px;cursor:pointer;white-space:nowrap}
.soon{color:var(--muted);font-size:12px;white-space:nowrap}
.player{position:fixed;inset:0;background:rgba(0,0,0,.82);display:grid;place-items:center;padding:16px;z-index:10}
.panel{width:min(1100px,100%);background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.phead,.pfoot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px}.phead h2{font-size:16px;margin:0}
.frame{position:relative;aspect-ratio:16/9;background:#000}.frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* Penutup area judul & logo YouTube agar member tidak membuka halaman YouTube dari pemutar. */
.shield{position:absolute;z-index:2;background:transparent}.top-shield{left:0;right:0;top:0;height:16%}.logo-shield{right:0;bottom:0;width:14%;height:13%}
.wm{position:absolute;z-index:3;pointer-events:none;color:rgba(255,255,255,.22);font-size:clamp(11px,1.4vw,15px);font-weight:600;transition:left 1s,top 1s;white-space:nowrap}
@media (max-width:600px){.who #whoName,.brand small{display:none}.top{padding:12px 16px}.brand b{font-size:11px;letter-spacing:.1em}.tier{font-size:11px;padding:2px 8px}.grid{grid-template-columns:1fr}#q{width:100%}}
