.portal{min-height:100vh;color:#f6edde;background:radial-gradient(ellipse at 80% 0,#493353 0,transparent 45%),#211e30;padding:0 max(20px,calc((100vw - 1380px)/2));font-family:DM Sans,system-ui,sans-serif}.portal-header{display:flex;align-items:center;gap:22px;padding:24px 0;border-bottom:1px solid #695573;flex-wrap:wrap}.portal-header img{width:210px;max-width:50vw}.portal-header nav{display:flex;gap:5px;flex-wrap:wrap;flex:1}.portal button{font-size:14px;padding:10px 15px;min-height:42px;margin:4px;border-radius:12px;border:1px solid #766082;background:#382d46;color:#f4e5f6;cursor:pointer}.portal button.primary,.portal button[aria-current=page],.portal button[aria-pressed=true]{background:#d1b4e8;color:#271c32;border-color:#e6cee9}.portal button:disabled{opacity:.5;cursor:not-allowed}.portal label{display:block;font-size:14px;margin:16px 0 8px;color:#e7daeb}.portal input,.portal textarea,.portal select{display:block;width:100%;max-width:100%;margin:7px 0;padding:12px;background:#201c2d;border:1px solid #806a8c;border-radius:10px;color:#fff2e4;font:inherit}.portal textarea{min-height:95px;resize:vertical}.portal input[type=color]{height:48px}.portal .check{display:flex;align-items:center;gap:10px}.portal .check input{width:20px}.portal :focus-visible{outline:3px solid #e4bdde;outline-offset:3px}.portal h1{font-size:clamp(28px,4vw,48px);line-height:1.15;margin:22px 0}.portal h2{font-size:23px;margin:8px 0 14px}.portal p{line-height:1.65}.portal .muted,.portal small{color:#c2aecb}.portal section{padding:20px 0 40px}.portal-notice{min-height:30px;color:#f1c8de;margin-top:12px}.portal-hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:48px;min-height:470px}.portal-hero h1{font-size:clamp(38px,5.5vw,72px);max-width:730px}.portal-hero img{width:100%;filter:drop-shadow(0 25px 50px #d88dbc30)}.portal-hero p{max-width:600px;font-size:18px}.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:22px}.portal-card{border:1px solid #735b7e;border-radius:20px;background:linear-gradient(145deg,#392b46,#292438);padding:24px;min-width:0;box-shadow:0 10px 35px #120b201c}.portal section.auth-card{max-width:450px;margin:40px auto;padding:32px}.portal-split{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.5fr);gap:24px}.portal-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid #65516e;padding:10px 0}.portal-row input,.portal-row select{width:180px;flex:1}.portal-messages{max-height:450px;min-height:200px;overflow:auto;background:#211d30;border-radius:12px;padding:15px;overflow-wrap:anywhere}.portal-messages p{border-bottom:1px solid #4c3b5b;padding-bottom:12px;white-space:pre-wrap}.portal .thread-row,.library-row{border-bottom:1px solid #6c527a;padding:15px 0}.thread-row b,.thread-row small{display:block}.shop-card img,.listing-image{width:100%;max-height:240px;object-fit:contain;background:#211c2d;border-radius:12px}.asset-placeholder{display:grid;place-items:center;height:150px;background:linear-gradient(140deg,#a47bc2,#5c467b);font-size:65px;border-radius:12px;color:#f8dbbd}.profile-dot{display:grid;place-items:center;border-radius:50%;width:65px;height:65px;color:#211c2d;font-size:36px}.portal footer{padding:28px 0;margin-top:40px;border-top:1px solid #675074;color:#bdacc5;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.admin-tabs{margin-bottom:20px}.platform-room-bar{position:sticky;top:0;z-index:60;background:#31243d;border-bottom:1px solid #ad85bd;padding:10px 20px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.platform-room-bar button{padding:10px}.platform-room-bar span{font-size:13px;color:#e9c1e1}.portal .studio-shell{padding:16px 0}.portal .studio-grid{grid-template-columns:230px minmax(250px,1fr) 250px}.portal .studio-grid input{padding:6px}.portal .studio-shell button{padding:7px;margin:1px}.portal .studio-shell label{margin:5px 0}.portal .studio-shell input[type=checkbox]{width:auto;display:inline}.portal .studio-shell{overflow-x:auto}@media(max-width:850px){.portal-hero,.portal-split{grid-template-columns:1fr}.portal-hero{gap:10px}.portal-hero img{max-height:260px}.portal-header{gap:12px}.portal-header nav{order:3;width:100%}.portal-card{padding:19px}.portal .studio-grid{display:flex;flex-direction:column}.portal .studio-grid>*{width:100%}.portal-header button{padding:8px 10px}.portal{padding:0 16px}}.portal .mobile-menu-toggle{display:none}.form-feedback{color:#ffd0db;min-height:24px}.account-required{border:1px solid #d4a1c4;background:#49314b;border-radius:12px;padding:15px}.account-details{margin-top:24px}.character-editor{display:grid;grid-template-columns:minmax(200px,.8fr) 1.2fr;gap:24px;align-items:start}.character-editor canvas{width:100%;height:350px;border-radius:16px;touch-action:none}.avatar-colors{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:12px}.portal .auth-card .primary{width:100%;margin:14px 0}.portal .auth-card small{display:block;font-size:13px;margin-top:5px}.portal input,.portal textarea,.portal select{font-size:16px}.portal .password-field button{min-height:48px}.portal-messages p,.portal .shop-card,.portal .portal-card{overflow-wrap:anywhere}@media(max-width:850px){.portal .mobile-menu-toggle{display:block;margin-left:auto}.portal-header nav{display:none}.portal-header nav.menu-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;background:#2c2238;padding:10px;border-radius:12px}.portal-header nav button{min-height:48px}.character-editor{grid-template-columns:1fr}.character-editor canvas{height:280px}.portal-row{align-items:stretch}.portal-row input,.portal-row select{width:100%;flex-basis:100%}.portal .auth-card{margin:20px auto;padding:22px}.portal-messages{max-height:45dvh}.platform-room-bar{position:relative}.platform-room-bar button{min-height:44px}.portal-header>a{max-width:55%}.portal-header img{max-width:100%}}.portal form{display:block}.portal form>label,.portal form>div{min-width:0}.portal .character-editor{margin:20px 0}.portal .portal-card{min-width:0}.room-subtitle{display:block;font-size:12px;font-weight:400;margin-top:4px}.return-to-room{position:absolute;z-index:12;top:12px;left:12px;min-height:44px;background:#30263f;color:#fff;border:1px solid #d1b4e8;border-radius:10px;padding:10px 14px}.movie-room-owner{position:absolute;z-index:11;bottom:12px;left:12px;background:#211e30df;color:#fff;border-radius:8px;padding:8px;pointer-events:none}@media(max-width:700px){.platform-room-bar{gap:6px;padding:8px;flex-wrap:wrap}.platform-room-bar strong{flex:1;min-width:140px}.platform-room-bar span{flex-basis:100%;font-size:12px}.return-to-room{font-size:13px;top:8px;left:8px}.movie-room-owner{font-size:12px;max-width:80%}}.portal .email-onboarding{max-width:560px;margin:40px auto;padding:32px}.portal .profile-page{max-width:1050px;margin:0 auto}.portal .profile-page>.portal-card{padding:28px;margin-bottom:24px}.portal .account-details form{max-width:700px}.portal .profile-page h1{font-size:clamp(26px,4vw,38px);margin:24px 0}.portal .character-editor{grid-template-columns:minmax(220px,.8fr) 1.2fr}.portal .character-editor>div{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.portal .avatar-colors{grid-column:1/-1}.portal .portal-card>form{margin-top:20px}.portal .portal-card h2{margin-top:0}@media(max-width:650px){.portal .email-onboarding{padding:22px;margin:20px auto}.portal .profile-page>.portal-card{padding:18px}.portal .character-editor{grid-template-columns:1fr}.portal .character-editor canvas{height:280px}.portal .character-editor>div{grid-template-columns:1fr 1fr}}.admin-hub{max-width:1400px;margin:auto}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.admin-tabs button[aria-pressed=true]{background:#d3b3eb;color:#23192e}.account-desk{display:grid;grid-template-columns:minmax(230px,320px) minmax(0,1fr);gap:20px}.member-directory{display:grid;gap:8px;max-height:65vh;overflow:auto;margin-top:16px}.member-directory button{text-align:left;display:grid;gap:4px;overflow-wrap:anywhere}.member-directory button[aria-pressed=true]{border-color:#efd5ff;background:#503861}.member-directory span{font-size:12px}.account-detail{min-width:0}.account-detail form,.account-detail fieldset{display:grid;gap:12px;margin:20px 0;min-width:0}.account-detail label{display:grid;gap:6px}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.account-detail details{padding:14px;border:1px solid #695575;border-radius:12px;margin:16px 0}.account-detail summary{cursor:pointer;font-weight:600}.temporary-secret{padding:16px;background:#332744;border:1px solid #d6b7ed;border-radius:12px;overflow-wrap:anywhere}.danger-zone{border-color:#c4768c!important}.audit-entry{border-bottom:1px solid #695575;padding:12px 0}.audit-entry code{white-space:pre-wrap;overflow-wrap:anywhere}.admin-hub .portal-card{padding:24px}.admin-hub .portal-card>button{margin:4px}.account-detail input,.account-detail select,.account-detail textarea{width:100%;min-width:0}.account-detail .password-control button{width:auto}@media(max-width:760px){.account-desk{grid-template-columns:1fr}.member-directory{max-height:230px}.admin-hub .portal-card{padding:16px}.admin-tabs{gap:6px}.admin-tabs button{flex:1 0 auto;min-height:44px}.admin-actions button{width:100%;min-height:44px}}.member-directory button[aria-pressed=true]{color:#fff1ff}.member-directory button[aria-pressed=true] strong,.member-directory button[aria-pressed=true] span{color:inherit}.required-password-page{padding-top:32px;padding-bottom:32px}.required-password-page .auth-card{margin:0 auto!important}.required-password-page form>button{margin:8px 8px 0 0;min-height:44px}
