:root{--paper:#f6f0e4;--paper-strong:#efe7d9;--paper-shadow:#ebe2d2;--ink:#1f2122;--ink-muted:#625d55;--ink-faint:#1f21222e;--gear-neutral-stroke:#1f21227a;--gear-below:#b5aea1;--gear-above-opacity:.16;--signal-good:#4d8751;--signal-bad:#be3726;--signal-neutral:#1f2122;color:var(--ink);background:radial-gradient(circle at top, #ffffff73, transparent 30%), var(--paper-shadow);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Baskerville,Georgia,serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper-shadow);min-width:320px;margin:0}button,input{font:inherit}svg{-webkit-user-select:none;user-select:none}.app-shell{--shell-bg:radial-gradient(circle at top left, #577b5f1f, transparent 28%), radial-gradient(circle at bottom right, #17283014, transparent 35%), var(--paper);--workspace-bg:linear-gradient(135deg, #ffffff59, transparent 40%), var(--paper);--sidebar-bg:linear-gradient(180deg, #f5f1e8fa, #eae4d6fa);--panel-bg:#fffcf5c7;--panel-shadow:0 1rem 2rem #28231a14;--button-bg:#fffdf8db;--button-hover-bg:#fffffff0;--input-bg:#fffdf8e6;--overlay-bg:#fffaf1f5;--overlay-shadow:0 1rem 2.4rem #1f1c162e;--grid-line:#1f212212;--dial-strong:#1f2122ad;--dial-medium:#1f212294;--dial-faint:#1f212242;--caption-color:#302c268c;--orrery-arm-fill:#ddc49638;--orrery-arm-stroke:#ecd6ab94;--orrery-arm-occluder:#f1e8d9;--orrery-planet-occluder:#f1e8d9;-webkit-user-select:none;user-select:none;background:var(--shell-bg);grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) 19rem;height:100svh;display:grid;overflow:hidden}.editor-topbar{border-bottom:1px solid var(--ink-faint);background:linear-gradient(180deg, #fffcf585, #fffcf533), var(--shell-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:4;grid-column:1/-1;align-items:center;gap:.8rem;padding:.55rem .9rem;display:flex;position:relative}.app-shell[data-mode=orrery]{--paper:#121821;--paper-strong:#19212c;--paper-shadow:#080d14;--ink:#eadbbf;--ink-muted:#aa9f8f;--ink-faint:#eadbbf29;--gear-neutral-stroke:#8491a0b8;--gear-below:#506070;--signal-good:#7cc46c;--signal-bad:#e56b4f;--shell-bg:radial-gradient(circle at top left, #a47f431f, transparent 28%), radial-gradient(circle at 72% 16%, #4c58702e, transparent 34%), linear-gradient(180deg, #0a0d14fa, #10161f);--workspace-bg:radial-gradient(circle at 50% 50%, #ca994d14, transparent 34%), linear-gradient(180deg, #0a0e14fa, #0f141c);--sidebar-bg:linear-gradient(180deg, #10161ffa, #0c1018fa);--panel-bg:linear-gradient(180deg, #19212ceb, #121822eb);--panel-shadow:0 1.2rem 2.8rem #00000061;--button-bg:#141b25f0;--button-hover-bg:#1c2531fa;--input-bg:#141b25fa;--overlay-bg:#121822f7;--overlay-shadow:0 1.2rem 2.8rem #0000006b;--grid-line:#eadbbf14;--dial-strong:#eadbbfad;--dial-medium:#eadbbf75;--dial-faint:#eadbbf2e;--caption-color:#eadbbf8f;--orrery-arm-fill:#c0944a3d;--orrery-arm-stroke:#f0d4a380;--orrery-arm-occluder:#10151e;--orrery-planet-occluder:#10151e}.workspace-panel{border-right:1px solid var(--ink-faint);background:var(--workspace-bg);min-width:0;min-height:0;position:relative}.workspace-frame{width:100%;height:100%;position:relative;overflow:hidden}.workspace-svg{touch-action:none;cursor:default;width:100%;height:100%;display:block}.workspace-svg[data-panning=true]{cursor:grabbing}.sidebar{background:var(--sidebar-bg);flex-direction:column;gap:.75rem;padding:.9rem;display:flex;overflow:auto}.panel{border:1px solid var(--ink-faint);background:var(--panel-bg);box-shadow:var(--panel-shadow);border-radius:1.1rem;padding:.85rem .9rem}.panel h2,.panel p{margin:0}.panel h2{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);font-size:.78rem}.title-panel{padding:0;overflow:hidden}.play-button,.gear-create-button,.layer-button,.sidebar-button{border:1px solid var(--ink);background:var(--button-bg);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;transition:transform .12s,background-color .12s,color .12s,opacity .12s,border-color .12s}.play-button:hover,.gear-create-button:hover,.layer-button:hover,.sidebar-button:hover{background:var(--button-hover-bg);transform:translateY(-1px)}.play-button:focus-visible,.gear-create-button:focus-visible,.layer-button:focus-visible,.sidebar-button:focus-visible,.gear-input:focus-visible{outline:2px solid var(--signal-good);outline-offset:3px}.toolbar-title{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;min-width:0;font-size:1.18rem;line-height:1}.menu-bar{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.menu{position:relative}.menu-trigger{color:var(--ink);font:inherit;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:.35rem;padding:.15rem .2rem;font-size:.76rem;transition:color .12s,background-color .12s,opacity .12s}.menu-trigger:hover,.menu-trigger[data-open=true]{color:var(--ink-muted)}.menu-trigger:focus-visible{outline:2px solid var(--signal-good);outline-offset:3px}.menu-panel{z-index:5;border:1px solid var(--ink-faint);background:var(--overlay-bg);min-width:11rem;box-shadow:var(--overlay-shadow);border-radius:.95rem;flex-direction:column;gap:.15rem;padding:.35rem;display:flex;position:absolute;top:calc(100% + .35rem);left:0}.menu-item{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.7rem;grid-template-columns:.95rem 1fr;align-items:center;gap:.55rem;padding:.48rem .58rem;display:grid}.menu-item:hover{background:var(--button-hover-bg)}.menu-item:focus-visible{outline:2px solid var(--signal-good);outline-offset:2px}.menu-item[data-checked=true]{font-weight:600}.menu-item-check{color:var(--signal-good);font-size:.82rem;line-height:1}.play-button{letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;gap:.65rem;width:100%;padding:.62rem .85rem;font-size:.8rem;display:inline-flex}.play-button[data-active=true]{background:var(--ink);color:var(--paper)}.gear-row{grid-template-columns:3.35rem 1fr;align-items:center;gap:.6rem;display:grid}.gear-create-button{aspect-ratio:1;width:100%;font-size:1rem}.gear-create-button[data-active=true]{background:#7ca4632e}.gear-create-button:disabled,.sidebar-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.gear-input{box-sizing:border-box;border:1px solid var(--ink);background:var(--input-bg);width:100%;font:inherit;color:var(--ink);-webkit-user-select:text;user-select:text;border-radius:999px;padding:.65rem .82rem}.layer-list{flex-direction:column;gap:.45rem;display:flex}.layer-row{align-items:center;gap:.45rem;display:flex}.layer-button{text-align:left;flex:auto;width:100%;padding:.6rem .78rem}.layer-button[data-active=true]{background:var(--ink);color:var(--paper)}.layer-button:disabled,.layer-button[data-disabled=true]{color:var(--ink-muted);border-color:var(--ink-faint);background:color-mix(in srgb, var(--panel) 92%, var(--ink) 8%);cursor:not-allowed}.sidebar-button{letter-spacing:.06em;text-transform:uppercase;padding:.6rem .78rem;font-size:.76rem}.notice{min-height:1.2rem;color:var(--ink-muted);font-size:.78rem}.notice[data-variant=error]{color:var(--signal-bad)}.notice[data-variant=success]{color:var(--signal-good)}.workspace-badge{z-index:2;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;border-radius:999px;padding:.55rem .9rem;font-size:1rem;font-weight:600;position:absolute;top:1.2rem;left:1.2rem}.workspace-badge[data-kind=working]{color:var(--signal-good);background:#7ca46321}.workspace-badge[data-kind=wrong]{color:var(--signal-bad);background:#be372624}.inspector,.planet-dialog{z-index:3;border:1px solid var(--ink-faint);background:var(--overlay-bg);min-width:13rem;box-shadow:var(--overlay-shadow);color:var(--ink);border-radius:1rem;padding:.85rem .95rem;position:absolute}.inspector{pointer-events:none}.planet-dialog{max-width:16rem}.inspector h3,.inspector p,.planet-dialog h3,.planet-dialog p{margin:0}.inspector h3,.planet-dialog h3{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);font-size:.95rem}.inspector p,.planet-dialog p{color:var(--ink)}.inspector p+p,.planet-dialog p+p{margin-top:.35rem}.motor-label{fill:var(--ink);letter-spacing:.12em;text-transform:uppercase;font-size:18px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1100px){.app-shell{grid-template-rows:auto auto auto;grid-template-columns:1fr}.workspace-panel{border-right:none;border-bottom:1px solid var(--ink-faint)}.workspace-svg{height:min(72svh,44rem)}.editor-topbar{padding:.5rem .75rem}}@media (width<=720px){.editor-topbar{gap:.55rem}.toolbar-title{font-size:1rem}.menu-bar{gap:.35rem}.menu-panel{min-width:min(11rem,100vw - 2rem)}}
