@font-face{font-family:"Instrument Serif";src:url(/fonts/InstrumentSerif-Regular.ttf) format("truetype");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-wght.ttf) format("truetype");font-display:swap;font-style:normal;font-weight:300 700}@font-face{font-family:DM Mono;src:url(/fonts/DMMono-Regular.ttf) format("truetype");font-display:swap;font-style:normal;font-weight:400}:root{--color-paper: #f7f3ed;--color-paper-2: #f2ece2;--color-surface: #fffaf3;--color-surface-bright: #ffffff;--color-surface-muted: #f4f2ee;--color-stage: #161d1c;--color-stage-ink: #f7f3ed;--color-ink: #172026;--color-ink-strong: #243f3a;--color-ink-2: #263840;--color-ink-label: #4b5d63;--color-ink-body: #56646a;--color-ink-muted: #68767a;--color-rule: #d7d0c5;--color-rule-strong: #bdc8c2;--color-rule-muted: #e2ded7;--color-accent: #3b6f6a;--color-accent-strong: #2f6f66;--color-accent-ink: #1e4740;--color-accent-deep: #294c46;--color-accent-copy: #36544f;--color-accent-note: #3f615a;--color-accent-label: #415b54;--color-accent-soft: #d9eae2;--color-accent-hover: #e2f2ea;--color-accent-muted: #8c9f95;--color-info: #2f5664;--color-info-soft: #f0f7f9;--color-info-rule: #c7d5db;--color-success: #315c46;--color-success-ink: #344c27;--color-success-soft: #eff8f1;--color-success-rule: #bdd5c5;--color-success-track: #d4e2d8;--color-warning: #72541a;--color-warning-ink: #6a4b17;--color-warning-soft: #fff7e5;--color-warning-rule: #e0c585;--color-danger-ink: #67351f;--color-danger-soft: #fff3ed;--color-danger-rule: #d7a287;--color-overlay-backdrop: rgb(23 32 38 / 58%);--color-modal-backdrop: rgb(23 32 38 / 54%);--color-loading-overlay: rgb(237 246 241 / 92%);--color-success-overlay: rgb(238 246 240 / 96%);--color-surface-overlay: rgb(255 250 243 / 88%);--color-surface-bright-overlay: rgb(255 255 255 / 94%);--font-display: "Instrument Serif", Georgia, serif;--font-body: "Space Grotesk", Inter, ui-sans-serif, system-ui, sans-serif;--font-mono: "DM Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--text-xs: .72rem;--text-sm: .86rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-display: clamp(2.75rem, 7vw, 5.5rem);--leading-tight: .98;--leading-body: 1.55;--tracking-label: .08em;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--shadow-panel: 0 18px 48px rgb(23 32 38 / 8%);--shadow-control: 0 10px 28px rgb(23 32 38 / 12%);--shadow-dialog: 0 24px 80px rgb(0 0 0 / 28%);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .16s;--duration-normal: .24s;color:var(--color-ink);background:var(--color-paper);font-family:var(--font-body);line-height:var(--leading-body);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}h3{font-family:var(--font-display);font-style:normal;font-weight:400}html,body{min-width:320px;min-height:100vh;margin:0;overflow-x:clip}input,select,textarea{font:inherit}button{font:inherit;cursor:pointer}button:disabled,fieldset:disabled button{cursor:not-allowed;opacity:.55}:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:3px}:where(#app){min-height:100vh}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{width:min(1480px,calc(100% - 56px));margin:0 auto;padding:20px 0 24px}h1{margin-top:0;margin-bottom:12px;font-family:var(--font-display);font-style:normal;font-weight:400;font-size:clamp(2.4rem,6vw,4.75rem);line-height:.98}h2{margin-top:0;margin-bottom:12px;font-family:var(--font-display);font-style:normal;font-weight:400;font-size:1.25rem}p{margin-top:0}.panel-kicker,.guide-label,.guide-step-index,.control-group-label{color:var(--color-accent-strong);font-family:var(--font-mono);font-size:.68rem;letter-spacing:var(--tracking-label)}.text-action,.app-footer a{padding:0;border:0;background:transparent;color:var(--color-accent-strong);font-weight:800;text-decoration:underline;text-underline-offset:3px}:where(.text-action):disabled{color:var(--color-ink-muted);opacity:1}.secondary-action{min-height:42px;padding:0 14px;border:1px solid var(--color-rule-strong);border-radius:8px;background:var(--color-surface-bright);color:var(--color-ink-2);font-weight:800}.primary-action{min-height:42px;width:100%;margin-top:0;border:1px solid var(--color-rule-strong);border-radius:8px;background:var(--color-ink-strong);color:var(--color-surface-bright);font-weight:800}:where(.control-row) button{flex:1 1 140px;min-height:42px;padding:0 14px;border:1px solid var(--color-rule-strong);border-radius:8px;background:var(--color-surface-bright);color:var(--color-ink-2);font-weight:800}:where(.dialog-actions) button{min-height:44px;border:1px solid var(--color-rule-strong);border-radius:8px;background:var(--color-surface-bright);color:var(--color-ink-2);font-weight:800;white-space:nowrap;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.site-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(32px,8vw,128px);align-items:center;padding:14px 0 13px;border-bottom:1px solid var(--color-rule)}.site-brand{display:inline-flex;align-items:center;padding-inline-end:clamp(24px,3vw,48px);border-inline-end:1px solid var(--color-rule-strong);color:var(--color-ink-strong);font-family:var(--font-mono);font-size:.73rem;font-weight:400;letter-spacing:.13em;line-height:1;white-space:nowrap}.site-nav{display:flex;align-items:center;min-width:0;gap:clamp(14px,2.5vw,32px)}.site-utilities{display:flex;align-items:center;min-width:0;justify-content:flex-end;gap:18px}.site-nav-item{position:relative;color:var(--color-ink-muted);font-size:.78rem;letter-spacing:.02em;line-height:1.4;white-space:nowrap}:where(.site-nav-item).is-active{color:var(--color-ink-strong);font-weight:700}:where(.site-nav-item).is-active:after{position:absolute;bottom:-8px;left:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:var(--color-accent-strong);content:""}.locale-toggle{color:var(--color-ink-label);font-family:var(--font-mono);font-size:.7rem;font-weight:400;letter-spacing:.02em;text-decoration:none;white-space:nowrap}.site-settings{display:inline-flex;align-items:center;gap:7px;color:var(--color-ink-muted);font-family:var(--font-mono);font-size:.7rem;white-space:nowrap}.status-dot,.local-processing-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-accent-strong)}.lab-intro{padding:clamp(28px,2.25vw,40px) 0 20px;border-bottom:1px solid var(--color-rule)}.lab-intro-copy{max-width:680px}.lab-intro h1{min-width:0;margin-bottom:16px;overflow-wrap:anywhere;color:var(--color-ink-strong);font-family:var(--font-display);font-size:clamp(3rem,5vw,5.5rem);font-style:normal;font-weight:400;letter-spacing:-.035em;line-height:.94}:where(.lab-intro .subtitle){max-width:740px;margin-bottom:16px;color:var(--color-ink-body);font-size:clamp(1rem,1.8vw,1.22rem);line-height:1.5}.local-processing{display:inline-flex;align-items:center;gap:8px;margin:0;color:var(--color-ink-muted);font-family:var(--font-mono);font-size:.7rem;font-variant-numeric:tabular-nums;line-height:1.5}.guide-band{display:grid;grid-template-columns:minmax(220px,.85fr) repeat(4,minmax(0,1fr));gap:0;min-height:60px;margin:28px 0 0;padding:12px 0 0;border-top:1px solid var(--color-rule-strong);color:var(--color-ink-muted);font-size:.8rem;line-height:1.45;list-style:none}.guide-band-intro{min-width:0;padding-right:18px;display:grid;gap:7px}.guide-step{min-width:0;padding-right:18px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding-left:18px;border-left:1px solid var(--color-rule)}.guide-step-copy{display:grid;gap:3px;min-width:0}.guide-step-copy strong{color:var(--color-ink-strong);font-size:.84rem;font-weight:700;line-height:1.35}.guide-step-copy>span{color:var(--color-ink-muted);font-size:.76rem;line-height:1.35}.app-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:15px;padding-top:14px;border-top:1px solid var(--color-rule);color:var(--color-ink-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.lab-workspace{display:block;margin-top:16px}.workbench-zone{display:grid;position:relative;grid-template-columns:minmax(0,1.85fr) minmax(280px,.72fr);gap:18px;min-width:0;align-items:start}.preview-workspace{display:grid;position:relative;grid-column:1;gap:16px;min-width:0;margin-bottom:0;padding:20px;border:0;background:transparent;box-shadow:none}.preview-stage-shell{display:grid;grid-template-rows:minmax(18px,auto) minmax(0,1fr);gap:10px;min-width:0;min-height:calc(clamp(360px,34vw,500px) + 28px);background:var(--color-stage);color:var(--color-stage-ink)}.stage-caption{display:flex;min-height:18px;align-items:baseline;justify-content:space-between;gap:12px;padding:0 2px}.stage-caption-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:var(--tracking-label);color:var(--color-ink-label)}.stage-caption-note,.control-group-note{color:var(--color-ink-muted);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.04em;white-space:nowrap}.preview-stage-panel{display:grid;grid-template-rows:minmax(0,1fr);gap:10px;min-width:0;height:100%;min-height:0}.preview-state{min-height:0}:where(.preview-state>.align-stage),:where(.preview-state>.preview-stage){height:100%;min-height:0;background:transparent}.preview-stage{display:grid;gap:6px;place-items:center;color:var(--color-stage-ink);text-align:center}.align-stage{display:grid;gap:6px;place-items:center;color:var(--color-stage-ink);text-align:center;overflow:hidden}:where(.preview-stage.has-wiggle-canvas){display:grid;overflow:hidden}.alignment-preview-wrap,:where(.alignment-preview-wrap .alignment-panel){position:relative;height:100%;min-height:0}.layout-toggle{position:absolute;top:5px;right:12px;z-index:2;display:grid;width:35px;min-height:35px;place-items:center;border:1px solid var(--color-rule-strong);border-radius:8px;background:var(--color-surface-bright-overlay);color:var(--color-accent-deep)}.layout-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.alignment-canvas,.wiggle-canvas{display:block;width:100%;height:100%}.auto-alignment-status{position:absolute;inset:auto var(--space-sm) var(--space-sm);margin:0;color:var(--color-stage-ink);font-size:var(--text-xs);text-align:center;pointer-events:none}.wiggle-canvas-shell{display:grid;width:100%;height:100%;place-items:center}.stage-input-entry{display:grid;width:min(540px,calc(100% - 48px));min-width:0;grid-column:1}:where(.stage-input-entry .upload-panel){position:relative;width:100%;padding-top:0}.upload-panel-mark,:where(.stage-input-entry .upload-panel-mark){display:none}.drop-zone{display:grid;position:relative;width:100%;min-height:190px;gap:10px;margin:0;padding:22px 24px;border:1px dashed var(--color-stage-ink);border-radius:0;background:transparent;color:var(--color-stage-ink);text-align:left}:where(.drop-zone):hover,:where(.drop-zone):focus-visible,:where(.drop-zone).is-dragging{border-color:var(--color-accent-soft);background:transparent;color:var(--color-accent-soft);outline:none}.drop-zone-title{grid-column:2;grid-row:2;align-self:center;font-family:var(--font-mono);font-size:.82rem;font-weight:400}.drop-zone-file{grid-column:2;font-family:var(--font-mono);font-size:.72rem;font-weight:400;line-height:1.35;grid-row:3;overflow:hidden;color:var(--color-stage-ink);text-overflow:ellipsis;white-space:nowrap}.drop-zone-hint{grid-column:2;font-family:var(--font-mono);font-size:.72rem;font-weight:400;line-height:1.35;grid-row:3;margin:0;color:var(--color-stage-ink)}.drop-zone-copy{grid-column:2;font-family:var(--font-mono);font-size:.72rem;font-weight:400;line-height:1.35;grid-row:4;margin:0;color:var(--color-stage-ink)}.upload-loading{position:absolute;inset:0;display:grid;place-items:center;border-radius:0;background:var(--color-stage);color:var(--color-stage-ink);font-family:var(--font-mono);font-size:.72rem;font-weight:400}.workspace-loading{position:absolute;z-index:5;inset:0;display:grid;place-content:center;gap:12px;border-radius:inherit;background:var(--color-surface-overlay);color:var(--color-accent-deep);font-weight:800;text-align:center}.loading-indicator{width:24px;height:24px;margin:0 auto;border:3px solid var(--color-success-rule);border-top-color:var(--color-accent-strong);border-radius:50%;animation:workspace-spin var(--duration-normal) linear infinite}.controls-zone{display:grid;grid-column:2;align-content:start;gap:0;min-width:0;padding:0 12px 0 20px;border:0;background:transparent}.controls-panel{display:grid;align-content:start;gap:0;min-height:0}.control-group{display:grid;gap:12px;min-width:0;padding-top:16px;border-top:1px solid var(--color-rule)}:where(.control-group):first-child{padding-top:0;border-top:0}.control-group-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}:where(.control-group .align-control-stack,.control-group .wiggle-control-grid){min-width:0}.view-status{display:flex;width:100%;min-width:0;height:35px;align-items:center;justify-content:space-between;gap:12px;line-height:35px}:where(.view-status .active){display:inline-block;color:var(--color-accent-ink)}:where(.controls-zone .view-status button){width:80px;height:35px;margin-bottom:5px;border:1px solid var(--color-rule-strong);border-radius:8px;background:var(--color-surface-bright);color:var(--color-ink-2);font-weight:800}.align-control-stack{display:grid;gap:15px}.slider-grid{display:grid;gap:16px;margin-top:20px}.align-slider-grid{grid-template-columns:minmax(0,1fr);gap:25px;margin:0}.slider-control{display:grid;gap:10px;margin-top:0}:where(.controls-zone .slider-control){grid-column:1;grid-template-columns:minmax(112px,.6fr) minmax(0,1fr) auto;align-items:center;column-gap:16px}.slider-label{color:var(--color-ink-label);font-size:.92rem;font-weight:800}:where(.controls-zone .slider-control .slider-label){grid-column:1;grid-row:1;min-width:0}.slider-control input{width:100%;accent-color:var(--color-accent-strong)}:where(.controls-zone .slider-control input[type=range]){grid-column:2;grid-row:1;min-width:0}.slider-control strong{color:var(--color-accent-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums}:where(.controls-zone .slider-control strong){grid-column:3;grid-row:1;min-width:4ch;text-align:right}.reset-action{min-height:44px;align-self:end}:where(.controls-zone .reset-action){grid-column:1 / -1;width:100%}.workspace-action{min-height:44px}:where(.controls-zone .workspace-action){margin-top:0}.wiggle-control-grid{display:grid;grid-template-columns:1fr;gap:0}:where(.controls-zone .wiggle-control-grid .control-row){display:flex;flex-wrap:nowrap;min-width:0;min-height:35px;align-items:center;justify-content:space-between;gap:12px;padding:5px 0}.control-row-label{min-width:0;color:var(--color-ink-body);font-size:var(--text-sm);font-weight:500}.control-value{display:inline-flex;align-items:center;gap:8px;color:var(--color-ink-body);white-space:nowrap}.control-value input{width:72px;min-height:32px;padding:4px 8px;border:1px solid var(--color-rule-strong);border-radius:0;background:transparent;color:var(--color-ink-strong);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}:where(.controls-zone) .toggle-control{display:inline-flex;flex:0 0 auto;align-items:center;min-height:28px;padding:0;border:0;border-radius:0;background:transparent}.toggle-track{display:inline-flex;width:36px;height:22px;align-items:center;padding:2px;border:1px solid var(--color-rule-strong);border-radius:999px;background:var(--color-surface-bright);transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.toggle-thumb{width:16px;height:16px;border-radius:50%;background:var(--color-ink-muted);transition:transform var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}:where(.toggle-control[aria-pressed=true]) .toggle-track{border-color:var(--color-accent-deep);background:var(--color-accent-deep)}:where(.toggle-control[aria-pressed=true]) .toggle-thumb{background:var(--color-surface-bright);transform:translate(14px)}.message-center{position:fixed;z-index:20;top:clamp(24px,11.25vh,116px);left:50%;display:grid;gap:8px;width:min(436px,calc(100% - 32px));transform:translate(-50%);pointer-events:none}.app-message{display:grid;grid-template-columns:42px minmax(0,1fr) 30px;gap:14px;align-items:center;min-height:70px;padding:5px 20px;border:1px solid;border-radius:var(--radius-sm);box-shadow:none;font-size:.86rem;font-weight:400;line-height:1.35;pointer-events:auto;animation:editorial-reveal var(--duration-normal) var(--ease-out) both}:where(.app-message.success){border-color:var(--color-success-rule);background:var(--color-success-soft);color:var(--color-success-ink)}:where(.app-message.info){border-color:var(--color-info-rule);background:var(--color-info-soft);color:var(--color-info)}:where(.app-message.warning){border-color:var(--color-warning-rule);background:var(--color-warning-soft);color:var(--color-warning-ink)}:where(.app-message.error){border-color:var(--color-danger-rule);background:var(--color-danger-soft);color:var(--color-danger-ink)}.message-icon{display:grid;width:40px;height:40px;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:.92rem;font-weight:500}.message-body{display:grid;gap:3px;min-width:0}.message-type{color:currentColor;font-family:var(--font-body);font-size:var(--text-md);font-weight:500;letter-spacing:0;text-transform:none}.message-copy{color:currentColor;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5}.message-copy small{margin-left:4px;font-size:inherit}:where(.app-message button){width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:0;background:transparent;color:inherit;font-family:var(--font-mono);font-size:1.3rem;font-weight:400;line-height:1;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}:where(.app-message button:hover){border-color:currentColor;background:var(--color-surface-bright-overlay)}:where(.app-message button:active){transform:translateY(1px)}.modal-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:24px;background:var(--color-modal-backdrop);animation:editorial-fade var(--duration-fast) var(--ease-out) both}.export-dialog{overflow:auto;border:1px solid var(--color-rule-strong);border-radius:0;background:var(--color-surface);box-shadow:var(--shadow-dialog);animation:editorial-reveal var(--duration-normal) var(--ease-out) both;width:min(504px,100%);max-height:min(820px,calc(100vh - 48px));padding:28px}.privacy-modal{overflow:auto;border:1px solid var(--color-rule-strong);border-radius:0;background:var(--color-surface);box-shadow:var(--shadow-dialog);animation:editorial-reveal var(--duration-normal) var(--ease-out) both;width:min(586px,100%);max-height:min(680px,calc(100vh - 48px));padding:28px 30px 24px}:where(.dialog-header){display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--color-rule)}:where(.dialog-header) h2{margin-bottom:0;color:var(--color-ink-strong);font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.6rem);font-style:normal;font-weight:400;line-height:.98}:where(.dialog-header).export-dialog-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:16px}:where(.export-dialog-header) .panel-kicker,:where(.privacy-dialog-header) .panel-kicker{margin:0}.export-dialog-header h2{color:var(--color-ink-strong);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;line-height:1.2;text-align:center}.dialog-index{flex:0 0 auto;color:var(--color-ink-muted);font-family:var(--font-mono);font-size:.64rem;font-variant-numeric:tabular-nums;letter-spacing:.06em;white-space:nowrap}:where(.dialog-header).privacy-dialog-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 20px}:where(.privacy-dialog-header) h2{grid-column:1 / -1;margin:10px 0 0;color:var(--color-ink-strong);font-size:clamp(1.8rem,3.2vw,2.45rem);line-height:1.08}.guide-copy{max-width:100%;margin:18px 0 0;color:var(--color-ink-body);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.6}:where(.export-dialog .export-size-options),:where(.export-dialog .export-format-options){display:grid;gap:0;padding:0;margin:18px 0 0;border:0}:where(.export-dialog .export-size-options legend),:where(.export-dialog .export-format-options legend){margin-bottom:8px;color:var(--color-ink-strong);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:0;text-transform:none}:where(.export-dialog .export-size-options label),:where(.export-dialog .export-format-options label){display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:center;min-height:42px;padding:8px 0;border:1px solid var(--color-rule);border-width:0 0 1px;border-radius:0;background:transparent}:where(.export-dialog .export-size-options label.active),:where(.export-dialog .export-format-options label.active),:where(.export-dialog .export-size-options label:hover:not(:has(input:disabled))),:where(.export-dialog .export-format-options label:hover:not(:has(input:disabled))){border-color:var(--color-rule);background:transparent}:where(.export-dialog .export-size-options label.unavailable),:where(.export-dialog .export-format-options label:has(input:disabled)){border-color:var(--color-rule-muted);background:transparent}:where(.export-dialog .export-size-options input),:where(.export-dialog .export-format-options input),:where(.privacy-toggle input){accent-color:var(--color-accent-strong)}:where(.export-dialog .export-size-options span),:where(.export-dialog .export-format-options span){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px}:where(.export-dialog .export-size-options strong),:where(.export-dialog .export-format-options strong){color:var(--color-ink-strong);font-size:.88rem}:where(.export-dialog .export-size-options small),:where(.export-dialog .export-format-options small){color:var(--color-ink-muted);font-size:.76rem;font-weight:400;line-height:1.4;text-align:right}.memory-guidance{margin:16px 0 0;padding:10px 0;border-top:1px solid var(--color-warning-rule);border-bottom:1px solid var(--color-warning-rule);color:var(--color-warning-ink);font-size:var(--text-xs);font-weight:400;line-height:1.45}.export-progress{display:grid;align-content:center;gap:10px;position:relative;margin-top:20px;padding:18px 0 0;border-top:1px solid var(--color-rule);color:var(--color-accent-deep)}.export-progress-heading{display:flex;justify-content:space-between;gap:12px;color:var(--color-success-ink);font-family:var(--font-mono);font-size:.76rem;font-variant-numeric:tabular-nums;letter-spacing:.03em}.export-progress-track{height:5px;overflow:hidden;background:var(--color-success-track)}.export-progress-track span{display:block;height:100%;background:var(--color-accent-strong)}.export-progress p{margin:0;color:var(--color-ink-muted);font-size:.86rem}.dialog-actions{display:grid;position:relative;z-index:3;grid-template-columns:1fr 1.4fr;gap:10px;padding-top:16px}:where(.dialog-actions) button:hover:not(:disabled){border-color:var(--color-accent-strong);background:var(--color-accent-hover);color:var(--color-accent-ink)}:where(.dialog-actions) .primary-action:hover:not(:disabled),:where(.privacy-confirm):hover:not(:disabled){border-color:var(--color-accent-strong);background:var(--color-accent-strong);color:var(--color-surface-bright)}:where(.dialog-actions) button:active:not(:disabled),:where(.privacy-confirm):active:not(:disabled){transform:translateY(1px)}:where(.dialog-actions) button:disabled,:where(.privacy-confirm):disabled{border-color:var(--color-rule-muted);background:var(--color-surface-muted);color:var(--color-ink-muted)}:where(.dialog-actions .is-loading){cursor:wait}.privacy-toggle{display:flex;gap:12px;align-items:flex-start;margin:24px 0 0;padding:16px 0;border:1px solid var(--color-rule);border-width:1px 0;background:transparent;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.privacy-toggle span{display:grid;gap:4px}:where(.privacy-toggle):hover{border-color:var(--color-rule);background:transparent}.privacy-toggle strong{color:var(--color-ink-strong);font-size:.86rem}.privacy-toggle small{color:var(--color-ink-muted);font-size:.76rem;font-weight:400;line-height:1.45}.privacy-confirm{display:block;width:min(246px,100%);min-height:44px;margin:22px auto 0;border-radius:0;background:transparent;color:var(--color-ink-strong);white-space:nowrap;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}@keyframes workspace-spin{to{transform:rotate(360deg)}}@keyframes editorial-fade{0%{opacity:0}to{opacity:1}}@keyframes editorial-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.lab-workspace{margin-top:20px}.workbench-zone{grid-template-columns:minmax(0,1.45fr) minmax(220px,.8fr)}}@media(max-width:860px)and (min-width:761px){.workbench-zone{grid-template-columns:1fr}.preview-workspace,.controls-zone{grid-column:1}:where(.controls-zone .align-slider-grid){gap:15px}}@media(max-width:760px){.app-shell{width:min(100% - 24px,560px);padding:18px 0 32px}.site-header{grid-template-areas:"brand utilities" "nav nav";grid-template-columns:minmax(0,1fr) auto;gap:18px 14px}.site-brand{grid-area:brand;padding-inline-end:0;border-inline-end:0}.site-nav{grid-area:nav;justify-content:space-between;gap:12px}.site-utilities{grid-area:utilities;gap:12px}:where(.site-nav-item).is-active:after{bottom:-10px}.lab-intro{padding:32px 0 22px}.lab-intro h1{font-size:clamp(3.25rem,18vw,5.6rem)}.guide-band{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0;margin-top:28px}.guide-band-intro{grid-column:1 / -1;padding-bottom:2px}.guide-step{padding-right:12px;padding-left:12px}:where(.guide-step:nth-child(odd)){padding-left:0;border-left:0}.lab-workspace{margin-top:18px}.workbench-zone{grid-template-columns:1fr;gap:14px}.preview-workspace,.controls-zone{grid-column:1}.preview-workspace{padding:16px}.controls-zone{padding:0 16px}:where(.controls-zone .slider-control){grid-template-columns:minmax(0,1fr) auto;row-gap:6px}:where(.controls-zone .slider-control .slider-label){grid-column:1;grid-row:1}:where(.controls-zone .slider-control input[type=range]){grid-column:1 / -1;grid-row:2}:where(.controls-zone .slider-control strong){grid-column:2;grid-row:1}:where(.controls-zone .reset-action){grid-column:auto}.dialog-header{gap:12px}.export-dialog,.privacy-modal{width:100%;max-height:min(84vh,760px);border-radius:0}:where(.dialog-header).export-dialog-header{grid-template-columns:minmax(0,1fr) auto}:where(.export-dialog-header) h2{grid-column:1 / -1;grid-row:2;text-align:left}:where(.export-dialog .export-size-options span),:where(.export-dialog .export-format-options span){grid-template-columns:1fr;gap:2px}:where(.export-dialog .export-size-options small),:where(.export-dialog .export-format-options small){text-align:left}.message-center{top:24px}.app-message{grid-template-columns:34px minmax(0,1fr) 28px;gap:10px;min-height:60px;padding:5px 16px}.message-icon{width:32px;height:32px}.app-footer{justify-content:flex-start;margin-top:24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.app-message,.modal-backdrop,.export-dialog,.privacy-modal,.loading-indicator{animation:none!important;transform:none!important}}
