@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&family=Saira+Condensed:wght@400;500;600;700&display=swap');

:root{color-scheme:dark;--ink:#e9e7df;--muted:#a3aaa8;--dim:#727c7c;--line:rgba(188,202,195,.14);--panel:rgba(15,21,24,.86);--panel-strong:rgba(14,20,23,.96);--teal:#b18b5e;--brass:#b8a17d;--coral:#c28e89;--shadow:0 24px 80px rgba(0,0,0,.38);font-family:"IBM Plex Sans","Segoe UI",sans-serif}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#050505;color:var(--ink)}
body{background:radial-gradient(ellipse at 49% 48%,rgba(39,54,58,.54),transparent 42%),radial-gradient(ellipse at 14% 91%,rgba(49,58,53,.35),transparent 32%),linear-gradient(135deg,#101619,#0a0e12 58%,#101315)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
#universeCanvas{position:fixed;inset:0;z-index:0;width:100%;height:100%;pointer-events:auto;touch-action:none}
.app-shell{position:relative;z-index:1;width:100%;height:100%;pointer-events:none}
.topbar{position:absolute;z-index:5;inset:0 0 auto;height:74px;display:flex;align-items:center;gap:28px;padding:0 30px;border-bottom:1px solid rgba(211,221,213,.1);background:linear-gradient(180deg,rgba(7,11,13,.9),rgba(9,14,17,.72));backdrop-filter:blur(18px);pointer-events:auto}
.brand{display:flex;align-items:center;gap:11px;min-width:230px;color:var(--ink);text-decoration:none}
.brand>span:last-child{display:grid;gap:3px}
.brand b{font:800 14px/1 "IBM Plex Sans",sans-serif;letter-spacing:.13em}
.brand small{color:#899390;font-size:8px;letter-spacing:.15em}
.brand-mark{position:relative;width:33px;height:33px;display:block;border:1px solid rgba(184,161,125,.5);border-radius:50%;box-shadow:inset 0 0 14px rgba(184,161,125,.08),0 0 18px rgba(184,161,125,.09)}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;border:1px solid rgba(177,139,94,.56);border-radius:50%;inset:8px 3px;transform:rotate(-28deg)}
.brand-mark:after{inset:3px 8px;transform:rotate(34deg)}
.brand-mark i{position:absolute;width:3px;height:3px;border-radius:50%;background:#d6c7a8;box-shadow:0 0 6px #d6c7a8;left:15px;top:15px}
.brand-mark i:nth-child(2){left:24px;top:8px;width:2px;height:2px;background:#b18b5e}
.brand-mark i:nth-child(3){left:6px;top:20px;width:2px;height:2px;background:#c28e89}
.main-nav{display:flex;align-items:center;gap:4px;height:100%}
.nav-button{height:37px;padding:0 13px;border:1px solid transparent;border-radius:9px;background:transparent;color:#a5adab;font-size:11px;letter-spacing:.02em;transition:.18s ease}
.nav-button:hover{color:var(--ink);background:rgba(255,255,255,.045)}
.nav-button.is-active{border-color:rgba(177,139,94,.2);background:rgba(177,139,94,.095);color:#dce5df}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}
.sync-badge{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#929c98;font-size:9px}
.sync-button,.download-link{display:inline-flex;align-items:center;justify-content:center;min-height:35px;padding:0 12px;border:1px solid rgba(177,139,94,.32);border-radius:8px;background:rgba(177,139,94,.11);color:#dce5df;font-size:10px;text-decoration:none;white-space:nowrap;transition:.18s ease}
.sync-button:hover,.download-link:hover{border-color:rgba(177,139,94,.65);background:rgba(177,139,94,.18)}
.download-link{border-color:rgba(184,161,125,.24);background:rgba(184,161,125,.06);color:#c9b99c}
.mobile-menu{display:none;margin-left:auto;width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.04)}
.workspace{position:absolute;inset:74px 0 0;pointer-events:none}
.scene-copy{position:absolute;top:8.5%;left:5.5%;display:flex;flex-direction:column;justify-content:space-between;width:min(440px,37vw);height:79%;pointer-events:none}
.scene-copy-top{display:flex;align-items:center;gap:9px;color:#a6b3ae;font:600 8px/1 "IBM Plex Sans",sans-serif;letter-spacing:.17em}
.live-indicator{width:6px;height:6px;border-radius:50%;background:#a5b8a0;box-shadow:0 0 10px rgba(165,184,160,.8)}
.scene-copy-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:19px}
.eyebrow{margin:0 0 8px;color:#9aa8a3;font:600 8px/1.3 "IBM Plex Sans",sans-serif;letter-spacing:.2em}
.scene-copy h1{max-width:390px;margin:0;color:#eeeae0;font:500 clamp(23px,3vw,38px)/1.12 "IBM Plex Sans",sans-serif;letter-spacing:-.045em}
.scene-copy-bottom>div>p:last-child{max-width:340px;margin:11px 0 0;color:#a0a8a3;font-size:11px;line-height:1.55}
.core-info{display:flex;align-items:center;gap:10px;min-width:146px;padding:10px 12px;border:1px solid rgba(184,161,125,.24);border-radius:12px;background:rgba(12,17,19,.7);color:#e7dfcf;text-align:left;pointer-events:auto;backdrop-filter:blur(9px);box-shadow:0 8px 24px #0002}
.core-info-icon{font-size:19px;color:#c9b38c}
.core-info span:nth-child(2){display:grid;gap:1px}
.core-info b{font:700 17px/1 "IBM Plex Sans",sans-serif}
.core-info small{color:#a9a398;font-size:9px}
.core-info-arrow{margin-left:auto;color:#a5b8b1}
.control-panel{position:absolute;inset:6.5% 26px 22px auto;display:flex;flex-direction:column;width:min(366px,31vw);min-width:300px;border:1px solid rgba(200,211,201,.14);border-radius:18px;background:linear-gradient(145deg,rgba(19,27,29,.87),rgba(10,15,18,.91));box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(18px);pointer-events:auto;overflow:hidden}
.control-panel.is-collapsed{inset:auto 26px 22px auto;width:58px;min-width:0;height:58px;border-radius:15px}
.control-panel.is-collapsed .panel-header{min-height:56px;padding:8px;justify-content:center;border:0}
.control-panel.is-collapsed .panel-header>div,.control-panel.is-collapsed .panel-content{display:none}
.control-panel.is-collapsed .panel-close{width:40px;height:40px;font-size:21px}
.panel-header{display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:15px 18px;border-bottom:1px solid rgba(200,211,201,.09)}
.panel-header .eyebrow{margin-bottom:6px;font-size:7px}
.panel-header h2{margin:0;font:600 17px/1.1 "IBM Plex Sans",sans-serif;letter-spacing:-.025em}
.panel-close{width:29px;height:29px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);color:#aeb7b2;font-size:16px}
.panel-content{flex:1;min-height:0;overflow:auto;padding:14px 15px 20px;scrollbar-color:#455451 transparent;scrollbar-width:thin}
.panel-content::-webkit-scrollbar{width:5px}.panel-content::-webkit-scrollbar-thumb{border-radius:8px;background:#475653}
.section-intro{margin:0 0 13px;color:#a9b0aa;font-size:10px;line-height:1.5}
.panel-section{margin:0 0 17px}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;color:#d9d6ca;font:600 10px/1.2 "IBM Plex Sans",sans-serif;letter-spacing:.04em}
.section-title small{color:#87938f;font:500 8px/1.3 "IBM Plex Sans",sans-serif;letter-spacing:0}
.subtle{color:#929b97;font-size:9px;line-height:1.45}
.task-card{position:relative;margin:7px 0;padding:11px 11px 10px;border:1px solid rgba(192,205,193,.12);border-radius:11px;background:linear-gradient(120deg,rgba(255,255,255,.045),rgba(255,255,255,.018));}
.task-card.is-elapsed{border-color:rgba(194,142,137,.26);background:linear-gradient(120deg,rgba(194,142,137,.08),rgba(255,255,255,.015))}
.task-card.is-done{opacity:.55}
.task-title-row{display:flex;align-items:flex-start;gap:8px}
.task-dot{flex:none;width:8px;height:8px;margin-top:4px;border-radius:50%;box-shadow:0 0 10px currentColor}
.task-title{flex:1;min-width:0;color:#e4e2d9;font-size:11px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.task-timer{flex:none;color:#c1ae8a;font:600 9px/1.3 "IBM Plex Sans",sans-serif;white-space:nowrap}
.task-card.is-elapsed .task-timer{color:#d29a94}
.task-meta{display:flex;flex-wrap:wrap;gap:5px 10px;margin:7px 0 0 16px;color:#929b97;font-size:8px}
.task-description{margin:7px 0 0 16px;color:#aeb5af;font-size:9px;line-height:1.45;overflow-wrap:anywhere}
.task-actions{display:flex;gap:5px;margin:9px 0 0 16px}
.small-button,.icon-action{min-height:25px;padding:4px 8px;border:1px solid rgba(189,200,190,.15);border-radius:7px;background:rgba(255,255,255,.035);color:#c5cbc5;font-size:8px}
.small-button:hover,.icon-action:hover{border-color:rgba(177,139,94,.38);background:rgba(177,139,94,.1)}
.small-button.primary{border-color:rgba(177,139,94,.34);color:#d9e6df;background:rgba(177,139,94,.11)}
.icon-action{width:27px;padding:0;font-size:12px}
.empty-card{padding:18px 13px;border:1px dashed rgba(193,204,196,.18);border-radius:11px;color:#a3aaa4;font-size:10px;line-height:1.55;text-align:center}
.empty-card b{display:block;margin-bottom:3px;color:#d6d6cd;font-size:11px}
.empty-actions{display:flex;justify-content:center;gap:7px;margin-top:11px}
.primary-button,.secondary-button,.danger-button{min-height:34px;padding:0 11px;border:1px solid rgba(177,139,94,.34);border-radius:8px;background:rgba(177,139,94,.12);color:#e0e8e0;font-size:9px;transition:.16s ease}
.primary-button:hover{background:rgba(177,139,94,.21);border-color:rgba(177,139,94,.55)}
.secondary-button{border-color:rgba(184,161,125,.24);background:rgba(184,161,125,.06);color:#d1c1a4}
.secondary-button:hover{background:rgba(184,161,125,.13)}
.danger-button{border-color:rgba(194,142,137,.3);background:rgba(194,142,137,.07);color:#d9aaa4}
.full-button{width:100%}
.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:11px 0}
.summary-tile{padding:10px;border:1px solid rgba(192,205,193,.1);border-radius:10px;background:rgba(255,255,255,.025)}
.summary-tile b{display:block;color:#e8e5d8;font:600 17px/1 "IBM Plex Sans",sans-serif}
.summary-tile span{display:block;margin-top:4px;color:#909995;font-size:8px}
.subject-legend{display:grid;gap:5px}
.legend-row{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:8px;padding:6px 7px;border-radius:7px;background:rgba(255,255,255,.018)}
.legend-swatch{width:8px;height:8px;border-radius:50%;box-shadow:0 0 8px currentColor}
.legend-name{color:#c9ccc3;font-size:9px}
.legend-description{max-width:138px;overflow:hidden;color:#87918d;font-size:8px;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.form-grid .wide{grid-column:1/-1}
.field{display:grid;gap:5px;color:#afb7b0;font-size:9px}
.field input,.field select,.field textarea{width:100%;min-height:34px;padding:7px 8px;border:1px solid rgba(198,208,197,.16);border-radius:7px;outline:none;background:rgba(3,7,9,.45);color:#e2e4dc;font-size:10px}
.field textarea{min-height:55px;resize:vertical;line-height:1.45}
.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(177,139,94,.52);box-shadow:0 0 0 2px rgba(177,139,94,.1)}
.field input[type=color]{height:36px;padding:3px;cursor:pointer}
.field input[type=range]{min-height:26px;padding:0;accent-color:#b18b5e}
.field select option{background:#101719}
.inline-row{display:flex;align-items:center;gap:8px}
.inline-row .field{flex:1}
.subject-card{margin:8px 0;padding:11px;border:1px solid rgba(192,205,193,.12);border-radius:10px;background:rgba(255,255,255,.025)}
.subject-card-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.subject-card-head input[type=color]{width:29px;height:26px;padding:2px;border:1px solid var(--line);border-radius:6px;background:#0b1013}
.subject-card-head input[type=text]{flex:1;min-width:0;padding:6px 7px;border:1px solid rgba(198,208,197,.14);border-radius:6px;background:rgba(3,7,9,.35);color:#e5e5dc;font-size:10px}
.subject-card-head .icon-action{flex:none}
.view-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid rgba(192,205,193,.08)}
.view-row:last-child{border-bottom:0}
.view-row>span{display:grid;gap:3px;color:#d8d9d1;font-size:9px}
.view-row small{color:#8e9994;font-size:8px;line-height:1.35}
.view-row output{min-width:35px;color:#d7c39d;font:600 9px "IBM Plex Sans",sans-serif;text-align:right}
.view-row input[type=range]{width:110px;accent-color:#b18b5e}
.view-row select{max-width:130px;min-height:29px;padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:#101719;color:#e5e4dc;font-size:9px}
.switch{position:relative;width:34px;height:19px;flex:none;appearance:none;border:1px solid rgba(189,200,190,.2);border-radius:20px;background:#283132;cursor:pointer;transition:.18s}
.switch:before{content:"";position:absolute;left:2px;top:2px;width:13px;height:13px;border-radius:50%;background:#8a9791;transition:.18s}
.switch:checked{border-color:rgba(177,139,94,.55);background:rgba(177,139,94,.34)}
.switch:checked:before{left:17px;background:#dbe6de}
.task-filter{display:flex;gap:5px;margin:0 0 9px}
.filter-button{min-height:27px;padding:4px 8px;border:1px solid rgba(192,205,193,.12);border-radius:7px;background:rgba(255,255,255,.025);color:#9da7a1;font-size:8px}
.filter-button.is-active{border-color:rgba(177,139,94,.35);background:rgba(177,139,94,.1);color:#e0e8df}
.subject-status{display:inline-flex;align-items:center;gap:5px;color:#aeb5ad;font-size:8px}
.sync-note{margin:9px 0 0;padding:9px 10px;border:1px solid rgba(184,161,125,.18);border-radius:8px;background:rgba(184,161,125,.04);color:#b9b2a2;font-size:8px;line-height:1.5}
.toast{position:fixed;z-index:20;left:50%;bottom:22px;max-width:min(440px,calc(100vw - 30px));padding:10px 14px;border:1px solid rgba(177,139,94,.32);border-radius:9px;background:rgba(10,15,18,.96);box-shadow:var(--shadow);color:#e0e6de;font-size:10px;opacity:0;transform:translate(-50%,10px);pointer-events:none;transition:.2s ease}
.toast.is-visible{opacity:1;transform:translate(-50%,0)}
.mobile-menu{pointer-events:auto}
dialog{width:min(680px,calc(100vw - 28px));max-height:min(82vh,820px);padding:0;border:1px solid rgba(198,208,197,.2);border-radius:17px;background:linear-gradient(150deg,#172022,#0d1215);box-shadow:0 35px 100px #000b;color:var(--ink)}
dialog::backdrop{background:rgba(2,4,6,.68);backdrop-filter:blur(5px)}
.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line)}
.dialog-head h2{margin:0;font:600 18px "IBM Plex Sans",sans-serif}
.dialog-head p{margin:5px 0 0;color:#9aa39e;font-size:9px;line-height:1.45}
.dialog-body{max-height:calc(82vh - 120px);overflow:auto;padding:15px 18px}
.dialog-close{width:28px;height:28px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.04);color:#c3c8c0}
.modal-task{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:11px 2px;border-bottom:1px solid rgba(192,205,193,.1)}
.modal-task strong{font-size:10px}.modal-task p{grid-column:1/-1;margin:0;color:#a4aca5;font-size:9px;line-height:1.5}.modal-task small{color:#a7a398;font-size:8px;text-align:right}
.modal-group-title{margin:13px 0 5px;color:#b7c3ba;font:600 8px "IBM Plex Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.modal-empty{padding:18px;color:#a2aaa2;font-size:10px;line-height:1.5;text-align:center}
.file-label{display:flex;align-items:center;justify-content:center;min-height:32px;margin-top:9px;border:1px dashed rgba(192,205,193,.2);border-radius:7px;color:#b8c2ba;font-size:9px;cursor:pointer}
.file-label:hover{border-color:rgba(177,139,94,.42);background:rgba(177,139,94,.05)}
.file-label input{display:none}
.import-preview{margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:8px;color:#afb7b0;font-size:9px;line-height:1.5}
.import-preview ul{max-height:180px;overflow:auto;margin:7px 0;padding-left:18px}
.import-preview li{margin:4px 0;overflow-wrap:anywhere}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:1160px){.topbar{gap:13px;padding:0 19px}.brand{min-width:190px}.sync-badge{display:none}.scene-copy{left:4%;width:36vw}.control-panel{right:16px;width:min(350px,35vw)}}
@media(max-width:820px){html,body{overflow:auto;min-height:100%}.topbar{position:sticky;height:62px;padding:0 13px;gap:9px}.brand{min-width:0}.brand b{font-size:12px}.brand small{font-size:7px}.main-nav{position:absolute;top:61px;left:10px;right:10px;z-index:9;display:none;flex-wrap:wrap;height:auto;padding:7px;border:1px solid var(--line);border-radius:10px;background:rgba(12,17,20,.97);box-shadow:var(--shadow)}.main-nav.is-open{display:flex}.nav-button{flex:1}.top-actions{gap:6px}.top-actions .download-link{display:none}.sync-button{min-height:32px;padding:0 8px;font-size:8px}.mobile-menu{display:block}.workspace{position:relative;inset:auto;min-height:calc(100vh - 62px);display:flex;flex-direction:column;padding:18px 12px 15px;gap:14px}.scene-copy{position:relative;inset:auto;width:100%;height:auto;min-height:130px;padding:9px 4px;gap:27px}.scene-copy-bottom{margin:0;align-items:flex-end}.scene-copy h1{font-size:25px}.scene-copy-bottom>div>p:last-child{max-width:280px}.core-info{min-width:120px;padding:8px}.control-panel{position:relative;inset:auto;width:100%;min-width:0;min-height:350px;max-height:none;border-radius:15px}.panel-content{max-height:calc(100vh - 300px)}#universeCanvas{position:fixed}.topbar .brand-mark{width:29px;height:29px}.topbar .brand-mark i{left:13px;top:13px}.topbar .brand-mark i:nth-child(2){left:21px;top:7px}.topbar .brand-mark i:nth-child(3){left:5px;top:17px}}
@media(max-width:480px){.topbar{height:58px}.main-nav{top:57px}.workspace{min-height:calc(100vh - 58px);padding:12px 9px}.scene-copy{min-height:122px}.scene-copy h1{font-size:22px}.scene-copy-bottom>div>p:last-child{max-width:210px;font-size:9px}.core-info{min-width:104px;gap:7px;padding:7px}.core-info-icon{font-size:16px}.core-info b{font-size:14px}.core-info-arrow{display:none}.control-panel{min-height:370px}.panel-content{max-height:none}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}

html.desktop-widget,html.desktop-widget body{width:100%;height:100%;overflow:hidden;background:transparent!important}
html.desktop-widget body:before,html.desktop-widget body:after{display:none!important}
html.desktop-widget #universeCanvas{position:fixed;inset:0;z-index:1;display:block;opacity:var(--desktop-widget-opacity,.82);pointer-events:auto;background:transparent}
html.desktop-widget .app-shell{display:none!important}
html.desktop-widget #toast{display:none!important}

/* Cockpit Takeover — large type, true black and a restrained observatory palette. */
:root{color-scheme:dark;--ink:#eee9df;--muted:#c0b7a8;--dim:#9a9184;--line:rgba(194,174,145,.24);--panel:rgba(12,12,12,.96);--panel-strong:rgba(8,8,8,.985);--teal:#b18b5e;--brass:#b18b5e;--coral:#ad786d;font-family:"IBM Plex Sans","Segoe UI",sans-serif}
html:not(.desktop-widget),html:not(.desktop-widget) body{background:#050505;color:var(--ink)}
html:not(.desktop-widget) body{background:#050505}
.topbar{height:78px;padding:0 32px;background:#080808;border-bottom-color:rgba(194,174,145,.2);backdrop-filter:blur(12px)}
.brand{min-width:236px}.brand b{font-size:16px}.brand small{font-size:11px;color:#b0a797;letter-spacing:.12em}
.brand-mark{border-color:rgba(177,139,94,.68);box-shadow:inset 0 0 12px rgba(177,139,94,.08),0 0 12px rgba(177,139,94,.07)}
.brand-mark:before,.brand-mark:after{border-color:rgba(177,139,94,.6)}
.brand-mark i:nth-child(2),.brand-mark i:nth-child(3){background:#b18b5e;box-shadow:none}
.nav-button{height:46px;padding:0 17px;font-size:16px;color:#c0b7a8}
.nav-button.is-active{border-color:rgba(177,139,94,.45);background:rgba(177,139,94,.14);color:#f0e5d1}
.sync-badge{font-size:13px;color:#c0b7a8}.sync-button,.download-link{min-height:44px;padding:0 15px;border-color:rgba(177,139,94,.48);background:rgba(177,139,94,.11);color:#eee3d1;font-size:14px}
.download-link{border-color:rgba(177,139,94,.3);color:#e0caa6}
.workspace{inset:78px 0 0}
.scene-copy{top:7.5%;left:5.5%;width:min(460px,34vw)}
.scene-copy-top{font-size:12px;color:#c1b8a8;letter-spacing:.13em}.live-indicator{background:#ad8c61;box-shadow:0 0 7px rgba(177,139,94,.45)}
.eyebrow{font-size:12px;color:#c1b8a8;letter-spacing:.15em}
.scene-copy h1{font-size:clamp(30px,3.2vw,44px)}
.scene-copy-bottom>div>p:last-child{font-size:16px;color:#c3bcae}
.core-info{border-color:rgba(177,139,94,.38);background:rgba(9,9,9,.9)}.core-info-icon,.core-info-arrow{color:#c3a578}.core-info b{font-size:21px}.core-info small{font-size:13px;color:#c0b7a8}
.control-panel{inset:5.8% 28px 22px auto;width:min(520px,40vw);min-width:420px;border-color:rgba(194,174,145,.25);border-radius:16px;background:#0b0b0bf2;box-shadow:0 24px 80px rgba(0,0,0,.68),inset 0 1px rgba(255,255,255,.035);backdrop-filter:blur(12px)}
.panel-header{min-height:86px;padding:18px 22px;border-bottom-color:rgba(194,174,145,.17)}
.panel-header .eyebrow{margin-bottom:8px;font-size:12px}.panel-header h2{font-size:25px;letter-spacing:-.02em}
.panel-close{width:38px;height:38px;font-size:20px;border-color:var(--line);color:#e0d6c4}
.panel-content{padding:20px 21px 26px;scrollbar-color:#665742 transparent}
.panel-content::-webkit-scrollbar-thumb{background:#665742}
.section-intro{margin-bottom:19px;color:#cec5b6;font-size:16px;line-height:1.55}
.panel-section{margin-bottom:23px}.section-title{margin-bottom:12px;color:#e4dccb;font-size:17px;letter-spacing:.015em}.section-title small{font-size:13px;color:#b1a792}
.subtle{color:#bdb3a3;font-size:14px;line-height:1.5}
.field{gap:7px;color:#d4cabb;font-size:15px;line-height:1.35}
.field input,.field select,.field textarea{min-height:44px;padding:10px 11px;border-color:rgba(194,174,145,.24);border-radius:7px;background:#090909;color:#f0eade;font-size:16px}
.field textarea{min-height:78px;line-height:1.5}.field input[type=color]{height:44px;padding:4px}.field input[type=range]{min-height:32px;accent-color:#b18b5e}.field input:focus,.field select:focus,.field textarea:focus{border-color:#b18b5e;box-shadow:0 0 0 2px rgba(177,139,94,.16)}
.inline-row{align-items:flex-start;font-size:14px;line-height:1.45}.inline-row input{margin-top:3px;width:18px;height:18px;accent-color:#b18b5e}
.primary-button,.secondary-button,.danger-button{min-height:44px;padding:0 14px;border-radius:7px;font-size:15px}.primary-button{border-color:rgba(177,139,94,.52);background:rgba(177,139,94,.18);color:#f2e7d5}.primary-button:hover{background:rgba(177,139,94,.25);border-color:rgba(177,139,94,.72)}
.secondary-button{border-color:rgba(177,139,94,.38);background:rgba(177,139,94,.08);color:#e0caa6}
.small-button,.icon-action{min-height:36px;padding:6px 11px;border-color:rgba(194,174,145,.22);border-radius:6px;color:#e0d7c8;font-size:14px}.small-button.primary{border-color:rgba(177,139,94,.5);background:rgba(177,139,94,.15);color:#f0e1c9}.icon-action{width:36px;font-size:17px}
.empty-card{padding:22px 16px;border-color:rgba(194,174,145,.24);color:#c5bbab;font-size:15px;line-height:1.55}.empty-card b{font-size:16px;color:#eee5d6}
.task-filter{gap:7px}.filter-button{min-height:38px;padding:6px 11px;border-color:rgba(194,174,145,.2);color:#c8bdac;font-size:14px}.filter-button.is-active{border-color:rgba(177,139,94,.5);background:rgba(177,139,94,.14);color:#f0e1c9}
.summary-tile{padding:14px}.summary-tile b{font-size:21px}.summary-tile span{font-size:13px;color:#b8ae9e}
.view-row{gap:14px;padding:14px 0;border-color:rgba(194,174,145,.15)}.view-row>span{font-size:15px;color:#e2d9ca}.view-row small{font-size:13px;color:#b8ae9e}.view-row output{font-size:14px;color:#d4b98e}.view-row input[type=range]{width:135px;accent-color:#b18b5e}.view-row select{max-width:155px;min-height:38px;padding:6px 9px;border-color:var(--line);background:#101010;color:#eee9df;font-size:14px}
.settings-disclosure{margin:20px 0;border:1px solid rgba(194,174,145,.25);border-radius:9px;background:#090909}.settings-disclosure>summary{padding:15px 17px;color:#e3d5bd;font-size:16px;font-weight:600;cursor:pointer;list-style-position:inside}.settings-body{padding:8px 17px 16px;border-top:1px solid rgba(194,174,145,.14)}.settings-body .section-intro{display:none}.settings-body .panel-section:last-child{margin-bottom:0}
.sync-note{margin-top:15px;padding:12px 13px;border-color:rgba(177,139,94,.24);background:rgba(177,139,94,.045);color:#c5b9a7;font-size:13px;line-height:1.55}.file-label{min-height:42px;margin-top:11px;border-color:rgba(194,174,145,.3);color:#d5c8b4;font-size:14px}
.dialog-head h2{font-size:23px}.dialog-head p{font-size:14px}.dialog-close{width:38px;height:38px;font-size:20px}.dialog-body{padding:20px}.modal-task strong{font-size:15px}.modal-task p{font-size:14px}.modal-task small{font-size:13px}.modal-group-title{font-size:13px}.modal-empty,.import-preview{font-size:14px}
.planet-card{margin:12px 0;padding:14px;border:1px solid rgba(194,174,145,.2);border-radius:9px;background:#10100f}.planet-card.is-elapsed{border-color:rgba(173,120,109,.5);background:#17100e}.planet-card.is-done{opacity:.68}
.planet-card-head{display:flex;align-items:center;gap:11px}.planet-swatch{width:16px;height:16px;flex:none;border-radius:50%;background:var(--planet-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--planet-color) 16%,transparent)}.planet-card-name{flex:1;min-width:0}.planet-card-name h4{margin:0;color:#eee6d8;font-size:17px;line-height:1.35;overflow-wrap:anywhere}.planet-card-name>span{display:block;margin-top:3px;color:#b9ad99;font-size:13px}.planet-timer{flex:none;color:#d2b68c;font-family:"IBM Plex Mono",monospace;font-size:13px;text-align:right}.planet-card-meta{display:flex;gap:8px 14px;margin:10px 0 0 27px;color:#b7ad9d;font-size:13px}.planet-note{margin:10px 0 0 27px;color:#d0c6b6;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.planet-actions{display:flex;gap:8px;margin:12px 0 0 27px}.planet-actions .archive-button{margin-left:auto}.planet-editor{margin:13px 0 0 27px;border-top:1px solid rgba(194,174,145,.16)}.planet-editor>summary{padding:12px 0 3px;color:#d1b58c;font-size:14px;cursor:pointer}.planet-editor-fields{padding:13px 0 2px}.planet-reason-field{margin:12px 0 0 27px}.field-value{margin-left:auto;color:#d2b68c;font:500 13px "IBM Plex Mono",monospace}.planet-color-field input[type=color]{width:100%;cursor:pointer}.planet-size-field input[type=range]{accent-color:#b18b5e}
.filter-select-label{display:flex;align-items:center;gap:8px;color:#c9beae;font-size:14px}.filter-select-label select{min-height:38px;padding:6px 9px;border:1px solid var(--line);border-radius:7px;background:#0b0b0b;color:#eee9df;font-size:14px}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.list-heading .section-title{margin-bottom:0}
#universeCanvas{background:transparent}
@media(max-width:1160px){.topbar{gap:16px;padding:0 19px}.brand{min-width:175px}.control-panel{width:min(480px,43vw);min-width:390px}.scene-copy{width:31vw}.sync-badge{display:none}}
@media(max-width:820px){.topbar{position:sticky;height:64px;padding:0 13px;gap:10px}.workspace{inset:auto;min-height:calc(100vh - 64px)}.scene-copy{width:100%}.control-panel{inset:auto;width:100%;min-width:0;min-height:380px}.panel-content{max-height:none}.main-nav{position:static;display:flex;flex:1;height:auto;padding:0;border:0;background:transparent;box-shadow:none}.nav-button{padding:0 11px;font-size:14px}.mobile-menu{display:none}.top-actions{gap:6px}.sync-button{min-height:38px;padding:0 10px;font-size:13px}.brand{min-width:0}.brand small{font-size:9px}.form-grid{grid-template-columns:1fr 1fr}.form-grid .wide{grid-column:1/-1}.scene-copy-bottom>div>p:last-child{font-size:15px}}
@media(max-width:520px){.topbar{height:60px}.workspace{min-height:calc(100vh - 60px)}.brand b{font-size:13px}.brand small{display:none}.nav-button{font-size:13px}.top-actions .download-link,.sync-badge{display:none}.sync-button{font-size:12px}.control-panel{min-height:360px}.panel-content{padding:16px 13px 22px}.scene-copy{min-height:120px}.scene-copy h1{font-size:27px}.scene-copy-bottom>div>p:last-child{max-width:240px;font-size:14px}.core-info{min-width:102px}.planet-editor,.planet-actions,.planet-card-meta,.planet-note,.planet-reason-field{margin-left:0}.planet-card-head{align-items:flex-start}.planet-timer{max-width:110px;white-space:normal}.list-heading{align-items:flex-start;flex-direction:column}.filter-select-label{width:100%;justify-content:space-between}.filter-select-label select{flex:1}}

/* Cockpit Takeover — dark orbital field with vivid electron colors. */
:root{color-scheme:dark;--ink:#edf7ff;--muted:#a6b9ca;--dim:#74889b;--line:rgba(115,183,220,.2);--panel:rgba(7,12,24,.94);--panel-strong:rgba(5,9,18,.98);--teal:#42dcff;--brass:#8b79ff;--coral:#ff4fc8;--shadow:0 24px 80px rgba(0,0,0,.58);font-family:"Saira Condensed","Segoe UI",sans-serif}
html:not(.desktop-widget),html:not(.desktop-widget) body{background:#050812;color:var(--ink)}
html:not(.desktop-widget) body{background:radial-gradient(ellipse at 53% 49%,rgba(37,70,130,.24),transparent 34%),radial-gradient(ellipse at 19% 76%,rgba(62,27,103,.17),transparent 31%),radial-gradient(ellipse at 83% 18%,rgba(15,91,112,.12),transparent 26%),#050812}
.topbar{height:58px;padding:0 22px;gap:20px;border-bottom-color:rgba(86,174,220,.17);background:linear-gradient(180deg,rgba(5,8,17,.95),rgba(6,10,21,.76))}
.brand{min-width:174px;gap:9px}.brand b{font-size:14px}.brand small{font-size:8px;color:#8da2b8;letter-spacing:.15em}
.brand-mark{width:30px;height:30px;border-color:rgba(66,220,255,.6);box-shadow:inset 0 0 12px rgba(66,220,255,.12),0 0 13px rgba(66,220,255,.14)}
.brand-mark:before,.brand-mark:after{border-color:rgba(139,121,255,.62)}.brand-mark i{background:#edfcff;box-shadow:0 0 7px #42dcff}.brand-mark i:nth-child(2){background:#ff4fc8;box-shadow:0 0 7px #ff4fc8}.brand-mark i:nth-child(3){background:#a8ff4f;box-shadow:0 0 7px #a8ff4f}
.nav-button{height:34px;padding:0 12px;color:#a7b6c8;font-size:14px}.nav-button.is-active{border-color:rgba(66,220,255,.34);background:linear-gradient(125deg,rgba(66,220,255,.15),rgba(139,121,255,.13));color:#e9fbff;box-shadow:inset 0 0 16px rgba(66,220,255,.06),0 0 15px rgba(66,220,255,.06)}
.top-actions{gap:8px}.sync-badge{max-width:146px;color:#90a4b8;font-size:11px}.sync-button,.download-link{min-height:34px;padding:0 11px;border-color:rgba(66,220,255,.32);background:rgba(66,220,255,.09);color:#e6faff;font-size:12px}.sync-button:hover,.download-link:hover{border-color:rgba(66,220,255,.65);background:rgba(66,220,255,.16)}.download-link{border-color:rgba(255,79,200,.24);background:rgba(255,79,200,.06);color:#f6dbf1}
.workspace{inset:58px 0 0}.control-panel{inset:3.4% 20px 18px auto;width:min(450px,37vw);min-width:365px;border-color:rgba(102,187,229,.22);border-radius:14px;background:linear-gradient(148deg,rgba(10,18,34,.94),rgba(5,9,20,.96));box-shadow:0 22px 75px rgba(0,0,0,.61),inset 0 1px rgba(160,224,255,.06);backdrop-filter:blur(18px)}
.control-panel.is-collapsed{inset:auto 20px 18px auto;width:52px;height:52px;border-color:rgba(66,220,255,.34);background:rgba(6,13,27,.94)}
.control-panel.is-collapsed .panel-header{min-height:50px;padding:5px}.control-panel.is-collapsed .panel-close{width:36px;height:36px}
.panel-header{min-height:62px;padding:11px 15px;border-bottom-color:rgba(106,180,222,.16)}.panel-header .eyebrow{display:none}.panel-header h2{font-size:20px;color:#f0f8ff;letter-spacing:-.01em}.panel-close{width:31px;height:31px;border-color:rgba(116,177,216,.22);color:#b6eaff;font-size:16px}
.panel-content{padding:12px 15px 18px;scrollbar-color:#285d83 transparent}.panel-content::-webkit-scrollbar-thumb{background:#285d83}
.panel-section{margin-bottom:15px}.section-title{margin-bottom:8px;color:#eaf4ff;font-size:16px;letter-spacing:.02em}.section-title small{color:#8ea6be;font-size:12px}.subtle{color:#9fb0c2;font-size:13px;line-height:1.45}
.field{gap:5px;color:#c3d1e0;font-size:13px;line-height:1.3}.field input,.field select,.field textarea{min-height:37px;padding:8px 9px;border-color:rgba(121,173,213,.22);border-radius:7px;background:rgba(3,8,18,.78);color:#eef8ff;font-size:14px}.field textarea{min-height:63px;line-height:1.4}.field input[type=color]{height:37px;padding:3px}.field input[type=range]{min-height:25px;accent-color:#42dcff}.field input:focus,.field select:focus,.field textarea:focus{border-color:#42dcff;box-shadow:0 0 0 2px rgba(66,220,255,.13)}
.form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}.form-grid .wide{grid-column:1/-1}.inline-row{align-items:center;gap:8px;color:#d9e7f4;font-size:13px}.inline-row input{width:16px;height:16px;margin:0;accent-color:#42dcff}
.section-heading-row,.list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-heading-row .section-title,.list-heading .section-title{margin:0}.section-count{color:#69e6ff;font:500 11px "IBM Plex Mono",monospace}.new-planet-section{padding:0 0 13px;border-bottom:1px solid rgba(106,180,222,.12)}
.primary-button,.secondary-button,.danger-button{min-height:36px;padding:0 12px;border-radius:7px;font-size:14px}.primary-button{border-color:rgba(66,220,255,.48);background:linear-gradient(115deg,rgba(31,156,208,.4),rgba(95,71,202,.34));color:#f1fcff;box-shadow:inset 0 0 14px rgba(66,220,255,.08)}.primary-button:hover{border-color:#42dcff;background:linear-gradient(115deg,rgba(31,156,208,.55),rgba(95,71,202,.45))}.secondary-button{border-color:rgba(139,121,255,.34);background:rgba(139,121,255,.08);color:#ded8ff}.small-button,.icon-action{min-height:30px;padding:5px 9px;border-color:rgba(122,171,211,.2);border-radius:6px;color:#d6e8f5;font-size:13px}.small-button:hover,.icon-action:hover{border-color:rgba(66,220,255,.44);background:rgba(66,220,255,.1)}.small-button.primary{border-color:rgba(66,220,255,.4);background:rgba(66,220,255,.12);color:#dffaff}
.planet-card{margin:9px 0;padding:11px;border:1px solid rgba(98,163,207,.2);border-radius:9px;background:linear-gradient(128deg,rgba(21,35,61,.7),rgba(8,14,27,.76));box-shadow:inset 0 1px rgba(255,255,255,.025)}.planet-card.is-elapsed{border-color:rgba(255,79,200,.4);background:linear-gradient(128deg,rgba(62,17,56,.3),rgba(15,12,31,.82))}.planet-card.is-done{opacity:.62}.planet-card-head{gap:9px}.planet-swatch{width:12px;height:12px;box-shadow:0 0 0 3px color-mix(in srgb,var(--planet-color) 18%,transparent),0 0 12px color-mix(in srgb,var(--planet-color) 55%,transparent)}.planet-card-name h4{font-size:16px;color:#f1f7ff}.planet-card-name>span{font-size:11px;color:#91a7bd}.planet-timer{color:#67e8ff;font-size:11px}.planet-card.is-elapsed .planet-timer{color:#ff78d3}.planet-card-meta{margin:7px 0 0 21px;color:#9eb2c7;font-size:11px}.planet-note{margin:7px 0 0 21px;color:#c0d0df;font-size:13px;line-height:1.4}.planet-actions{gap:6px;margin:9px 0 0 21px}.planet-actions .archive-button{margin-left:auto}.planet-editor{margin:10px 0 0 21px;border-top:1px solid rgba(104,164,205,.15)}.planet-editor>summary{padding:9px 0 2px;color:#78ddff;font-size:13px}.planet-editor-fields{padding:10px 0 0}.planet-reason-field{margin:9px 0 0 21px}.field-value{margin-left:auto;color:#78eaff;font:500 11px "IBM Plex Mono",monospace}.planet-color-field input[type=color]{width:100%;cursor:pointer}.planet-size-field input[type=range]{accent-color:#ff4fc8}
.filter-select-label{display:flex;align-items:center;gap:7px;color:#a9bdd0;font-size:12px}.filter-select-label select{min-height:31px;padding:4px 7px;border:1px solid rgba(120,173,213,.23);border-radius:6px;background:#080e1c;color:#e7f4ff;font-size:12px}.list-heading{margin:3px 0 7px}.empty-card{padding:17px 13px;border-color:rgba(66,220,255,.25);color:#a9bbcc;font-size:13px;line-height:1.45}.empty-card b{font-size:15px;color:#eaf8ff}
.visual-options{border:1px solid rgba(114,166,208,.19);border-radius:7px;background:rgba(12,23,42,.42)}.visual-options>summary{padding:8px 10px;color:#c3d7e8;font-size:13px;cursor:pointer}.visual-option-fields{padding:0 9px 9px}.visual-option-fields .field{font-size:12px}.inline-choice{display:flex;align-items:center;justify-content:space-between;gap:8px}.inline-choice input{width:16px;height:16px;accent-color:#42dcff}.start-option{margin:0}.import-button{min-height:34px;margin-top:7px;border-color:rgba(139,121,255,.3);color:#ccc5ff;font-size:13px}.file-label:hover{border-color:rgba(139,121,255,.58);background:rgba(139,121,255,.08)}
.view-row{gap:12px;padding:11px 0;border-color:rgba(112,167,209,.14)}.view-row>span{font-size:14px;color:#e0edf8}.view-row small{font-size:11px;color:#91a8bd;line-height:1.35}.view-row output{font-size:12px;color:#70e7ff}.view-row input[type=range]{width:120px;accent-color:#42dcff}.view-row select{max-width:140px;min-height:32px;padding:4px 7px;border-color:var(--line);background:#091020;color:#e9f7ff;font-size:13px}.switch:checked{border-color:rgba(66,220,255,.66);background:rgba(66,220,255,.3)}.switch:checked:before{background:#baf7ff;box-shadow:0 0 8px #42dcff}.settings-section{padding-bottom:11px;border-bottom:1px solid rgba(106,180,222,.12)}.settings-section:last-child{border-bottom:0}.settings-section .subtle{margin:2px 0 10px}.full-button{width:100%}
.toast{border-color:rgba(66,220,255,.36);background:rgba(5,11,23,.97);color:#e8f8ff;font-size:13px}.dialog-head{border-bottom-color:rgba(106,180,222,.16)}.dialog-head h2{font-size:21px}.dialog-head p{font-size:13px;color:#a4b7c9}.dialog-close{width:34px;height:34px;border-color:rgba(110,171,214,.2);color:#c8eaff}.dialog-body{padding:16px}.modal-task strong{font-size:15px}.modal-task p{font-size:13px}.modal-task small{font-size:12px}.modal-group-title{font-size:12px;color:#7fe8ff}.modal-empty,.import-preview{font-size:13px}
#universeCanvas{background:transparent}
@media(max-width:1160px){.topbar{gap:12px;padding:0 15px}.brand{min-width:155px}.control-panel{width:min(430px,40vw);min-width:350px}.sync-badge{display:none}}
@media(max-width:820px){html:not(.desktop-widget),html:not(.desktop-widget) body{height:auto;min-height:100%;overflow:auto}.topbar{position:sticky;height:auto;min-height:58px;padding:8px 12px;gap:8px;flex-wrap:wrap}.brand{min-width:140px}.main-nav{height:34px;gap:2px}.nav-button{height:32px;padding:0 9px;font-size:13px}.top-actions{gap:6px}.top-actions .download-link{display:none}.sync-button{min-height:32px;padding:0 9px;font-size:11px}.workspace{position:relative;inset:auto;min-height:calc(100vh - 102px);display:flex;padding:10px;gap:10px}.control-panel{position:relative;inset:auto;width:100%;min-width:0;min-height:calc(100vh - 122px);max-height:none;border-radius:12px}.panel-content{max-height:none}.form-grid{grid-template-columns:1fr 1fr}.form-grid .wide{grid-column:1/-1}}
@media(max-width:520px){.topbar{justify-content:space-between}.brand{min-width:0}.brand small{display:none}.main-nav{order:3;flex-basis:100%;justify-content:center}.top-actions{margin-left:auto}.sync-button{font-size:10px}.workspace{min-height:calc(100vh - 100px);padding:7px}.control-panel{min-height:calc(100vh - 114px)}.panel-content{padding:12px 11px 18px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.planet-editor,.planet-actions,.planet-card-meta,.planet-note,.planet-reason-field{margin-left:0}.planet-card-head{align-items:flex-start}.planet-timer{max-width:118px;white-space:normal}.list-heading{align-items:flex-start;flex-direction:row}.filter-select-label{width:auto}.filter-select-label select{flex:0}.view-row{flex-wrap:wrap}.view-row>span{flex:1 1 100%}.view-row input[type=range]{flex:1}.view-row select{flex:0 0 120px}}

/* A centered, draggable instrument panel; the orbit field stays visible around it. */
.control-panel{position:fixed!important;inset:auto!important;left:var(--panel-center-x,50%)!important;top:var(--panel-center-y,50%)!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%);z-index:8;width:min(660px,calc(100vw - 28px));min-width:min(480px,calc(100vw - 28px));height:min(76dvh,720px);min-height:250px;max-height:calc(100dvh - 18px);border:1px solid rgba(66,220,255,.38);border-radius:5px 16px 5px 16px;background:linear-gradient(143deg,rgba(8,15,29,.96),rgba(5,8,19,.96) 56%,rgba(12,9,28,.96));box-shadow:0 24px 90px rgba(0,0,0,.68),0 0 27px rgba(66,220,255,.09),inset 0 0 35px rgba(139,121,255,.055),inset 0 1px rgba(255,255,255,.12);backdrop-filter:blur(20px);isolation:isolate}
.control-panel:before{content:"";position:absolute;z-index:0;inset:5px;border:1px solid rgba(139,121,255,.25);clip-path:polygon(0 15px,15px 0,calc(100% - 31px) 0,100% 20px,100% calc(100% - 16px),calc(100% - 16px) 100%,17px 100%,0 calc(100% - 17px));pointer-events:none;box-shadow:inset 0 0 22px rgba(66,220,255,.035)}
.panel-header,.panel-content{position:relative;z-index:1}
.panel-header{min-height:66px;padding:12px 17px;border-bottom:1px solid rgba(66,220,255,.25);background:linear-gradient(90deg,rgba(66,220,255,.075),transparent 32%,rgba(139,121,255,.07)),repeating-linear-gradient(135deg,rgba(255,255,255,.018) 0 1px,transparent 1px 8px);cursor:grab;touch-action:none;user-select:none}
.panel-header:active{cursor:grabbing}
.panel-header h2{font-family:"Saira Condensed","Segoe UI",sans-serif;font-size:23px;letter-spacing:.045em;text-shadow:0 0 14px rgba(66,220,255,.22)}
.panel-header .eyebrow{color:#7cecff;font-size:9px;letter-spacing:.24em}
.panel-close{border-color:rgba(255,79,200,.4);border-radius:3px 9px 3px 9px;background:linear-gradient(145deg,rgba(255,79,200,.08),rgba(66,220,255,.08));box-shadow:inset 0 0 12px rgba(255,79,200,.06),0 0 12px rgba(255,79,200,.06)}
.panel-content{padding:14px 18px 20px;scrollbar-color:#285d83 transparent;touch-action:pan-y}
.panel-section{position:relative;margin-bottom:16px;padding:10px 12px 11px;border:1px solid rgba(87,142,189,.23);border-left:2px solid rgba(66,220,255,.42);border-radius:3px 11px 3px 11px;background:linear-gradient(125deg,rgba(17,30,53,.58),rgba(8,12,26,.56) 66%,rgba(32,16,48,.25));box-shadow:inset 0 1px rgba(211,244,255,.035),0 5px 15px rgba(0,0,0,.16)}
.panel-section:before{content:"";position:absolute;left:8px;top:8px;width:6px;height:6px;background:rgba(139,121,255,.72);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);pointer-events:none}
.panel-section:after{content:"";position:absolute;right:9px;top:8px;width:4px;height:4px;border-radius:50%;background:#42dcff;box-shadow:0 0 7px #42dcff,0 0 0 3px rgba(66,220,255,.08);opacity:.72;pointer-events:none}
.section-title{color:#e9f8ff;font-family:"Saira Condensed","Segoe UI",sans-serif;font-size:18px;letter-spacing:.045em}
.section-title small,.section-count{color:#90eaff}
.field input,.field select,.field textarea,.view-row select{border-color:rgba(105,172,214,.28);border-radius:3px 8px 3px 8px;background:rgba(2,7,17,.82);box-shadow:inset 0 1px 8px rgba(0,0,0,.26)}
.field input:focus,.field select:focus,.field textarea:focus,.view-row select:focus{border-color:#42dcff;box-shadow:0 0 0 2px rgba(66,220,255,.12),0 0 13px rgba(66,220,255,.08)}
.primary-button,.secondary-button,.small-button,.icon-action{border-radius:3px 9px 3px 9px}
.primary-button{box-shadow:inset 0 0 13px rgba(66,220,255,.08),0 0 11px rgba(66,220,255,.06)}
.planet-card,.visual-options{border-radius:3px 10px 3px 10px;background:linear-gradient(130deg,rgba(17,32,54,.8),rgba(7,12,25,.82) 70%,rgba(37,17,48,.26));box-shadow:inset 0 1px rgba(205,238,255,.035)}
.planet-card.is-elapsed{border-color:rgba(255,79,200,.42);box-shadow:inset 0 0 18px rgba(255,79,200,.06),0 0 10px rgba(255,79,200,.05)}
.visual-options>summary,.planet-editor>summary{color:#9defff}
.view-row{border-bottom-color:rgba(96,167,212,.16)}
.view-row output,.field-value{color:#72eaff}
.view-row input[type=color]{width:56px;height:32px;padding:3px;border:1px solid rgba(66,220,255,.34);border-radius:3px 8px 3px 8px;background:#060b17;cursor:pointer}
.control-panel.is-collapsed{position:fixed!important;inset:auto!important;left:var(--panel-center-x,50%)!important;top:var(--panel-center-y,50%)!important;right:auto!important;bottom:auto!important;width:58px;min-width:58px;height:58px;min-height:58px;max-height:none;border:1px solid rgba(66,220,255,.5);border-radius:7px 15px 7px 15px;background:rgba(5,10,22,.94);box-shadow:0 0 23px rgba(66,220,255,.14),0 18px 42px rgba(0,0,0,.55)}
.control-panel.is-collapsed .panel-header{min-height:56px;padding:8px;border:0;background:none;cursor:grab}
.control-panel.is-collapsed .panel-close{width:40px;height:40px}
.panel-toggle{flex:none;width:38px;min-width:38px;height:34px;padding:0;border:1px solid rgba(66,220,255,.32);border-radius:7px;background:linear-gradient(125deg,rgba(66,220,255,.08),rgba(139,121,255,.08));color:#c8f6ff;font-size:19px;line-height:1;box-shadow:inset 0 0 12px rgba(66,220,255,.04);}
.panel-toggle:hover{border-color:rgba(66,220,255,.65);color:#fff;box-shadow:0 0 14px rgba(66,220,255,.12)}
.control-panel.is-collapsed{visibility:visible!important;pointer-events:auto!important}
.mobile-menu{display:none;align-items:center;justify-content:center;flex:none;width:40px;height:38px;border:1px solid rgba(66,220,255,.32);border-radius:6px 11px 6px 11px;background:linear-gradient(125deg,rgba(66,220,255,.09),rgba(139,121,255,.1));color:#e9fbff;font-size:20px;cursor:pointer;box-shadow:0 0 13px rgba(66,220,255,.07)}
.panel-collapse-toggle{display:none;flex:none;width:38px;height:36px;padding:0;line-height:1}
.mobile-panel-toggle{display:none;flex:none;width:38px;height:38px;padding:0;border:1px solid rgba(255,79,200,.38);border-radius:6px 11px 6px 11px;background:linear-gradient(130deg,rgba(255,79,200,.12),rgba(66,220,255,.1));color:#ffeafa;font-size:24px;line-height:1;box-shadow:0 0 13px rgba(255,79,200,.08)}
@media(max-width:820px){
  .topbar{position:fixed;inset:0 0 auto;height:58px;padding:0 10px;gap:8px;justify-content:space-between}
  .topbar .brand{display:none!important}
  .mobile-panel-toggle{display:inline-grid;place-items:center}
  .mobile-panel-toggle[hidden]{display:none!important}
  .mobile-menu{display:inline-flex}
  .top-actions{margin-left:auto;gap:6px}
  .main-nav{position:fixed;top:62px;left:10px;right:10px;z-index:12;display:none;flex-wrap:wrap;height:auto;padding:8px;border:1px solid rgba(66,220,255,.3);border-radius:8px 14px 8px 14px;background:rgba(5,8,19,.98);box-shadow:0 14px 42px rgba(0,0,0,.55),0 0 20px rgba(66,220,255,.08)}
  .main-nav.is-open{display:flex}
  .main-nav .nav-button{flex:1;min-width:80px}
  .control-panel{position:fixed!important;left:50%!important;top:calc(50% + 22px)!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:min(640px,calc(100vw - 20px));min-width:min(410px,calc(100vw - 20px));height:min(82dvh,760px);max-height:calc(100dvh - 74px);z-index:10}
  .control-panel.is-collapsed{position:fixed!important;left:auto!important;top:auto!important;right:12px!important;bottom:12px!important;transform:none!important;width:54px!important;min-width:54px!important;height:54px!important;min-height:54px!important;max-height:54px!important;visibility:visible!important;pointer-events:auto!important}
  .control-panel.is-collapsed .panel-header{min-height:52px;padding:6px;justify-content:center}
  .control-panel.is-collapsed .panel-header>div,.control-panel.is-collapsed .panel-content{display:none!important}
  .control-panel.is-collapsed .panel-collapse-toggle{display:grid;width:40px;height:40px}
  .panel-collapse-toggle{display:grid}
}
@media(max-width:520px){
  .topbar{height:54px;padding:0 8px}
  .main-nav{top:58px}
  .top-actions .sync-button{min-height:34px;padding:0 9px;font-size:9px}
  .control-panel{width:calc(100vw - 16px);min-width:0;height:min(86dvh,820px);max-height:calc(100dvh - 66px)}
  .panel-content{padding:12px 12px 18px}
  .panel-section{padding:9px 10px}
}

/* On desktop, the navigation arrow is the only collapsed-panel control. */
@media(min-width:821px){
  .control-panel.is-collapsed{display:none!important;visibility:hidden!important;pointer-events:none!important}
}

/* Mobile keeps the orbital canvas fixed; only the open panel content scrolls. */
@media(max-width:820px){
  html:not(.desktop-widget){width:100%;height:100%;min-height:100%;overflow:hidden;overscroll-behavior:none}
  html:not(.desktop-widget) body{position:fixed;inset:0;width:100%;height:100dvh;min-height:0;overflow:hidden;overscroll-behavior:none}
  html:not(.desktop-widget) #appShell{position:fixed;inset:0;height:100dvh;overflow:hidden}
  html:not(.desktop-widget) .topbar{box-sizing:border-box;width:100%;min-width:0}
  html:not(.desktop-widget) .workspace{position:fixed!important;inset:58px 0 0!important;width:100%;height:calc(100dvh - 58px);min-height:0!important;padding:0!important;overflow:hidden;pointer-events:none}
  html:not(.desktop-widget) .mobile-menu,html:not(.desktop-widget) .mobile-panel-toggle{flex:none}
  html:not(.desktop-widget) .top-actions{display:flex;flex:0 1 auto;min-width:0;max-width:calc(100vw - 54px);margin-left:auto}
  html:not(.desktop-widget) .sync-button{box-sizing:border-box;flex:0 1 auto;min-width:0;max-width:calc(100vw - 104px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  html:not(.desktop-widget) .control-panel{pointer-events:auto;max-height:calc(100dvh - 70px);overflow:hidden}
  html:not(.desktop-widget) .panel-content{flex:1 1 auto;min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
}
@media(max-width:520px){
  html:not(.desktop-widget) .workspace{inset:54px 0 0!important;height:calc(100dvh - 54px)}
  html:not(.desktop-widget) .sync-button{max-width:90px;padding:0 7px!important;font-size:0!important}
  html:not(.desktop-widget) .sync-button::after{content:"Synchroniser";font-size:10px;line-height:1}
  html:not(.desktop-widget) .control-panel{max-height:calc(100dvh - 66px)}
}
