/* Portal rules are scoped; workspace design lives in studio.css. */
:root{--cobalt:#3155db;--ink:#202943;--portal-muted:#69738b;--portal-line:#e0e5ef}*{box-sizing:border-box}body[data-page]{margin:0;background:#f6f7fb;color:var(--ink);font:15px "Segoe UI Variable Text","Segoe UI",system-ui,sans-serif;font-synthesis:none}body[data-page] a{color:inherit;text-decoration:none}body[data-page] :is(button,input,select){font:inherit}body[data-page] button{cursor:pointer}body[data-page] button:disabled{opacity:.6;cursor:wait}body[data-page] :is(input,select){min-width:0;background:white;border:1px solid #cbd3e3;border-radius:9px;padding:13px 15px;color:var(--ink)}body[data-page] :is(input,select,button,a):focus-visible{outline:3px solid #95a9ff;outline-offset:3px}body[data-page] label{display:block;font-size:13px;font-weight:650;margin:20px 0 9px}body[data-page] :is(h1,h2,p){margin-top:0}.hidden{display:none!important}.muted{color:var(--portal-muted);line-height:1.65}.small,small{font-size:12px}.eyebrow{font-size:13px;font-weight:600;color:var(--cobalt)}.wordmark{display:inline-flex;align-items:center;gap:10px;font-size:19px;font-weight:750;letter-spacing:-.6px;white-space:nowrap}.mark{display:inline-grid;place-items:center;background:var(--cobalt);color:white;width:36px;height:36px;border-radius:10px;font-size:24px;letter-spacing:-2px;font-weight:650;padding-right:2px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:16px;border-radius:9px;padding:13px 20px;font-size:14px;font-weight:600;line-height:1.3;cursor:pointer;min-height:44px}.primary{background:var(--cobalt);border:1px solid var(--cobalt);color:white}.primary:hover{background:#2444ba}.secondary{background:white;border:1px solid var(--portal-line);color:var(--ink)}.secondary:hover{background:#f0f3fa}.quiet-link{font-size:13px;color:var(--portal-muted)!important}.quiet-link:hover{text-decoration:underline!important}
.access-header{height:94px;max-width:1600px;margin:auto;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;gap:24px}.header-caption{font-size:13px;color:var(--portal-muted);margin-right:auto;margin-left:32px}.access-shell{max-width:1600px;min-height:calc(100svh - 94px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);margin:auto;padding:0 22px 22px;gap:22px}.intro{background:#e9edfa;border-radius:22px;padding:48px 5vw 30px;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.studio-label{font-size:12px;color:#4a5983;display:flex;align-items:center;gap:9px}.live-dot{width:7px;height:7px;border-radius:100%;background:#3155db}.intro h1{font-size:clamp(36px,3.8vw,60px);font-weight:600;letter-spacing:-2.5px;line-height:1.13;margin:22px 0 20px;color:#243c96}.intro-copy>p{font-size:14px;color:#5c6b91;line-height:1.8;margin-bottom:0}.storyboard{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;margin:32px -10px 26px;transform:rotate(-3deg);max-width:620px}.frame{height:215px;border:6px solid white;border-radius:12px;position:relative;overflow:hidden;box-shadow:0 12px 28px #203b8520}.frame-landscape{background:#95bce4}.frame-sun{position:absolute;width:66px;height:66px;background:#fff4bf;border-radius:100%;top:27px;left:30px}.frame-hill{position:absolute;transform:rotate(-25deg);width:150%;height:150px;border-radius:40%;left:-15%;bottom:-85px;background:#42698c}.hill-back{transform:rotate(26deg);bottom:-55px;background:#6f94ae;left:10%}.frame-label{position:absolute;bottom:12px;left:12px;font-size:10px;color:white;z-index:2;text-shadow:0 1px 6px #0005}.frame-play{position:absolute;top:77px;left:calc(50% - 19px);display:grid;place-items:center;width:38px;height:38px;background:#ffffff55;backdrop-filter:blur(4px);border:1px solid #ffffff66;border-radius:50%;font-size:23px;color:white}.frame-portrait{background:#d7b9b0;margin-top:26px}.sculpture{position:absolute;width:104px;height:150px;left:calc(50% - 52px);top:26px;border:23px solid #f3e3ce;border-bottom-width:38px;border-radius:62px 62px 12px 12px;transform:rotate(12deg);box-shadow:15px 16px 0 #a97f7b50,inset 5px 5px 8px #92635f33}.timeline{display:flex;align-items:center;gap:12px;background:white;border-radius:8px;padding:13px 15px;grid-column:1/-1;margin:0 16px;box-shadow:0 8px 20px #233c8410;transform:rotate(3deg);color:var(--cobalt);font-size:10px}.timeline-track{display:flex;align-items:center;gap:4px;flex:1}.timeline-track i{height:16px;width:5px;background:#b7c4f5;border-radius:2px}.timeline-track i:nth-child(3n){height:23px;background:#3155db}.timeline-track i:nth-child(2n){height:10px}.timeline>span:last-child{color:#75809b}.feature-list{display:flex;justify-content:space-between;gap:20px;margin-top:12px;font-size:10px;color:#68779b}.feature-list b{display:block;font-size:13px;color:#32477e;font-weight:600;margin-bottom:6px}
.access-panel{border:1px solid var(--portal-line);border-radius:22px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:white;padding:42px 38px}.access-card{width:100%;max-width:360px}.entry-icon{display:grid;place-items:center;background:#eff2fc;border:1px solid #dbe2fb;color:var(--cobalt);width:44px;height:44px;border-radius:13px;font-size:27px}.access-card h2{font-size:39px;line-height:1.14;letter-spacing:-1.6px;font-weight:600;margin:22px 0 16px}.access-card>p{font-size:13px;margin-bottom:28px}.access-card form input{width:100%;font-size:13px;padding:16px}.field-help{font-size:11px;line-height:1.5;color:var(--portal-muted);margin:8px 0 22px}.access-card .primary{width:100%;justify-content:space-between;min-height:50px}.message{font-size:13px;line-height:1.6;color:#b43343;overflow-wrap:anywhere}.message:not(:empty){margin:16px 0;padding:10px 12px;background:#fff0f2;border:1px solid #f3ccd3;border-radius:8px}.message.success{color:#167150;background:#eef9f3;border-color:#c5e4d3}.access-note{border-top:1px solid var(--portal-line);padding-top:24px;margin-top:24px;display:flex;gap:12px}.access-note strong{font-size:12px;font-weight:650}.access-note p{font-size:11px;line-height:1.7;color:var(--portal-muted);margin:8px 0 0}.note-icon{font-size:24px;color:var(--cobalt)}.help-copy{margin:22px 0 0!important;line-height:1.7}.access-panel footer{margin-top:42px;font-size:10px;color:#8892a7}
body[data-page]>.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--portal-line);background:white;padding:22px max(28px,5vw);gap:20px}.owner-main{max-width:1240px;margin:48px auto;padding:0 32px}.owner-main h1{font-weight:600;letter-spacing:-1.4px;font-size:37px;margin:12px 0}.owner-login{max-width:420px;margin:70px auto;padding:32px;background:white;border:1px solid var(--portal-line);border-radius:16px}.owner-login h1{font-size:30px;line-height:1.2}.owner-login input,.owner-login .primary{width:100%}.owner-login .primary{margin-top:24px}.owner-login>p{font-size:13px}.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.dashboard-heading p{font-size:13px;margin-bottom:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:30px 0;background:white;border:1px solid var(--portal-line);border-radius:14px;overflow:hidden}.stats article{padding:24px 28px;border-right:1px solid var(--portal-line)}.stats article:last-child{border:0}.stats article:nth-child(2){background:#eff3ff}.stats span{color:var(--portal-muted);font-size:12px}.stats strong{display:block;font-size:32px;letter-spacing:-1px;font-weight:600;margin-top:14px;font-variant-numeric:tabular-nums}.create-card{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 24px;padding:25px 28px;background:white;border:1px solid var(--portal-line);border-radius:14px}.create-card h2{font-size:16px;margin-bottom:8px}.create-card p{margin:0;font-size:12px}.create-card form{display:flex;gap:10px}.new-key{border:1px solid #aabbed;background:#ecf1ff;border-radius:12px;padding:24px;margin-bottom:24px;font-size:13px}.new-key>div{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0}.new-key code{word-break:break-all;font-size:14px;user-select:all}.new-key small{color:#657398}.list-heading{display:flex;align-items:center;justify-content:space-between;margin:28px 0 16px;gap:16px}.list-heading h2{font-size:17px;margin:0}.filters{display:flex;gap:10px}.filters input{width:240px}.table-wrap{overflow-x:auto;background:white;border:1px solid var(--portal-line);border-radius:12px}body[data-page] table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}body[data-page] :is(th,td){padding:19px 22px;border-bottom:1px solid #e8ecf3;white-space:nowrap}body[data-page] th{font-size:11px;font-weight:600;color:var(--portal-muted);background:#f9faff}body[data-page] tbody tr:last-child td{border-bottom:0}body[data-page] tbody tr:hover{background:#fbfcff}body[data-page] td strong{font-weight:600}body[data-page] td small{display:block;color:var(--portal-muted);margin-top:7px;font-size:10px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:30px;padding:5px 9px;font-size:10px;background:#eef7f2;color:#24744e}.badge:before{content:"";width:5px;height:5px;background:currentColor;border-radius:100%}.badge.unused{background:#eff2fa;color:#667597}.badge.expired,.badge.revoked{background:#fff0f2;color:#ac4252}.danger{padding:8px 12px;font-size:11px!important;border:1px solid #ead6db;color:#a23c4c;background:white;border-radius:7px}.danger:hover{background:#fff0f2}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.browser-main{max-width:1160px;margin:36px auto;padding:0 28px}.browser-main h1{font-size:32px;font-weight:600;letter-spacing:-1px;margin:14px 0}.browser-main>p{font-size:13px;max-width:750px}.browser-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0}.browser-controls button,.browser-controls select{font-size:12px}.remote-view{overflow:hidden;border:1px solid #c9d2e6;background:#e8edf6;border-radius:12px;min-height:260px;touch-action:manipulation}.remote-view img{width:100%;height:auto;display:block;cursor:crosshair}.remote-view img:not([src]){display:none}#remotePlaceholder{padding:100px 24px;text-align:center;color:var(--portal-muted);font-size:13px}.text-entry>div{display:flex;gap:10px}.text-entry input{flex:1}.rental-bar{display:flex;align-items:center;justify-content:flex-end;gap:18px;background:white;color:#52617f;padding:10px 24px;font:12px "Segoe UI",sans-serif;border-bottom:1px solid #e0e5ef;min-height:58px}.rental-bar strong{margin-right:auto;font-size:16px;color:#253a80}.rental-bar a,.rental-bar button{padding:8px 12px;border-radius:7px;border:1px solid #d9e0ef;background:white;color:#3155db;font:inherit;cursor:pointer;text-decoration:none}.rental-bar a:hover,.rental-bar button:hover{background:#edf1ff}
@media(max-width:1050px){.access-shell{grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);gap:14px;padding:0 14px 14px}.intro{padding:34px 30px}.intro h1{font-size:40px;letter-spacing:-1.8px}.frame{height:180px}.sculpture{width:90px;left:calc(50% - 45px);height:130px;border-width:20px}.feature-list{flex-wrap:wrap}.access-panel{padding:32px}.create-card{flex-direction:column;align-items:stretch}.create-card form input{flex:1}.header-caption{display:none}}
@media(max-width:720px){.access-header{height:76px;padding:0 24px}.access-shell{grid-template-columns:1fr;gap:12px}.intro{padding:28px;border-radius:16px}.intro h1{font-size:36px;margin:16px 0 12px}.intro-copy>p{font-size:12px}.storyboard{margin:22px 0 10px;max-width:430px}.frame{height:155px}.frame-portrait{margin-top:16px}.frame-sun{width:45px;height:45px;top:16px;left:20px}.frame-play{top:50px}.sculpture{top:14px;height:110px;width:78px;left:calc(50% - 39px);border-width:17px}.timeline{padding:10px}.timeline>span:last-child{font-size:8px}.timeline-track i{width:4px}.feature-list{display:none}.access-panel{padding:30px 26px;border-radius:16px}.access-card{max-width:100%}.access-card h2{font-size:34px;margin:0 0 12px}.access-card h2 br{display:none}.entry-icon{display:none}.access-card>p{margin-bottom:20px}.access-panel footer{margin-top:28px}.owner-main{padding:0 18px;margin:30px auto}.owner-main h1{font-size:30px}.owner-login{margin:30px auto;padding:24px}.stats{grid-template-columns:repeat(2,1fr)}.stats article{padding:20px}.stats article:nth-child(2){border-right:0}.stats article:nth-child(-n+2){border-bottom:1px solid var(--portal-line)}.dashboard-heading{align-items:flex-start}.dashboard-heading .secondary{padding:10px;font-size:12px}.create-card{padding:20px}.create-card form{flex-direction:column}.new-key>div{align-items:stretch;flex-direction:column}.list-heading{flex-direction:column;align-items:stretch}.filters{flex-wrap:wrap}.filters input{width:100%;flex:1 1 150px}.filters select{flex:1}.browser-main{padding:0 18px}.text-entry>div{flex-wrap:wrap}.text-entry input{flex-basis:100%}body[data-page]>.topbar{padding:16px 18px}body[data-page]>.topbar .wordmark>.muted{display:none}body[data-page]>.topbar .secondary{font-size:11px;padding:10px}.rental-bar{padding:8px 12px;gap:8px;flex-wrap:wrap}.rental-bar span{font-size:10px}}
.deployment-notice input{width:100%;font-size:13px;padding:16px}
/* Midnight blue direction: blue-black surfaces, electric blue, sharp geometry. */
:root{color-scheme:dark;--cobalt:#3975ff;--ink:#e8f0ff;--portal-muted:#91a5c6;--portal-line:#203659}
body[data-page]{background:#050d1c;color:var(--ink)}
body[data-page] :is(input,select){background:#09172e;border-color:#29446c;color:#e8f0ff;border-radius:6px}
body[data-page] input::placeholder{color:#7c91b4}body[data-page] input:disabled{opacity:.75}
body[data-page] :is(input,select,button,a):focus-visible{outline-color:#76b2ff}
.mark{border-radius:6px;background:#2865ed;box-shadow:0 0 24px #2672ff22}.primary,.secondary{border-radius:6px}
.primary{background:#2865ed;border-color:#3f7bff;box-shadow:inset 0 1px 0 #ffffff14}.primary:hover{background:#3476ff}
.secondary{background:#0b1a32;border-color:#2a4165;color:#c5d8fc}.secondary:hover{background:#13294b}
.access-header{border-bottom:1px solid #142441;margin-bottom:22px;height:84px}.access-shell{min-height:calc(100svh - 106px)}
.intro{background:radial-gradient(ellipse at 10% 10%,#12336a88,transparent 65%),linear-gradient(135deg,#091b37,#061125);border:1px solid #203b64;border-radius:12px;position:relative}
.intro:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#396caa0a 1px,transparent 1px),linear-gradient(90deg,#396caa0a 1px,transparent 1px);background-size:42px 42px;pointer-events:none}
.intro-copy,.storyboard,.feature-list{position:relative}.studio-label{color:#88b9ff}.live-dot{background:#6baaff;box-shadow:0 0 12px #4e8dff66}
.intro h1{color:#e4eeff;font-weight:650;letter-spacing:-2px}.intro-copy>p{color:#91a8ce}
.storyboard{transform:none;gap:14px;margin-top:38px;margin-bottom:30px}.frame{border:1px solid #3b6397;border-radius:5px;box-shadow:0 16px 40px #01061188;height:220px}
.frame-landscape{background:linear-gradient(160deg,#081b3b,#14427a)}.frame-sun{background:#a9d4ff;box-shadow:0 0 45px #4b91ff44;width:48px;height:48px;top:30px;left:30px}
.frame-hill{background:#0d2546;border:1px solid #3869a0;border-radius:12%;transform:rotate(-30deg)}.hill-back{background:#194b7b;transform:rotate(30deg);border-color:#5b91c2}
.frame-play{background:#15386488;border-color:#83b9ff66;color:#d2e6ff;top:85px}
.frame-portrait{background:linear-gradient(145deg,#102a51,#0a1428);margin-top:22px}
.sculpture{border-color:#4176b9;border-bottom-color:#83b4ed;border-radius:5px;transform:rotate(-25deg);box-shadow:15px 16px 0 #030c1e88,inset 5px 5px 8px #020b1a66}
.frame-label{color:#c4dcff}.timeline{background:#09182f;border:1px solid #25456c;border-radius:5px;transform:none;box-shadow:none;margin:0;padding:15px}.timeline-track i{background:#284f85}.timeline-track i:nth-child(3n){background:#5a9cff}.timeline>span:last-child{color:#8ba7ce}
.feature-list{color:#8ba2c6;border-top:1px solid #203859;padding-top:22px}.feature-list b{color:#c6ddff}
.access-panel{background:#081326;border-color:#203659;border-radius:12px;box-shadow:0 24px 80px #01050c22}.entry-icon{background:#0e2345;border-color:#294b7c;border-radius:8px;color:#8bb9ff}
.access-card h2{color:#edf4ff;letter-spacing:-1.3px}.access-note{border-color:#213653}.note-icon{color:#70a7ff}.access-panel footer{color:#8b9cb8}
body[data-page]>.topbar{background:#081426;border-color:#203659}.owner-login{background:#09172c;border-color:#243d62;border-radius:10px}
.stats{background:#09172c;border-color:#243d62;border-radius:9px}.stats article{border-color:#243d62}.stats article:nth-child(2){background:#102b55}.stats strong{color:#e3efff}
.create-card{background:#09172c;border-color:#243d62;border-radius:9px}.new-key{background:#0e254a;border-color:#3568ab;border-radius:8px}.new-key small{color:#a2b9db}
.table-wrap{background:#09172c;border-color:#243d62;border-radius:8px}body[data-page] :is(th,td){border-color:#1c3151}body[data-page] th{background:#0d1e38;color:#93aed4}body[data-page] tbody tr:hover{background:#0e2445}
.badge{background:#0c342e;color:#8ed6bb}.badge.unused{background:#172c4b;color:#a6c8fb}.badge.expired,.badge.revoked{background:#3d1d30;color:#ffadbc}.danger{background:#23192b;border-color:#65374b;color:#ffafbd}.danger:hover{background:#3b1e30}
.message:not(:empty){background:#311a2b;border-color:#67334b;color:#ffc0ce}.message.success{background:#0b302b;border-color:#286458;color:#9cdec9}
.remote-view{background:#0a1931;border-color:#28466e;border-radius:8px}.rental-bar{background:#08162c;border-color:#213b61;color:#9fb5d8}.rental-bar strong{color:#d9eaff}.rental-bar a,.rental-bar button{background:#0d2344;border-color:#2b4c7a;color:#bad8ff}.rental-bar a:hover,.rental-bar button:hover{background:#193862}
@media(max-width:1050px){.frame{height:180px}.frame-play{top:65px}}
@media(max-width:720px){.access-header{height:72px;margin-bottom:14px}.access-shell{min-height:calc(100svh - 86px)}.intro,.access-panel{border-radius:9px}.storyboard{margin:24px 0 8px}.frame{height:155px}.frame-sun{width:38px;height:38px;top:18px;left:20px}.frame-play{top:50px}.timeline{padding:10px}.sculpture{border-color:#4176b9;border-bottom-color:#83b4ed}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
