:root{color-scheme:dark;--ink:#f0e2c4;--muted:#b8a483;--base:#100c09;--panel:#18130f;--line:#5a4630;--accent:#c49a4a;--brass:#e8c97a;--focus:#f0d38a;font-family:Palatino,"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:15px;background:var(--base);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select,input{color:inherit}button{border:1px solid var(--line);background:#1c1612;border-radius:5px;padding:.6rem .75rem;cursor:pointer;min-height:38px;transition:background .12s}button:hover{background:#362a1d}button:disabled{opacity:.42;cursor:default}button.selected,button[aria-selected=true]{border-color:var(--accent);background:#43321e;color:var(--ink)}button.primary{background:var(--accent);color:#1c140a;border-color:var(--accent);min-width:76px;font-weight:650}button.danger{color:#f2b6a9}button.quiet{background:transparent}a{color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}input,select{background:#14100c;border:1px solid var(--line);border-radius:4px;padding:.5rem}input[type=range]{padding:0;accent-color:var(--brass);height:24px;min-width:60px}input[type=search]{width:100%}kbd{font:11px "Segoe UI",sans-serif;color:var(--muted);padding-left:4px}.masthead{max-width:1800px;margin:auto;display:flex;align-items:center;gap:24px;padding:18px 26px 16px}.brand{font-family:inherit;font-size:28px;color:var(--ink);text-decoration:none;white-space:nowrap}.brand span{font-family:"Segoe UI",sans-serif;font-size:16px;margin-left:13px;color:var(--accent);font-weight:600}.masthead p{flex:1;color:var(--muted);margin:0}.workbench{max-width:1800px;margin:auto;padding:0 26px 24px;display:grid;grid-template-columns:minmax(0,1fr) 302px;gap:22px}.experiment{min-width:0}.transport{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.button-group{display:flex;align-items:center;gap:7px}.compact-label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.compact-label select{padding:8px}.vessel{position:relative;aspect-ratio:16/9;width:100%;background:#0b090e;border:1px solid #6b5130;border-radius:8px;overflow:hidden;box-shadow:0 12px 36px #0008}.vessel canvas{position:absolute;inset:0;display:block;width:100%;height:100%;image-rendering:pixelated}#overlay{touch-action:none;cursor:crosshair}.vessel-label{position:absolute;top:13px;left:16px;color:#cbb89a;font-size:12px;pointer-events:none;text-shadow:0 1px 5px #000}#paused-label{position:absolute;top:12px;left:50%;transform:translateX(-50%);background:#2a2119e8;color:var(--brass);padding:5px 12px;border-radius:12px;pointer-events:none}.gravity-compass{position:absolute;right:13px;top:11px;display:flex;align-items:center;gap:7px;color:#e7d1a5;pointer-events:none;background:#1c1612d9;border-radius:20px;padding:4px 10px}.gravity-compass span{font-size:24px;display:block;width:24px;text-align:center}.gravity-compass small{font-size:11px}.instrument-line{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;padding:5px 2px}.instrument-line #performance{white-space:nowrap;color:#aa9678}.tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tools button{font-size:13px}.brush-label{display:flex;align-items:center;gap:8px;margin-left:auto;color:var(--muted);font-size:12px}.brush-label input{width:95px}.brush-label output{min-width:20px}.gravity-controls{display:flex;align-items:center;gap:17px;flex-wrap:wrap;padding:14px 0 9px}.gravity-heading{display:flex;flex-direction:column;min-width:125px;gap:4px}.gravity-heading output{font-size:12px;color:var(--brass)}.gravity-controls label{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:2px;flex:1;min-width:100px;max-width:210px}.gravity-presets{display:flex;gap:5px;flex-wrap:wrap}.gravity-presets button{font-size:12px;padding:.4rem .6rem;min-height:32px}.hint{font-size:13px;color:var(--muted);margin:8px 0 15px;line-height:1.5;max-width:85ch}.save-controls{display:flex;flex-wrap:wrap;gap:6px}.save-controls button{font-size:12px;min-height:34px;padding:.4rem .6rem}.save-controls .danger{margin-left:auto}.library{border-left:1px solid var(--line);padding-left:20px;min-width:0}.library-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.library-tabs button{flex:1;padding:.5rem;font-size:13px}.library-panel{max-height:calc(100vh - 155px);overflow:auto;scrollbar-width:thin;padding-right:4px}.selected-matter{display:flex;gap:12px;margin:2px 0 16px;min-height:66px}.selected-matter>i{height:30px;width:30px;border-radius:7px;flex-shrink:0;margin-top:3px;box-shadow:inset 0 0 0 1px #ffffff33}.selected-matter strong{text-transform:capitalize;font-size:18px;font-weight:600}.selected-matter p{color:var(--muted);font-size:12px;line-height:1.5;margin:4px 0 0}.category-filter{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0 14px}.category-filter button{border:0;background:transparent;font-size:12px;min-height:29px;padding:4px 7px}.category-filter button.selected{background:#43321e}.material-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.material-grid button{display:flex;gap:8px;align-items:center;text-align:left;padding:8px;font-size:12px;min-height:40px}.material-grid i{display:block;width:12px;height:12px;border-radius:3px;flex-shrink:0;background:var(--swatch);border:1px solid #ffffff30}.material-grid span{text-transform:capitalize}.library-note,.panel-intro{font-size:12px;line-height:1.65;color:var(--muted);margin:16px 0}.panel-intro{margin-top:0}.blueprint-actions{display:flex;gap:5px;margin-bottom:14px}.blueprint-actions button{font-size:12px;padding:7px}.blueprint-list{display:grid;gap:12px}.blueprint-item{display:grid;grid-template-columns:62px 1fr;text-align:left;align-items:center;gap:10px;padding:10px;background:transparent}.blueprint-item canvas{width:62px;height:56px;object-fit:contain;image-rendering:pixelated;background:#100c09;border-radius:3px}.blueprint-item strong{font-weight:600;display:block;margin-bottom:4px}.blueprint-item small{font-size:11px;color:var(--muted);line-height:1.45;display:block}.capture-save{border-top:1px solid var(--line);margin-top:18px;padding-top:14px;display:flex;gap:6px;flex-wrap:wrap}.capture-save label{display:flex;flex-direction:column;gap:6px;width:100%;color:var(--muted);font-size:12px;margin-bottom:4px}.capture-save button{font-size:12px;padding:7px}.setup-list{display:flex;flex-direction:column;gap:13px}.setup-list button{padding:15px 12px;text-align:left;background:transparent;border-color:#5a4630}.setup-list strong{display:block;font-size:15px;font-weight:600;margin-bottom:7px}.setup-list span{font-size:12px;line-height:1.55;color:var(--muted);display:block}.status{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:min(600px,90vw);padding:12px 18px;background:#ead8ae;color:#2a2119;border-radius:7px;box-shadow:0 6px 25px #0008;z-index:10;pointer-events:none;opacity:0;transition:opacity .15s}.status.visible{opacity:1}.status.error{background:#f2d3c6;color:#50200f}dialog{max-width:560px;width:calc(100% - 36px);border:1px solid #8b7045;background:var(--panel);color:var(--ink);border-radius:12px;padding:27px;line-height:1.65;box-shadow:0 20px 80px #0008}dialog::backdrop{background:#0c0907d9;backdrop-filter:blur(5px)}dialog h1{font-family:Georgia,serif;font-size:30px;font-weight:400;line-height:1.2;clear:both}dialog p,dialog li{color:#cbb89a}dialog li{margin:9px 0}dialog ul{padding-left:20px}.dialog-close{float:right}.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}#library-toggle{display:none}[hidden]{display:none!important}
@media(min-width:1500px){.workbench{grid-template-columns:minmax(0,1fr) 330px}.library-panel{max-height:calc(100vh - 155px)}}
@media(max-width:1050px){.workbench{padding:0 16px 20px;gap:16px;grid-template-columns:minmax(0,1fr) 265px}.masthead{padding:15px 16px}.library{padding-left:14px}.masthead p{font-size:12px}.tools kbd{display:none}.brush-label{margin-left:0}.gravity-controls{gap:10px}.gravity-presets{width:100%}}
@media(max-width:760px){.masthead{padding:13px 12px 14px;gap:10px}.brand{font-size:23px}.brand span{font-size:14px;margin-left:8px}.masthead p{display:none}.masthead .quiet{margin-left:auto;font-size:11px;min-height:33px;padding:6px 9px}.workbench{display:flex;flex-direction:column;padding:0 10px 20px;gap:18px}.transport{gap:8px;margin-bottom:9px}.button-group{gap:5px}.button-group button,.compact-label select{font-size:12px;padding:7px}.compact-label{font-size:11px;gap:4px}.button-group .compact-label{font-size:0}.button-group .compact-label select{font-size:12px}#library-toggle{display:block}.vessel{border-radius:5px;min-height:0}.vessel-label{font-size:10px;left:9px;top:8px}.gravity-compass{right:6px;top:5px;padding:1px 7px}.gravity-compass span{font-size:19px}.gravity-compass small{font-size:9px}.instrument-line{font-size:10px;min-height:31px}#probe{max-width:77%}.tools{gap:5px;padding:8px 0}.tools button{padding:7px 9px;min-height:35px;font-size:12px}.brush-label{flex:1;margin-left:5px;min-width:112px;gap:6px}.brush-label input{width:100%;min-width:40px}.gravity-controls{gap:9px;padding-top:11px}.gravity-heading{min-width:102px}.gravity-heading strong{font-size:13px}.gravity-heading output{font-size:10px}.gravity-controls label{min-width:80px;font-size:10px}.gravity-presets{gap:5px}.gravity-presets button{min-height:32px}.hint{font-size:11px;margin-bottom:10px}.save-controls{gap:5px}.save-controls button{font-size:11px}.save-controls .danger{margin-left:0}.library{border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--panel);display:none}.library.open{display:block}.library-panel{max-height:420px}.material-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.library-tabs{margin-bottom:12px}.selected-matter{min-height:50px;margin-bottom:10px}.status{bottom:12px;font-size:12px}.blueprint-list{grid-template-columns:1fr 1fr}.blueprint-item{grid-template-columns:1fr;padding:8px}.blueprint-item canvas{width:100%;height:64px}.setup-list{gap:8px}.setup-list button{padding:12px}.gravity-presets #gravity-spin{margin-left:auto}}
@media(max-width:390px){.brand span{font-size:12px}.transport{gap:6px}.button-group{gap:4px}.button-group button,.compact-label select{padding:7px 6px;font-size:11px}#play{min-width:58px}.material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.save-controls button{font-size:10px}}
button,select,input{touch-action:manipulation}
.masthead{flex-wrap:wrap}.mode-switch{display:inline-flex;flex-shrink:0;gap:3px;padding:3px;border:1px solid var(--line);border-radius:7px;background:#14100c}.mode-switch a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:7px 13px;border-radius:4px;font-size:13px;text-decoration:none;white-space:nowrap;touch-action:manipulation}.mode-switch a:hover{background:#1c1612}.mode-switch a[aria-current=page]{background:var(--accent);color:#1c140a;font-weight:650}
@media(max-width:1050px){.masthead p{display:none}.masthead .quiet{margin-left:auto}}
@media(max-width:760px){.mode-switch{order:3;flex-basis:100%}.mode-switch a{flex:1}}
body{min-height:100vh;background:radial-gradient(70% 45% at 50% -8%,#b0894829,transparent 55%),var(--base)}.brand-lockup{display:flex;flex-direction:column;gap:2px}.brand{color:var(--brass);font-variant:small-caps;letter-spacing:.07em;text-shadow:0 1px 0 #3a2a10}.brand span{font-family:inherit;letter-spacing:.02em;font-variant:normal;font-weight:400;color:var(--ink)}.mode-note{font:10px "Segoe UI",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.masthead p{font-style:italic}.vessel{border-radius:3px;box-shadow:0 0 0 3px #2b231b,0 0 0 4px #5a4630,0 16px 40px #0008}.mode-switch a[aria-current=page]{background:#43321e;color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent)}.library-tabs button{letter-spacing:.06em;text-transform:uppercase;font-size:11px}.selected-matter>i{border-radius:2px;box-shadow:inset 0 -6px 8px #0005,inset 0 1px 0 #ffffff47}.library-note{font-style:italic}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.selected-matter .material-whisper{color:var(--brass);font-size:14px;font-style:italic;line-height:1.4;margin-top:6px}
.codex-strip{border:1px solid var(--line);background:#14100c;padding:10px;margin:0 0 14px;border-radius:5px;display:grid;gap:7px}.codex-strip-heading{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.codex-strip-heading strong{font-size:14px;color:var(--brass);letter-spacing:.04em}.codex-strip-heading span,.codex-mode{font-size:11px;color:var(--muted)}.codex-strip progress{width:100%;height:6px;accent-color:var(--brass)}.access-label{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:11px}.access-label select{font-size:11px;padding:5px;min-height:32px}.next-experiment{display:flex;align-items:center;justify-content:space-between;gap:10px;border-left:2px solid var(--accent);background:#21180f;padding:9px 10px;margin:0 0 14px}.next-experiment div{min-width:0}.next-experiment strong,.next-experiment span{display:block}.next-experiment strong{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--brass)}.next-experiment span{font-size:12px;line-height:1.4;color:var(--muted);margin-top:3px}.next-experiment button{font-size:11px;padding:6px 8px;min-height:34px;flex:0 0 auto}.codex-toast{position:fixed;left:50%;bottom:20px;z-index:12;display:flex;align-items:center;gap:10px;max-width:min(560px,calc(100vw - 28px));padding:9px 10px 9px 14px;background:#ead8ae;color:#2a2119;border:1px solid var(--brass);border-radius:6px;box-shadow:0 8px 30px #0009;transform:translate(-50%,12px);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}.codex-toast.visible{opacity:1;transform:translate(-50%,0);pointer-events:auto}.codex-toast span{font-size:13px;line-height:1.3}.codex-toast button{background:#2a2119;color:#f0e2c4;border-color:#2a2119;font-size:11px;padding:6px 9px;min-height:32px}.codex-dialog{max-width:min(900px,calc(100% - 28px));width:900px;max-height:min(88dvh,760px);overflow:hidden;padding:26px;background:#18130f;color:var(--ink);border:1px solid var(--accent);border-radius:8px;box-shadow:0 22px 90px #000c}.codex-dialog::backdrop{background:#0c0907dd;backdrop-filter:blur(5px)}.codex-dialog .dialog-close{float:right}.codex-kicker{margin:0;color:var(--brass);font-size:11px;letter-spacing:.15em;text-transform:uppercase}.codex-dialog h1{margin:7px 0 4px;font:600 30px/1.15 Palatino,"Palatino Linotype",Georgia,serif}.codex-dialog #codex-lede{margin:0 0 16px;color:var(--muted);font-size:13px}.codex-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:auto;max-height:calc(88dvh - 155px);padding:3px 4px 8px 0}.codex-page{min-width:0;border:1px solid var(--line);background:#21180f;padding:11px 12px;display:flex;flex-direction:column;gap:5px}.codex-page-number{color:var(--muted);font:11px "Segoe UI",sans-serif;letter-spacing:.12em}.codex-page h2{font-size:17px;line-height:1.15;margin:0;text-transform:capitalize}.codex-page p{font-size:12px;line-height:1.45;color:var(--muted);margin:0}.codex-page .codex-whisper{font-style:italic;color:var(--brass)}.codex-page-locked{background:#14100c;border-style:dashed}.codex-page-locked h2{color:#8f7d62;font-size:15px}.codex-hint{color:#b8a483!important;font-style:italic}.codex-lock{color:#6f6150;font-size:10px;line-height:1.35}.codex-page-footer{display:flex;justify-content:space-between;align-items:center;gap:7px;margin-top:auto;padding-top:7px;border-top:1px solid #5a463088;color:#8f7d62;font-size:10px}.codex-page-footer button{font-size:10px;padding:5px 7px;min-height:30px}.codex-page-footer button:hover{color:var(--ink)}
@media(max-width:760px){.codex-strip{margin-bottom:10px;padding:9px}.next-experiment{align-items:flex-start}.codex-dialog{padding:19px 15px}.codex-dialog h1{font-size:25px}.codex-pages{grid-template-columns:1fr;max-height:calc(88dvh - 145px)}.codex-page{padding:10px}.codex-toast{bottom:12px}.codex-toast span{font-size:12px}}
@media(max-width:390px){.access-label{align-items:flex-start;flex-direction:column;gap:4px}.access-label select{width:100%}.next-experiment button{padding-left:6px;padding-right:6px}}
.codex-milestones{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0 0 14px}.codex-milestone{display:flex;gap:7px;min-width:0;padding:9px;background:#14100c;border:1px solid var(--line)}.codex-milestone.complete{border-color:var(--accent);background:#21180f}.codex-milestone-mark{flex:0 0 20px;width:20px;height:20px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--muted);font-size:12px}.codex-milestone.complete .codex-milestone-mark{border-color:var(--accent);color:var(--brass)}.codex-milestone h2{font-size:12px;line-height:1.15;margin:0 0 4px}.codex-milestone p,.codex-milestone span{display:block;color:var(--muted);font-size:10px;line-height:1.35;margin:0}.codex-milestone span{color:#8f7d62;font-style:italic;margin-top:4px}
@media(max-width:760px){.codex-milestones{grid-template-columns:1fr 1fr}.codex-milestone{padding:8px}}
/* Codex dialog layout and notification stacking */
.codex-dialog[open]{display:flex;flex-direction:column;min-height:0}
.codex-scroll{min-height:0;flex:1 1 auto;overflow:auto;padding-right:4px}
.codex-pages{overflow:visible;max-height:none}
.codex-toast{bottom:76px;visibility:hidden}
.codex-toast.visible{visibility:visible}
@media(max-width:760px){.codex-toast{bottom:64px}}
