:root{color-scheme:dark;--bg:#101014;--panel:#1b1b23;--panel2:#23232d;--text:#f5f3ed;--muted:#b7b5c1;--line:#363440;--accent:#c5e88a;--accent2:#ac9cf4;--radius:16px;--button-text:#171c11}
*{box-sizing:border-box}body.studio-app{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 system-ui,sans-serif}.studio-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px clamp(18px,4vw,64px);border-bottom:1px solid var(--line)}.studio-brand{font-size:21px;font-weight:750;color:var(--text);text-decoration:none;white-space:nowrap}.studio-brand span{color:var(--accent);font-size:26px}.studio-top nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.studio-top form{margin:0}.studio-top a{color:inherit}.studio-top button{background:transparent;color:var(--muted);border:0;padding:4px;cursor:pointer}#studio-main{max-width:1600px;margin:auto;padding:28px clamp(16px,4vw,56px);min-height:70vh}.studio-hero{max-width:860px;padding:40px 0 35px}.studio-hero h1{font-size:clamp(36px,5vw,70px);letter-spacing:-.05em;line-height:1.07;margin:12px 0 22px}.studio-hero p{font-size:19px;color:var(--muted)}.studio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:18px}.studio-card{border:1px solid var(--line);border-radius:20px;padding:26px;background:linear-gradient(140deg,#22232c,#15151d);display:flex;flex-direction:column;gap:8px;min-height:225px}.studio-card .mark{font-size:30px;color:var(--accent2)}.studio-card h2{margin:0;font-size:23px}.studio-card p{color:var(--muted);margin:0 0 20px}.studio-card a{margin-top:auto;align-self:start}.studio-auth{max-width:490px;margin:5vh auto;padding:32px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.studio-auth h1{font-size:32px;line-height:1.15}.studio-auth form,.studio-detail form{display:grid;gap:18px;margin:24px 0}.studio-auth nav{font-size:14px}.studio-footer{padding:28px;text-align:center;color:var(--muted);border-top:1px solid var(--line)}a{color:var(--accent)}label{display:grid;gap:7px}input,textarea,select{max-width:100%;font:inherit;background:#101017;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:12px}input[type=checkbox],input[type=radio],input[type=range]{padding:0}button,.button{font:inherit}.button{display:inline-block;background:var(--accent);color:#161d10;border:1px solid transparent;border-radius:10px;padding:10px 17px;text-decoration:none;font-weight:650;cursor:pointer}.button.secondary{background:var(--panel2);color:var(--text);border-color:var(--line)}:focus-visible{outline:3px solid var(--accent2);outline-offset:3px}.studio-detail{max-width:980px;margin:auto}.work-image,.studio-detail video{max-width:100%;max-height:65vh;border-radius:12px}.studio-detail audio{width:100%}.studio-book textarea{min-height:260px}.studio-book .chapter{padding:20px;border:1px solid var(--line);border-radius:12px;margin:14px 0}.studio-book input{width:100%}.studio-book-header{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between}.notice{padding:16px;border-radius:12px;background:#263525;color:var(--text)}.notice.error{background:#412531}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--accent)}.studio-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:18px 0}.studio-top .button{color:#161d10}.studio-app [hidden]{display:none!important}@media(max-width:640px){.studio-top{align-items:flex-start;flex-direction:column;padding:17px}.studio-top nav{gap:15px;font-size:14px}.studio-auth{padding:24px;margin:15px auto}.studio-hero{padding-top:15px}#studio-main{padding:18px 12px}.studio-card{padding:21px}.studio-footer{font-size:13px}}

.studio-app>.skip{position:absolute;left:16px;top:-80px;z-index:10000;background:var(--panel);padding:10px}.studio-app>.skip:focus{top:8px}.studio-detail iframe{width:100%;aspect-ratio:16/9;border:0}.studio-app main{overflow-wrap:anywhere}
/* Device mode and real-editor preview cards. */
.device-mode{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;padding:10px 15px;border:1px solid var(--line);border-radius:12px;background:#20271e;font-size:13px}.device-mode span{color:var(--muted)}.device-mode a{margin-left:auto}.device-status{font-size:14px;white-space:pre-line}.device-status:empty{display:none}.device-status.error{background:#412531;padding:12px;border-radius:8px}.studio-card .tool-preview{margin:-10px -10px 12px;align-self:stretch;overflow:hidden;border-radius:12px;background:#101014;display:block}.tool-preview img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;transition:transform .2s}.tool-preview:hover img{transform:scale(1.03)}.local-media{width:100%;max-height:240px;object-fit:contain}.studio-card .studio-toolbar{margin-top:auto}.studio-card .studio-toolbar a{margin-top:0}.studio-device [data-viz-publish-button]{display:none}.studio-device .creator-guided-media-storage,.studio-device .creator-audio-storage{display:none}.studio-device .studio-book textarea{min-height:180px}.studio-device .studio-book label{margin-block:12px}.studio-app .studio-toolbar button{min-height:44px}.studio-device [data-device-roadmap] details{margin:12px 0;padding:15px}.studio-device [data-device-roadmap] summary{cursor:pointer}.studio-device input[type=file]{max-width:100%}@media(prefers-reduced-motion:reduce){.tool-preview img{transition:none}}@media(max-width:640px){.device-mode a{margin-left:0}.studio-grid{grid-template-columns:1fr}.studio-card .studio-toolbar{gap:8px}.studio-card .tool-preview{margin:0 0 10px}}
.studio-device .creator-media-storage-card{display:none}.studio-device [data-local-share-note]{font-size:12px;color:var(--muted)}
.studio-app #studio-main{width:100%;max-width:1600px}.studio-app{--ahl-font-body:system-ui,sans-serif;--ahl-font-heading:system-ui,sans-serif}.studio-app .studio-hero{padding-top:25px}.studio-app .studio-top a{min-height:32px;display:inline-flex;align-items:center}.studio-device .theme-workshop-boundary{font-size:13px}.studio-app .studio-card{min-width:0}.studio-app .studio-book input,.studio-app .studio-book textarea{font-family:system-ui,sans-serif}
.local-reading{width:min(1000px,95vw);height:90vh;background:var(--panel);border:1px solid var(--line);border-radius:16px;color:var(--text);padding:16px}.local-reading::backdrop{background:#000b}.local-reading iframe{width:100%;height:calc(100% - 58px);border:0;margin-top:12px;background:#fff}
.studio-card button.tool-preview{padding:0;border:1px solid var(--line);box-shadow:none;cursor:zoom-in;width:calc(100% + 20px)}.tool-preview-dialog{width:min(1150px,94vw);max-height:94vh;background:var(--panel);border:1px solid var(--line);border-radius:18px;color:var(--text);padding:20px}.tool-preview-dialog::backdrop{background:#000c}.tool-preview-dialog header{display:flex;justify-content:space-between;align-items:center;gap:12px}.tool-preview-dialog h2{margin:0}.tool-preview-dialog img{width:100%;max-height:65vh;object-fit:contain;background:#101014;margin-top:16px}.tool-preview-dialog p{font-size:14px;color:var(--muted)}@media(max-width:640px){.studio-card button.tool-preview{width:100%}.tool-preview-dialog{padding:12px}.tool-preview-dialog header h2{font-size:20px}}
/* The track identity card must not cover waveform controls while scrolling. */
.studio-app .creator-audio-preview{position:static!important;top:auto!important}.studio-app .creator-audio-preview__flow{display:none}
/* Offline installation stays outside performance controls. */
.studio-install {max-width:850px;margin:0 auto 3rem;padding:clamp(16px,4vw,32px)}
.studio-install progress {width:100%;height:12px;accent-color:var(--accent,#c5e88a)}
.studio-install .studio-toolbar {flex-wrap:wrap}
.studio-install details {margin-top:1.5rem}
.studio-install summary {cursor:pointer;padding:12px 0;font-weight:700}
.studio-install [hidden] {display:none!important}
.studio-offline-badge {display:flex;justify-content:center;gap:1rem;font:12px system-ui;padding:10px;color:#b8b6c4;background:#15151c}
.studio-offline-badge a {color:#c5e88a}
body:has([data-studio-install]) .studio-hero {padding-top:24px;padding-bottom:24px}
body:has([data-studio-install]) .studio-hero h1 {font-size:clamp(28px,5vw,44px)}
body:has([data-studio-install]) .studio-hero p {font-size:17px;line-height:1.5}
body:has([data-studio-install]) .device-mode {display:none}

/* Keep the launcher's tools close to the top; account creation lives on sign-in. */
.studio-top{padding-block:12px;gap:12px}
.studio-home-intro{max-width:none;padding:18px 0 20px}
.studio-home-intro h1{font-size:clamp(24px,2.5vw,34px);line-height:1.2;letter-spacing:-.035em;margin:0 0 5px}
.studio-home-intro p{font-size:15px;line-height:1.45;margin:0}
@media(max-width:640px){.studio-top{gap:8px;padding:10px 12px}.studio-top nav{gap:6px 14px}.studio-top nav>a{display:inline-flex;align-items:center;min-height:36px}.studio-home-intro{padding:14px 0 16px}.studio-home-intro h1{font-size:24px}}
