:root{color-scheme:dark;--bg:#080916;--panel:#17182b;--border:#32334e;--text:#f1f2ff;--muted:#a5a7bf;--pink:#ed4fac;--blue:#57b3ff;--green:#4de4ae}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 40% 0%,#1d183e,#090a18 65%);color:var(--text);font:14px/1.4 system-ui,-apple-system,Segoe UI,sans-serif}.app{min-height:100dvh;display:flex;flex-direction:column}.topbar{min-height:77px;padding:13px 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:15px}.brand{display:flex;align-items:center;gap:11px;letter-spacing:.11em;font-weight:300;font-size:22px}.brand b{font-weight:900}.brand small{display:block;font-size:9px;letter-spacing:.16em;color:#9d92bd;margin-top:1px}.brandmark{width:39px;height:39px;border:2px solid var(--pink);border-radius:12px;color:var(--pink);display:grid;place-items:center;font-size:27px;box-shadow:0 0 24px #ed4fac40}.support{padding:8px 11px;border-radius:30px;background:#21253b;font-size:11px;color:#aabbdc}.workspace{display:grid;grid-template-columns:340px minmax(0,1fr);gap:14px;min-height:0;flex:1;padding:14px}.sidebar{display:flex;flex-direction:column;gap:12px;max-height:calc(100dvh - 132px);overflow-y:auto;padding-right:3px}.panel{padding:16px;border:1px solid var(--border);border-radius:13px;background:linear-gradient(130deg,#1b1b34,#121326)}.sectiontitle{font-size:12px;letter-spacing:.14em;font-weight:800;margin-bottom:10px;display:flex;align-items:center;gap:9px}.sectiontitle span{color:var(--pink);font-weight:900}.muted,.hint{font-size:12px;color:var(--muted);margin:7px 0 12px}.hint{line-height:1.5;margin-bottom:0}button,.filebtn{cursor:pointer;border:1px solid #414562;color:white;background:#2d2d49;border-radius:9px;min-height:39px;padding:10px 12px;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-family:inherit}button:hover:not(:disabled),.filebtn:hover{filter:brightness(1.2)}button:disabled{opacity:.37;cursor:not-allowed}.filebtn{display:flex;width:100%;background:rgba(237,79,172,.16);border-color:#b64d93;color:#ffc4e4}.subtlebtn{background:#282941}.primary{background:linear-gradient(135deg,#a84bba,#d34499);border-color:#e46cb4}.danger{background:#a73662;border-color:#df4f83}.wide{width:100%;margin:10px 0}.buttonrow{display:flex;gap:7px;margin:8px 0}.buttonrow>*{flex:1;min-width:0}.info{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;margin-top:8px;border-bottom:1px solid #33344c}.info span{color:var(--muted);font-size:12px}.info strong{font-size:12px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.fieldlabel{display:block;font-size:11px;color:#c7cae4;margin:10px 0 4px}input[type=text],input[type=password],select{width:100%;border:1px solid #464866;border-radius:8px;background:#0e1023;color:white;padding:10px;font:inherit}select{margin-top:9px}.viewportbox{display:flex;flex-direction:column;border-radius:13px;border:1px solid #383952;overflow:hidden;min-height:540px;background:#080b1d}.viewportheading{background:#171a30;padding:13px 16px;display:flex;align-items:center;gap:8px;font-weight:800;font-size:11px;letter-spacing:.12em}.onairdot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}.viewnote{margin-left:auto;color:#8587ab;font-weight:400;letter-spacing:0}.viewportbox #viewport{flex:1;min-height:430px;position:relative;overflow:hidden}.viewportbox canvas{display:block;width:100%;height:100%}.viewportbadge{position:absolute;left:14px;top:14px;border:1px solid #4b4669;border-radius:50px;background:#14142abe;backdrop-filter:blur(8px);padding:7px 13px;color:#eec8ff;font-size:11px;letter-spacing:.1em;font-weight:800;pointer-events:none}#countdown{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#fff;font-size:115px;font-weight:900;text-shadow:0 0 35px #e351bf}#countdown[hidden]{display:none}.bottomstatus{display:flex;align-items:center;justify-content:space-between;background:#171a30;border-top:1px solid #32314f;padding:10px 15px;font-size:12px;color:#bfc0db}.bottomstatus span:last-child{font-variant-numeric:tabular-nums;font-weight:800;color:#fff}footer{display:flex;justify-content:space-between;padding:10px 20px;font-size:10px;color:#777c9d;gap:12px}@media(max-width:920px){.workspace{grid-template-columns:1fr;gap:10px}.sidebar{max-height:none;overflow:visible;order:2}.viewportbox{order:1;min-height:440px}.viewportbox #viewport{min-height:380px}.topbar{min-height:66px;padding:11px}.brand{font-size:17px}.support{font-size:10px}.sidebar .panel{padding:13px}.viewnote{display:none}}@media(max-width:480px){.workspace{padding:8px}.viewportbox #viewport{min-height:320px}.viewportbox{min-height:360px}.topbar{gap:8px}.brandmark{width:31px;height:31px;font-size:21px}.brand{font-size:14px}.brand small{font-size:7px}footer span:last-child{display:none}}

/* Shared library — mobile-first buttons, also works in Quest Browser's 2D window. */
.cloudstatus{border:1px solid #3d4368;border-radius:9px;padding:10px 11px;color:#cee6ff;background:#1e2a43;font-size:12px;margin:10px 0}
.cloudstatus.ready{border-color:#337e70;background:#152d31;color:#8ef1ce}
.cloudstatus.warning{border-color:#8a5364;background:#3a2439;color:#ffbad1}
.cloudlist{margin:10px 0;display:flex;flex-direction:column;gap:8px;max-height:310px;overflow:auto}
.cloudmodel{display:flex;align-items:center;gap:8px;justify-content:space-between;border:1px solid #3b405b;padding:8px;border-radius:9px;background:#14172c;min-width:0}
.cloudmodel .itemtext{min-width:0;flex:1}.cloudmodel strong{display:block;overflow-wrap:anywhere;font-size:12px}.cloudmodel small{display:block;color:#9aa5c1;font-size:10px;margin-top:4px}
.cloudmodel .itemactions{display:flex;flex-wrap:wrap;gap:5px}.cloudmodel .itemactions button{min-height:32px;padding:7px;font-size:11px}
.cloudmodel .delete{background:#3a223a;border-color:#70415c;color:#f9b6d3}
.checkrow{display:flex;align-items:center;gap:7px;color:#b8b9d4;font-size:12px;margin-top:10px}.checkrow input{accent-color:#ed4fac}
.cloudhelp{margin-top:12px;padding-top:12px;border-top:1px solid #383954;color:#c4c8e2;font-size:12px}
.cloudhelp summary{cursor:pointer;color:#9ad6ff;font-weight:750}
.cloudhelp code{color:#a9f1db;overflow-wrap:anywhere}
.cloudhelp p{line-height:1.6}
[hidden]{display:none !important}
@media(max-width:480px){.cloudmodel{flex-direction:column;align-items:stretch}.cloudmodel .itemactions button{flex:1}}
