:root{color-scheme:dark;--tp-ui-bg:#14161a;--tp-ui-panel:#1c1f25;--tp-ui-line:#2e333c;--tp-ui-text:#e8eaee;--tp-ui-muted:#9aa2ae;--tp-ui-accent:#5b9dff;--tp-ui-bar:#191c22;--tp-ui-control:#262b33;--tp-overflow-opacity:.36;--tp-chrome-light:#fffc;--tp-chrome-light-strong:#fffffff5;--tp-chrome-dark:#00000073;--tp-chrome-guide-opacity:.35}*{box-sizing:border-box}html,body{background:var(--tp-ui-bg);height:100%;color:var(--tp-ui-text);margin:0;font:13px/1.4 system-ui,-apple-system,Segoe UI,sans-serif}.tp-app{flex-direction:column;height:100vh;display:flex}.tp-topbar,.tp-projectbar{border-bottom:1px solid var(--tp-ui-line);background:var(--tp-ui-panel);flex:none;align-items:center;gap:14px;padding:7px 12px;display:flex}.tp-projectbar{background:var(--tp-ui-bar);gap:12px}.tp-brand{letter-spacing:.02em;color:var(--tp-ui-muted);padding-right:4px;font-weight:600}.tp-tool-group{gap:4px;display:flex}button{background:var(--tp-ui-control);color:var(--tp-ui-text);border:1px solid var(--tp-ui-line);font:inherit;cursor:pointer;border-radius:4px;padding:5px 10px}button.is-active{background:var(--tp-ui-accent);border-color:var(--tp-ui-accent);color:#0b0d10}button:disabled{opacity:.38;cursor:default}.tp-viewport-controls{color:var(--tp-ui-muted);align-items:center;gap:4px;display:flex}.tp-viewport-controls button{padding:3px 9px}.tp-viewport-controls input[type=range]{width:110px}.tp-zoom-percent{align-items:center;gap:2px;display:flex}.tp-zoom-percent input{text-align:right;background:var(--tp-ui-control);width:52px;color:var(--tp-ui-text);border:1px solid var(--tp-ui-line);font:inherit;border-radius:4px;padding:3px 5px}.tp-save-status{color:var(--tp-ui-muted);margin-left:auto}.tp-slide-count{color:var(--tp-ui-muted);white-space:nowrap;margin-left:auto}.tp-message{border-bottom:1px solid var(--tp-ui-line);background:#2a2113;margin:0;padding:6px 12px}.tp-confirm{border-bottom:1px solid var(--tp-ui-line);background:#35240f;align-items:center;gap:10px;margin:0;padding:8px 12px;display:flex}.tp-notice{z-index:20;max-width:min(560px,100vw - 32px);color:var(--tp-ui-text);pointer-events:none;text-align:center;background:#35280f;border:1px solid #6b5423;border-radius:6px;padding:8px 14px;position:fixed;top:96px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #00000073}.tp-tool-rail{border-right:1px solid var(--tp-ui-line);background:var(--tp-ui-panel);flex-direction:column;flex:0 0 134px;gap:4px;padding:8px 6px;display:flex}.tp-rail-button{text-align:left;grid-template-columns:18px 1fr auto;align-items:center;gap:6px;width:100%;padding:8px 7px;display:grid}.tp-rail-glyph{text-align:center;font-size:14px;line-height:1}.tp-rail-label{text-overflow:ellipsis;overflow:hidden}.tp-rail-key{color:var(--tp-ui-muted);font-size:11px}.tp-rail-button.is-active .tp-rail-key{color:#0b0d10}.tp-rail-hint{color:var(--tp-ui-muted);margin:auto 0 0;padding:6px 3px;font-size:11px;line-height:1.4}kbd{border:1px solid var(--tp-ui-line);background:var(--tp-ui-control);color:var(--tp-ui-text);font:inherit;border-radius:3px;padding:0 4px;font-size:.95em}.tp-body{flex:auto;min-height:0;display:flex}.tp-workspace{background:var(--tp-ui-bg);flex:auto;min-width:0;display:flex;position:relative;overflow:hidden}.tp-viewport{touch-action:none;flex:auto;min-width:0;position:relative;overflow:clip}.tp-canvas-scaler{transform-origin:0 0;position:absolute;top:0;left:0}.tp-viewport[data-bg-manipulating=true],.tp-viewport[data-bg-manipulating=true] *{cursor:move!important}.tp-viewport[data-bg-manipulating=true] .tp-bg-handle[data-bg-handle=nw],.tp-viewport[data-bg-manipulating=true] .tp-bg-handle[data-bg-handle=se]{cursor:nwse-resize!important}.tp-viewport[data-bg-manipulating=true] .tp-bg-handle[data-bg-handle=ne],.tp-viewport[data-bg-manipulating=true] .tp-bg-handle[data-bg-handle=sw]{cursor:nesw-resize!important}.tp-viewport[data-bg-manipulating=true] .tp-bg-handle[data-bg-handle=n],.tp-viewport[data-bg-manipulating=true] .tp-bg-handle[data-bg-handle=s]{cursor:ns-resize!important}.tp-viewport[data-bg-manipulating=true] .tp-bg-handle[data-bg-handle=e],.tp-viewport[data-bg-manipulating=true] .tp-bg-handle[data-bg-handle=w]{cursor:ew-resize!important}.tp-viewport[data-pan-ready=true],.tp-viewport[data-pan-ready=true] *,.tp-viewport[data-pan-ready=true] .tp-bg-handle[data-bg-handle]{cursor:grab!important}.tp-viewport[data-panning=true],.tp-viewport[data-panning=true] *,.tp-viewport[data-panning=true] .tp-bg-handle[data-bg-handle]{cursor:grabbing!important}.tp-bg-clip{pointer-events:none;position:absolute;overflow:hidden}.tp-bg-overflow-image{max-width:none;opacity:var(--tp-overflow-opacity);user-select:none;pointer-events:none;position:absolute}.tp-fg-overflow{pointer-events:none;position:absolute}.tp-fg-overflow-plane{position:absolute}.tp-fg-overflow-content{opacity:var(--tp-overflow-opacity);position:absolute;inset:0}.tp-fg-overflow-hit{pointer-events:auto;cursor:pointer;position:absolute}.tp-fg-overflow-image{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:none;margin:0;display:block;position:absolute}.tp-fg-overflow-hit.is-movable,.tp-fg-overflow-image.is-movable{cursor:move}.tp-bg-bounds{z-index:2;box-sizing:border-box;outline:calc(1.5px * var(--tp-inv-zoom,1)) solid #ffc24a;box-shadow:0 0 0 calc(3px * var(--tp-inv-zoom,1)) #08090c99;pointer-events:none;position:absolute}.tp-bg-handle{z-index:3;width:calc(14px * var(--tp-inv-zoom,1));height:calc(14px * var(--tp-inv-zoom,1));box-sizing:border-box;border:calc(2px * var(--tp-inv-zoom,1)) solid #0b0d10;border-radius:calc(2px * var(--tp-inv-zoom,1));pointer-events:auto;background:#ffc24a;position:absolute;transform:translate(-50%,-50%)}.tp-bg-indicator{z-index:5;color:var(--tp-ui-text);pointer-events:none;background:#14161ae6;border:1px solid #6b5423;border-radius:999px;padding:4px 10px;font-size:12px;position:absolute;top:10px;left:12px}.tp-multiple-label{color:var(--tp-ui-text)}.tp-slide{user-select:none;outline-offset:0;outline:2px solid #e8eaee38;position:relative;overflow:hidden}.tp-slide.tool-text{cursor:crosshair}.tp-background-source{opacity:0;user-select:none;pointer-events:none;position:absolute;top:0;left:0}.tp-background-canvas{user-select:none;pointer-events:none;position:absolute;top:0;left:0}.tp-draft{border:2px dashed var(--tp-ui-accent);pointer-events:none;position:absolute}.tp-chrome-layer{pointer-events:none;position:absolute;inset:0}.tp-image-overlay{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:none;margin:0;display:block;position:absolute}.tp-image-overlay.is-selectable{cursor:move}.tp-overlay-chrome{box-sizing:border-box;pointer-events:none;outline:calc(2px * var(--tp-inv-zoom,1)) solid var(--tp-ui-accent);box-shadow:0 0 0 calc(3px * var(--tp-inv-zoom,1)) #08090c99;position:absolute}.tp-overlay-chrome.is-primary{box-shadow:0 0 0 calc(3px * var(--tp-inv-zoom,1)) #08090ccc, 0 0 0 calc(5px * var(--tp-inv-zoom,1)) #f4f6fab3}.tp-overlay-handle{width:calc(14px * var(--tp-inv-zoom,1));height:calc(14px * var(--tp-inv-zoom,1));box-sizing:border-box;border:calc(2px * var(--tp-inv-zoom,1)) solid #0b0d10;border-radius:calc(2px * var(--tp-inv-zoom,1));background:var(--tp-ui-accent);pointer-events:auto;position:absolute;transform:translate(-50%,-50%)}.tp-overlay-handle[data-image-handle=nw],.tp-overlay-handle[data-image-handle=se]{cursor:nwse-resize}.tp-overlay-handle[data-image-handle=ne],.tp-overlay-handle[data-image-handle=sw]{cursor:nesw-resize}.tp-overlay-handle[data-image-handle=n],.tp-overlay-handle[data-image-handle=s]{cursor:ns-resize}.tp-overlay-handle[data-image-handle=e],.tp-overlay-handle[data-image-handle=w]{cursor:ew-resize}.tp-hidden-input{display:none}.tp-button-wrap{flex-wrap:wrap}.tp-frame-editor{-webkit-user-drag:none;outline:none;min-height:1em}.tp-slide.tool-text .tp-frame-editor{cursor:text}.tp-frame-editor.is-object-mode{cursor:move;-webkit-user-select:none;user-select:none}.tp-frame-editor.is-editing{cursor:text;-webkit-user-select:text;user-select:text}.tp-frame-chrome{--tp-chrome-line:calc(1px * var(--tp-inv-zoom,1));--tp-handle-width:12px;isolation:isolate;pointer-events:none;position:absolute}.tp-app[data-workspace=arrangement] .tp-frame-chrome{--tp-handle-width:44px}.tp-frame-chrome.is-movable,.tp-frame-chrome.is-selectable{pointer-events:auto}.tp-frame-chrome.is-movable{cursor:move}.tp-frame-chrome.is-selectable{cursor:pointer}.tp-frame-chrome.is-guide:before,.tp-frame-chrome.is-guide:after,.tp-frame-chrome.is-selected:before,.tp-frame-chrome.is-selected:after{content:"";box-sizing:border-box;pointer-events:none;position:absolute}.tp-frame-chrome.is-guide:before,.tp-frame-chrome.is-selected:before{inset:calc(var(--tp-chrome-line) * -3);border:calc(var(--tp-chrome-line) * 3) solid var(--tp-chrome-dark)}.tp-frame-chrome.is-guide:after,.tp-frame-chrome.is-selected:after{inset:calc(var(--tp-chrome-line) * -2);border:var(--tp-chrome-line) solid var(--tp-chrome-light)}.tp-frame-chrome.is-guide{opacity:var(--tp-chrome-guide-opacity)}.tp-frame-chrome.is-selected.is-primary:after{border-color:var(--tp-chrome-light-strong)}.tp-frame-chrome.is-hit-only:before,.tp-frame-chrome.is-hit-only:after{content:none}.tp-handle{--tp-handle-size:calc(8px * var(--tp-inv-zoom,1));z-index:1;height:100%;width:var(--tp-handle-width);pointer-events:auto;cursor:ew-resize;background:0 0;border:0;border-radius:0;padding:0;position:absolute;top:0;overflow:visible}.tp-handle:before{content:"";width:var(--tp-handle-size);height:var(--tp-handle-size);background:var(--tp-chrome-light-strong);box-shadow:0 0 0 var(--tp-chrome-line) #000000b3;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.tp-handle-left{left:calc(var(--tp-handle-width) / -2)}.tp-handle-right{right:calc(var(--tp-handle-width) / -2)}.tp-handle-left:before{left:calc(50% - var(--tp-chrome-line) * 1.5)}.tp-handle-right:before{left:calc(50% + var(--tp-chrome-line) * 1.5)}.tp-inspector{border-left:1px solid var(--tp-ui-line);background:var(--tp-ui-panel);flex:0 0 296px;padding:12px;overflow-y:auto}.tp-panel h2{text-transform:uppercase;letter-spacing:.08em;color:var(--tp-ui-muted);margin:0 0 8px;font-size:13px}.tp-panel+.tp-panel{border-top:1px solid var(--tp-ui-line);margin-top:24px;padding-top:16px}.tp-control{margin-bottom:10px}.tp-control-label{color:var(--tp-ui-muted);margin-bottom:3px;display:block}.tp-control-row{align-items:center;gap:8px;display:flex}.tp-control-row input[type=range]{flex:auto;min-width:0}.tp-control-row input[type=number]{background:var(--tp-ui-control);width:74px;color:var(--tp-ui-text);border:1px solid var(--tp-ui-line);font:inherit;border-radius:4px;padding:3px 5px}.tp-button-row{gap:4px;display:flex}.tp-mark-bold{font-weight:700}.tp-mark-italic{font-style:italic}.tp-mark-underline{text-decoration:underline}.tp-static-value{padding:3px 0}.tp-font-disclosure{background:var(--tp-ui-control);width:100%;color:var(--tp-ui-text);border:1px solid var(--tp-ui-line);font:inherit;text-align:left;cursor:pointer;border-radius:4px;justify-content:space-between;align-items:baseline;gap:8px;padding:4px 8px;display:flex}.tp-font-disclosure:hover{border-color:var(--tp-ui-accent)}.tp-font-disclosure[aria-expanded=true]{border-color:var(--tp-ui-accent);border-bottom-right-radius:0;border-bottom-left-radius:0}.tp-font-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tp-font-kind{color:var(--tp-ui-muted);flex:none;font-size:11px}.tp-font-list{background:var(--tp-ui-control);width:100%;color:var(--tp-ui-text);border:1px solid var(--tp-ui-accent);font:inherit;border-radius:0 0 4px 4px;margin-top:-1px;display:block}.tp-font-list optgroup{color:var(--tp-ui-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.tp-font-list option{color:var(--tp-ui-text);text-transform:none;letter-spacing:normal;padding:2px 6px;font-size:13px}.tp-mark[data-unsupported=true]{opacity:.55}.tp-font-control .tp-hint{margin:6px 0 0}.tp-link-button{color:var(--tp-ui-accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.tp-selection-count{color:var(--tp-ui-text);margin:-4px 0 10px}.tp-mixed{border:1px solid var(--tp-ui-line);background:var(--tp-ui-control);color:var(--tp-ui-text);text-transform:uppercase;letter-spacing:.04em;border-radius:3px;margin-left:6px;padding:0 5px;font-size:11px}.tp-control-row input[data-mixed=true]{border-color:var(--tp-ui-accent)}.tp-hint{color:var(--tp-ui-muted);margin:4px 0 0}.tp-hint.tp-warning{color:#f0b44c;font-weight:600}.tp-control+.tp-hint{margin:-4px 0 12px}.tp-file-input+.tp-hint,.tp-panel>.tp-hint+.tp-button-row,.tp-panel .tp-button-row{margin-bottom:10px}.tp-unit{color:var(--tp-ui-muted)}.tp-file-input{width:100%;color:var(--tp-ui-muted)}.tp-asset-status{color:var(--tp-ui-muted);white-space:nowrap}.tp-arrangement{position:relative}.tp-project-slide{--tp-slide-border:10px;user-select:none;cursor:pointer;outline:var(--tp-slide-border) solid #e8eaee42;outline-offset:0;position:absolute;overflow:hidden}.tp-project-slide.joins-previous:not(.is-accent){clip-path:inset(calc(var(--tp-slide-border) * -1) calc(var(--tp-slide-border) * -1) calc(var(--tp-slide-border) * -1) 0)}.tp-project-slide.is-accent{outline-color:var(--tp-ui-accent);z-index:1}.tp-structure-tab{--tp-tab-unit:min(4px, calc(1px * var(--tp-inv-zoom,1)));box-sizing:border-box;height:calc(16 * var(--tp-tab-unit));padding:0 calc(6 * var(--tp-tab-unit));border:calc(1.5 * var(--tp-tab-unit)) solid #e8eaee80;border-radius:calc(4 * var(--tp-tab-unit));color:#e8eaee;font-size:calc(10 * var(--tp-tab-unit));white-space:nowrap;cursor:pointer;background:#262b33eb;font-weight:600;line-height:1;position:absolute}.tp-structure-tab.is-slide{min-width:calc(40 * var(--tp-tab-unit));transform:translate(-50%,-100%)}.tp-structure-tab.is-span{transform:translateY(-100%)}.tp-structure-tab:hover,.tp-structure-tab.is-span.is-hover{background:#3a404cf2;border-color:#e8eaeee6}.tp-structure-tab.is-selected{border-color:var(--tp-ui-accent);background:var(--tp-ui-accent);color:#0b0d10}.tp-structure-tab.is-inert{pointer-events:none;cursor:default;opacity:.45}.tp-span-mat{box-sizing:border-box;cursor:pointer;background:#e8eaee24;border:6px solid #e8eaee47;border-radius:28px;position:absolute}.tp-span-mat.is-inert{pointer-events:none;cursor:default}.tp-span-mat.continues-after{border-right-style:dashed;border-top-right-radius:0;border-bottom-right-radius:0}.tp-span-mat.continues-before{border-left-style:dashed;border-top-left-radius:0;border-bottom-left-radius:0}.tp-span-mat.is-hover{background:#e8eaee38;border-color:#e8eaee80}.tp-span-mat.is-selected{border-color:var(--tp-ui-accent);background:#5b9dff4d}.tp-span-mat-label{color:#f4f6fad9;white-space:nowrap;pointer-events:none;font-size:54px;font-weight:600;line-height:1;position:absolute;top:6px;left:40px}.tp-span-mat.is-selected .tp-span-mat-label{color:#f4f6fa}.tp-span-link{z-index:2;transform-origin:50% 0;background:var(--tp-ui-accent);color:#0b0d10;white-space:nowrap;border:2px solid #f4f6fa;border-radius:999px;padding:5px 12px;font-weight:600;position:absolute;box-shadow:0 2px 10px #00000080}.tp-link-supplier{color:#0b0d10;pointer-events:none;background:#5b9dffd9;border-radius:999px;padding:12px 24px;font-size:48px;font-weight:600;line-height:1;position:absolute;bottom:28px;left:28px}.tp-span-division{--tp-dash:calc(5px * var(--tp-inv-zoom,1));height:100%;width:calc(1.5px * var(--tp-inv-zoom,1));background:repeating-linear-gradient(to bottom, var(--tp-chrome-light) 0 var(--tp-dash), var(--tp-chrome-dark) 0 calc(var(--tp-dash) * 2));pointer-events:none;position:absolute;top:0;left:0}.tp-frame-static{pointer-events:none;user-select:none}.tp-slide-bar{flex-wrap:wrap;gap:4px;display:flex}.tp-slide-bar button{min-width:30px;padding:3px 8px}.tp-export-status{color:#8fd19e;white-space:nowrap}.tp-topbar select,.tp-panel select{background:var(--tp-ui-control);color:var(--tp-ui-text);border:1px solid var(--tp-ui-line);font:inherit;border-radius:4px;padding:3px 5px}.tp-color-swatch{background:var(--tp-ui-control);border:1px solid var(--tp-ui-line);border-radius:4px;width:44px;height:26px;padding:0}.tp-color-hex{background:var(--tp-ui-control);min-width:0;color:var(--tp-ui-text);border:1px solid var(--tp-ui-line);font:inherit;border-radius:4px;flex:auto;padding:3px 6px}
