@font-face{font-family:InterVariable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:InterVariable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg-0: #0f1012;--bg-1: #17181b;--bg-2: #1f2024;--bg-3: #292a30;--hover: rgba(255, 255, 255, .05);--hover-strong: rgba(255, 255, 255, .09);--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--line-field: rgba(255, 255, 255, .1);--text-1: #ececec;--text-2: #aab0b8;--text-3: #8a9099;--accent: #2e6bff;--accent-hover: #4a7dff;--accent-soft: rgba(46, 107, 255, .16);--accent-soft-strong: rgba(46, 107, 255, .28);--accent-text: #8fb0ff;--on-accent: #ffffff;--cell-pending: #3a3d45;--cell-generated: #2d68b3;--cell-brand-ok: #4a90e0;--cell-approved: #79b0f0;--cell-published: #a8cdf9;--cell-needs-review: #fab219;--cell-rejected: #d03b3b;--danger: #e5484d;--danger-hover: #f2555a;--danger-soft: rgba(229, 72, 77, .16);--warn: #ff9f45;--warn-soft: rgba(255, 159, 69, .1);--warn-line: rgba(255, 159, 69, .35);--ok: #4cc38a;--font-ui: "InterVariable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", "Helvetica Neue", Arial, sans-serif;--font-brand: "Saira Condensed", "Arial Narrow", sans-serif;--fs-0: 11px;--fs-1: 12px;--fs-2: 13px;--fs-3: 14px;--r-1: 4px;--r-2: 6px;--r-3: 8px;--r-4: 12px;--r-pill: 999px;--shadow-float: 0 0 0 1px rgba(255, 255, 255, .06), 0 10px 30px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .35);--shadow-modal: 0 0 0 1px rgba(255, 255, 255, .06), 0 28px 80px rgba(0, 0, 0, .6), 0 6px 18px rgba(0, 0, 0, .4);--ring: 0 0 0 1px var(--accent);--dur: .14s;--ease: cubic-bezier(.2, .7, .2, 1);--z-overlay: 10;--z-toast: 40;--z-inline: 45;--z-tip: 60;--z-menu: 70;--z-ctx: 90;--z-dialog: 120;--z-modal: 200;color-scheme:dark}@keyframes float-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--bg-tip: #0b0c0e}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;background:var(--bg-0);overflow:hidden}.shell{display:flex;flex-direction:column;height:100%;font-family:var(--font-ui);font-size:11px;color:var(--text-1);-webkit-user-select:none;user-select:none}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-height:44px;padding:4px 12px;background:var(--bg-1);border-bottom:1px solid var(--line);flex:none}@media (max-width: 980px){.panel{width:200px}.panel.inspector{width:208px}}.title{font-family:var(--font-brand);font-weight:700;font-size:17px;letter-spacing:2px;color:var(--text-1);margin-right:6px}.spacer{flex:1}.tb-btn{position:relative;background:transparent;color:var(--text-1);border:1px solid transparent;height:28px;padding:0 10px;font-size:11px;font-weight:600;font-family:inherit;cursor:pointer;border-radius:var(--r-2)}.tb-btn:hover:not(:disabled){background:var(--hover-strong);color:var(--text-1)}.tb-btn.active{background:var(--bg-2);color:var(--text-1)}.tb-btn.lit{color:var(--accent)}.tb-btn:disabled{color:var(--text-3);cursor:default}.tb-btn.icon{width:28px;padding:0;font-size:14px}.tb-btn .chev{font-size:8px;color:var(--text-2);margin-left:2px}.history{display:flex;gap:2px}[data-tip]:hover:after{content:attr(data-tip);position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%);background:var(--bg-tip);border:1px solid var(--line-strong);color:var(--text-1);font-size:11px;font-weight:500;padding:4px 8px;white-space:nowrap;z-index:60;pointer-events:none}.seg{position:relative;display:flex;background:var(--bg-0);border:1px solid var(--line);height:28px}.seg button{background:transparent;color:var(--text-2);border:none;padding:0 10px;font-size:10px;font-weight:700;font-family:inherit;cursor:pointer;border-radius:var(--r-2)}.seg button:hover{color:var(--text-1)}.seg button.active{background:var(--accent);color:var(--on-accent)}.menu-wrap{position:relative}.menu{position:absolute;top:32px;left:0;z-index:70;min-width:170px;background:var(--bg-2);border:1px solid var(--line-strong);box-shadow:0 8px 24px #00000080;display:flex;flex-direction:column;padding:4px 0}.menu.right{left:auto;right:0}.menu button{display:flex;justify-content:space-between;align-items:center;gap:16px;background:none;color:var(--text-1);border:none;padding:7px 12px;font-size:11px;font-family:inherit;text-align:left;cursor:pointer}.menu button:hover:not(:disabled){background:var(--accent);color:var(--on-accent)}.menu button:hover:not(:disabled) em{color:var(--on-accent)}.menu button em{font-style:normal;color:var(--text-2);font-size:10px}.body{display:flex;flex:1;min-height:0}.canvas-wrap{flex:1;min-width:0;min-height:0;position:relative}.canvas-host{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-0);overflow:hidden}.toolrail{width:40px;flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:10px;background:var(--bg-1);border-right:1px solid var(--line)}.toolrail button{position:relative;width:30px;height:30px;background:transparent;border:none;border-radius:var(--r-2);color:var(--text-1);font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center}.toolrail button:hover{background:var(--hover-strong);color:var(--text-1)}.toolrail [data-tip]:hover:after{top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.canvas-toast{position:absolute;left:50%;bottom:26px;transform:translate(-50%);background:var(--bg-tip);border:1px solid var(--accent);color:var(--text-1);font-size:11px;font-weight:600;padding:7px 14px;pointer-events:none;z-index:40;white-space:nowrap}.inline-bar{position:absolute;z-index:45;display:flex;align-items:center;gap:3px;padding:4px 5px;background:var(--bg-2);border:1px solid var(--line-strong);box-shadow:0 6px 18px #0000008c;white-space:nowrap}.ib-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:5px;min-width:24px;height:24px;padding:0 4px;background:transparent;border:none;border-radius:var(--r-2);color:var(--text-1);font-size:11px;font-weight:600;font-family:inherit;cursor:pointer}.ib-btn:hover{background:var(--hover-strong);color:var(--text-1)}.ib-btn.wide{padding:0 8px}.ib-btn.danger:hover{background:var(--danger)}.ib-group{display:flex;gap:1px}.ib-sep{width:1px;height:16px;background:#333;margin:0 2px}.ib-count{color:var(--text-2);font-size:10px;font-weight:700;padding:0 4px}.ib-size input{width:42px;height:24px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-2);color:var(--text-1);font-size:11px;font-family:inherit;text-align:center}.ib-size input:focus{outline:none;border-color:var(--accent)}.ib-swatch-wrap{position:relative}.ib-swatch{width:12px;height:12px;border:1px solid var(--line-strong);display:block}.ib-pop{position:absolute;top:30px;left:50%;transform:translate(-50%);background:var(--bg-2);border:1px solid var(--line-strong);box-shadow:0 6px 18px #0000008c;padding:5px;z-index:46}.ib-pop input{width:76px;height:24px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-2);color:var(--text-1);font-size:11px;font-family:inherit;text-align:center}.inline-bar [data-tip]:hover:after{top:calc(100% + 6px)}.canvas-host canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0}.panel{width:240px;flex:none;background:var(--bg-1);color:var(--text-1);font-size:11px;overflow-y:auto;padding:8px 0 24px}.panel::-webkit-scrollbar{width:6px}.panel::-webkit-scrollbar-thumb{background:#ffffff24}.panel::-webkit-scrollbar-track{background:transparent}.panel.inspector{width:240px;border-left:1px solid var(--line);padding:8px 12px 24px}.panel-title{font-size:11px;font-weight:600;letter-spacing:.5px;color:var(--text-2);padding:6px 12px 10px}.panel.inspector .panel-title{padding-left:0}.board-group{margin-bottom:2px}.board-row{display:flex;align-items:center;gap:6px;height:28px;padding:0 10px 0 6px;cursor:pointer;color:var(--text-1);font-weight:600}.chev-btn{background:none;border:none;color:var(--text-2);width:14px;font-size:8px;font-family:inherit;cursor:pointer;padding:0}.board-size{color:var(--text-3);font-size:10px;font-weight:400;white-space:nowrap}.board-row{min-width:0}.board-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-row .board-size,.board-row .custom-chip,.board-row .master-chip{flex:none}.custom-chip~.master-chip{margin-left:0}.master-chip{margin-left:auto;color:var(--accent);font-size:9px;font-weight:800;letter-spacing:1px}.custom-chip{margin-left:auto;color:var(--text-3);font-size:9px;font-weight:800;letter-spacing:1px}.custom-chip~.chain{margin-left:0}.board-more{background:none;border:none;color:var(--text-2);cursor:pointer;padding:0;width:16px;height:16px;flex:none;display:inline-flex;align-items:center;justify-content:center;opacity:0}.board-row:hover .board-more,.board-row:focus-within .board-more{opacity:1}.board-more:hover{color:var(--text-1)}.board-rename{flex:1;min-width:0;height:22px;padding:0 6px;font:inherit;font-weight:600;color:var(--text-1);background:var(--bg-0);border:1px solid var(--accent);border-radius:var(--r-1);outline:none}.layer-row{display:flex;align-items:center;gap:7px;height:26px;padding:0 10px 0 26px;cursor:pointer;color:var(--text-1)}.layer-row.selected{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent);color:var(--text-1)}.layer-icon{width:14px;text-align:center;color:var(--text-2);font-size:10px;flex:none}.layer-name{flex:1;min-width:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-row.hidden-row .layer-name{color:var(--text-3);text-decoration:line-through}.off-badge{flex:none;max-width:108px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;letter-spacing:.02em;color:var(--text-3);border:1px solid var(--line);border-radius:2px;padding:0 4px;line-height:14px}.eye{background:none;border:none;color:var(--text-2);cursor:pointer;font-size:9px;padding:0;width:14px;flex:none;visibility:hidden}.layer-row:hover .eye,.layer-row.hidden-row .eye,.board-row:hover .eye,.board-row.hidden-row .eye{visibility:visible}.board-row .eye{margin-left:auto}.chain{background:none;border:none;color:var(--text-2);cursor:pointer;padding:0;width:16px;height:14px;flex:none;margin-left:auto;visibility:hidden;display:inline-flex;align-items:center;justify-content:center}.board-row:hover .chain{visibility:visible}.chain:hover{color:var(--text-1)}.chain.on{visibility:visible;color:var(--warn)}.board-row .chain+.eye{margin-left:0}.board-row.hidden-row .board-name,.board-row.hidden-row .board-size{color:var(--text-3);text-decoration:line-through}.ov-dot{width:6px;height:6px;background:var(--warn);border-radius:50%;flex:none}.sel-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;color:var(--text-1)}.sel-head b{font-size:12px;font-weight:700}.sel-head span{color:var(--text-2);font-size:10px}.ov-chip{display:flex;align-items:center;gap:6px;background:var(--warn-soft);border:1px solid var(--warn-line);color:var(--warn);font-size:10px;font-weight:600;padding:5px 8px;margin-bottom:10px}.ov-chip i{width:6px;height:6px;background:var(--warn);border-radius:50%}.ov-chip button{margin-left:auto;background:none;border:none;color:var(--warn);font-size:10px;font-weight:700;font-family:inherit;cursor:pointer;text-decoration:underline}.section{border-top:1px solid var(--line);padding:10px 0 12px}.section-title{font-size:11px;font-weight:600;color:var(--text-2);margin-bottom:8px}.prop-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:6px}.prop{display:flex;align-items:center;height:26px;background:var(--bg-2);border:1px solid transparent}.prop.ro{opacity:.55}.prop b{flex:none;min-width:20px;padding-left:7px;font-size:9px;font-weight:600;color:var(--text-2)}.prop b.scrub{cursor:ew-resize}.prop b.tail{padding-right:7px;padding-left:0}.prop input,.prop textarea{flex:1;min-width:0;background:transparent;border:none;color:var(--text-1);font-size:11px;font-family:inherit;padding:0 7px 0 4px;outline:none;resize:none}.prop.text-cell{height:auto;min-height:26px;margin-bottom:6px}.prop.text-cell textarea{padding:6px 7px 6px 4px;line-height:1.4}.prop.color-cell{margin-bottom:6px}.swatch{flex:none;width:14px;height:14px;margin-left:6px;border:1px solid var(--line-strong)}.swatch-btn{padding:0;border-radius:3px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swatch-btn:hover,.swatch-btn.on{box-shadow:0 0 0 2px var(--hover-strong)}.swatch-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cp-pop{position:fixed;z-index:200;width:232px;padding:10px;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:10px;box-shadow:0 12px 32px #00000080;display:flex;flex-direction:column;gap:10px;touch-action:none}.cp-field{position:relative;height:150px;border-radius:6px;cursor:crosshair;overflow:hidden}.cp-field-white,.cp-field-black{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.cp-field-white{background:linear-gradient(to right,#fff,#fff0)}.cp-field-black{background:linear-gradient(to top,#000,#0000)}.cp-knob,.cp-hue-knob{position:absolute;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #00000059,0 1px 3px #0006;transform:translate(-50%,-50%);pointer-events:none}.cp-hue{position:relative;height:12px;border-radius:6px;cursor:pointer;background:linear-gradient(to right,red,#ff0 16.7%,#0f0 33.3%,#0ff,#00f 66.7%,#f0f 83.3%,red)}.cp-hue-knob{top:50%;background:transparent}.cp-field:focus-visible,.cp-hue:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cp-row{display:flex;align-items:center;gap:8px}.cp-now{flex:none;width:22px;height:22px;border-radius:5px;border:1px solid var(--line-strong)}.cp-hex{flex:1;min-width:0;height:26px;padding:0 8px;background:var(--bg-0);border:1px solid var(--line);border-radius:var(--r-2);color:var(--text-1);font:500 11px/1 var(--font-ui);font-variant-numeric:tabular-nums}.cp-hex:focus{outline:none;border-color:var(--accent)}.cp-drop{flex:none;width:26px;height:26px;display:grid;place-items:center;background:transparent;border:1px solid var(--line-strong);border-radius:var(--r-2);color:var(--text-1);cursor:pointer}.cp-drop:hover{background:var(--hover-strong)}.hint-line{color:var(--text-3);font-size:10px;margin-top:2px}.mode-row{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-3);font-size:10px;margin-top:2px}.mode-row button{background:var(--bg-2);border:none;border-radius:var(--r-2);color:var(--text-1);font-size:10px;font-weight:600;font-family:inherit;padding:3px 8px;cursor:pointer}.mode-row button:hover{background:var(--accent);color:var(--on-accent)}.empty-note{color:var(--text-2);padding:4px 0;line-height:1.7}.fit-toggle{display:flex;gap:2px;background:var(--bg-0);padding:2px;margin-bottom:6px}.fit-toggle button{flex:1;background:transparent;border:none;color:var(--text-2);font-size:11px;font-weight:600;font-family:inherit;padding:5px 0;cursor:pointer}.fit-toggle button.active{background:var(--accent);color:var(--on-accent);cursor:default}.fit-toggle button:not(.active):hover{background:var(--hover-strong);color:var(--text-1)}.bg-switch-row{margin-top:16px;gap:12px;align-items:center}.bg-switch-row b{flex:1;min-width:0;line-height:1.35}.bg-switch-row .fx-switch{flex:none}.bg-slot{margin-top:8px}.bg-slot-head{display:flex;align-items:baseline;gap:6px;margin-bottom:4px}.bg-slot-head b{font-size:11px;font-weight:600;color:var(--text-1)}.bg-slot-head span{font-size:10px;color:var(--text-3)}.bg-slot-body{display:flex;align-items:center;gap:8px}.bg-slot-thumb{flex:none;width:44px;height:44px;border:1px solid var(--line);background-size:cover;background-position:center}.bg-slot-thumb.empty{border-style:dashed}.bg-slot-actions{flex:1;min-width:0;display:flex;gap:6px}.bg-slot-actions .replace-btn{margin-top:0;flex:1}.bg-slot-actions .replace-btn:disabled{opacity:.45;cursor:default}.bg-slot-actions .replace-btn:disabled:hover{border-color:transparent}.fx-switch input:disabled{cursor:default}.fx-switch input:disabled+i{opacity:.45}.board-chips{display:flex;gap:2px;margin-bottom:6px}.board-chip{flex:1;min-width:0;background:var(--bg-0);border:1px solid transparent;color:var(--text-3);font-size:10px;font-weight:600;font-family:inherit;padding:5px 0;cursor:pointer}.board-chip.on{background:var(--bg-2);color:var(--accent-text)}.board-chip:not(:disabled):hover{border-color:var(--accent)}.board-chip:disabled{cursor:default;opacity:.75}.board-chip:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.replace-btn{display:block;width:100%;margin-top:8px;background:var(--bg-2);color:var(--accent-text);border:1px solid transparent;padding:7px 0;font-size:11px;font-weight:600;cursor:pointer;text-align:center}.replace-btn:hover{border-color:var(--accent)}.danger-btn{width:100%;margin-top:12px;background:var(--bg-2);color:var(--danger);border:1px solid transparent;padding:7px 0;font-size:11px;font-weight:600;font-family:inherit;cursor:pointer;border-radius:var(--r-2)}.danger-btn:hover{border-color:var(--danger)}.text-editor{position:absolute;z-index:10;background:var(--bg-2);color:var(--text-1);border:1px solid var(--accent);border-radius:var(--r-2);padding:2px 6px;outline:none;line-height:1.05;resize:none;overflow:hidden;display:block;white-space:pre;font-family:inherit}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:200}.three-modal{width:min(960px,calc(100vw - 80px));height:min(640px,calc(100vh - 80px));background:var(--bg-2);border:1px solid var(--line);display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;gap:12px;height:40px;padding:0 12px;border-bottom:1px solid var(--line);flex:none}.modal-title{font-family:var(--font-brand);font-weight:700;font-size:14px;letter-spacing:1.5px;color:var(--text-1)}.modal-status{flex:1;color:var(--text-2);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-body{display:flex;flex:1;min-height:0}.three-viewport{flex:1;min-width:0;position:relative;overflow:hidden}.three-viewport canvas{display:block;width:100%!important;height:100%!important}.three-viewport.checker{background-image:linear-gradient(45deg,#16171a 25%,transparent 25%),linear-gradient(-45deg,#16171a 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#16171a 75%),linear-gradient(-45deg,transparent 75%,#16171a 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0;background-color:var(--bg-0)}.three-controls{width:220px;flex:none;border-left:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.three-controls .tb-btn{border:1px solid var(--line);text-align:center}.three-presets{display:flex;gap:4px}.three-presets .tb-btn{flex:1;padding:0 4px}.file-btn{display:flex;align-items:center;justify-content:center}.cutout-btn{width:100%;border:1px solid var(--line)}.cutout-btn.active{border-color:var(--accent);color:var(--accent)}.three-controls input[type=range]{width:100%;accent-color:var(--accent)}.three-hint{color:var(--text-2);font-size:10px;line-height:1.5;margin-top:auto}.place-btn{background:var(--accent);color:var(--on-accent);height:34px}.place-btn:hover:not(:disabled){background:var(--accent-hover);color:var(--text-1)}.gen-src{display:flex;align-items:center;gap:8px;height:40px;padding:4px 10px}.gen-src img{width:30px;height:30px;object-fit:cover;border:1px solid var(--line-strong)}.gen-status{font-size:10px;color:var(--text-2);border:1px solid var(--line);background:var(--bg-1);padding:6px 8px;line-height:1.5}.gen-status.error{color:var(--warn);border-color:var(--warn-line)}.track-seg{height:26px}.track-seg button{font-size:10px;padding:0 8px}.mode-btn{position:relative}.mode-btn.rec:after{content:"";position:absolute;top:4px;right:4px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.mode-btn.rec.active:after{background:#fff}.mode-btn:disabled{opacity:.45}.align-row{display:flex;justify-content:space-between;gap:2px;padding:2px 0 10px;border-bottom:1px solid var(--line);margin-bottom:10px}.align-btn{flex:1;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--r-2);color:var(--text-2);cursor:pointer}.type-row{display:flex;gap:6px;margin-bottom:6px}.weight-select{flex:1;height:26px;background:var(--bg-2);color:var(--text-1);border:1px solid transparent;border-radius:var(--r-2);font-family:inherit;font-size:11px;padding:0 6px}.weight-select:focus{outline:none;border-color:var(--accent)}.ta-toggle{display:flex;background:var(--bg-2);height:26px}.ta-toggle button{width:26px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--r-2);color:var(--text-2);cursor:pointer}.ta-toggle button:hover{color:var(--text-1)}.ta-toggle button.active{background:var(--accent);color:var(--on-accent)}.layer-row.dragging{opacity:.4}.layer-row.drop-above{box-shadow:inset 0 2px 0 var(--accent)}.layer-row.drop-below{box-shadow:inset 0 -2px 0 var(--accent)}.layer-row.selected.drop-above{box-shadow:inset 0 2px 0 var(--accent),inset 2px 0 0 var(--accent)}.layer-row.selected.drop-below{box-shadow:inset 0 -2px 0 var(--accent),inset 2px 0 0 var(--accent)}.rename-input{flex:1;min-width:0;height:20px;background:var(--bg-2);border:1px solid var(--accent);border-radius:var(--r-2);color:var(--text-1);font-family:inherit;font-size:11px;padding:0 4px}.rename-input:focus{outline:none}.ctx-menu{position:fixed;z-index:90;min-width:150px;background:var(--bg-2);border:1px solid var(--line-strong);box-shadow:0 8px 24px #00000080;display:flex;flex-direction:column;padding:4px 0}.ctx-menu button{display:flex;justify-content:space-between;align-items:center;gap:16px;background:none;color:var(--text-1);border:none;border-radius:var(--r-2);padding:7px 12px;font-size:11px;font-family:inherit;text-align:left;cursor:pointer}.ctx-menu button:hover:not(:disabled){background:var(--accent);color:var(--on-accent)}.ctx-menu button:disabled{color:var(--text-3);cursor:default}.ctx-menu button em{font-style:normal;color:var(--text-2);font-size:10px}.ctx-menu button:hover:not(:disabled) em{color:var(--on-accent)}.doc-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-1);font-weight:600;background:none;border:1px solid transparent;padding:4px 6px;font-size:11px;font-family:inherit;cursor:text;border-radius:var(--r-2)}.doc-name:hover{border-color:var(--line)}.doc-name-input{width:160px;background:var(--bg-2);border:1px solid var(--accent);color:var(--text-1);font-size:11px;font-weight:600;font-family:inherit;padding:4px 6px;border-radius:var(--r-2);outline:none}.save-state{font-size:10px;color:var(--text-3);min-width:52px}.save-state.saved{color:var(--ok)}.save-state.offline{color:var(--warn)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:120;display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:11px}.signin{width:340px;background:var(--bg-2);border:1px solid var(--line-strong);box-shadow:0 12px 40px #0009;padding:16px;color:var(--text-1)}.signin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.signin-head b{letter-spacing:1px}.signin-note{font-size:11px;color:var(--text-2);line-height:1.5;margin-bottom:12px}.signin-input{width:100%;height:30px;background:var(--bg-2);border:1px solid var(--line);color:var(--text-1);padding:0 10px;font-family:inherit;font-size:12px;margin-bottom:10px;border-radius:var(--r-2)}.signin-input:focus{outline:none;border-color:var(--accent)}.signin-send{width:100%;height:30px;background:var(--accent);color:var(--on-accent);border:none;font-family:inherit;font-size:11px;font-weight:700;cursor:pointer;border-radius:var(--r-2)}.signin-send:disabled{opacity:.6;cursor:default}.signin-error{margin-top:8px;font-size:11px;color:var(--warn)}.dash-sub{color:var(--text-3);font-size:11px;font-weight:600}.dash-email{color:var(--text-2);font-size:11px}.dash-body{flex:1;overflow-y:auto;padding:24px}.role-row{display:flex;align-items:center;gap:8px;margin:0 0 10px}.role-row b{font-size:10px;font-weight:600;color:var(--text-2)}.role-row .weight-select{flex:1}.dash-loading{color:var(--text-3);font-size:11px;align-self:center}.page-note{height:100%;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--text-2);font-family:var(--font-ui);font-size:12px;background:var(--bg-0)}.confirm-card{width:360px}.confirm-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:12px}.psd-bar{height:4px;border-radius:2px;background:var(--line);overflow:hidden}.psd-bar-fill{height:100%;width:0;border-radius:2px;background:var(--accent);transition:width .12s linear}.psd-bar-fill.waiting{width:34%;animation:psd-bar-slide 1.1s ease-in-out infinite}@keyframes psd-bar-slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}@media (prefers-reduced-motion: reduce){.psd-bar-fill.waiting{animation:none;width:100%;opacity:.4}}.psd-import{transition:border-color var(--dur) var(--ease)}.psd-import-over{border-color:var(--accent)}.psd-report{width:460px;max-width:calc(100vw - 32px)}.psd-report-body{max-height:min(56vh,460px);overflow-y:auto}.psd-sec{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.psd-sec h4{font-size:11px;font-weight:600;color:var(--text-1);margin:0 0 6px}.psd-sec ul{margin:0;padding-left:16px;font-size:11px;line-height:1.6;color:var(--text-2)}.psd-sec ul b{color:var(--text-1);font-weight:500}.confirm-primary{background:var(--accent);color:var(--on-accent)}.confirm-primary:hover:not(:disabled){background:var(--accent-hover);color:var(--text-1)}.confirm-primary.danger{background:var(--danger)}.confirm-primary.danger:hover:not(:disabled){background:var(--danger-hover);color:var(--text-1)}.confirm-primary:focus-visible{outline:1px solid #ffffff;outline-offset:1px}.confirm-actions .tb-btn.danger:not(.confirm-primary){color:var(--danger);border-color:var(--danger)}.confirm-actions .tb-btn.danger:not(.confirm-primary):hover:not(:disabled){background:var(--danger);color:var(--text-1)}.deck{width:460px;background:var(--bg-2);border:1px solid var(--line);padding:16px;box-shadow:0 16px 48px #0009}.deck-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}.deck-row .signin-input{flex:1;margin-bottom:0}.deck-check{display:flex;align-items:center;gap:8px;color:var(--text-1);font-size:11px;margin:4px 0 10px;cursor:pointer}.deck-warn{color:var(--warn);font-size:11px;font-weight:700;margin:8px 0 4px}.deck-list{margin:0 0 10px;padding-left:16px;color:var(--text-1);font-size:11px;line-height:1.7}.deck-dim{color:var(--text-3);font-size:10px;margin:4px 0 10px}.seg-add{background:transparent;color:var(--text-2);border:none;border-left:1px solid var(--line);width:24px;font-size:13px;font-family:inherit;cursor:pointer;border-radius:var(--r-2)}.seg-add:hover{color:var(--text-1);background:var(--hover-strong)}.loc-note{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:11px}.loc-note-shared{color:var(--text-2)}.loc-note-own{color:var(--text-1);letter-spacing:.3px}.loc-list{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:2px}.loc-row{display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--bg-1);border:1px solid var(--line)}.loc-row b{font-size:11px;letter-spacing:.5px}.loc-pin{color:var(--text-2);font-size:10px}.loc-tools{margin-left:auto;display:flex;gap:2px}.loc-presets{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0 10px}.deck-newloc{border:1px solid var(--warn-line);background:var(--warn-soft);padding:8px 10px;margin:8px 0}.lock-btn{height:26px;width:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--r-1);color:var(--text-3);cursor:pointer}.lock-btn:focus-visible{outline:none;border-color:var(--accent)}.prop-grid>*,.pos-row>*{min-width:0}.prop-grid .prop input{width:0;flex:1 1 0}.place-row{display:flex;gap:8px}.place-row .place-btn{flex:1}.dl-btn{height:34px;padding:0 12px;background:var(--bg-2);color:var(--text-1);white-space:nowrap}.dl-btn:hover:not(:disabled){background:var(--bg-3)}.dl-btn:disabled{opacity:.45}.font-picker{position:relative;margin-bottom:8px}.font-trigger{width:100%;height:28px;display:flex;align-items:center;gap:6px;padding:0 8px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-1);color:var(--text-1);font-size:12px;text-align:left;cursor:pointer}.font-trigger:hover{border-color:var(--line-strong)}.font-trigger.missing{border-color:var(--warn)}.font-trigger-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-trigger-caret{color:var(--text-2);font-size:10px}.font-missing-badge{font-size:10px;font-weight:600;color:var(--warn);background:var(--warn-soft);border-radius:var(--r-1);padding:1px 5px;white-space:nowrap}.font-fix-btn{margin-top:6px;width:100%;height:26px;background:var(--bg-2);color:var(--text-1);border:0;border-radius:var(--r-1);font-size:11px;cursor:pointer}.font-fix-btn:hover{background:var(--bg-3)}.font-pop{position:absolute;left:0;right:0;top:32px;z-index:60;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--r-2);box-shadow:0 12px 32px #00000080;padding:6px;display:flex;flex-direction:column;gap:6px}.font-search{width:100%;height:26px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-1);color:var(--text-1);padding:0 8px;font-size:12px;outline:none}.font-search:focus{border-color:var(--accent)}.font-actions{display:flex;flex-wrap:wrap;gap:4px}.font-action{flex:1;min-width:90px;height:24px;background:var(--bg-2);color:var(--text-1);border:0;border-radius:var(--r-1);font-size:11px;cursor:pointer;white-space:nowrap}.font-action:hover:not(:disabled){background:var(--bg-3)}.font-action:disabled{opacity:.5}.font-note{font-size:11px;color:var(--text-2);padding:2px 4px;line-height:1.35}.font-list{max-height:280px;overflow-y:auto;overscroll-behavior:contain}.font-section{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);padding:6px 6px 2px}.font-row{display:flex;align-items:center;gap:8px;height:28px;padding:0 8px;border-radius:var(--r-1);cursor:pointer;color:var(--text-1)}.font-row.active{background:var(--accent)}.font-row.current .font-row-name:after{content:" ✓";color:var(--accent-text)}.font-row-name{flex:1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-row-note{font-size:10px;color:var(--text-2)}.font-list.virtual{position:relative;max-height:320px}.font-row-note.kind{text-transform:uppercase;letter-spacing:.04em;font-size:9px;opacity:.7}.font-kit-row{display:flex;gap:6px;padding:6px 8px;align-items:center}.font-kit-row input{flex:1;min-width:0;height:26px;padding:0 8px;border-radius:var(--r-1);border:1px solid var(--line);background:var(--bg-2);color:var(--text-1);font:inherit;font-size:12px}.font-kit-row input:focus{outline:none;border-color:var(--accent)}.font-kit-row button{height:26px;padding:0 10px;border-radius:var(--r-1);border:1px solid var(--line);background:var(--bg-3);color:var(--text-1);font:inherit;font-size:12px;cursor:pointer}.font-kit-row button:hover:not(:disabled){background:var(--bg-3)}.font-kit-row button:disabled{opacity:.5;cursor:default}.font-help{padding:4px 10px 8px;font-size:11px;line-height:1.4;color:var(--text-2)}.font-help a{color:var(--accent-text)}.font-source-tabs{display:flex;gap:2px;padding:4px 6px 0;border-bottom:1px solid var(--line)}.font-source-tabs button{flex:1;height:24px;border:0;border-radius:4px 4px 0 0;background:transparent;color:var(--text-2);font:inherit;font-size:11px;cursor:pointer}.font-source-tabs button.active{color:var(--text-1);background:var(--bg-3)}.font-source-tabs button:hover:not(.active){color:var(--text-1)}.font-helper-bar{display:flex;align-items:center;gap:6px;padding:4px 10px 6px;font-size:11px;line-height:1.4;color:var(--text-2)}.font-helper-bar.on{color:#9fd39a}.font-helper-bar a{color:var(--accent-text)}.font-helper-bar .font-link{margin-left:auto;background:none;border:0;padding:0;color:var(--accent-text);font-size:11px;cursor:pointer;white-space:nowrap}.font-helper-bar .font-link:hover{text-decoration:underline}.font-fix-btn.embed{background:#2f5fd6}.font-fix-btn.embed:hover{background:#3a6ee8}.shell,.modal-scrim,.modal-backdrop,.page-note{font-family:var(--font-ui);font-size:var(--fs-1);color:var(--text-1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums}.shell button,.shell input,.shell select,.shell textarea,.modal-scrim button,.modal-scrim input,.modal-backdrop button,.modal-backdrop input,.modal-backdrop select{font-family:inherit;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),opacity var(--dur) var(--ease)}.shell button:focus-visible,.modal-scrim button:focus-visible,.modal-backdrop button:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.shell input:focus-visible,.shell select:focus-visible,.shell textarea:focus-visible,.modal-scrim input:focus-visible,.modal-backdrop input:focus-visible{outline:none}.toolbar{gap:6px;padding:4px 8px;background:var(--bg-1);border-bottom:1px solid var(--line)}.title{font-size:15px;letter-spacing:1.5px;margin:0 4px 0 2px}.tb-btn{border-radius:var(--r-2);padding:0 9px;font-weight:500;color:var(--text-1);display:inline-flex;align-items:center;justify-content:center;gap:4px}.tb-btn:hover:not(:disabled),.tb-btn.active{background:var(--hover-strong);color:var(--text-1)}.tb-btn:disabled{color:var(--text-3)}.tb-btn.icon{width:28px;font-size:12px}.tb-btn .chev{display:inline-flex;color:var(--text-3);margin-left:0}.tb-btn.lit{color:var(--accent-text)}.tb-btn.lit:hover:not(:disabled){background:var(--accent);color:var(--on-accent)}.doc-name{border-radius:var(--r-2);padding:0 8px;height:28px;font-weight:500;border-color:transparent}.doc-name:hover{background:var(--hover);border-color:transparent}.doc-name-input{border-radius:var(--r-2);height:28px;padding:0 8px;background:var(--bg-2);font-weight:500;box-shadow:var(--ring)}.save-state{font-size:var(--fs-0);color:var(--text-3)}[data-tip]:after{content:attr(data-tip);position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%);background:var(--bg-tip);border:1px solid var(--line-strong);border-radius:var(--r-2);box-shadow:0 6px 16px #00000073;color:var(--text-1);font-size:var(--fs-1);font-weight:500;padding:4px 8px;white-space:nowrap;z-index:var(--z-tip);pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--dur) var(--ease),visibility 0s linear var(--dur)}[data-tip]:hover:after{opacity:1;visibility:visible;transition-delay:.35s,0s;background:var(--bg-tip);border:1px solid var(--line-strong);color:var(--text-1)}.toolrail [data-tip]:after{top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.inline-bar [data-tip]:after{top:calc(100% + 6px)}.seg,.fit-toggle,.ta-toggle{background:var(--bg-0);border:1px solid var(--line);border-radius:var(--r-2);padding:2px;gap:2px}.seg,.ta-toggle{height:28px}.seg button,.fit-toggle button,.ta-toggle button{border-radius:var(--r-1);color:var(--text-2);font-size:var(--fs-1);font-weight:500}.seg button{padding:0 9px}.ta-toggle button{width:24px}.fit-toggle button{padding:4px 0}.seg button:hover:not(.active),.fit-toggle button:not(.active):hover,.ta-toggle button:hover:not(.active){background:var(--hover);color:var(--text-1)}.seg button.active,.fit-toggle button.active,.ta-toggle button.active{background:var(--bg-3);color:var(--text-1);box-shadow:0 1px 2px #00000059}.seg-add{border-left:none;border-radius:var(--r-1);width:22px;color:var(--text-3);font-size:13px}.seg-add:hover{background:var(--hover);color:var(--text-1)}.menu,.ctx-menu{background:var(--bg-2);border:none;border-radius:var(--r-3);box-shadow:var(--shadow-float);padding:4px;animation:float-in var(--dur) var(--ease)}.menu{top:34px}.menu button,.ctx-menu button{height:26px;padding:0 8px;border-radius:var(--r-1);font-size:var(--fs-1)}.menu button em,.ctx-menu button em{font-size:var(--fs-0);color:var(--text-3)}.ctx-menu button.danger:hover:not(:disabled){background:var(--danger)}.toolrail{width:44px;gap:2px;padding-top:8px;background:var(--bg-1);border-right:1px solid var(--line)}.toolrail button{width:32px;height:32px;border-radius:var(--r-2);color:var(--text-1);font-size:var(--fs-1);font-weight:600}.toolrail button:hover{background:var(--hover-strong)}.toolrail button.active{background:var(--accent);color:var(--on-accent)}.canvas-host{background:var(--bg-0)}.canvas-toast{background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--r-pill);box-shadow:var(--shadow-float);padding:7px 14px;font-weight:500;animation:float-in var(--dur) var(--ease)}.inline-bar{background:var(--bg-2);border:none;border-radius:var(--r-3);box-shadow:var(--shadow-float);padding:4px;gap:2px}.ib-btn{border-radius:var(--r-1);font-weight:500}.ib-btn:hover{background:var(--hover-strong)}.ib-btn.active{background:var(--accent);color:var(--on-accent)}.ib-btn.danger:hover{background:var(--danger);color:var(--on-accent)}.ib-sep{background:var(--line-strong);margin:0 3px}.ib-size input,.ib-pop input{background:var(--bg-0);border:1px solid var(--line);border-radius:var(--r-1)}.ib-size input:focus,.ib-pop input:focus{border-color:var(--accent)}.ib-swatch{border-radius:3px}.ib-pop{border:none;border-radius:var(--r-3);box-shadow:var(--shadow-float);animation:float-in var(--dur) var(--ease)}.panel{background:var(--bg-1);padding:4px 0 24px}.panel::-webkit-scrollbar-thumb,.three-controls::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.three-controls::-webkit-scrollbar{width:6px}.panel.layers{border-right:1px solid var(--line)}.panel.inspector{border-left:1px solid var(--line);padding:8px 12px 24px}.panel-title{font-size:var(--fs-1);font-weight:600;letter-spacing:0;color:var(--text-1);padding:8px 12px 6px}.board-row{height:28px;margin:0 6px;padding:0 6px 0 4px;border-radius:var(--r-1);font-weight:500;color:var(--text-1)}.board-row:hover{background:var(--hover)}.layer-row{height:26px;margin:0 6px;padding:0 6px 0 22px;border-radius:var(--r-1);color:var(--text-1)}.layer-row:hover{background:var(--hover)}.layer-row.selected{background:var(--accent-soft);box-shadow:none;color:var(--text-1)}.layer-icon{width:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-2)}.layer-row.selected .layer-icon{color:var(--accent-text)}.chev-btn,.eye,.chain{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--r-1);color:var(--text-3)}.chev-btn:hover,.eye:hover,.chain:hover{color:var(--text-1);background:var(--hover-strong)}.chain.on{color:var(--warn)}.master-chip{font-size:9px;font-weight:600;letter-spacing:.6px;color:var(--accent-text);background:var(--accent-soft);border-radius:var(--r-1);padding:1px 5px}.board-size{color:var(--text-3)}.rename-input{border-radius:var(--r-1);background:var(--bg-0);box-shadow:var(--ring);border-color:var(--accent)}.sel-head b{font-size:var(--fs-2);font-weight:600}.section{border-top:1px solid var(--line);padding:12px 0}.section-title{font-size:var(--fs-1);font-weight:600;color:var(--text-1);margin-bottom:8px}.prop-grid{gap:6px}.prop{height:28px;background:var(--bg-2);border:1px solid transparent;border-radius:var(--r-2)}.prop:hover{border-color:var(--line-field)}.prop:focus-within{border-color:var(--accent)}.prop.text-cell{min-height:28px}.prop b{min-width:22px;padding-left:8px;font-size:var(--fs-0);font-weight:500;color:var(--text-3)}.prop:focus-within b{color:var(--text-2)}.swatch{border-radius:3px;border:1px solid var(--line-strong)}.ov-chip{border-radius:var(--r-2);font-weight:500}.hint-line,.mode-row,.empty-note{color:var(--text-2)}.mode-row button,.replace-btn,.danger-btn{height:28px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-2);background:transparent;font-weight:500}.mode-row button{color:var(--text-1)}.mode-row button:hover{background:var(--hover-strong);color:var(--text-1)}.replace-btn{color:var(--text-1)}.replace-btn:hover{background:var(--hover-strong);border-color:var(--line)}.danger-btn{color:var(--danger)}.danger-btn:hover{background:var(--danger-soft);border-color:#e5484d66}.align-row{padding:4px 0 10px;border-bottom:1px solid var(--line)}.align-btn{height:26px;border-radius:var(--r-1);color:var(--text-2)}.align-btn:hover{background:var(--hover-strong);color:var(--text-1)}.weight-select{height:28px;border-radius:var(--r-2);background-color:var(--bg-2);border:1px solid transparent;color:var(--text-1);-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 24px 0 8px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%239a9ea6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;background-size:12px 12px}.weight-select:hover{border-color:var(--line-field)}.weight-select:focus{border-color:var(--accent)}.lock-btn{height:28px;border-radius:var(--r-1);color:var(--text-3)}.lock-btn:hover{background:var(--hover-strong);color:var(--text-1)}.lock-btn.on{color:var(--text-1)}.text-editor{border-radius:var(--r-1)}.modal-scrim,.modal-backdrop{background:#0607099e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade-in var(--dur) var(--ease)}.signin,.deck{background:var(--bg-1);border:none;border-radius:var(--r-4);box-shadow:var(--shadow-modal);padding:20px;animation:float-in .18s var(--ease)}.signin-head{margin-bottom:12px}.signin-head b{font-size:var(--fs-3);font-weight:600;letter-spacing:0}.signin-note{color:var(--text-2)}.signin-input{height:32px;border-radius:var(--r-2);background:var(--bg-2);border:1px solid var(--line-field);font-size:var(--fs-2)}.signin-input:hover{border-color:var(--line-strong)}.signin-input:focus{border-color:var(--accent);box-shadow:var(--ring)}.signin-send{height:32px;border-radius:var(--r-2);font-weight:600}.signin-send:hover:not(:disabled){background:var(--accent-hover)}.signin{max-width:calc(100vw - 32px);word-break:keep-all;overflow-wrap:anywhere}.signin-panel{display:flex;flex-direction:column;min-width:0}.signin-panel .signin-note{text-wrap:pretty}.signin-provider{width:100%;min-height:34px;padding:6px 12px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--bg-3);border:1px solid var(--line-strong);border-radius:var(--r-2);color:var(--text-1);font-family:inherit;font-size:var(--fs-1);font-weight:600;cursor:pointer;transition:background var(--dur) var(--ease)}.signin-provider:hover:not(:disabled){background:var(--hover-strong)}.signin-provider:focus-visible{outline:none;box-shadow:var(--ring)}.signin-provider:disabled{opacity:.6;cursor:default}.signin-gmark{flex:none}.signin-or{display:flex;align-items:center;gap:10px;margin:12px 0;color:var(--text-3);font-size:var(--fs-0)}.signin-or:before,.signin-or:after{content:"";flex:1;height:1px;background:var(--line)}.signin-panel .signin-error{margin:-2px 0 10px;line-height:1.5}.signin-input.signin-code{height:48px;padding:0 12px;font-size:24px;font-weight:600;letter-spacing:10px;text-indent:10px;text-align:center;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.signin-input.signin-code::placeholder{color:var(--text-3);opacity:.45}.signin-sub{margin:10px 0 0}.signin-links{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 12px;margin-top:6px}.signin-link{background:none;border:none;padding:4px 0;min-height:24px;font-family:inherit;font-size:var(--fs-0);color:var(--text-2);cursor:pointer;text-align:left}.signin-link:hover:not(:disabled){color:var(--text-1);text-decoration:underline}.signin-link:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-1)}.signin-link:disabled{color:var(--text-3);cursor:default;font-variant-numeric:tabular-nums}@media (max-width: 480px){.signin-input{font-size:16px}}.confirm-actions .tb-btn{height:30px;padding:0 12px;border:1px solid var(--line)}.confirm-actions .tb-btn.confirm-primary{border-color:transparent}.modal-scrim .confirm-primary:focus-visible,.modal-scrim .signin-send:focus-visible,.modal-backdrop .place-btn:focus-visible{outline:1px solid var(--on-accent);outline-offset:1px}.deck-check input[type=checkbox]{accent-color:var(--accent)}.deck-check{color:var(--text-1)}.deck-warn{font-weight:600}.loc-row{border-radius:var(--r-2);background:var(--bg-2);border:1px solid var(--line);padding:6px 10px}.loc-row b{letter-spacing:0;font-weight:600}.deck-newloc{border-radius:var(--r-2)}.loc-presets .tb-btn,.loc-tools .tb-btn{border:1px solid var(--line)}.three-modal{background:var(--bg-1);border:none;border-radius:var(--r-4);box-shadow:var(--shadow-modal);overflow:hidden;animation:float-in .18s var(--ease)}.modal-head{height:44px;border-bottom:1px solid var(--line)}.modal-title{font-family:var(--font-ui);font-size:var(--fs-3);font-weight:600;letter-spacing:0}.modal-status{color:var(--text-2)}.modal-status.error{color:var(--warn)}.three-viewport.checker{background-image:linear-gradient(45deg,#15161a 25%,transparent 25%),linear-gradient(-45deg,#15161a 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#15161a 75%),linear-gradient(-45deg,transparent 75%,#15161a 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;background-color:var(--bg-0)}.three-controls{width:236px;border-left:1px solid var(--line);gap:10px}.three-controls .panel-title{padding:2px 0 0}.three-controls .tb-btn{border:1px solid var(--line);border-radius:var(--r-2);background:var(--bg-2);color:var(--text-1)}.three-controls .tb-btn:hover:not(:disabled){background:var(--bg-3);border-color:var(--line-strong)}.three-controls .tb-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.three-controls .cutout-btn.active{color:var(--accent-text)}.three-controls .seg .tb-btn,.three-controls .seg button{border:none;background:transparent}.three-controls .seg button.active{background:var(--bg-3);color:var(--text-1)}.gen-src img{border-radius:var(--r-1);border:1px solid var(--line)}.gen-status{border-radius:var(--r-2);background:var(--bg-2);border:1px solid var(--line);color:var(--text-2)}.three-hint{color:var(--text-3)}.three-controls .place-btn{background:var(--accent);border-color:transparent;color:var(--on-accent);height:32px;font-weight:600}.three-controls .place-btn:hover:not(:disabled){background:var(--accent-hover);border-color:transparent}.three-controls .dl-btn{height:32px;background:var(--bg-2)}.three-controls input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:16px;background:transparent;margin:0}.three-controls input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:var(--bg-3)}.three-controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;margin-top:-4.5px;border-radius:50%;background:var(--text-1);border:2px solid var(--bg-1);box-shadow:0 0 0 1px var(--line-strong)}.three-controls input[type=range]:focus-visible{outline:none}.three-controls input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--accent)}.three-controls input[type=range]::-moz-range-track{height:3px;border-radius:2px;background:var(--bg-3)}.three-controls input[type=range]::-moz-range-thumb{width:8px;height:8px;border-radius:50%;background:var(--text-1);border:2px solid var(--bg-1);box-shadow:0 0 0 1px var(--line-strong)}.dash-body{padding:32px 24px}.dash-sub{color:var(--text-2);font-weight:500}.dash-email,.dash-loading{color:var(--text-3)}.page-note{background:var(--bg-0);color:var(--text-2);font-size:var(--fs-2)}.menu{min-width:190px}.menu button,.ctx-menu button{white-space:nowrap}.three-controls .panel-title{font-size:var(--fs-1);font-weight:500;color:var(--text-2);padding:4px 0 0}.cascade-rows{display:flex;flex-direction:column;gap:2px}.cascade-row{display:grid;grid-template-columns:38px 52px 44px 1fr;align-items:center;gap:6px;height:26px;padding:0 6px;border-radius:var(--r-2);font-size:var(--fs-0);color:var(--text-2);font-variant-numeric:tabular-nums;cursor:default}.cascade-row:hover{background:var(--hover-strong);color:var(--text-1)}.cascade-row.current{background:var(--accent-soft);color:var(--text-1)}.cascade-row .cascade-board{font-weight:600;color:var(--text-1)}.cascade-row .cascade-shift{color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cascade-badge{display:inline-flex;align-items:center;justify-content:center;height:16px;padding:0 6px;border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.02em;background:var(--bg-2);color:var(--text-2);border:1px solid var(--line)}.cascade-badge.anchor{color:var(--accent-text);border-color:var(--accent-soft-strong);background:var(--accent-soft)}.cascade-badge.scaled,.cascade-badge.fit{color:var(--text-1)}.cascade-badge.manual{color:var(--warn);border-color:var(--warn-line);background:var(--warn-soft)}.cascade-badge.detached{color:var(--danger);border-color:var(--danger-soft);background:var(--danger-soft)}.cascade-actions{display:flex;gap:6px;margin-top:8px}.cascade-wide{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.cascade-wide-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:var(--fs-0);color:var(--text-1);font-weight:600}.cascade-wide-auto{font-weight:500;color:var(--text-3)}.cascade-wide-seg{width:100%;border-radius:var(--r-2);overflow:hidden}.cascade-wide-seg button{flex:1;padding:0 4px}.cascade-link{border:none;background:none;padding:0;color:var(--accent-text);font:inherit;cursor:pointer;text-decoration:underline}.cascade-actions button{flex:1;height:28px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-2);background:transparent;color:var(--text-1);font-weight:500;font-size:var(--fs-0)}.cascade-actions button:hover:not(:disabled){background:var(--hover-strong)}.cascade-actions button:disabled{color:var(--text-3);cursor:default}.cascade-actions button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-soft-strong);color:var(--accent-text)}.cascade-note{margin-top:6px;font-size:var(--fs-0);color:var(--text-3);line-height:1.4}.align-btn:disabled{opacity:.35;cursor:default}.align-btn:disabled:hover{background:transparent;color:var(--text-2)}.align-sep{width:1px;height:14px;align-self:center;background:var(--line-strong);margin:0 2px}.safe-chips{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.safe-chip{display:flex;align-items:center;gap:6px;width:100%;text-align:left;background:var(--warn-soft);border:1px solid var(--warn-line);border-radius:var(--r-1);color:var(--warn);font-family:inherit;font-size:var(--fs-0);font-weight:600;line-height:1.3;padding:5px 8px;cursor:pointer;transition:background var(--dur) var(--ease)}.safe-chip:hover{background:var(--warn-line)}.safe-chip i{flex:none;width:6px;height:6px;background:var(--warn);border-radius:50%}.safe-chip-more{color:var(--text-3);font-size:var(--fs-0);padding:0 8px}.style-select-wrap{position:relative;flex:1;display:flex;align-items:center;min-width:0}.style-select-wrap .style-select{flex:1;min-width:0}.style-select-wrap.synth .style-select{border-color:var(--warn, #d9822b);color:var(--warn, #d9822b)}.style-synth-fix{position:absolute;right:26px;top:50%;transform:translateY(-50%);width:16px;height:16px;border-radius:50%;border:none;background:var(--warn, #d9822b);color:#0f1012;font-size:11px;font-weight:700;line-height:16px;padding:0;cursor:pointer}.font-row-expand{flex:none;width:18px;height:18px;margin-left:4px;border:none;border-radius:var(--r-1);background:transparent;color:var(--text-3);font-size:10px;cursor:pointer}.font-row-expand:hover{background:var(--hover-strong);color:var(--text-1)}.font-row.expanded{background:var(--bg-2)}.font-face-row{padding-left:22px;background:var(--bg-2)}.font-face-row .font-row-name{font-size:13px}.loc-section{margin:10px 0 4px}.loc-cells{margin-left:6px;padding:0 5px;border-radius:999px;background:var(--accent-soft, rgba(46, 107, 255, .18));color:var(--text-2, #c9ccd1);font-size:10px;font-variant-numeric:tabular-nums}.auto-role-wrap{position:relative;flex:none;display:inline-flex;align-items:center}.auto-role{background:none;border:none;padding:0 2px;font:inherit;font-size:10px;color:var(--text-3);text-decoration:underline dotted;text-underline-offset:3px;cursor:pointer;white-space:nowrap}.auto-role:hover,.auto-role:focus-visible{color:var(--text-1);outline:none}.auto-role i{font-style:normal;margin-left:3px;padding:0 4px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font-size:9px;font-weight:700}.role-pop{position:absolute;top:calc(100% + 4px);right:0;z-index:30;display:flex;flex-direction:column;min-width:132px;padding:4px;background:var(--bg-1);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-float)}.role-pop button{background:none;border:none;border-radius:6px;padding:5px 8px;text-align:left;font:inherit;font-size:11px;color:var(--text-1);cursor:pointer}.role-pop button:hover{background:var(--hover)}.role-pop button.current{color:var(--accent-text)}.add-size-clip{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:4}.add-size{position:absolute;left:0;top:0;width:44px;height:44px;z-index:4;pointer-events:none;will-change:transform}.add-size-card{pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;padding:0;background:transparent;border:1px dashed var(--line-strong);border-radius:6px;color:var(--text-2);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.add-size.pinned{left:auto;top:auto;right:16px;bottom:16px;width:auto;height:auto;transform:none}.add-size-card.pinned{flex-direction:row;gap:6px;width:auto;height:32px;padding:0 12px 0 10px;background:var(--bg-1);border-radius:var(--r-pill);box-shadow:var(--shadow-float);white-space:nowrap}.add-size-card.pinned .add-size-plus{font-size:16px}.add-size-card:hover,.add-size-card.open{border-color:var(--accent);color:var(--text-1);background:var(--accent-soft)}.add-size-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.add-size-plus{font-size:20px;font-weight:400;line-height:1}.add-size-card.compact .add-size-plus{font-size:16px}.add-size-menu{position:fixed;z-index:60;font-family:var(--font-ui);display:flex;flex-direction:column;padding:4px;background:var(--bg-1);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-float)}.add-size-menu button{display:flex;align-items:baseline;justify-content:space-between;gap:16px;background:none;border:none;border-radius:6px;padding:7px 9px;text-align:left;font:inherit;font-size:12px;color:var(--text-1);cursor:pointer}.add-size-menu button:hover,.add-size-menu button:focus-visible{background:var(--hover);outline:none}.add-size-ratio{font-weight:600}.add-size-dims{color:var(--text-2);font-variant-numeric:tabular-nums}.add-size-menu .add-size-custom{margin-top:4px;border-top:1px solid var(--line);border-radius:0 0 6px 6px;padding-top:9px}.add-size-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;color:var(--text-1)}.add-size-fields{display:flex;align-items:center;gap:6px;margin-bottom:12px}.add-size-side{flex:none;display:flex;align-items:center;width:92px;height:30px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-2)}.add-size-side:hover{border-color:var(--line-field)}.add-size-side:focus-within{border-color:var(--accent)}.add-size-tag{flex:none;width:24px;align-self:stretch;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--text-3);cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none}.add-size-side input{flex:1;min-width:0;height:100%;background:none;border:none;outline:none;color:var(--text-1);font:inherit;font-size:var(--fs-1);font-variant-numeric:tabular-nums;padding:0 8px 0 0}.add-size-side input::placeholder,.add-size-dialog .signin-input::placeholder{color:var(--text-3)}.add-size-times{color:var(--text-3);font-size:var(--fs-1)}.add-size-dialog .add-size-label{flex:1;min-width:0;margin:0 0 0 6px;background:var(--bg-1)}.add-size-presets{flex:1 1 auto;min-height:120px;max-height:44vh;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding:2px 10px 8px;margin-bottom:12px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-2)}.add-size-group{display:contents}.add-size-group-head{grid-column:1 / -1;margin:10px 0 4px;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.add-size-preset{display:flex;align-items:center;gap:8px;min-width:0;height:26px;font-size:var(--fs-1);cursor:pointer}.add-size-preset input{flex:none;margin:0;accent-color:var(--accent)}.add-size-preset-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-size-preset.have{color:var(--text-3);cursor:default}.add-size-preset.have .add-size-dims{color:var(--text-3);font-size:var(--fs-0)}.add-size-dialog .add-size-paste{height:auto;min-height:52px;padding:8px 10px;margin-bottom:0;resize:vertical;line-height:1.5;background:var(--bg-1)}.add-size-rejected{margin:6px 0 0;font-size:var(--fs-0);color:var(--danger)}.add-size-even{margin:6px 0 0;font-size:var(--fs-0);color:var(--text-2)}@media (max-width: 480px){.add-size-fields{flex-wrap:wrap}.add-size-dialog .add-size-label{flex-basis:100%;margin:6px 0 0}.add-size-presets{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.add-size-card{transition:none}}.role-row .role-confirm{flex:none;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--accent-soft);color:var(--accent-text);font:inherit;font-size:10px;font-weight:600;cursor:pointer}.role-row .role-confirm:hover{border-color:var(--accent)}.role-why{margin:-6px 0 10px;font-size:10px;line-height:1.4;color:var(--text-3)}.role-ask{display:flex;flex-direction:column;gap:6px;margin:0 0 10px}.role-ask-q{font-size:10px;color:var(--text-2)}.role-ask-opts{display:flex;gap:6px;flex-wrap:wrap}.role-ask-opt{padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--bg-2, var(--bg-1));color:var(--text-1);font:inherit;font-size:11px;cursor:pointer}.role-ask-opt:hover{border-color:var(--accent)}.dash-tenant-tag{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);border:1px solid var(--line);border-radius:999px;padding:2px 7px;margin-left:6px}.dash-ws-switch{background:var(--bg-1);color:var(--text-1);border:1px solid var(--line);border-radius:6px;font:inherit;font-size:12px;padding:4px 8px;margin-right:8px}.dash-notice{margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg-1);color:var(--text-2);font-size:13px;max-width:720px}.dash-notice b{color:var(--text-1);margin-right:4px}.ag-meter-seat{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);border:1px solid var(--line);border-radius:999px;padding:3px 9px}.panel-tabs{display:flex;gap:2px;padding:6px 0 8px;border-bottom:1px solid var(--line);margin-bottom:8px}.panel-tabs button{flex:1;height:26px;border:0;border-radius:var(--r-2);background:transparent;color:var(--text-2);font-size:var(--fs-2);font-weight:500;cursor:pointer}.panel-tabs button:hover{background:var(--hover);color:var(--text-1)}.panel-tabs button.active{background:var(--bg-3);color:var(--text-1);font-weight:600}.panel-tabs button:focus-visible{outline:none;box-shadow:var(--ring)}.cascade-status{display:flex;align-items:center;gap:6px;width:100%;height:24px;padding:0 6px;margin-bottom:4px;border:0;border-radius:var(--r-1);background:transparent;color:var(--text-2);font-size:var(--fs-1);cursor:pointer}.cascade-status:hover{background:var(--hover);color:var(--text-1)}.cascade-status i{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}.cascade-status-go{margin-left:auto;color:var(--accent-text)}.anchor-line{font-size:var(--fs-1);color:var(--text-2);padding:8px 0 10px}.blend-select{min-width:0}.panel{scrollbar-gutter:stable}.panel::-webkit-scrollbar{width:5px}.panel.inspector,.panel.inspector *{line-height:16px}.panel.inspector{font-size:var(--fs-1)}.panel.inspector button,.panel.inspector input,.panel.inspector select,.panel.inspector textarea{font-family:inherit;font-size:var(--fs-1);line-height:16px;font-variant-numeric:tabular-nums}.panel.inspector .panel-title{font-size:var(--fs-2);line-height:20px;font-weight:600;padding:4px 0 8px}.panel.inspector .sel-head{align-items:baseline;margin-bottom:10px}.panel.inspector .sel-head b{font-size:var(--fs-2);line-height:20px;font-weight:600}.panel.inspector .sel-head span{font-size:var(--fs-0);line-height:20px;color:var(--text-2)}.panel.inspector .section{padding:12px 0}.panel.inspector .section-title{font-size:var(--fs-0);line-height:16px;font-weight:600;letter-spacing:.02em;color:var(--text-2);margin-bottom:8px}.panel.inspector .prop,.panel.inspector .weight-select,.panel.inspector .replace-btn,.panel.inspector .danger-btn,.panel.inspector .mode-row button,.panel.inspector .board-chip,.panel.inspector .fit-toggle,.panel.inspector .fx-btn,.panel.inspector .lock-btn,.panel.inspector .align-btn,.panel.inspector .fx-icon-btn{height:28px;box-sizing:border-box}.panel.inspector .prop b{flex:none;width:26px;padding-left:8px;font-size:var(--fs-0);font-weight:500;color:var(--text-2)}.panel.inspector .prop input,.panel.inspector .prop textarea{font-size:var(--fs-1);padding:0 8px 0 4px}.panel.inspector .prop b.tail{flex:none;width:52px;padding:0 8px 0 0;text-align:right}.panel.inspector .prop.text-cell{height:auto}.panel.inspector .prop-grid{gap:6px;margin-bottom:6px}.panel.inspector .pos-grid{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.panel.inspector .pos-row{display:grid;grid-template-columns:1fr 1fr 24px;gap:6px;align-items:center;margin-bottom:6px}.panel.inspector .pos-grid .pos-row{margin-bottom:0}.panel.inspector .pos-row>*{min-width:0}.panel.inspector .pos-row .lock-btn{width:24px}.panel.inspector .pos-row .blend-select{grid-column:2 / -1}.panel.inspector .role-row:not(.bg-switch-row){display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px;margin:0 0 6px}.panel.inspector .role-row b{font-size:var(--fs-0);font-weight:500;color:var(--text-2)}.panel.inspector .role-row .weight-select{width:100%}.panel.inspector .role-row .fx-switch{justify-self:end}.panel.inspector .bg-switch-row{gap:8px;margin-top:14px;margin-bottom:6px}.panel.inspector .bg-switch-row b{font-size:var(--fs-0);font-weight:500;line-height:1.4;color:var(--text-2)}.panel.inspector .fit-toggle{display:flex;gap:0;padding:2px;background:var(--bg-0);border:1px solid var(--line);border-radius:var(--r-2);margin-bottom:0}.panel.inspector .fit-toggle button{flex:1 1 0;min-width:0;height:100%;padding:0 8px;border-radius:var(--r-1);font-size:var(--fs-1);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel.inspector .board-chips{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-bottom:8px}.panel.inspector .board-chip{padding:0;font-size:var(--fs-0);border-radius:var(--r-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel.inspector .align-row{display:grid;grid-template-columns:repeat(6,22px) 1fr repeat(3,22px);gap:0;padding:2px 0 10px;margin-bottom:10px}.panel.inspector .align-btn{width:22px;padding:0}.panel.inspector .align-sep{justify-self:start;height:16px;margin:0 0 0 6px}.panel.inspector .act-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.panel.inspector .act-grid>*{width:auto;min-width:0;margin-top:0;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel.inspector .act-grid>.wide{grid-column:1 / -1}.panel.inspector .fx-section .fx-row{gap:6px}.panel.inspector .fx-effects-head{gap:4px;margin-bottom:8px}.panel.inspector .fx-icon-btn{width:28px;padding:0}.panel.inspector .fx-icon-btn svg{width:16px;height:16px}.panel.inspector .hint-line,.panel.inspector .empty-note,.panel.inspector .role-why,.panel.inspector .cascade-note,.panel.inspector .safe-chip,.panel.inspector .cascade-badge,.panel.inspector .role-ask-q,.panel.inspector .mode-row,.panel.inspector .ov-chip,.panel.inspector .ov-chip button,.panel.inspector .fx-link,.panel.inspector .font-trigger-caret,.panel.inspector .role-confirm{font-size:var(--fs-0)}.panel.inspector .hint-line,.panel.inspector .empty-note,.panel.inspector .role-why,.panel.inspector .safe-chip,.panel.inspector .bg-switch-row b{line-height:16px}.panel.inspector .hint-line,.panel.inspector .empty-note{color:var(--text-2)}.panel.inspector .mode-row{gap:8px;margin-top:6px}.panel.inspector .mode-row button{min-width:80px;padding:0 10px}.panel.inspector .section>.ta-toggle{width:fit-content}.panel.inspector .cascade-wide-seg{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.panel.inspector .cascade-wide-seg button{min-width:0;padding:0 2px;font-size:var(--fs-0)}.panel.inspector .prop:hover{border-color:var(--line-field)}.panel.inspector .prop:focus-within{border-color:var(--accent)}.panel.inspector button:focus-visible,.panel.inspector select:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.panel.inspector input:focus-visible,.panel.inspector textarea:focus-visible{outline:none}.wz-btn{height:30px;padding:0 12px;border-radius:var(--r-2);border:1px solid var(--line);background:var(--bg-2);color:var(--text-1);font:inherit;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.wz-btn:hover:not(:disabled){background:var(--bg-3);border-color:var(--line-strong)}.wz-btn:disabled{opacity:.45;cursor:default}.wz-btn.primary{background:var(--accent);border-color:transparent;color:var(--on-accent);font-weight:600;padding:0 16px}.wz-btn.primary:hover:not(:disabled){background:var(--accent-hover)}.wz-btn.icon{width:30px;padding:0;justify-content:center;border-color:transparent;background:transparent;color:var(--text-2)}.wz-btn.icon:hover:not(:disabled){background:var(--hover-strong);color:var(--text-1)}.market-note{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%;margin-top:6px;font-size:11px;color:var(--text-3)}.market-note .market-note-own{color:var(--text-1)}.market-note .tb-btn{height:24px;padding:0 8px;font-size:11px}.panel.inspector .board-chips .market-note,.panel.inspector .board-chips .board-chips-sep{grid-column:1 / -1}.panel.inspector .board-chips .board-chips-sep{height:0;margin:0}.off-badge{flex:none;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trashed-line{display:flex;align-items:center;gap:12px;padding:0 16px;height:36px;font-size:13px;color:var(--text-1);background:color-mix(in srgb,var(--warn, #e5a53a) 16%,var(--bg-1));border-bottom:1px solid var(--line)}.dsh-menu{min-width:170px;border-radius:var(--r-2);padding:4px}.dsh-menu button{border-radius:var(--r-1);font-size:var(--fs-1);padding:6px 9px}.dsh-menu button.danger{color:var(--danger)}.dsh-menu button.danger:hover:not(:disabled){background:var(--danger);color:var(--on-accent)}.dsh-menu button:disabled{color:var(--text-3);cursor:default}.dsh-menu-rule{margin:4px 0;border:none;border-top:1px solid var(--line)}.dsh-ctx{z-index:var(--z-ctx);box-shadow:var(--shadow-float, 0 8px 24px rgba(0, 0, 0, .5))}.safe-zone-section .sz-row{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:8px;margin-bottom:6px}.safe-zone-section .sz-label{font-size:11px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.safe-zone-section .sz-select{width:100%;min-width:0}.safe-zone-section .sz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0}.safe-zone-section .sz-grid>*{min-width:0}.safe-zone-section .sz-check{display:flex;align-items:center;gap:6px;min-width:0;font-size:12px;color:var(--text-1)}.safe-zone-section .sz-check.is-off{color:var(--text-3)}.safe-zone-section .sz-check span{min-width:0;overflow-wrap:anywhere}.safe-zone-section .sz-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;margin:8px 0 4px}.safe-zone-section .sz-chip{font-size:11px;line-height:20px;padding:0 8px;border-radius:10px;background:var(--bg-2);color:var(--text-2)}.safe-zone-section .sz-link{font-size:12px;color:var(--accent-text);padding:0;background:none;border:0;cursor:pointer}.safe-zone-section .sz-link:hover{text-decoration:underline}
