:root{--bg:#07080c;--panel:#11131a;--panel2:#171a23;--line:rgba(255,255,255,.085);--text:#f5f7fb;--muted:#8e94a3;--violet:#8c61ff;--cyan:#48dbff;--green:#5df2a6;--ease:cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}body{overflow-x:hidden}.portal-noise{position:fixed;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.portal-orb{position:fixed;border-radius:50%;filter:blur(100px);pointer-events:none;opacity:.15}.orb-a{width:450px;height:450px;background:#734dff;left:-160px;top:90px}.orb-b{width:520px;height:520px;background:#1ec8ff;right:-240px;top:320px}.portal-header{position:sticky;top:0;z-index:20;height:72px;padding:0 clamp(22px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(7,8,12,.76);backdrop-filter:blur(22px)}.portal-brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;font-size:18px}.portal-brand span,.auth-brand span{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#fff,#a7b4c7);color:#090a0e;font-weight:950}.portal-header nav{display:flex;align-items:center;gap:9px}.portal-header nav>a{color:#b9bfca;text-decoration:none;padding:10px 13px}.ghost-chip,.header-cta,.profile-dot{border:1px solid var(--line);background:#15171e;color:white;border-radius:12px;height:40px}.ghost-chip{padding:0 13px;cursor:pointer}.header-cta{padding:0 18px;background:white;color:#090a0e;font-weight:800;cursor:pointer}.profile-dot{width:40px;border-radius:50%;background-size:cover;background-position:center;cursor:pointer}.portal-main{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:90px 0 80px}.portal-hero{max-width:940px;padding:62px 0}.hero-badge,.kicker{display:inline-flex;font-size:11px;letter-spacing:.16em;font-weight:800;color:#aeb4c3}.portal-hero h1{font-size:clamp(44px,7vw,92px);line-height:.96;letter-spacing:-.065em;margin:18px 0;max-width:1100px}.portal-hero p{color:var(--muted);font-size:18px;line-height:1.7;max-width:720px}.hero-actions{display:flex;gap:12px;margin-top:28px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;border-radius:14px;padding:0 20px;text-decoration:none;border:0;font-weight:800;cursor:pointer;transition:transform .22s var(--ease),border-color .22s,background .22s}.primary{background:linear-gradient(135deg,#9a72ff,#6757ff);color:white;box-shadow:0 16px 50px rgba(112,78,255,.22)}.secondary{background:#151820;color:white;border:1px solid var(--line)}.primary:hover,.secondary:hover{transform:translateY(-2px)}.wide{width:100%}.hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:48px}.hero-metrics>div{border-top:1px solid var(--line);padding:18px 4px}.hero-metrics b{display:block;font-size:20px}.hero-metrics small{color:var(--muted)}.product-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.product{min-height:350px;border:1px solid var(--line);border-radius:28px;padding:30px;position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.02));transition:transform .3s var(--ease),border-color .3s}.product:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;filter:blur(10px);right:-80px;top:-80px;opacity:.28}.product.music:before{background:#875dff}.product.cinema:before{background:#39cfee}.product:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.18)}.product-top,.product-footer{display:flex;align-items:center;justify-content:space-between}.product-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.09);font-size:26px}.status{font-size:10px;letter-spacing:.12em;padding:7px 9px;border-radius:99px;background:rgba(93,242,166,.12);color:var(--green)}.status.beta{color:var(--cyan);background:rgba(72,219,255,.1)}.product h2{font-size:36px;letter-spacing:-.04em;margin:86px 0 8px}.product p{color:var(--muted);max-width:500px;line-height:1.6}.product-footer{position:absolute;left:30px;right:30px;bottom:26px}.product-footer a{color:white;text-decoration:none;font-weight:800}.product-footer span{color:#747b89;font-size:12px}.community-panel{margin-top:16px;border:1px solid var(--line);border-radius:28px;padding:32px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;background:#0e1016}.community-panel h2{font-size:28px;margin:8px 0}.community-panel p{color:var(--muted);max-width:650px;line-height:1.6}.community-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;min-width:360px}.community-actions small{grid-column:1/-1;color:#757c89;text-align:center}.hidden{display:none!important}.portal-profile-menu{position:fixed;right:35px;top:66px;z-index:40;width:250px;border:1px solid var(--line);border-radius:18px;background:#12141b;box-shadow:0 25px 70px #0009;padding:10px}.portal-profile-menu a,.portal-profile-menu button{width:100%;display:block;border:0;background:none;color:white;text-align:left;padding:12px;border-radius:10px;text-decoration:none}.portal-profile-menu a:hover,.portal-profile-menu button:hover{background:#1d2029}.portal-profile-menu #profileIdentity{padding:12px;border-bottom:1px solid var(--line);margin-bottom:5px}.portal-profile-menu #profileIdentity b,.portal-profile-menu #profileIdentity small{display:block}.portal-profile-menu small{color:var(--muted)}.auth-dialog{border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:0;width:min(480px,calc(100% - 28px));background:linear-gradient(155deg,#11131a,#0b0d13 68%,#171027);color:white;box-shadow:0 50px 120px #000c}.auth-dialog::backdrop{background:#020308c9;backdrop-filter:blur(10px)}.auth-shell{padding:34px;position:relative}.auth-close{position:absolute;right:18px;top:16px;border:0;background:#22252f;color:#aaa;width:34px;height:34px;border-radius:12px;font-size:22px;cursor:pointer}.auth-brand{display:flex;align-items:center;gap:10px;font-size:20px}.auth-shell h2{font-size:30px;letter-spacing:-.04em;margin:26px 0 8px}.auth-shell>p{color:var(--muted);line-height:1.55;margin:0 0 20px}.field{margin:13px 0}.field label{display:block;font-size:12px;color:#adb3c0;margin:0 0 7px}.field input{width:100%;height:48px;border:1px solid var(--line);background:#171920;border-radius:13px;color:white;padding:0 14px;outline:none}.field input:focus{border-color:#8067ff;box-shadow:0 0 0 3px #8067ff20}.auth-switch{width:100%;border:0;background:none;color:#a99bff;margin-top:14px;padding:10px;cursor:pointer}.auth-error{padding:11px;border-radius:10px;background:#ff5b7518;color:#ff8295;font-size:13px}@media(max-width:760px){.portal-header nav>a{display:none}.portal-main{padding-top:45px}.portal-hero h1{font-size:48px}.product-grid{grid-template-columns:1fr}.community-panel{grid-template-columns:1fr}.community-actions{min-width:0}.hero-metrics{grid-template-columns:1fr}.hero-metrics>div{display:flex;justify-content:space-between}.portal-header{padding:0 18px}}

/* Production API availability banner */
.api-status{position:fixed;z-index:10000;left:50%;top:14px;transform:translateX(-50%);width:min(720px,calc(100% - 28px));display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;padding:11px 16px;border:1px solid rgba(255,117,117,.3);border-radius:14px;background:rgba(38,13,17,.92);box-shadow:0 14px 45px rgba(0,0,0,.35);backdrop-filter:blur(18px);font-size:13px;color:#ffd9dc}.api-status b{color:#fff}.api-status.hidden{display:none}

/* v8.1.1: the API warning never blocks the landing-page controls. */
.api-status{justify-content:space-between;pointer-events:auto}
.api-status>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}
.api-status span{color:#ffc8ce}
.api-status button{border:1px solid rgba(255,255,255,.15);background:#fff;color:#15151a;font-weight:850;border-radius:10px;padding:7px 11px;cursor:pointer;white-space:nowrap}
