:root{--bg0: #17181c;--bg1: #1e2025;--bg2: #26282f;--bg3: #2e3138;--line: #33363e;--text: #d8dade;--text-dim: #8b8e98;--accent: #d9a441;--accent-dim: #8a6a2e;--engrave: #e9e7df;--face: #24262b;--face-edge: #3a3d45;--guide: #9aa3b5;--danger: #d96a5a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:12px;color:var(--text);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg0);user-select:none;-webkit-user-select:none}.shell{display:grid;grid-template:"toolbar toolbar toolbar" 44px "layers stage inspector" 1fr "status status status" 24px / 232px 1fr 272px;height:100vh}.toolbar{grid-area:toolbar}.layers-panel{grid-area:layers;border-right:1px solid var(--line)}.stage-pane{grid-area:stage;position:relative;overflow:hidden}.inspector-panel{grid-area:inspector;border-left:1px solid var(--line)}.statusbar{grid-area:status}.stage{width:100%;height:100%;display:block;background:radial-gradient(ellipse at center,#1b1d22 0%,var(--bg0) 75%);touch-action:none}.toolbar{display:flex;align-items:center;gap:10px;padding:0 12px;background:var(--bg1);border-bottom:1px solid var(--line)}.wordmark{font-weight:650;letter-spacing:.04em;color:var(--accent);white-space:nowrap}.doc-name{background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-dim);padding:3px 6px;width:160px}.doc-name:hover{border-color:var(--line)}.doc-name:focus{border-color:var(--accent-dim);color:var(--text);outline:none}.toolbar-spacer{flex:1}.toolbar-group{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:5px;overflow:hidden}.toolbar-group button{min-width:28px}button{font:inherit;color:var(--text);background:var(--bg2);border:none;padding:4px 8px;cursor:pointer}button:hover:not(:disabled){background:var(--bg3)}button:disabled{color:#5a5d66;cursor:default}button.active{color:var(--accent);background:var(--bg3)}.button-primary{background:var(--accent-dim);border-radius:5px;color:#fff;font-weight:600}.button-primary:hover:not(:disabled){background:var(--accent);color:#1a1405}.button-primary:disabled{background:var(--bg2)}.segmented{display:inline-flex;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:5px;overflow:hidden}.segmented button.active{background:var(--bg3);color:var(--accent)}.panel{display:flex;flex-direction:column;background:var(--bg1);min-height:0}.panel-header{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line)}.panel-title{font-weight:650}.panel-hint{color:var(--text-dim);font-size:11px;flex:1}.add-layer{position:relative;margin-left:auto}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10}.menu{position:absolute;right:0;top:calc(100% + 4px);z-index:11;display:flex;flex-direction:column;min-width:150px;background:var(--bg2);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px #00000080;overflow:hidden}.menu button{display:flex;align-items:center;gap:8px;padding:7px 10px;text-align:left;background:transparent}.menu button:hover{background:var(--bg3)}.layer-rows{overflow-y:auto;flex:1;padding:4px}.layer-row{display:flex;align-items:center;gap:6px;padding:5px 6px;border-radius:5px;cursor:default}.layer-row:hover{background:var(--bg2)}.layer-row.selected{background:var(--bg3);outline:1px solid var(--accent-dim)}.layer-row.hidden-layer .layer-name{color:var(--text-dim);text-decoration:line-through;text-decoration-color:#55585f}.eye{background:transparent;padding:0 2px;font-size:9px;color:var(--text-dim)}.eye:not(.off){color:var(--text)}.badge{font-size:9px;font-weight:700;letter-spacing:.05em;color:var(--text-dim);background:var(--bg0);border:1px solid var(--line);border-radius:3px;padding:1px 3px}.layer-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rename-input{flex:1;min-width:0;font:inherit;color:var(--text);background:var(--bg0);border:1px solid var(--accent-dim);border-radius:3px;padding:1px 4px;outline:none}.layer-actions{display:none;gap:2px}.layer-row:hover .layer-actions,.layer-row.selected .layer-actions{display:inline-flex}.layer-actions button{background:transparent;padding:0 3px;color:var(--text-dim);font-size:11px}.layer-actions button:hover{color:var(--text)}.empty-note,.coming-soon{color:var(--text-dim);padding:10px;line-height:1.5}.readout{color:var(--text-dim);font-size:11px;font-variant-numeric:tabular-nums;padding-left:80px}.warning-note{color:var(--danger);font-size:11px;line-height:1.4;padding:4px 0 0 80px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0b0e99;z-index:100;display:flex;align-items:center;justify-content:center}.modal{width:420px;max-height:84vh;overflow-y:auto;background:var(--bg1);border:1px solid var(--line);border-radius:10px;box-shadow:0 24px 64px #0000008c;padding:16px;display:flex;flex-direction:column;gap:12px}.modal-title{font-weight:700;font-size:14px}.modal-blurb{color:var(--text-dim);margin:0;line-height:1.5}.modal-section{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--line);padding-top:12px}.modal-section-title{font-weight:650;color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.modal-row{display:flex;gap:8px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:12px}.export-warnings{max-height:120px;overflow-y:auto;background:var(--bg0);border:1px solid var(--line);border-radius:5px;padding:6px 8px}.export-warnings .warning-note{padding:2px 0}.template-cards{display:flex;flex-direction:column;gap:8px}.template-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:10px 12px;background:var(--bg2);border:1px solid var(--line);border-radius:8px}.template-card:hover{border-color:var(--accent-dim);background:var(--bg3)}.template-name{font-weight:650}.template-blurb{color:var(--text-dim);line-height:1.4}.stage-banner{position:absolute;top:10px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;max-width:80%;background:var(--bg2);border:1px solid var(--line);border-radius:7px;padding:6px 12px;box-shadow:0 6px 20px #0006;z-index:20;line-height:1.4}.stage-banner button{background:transparent;color:var(--text-dim);padding:0 2px}.doc-switcher{position:relative;display:flex;align-items:center}.switcher-chevron{background:transparent;color:var(--text-dim);padding:3px 4px;border-radius:4px}.switcher-chevron:hover,.switcher-chevron.active{color:var(--accent)}.switcher-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:60;width:300px;max-height:60vh;overflow-y:auto;background:var(--bg2);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 36px #0000008c;padding:4px;outline:none}.switcher-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;border-left:2px solid transparent;cursor:default}.switcher-row:hover{background:var(--bg3)}.switcher-row.active{border-left-color:var(--accent);background:var(--bg3)}.switcher-row.confirm{gap:6px}.switcher-thumb{width:40px;height:40px;flex-shrink:0;border-radius:50%;border:1px solid var(--line);background:var(--bg0);object-fit:contain}.switcher-thumb.placeholder{display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:16px}.switcher-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.switcher-error{color:var(--danger)}.switcher-time{color:var(--text-dim);font-size:10px;white-space:nowrap}.switcher-actions{display:none;gap:2px}.switcher-row:hover .switcher-actions{display:inline-flex}.switcher-actions button{background:transparent;color:var(--text-dim);padding:0 3px}.switcher-actions button:hover{color:var(--text)}.switcher-confirm-text{flex:1;color:var(--danger);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.switcher-row button.danger{background:var(--danger);color:#fff;border-radius:4px}.switcher-new{width:100%;text-align:left;padding:8px;margin-top:2px;border-top:1px solid var(--line);background:transparent;color:var(--accent);font-weight:600}.local-font-modal{width:460px}.local-font-list{max-height:46vh;overflow-y:auto;border:1px solid var(--line);border-radius:6px;background:var(--bg0);padding:2px}.local-font-row{display:flex;align-items:baseline;gap:10px;width:100%;text-align:left;padding:6px 10px;background:transparent;border-radius:5px}.local-font-row:hover:not(:disabled){background:var(--bg3)}.local-font-preview{flex:1;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.local-font-style{color:var(--text-dim);font-size:11px;white-space:nowrap}.local-missing{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.local-missing button{flex-shrink:0;border-radius:4px;border:1px solid var(--line)}.stage-pane.drop-target:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:2px dashed var(--accent);border-radius:10px;pointer-events:none;z-index:15}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:650;color:var(--accent);background:#17181c8c;pointer-events:none;z-index:14}.light-control{display:inline-flex;align-items:center;gap:6px}.light-control input[type=range]{width:90px;accent-color:var(--accent)}.light-icon{color:var(--accent)}.inspector-body{padding:10px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:12px}.field-group{display:flex;flex-direction:column;gap:7px;padding-bottom:12px;border-bottom:1px solid var(--line)}.field-group:last-child{border-bottom:none}.field{display:flex;align-items:center;gap:8px}.field-label{width:72px;flex-shrink:0;color:var(--text-dim)}.field-label.scrubbable{cursor:ew-resize}.field-label.scrubbable:hover{color:var(--accent)}.field-input{display:flex;align-items:center;flex:1;background:var(--bg0);border:1px solid var(--line);border-radius:4px;padding:0 6px}.field-input:focus-within{border-color:var(--accent-dim)}.field-input input{flex:1;min-width:0;font:inherit;color:var(--text);background:transparent;border:none;outline:none;padding:4px 0;-webkit-user-select:text;user-select:text}.field-unit{color:var(--text-dim);font-size:10px;padding-left:4px}.field-slider{display:flex;align-items:center;gap:8px;flex:1}.field-slider input[type=range]{flex:1;accent-color:var(--accent)}.field-slider-value{color:var(--text-dim);font-variant-numeric:tabular-nums;min-width:42px;text-align:right}.field select{flex:1;min-width:0;width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font:inherit;color:var(--text);background:var(--bg0);border:1px solid var(--line);border-radius:4px;padding:4px 6px}.field>button{flex-shrink:0;white-space:nowrap}.field-toggle input{accent-color:var(--accent)}.statusbar{display:flex;align-items:center;gap:14px;padding:0 12px;background:var(--bg1);border-top:1px solid var(--line);color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:11px}.statusbar-spacer{flex:1}.statusbar-readout{min-width:150px;text-align:right}
