.page-appearance-panel fieldset{margin:18px 0 0;padding:16px 0 0;border:0;border-top:1px solid #ffffff17;min-width:0}.page-appearance-panel legend{padding:0 8px 0 0;font-size:13px;color:#c7cbd3;font-weight:600}.page-appearance-panel .appearance-tone{display:grid;grid-template-columns:minmax(0,1fr) 90px;align-items:center;gap:10px;margin:0 0 18px}.page-appearance-panel .appearance-tone>label{margin:0;font-size:13px}.appearance-number{position:relative}.appearance-number input{padding-right:24px!important;width:100%}.appearance-number>span{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#9da5b4;pointer-events:none}.appearance-tone>input[type=range]{grid-column:1/-1;width:100%;min-height:24px;margin:0;accent-color:#efad69;cursor:pointer}.page-appearance-panel .appearance-color{display:flex;gap:8px;align-items:center;margin:0 0 12px}.page-appearance-panel .appearance-color label{flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;font-size:13px}.appearance-color input[type=color]{width:44px;height:32px;padding:3px;cursor:pointer}.page-appearance-panel .appearance-revert{width:32px;min-height:32px;padding:0;font-size:18px}.appearance-reset{display:flex;gap:10px;align-items:center;margin-top:22px}.appearance-reset>button{flex:1;min-height:40px}.tap-canvas.editing.page-selected{outline:2px solid var(--accent,#d28b42);outline-offset:3px}.tap-canvas.editing:focus-visible{outline:2px solid var(--accent,#d28b42);outline-offset:3px}.canvas-page-tabs .canvas-sortable-tabs{position:relative}.tap-canvas.editing .canvas-sortable-tabs.can-sort button{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}.tap-canvas.editing .canvas-sortable-tabs.sorting button{cursor:grabbing}.tap-canvas.editing .canvas-sortable-tabs .tab-dragged{z-index:2;outline:2px solid var(--accent,#d28b42);outline-offset:-2px}.tab-sort-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.editor-properties .component-actions{display:flex;align-items:center;gap:8px;margin:0 0 18px;padding:0 0 16px;border-bottom:1px solid var(--line,#41434a)}.component-actions>button{flex:1;min-height:34px}.td-workbench .component-actions .component-delete{color:#efad6e;border-color:#99642f;background:#3e3025}.publication-dialog.editor-confirm{width:min(460px,calc(100vw - 32px))}.editor-confirm .publication-dialog-body p{margin:0;white-space:pre-line}.editor-confirm .publication-dialog-actions{gap:8px}.editor-confirm .publication-dialog-actions button{margin-left:0;margin-right:0}.editor-confirm .publication-dialog-actions .editor-confirm-primary{background:#99642f;color:#fff;border-color:#d28b42}.example-editor-badge{display:inline-block;font-size:12px;border:1px solid #8aab61;border-radius:4px;padding:4px 10px;color:#d4efad;margin-left:12px;vertical-align:middle}.published-page{text-align:center}.published-page>img{display:block;max-width:100%;height:auto;margin:22px auto;border-radius:6px}.published-page .publication-dialog-actions{justify-content:center;display:flex;gap:12px}.published-page a{display:inline-block;text-decoration:none}.example-visitor{max-width:430px;margin:auto;padding:12px 0 24px}.example-visitor-notice{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;font-size:12px;background:#20291a;color:#d0e5b3;gap:12px}.example-visitor-notice a{color:inherit}.example-visitor .tap-canvas{width:100%;margin:12px auto}.example-visitor>p{text-align:center;font-size:12px;color:#b3bfa9;padding:0 16px}.example-visitor>button{display:block;margin:20px auto}.example-expired{padding:32px 20px;text-align:center}.example-visitor .example-feedback{padding:14px 16px;min-height:48px}.td-workbench .example-editor-note{font-size:12px}.taptwine-brand{display:inline-flex;align-items:center;gap:10px;color:#f1f4ef;text-decoration:none;font-family:Arial,Microsoft YaHei,sans-serif;font-size:24px;font-weight:700;letter-spacing:1px;white-space:nowrap;line-height:1}.taptwine-brand img{display:block;width:46px;height:46px;flex-shrink:0;object-fit:contain}.taptwine-brand.compact{font-size:17px;gap:7px;letter-spacing:.5px}.taptwine-brand.compact img{width:32px;height:32px}.td-workbench>header h1:has(.taptwine-brand){display:flex;align-items:center;gap:0}.td-workbench>header .example-editor-badge{margin-left:12px}@media(max-width:640px){.public-nav .taptwine-brand{font-size:21px;gap:8px}.public-nav .taptwine-brand img{width:40px;height:40px}}.tanvisen-studio-brand>span{display:flex;flex-direction:column;gap:7px}.tanvisen-studio-brand strong{font-size:24px;letter-spacing:1.5px;line-height:1}.tanvisen-studio-brand small{font-size:10px;font-weight:400;letter-spacing:4px;line-height:1.3}@media(max-width:640px){.public-nav .tanvisen-studio-brand strong{font-size:21px}.public-nav .tanvisen-studio-brand small{font-size:9px;letter-spacing:3px}}.workspace-page{max-width:960px;margin:0 auto;padding:32px 20px;color:var(--text,#e4e4eb)}.workspace-page header{display:block;padding-bottom:16px}.workspace-page h1{font-size:26px}.workspace-page h2{font-size:20px}.workspace-page .console{margin:16px 0;padding:24px}.workspace-page label{display:block;margin:12px 0}.workspace-page input,.workspace-page select{display:block;width:100%;max-width:560px;margin-top:6px}.workspace-project{border-top:1px solid #6665;padding:16px 0;overflow-wrap:anywhere}.workspace-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.workspace-page button{margin:4px 4px 4px 0}.workspace-page strong{overflow-wrap:anywhere}.workspace-page button{padding:10px 16px;border:1px solid #52645b;border-radius:9px;background:#26372e;color:#eef7f0;cursor:pointer;font:inherit}.workspace-page button:disabled{opacity:.45;cursor:default}.workspace-page button.primary{background:#d6f59a;color:#182515;border-color:#d6f59a;width:auto}.workspace-page input,.workspace-page select{padding:10px 12px;border:1px solid #52645b;border-radius:8px;background:#122019;color:#eef7f0;font:inherit}.workspace-page input[type=file]{padding:8px}.workspace-page a{color:#c9eba5}.workspace-page :focus-visible{outline:2px solid #d6f59a;outline-offset:3px}:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#eef3e9;background:#111918;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 15%,#25382c55,transparent 55%),#111918}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ecfca9;outline-offset:5px}main{max-width:520px;margin:auto;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom))}header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}.brand{display:flex;align-items:center;gap:9px;color:inherit;text-decoration:none;font-weight:650;white-space:nowrap}.brand-icon{font-size:28px;color:#d6f59a}.brand-divider{color:#65706b;font-weight:400}.brand-sub{font-size:12px;font-weight:400;color:#c0c9c2}.demo-pill{font-size:11px;border:1px solid #5d674d;border-radius:30px;padding:6px 10px;color:#d6f59a;white-space:nowrap}.demo-notice{border:1px solid #344236;background:#26312370;color:#c9dbb6;border-radius:8px;text-align:center;font-size:12px;padding:10px}.intro{text-align:center;padding-top:35px}.eyebrow{font-size:11px;letter-spacing:3px;color:#b5c497}h1{font-size:36px;letter-spacing:2px;margin:12px 0;font-weight:600}.intro p,.entry-page>p{font-size:14px;color:#aab7ad;line-height:1.8;margin:0}.art{height:170px;position:relative;display:grid;place-items:center;overflow:hidden}.orb{width:88px;height:88px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#f3ffcc,#b7dc6f 23%,#496448 62%,#17271f 86%);box-shadow:0 0 45px #c3e88524,inset -10px -10px 25px #101c17}.orbit{position:absolute;width:240px;height:74px;border:1px solid #aec98b40;border-radius:50%;transform:rotate(-20deg)}.orbit-two{width:192px;height:115px;transform:rotate(24deg);border-color:#aec98b25}.art-caption{position:absolute;bottom:3px;font-size:10px;letter-spacing:4px;color:#80907e}.console{margin-top:22px;padding:20px;background:#1b2522;border:1px solid #34403a;border-radius:20px;box-shadow:0 14px 45px #0002}.console-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:26px}.status{font-size:12px;color:#c6d3c5;display:flex;align-items:center;gap:7px;line-height:1.6}.status i{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:#c4e899}.status.offline i,.status.disconnected i{background:#eba992}.status.busy i{background:#ebd096}.timer{font-variant-numeric:tabular-nums;color:#d6f59a;font-size:21px;letter-spacing:1px;white-space:nowrap}.feedback{min-height:76px;display:flex;align-items:center;gap:10px;color:#c4d2b2;font-size:13px}.feedback>span{font-size:23px}.feedback p{line-height:1.7;margin:10px 0}.controls{display:grid;gap:10px;margin-bottom:16px}.action{border:1px solid #ffffff0b;border-radius:12px;min-height:76px;padding:13px 15px;background:#26312c;color:#f2f6ed;display:flex;align-items:center;gap:14px;text-align:left;width:100%;transition:transform .1s,background .1s}.number{display:grid;place-items:center;background:var(--accent);color:#223023;border-radius:10px;width:38px;height:42px;flex-shrink:0;font-size:13px;font-weight:650}.action strong{font-size:16px;display:block;font-weight:550}.action small{display:block;font-size:11px;color:#b0bdb2;margin-top:6px}.arrow{margin-left:auto;color:var(--accent);font-size:21px}.action:active:not(:disabled),.primary:active:not(:disabled){transform:scale(.975);background:#3c4c3b}.action:disabled{cursor:default;opacity:.43}.action[aria-busy=true]{opacity:1;border-color:var(--accent)}.primary{width:100%;min-height:58px;border:0;border-radius:11px;background:#d6f59a;color:#203023;font-size:16px;font-weight:650;display:flex;align-items:center;justify-content:space-between;padding:15px 20px}.primary:disabled{opacity:.4;cursor:default}.end{width:100%;min-height:48px;background:transparent;border:1px solid #4b5950;border-radius:10px;color:#c6d1c5;font-size:14px}.end:active{background:#3b493e}.hint{font-size:11px;color:#98a699;text-align:center;margin:16px 0 0;line-height:1.8}footer{text-align:center;padding:30px 0 0;color:#819081;font-size:10px;line-height:1.8}footer>span{letter-spacing:4px}footer p{margin:10px 0 0}.entry-page{padding:48px 0 12px}.entry-page h1{font-size:30px;line-height:1.5}.entry-card{display:block;text-decoration:none;color:inherit;background:#1e2b24;border:1px solid #45513e;border-radius:18px;padding:25px;margin-top:22px}.entry-card h2{font-size:24px;margin:17px 0}.entry-card h2 span{float:right;color:#d6f59a}.entry-card p{font-size:12px;color:#b3c3b4}.entry-link{color:#d6f59a;display:inline-block;padding:24px 0}.debug{border:1px dashed #657463;border-radius:12px;margin-top:24px;padding:16px;color:#b9c8b7;font-size:12px}.debug summary{cursor:pointer;min-height:30px}.debug label{display:block;margin:16px 0}.debug select{display:block;width:100%;padding:12px;border-radius:7px;background:#29372e;color:#edf3e8;border:1px solid #657463;margin-top:8px}.secondary{padding:12px;background:#354332;border:1px solid #657463;color:#eef3e9;border-radius:7px}.pulse{animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.4}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:360px){main{padding-left:16px;padding-right:16px}.console{padding:15px}h1{font-size:32px}.brand-sub{font-size:10px}.action{gap:10px;padding:12px}.status{font-size:11px}}@media(min-width:800px){main{padding-top:40px}.intro{padding-top:42px}}.management{max-width:640px}.management h1{font-size:26px}.management p{line-height:1.8;color:#bac8bd;overflow-wrap:anywhere}.management label{display:block;margin:18px 0;font-size:14px}.management input,.management select,.management textarea{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #637260;border-radius:8px;background:#24332b;color:#eef3e9;font:inherit}.management-actions{display:grid;gap:10px}.management-actions button{min-height:46px;border:1px solid #61725d;border-radius:8px;background:#2d3e30;color:#edf4e5;padding:10px}.management button:disabled{opacity:.45}.qr-box{margin:24px 0;text-align:center}.qr-box img{max-width:100%;height:auto}.qr-box a{display:block;overflow-wrap:anywhere;color:#d6f59a;font-size:12px}.management-message{min-height:52px}.status.paused i,.status.disabled i,.status.invalid i{background:#eba992}.visitor-controls.is-unavailable{filter:grayscale(1);opacity:.48}.studio,.admin-page{max-width:1120px;margin:auto;padding:24px;padding-bottom:calc(30px + env(safe-area-inset-bottom))}.studio label,.admin-page label{display:grid;gap:8px;margin:14px 0}.studio input,.studio select,.admin-page input,.admin-page select{width:100%;min-height:44px;background:#23342b;color:inherit;border:1px solid #71836d;border-radius:8px;padding:10px;font:inherit}.studio button,.admin-page button{min-height:44px;padding:10px 16px;background:#344939;color:inherit;border:1px solid #6e8467;border-radius:9px;font:inherit;cursor:pointer}.studio button:disabled,.admin-page button:disabled{opacity:.5;cursor:not-allowed}.studio button:focus-visible,.admin-page button:focus-visible{outline:3px solid #d6f59a;outline-offset:3px}.editor-settings,.editor-properties{padding:18px;background:#1c2a23;border-radius:18px}.editor-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.editor-workspace{display:grid;grid-template-columns:minmax(260px,390px) minmax(240px,1fr);gap:24px;align-items:start}.editor-workspace>section:first-child{max-width:390px;width:100%;margin:auto}.image-library{display:flex;gap:12px;flex-wrap:wrap}.image-library>div{max-width:130px}.image-library img{width:100%;height:90px;object-fit:contain}.tap-canvas{position:relative;width:100%;max-width:100%;container-type:inline-size;border-radius:16px;overflow:hidden;background-size:cover;background-position:center;isolation:isolate}.tap-canvas.theme-garden{background-color:#14271e;box-shadow:inset 0 0 80px #345b34}.tap-canvas.theme-light{background-color:#eef4f7;box-shadow:inset 0 0 90px #c9dae7}.tap-canvas.theme-neon{background-color:#150923;box-shadow:inset 0 0 120px #541c70}.tap-canvas.theme-paper{background-color:#eadbbf;box-shadow:inset 0 0 100px #c4a479}.tap-canvas.theme-ocean{background-color:#072d45;box-shadow:inset 0 0 120px #168098}.canvas-node{position:absolute;border-radius:12px;overflow:hidden}.theme-light .canvas-node{border-radius:4px}.theme-neon .canvas-node{border:1px solid #ed66ff;box-shadow:0 0 12px #c91fff66}.theme-paper .canvas-node{border-radius:0;border:2px solid #70563b;box-shadow:3px 3px #70563b}.theme-ocean .canvas-node{border-radius:28px;border:1px solid #6bcee5}.canvas-node.selected{outline:3px dashed #ffca63;outline-offset:-3px;z-index:1}.editing .canvas-node{touch-action:none;cursor:move}.node-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:8px;white-space:pre-wrap;overflow-wrap:anywhere}.node-content>button{width:100%;height:100%;border:0;background:transparent;color:inherit;font:inherit;min-height:0;padding:4px}.node-content>button[role=switch]{display:flex;align-items:center;justify-content:space-around}.node-content button:disabled{opacity:.5}.node-content img{width:100%;height:100%;object-fit:cover}.node-content:has(img){padding:0}.canvas-slider{width:100%;font-size:inherit;display:grid;gap:2px!important;margin:0!important}.canvas-slider input{width:100%;min-height:24px;height:24px;padding:0;accent-color:#d6f59a}.canvas-slider small{font-size:10px}.canvas-slider output{font-size:12px;position:absolute;right:10px;top:6px}.indicator{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.indicator i{width:20px;height:20px;border-radius:50%;background:#727b78}.indicator i.on{background:#9dff75;box-shadow:0 0 12px #9dff75}.indicator i.off{background:#293a29;border:1px solid #789273}.indicator small{font-size:11px}.trial-footer{display:block;text-align:center;padding:22px 8px;color:#a6b89d;font-size:12px;line-height:1.8}.credential-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:20px 0}.credential-card{background:#1c2a23;padding:20px;border-radius:16px;display:grid;gap:12px}.trial-toggle{display:flex!important;align-items:center}.trial-toggle input{width:24px;min-height:24px}.console:has(.tap-canvas){padding:16px}.console .tap-canvas{margin:16px 0}@media(max-width:700px){.editor-workspace{grid-template-columns:1fr}.studio,.admin-page{padding:16px}.editor-toolbar{position:relative}.editor-properties{margin-top:12px}}.studio{max-width:1600px;display:grid;grid-template-columns:290px minmax(0,1fr);gap:16px 28px;padding:28px 36px}.studio>header,.studio>p{grid-column:1/-1;margin:0}.studio>header h1{font-size:28px;margin:0}.studio>.editor-settings{grid-column:1;grid-row:4/7;align-self:start;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto}.studio>.component-library{grid-column:2;grid-row:4;margin:0;background:#1c2a23;padding:16px;border-radius:16px;gap:8px}.component-library button{font-size:12px;padding:8px 10px!important;min-height:36px!important}.studio>.editor-workspace{grid-column:2;grid-row:5;grid-template-columns:minmax(280px,1fr) 260px;gap:24px;padding:24px;background:repeating-linear-gradient(0deg,#ffffff03 0 1px,transparent 1px 24px),#101b16;border-radius:20px}.studio>.editor-toolbar:last-child{grid-column:2;grid-row:6;margin:0}.editor-properties{max-height:800px;overflow:auto}.studio .phone-preview{width:100%;max-width:390px;box-shadow:0 16px 60px #0005;border-radius:20px;background:#101c16}.editor-properties h2{font-size:18px;margin-top:0}.editor-properties label{font-size:13px}.admin-page{max-width:1500px;padding:36px 48px}.admin-page>header h1{font-size:30px}.admin-page>.console:first-of-type{display:grid;grid-template-columns:1fr 1fr auto;gap:12px 24px;align-items:end}.admin-page>.console:first-of-type>h2,.admin-page>.console:first-of-type>p{grid-column:1/-1}.admin-page>label,.admin-page>.primary{max-width:520px}.credential-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.admin-page .console[aria-label]{max-width:none}.visitor-page{max-width:430px;padding:env(safe-area-inset-top) 12px calc(12px + env(safe-area-inset-bottom));margin:auto}.visitor-page>.tap-canvas{margin-top:4px}.visitor-tools{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:8px 4px;color:#a6b89d}.visitor-tools button{background:none;border:0;color:inherit;padding:10px;cursor:pointer}.visitor-alert{padding:12px;border-radius:8px;background:#512d20;font-size:13px}.widget-stack{width:100%;height:100%;display:flex;flex-direction:column;gap:6px;justify-content:center}.node-content input,.node-content select{max-width:100%;width:100%;min-height:28px!important;margin:0;padding:3px 6px!important;border:1px solid #ffffff55;border-radius:5px;background:#15281e;color:inherit;font:inherit}.node-content input[type=range]{padding:0!important;background:transparent;accent-color:#d6f59a}.node-content input[type=radio]{width:auto;min-height:0!important}.node-content fieldset{width:100%;border:0;margin:0;padding:0}.node-content fieldset label{display:flex;gap:8px;margin:4px 0;font-size:14px}.node-content form button,.playback button,.tab-strip button{font:inherit;font-size:12px;min-height:32px;padding:5px 7px;border:1px solid #ffffff55;background:#ffffff18;color:inherit;border-radius:6px}.playback,.tab-strip{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.tab-strip [aria-selected=true]{background:#d6f59a;color:#122019}.node-content hr{width:100%;border:0;border-top:1px solid currentColor}.node-content small{display:block;font-size:10px;opacity:.7}.xy-pad{position:relative;flex:1;min-height:50px;touch-action:none;background:linear-gradient(90deg,transparent 49.5%,#ffffff30 50%,transparent 50.5%),linear-gradient(0deg,transparent 49.5%,#ffffff30 50%,transparent 50.5%),#ffffff10;border-radius:8px}.xy-pad i{position:absolute;width:20px;height:20px;transform:translate(-50%,-50%);background:#d6f59a;border-radius:50%;pointer-events:none}.dial{display:block;width:46px;height:46px;border-radius:50%;border:3px solid currentColor;text-align:center;margin:auto}.canvas-node button{touch-action:manipulation}.canvas-node button:active{background:#ffffff26}.canvas-node :focus-visible,.visitor-tools button:focus-visible{outline:3px solid #ffca63;outline-offset:-3px}.studio .node-content label{margin:0}.studio .node-content button{font:inherit;min-height:0;border:0}.node-content>button{padding:0}.tap-canvas .canvas-slider input{min-height:28px}.canvas-slider{position:relative}.canvas-slider output{top:0}.trial-footer{margin:0}.phone-preview>.trial-footer{padding:22px 8px}.studio>p:nth-of-type(2){grid-column:1;grid-row:3;font-size:12px;align-self:center}.studio>.editor-toolbar:last-child{grid-column:2;grid-row:3;justify-content:flex-end;align-items:center;position:sticky;top:8px;z-index:5;background:#14241ef2;padding:8px;border-radius:12px}.tap-canvas.editing:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:2.051cqw 2.051cqw}@media(max-width:1100px){.studio{grid-template-columns:250px minmax(0,1fr);padding:20px;gap:16px}.studio>.editor-workspace{grid-template-columns:1fr;padding:16px}.editor-properties{max-height:none}.admin-page{padding:24px}.admin-page>.console:first-of-type{grid-template-columns:1fr 1fr}.admin-page>.console:first-of-type>button{grid-column:1/-1}}.studio>.editor-toolbar>.primary{width:auto;min-width:180px}.dial{touch-action:none}.tap-canvas .node-content button{min-height:0;border:0}.tap-canvas .node-content label{display:flex;flex-direction:column;gap:6px;margin:0}.tap-canvas .node-content label.canvas-slider{display:grid;gap:2px}.tap-canvas .node-content fieldset label{flex-direction:row;align-items:center}.tap-canvas .node-content form button,.tap-canvas .playback button,.tap-canvas .tab-strip button{font-size:12px;min-height:32px;border:1px solid #ffffff55}.indicator i.error{background:#ff6f67;box-shadow:0 0 12px #ff6f67}@media(max-width:700px){.studio{display:block;padding:16px}.studio>.editor-settings{position:static;max-height:none;margin:20px 0}.studio>.component-library,.studio>.editor-workspace{margin:16px 0}.admin-page>.console:first-of-type{display:block}.admin-page{padding:16px}}.visitor-page{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.tap-canvas{min-width:0}.node-content input:not([type=range]):not([type=radio]),.node-content select{font-size:16px;min-height:44px!important}.tap-canvas .node-content input[type=range]{min-height:44px!important}.tap-canvas .node-content form button,.tap-canvas .playback button,.tap-canvas .tab-strip button{min-height:44px;font-size:14px}.tap-canvas .node-content fieldset label{min-height:44px}.tap-canvas .node-content{box-sizing:border-box}.tap-canvas.editing:before{background-size:2.051% 8px}.drawing-widget{display:flex;flex-direction:column;width:100%;height:100%;gap:6px;min-height:0}.drawing-tools{display:flex;gap:10px}.tap-canvas .drawing-tools label{flex:1;min-width:0;font-size:14px}.drawing-surface{display:block;flex:1;width:100%;min-height:90px;background:#fff;border:1px solid #999;border-radius:6px;touch-action:none;user-select:none;-webkit-user-select:none}.drawing-surface[aria-disabled=true]{opacity:.5}.drawing-actions{display:flex;gap:4px}.tap-canvas .drawing-actions button{flex:1;min-height:44px;font-size:14px;padding:4px;border:1px solid currentColor;border-radius:5px}.drawing-widget small{min-height:26px;line-height:13px}.drawing-widget polyline{pointer-events:none}.tap-canvas .drawing-tools select,.tap-canvas .drawing-tools input{background:#fff;color:#17251f}.tap-canvas .drawing-actions button{background:#20392f;color:#fff}.tap-canvas .drawing-actions button:disabled{opacity:.4}body:has(.td-workbench,.admin-page){background:#191b1f;color:#c5c7cb;font-family:Arial,Microsoft YaHei,sans-serif}.studio.td-workbench{--panel:#292b30;--line:#41434a;--muted:#8b90a0;--accent:#d28b42;width:100%;max-width:none;height:100dvh;min-height:600px;padding:0;display:grid;grid-template-columns:260px minmax(340px,1fr) 286px;grid-template-rows:48px 40px minmax(0,1fr) 26px;gap:0;background:#191b1f;overflow:hidden;font-size:12px}.td-workbench>header{grid-column:1;grid-row:1;padding:0 16px;background:#313338;border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;align-items:center;margin:0}.td-workbench>header h1{font-size:15px;letter-spacing:.5px;color:#e0e0e0;margin:0;white-space:nowrap}.td-workbench>p[role=status]{grid-column:1/-1;grid-row:4;background:#292b30;border-top:1px solid var(--line);color:#aeb4c5;padding:5px 12px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:8}.td-workbench>p:nth-of-type(2){display:none}.td-workbench>.editor-toolbar:last-child{grid-column:2/4;grid-row:1;position:static;display:flex;justify-content:flex-end;align-items:center;background:#313338;margin:0;padding:8px 14px;gap:8px;border-radius:0;border-bottom:1px solid var(--line)}.td-workbench>.editor-toolbar:last-child :is(button,a){font-size:12px;min-height:28px;width:auto;min-width:0;padding:5px 14px;border-radius:2px;border:1px solid #555861;background:#3c3e45;color:#d4d6db;text-decoration:none}.td-workbench>.editor-toolbar:last-child .primary{background:#99642f;border-color:#cf8b45;color:#fff}.td-workbench>.component-library{grid-column:1/4;grid-row:2;padding:5px 12px;display:flex;align-items:center;gap:8px;background:#25272c;border-radius:0;border-bottom:1px solid var(--line);margin:0;overflow:visible;z-index:7}.td-workbench .component-library :is(button,select,summary){font-size:11px;min-height:26px!important;height:28px;padding:4px 9px!important;background:#34363d;color:#c4c8d1;border:1px solid #52555e;border-radius:2px;cursor:pointer}.td-workbench .component-library select{width:80px;margin-left:auto}.td-workbench .compact-toggle{display:flex;align-items:center;gap:5px;margin:0;font-size:11px;white-space:nowrap}.td-workbench .compact-toggle input{width:13px;height:13px;min-height:0;padding:0;accent-color:#d28b42}.insert-menu{position:relative}.insert-menu>summary{list-style:none;color:#e0af75!important}.insert-popover{position:absolute;top:36px;left:0;width:470px;max-height:65vh;overflow:auto;padding:14px;background:#303239;border:1px solid #656974;box-shadow:0 12px 30px #0008;z-index:15;border-radius:4px}.insert-popover>input{width:100%;height:32px;background:#202227;border:1px solid #555861;color:#ddd;padding:6px 10px;margin-bottom:12px;border-radius:2px}.insert-popover>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.insert-popover button{text-align:left}.td-workbench>.editor-settings{grid-column:1;grid-row:3;position:static;max-height:none;min-height:0;overflow:auto;align-self:stretch;background:var(--panel);padding:0;border-radius:0;border-right:1px solid var(--line)}.td-workbench>.editor-workspace{display:contents}.td-workbench .phone-preview{grid-column:2;grid-row:3;max-width:none;width:auto;min-width:0;min-height:0;overflow:auto;padding:48px;margin:0;border-radius:0;box-shadow:none;background-color:#191b1f;background-image:linear-gradient(#41485955 1px,transparent 1px),linear-gradient(90deg,#41485955 1px,transparent 1px),linear-gradient(#33394733 1px,transparent 1px),linear-gradient(90deg,#33394733 1px,transparent 1px);background-size:108px 108px,108px 108px,27px 27px,27px 27px;scrollbar-color:#484b54 #202227}.artboard-frame{margin:0 auto;max-width:none;position:relative}.artboard-label{font-size:11px;color:#8e95a6;position:absolute;top:-23px;left:0;white-space:nowrap}.artboard-frame>.tap-canvas{width:100%;max-width:none;box-shadow:0 0 0 1px #757b8b}.td-workbench .editor-workspace>section.phone-preview:first-child{width:auto;max-width:none;margin:0;justify-self:stretch;align-self:stretch}.artboard-frame>.trial-footer{background:#191b1f}.td-workbench .editor-properties{grid-column:3;grid-row:3;max-height:none;min-height:0;overflow:auto;margin:0;padding:14px;background:var(--panel);border-left:1px solid var(--line);border-radius:0}.td-workbench :is(.editor-properties,.editor-settings) :is(input,select){font-size:12px;min-height:28px;height:30px;padding:4px 7px;background:#202227;color:#cfd3dc;border:1px solid #454850;border-radius:2px}.td-workbench :is(.editor-properties,.editor-settings) input[type=color]{padding:3px}.td-workbench :is(.editor-properties,.editor-settings) label{font-size:11px;color:#aeb3bf;gap:5px;margin:10px 0}.td-workbench :is(.editor-properties,.editor-settings) button{min-height:26px;font-size:11px;padding:5px 8px;background:#383b43;border:1px solid #515560;border-radius:2px;color:#c5cad4}.td-workbench :is(.editor-properties,.editor-settings) h2{font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;color:#e0e2e7}.td-workbench h3{font-size:12px;margin:14px 0 8px;color:#cfd3db;display:flex;justify-content:space-between;border-top:1px solid #444750;padding-top:12px}.td-workbench small{color:#8d94a2;font-size:10px;line-height:1.5}.inspector-type{font-size:10px;color:#d6a265;padding:6px 0}.effects-panel{margin:14px 0}.property-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.property-grid label{min-width:0}.td-workbench .trial-toggle input{width:14px;height:14px;min-height:0;accent-color:#d28b42}.layer-panel{padding:14px 0 10px;border-bottom:1px solid var(--line)}.layer-panel h2{padding:0 14px;display:flex;justify-content:space-between}.align-tools,.order-tools{display:flex;gap:3px;padding:0 10px;flex-wrap:wrap}.align-tools button{min-width:26px;padding:3px!important;flex:1}.order-tools button{flex:1}.panel-help{font-size:10px;color:#858d9c;padding:0 14px;line-height:1.5;margin:8px 0}.layer-list{max-height:290px;overflow:auto;padding:4px 0;margin-bottom:8px}.td-workbench .layer-row{display:flex;align-items:center;min-height:30px;gap:1px;padding:0 6px;border-left:2px solid transparent}.td-workbench .layer-row.active{background:#4c3e30;border-left-color:#d18b44}.td-workbench .layer-row button{border:0;background:transparent;border-radius:0;padding:3px;min-width:24px}.td-workbench .layer-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;display:flex;gap:8px;align-items:center}.layer-name span{color:#8c94a6}.page-settings{padding:14px}.page-settings>summary{cursor:pointer;font-weight:700;color:#ccd0d8}.page-settings p{font-size:11px;color:#8c94a2;line-height:1.6}.td-workbench .image-library>div{max-width:92px}.td-workbench .image-library img{height:60px}.td-workbench button:disabled{opacity:.35}.td-workbench button:focus-visible,.td-workbench input:focus-visible,.td-workbench select:focus-visible{outline:2px solid #d28b42;outline-offset:1px}.td-workbench .canvas-node.selected{outline:2px solid var(--accent);outline-offset:-2px}.resize-handle{position:absolute;bottom:0;right:0;width:12px;height:12px;background:var(--accent,#d28b42);border:2px solid #fff;cursor:nwse-resize;touch-action:none;z-index:5}.td-workbench.grid-off .phone-preview{background-image:none}.td-workbench.grid-off .tap-canvas.editing:before{display:none}.admin-page{max-width:1600px;min-height:100vh;background:#202227;padding:26px 36px;color:#c5c9d2;font-size:13px}.admin-page>header{background:#303238;padding:16px 20px;margin:-26px -36px 20px;border-bottom:1px solid #555861}.admin-page>header h1{font-size:19px;margin:0;color:#e3e3e5}.admin-page>.console,.admin-page .credential-card{background:#2b2d33;border:1px solid #484b55;border-radius:3px;box-shadow:none}.admin-page :is(input,select){background:#1c1e23;border:1px solid #50545e;min-height:34px;border-radius:2px;font-size:13px}.admin-page button{background:#3a3d45;border:1px solid #565c69;border-radius:2px;min-height:32px;font-size:12px;color:#cdd2dd}.admin-page .primary{background:#99642f;border-color:#d28b42;color:#fff}.admin-page h2{font-size:16px}.admin-page .credential-grid{gap:12px}.admin-page label{font-size:12px}.admin-page a{color:#afbed8}.admin-page{background-color:#191b1f;background-image:linear-gradient(#41485933 1px,transparent 1px),linear-gradient(90deg,#41485933 1px,transparent 1px);background-size:108px 108px}@media(max-width:1000px){.studio.td-workbench{grid-template-columns:220px minmax(260px,1fr) 250px}.td-workbench .phone-preview{padding:36px 20px}.td-workbench>.component-library{gap:4px}.td-workbench .component-library :is(button,summary){padding:3px 6px!important}}@media(max-width:760px){.studio.td-workbench{height:auto;min-height:100vh;display:block;overflow:visible}.td-workbench>header{min-height:48px}.td-workbench>.editor-toolbar:last-child{position:sticky;bottom:0}.td-workbench>.editor-settings,.td-workbench .editor-properties{max-height:500px}.td-workbench .phone-preview{max-height:700px;min-height:450px}.td-workbench>.component-library{flex-wrap:wrap;min-height:40px}.insert-popover{width:min(470px,90vw)}.td-workbench>p[role=status]{white-space:normal}.admin-page{padding:20px}.admin-page>header{margin:-20px -20px 20px}.td-workbench>.editor-workspace{display:block}}.component-context-menu{position:fixed;z-index:1000;width:210px;max-height:calc(100vh - 16px);overflow:auto;padding:6px;background:#292c32;border:1px solid #686c76;border-radius:6px;box-shadow:0 12px 36px #0009}.component-context-menu button{display:block;width:100%;min-height:36px;text-align:left;background:transparent;color:#eee;border:0;border-radius:3px;padding:8px 12px;font-size:13px}.component-context-menu button:focus-visible{outline:2px solid #eca444;background:#454952}.component-context-menu button:disabled{opacity:.4}.canvas-node:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.td-workbench .component-library select[aria-label=排列模式]{width:112px;margin-left:0}.td-workbench select{line-height:normal}.artboard-label{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.canvas-mode-indicator{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:3px;background:#303239;color:#e5b67c;border:1px solid #65513c;font-size:10px;line-height:15px}.canvas-mode-indicator:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.canvas-mode-indicator.preview{color:#a7d7bd;border-color:#456050}.canvas-lock-badge{position:absolute;top:4px;right:4px;display:flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:4px;background:#202227e6;color:#fff;box-shadow:0 1px 3px #0005;pointer-events:none;z-index:6}.canvas-lock-badge svg{width:13px;height:13px}.inspector-empty{color:#8d94a2;line-height:1.8;margin:18px 0}.editing .canvas-node:not(.dragging){transition:left 90ms ease-out,top 90ms ease-out}.editing .canvas-node{-webkit-user-select:none;user-select:none}.td-workbench .insert-categories{display:block}.insert-category+.insert-category{margin-top:14px;padding-top:10px;border-top:1px solid #51555e}.insert-category h3{font-size:12px;color:#e0af75;margin:0 0 8px;font-weight:500}.insert-category>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.td-workbench .insert-category button{height:auto;white-space:normal;min-height:32px!important}.user-list{display:grid;gap:8px}.user-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-top:1px solid #484b55}.admin-page button.danger{color:#ffb0a5;border-color:#9b625d}.tap-canvas:not(.editing) .canvas-node[data-node-type=text]{pointer-events:none}@media(prefers-reduced-motion:reduce){.editing .canvas-node{transition:none}}.tap-canvas.theme-garden{--ui-accent:var(--tone-24674c,#24674c);--ui-edge:var(--tone-a8c2b2,#a8c2b2);background-color:var(--tone-e0ebe3,#e0ebe3);box-shadow:inset 0 0 70px var(--tone-c6dacb,#c6dacb);background-image:radial-gradient(ellipse at top left,var(--tone-f5fff8,#f5fff8),transparent 70%)}.tap-canvas.theme-light{--ui-accent:var(--tone-2861d9,#2861d9);--ui-edge:var(--tone-c6d1e4,#c6d1e4);background-color:var(--tone-f3f6fc,#f3f6fc);box-shadow:none;background-image:radial-gradient(var(--tone-ccd6e7,#ccd6e7) .7px,transparent .7px);background-size:16px 16px}.tap-canvas.theme-neon{--ui-accent:var(--tone-d89aff,#d89aff);--ui-edge:var(--tone-8250b1,#8250b1);background-color:var(--tone-100d1c,#100d1c);background-image:radial-gradient(ellipse at top,var(--tone-392150,#392150),transparent 65%);box-shadow:inset 0 0 90px var(--tone-100d1c,#100d1c)}.tap-canvas.theme-paper{--ui-accent:var(--tone-292524,#292524);--ui-edge:var(--tone-292524,#292524);background-color:var(--tone-fff6da,#fff6da);background-image:radial-gradient(var(--tone-b6a67e,#b6a67e) .8px,transparent .8px);background-size:18px 18px;box-shadow:none}.tap-canvas.theme-ocean{--ui-accent:var(--tone-a9eeff,#a9eeff);--ui-edge:var(--tone-91c9d8,#91c9d8);background-color:var(--tone-123c57,#123c57);background-image:radial-gradient(ellipse at top left,var(--tone-57b5bd,#57b5bd),transparent 60%),radial-gradient(ellipse at bottom right,var(--tone-404b92,#404b92),transparent 70%);box-shadow:inset 0 0 60px var(--tone-ffffff12,#ffffff12)}.tap-canvas.theme-garden .canvas-node{border-radius:18px;border:1px solid var(--tone-f4fff790,#f4fff790);box-shadow:6px 6px 12px var(--tone-577f6a38,#577f6a38),-5px -5px 12px var(--tone-ffffff80,#ffffff80)}.tap-canvas.theme-light .canvas-node{border-radius:10px;border:1px solid var(--tone-cbd6e8,#cbd6e8);box-shadow:0 3px 8px var(--tone-244a8010,#244a8010)}.tap-canvas.theme-neon .canvas-node{border-radius:12px;border:1px solid var(--tone-9664c5,#9664c5);box-shadow:0 0 14px var(--tone-ad58f02c,#ad58f02c),inset 0 1px 0 var(--tone-e8c8ff30,#e8c8ff30)}.tap-canvas.theme-paper .canvas-node{border-radius:6px;border:2px solid var(--tone-292524,#292524);box-shadow:4px 4px 0 var(--tone-292524,#292524)}.tap-canvas.theme-ocean .canvas-node{border-radius:22px;border:1px solid var(--tone-c6f5ff80,#c6f5ff80);box-shadow:0 8px 20px var(--tone-041d3d35,#041d3d35),inset 0 1px 0 var(--tone-ffffff55,#ffffff55);background-image:linear-gradient(135deg,var(--tone-ffffff24,#ffffff24),var(--tone-ffffff04,#ffffff04));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tap-canvas .node-content>button{transition:transform .12s,filter .12s;letter-spacing:.02em}.tap-canvas:not(.editing) .node-content>button:enabled:active{transform:translateY(2px) scale(.98);filter:brightness(.91)}.tap-canvas :is(button,input,select):focus-visible{outline:3px solid var(--ui-accent);outline-offset:-4px}.tap-canvas .node-content :is(input:not([type=range]):not([type=radio]):not([type=color]),select){background:var(--tone-ffffff14,#ffffff14);color:inherit;border:1px solid var(--ui-edge);border-radius:6px;min-width:0}.tap-canvas select option{background:var(--tone-f1f5fa,#f1f5fa);color:var(--tone-18243b,#18243b)}.tap-canvas .canvas-slider input{accent-color:var(--ui-accent)}.tap-canvas .canvas-slider input::-webkit-slider-runnable-track{height:6px;border-radius:8px;background:color-mix(in srgb,var(--ui-accent) 25%,transparent)}.tap-canvas .canvas-slider input::-webkit-slider-thumb{margin-top:-5px}.tap-canvas .node-content>button[role=switch]{gap:8px;justify-content:space-between;padding:0 8px}.tap-canvas button[role=switch] .switch-state{position:relative;display:flex;align-items:center;justify-content:flex-end;flex-shrink:0;width:72px;height:30px;padding:0 7px;border-radius:18px;border:1px solid var(--ui-edge);font-size:10px;background:var(--tone-00000018,#00000018)}.tap-canvas button[role=switch] .switch-state:before{content:"";position:absolute;left:4px;top:4px;width:20px;height:20px;border-radius:50%;background:currentColor;box-shadow:0 2px 4px var(--tone-0003,#0003);transition:transform .18s}.tap-canvas button[role=switch][aria-checked=true] .switch-state{justify-content:flex-start;background:var(--ui-accent);color:var(--tone-fff,#fff)}.tap-canvas.theme-neon button[role=switch][aria-checked=true] .switch-state,.tap-canvas.theme-ocean button[role=switch][aria-checked=true] .switch-state{color:var(--tone-192b3c,#192b3c)}.tap-canvas button[role=switch][aria-checked=true] .switch-state:before{transform:translate(42px)}.tap-canvas.theme-paper button[role=switch] .switch-state{border-radius:4px;border-width:2px}.tap-canvas.theme-paper button[role=switch] .switch-state:before{border-radius:2px}.theme-gallery{display:grid;gap:8px;margin:10px 0 16px}.td-workbench .theme-gallery button{display:grid;grid-template-columns:64px 1fr;gap:10px;text-align:left;align-items:center;padding:8px!important;height:auto!important;background:var(--tone-24262c,#24262c)!important;border:1px solid var(--tone-4c505c,#4c505c)!important;color:var(--tone-e4e6ec,#e4e6ec)!important}.td-workbench .theme-gallery button[aria-pressed=true]{border-color:var(--tone-e5a35e,#e5a35e)!important;background:var(--tone-36312d,#36312d)!important}.theme-gallery small{display:block;font-size:10px;color:var(--tone-aeb4c1,#aeb4c1);margin-top:4px}.theme-swatch{position:relative;overflow:hidden;isolation:isolate;height:44px;border-radius:6px;display:grid;place-items:center;background:var(--swatch-bg)}.theme-swatch i{display:block;width:38px;height:22px;background:var(--swatch-face);border:var(--swatch-border);border-radius:var(--swatch-radius);box-shadow:var(--swatch-shadow)}.swatch-garden{--swatch-bg:var(--tone-dcebe3,#dcebe3);--swatch-face:var(--tone-c2e8d1,#c2e8d1);--swatch-border:1px solid var(--tone-f7fff9,#f7fff9);--swatch-radius:8px;--swatch-shadow:3px 3px 6px var(--tone-8ca998,#8ca998),-3px -3px 6px var(--tone-fff,#fff)}.swatch-light{--swatch-bg:var(--tone-eff4ff,#eff4ff);--swatch-face:var(--tone-fff,#fff);--swatch-border:1px solid var(--tone-aabfe2,#aabfe2);--swatch-radius:4px;--swatch-shadow:0 2px 4px var(--tone-c3cfe3,#c3cfe3)}.swatch-neon{--swatch-bg:var(--tone-1d142c,#1d142c);--swatch-face:var(--tone-402666,#402666);--swatch-border:1px solid var(--tone-c17eff,#c17eff);--swatch-radius:5px;--swatch-shadow:0 0 9px var(--tone-b057d8,#b057d8)}.swatch-paper{--swatch-bg:var(--tone-fff3cf,#fff3cf);--swatch-face:var(--tone-ffcf4d,#ffcf4d);--swatch-border:2px solid var(--tone-292524,#292524);--swatch-radius:2px;--swatch-shadow:3px 3px 0 var(--tone-292524,#292524)}.swatch-ocean{--swatch-bg:linear-gradient(135deg,var(--tone-61c2c5,#61c2c5),var(--tone-253b6f,#253b6f));--swatch-face:var(--tone-5191ab,#5191ab);--swatch-border:1px solid var(--tone-b8f2ff,#b8f2ff);--swatch-radius:9px;--swatch-shadow:inset 0 1px 0 var(--tone-fff8,#fff8),0 3px 7px var(--tone-173f69,#173f69)}@media(prefers-reduced-motion:reduce){.tap-canvas *,.tap-canvas *:before{transition:none!important}}.tap-canvas.theme-clay{--ui-accent:var(--tone-a43d72,#a43d72);--ui-edge:var(--tone-dfadc4,#dfadc4);background-color:var(--tone-fae7e8,#fae7e8);background-image:radial-gradient(ellipse at top,var(--tone-fff9ee,#fff9ee),transparent 75%);background-size:cover;box-shadow:none}.tap-canvas.theme-clay .canvas-node{border-radius:26px;border:2px solid var(--tone-fff5,#fff5);box-shadow:inset 4px 4px 9px var(--tone-fff9,#fff9),inset -5px -5px 9px var(--tone-a75b7b24,#a75b7b24),5px 8px 15px var(--tone-8f55752b,#8f55752b)}.swatch-clay{--swatch-bg:var(--tone-fae7e8,#fae7e8);--swatch-face:var(--tone-ffc8d4,#ffc8d4);--swatch-border:2px solid var(--tone-fff5,#fff5);--swatch-radius:13px;--swatch-shadow:inset 4px 4px 9px var(--tone-fff9,#fff9),inset -5px -5px 9px var(--tone-a75b7b24,#a75b7b24),5px 8px 15px var(--tone-8f55752b,#8f55752b)}.tap-canvas.theme-terminal{--ui-accent:var(--tone-8ef0af,#8ef0af);--ui-edge:var(--tone-377c52,#377c52);background-color:var(--tone-07140e,#07140e);background-image:repeating-linear-gradient(0deg,transparent 0 3px,var(--tone-72e99408,#72e99408) 3px 4px);background-size:cover;box-shadow:none}.tap-canvas.theme-terminal .canvas-node{border-radius:2px;border:1px solid var(--tone-3c8c58,#3c8c58);box-shadow:inset 0 0 12px var(--tone-64f98d12,#64f98d12),0 0 7px var(--tone-37b16020,#37b16020)}.swatch-terminal{--swatch-bg:var(--tone-07140e,#07140e);--swatch-face:var(--tone-102b1d,#102b1d);--swatch-border:1px solid var(--tone-3c8c58,#3c8c58);--swatch-radius:1px;--swatch-shadow:inset 0 0 12px var(--tone-64f98d12,#64f98d12),0 0 7px var(--tone-37b16020,#37b16020)}.tap-canvas.theme-industrial{--ui-accent:var(--tone-efac58,#efac58);--ui-edge:var(--tone-72777d,#72777d);background-color:var(--tone-202328,#202328);background-image:repeating-linear-gradient(135deg,var(--tone-ffffff04,#ffffff04) 0 2px,transparent 2px 8px);background-size:cover;box-shadow:none}.tap-canvas.theme-industrial .canvas-node{border-radius:4px;border:2px solid var(--tone-73787d,#73787d);box-shadow:inset 0 2px 0 var(--tone-ffffff28,#ffffff28),inset 0 -4px 0 var(--tone-0005,#0005),0 4px 0 var(--tone-101216,#101216)}.swatch-industrial{--swatch-bg:var(--tone-202328,#202328);--swatch-face:var(--tone-59432c,#59432c);--swatch-border:2px solid var(--tone-73787d,#73787d);--swatch-radius:2px;--swatch-shadow:inset 0 2px 0 var(--tone-ffffff28,#ffffff28),inset 0 -4px 0 var(--tone-0005,#0005),0 4px 0 var(--tone-101216,#101216)}.tap-canvas.theme-cyber{--ui-accent:var(--tone-e4f25f,#e4f25f);--ui-edge:var(--tone-acb63b,#acb63b);background-color:var(--tone-10160e,#10160e);background-image:linear-gradient(90deg,var(--tone-b7ce2a10,#b7ce2a10) 1px,transparent 1px),linear-gradient(var(--tone-b7ce2a10,#b7ce2a10) 1px,transparent 1px);background-size:20px 20px;box-shadow:none}.tap-canvas.theme-cyber .canvas-node{border-radius:0;border:1px solid var(--tone-abb644,#abb644);box-shadow:inset 4px 0 0 var(--tone-dbea62,#dbea62),0 0 18px var(--tone-b8e84715,#b8e84715)}.swatch-cyber{--swatch-bg:var(--tone-10160e,#10160e);--swatch-face:var(--tone-3b401c,#3b401c);--swatch-border:1px solid var(--tone-abb644,#abb644);--swatch-radius:0px;--swatch-shadow:inset 4px 0 0 var(--tone-dbea62,#dbea62),0 0 18px var(--tone-b8e84715,#b8e84715)}.tap-canvas.theme-sunset{--ui-accent:var(--tone-ffdfb0,#ffdfb0);--ui-edge:var(--tone-e8ad94,#e8ad94);background-color:var(--tone-45293e,#45293e);background-image:radial-gradient(ellipse at top,var(--tone-d88752,#d88752),transparent 72%);background-size:cover;box-shadow:none}.tap-canvas.theme-sunset .canvas-node{border-radius:20px;border:1px solid var(--tone-ffc6ac66,#ffc6ac66);box-shadow:0 8px 18px var(--tone-3e1a3433,#3e1a3433),inset 0 1px 0 var(--tone-ffe6bc66,#ffe6bc66)}.swatch-sunset{--swatch-bg:var(--tone-45293e,#45293e);--swatch-face:var(--tone-a65340,#a65340);--swatch-border:1px solid var(--tone-ffc6ac66,#ffc6ac66);--swatch-radius:10px;--swatch-shadow:0 8px 18px var(--tone-3e1a3433,#3e1a3433),inset 0 1px 0 var(--tone-ffe6bc66,#ffe6bc66)}.tap-canvas.theme-aurora{--ui-accent:var(--tone-7ee8ca,#7ee8ca);--ui-edge:var(--tone-55aaab,#55aaab);background-color:var(--tone-0d2235,#0d2235);background-image:radial-gradient(ellipse at top left,var(--tone-267f74,#267f74),transparent 60%),radial-gradient(ellipse at bottom right,var(--tone-553b8a,#553b8a),transparent 70%);background-size:cover;box-shadow:none}.tap-canvas.theme-aurora .canvas-node{border-radius:16px;border:1px solid var(--tone-65cec188,#65cec188);box-shadow:inset 0 2px 0 var(--tone-96f7e75c,#96f7e75c),0 0 18px var(--tone-45d8b11a,#45d8b11a)}.swatch-aurora{--swatch-bg:var(--tone-0d2235,#0d2235);--swatch-face:var(--tone-215b60,#215b60);--swatch-border:1px solid var(--tone-65cec188,#65cec188);--swatch-radius:8px;--swatch-shadow:inset 0 2px 0 var(--tone-96f7e75c,#96f7e75c),0 0 18px var(--tone-45d8b11a,#45d8b11a)}.tap-canvas.theme-blueprint{--ui-accent:var(--tone-c7edff,#c7edff);--ui-edge:var(--tone-9ccce9,#9ccce9);background-color:var(--tone-103c67,#103c67);background-image:linear-gradient(var(--tone-91c6e31c,#91c6e31c) 1px,transparent 1px),linear-gradient(90deg,var(--tone-91c6e31c,#91c6e31c) 1px,transparent 1px);background-size:20px 20px;box-shadow:none}.tap-canvas.theme-blueprint .canvas-node{border-radius:2px;border:3px double var(--tone-9ccce9,#9ccce9);box-shadow:none}.swatch-blueprint{--swatch-bg:var(--tone-103c67,#103c67);--swatch-face:var(--tone-1c5587,#1c5587);--swatch-border:3px double var(--tone-9ccce9,#9ccce9);--swatch-radius:1px;--swatch-shadow:none}.tap-canvas.theme-pixel{--ui-accent:var(--tone-ffdc81,#ffdc81);--ui-edge:var(--tone-e2c18a,#e2c18a);background-color:var(--tone-211c35,#211c35);background-image:repeating-linear-gradient(0deg,var(--tone-ffffff04,#ffffff04) 0 2px,transparent 2px 6px);background-size:cover;box-shadow:none}.tap-canvas.theme-pixel .canvas-node{border-radius:0;border:3px solid var(--tone-d3ba91,#d3ba91);box-shadow:4px 4px 0 var(--tone-100e19,#100e19),inset -3px -3px 0 var(--tone-0004,#0004),inset 3px 3px 0 var(--tone-fff2,#fff2)}.swatch-pixel{--swatch-bg:var(--tone-211c35,#211c35);--swatch-face:var(--tone-5a426a,#5a426a);--swatch-border:3px solid var(--tone-d3ba91,#d3ba91);--swatch-radius:0px;--swatch-shadow:4px 4px 0 var(--tone-100e19,#100e19),inset -3px -3px 0 var(--tone-0004,#0004),inset 3px 3px 0 var(--tone-fff2,#fff2)}.tap-canvas.theme-ink{--ui-accent:var(--tone-171717,#171717);--ui-edge:var(--tone-171717,#171717);background-color:var(--tone-e5e5e5,#e5e5e5);background-image:repeating-linear-gradient(135deg,var(--tone-1717170a,#1717170a) 0 1px,transparent 1px 8px);background-size:cover;box-shadow:none}.tap-canvas.theme-ink .canvas-node{border-radius:0;border:2px solid var(--tone-171717,#171717);box-shadow:5px 5px 0 var(--tone-171717,#171717)}.swatch-ink{--swatch-bg:var(--tone-e5e5e5,#e5e5e5);--swatch-face:var(--tone-ffffff,#ffffff);--swatch-border:2px solid var(--tone-171717,#171717);--swatch-radius:0px;--swatch-shadow:5px 5px 0 var(--tone-171717,#171717)}.tap-canvas.theme-velvet{--ui-accent:var(--tone-e6c27b,#e6c27b);--ui-edge:var(--tone-9a8051,#9a8051);background-color:var(--tone-131416,#131416);background-image:radial-gradient(ellipse at top,var(--tone-413729,#413729),transparent 70%);background-size:cover;box-shadow:none}.tap-canvas.theme-velvet .canvas-node{border-radius:12px;border:1px solid var(--tone-a58a57,#a58a57);box-shadow:inset 0 1px 0 var(--tone-e9c98140,#e9c98140),0 6px 16px var(--tone-0004,#0004)}.swatch-velvet{--swatch-bg:var(--tone-131416,#131416);--swatch-face:var(--tone-35302a,#35302a);--swatch-border:1px solid var(--tone-a58a57,#a58a57);--swatch-radius:6px;--swatch-shadow:inset 0 1px 0 var(--tone-e9c98140,#e9c98140),0 6px 16px var(--tone-0004,#0004)}.tap-canvas:is(.theme-terminal,.theme-cyber,.theme-pixel,.theme-blueprint) .node-content{font-family:Consolas,Microsoft YaHei,monospace;letter-spacing:.04em}.tap-canvas:is(.theme-terminal,.theme-cyber,.theme-industrial,.theme-sunset,.theme-aurora,.theme-blueprint,.theme-pixel,.theme-velvet) button[role=switch][aria-checked=true] .switch-state{color:var(--tone-172326,#172326)}.tap-canvas:is(.theme-pixel,.theme-industrial,.theme-blueprint,.theme-cyber,.theme-ink) button[role=switch] .switch-state,.tap-canvas:is(.theme-pixel,.theme-industrial,.theme-blueprint,.theme-cyber,.theme-ink) button[role=switch] .switch-state:before{border-radius:2px}.tap-canvas.theme-glow{--ui-accent:var(--tone-d9b0ff,#d9b0ff);--ui-edge:var(--tone-d9b0ff,#d9b0ff);background:var(--tone-18121f,#18121f);background-image:radial-gradient(ellipse at top,var(--tone-322341,#322341),transparent 70%)}.tap-canvas.theme-glow .canvas-node{border:3px solid var(--tone-d9b0ff,#d9b0ff);border-radius:18px;box-shadow:0 0 12px var(--tone-d9b0ff88,#d9b0ff88),0 0 32px var(--tone-bf7bff55,#bf7bff55),inset 0 0 12px var(--tone-d9b0ff44,#d9b0ff44);text-shadow:0 0 8px var(--tone-d9b0ff55,#d9b0ff55);transition:box-shadow .2s}.tap-canvas.theme-lime{--ui-accent:var(--tone-adff2f,#adff2f);--ui-edge:var(--tone-adff2f,#adff2f);background:var(--tone-171a15,#171a15);background-image:none;box-shadow:none}.tap-canvas.theme-lime .canvas-node{border:1px solid color-mix(in srgb,var(--ui-accent) 42%,var(--ui-node-surface,var(--tone-212121,#212121)));border-radius:18px;box-shadow:none}.tap-canvas.theme-lime .canvas-node[data-node-type=button] .node-content{padding-inline:20px}.tap-canvas.theme-lime .completion-replay>svg{display:none}.tap-canvas.theme-spark{--ui-accent:var(--tone-c4a2ff,#c4a2ff);--ui-edge:var(--tone-76608e,#76608e);background:var(--tone-151317,#151317);background-image:radial-gradient(ellipse at top,var(--tone-292333,#292333),transparent 70%)}.tap-canvas.theme-spark .canvas-node{border:1px solid var(--tone-55505e,#55505e);border-radius:40px;box-shadow:inset 0 1px 0 var(--tone-ffffff77,#ffffff77),inset 0 -2px 3px var(--tone-0009,#0009),0 6px 18px var(--tone-0005,#0005);transition:box-shadow .18s ease-out}.tap-canvas.theme-spark .canvas-node[data-node-type=button]:before{content:"✦";position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--tone-eee8fb,#eee8fb);pointer-events:none;transition:transform .18s cubic-bezier(.23,1,.32,1),color .18s ease-out}.tap-canvas.theme-spark .canvas-node[data-node-type=button] .node-content{padding-left:44px;padding-right:20px}.tap-canvas.theme-ivory{--ui-accent:var(--tone-57534e,#57534e);--ui-edge:var(--tone-c9c7c2,#c9c7c2);background:var(--tone-fafafa,#fafafa);background-image:radial-gradient(ellipse at top,var(--tone-e5e3de55,#e5e3de55),transparent 80%)}.tap-canvas.theme-ivory .canvas-node{border:4px solid var(--tone-d6d3cf77,#d6d3cf77);border-radius:16px;background-image:linear-gradient(var(--tone-fff9,#fff9),var(--tone-e7e5e422,#e7e5e422));box-shadow:inset 0 0 0 4px var(--tone-ffffffaa,#ffffffaa),inset 0 6px 10px var(--tone-d6d3d144,#d6d3d144),0 2px 4px var(--tone-0005,#0005);transition:box-shadow .15s}.tap-canvas.theme-spectrum{--ui-accent:var(--tone-70e6da,#70e6da);--ui-edge:var(--tone-ffffff55,#ffffff55);background:var(--tone-111a25,#111a25);background-image:radial-gradient(ellipse at top left,var(--tone-39596a80,#39596a80),transparent 70%),radial-gradient(ellipse at bottom right,var(--tone-63497366,#63497366),transparent 65%)}.tap-canvas.theme-spectrum .canvas-node{border:2px solid transparent;border-radius:24px;background-image:linear-gradient(135deg,var(--tone-ffffff14,#ffffff14),var(--tone-ffffff02,#ffffff02)),linear-gradient(100deg,var(--tone-a36dff66,#a36dff66),var(--tone-55e5de66,#55e5de66),var(--tone-ffe28a55,#ffe28a55));box-shadow:inset 0 1px 0 var(--tone-ffffff66,#ffffff66),inset 0 -1px 0 var(--tone-ffffff16,#ffffff16),0 8px 25px var(--tone-0003,#0003);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tap-canvas.theme-spectrum .canvas-node[data-node-type=slider] input::-webkit-slider-runnable-track{height:9px;background:linear-gradient(90deg,var(--tone-bb84ff,#bb84ff),var(--tone-79deff,#79deff),var(--tone-74eec6,#74eec6),var(--tone-ffd77a,#ffd77a));border-radius:10px}.swatch-glow{background:var(--tone-643d88,#643d88);box-shadow:inset 0 0 0 2px var(--tone-d9b0ff,#d9b0ff),inset 0 0 15px var(--tone-d9b0ff,#d9b0ff),0 0 10px var(--tone-bf7bff66,#bf7bff66)}.swatch-lime{--swatch-bg:var(--tone-171a15,#171a15);--swatch-face:var(--tone-212121,#212121);--swatch-border:1px solid color-mix(in srgb,var(--tone-adff2f,#adff2f) 42%,var(--tone-212121,#212121));--swatch-radius:6px;--swatch-shadow:none;border:1px solid color-mix(in srgb,var(--tone-adff2f,#adff2f) 42%,var(--tone-212121,#212121));border-radius:8px}.swatch-spark{background:linear-gradient(var(--tone-29252e,#29252e),var(--tone-19181d,#19181d));border:1px solid var(--tone-8f7fa2,#8f7fa2)!important;border-radius:25px!important}.swatch-spark:after{content:"✦";position:absolute;left:9px;top:4px;color:var(--tone-c4a2ff,#c4a2ff);font-size:22px}.swatch-ivory{background:linear-gradient(var(--tone-fff,#fff),var(--tone-ecebe7,#ecebe7));border:4px solid var(--tone-d6d3d1,#d6d3d1)!important;box-shadow:inset 0 0 0 3px var(--tone-fff,#fff),0 2px 3px var(--tone-0005,#0005)}.swatch-spectrum{background:linear-gradient(115deg,var(--tone-ad80e8aa,#ad80e8aa),var(--tone-69d5dfa0,#69d5dfa0),var(--tone-ffdb90aa,#ffdb90aa));border:2px solid var(--tone-ffffff77,#ffffff77)!important;box-shadow:inset 0 1px 0 var(--tone-fff9,#fff9)}@media(hover:hover)and (pointer:fine){.tap-canvas.theme-glow:not(.editing) .canvas-node:has(button:enabled:hover){box-shadow:0 0 18px var(--tone-e7ceffbb,#e7ceffbb),0 0 45px var(--tone-bf7bff77,#bf7bff77),inset 0 0 20px var(--tone-d9b0ff55,#d9b0ff55)}.tap-canvas.theme-lime:not(.editing) .canvas-node:not(.background-hidden):has(button:enabled:hover){border-color:color-mix(in srgb,var(--ui-accent) 75%,var(--ui-node-surface,var(--tone-212121,#212121)))}.tap-canvas.theme-spark:not(.editing) .canvas-node:has(button:enabled:hover){background-image:radial-gradient(ellipse at bottom,var(--tone-8a57d877,#8a57d877),transparent 80%);box-shadow:inset 0 1px 0 var(--tone-fff9,#fff9),0 0 0 3px var(--tone-8f57d849,#8f57d849),0 8px 22px var(--tone-0005,#0005)}.tap-canvas.theme-spark:not(.editing) .canvas-node:has(button:enabled:hover):before{color:var(--tone-d3b0ff,#d3b0ff);transform:translateY(-50%) rotate(30deg) scale(1.15)}}.tap-canvas .radio-group{width:100%;height:100%;min-width:0;min-height:0;display:flex;flex-direction:column;gap:8px;overflow:hidden;line-height:1.35}.tap-canvas .radio-title{flex:0 0 auto;font:inherit;overflow-wrap:anywhere}.tap-canvas .radio-options{flex:1;min-height:0;overflow:visible;display:flex;flex-direction:column;gap:4px;scrollbar-width:thin}.tap-canvas .radio-options>label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;margin:0!important;padding:6px 0;min-height:44px;flex:0 0 auto;font:inherit!important;line-height:1.35!important}.tap-canvas .radio-options input[type=radio]{flex:0 0 18px;width:18px!important;height:18px!important;min-height:0!important;margin:0!important;padding:0!important;accent-color:var(--ui-accent)}.tap-canvas .radio-options span{flex:1;min-width:0;overflow-wrap:anywhere;white-space:normal}.tap-canvas .node-content>img{object-fit:contain}.td-workbench .theme-gallery{margin-bottom:10px}.tap-canvas .canvas-node.background-hidden,.tap-canvas .background-hidden .node-content,.tap-canvas .background-hidden .node-content :is(button,input,select,.xy-pad,.drawing-surface,.widget-stack,.drawing-widget,.drawing-tools,.drawing-actions,.radio-group,.radio-options,.tab-strip,.playback,label){background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.tap-canvas .background-hidden .node-content :is(button,input:not([type=range]):not([type=radio]),select,.xy-pad,.drawing-surface){border-color:transparent!important}.tap-canvas .background-hidden .tab-strip [aria-selected=true]{color:inherit;text-decoration:underline;text-underline-offset:4px}.tap-canvas .background-hidden button[role=switch] .switch-state{background:transparent!important;color:inherit!important;border-color:transparent!important}.tap-canvas .background-hidden button[role=switch] .switch-state:before{box-shadow:none}.tap-canvas .background-hidden input[type=color]::-webkit-color-swatch-wrapper{padding:3px}.tap-canvas .background-hidden select option{background:Canvas;color:CanvasText}body{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable=true]{user-select:text;-webkit-user-select:text}.tap-canvas,.tap-canvas *{-webkit-tap-highlight-color:transparent}.tap-canvas .node-part{display:contents!important}.tap-canvas .node-content{font:inherit}.tap-canvas .node-content>.node-part>button{width:100%;height:100%;border:0;background:transparent;color:inherit;font:inherit;padding:4px;min-height:0}.tap-canvas .node-content>.node-part>button[role=switch]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px}.counter-widget{display:flex;flex-direction:column;justify-content:center;gap:8px;width:100%;height:100%}.counter-widget>div{display:flex;align-items:center;justify-content:center;gap:16px}.tap-canvas .counter-widget button{flex:0 0 44px;width:44px;min-height:44px;border:1px solid currentColor;border-radius:8px;background:transparent;font:inherit;color:inherit;font-size:24px}.counter-widget output{min-width:40px;text-align:center;font-variant-numeric:tabular-nums}.rgba-fields{display:flex;gap:8px;min-width:0}.tap-canvas .rgba-fields label{flex:1;min-width:0;font-size:11px;gap:2px}.tap-canvas .rgba-fields input{font-size:14px;padding:4px!important;min-width:0}.tap-canvas .node-content>span:has(>img){display:contents!important}.tap-canvas .node-content:has(img){padding:0}.tap-canvas .xy-pad:focus:not(:focus-visible){outline:none}.canvas-page-tabs{position:relative;z-index:2;display:flex;align-items:center;width:100%;box-sizing:border-box;padding:4px 8px;background:#22272e;border-bottom:1px solid #ffffff33}.canvas-page-tabs [role=tablist]{display:flex;width:100%;gap:6px;overflow-x:auto}.canvas-page-tabs button{flex:0 0 auto;min-height:36px;padding:6px 14px;color:#fff;background:transparent;border:1px solid #ffffff33;border-radius:6px;font-size:14px}.canvas-page-tabs button[aria-selected=true]{background:var(--ui-accent,#efb16b);color:#172019}.drawing-widget{overflow:visible}.drawing-surface circle{pointer-events:none}.component-parts{margin:12px 0;padding:8px;border:1px solid #454850;border-radius:3px}.component-parts legend{color:#cfd3dc}.td-workbench .component-parts label{margin:4px 0;font-size:11px}.tap-canvas .canvas-node.background-hidden:before,.tap-canvas .canvas-node.background-hidden:after{display:none!important}.tap-canvas .background-hidden[data-node-type=button] .node-content{padding:8px}.tap-canvas .canvas-node[data-node-type=divider]{background:transparent!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;overflow:visible}.tap-canvas .canvas-node[data-node-type=divider]:before,.tap-canvas .canvas-node[data-node-type=divider]:after{display:none!important}.tap-canvas .canvas-node[data-node-type=divider] .node-content{display:block!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.tap-canvas .canvas-node[data-node-type=divider] hr{position:absolute;left:0;width:100%;margin:0!important;border:0!important;background:currentColor!important;box-shadow:none!important}.tap-canvas .canvas-node.text-overlay,.tap-canvas .canvas-node.text-overlay .node-content{background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.tap-canvas .canvas-node.text-overlay:before,.tap-canvas .canvas-node.text-overlay:after{display:none!important}.tap-canvas:not(.editing) .canvas-node[data-readonly-display]{cursor:default;touch-action:pan-y;pointer-events:auto!important}.tap-canvas:not(.editing) .canvas-node[data-node-type=text][data-text-mode=card]{pointer-events:auto!important;cursor:default}.tap-canvas:not(.editing) .canvas-node.text-overlay,.tap-canvas:not(.editing) .canvas-node.text-overlay *{pointer-events:none!important}.tap-canvas .canvas-node:is([data-node-type=select],[data-node-type=color],[data-node-type=input],[data-node-type=radio],[data-node-type=counter],[data-node-type=playback],[data-node-type=xy],[data-node-type=joystick],[data-node-type=slider],[data-node-type=drawing]) .node-content{display:block;padding:12px 14px;overflow:visible;line-height:1.35}.tap-canvas .canvas-node .widget-stack,.tap-canvas .canvas-node .counter-widget{height:auto;min-height:100%;gap:8px}.tap-canvas .canvas-node .drawing-widget{height:auto;min-height:100%}.tap-canvas .widget-stack>input,.tap-canvas .widget-stack>select,.tap-canvas .widget-stack>.node-part>input,.tap-canvas .widget-stack>.node-part>select,.tap-canvas .rgba-fields{flex-shrink:0}.tap-canvas .rgba-fields label{line-height:1.35}.tap-canvas .canvas-node[data-node-type=select] select{padding:8px 10px!important;line-height:1.35}.tap-canvas .rgba-picker input[type=color]{padding:5px 6px!important;background:transparent;border:1px solid var(--ui-edge);border-radius:6px}.tap-canvas .rgba-picker input[type=color]::-webkit-color-swatch{border:0;border-radius:3px}.tap-canvas .rgba-picker input[type=color]::-moz-color-swatch{border:0;border-radius:3px}.tap-canvas .canvas-node[data-node-type=radio] .radio-group{height:auto;min-height:100%;overflow:visible}.tap-canvas .canvas-node[data-node-type=radio] .radio-options{flex-shrink:0;overflow:visible}.tap-canvas .canvas-slider{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px!important}.tap-canvas .canvas-slider>.part-title{display:block;grid-column:1;min-width:0}.tap-canvas .canvas-slider>.part-value{display:block;grid-column:2}.tap-canvas .canvas-slider>.part-control{display:block;grid-column:1/-1}.tap-canvas .canvas-slider output{position:static;display:block;white-space:nowrap}.tap-canvas .node-content{border-radius:inherit}.tap-canvas:not(.editing) .canvas-node{transition:background-color .12s,box-shadow .2s}.tap-canvas:not(.editing) .node-content :is(button,input,select,.xy-pad,.drawing-surface){transition:background-color .12s,box-shadow .12s;touch-action:manipulation}.tap-canvas:not(.editing) .node-content :is(.xy-pad,.drawing-surface){touch-action:none}.tap-canvas:not(.editing) .node-content :is(button,input,select,.xy-pad):is([data-ui-pressed],[data-ui-feedback],button:enabled:active){background-color:var(--ui-press-surface)!important;color:var(--ui-press-ink)!important;-webkit-text-fill-color:var(--ui-press-ink)!important;box-shadow:inset 0 0 0 1.5px var(--ui-press-ring)!important}.tap-canvas:not(.editing) .node-content button:enabled:active{transform:none!important;filter:none!important}.tap-canvas:not(.editing) .canvas-node:not(.background-hidden):is([data-node-type=button],[data-node-type=hold],[data-node-type=preset],[data-node-type=toggle],[data-node-type=end],[data-node-type=restore]) .node-content>.node-part>button{background:transparent!important;color:inherit!important;box-shadow:none!important;border-radius:inherit}.tap-canvas:not(.editing) .canvas-node:not(.background-hidden):is([data-node-type=button],[data-node-type=hold],[data-node-type=preset],[data-node-type=toggle],[data-node-type=end],[data-node-type=restore]):has(button:is([data-ui-pressed],[data-ui-feedback],:enabled:active,[aria-checked=true])){background-color:var(--ui-press-surface)!important;color:var(--ui-press-ink)!important}.tap-canvas:not(.editing) .canvas-node:not(.background-hidden):is([data-node-type=button],[data-node-type=hold],[data-node-type=preset],[data-node-type=toggle],[data-node-type=end],[data-node-type=restore]):has(button:is([data-ui-pressed],[data-ui-feedback],:enabled:active,[aria-checked=true])) .node-content{background:var(--ui-press-surface)!important;box-shadow:inset 0 0 0 1.5px var(--ui-press-ring)!important}.tap-canvas:not(.editing) .node-content button:is([data-ui-pressed],[data-ui-feedback],:enabled:active) :is(.part-title,.part-value){color:inherit!important;-webkit-text-fill-color:currentColor!important}.tap-canvas:not(.editing) .node-content :is(input,select,.xy-pad,.drawing-surface):is([data-ui-pressed],[data-ui-feedback],:focus-visible){outline:1px solid var(--ui-accent);outline-offset:-2px}.tap-canvas .node-content button:is([role=tab][aria-selected=true],[aria-pressed=true]),.tap-canvas .radio-options>label:has(input:is(:checked,[data-ui-pressed],[data-ui-feedback])){background-color:var(--ui-press-surface);color:var(--ui-press-ink);box-shadow:inset 0 0 0 1.5px var(--ui-press-ring)}.tap-canvas .radio-options>label{padding-inline:8px;border-radius:6px}.tap-canvas .canvas-node button[role=switch][aria-checked=true] .switch-state{background:var(--ui-press-surface);color:inherit;border-color:var(--ui-accent)}.tap-canvas:not(.editing) .canvas-node.background-hidden .node-content :is(button,input,select,.xy-pad):is([data-ui-pressed],[data-ui-feedback],button:enabled:active),.tap-canvas .background-hidden .radio-options>label:has(input:checked){background:transparent!important;color:inherit!important;-webkit-text-fill-color:currentColor!important;box-shadow:none!important;text-decoration:underline;text-underline-offset:4px}.tap-canvas:not(.editing) .canvas-node.background-hidden:has(:is([data-ui-pressed],[data-ui-feedback])){outline:3px solid var(--ui-edge);outline-offset:-3px}.theme-color-controls{margin:14px 0;padding:10px;border:1px solid #4c505b;border-radius:5px}.theme-color-controls h3{margin:0 0 8px}.theme-color-controls output{font-variant-numeric:tabular-nums}.theme-color-controls input[type=range]{min-height:26px;padding:0}.theme-color-controls .tone-field{display:grid;grid-template-columns:1fr 70px;gap:8px;align-items:center}.theme-color-controls small{display:block;margin:8px 0;color:#aeb4c1}[data-visitor-feedback] :is(.action,.primary,.end):is([data-ui-pressed],[data-ui-feedback]){background:#456341;box-shadow:inset 0 0 0 2px #d6f59a}@media(prefers-reduced-motion:reduce){.tap-canvas .node-content *{transition:none!important}.tap-canvas .node-content button{transform:none!important}}html:has(.portal-page,.admin-page){background:#1b1f26}body:has(.portal-page,.admin-page){min-height:100dvh;background:#1b1f26;color:#cbd2dc;font-family:Arial,Microsoft YaHei,sans-serif;color-scheme:dark}.admin-page .credential-card.is-disabled,.admin-page .user-row.is-disabled{border:1px solid #b44f55;background:#43272e;color:#ffd2d4;padding:16px}.admin-page .credential-card.is-disabled h2,.admin-page .user-row.is-disabled span{color:#ffafb5}.td-workbench .canvas-node.feature-disabled{background:#171b22!important;background-image:none!important;border-color:#303744!important;box-shadow:none!important;color:#606a78!important}.td-workbench .feature-disabled .node-content{filter:grayscale(1);opacity:.35}.tap-canvas:not(.editing) .feature-disabled .node-content{filter:grayscale(1);opacity:.35}.td-workbench .feature-disabled:after{content:"功能未开启";position:absolute;right:6px;bottom:4px;font:10px/1.5 Arial,Microsoft YaHei,sans-serif;color:#7b8492;pointer-events:none}.td-workbench button:disabled,.td-workbench select:disabled,.td-workbench input:disabled{background:#171b22!important;border-color:#303744!important;color:#596372!important;opacity:1!important;cursor:not-allowed!important;box-shadow:none!important}.td-workbench label:has(input[type=file]:disabled){opacity:1;color:#657080}.td-workbench input[type=file]:disabled::file-selector-button{background:#202630;border:1px solid #343e4b;border-radius:2px;color:#657080;padding:5px 8px;cursor:not-allowed}.publication-dialog{width:min(680px,calc(100vw - 32px));max-height:85dvh;overflow:auto;background:#252b34;color:#d5deea;border:1px solid #b8753b;border-radius:6px;padding:24px;font:14px/1.65 Arial,Microsoft YaHei,sans-serif}.publication-dialog::backdrop{background:#070b12b8}.publication-dialog h2{font-size:20px;margin:0 0 16px}.publication-dialog .publication-warning{color:#ffb8a8}.publication-dialog li{padding:14px 0;border-top:1px solid #4a5566}.publication-dialog li p{margin:8px 0}.publication-dialog mark{display:inline-block;margin:0 6px 4px 0;background:#6c3428;color:#ffe0b8;padding:1px 5px}.publication-dialog blockquote{margin:8px 0;padding:8px 12px;background:#1c222b;overflow-wrap:anywhere}.publication-dialog small{display:block;color:#a6b2c4}.publication-dialog button{padding:8px 12px;margin:10px 8px 0 0;border:1px solid #d28b42;background:#2d333d;color:#e9bb88;border-radius:3px;font:inherit;cursor:pointer}.publication-dialog{box-sizing:border-box;box-shadow:0 16px 60px #0008;overflow-wrap:anywhere}.publication-dialog .publication-dialog-actions{display:flex;justify-content:flex-end;border-top:1px solid #414b5a;margin-top:20px;padding-top:10px}.publication-dialog-actions button{min-width:88px;min-height:40px;margin-right:0}.publication-dialog .publication-component{padding:8px 12px;border-left:2px solid #d28b42;background:#202630;color:#d1d9e5;font-size:13px}.publication-dialog .publication-component small{margin-top:4px}.moderation-history{width:min(840px,calc(100vw - 32px))}.moderation-history>p{font-size:12px;color:#9da9b9}.moderation-event-list{list-style:none;padding:0;margin:16px 0}.moderation-event-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;color:#e4b17c}.moderation-event-heading span{color:#9da9b9;font-size:12px}.moderation-event-list summary{cursor:pointer;color:#e4b17c}.moderation-event-list>li>p{font-size:13px}.moderation-event-list>li>details>ol{padding-left:22px}.moderation-history .admin-pagination{font-size:12px}.publication-dialog[open]{display:flex;flex-direction:column;overflow:hidden}.publication-dialog>h2,.publication-dialog-actions{flex-shrink:0}.publication-dialog-body{min-height:0;overflow:auto;padding-right:6px}.moderation-history .moderation-history-note{font-size:12px;color:#9da9b9}.moderation-tag-list{list-style:none;padding:0;margin:12px 0}.moderation-tag-list code{white-space:normal;overflow-wrap:anywhere;color:#c8d1df;font-size:12px}.moderation-event-list .moderation-event-reason{color:#d5b494;font-size:12px;line-height:1.7}.publication-dialog .publication-risk-reason{color:#e9bc8a;line-height:1.7}.portal-page,.admin-page{--portal-bg:#1b1f26;--portal-panel:#252b34;--portal-line:#414b5a;--portal-text:#cbd2dc;--portal-muted:#929eaf;--portal-accent:#d28b42;max-width:1120px;padding:40px 32px 48px;color:var(--portal-text);font-size:14px}.portal-page,.admin-page{background:none}.portal-page>header,.admin-page>header{display:block;margin:0 0 26px;padding:0 0 20px;background:transparent;border-bottom:1px solid var(--portal-line)}.portal-page>header h1,.admin-page>header h1{margin:0;color:#e2e7ee;font-size:23px;line-height:1.5;letter-spacing:.4px;font-weight:500}.portal-page h2,.admin-page h2{font-size:16px;letter-spacing:.2px;color:#e0e5ec;font-weight:500;margin:0 0 16px}.portal-page p,.admin-page p{line-height:1.7;color:var(--portal-muted)}.portal-page .console,.admin-page .console,.admin-page .credential-card{background:var(--portal-panel);border:1px solid var(--portal-line);border-radius:4px;box-shadow:none;padding:24px;margin:20px 0}.portal-page button,.portal-page a.portal-action,.admin-page button,.admin-page a.portal-action{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;width:auto;margin:0;padding:9px 16px;border:1px solid var(--portal-accent);border-radius:3px;background:#2b3039;color:#e2b17d;font:inherit;font-size:13px;font-weight:400;line-height:20px;text-decoration:none;cursor:pointer;transition:background .12s,border-color .12s}@media(hover:hover)and (pointer:fine){.portal-page button:hover:not(:disabled),.portal-page a.portal-action:hover,.admin-page button:hover:not(:disabled),.admin-page a.portal-action:hover{background:#3c342c;border-color:#edab63;color:#f1c89d}}.portal-page button:active:not(:disabled),.admin-page button:active:not(:disabled),.admin-page a.portal-action:active{background:#493a2c;transform:none}.portal-page button:disabled,.admin-page button:disabled{opacity:.4;cursor:default}.portal-page :focus-visible,.admin-page :focus-visible{outline:2px solid #e5a15a;outline-offset:3px}.portal-page input,.portal-page select,.admin-page input:not([type=checkbox]),.admin-page select{box-sizing:border-box;display:block;width:100%;max-width:560px;min-height:42px;margin:8px 0 0;padding:10px 12px;border:1px solid #4d5868;border-radius:3px;background:#1d222a;color:#e1e6ee;font:inherit;box-shadow:none}.portal-page label,.admin-page label{display:block;margin:16px 0;color:#b9c2ce;font-size:13px}.admin-page input[type=file]::file-selector-button{border:1px solid #d28b42;border-radius:2px;background:#2b3039;color:#e2b17d;padding:6px 10px;margin-right:12px;cursor:pointer}.portal-page .credential-file{display:none}.portal-page .credential-import{padding:0;margin:0 0 20px}.portal-page .portal-status{min-height:0;margin:12px 0;color:#c4ab8d;font-size:13px}.portal-page .portal-status:empty{display:none}.portal-page .project-list{display:grid;gap:16px;margin-top:24px}.portal-page .workspace-project{padding:24px;margin:0;background:var(--portal-panel);border:1px solid var(--portal-line);border-radius:4px;overflow-wrap:anywhere}.portal-page .project-heading{display:flex;gap:16px;align-items:center;justify-content:space-between}.portal-page .project-heading h2{margin:0}.portal-page .project-heading>span{font-size:12px;color:var(--portal-muted);white-space:nowrap}.portal-page .project-owner{margin:8px 0 22px;font-size:12px}.portal-page .workspace-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.portal-page .workspace-actions>.portal-action{min-width:126px}.portal-page .binding-list{border-top:1px solid var(--portal-line);margin-top:22px;padding-top:14px}.portal-page .binding-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 0}.portal-page .binding-row small{display:block;color:var(--portal-muted);margin-top:4px}.portal-page .workspace-footer{text-align:left;margin:24px 0 0;padding:0}.portal-page .workspace-footer button{border-color:#596475;color:#aeb9c8;background:transparent}.admin-page>p[role=status]{margin:0 0 22px;color:#a5b1c2}.admin-page>.primary{margin-top:4px}.admin-page .credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.admin-page .credential-card{min-width:0;overflow-wrap:anywhere}.admin-page .admin-search{margin:28px 0 16px}.admin-page .admin-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:18px 0}.admin-page .admin-pagination>span{margin-right:auto;color:var(--portal-muted);white-space:nowrap}.admin-page .admin-pagination label{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}.admin-page .admin-pagination select{display:inline-block;width:auto;margin:0;min-height:40px;padding:6px 8px}.admin-page .admin-pagination button{padding:7px 12px}.admin-page .user-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--portal-line)}.admin-page .user-row>span{flex:1;min-width:160px;overflow-wrap:anywhere}@media(max-width:700px){.admin-page .credential-grid{grid-template-columns:1fr}.admin-page .admin-pagination>span{flex-basis:100%}.admin-page .admin-pagination label{margin-right:auto}}.admin-page .credential-card{margin:0;display:flex;flex-direction:column;align-items:stretch;gap:12px}.admin-page .credential-card h2,.admin-page .credential-card p,.admin-page .credential-card label{margin:0}.admin-page .device-details{overflow-wrap:anywhere}.admin-page .device-details-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.admin-page .device-details-heading h2{margin:0;line-height:1.6}.admin-page .device-details-heading button{flex-shrink:0}.admin-page .device-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:16px;background:#202630;border:1px solid var(--portal-line);border-radius:3px}.admin-page .device-meta dt{font-size:12px;color:var(--portal-muted);margin-bottom:6px}.admin-page .device-meta dd{margin:0;color:#dce3ec;font-size:14px;line-height:1.5}.admin-page .device-details-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--portal-line)}.admin-page .device-details-section h3{margin:0 0 14px;font-size:13px;font-weight:400;color:#b9c2ce}.admin-page .device-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-page .setting-switch{justify-content:space-between;text-align:left;padding:12px;min-height:48px;gap:12px}.admin-page .setting-state{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;color:var(--portal-muted);font-size:12px;white-space:nowrap}.admin-page .setting-state i{display:block;width:6px;height:6px;border:1px solid #788392;border-radius:50%;background:transparent}.admin-page .setting-switch[aria-checked=true]{background:#3c342c}.admin-page .setting-switch[aria-checked=true] .setting-state{color:#edb579}.admin-page .setting-switch[aria-checked=true] .setting-state i{border-color:var(--portal-accent);background:var(--portal-accent)}.admin-page .device-settings-note{font-size:12px;margin:12px 0 0;line-height:1.6}.admin-page .management-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-page .management-actions>button,.admin-page .management-actions>.portal-action{width:100%;min-height:42px}@media(max-width:900px){.admin-page .device-settings{grid-template-columns:1fr}}@media(max-width:480px){.admin-page .device-details-heading{align-items:flex-start;gap:12px}.admin-page .device-meta{padding:12px;gap:10px}.admin-page .device-meta dd{font-size:13px}.admin-page .management-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-page .user-row{border-color:var(--portal-line)}.admin-page a{color:#e2b17d}@media(max-width:700px){.portal-page,.admin-page{padding:24px 18px 36px}.portal-page>header h1,.admin-page>header h1{font-size:21px}.portal-page .workspace-project,.portal-page .console,.admin-page .console{padding:18px}.portal-page .workspace-actions{display:grid;grid-template-columns:1fr}.portal-page .workspace-actions>.portal-action{width:100%}.portal-page .binding-row,.admin-page .user-row{align-items:stretch;flex-direction:column}.admin-page>.console:first-of-type{display:block}.admin-page>.console:first-of-type button{width:100%}}:root{--motion-press: .12s;--motion-menu: .18s;--motion-dialog: .22s;--ease-out: cubic-bezier(.23, 1, .32, 1)}:is(.portal-page,.admin-page,.td-workbench,.publication-dialog,.component-context-menu){color-scheme:dark;scrollbar-width:thin;scrollbar-color:#596170 #202227}:is(.portal-page,.admin-page,.td-workbench,.publication-dialog) ::selection{background:#65513c;color:#fff0de}:is(.portal-page,.admin-page,.td-workbench,.publication-dialog) :is(input,textarea){caret-color:#e5a15a}:is(.portal-page,.admin-page,.td-workbench) :is(input,textarea)::placeholder{color:#9ba4b3;opacity:1}:is(.portal-page,.admin-page) :is(h1,h2,h3){text-wrap:balance}:is(.portal-page,.admin-page) :is(.admin-pagination,.device-meta,.project-heading>span),.td-workbench :is(input[type=number],output,.artboard-label){font-variant-numeric:tabular-nums}:is(.portal-page,.admin-page) :is(.project-heading,.binding-row)>:first-child{min-width:0;overflow-wrap:anywhere}.portal-page .project-heading>span{white-space:normal;text-align:right}.admin-page .device-meta>div{min-width:0;overflow-wrap:anywhere}.admin-page .credential-card input{max-width:none}.admin-page .console:first-of-type>button{align-self:end;margin-bottom:16px}.admin-page .user-list{gap:0}.admin-page .user-row{border-top:0}:is(.portal-page,.admin-page,.td-workbench,.publication-dialog,.component-context-menu) :is(button,a,summary):not(.tap-canvas *){-webkit-tap-highlight-color:transparent;touch-action:manipulation}:root[data-input-modality=pointer] :is(.portal-page,.admin-page,.td-workbench,.publication-dialog,.component-context-menu) :is(button,a.portal-action,summary):not(.tap-canvas *){transition:transform var(--motion-press) var(--ease-out),background-color var(--motion-press) ease,border-color var(--motion-press) ease,color var(--motion-press) ease}:root[data-input-modality=pointer] :is(.portal-page,.admin-page,.td-workbench,.publication-dialog,.component-context-menu) :is(button:enabled,a.portal-action,summary):not(.tap-canvas *):not([aria-disabled=true]):active{transform:scale(.98)}:is(.portal-page,.admin-page,.td-workbench,.publication-dialog,.component-context-menu) :is(button:disabled,[aria-disabled=true]):not(.tap-canvas *){cursor:not-allowed;transform:none}:is(.portal-page,.admin-page,.td-workbench,.publication-dialog,.component-context-menu) :is(button,a,summary,input,select,textarea):not(.tap-canvas *):focus-visible{outline:2px solid #e5a15a;outline-offset:2px}:is(.portal-page,.admin-page,.td-workbench) :is(input,select,textarea):not(.tap-canvas *):focus-visible{border-color:#d28b42}.td-workbench :is(.editor-properties,.editor-settings,.layer-list),.insert-popover,.component-context-menu,.publication-dialog-body{scrollbar-width:thin;scrollbar-color:#596170 #202227;overscroll-behavior:contain;scroll-padding-block:12px}.td-workbench :is(.editor-properties,.editor-settings) label{line-height:1.5}.td-workbench select:not(.tap-canvas *){-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:normal;padding-right:24px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'%3E%3Cpath d='M0 0h8L4 5z' fill='%23cfd3dc'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.td-workbench :is(.editor-properties,.editor-settings) small,.td-workbench :is(.panel-help,.inspector-empty){color:#a1a8b6}.td-workbench .layer-row:focus-within{background-color:#363940}.td-workbench .layer-row.active:focus-within{background-color:#4c3e30}.component-context-menu button:last-child{color:#ffb0a5}.component-context-menu button:focus-visible{outline-offset:-2px}@media(hover:hover)and (pointer:fine){.td-workbench :is(.editor-toolbar,.editor-settings,.editor-properties,.insert-popover) button:enabled:not(.tap-canvas *):hover,.td-workbench .insert-menu>summary:hover,.component-context-menu button:enabled:hover{background-color:#454047;border-color:#a17b53}.td-workbench .layer-row:not(.active):hover{background-color:#34373e}.td-workbench .layer-row button:enabled:hover{background-color:#454952}.admin-page button.danger:enabled:hover{background-color:#43272e;border-color:#b44f55}:is(.portal-page,.admin-page) a:not(.portal-action):hover{text-underline-offset:3px}}:root[data-input-modality=pointer] .tap-canvas:not(.editing) .node-content button:enabled{transition:scale var(--motion-press) var(--ease-out),background-color .12s ease,box-shadow .12s ease}:root[data-input-modality=pointer] .tap-canvas:not(.editing) .node-content button:enabled:is([data-ui-pressed],:active){scale:.98}:root[data-input-modality=pointer] .insert-menu[open]>.insert-popover{transform-origin:top left;transition:opacity var(--motion-menu) var(--ease-out),transform var(--motion-menu) var(--ease-out)}:root[data-input-modality=pointer] .publication-dialog[open]{transform-origin:center;transition:opacity var(--motion-dialog) var(--ease-out),transform var(--motion-dialog) var(--ease-out)}@starting-style{:root[data-input-modality=pointer] .insert-menu[open]>.insert-popover{opacity:0;transform:translateY(-4px) scale(.98)}:root[data-input-modality=pointer] .publication-dialog[open]{opacity:0;transform:scale(.98)}}:root[data-input-modality=keyboard] :is(.td-workbench,.portal-page,.admin-page,.publication-dialog,.component-context-menu,.tap-canvas) *,.editing .canvas-node:not(.dragging){transition:none}@media(max-width:700px){.admin-page .console:first-of-type>button{margin-bottom:0}.portal-page .project-heading{align-items:flex-start}.portal-page .project-heading>span{max-width:45%}}@media(max-width:760px){.td-workbench>.editor-workspace{margin:0;padding:0;background:transparent}.td-workbench .phone-preview{border-radius:0}}@media(pointer:coarse){.td-workbench .component-library :is(button,summary),.td-workbench :is(.editor-settings,.editor-properties) button{min-height:36px!important;height:auto}.td-workbench .layer-row{min-height:40px}}@media(prefers-reduced-motion:reduce){:root[data-input-modality=pointer] :is(.portal-page,.admin-page,.td-workbench,.publication-dialog,.component-context-menu) :is(button,a.portal-action,summary):not(.tap-canvas *){transition:none}:root[data-input-modality=pointer] :is(.portal-page,.admin-page,.td-workbench,.publication-dialog,.component-context-menu) :is(button:enabled,a.portal-action,summary):not(.tap-canvas *):active{transform:none}:root[data-input-modality=pointer] .tap-canvas:not(.editing) .node-content button:enabled:is([data-ui-pressed],:active){scale:none}:root[data-input-modality=pointer] .insert-menu[open]>.insert-popover,:root[data-input-modality=pointer] .publication-dialog[open]{transition:none}}.tap-canvas{--control-radius:8px;--tab-radius:8px;--control-ease:cubic-bezier(.23,1,.32,1)}.tap-canvas.theme-garden{--control-radius:10px;--tab-radius:12px}.tap-canvas.theme-light{--control-radius:6px;--tab-radius:6px}.tap-canvas.theme-neon{--control-radius:8px;--tab-radius:8px}.tap-canvas.theme-paper{--control-radius:3px;--tab-radius:3px}.tap-canvas.theme-ocean{--control-radius:12px;--tab-radius:14px}.tap-canvas.theme-clay{--control-radius:14px;--tab-radius:16px}.tap-canvas.theme-terminal{--control-radius:2px;--tab-radius:2px}.tap-canvas.theme-industrial{--control-radius:3px;--tab-radius:3px}.tap-canvas.theme-cyber{--control-radius:0px;--tab-radius:0px}.tap-canvas.theme-sunset{--control-radius:10px;--tab-radius:12px}.tap-canvas.theme-aurora{--control-radius:9px;--tab-radius:10px}.tap-canvas.theme-blueprint{--control-radius:2px;--tab-radius:2px}.tap-canvas.theme-pixel,.tap-canvas.theme-ink{--control-radius:0px;--tab-radius:0px}.tap-canvas.theme-velvet{--control-radius:5px;--tab-radius:6px}.tap-canvas.theme-glow{--control-radius:10px;--tab-radius:12px}.tap-canvas.theme-lime{--control-radius:10px;--tab-radius:10px}.tap-canvas.theme-lime:not(.editing) .canvas-node{transition:border-color .12s ease,background-color .12s ease}.tap-canvas.theme-spark{--control-radius:16px;--tab-radius:24px}.tap-canvas.theme-ivory{--control-radius:8px;--tab-radius:10px}.tap-canvas.theme-spectrum{--control-radius:12px;--tab-radius:14px}.tap-canvas .canvas-page-tabs.canvas-node{position:relative;inset:auto;z-index:2;display:flex;align-items:center;width:100%;padding:5px 8px;border-radius:0;border-width:0 0 1px;overflow:hidden;cursor:default;touch-action:pan-x}.tap-canvas .canvas-page-tabs [role=tablist]{display:flex;align-items:stretch;gap:5px;min-width:0;width:100%;height:100%;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.tap-canvas .canvas-page-tabs [role=tablist]::-webkit-scrollbar{display:none}.tap-canvas .canvas-page-tabs button{position:relative;flex:0 0 auto;max-width:100%;min-width:64px;min-height:0;height:100%;padding:5px 16px;border:1px solid transparent;border-radius:var(--tab-radius);background:transparent;color:inherit;font:inherit;font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;touch-action:manipulation}.tap-canvas .canvas-page-tabs button[aria-selected=true]{background:var(--ui-accent);color:var(--ui-accent-ink);border-color:var(--ui-accent);box-shadow:0 1px 3px #00000014}.tap-canvas .canvas-page-tabs button:focus-visible{outline:2px solid currentColor;outline-offset:-4px}.tap-canvas:is(.theme-terminal,.theme-cyber,.theme-pixel,.theme-blueprint) .canvas-page-tabs{font-family:Consolas,Microsoft YaHei,monospace;letter-spacing:.04em}.tap-canvas:is(.theme-ocean,.theme-aurora,.theme-spectrum) .canvas-page-tabs{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tap-canvas .canvas-page-tabs.background-hidden{background:transparent!important;background-image:none!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.tap-canvas .node-content :is(input:not([type=range]):not([type=radio]):not([type=color]),select,.xy-pad,.counter-widget button,.playback button),.tap-canvas .radio-options>label{border-radius:var(--control-radius)}.tap-canvas .node-content :is(output,.switch-state){font-variant-numeric:tabular-nums}.tap-canvas .radio-options>label{padding-inline:10px;gap:10px;cursor:pointer}.tap-canvas .radio-options>label:has(input:disabled){cursor:default;opacity:.5}.tap-canvas .radio-options>label:has(input:focus-visible){outline:2px solid var(--ui-accent);outline-offset:-2px}.tap-canvas .node-content :is(input,select){accent-color:var(--ui-accent);font:inherit}.tap-canvas .canvas-slider output{font-size:max(11px,.72em);right:14px;top:12px}.tap-canvas .canvas-slider{padding-right:0}.tap-canvas .canvas-slider>.part-title{display:block!important;padding-right:48px}.tap-canvas .canvas-slider input[type=range]{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;cursor:pointer;height:32px;min-height:32px;margin:4px 0 0}.tap-canvas .canvas-slider input[type=range]::-webkit-slider-runnable-track{height:5px;border:0;background:color-mix(in srgb,var(--ui-accent) 28%,var(--ui-node-surface));border-radius:var(--control-radius)}.tap-canvas .canvas-slider input[type=range]::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;margin-top:-6.5px;border:2px solid var(--ui-node-surface);border-radius:50%;background:var(--ui-accent);box-shadow:0 1px 3px #00000030}.tap-canvas .canvas-slider input[type=range]::-moz-range-track{height:5px;border:0;background:color-mix(in srgb,var(--ui-accent) 28%,var(--ui-node-surface));border-radius:var(--control-radius)}.tap-canvas .canvas-slider input[type=range]::-moz-range-thumb{width:14px;height:14px;border:2px solid var(--ui-node-surface);border-radius:50%;background:var(--ui-accent);box-shadow:0 1px 3px #00000030}.tap-canvas:is(.theme-pixel,.theme-blueprint,.theme-cyber,.theme-terminal) .canvas-slider input[type=range]::-webkit-slider-thumb{border-radius:2px}.tap-canvas:is(.theme-pixel,.theme-blueprint,.theme-cyber,.theme-terminal) .canvas-slider input[type=range]::-moz-range-thumb{border-radius:2px}.tap-canvas.theme-spectrum .canvas-slider input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--tone-bb84ff,#bb84ff),var(--tone-79deff,#79deff),var(--tone-74eec6,#74eec6),var(--tone-ffd77a,#ffd77a))}.tap-canvas .canvas-node button[role=switch][aria-checked=true] .switch-state{background:var(--ui-accent);color:var(--ui-accent-ink)}.tap-canvas .canvas-node[data-node-type=toggle] .switch-state:before{transition:transform .18s var(--control-ease)}.tap-canvas:is(.theme-lime,.theme-spark) .canvas-node:is([data-node-type=radio],[data-node-type=select],[data-node-type=input],[data-node-type=slider],[data-node-type=range]) .node-content{padding-inline:24px}:root[data-input-modality=pointer] .tap-canvas:not(.editing) .canvas-page-tabs button{transition:background-color .12s ease-out,color .12s ease-out,scale .12s var(--control-ease)}:root[data-input-modality=pointer] .tap-canvas:not(.editing) .canvas-page-tabs button:active{scale:.97}.tap-canvas:not(.editing) .radio-options>label{transition:background-color .12s ease-out,box-shadow .12s ease-out}:root[data-input-modality=keyboard] .tap-canvas .canvas-node button,:root[data-input-modality=keyboard] .tap-canvas .canvas-node .switch-state:before,:root[data-input-modality=keyboard] .tap-canvas .radio-options>label{transition:none}@media(hover:hover)and (pointer:fine){.tap-canvas:not(.editing) .canvas-page-tabs button:not([aria-selected=true]):hover{background:var(--ui-press-surface);color:var(--ui-press-ink);border-color:var(--ui-edge)}.tap-canvas:not(.editing) .radio-options>label:has(input:not(:checked):enabled):hover{background:color-mix(in srgb,var(--ui-accent) 8%,transparent)}.tap-canvas:not(.editing) .node-content :is(select,input:not([type=range]):not([type=radio]):not([type=color])):enabled:hover{border-color:var(--ui-accent)}}@media(prefers-reduced-motion:reduce){.tap-canvas.theme-lime:not(.editing) .canvas-node{transition:none}.tap-canvas .canvas-page-tabs button,.tap-canvas .radio-options>label,.tap-canvas .canvas-node button[role=switch] .switch-state:before{transition:none!important;scale:none!important}}.tap-canvas .canvas-page-tabs button{min-height:44px}.tap-canvas .canvas-node:is([data-node-type=counter],[data-node-type=radio],[data-node-type=select],[data-node-type=input],[data-node-type=color],[data-node-type=xy],[data-node-type=joystick],[data-node-type=drawing],[data-node-type=playback]) .node-content{padding:16px;line-height:1.45}.tap-canvas:is(.theme-lime,.theme-spark) .canvas-node:is([data-node-type=counter],[data-node-type=radio],[data-node-type=select],[data-node-type=input],[data-node-type=color],[data-node-type=xy],[data-node-type=joystick],[data-node-type=drawing],[data-node-type=playback]) .node-content{padding-inline:24px}.tap-canvas .canvas-node :is(.widget-stack,.counter-widget){justify-content:flex-start;gap:12px}.tap-canvas :is(.widget-stack,.counter-widget,.drawing-widget)>.part-title{display:block!important;font-style:normal;line-height:1.45}.tap-canvas .radio-title{font-weight:500}.tap-canvas .node-content form.widget-stack>label{gap:10px}.tap-canvas .node-content :is(form.widget-stack>button,form.widget-stack>.node-part>button,.drawing-actions button,.playback button,.counter-widget button){min-height:44px;font:inherit;font-weight:500;border:1px solid var(--ui-edge);border-radius:var(--control-radius);background:color-mix(in srgb,var(--ui-node-surface) 88%,var(--ui-accent));color:inherit;line-height:1.3}.tap-canvas .node-content :is(form.widget-stack>button,form.widget-stack>.node-part>button,.drawing-actions button:last-child){background:var(--ui-accent);color:var(--ui-accent-ink);border-color:var(--ui-accent);font-weight:600}.tap-canvas .counter-widget>div{gap:12px;justify-content:flex-start}.tap-canvas .counter-widget output{flex:1;min-width:48px;text-align:center;font-size:1.6em;font-weight:600;line-height:1.2;font-style:normal}.tap-canvas .node-content .counter-widget button{font-size:24px;flex:0 0 44px;padding:0;line-height:1}.tap-canvas .node-content input:not([type=range]):not([type=radio]):not([type=color]){padding:9px 12px!important}.tap-canvas .rgba-fields{gap:10px}.tap-canvas .rgba-fields label{font-size:max(12px,.75em);line-height:1.45;gap:6px}.tap-canvas .rgba-fields label:first-child{flex:1.6}.tap-canvas .rgba-fields input{font-variant-numeric:tabular-nums;font-family:inherit}.tap-canvas .rgba-picker input[type=color],.tap-canvas .drawing-tools input[type=color]{padding:6px!important;border:1px solid var(--ui-edge);border-radius:var(--control-radius);background:transparent;cursor:pointer}.tap-canvas :is(.rgba-picker,.drawing-tools) input[type=color]::-webkit-color-swatch-wrapper{padding:0}.tap-canvas :is(.rgba-picker,.drawing-tools) input[type=color]::-webkit-color-swatch{border:0;border-radius:max(0px,calc(var(--control-radius) - 4px))}.tap-canvas :is(.rgba-picker,.drawing-tools) input[type=color]::-moz-color-swatch{border:0;border-radius:max(0px,calc(var(--control-radius) - 4px))}.tap-canvas .playback{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;width:100%}.tap-canvas .playback button{grid-column:span 2;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;padding:8px!important;min-width:0;overflow-wrap:anywhere}.tap-canvas .playback button:nth-child(n+4){grid-column:span 3}.tap-canvas .playback svg{width:16px;height:16px;flex:0 0 16px;pointer-events:none}.tap-canvas .node-content .playback button[aria-pressed=true]{background:var(--ui-press-surface);color:var(--ui-press-ink);border-color:var(--ui-accent);box-shadow:inset 0 0 0 1px var(--ui-press-ring)}.tap-canvas .drawing-widget{gap:10px}.tap-canvas .drawing-tools{gap:10px;align-items:end}.tap-canvas .drawing-tools label{font-size:max(12px,.8em);line-height:1.45}.tap-canvas .drawing-tools select{background:color-mix(in srgb,var(--ui-node-surface) 88%,var(--ui-accent));color:inherit;border-color:var(--ui-edge);border-radius:var(--control-radius)}.tap-canvas .drawing-surface{border-color:var(--ui-edge);border-radius:var(--control-radius)}.tap-canvas .drawing-actions{gap:8px;flex-wrap:wrap}.tap-canvas .drawing-actions button{flex:1 1 auto;min-width:max-content;white-space:nowrap;padding:8px!important}.tap-canvas .drawing-widget small{font-size:max(12px,.75em);line-height:1.5;min-height:18px;opacity:.8}.tap-canvas .node-content .drawing-surface:is([data-ui-pressed],[data-ui-feedback]){outline:2px solid var(--ui-accent);outline-offset:-2px;box-shadow:none!important}.tap-canvas .xy-pad{min-height:100px;border:1px solid var(--ui-edge);background:linear-gradient(90deg,transparent calc(50% - .5px),color-mix(in srgb,currentColor 20%,transparent) 50%,transparent calc(50% + .5px)),linear-gradient(0deg,transparent calc(50% - .5px),color-mix(in srgb,currentColor 20%,transparent) 50%,transparent calc(50% + .5px)),color-mix(in srgb,var(--ui-accent) 6%,transparent);cursor:crosshair}.tap-canvas .xy-pad i{width:22px;height:22px;border:2px solid var(--ui-node-surface);background:var(--ui-accent);box-shadow:0 1px 4px #00000040}.tap-canvas .canvas-node[data-node-type=joystick] .xy-pad:before{content:"";position:absolute;left:50%;top:50%;width:64px;height:64px;max-width:70%;max-height:70%;transform:translate(-50%,-50%);border:1px solid color-mix(in srgb,var(--ui-accent) 28%,transparent);border-radius:50%;pointer-events:none}.tap-canvas .xy-pad[aria-disabled=true]{cursor:default;opacity:.5}.tap-canvas .value-display{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;min-width:0;text-align:center;overflow-wrap:anywhere;line-height:1.35}.tap-canvas .value-display .value-label{font-size:.85em;opacity:.85}.tap-canvas .value-display output{display:block;font:inherit;font-size:1.55em;font-weight:600;font-variant-numeric:tabular-nums;max-width:100%;line-height:1.15}.tap-canvas .value-display small{font-size:max(11px,.7em);opacity:.7}.tap-canvas .countdown-display{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:4px 10px;width:100%;line-height:1.35}.tap-canvas .countdown-display>.node-part{display:block!important}.tap-canvas .countdown-display>.part-value{font-variant-numeric:tabular-nums;font-weight:600}.tap-canvas .indicator{justify-content:center;line-height:1.45;gap:10px}.tap-canvas .indicator i{flex:0 0 16px;width:16px;height:16px}.tap-canvas .node-content button:disabled{cursor:default}@media(hover:hover)and (pointer:fine){.tap-canvas:not(.editing) .node-content :is(.counter-widget button,.playback button,.drawing-actions button):enabled:hover{border-color:var(--ui-accent)}}.tap-canvas.experience-complete{height:auto;min-height:0;padding:24px 20px;margin:16px 0}.experience-complete .completion-card.canvas-node{position:relative;inset:auto;width:100%;height:auto;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;text-align:center}.completion-card h1{font:inherit;font-size:24px;font-weight:600;line-height:1.35;letter-spacing:.01em;margin:0 0 10px;overflow-wrap:anywhere}.completion-card h1:focus{outline:none}.completion-card .completion-message{font:inherit;font-size:15px;line-height:1.65;margin:0;opacity:.85}.completion-card .completion-actions{width:100%;margin-top:26px}.experience-complete .completion-card .completion-replay{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin:0;padding:12px 16px;border:1px solid var(--ui-accent);border-radius:var(--control-radius);background:var(--ui-accent);color:var(--ui-accent-ink);text-shadow:none;font:inherit;font-size:16px;font-weight:600;line-height:1.4;touch-action:manipulation;cursor:pointer}.completion-replay svg{width:18px;height:18px;flex-shrink:0}.experience-complete .completion-replay:focus-visible{outline:2px solid currentColor;outline-offset:-5px}.experience-complete .completion-card .completion-replay:disabled{opacity:.55;cursor:default}.experience-complete .completion-card .completion-replay[aria-busy=true]{cursor:wait}.completion-card .completion-notice{font:inherit;font-size:13px;line-height:1.6;max-width:100%;overflow-wrap:anywhere;margin:14px 0 0}:root[data-input-modality=pointer] .experience-complete .completion-replay{transition:scale .12s cubic-bezier(.23,1,.32,1),filter .12s ease-out}:root[data-input-modality=pointer] .experience-complete .completion-replay:enabled:is(:active,[data-ui-pressed]){scale:.98;filter:brightness(.95)}@media(hover:hover)and (pointer:fine){.experience-complete .completion-card .completion-replay:enabled:hover{filter:brightness(.95)}}.completion-card :is(h1,.completion-message,.completion-actions){transform:none;transition:opacity var(--motion-dialog,.22s) var(--ease-out,cubic-bezier(.23,1,.32,1)),transform var(--motion-dialog,.22s) var(--ease-out,cubic-bezier(.23,1,.32,1))}.completion-card .completion-message{transition-delay:40ms}.completion-card .completion-actions{transition-delay:60ms}.experience-complete[data-entry-motion=off] .completion-card :is(h1,.completion-message,.completion-actions){transition:none}@starting-style{.completion-card :is(h1,.completion-message,.completion-actions){opacity:0;transform:translateY(8px)}.completion-card .completion-message{opacity:0;transform:translateY(6px)}.completion-card .completion-actions{opacity:0;transform:translateY(4px)}}@media(prefers-reduced-motion:reduce){.completion-card :is(h1,.completion-message,.completion-actions){transition:none}:root[data-input-modality=pointer] .experience-complete .completion-replay{transition:none;scale:none}}@media(max-width:360px){.tap-canvas.experience-complete{padding:20px 14px}.experience-complete .completion-card.canvas-node{padding:28px 18px}.completion-card h1{font-size:22px}}.setting-caption{display:inline-flex;align-items:center;gap:6px;line-height:1.45}.td-workbench button.help-trigger{display:inline-grid;place-items:center;flex:0 0 17px;align-self:center;width:17px;height:17px;min-width:17px;min-height:17px!important;margin:0;padding:0!important;border:1px solid #858b98;border-radius:50%;background:transparent;color:#bbc2cf;font:600 11px/1 Arial,sans-serif;cursor:default;vertical-align:middle;touch-action:manipulation}.td-workbench button.help-trigger:focus-visible{outline:2px solid #e5b67c;outline-offset:3px}.td-workbench .trial-toggle .setting-caption{gap:6px}.td-workbench legend .help-trigger{display:inline-grid;margin-left:6px}.parameter-tooltip{position:fixed;z-index:2000;box-sizing:border-box;width:max-content;max-width:min(288px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow-y:auto;padding:10px 12px;background:#34373e;color:#edf0f5;border:1px solid #666c78;border-radius:6px;box-shadow:0 6px 20px #00000045;font:12px/1.65 Arial,Microsoft YaHei,sans-serif;text-align:left;overflow-wrap:anywhere;white-space:normal;cursor:default;user-select:text;-webkit-user-select:text}@media(hover:hover)and (pointer:fine){.td-workbench button.help-trigger:hover{color:#f0bd7f;border-color:#d99e58;background:#40382e}}@media(pointer:coarse){.td-workbench button.help-trigger{flex-basis:28px;width:28px;height:28px;min-width:28px;min-height:28px!important;font-size:12px}}.public-site{--public-green:#c5ff58;color:#f1f4ef;background:#101311;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif;min-height:100vh;overflow:clip}.public-site a{color:inherit;text-decoration:none}.public-site .public-main{max-width:1440px;padding:0 64px;margin:auto}.public-nav{max-width:1440px;margin:auto;padding:32px 64px;display:flex;align-items:center;justify-content:space-between;gap:24px}.public-wordmark{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:700;letter-spacing:-1px}.public-wordmark b{color:var(--public-green);font-size:36px;font-weight:400}.public-nav nav{display:flex;align-items:center;gap:32px;font-size:13px;color:#b5beb5}.public-nav a:hover,.public-text-link:hover{color:var(--public-green)}.public-nav-workspace{border:1px solid #46513e;border-radius:30px;padding:12px 20px}.public-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:660px;gap:32px}.public-kicker{font-size:11px;color:#b0bd9f;letter-spacing:2px}.public-hero h1{font-size:clamp(52px,6.5vw,92px);letter-spacing:-4px;line-height:1.16;font-weight:650;margin:32px 0 28px}.public-hero h1 span,.public-demo-heading h1 span{color:var(--public-green)}.public-hero h1 .public-period{color:#fff}.public-hero-copy>p{font-size:17px;line-height:1.9;color:#a8b2a7}.public-actions{display:flex;align-items:center;gap:28px;margin:34px 0 22px}.public-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border:0;border-radius:6px;padding:17px 24px;background:var(--public-green);color:#19200f!important;font-size:14px;font-weight:600;cursor:pointer;min-height:52px}.public-button:hover{background:#d8ff92}.public-text-link{font-size:13px}.public-hero small{font-size:11px;color:#798575;letter-spacing:1px}.public-sculpture{height:530px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 46%,#25371a88,transparent 65%);isolation:isolate}.public-grid{position:absolute;top:10%;right:10%;bottom:10%;left:10%;background-image:linear-gradient(#b7e58b0b 1px,transparent 1px),linear-gradient(90deg,#b7e58b0b 1px,transparent 1px);background-size:46px 46px;transform:perspective(400px) rotateX(55deg);-webkit-mask-image:radial-gradient(ellipse,#000,transparent 70%);mask-image:radial-gradient(ellipse,#000,transparent 70%)}.public-halo{position:absolute;top:16%;right:10%;bottom:16%;left:10%;transform-style:preserve-3d;transform:rotate(-28deg)}.public-halo i{position:absolute;inset:calc(var(--i)*3%) calc(var(--i)*1%);border:1px solid hsl(var(--hue) 90% 65%);border-radius:50%;transform:rotateY(calc(var(--i)*17deg)) rotateX(40deg);box-shadow:0 0 16px hsl(var(--hue) 90% 60% / .2),inset 0 0 16px hsl(var(--hue) 90% 60% / .12);opacity:var(--power);animation:public-orbit calc(16s + var(--i)*1s) linear infinite;animation-play-state:var(--play)}@keyframes public-orbit{to{transform:rotateY(calc(var(--i)*17deg + 360deg)) rotateX(40deg)}}.public-scene-label,.public-scene-caption{position:absolute;font-size:9px;letter-spacing:2px;color:#839076;bottom:40px;left:30px}.public-scene-caption{left:auto;right:30px;color:#a7b394}.public-wave{position:absolute;border-radius:50%;border:1px solid hsl(var(--hue) 90% 65%);width:80px;height:80px;top:calc(50% - 40px);left:calc(50% - 40px);opacity:0}.public-wave.active{animation:public-wave 1.5s ease-out}@keyframes public-wave{0%{transform:scale(.2);opacity:var(--power)}to{transform:scale(6);opacity:0}}.public-section{padding:100px 0;border-top:1px solid #2c3329}.public-section h2,.public-demo-invite h2{font-size:clamp(30px,4vw,48px);letter-spacing:-1.5px;line-height:1.35;font-weight:500;margin:22px 0}.public-section p,.public-demo-invite p{color:#9eaa99;font-size:14px;line-height:1.9}.public-features{display:grid;grid-template-columns:repeat(3,1fr);gap:52px;margin-top:56px}.public-features article{border-top:1px solid #424c39;padding-top:22px}.public-features article>span{color:var(--public-green);font-size:12px}.public-features h3{font-size:22px;font-weight:500;margin:32px 0 14px}.public-demo-invite{padding:72px 48px;background:#1c2417;display:flex;align-items:center;justify-content:space-between;gap:40px;border-radius:8px;margin:0 0 100px}.public-about{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-top:64px;padding-bottom:80px}.public-about h2{margin-top:0;font-size:32px}.public-footer{max-width:1312px;margin:0 auto;padding:36px 0;text-align:left;border-top:1px solid #2c3329;color:#84917d;display:flex;justify-content:space-between;gap:24px;font-size:11px;line-height:1.8}.public-footer .public-wordmark{font-size:18px;letter-spacing:0;align-items:flex-start;flex-direction:column;gap:4px;color:#d6dfce}.public-footer .public-wordmark span{font-size:10px;font-weight:400;letter-spacing:2px;color:#84917d}.public-footer>div{display:flex;align-items:flex-end;flex-direction:column;gap:8px}.public-footer a:hover{color:var(--public-green)}.public-demo-heading{padding:64px 0 40px}.public-demo-heading h1{font-size:clamp(32px,4vw,52px);letter-spacing:-1.5px;margin:20px 0}.public-demo-heading p,.public-demo-note{color:#9eaa99;font-size:13px;line-height:1.9}.public-playground{display:grid;grid-template-columns:1.35fr 1fr;border:1px solid #343f2d;border-radius:10px;overflow:hidden}.public-preview{background:#131a10;min-width:0}.public-preview .public-sculpture{height:460px}.public-telemetry{display:flex;justify-content:space-between;gap:16px;font-size:11px;color:#a8b39e;padding:20px 24px;border-top:1px solid #2c3526}.public-telemetry i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--public-green);margin-right:7px}.public-controller{padding:36px;background:#192016;min-width:0}.public-controller h2{font-size:26px;letter-spacing:-1px;font-weight:500;margin:18px 0 12px}.public-controller>p{font-size:12px;color:#9eaa99;line-height:1.8}.public-controller label{display:flex;justify-content:space-between;font-size:13px;margin:30px 0 16px}.public-controller output{font-variant-numeric:tabular-nums;color:var(--public-green)}.public-controller input[type=range]{width:100%;accent-color:var(--public-green);cursor:pointer;min-height:24px;margin:0}.public-control-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.public-outline-button{border:1px solid #58664a;border-radius:6px;background:transparent;color:#e6eddf;padding:14px 18px;font-size:13px;cursor:pointer}.public-controller .public-feedback{min-height:42px;color:#c9dfa9;margin-top:22px}.public-reset{border:0;background:transparent;color:#a8b39e;font-size:12px;padding:6px 0;cursor:pointer}.public-demo-note{margin:24px 0 18px}.public-demo .public-main{padding-bottom:64px}.public-site :focus-visible{outline:2px solid var(--public-green);outline-offset:5px}@media(min-width:1441px){.public-footer{max-width:1312px}}@media(max-width:1440px){.public-footer{margin:0 64px}}@media(max-width:900px){.public-nav,.public-site .public-main{padding-left:28px;padding-right:28px}.public-hero{min-height:550px;gap:10px}.public-hero h1{font-size:60px}.public-hero .public-sculpture{height:430px}.public-actions{gap:18px;flex-wrap:wrap}.public-features{gap:24px}.public-footer{margin:0 28px}.public-playground{grid-template-columns:1fr 1fr}.public-controller{padding:24px}.public-preview .public-sculpture{height:460px}}@media(max-width:640px){.public-nav{padding:20px}.public-wordmark{font-size:21px}.public-nav nav{gap:16px;font-size:11px}.public-nav nav>a:first-child{display:none}.public-nav-workspace{padding:9px 12px}.public-site .public-main{padding-left:20px;padding-right:20px}.public-hero{grid-template-columns:1fr;padding-top:42px;gap:0;min-height:0}.public-hero h1{font-size:58px;margin:24px 0}.public-hero-copy>p{font-size:15px}.public-hero .public-sculpture{height:340px;margin:0 -20px}.public-section{padding:56px 0}.public-section h2{font-size:32px}.public-features{grid-template-columns:1fr;gap:28px;margin-top:36px}.public-features h3{margin:18px 0 10px}.public-features p{margin-bottom:0}.public-demo-invite{padding:32px 24px;margin-bottom:56px;display:block}.public-demo-invite .public-button{margin-top:20px}.public-about{grid-template-columns:1fr;gap:22px}.public-about h2{font-size:27px}.public-footer{margin:0 20px;flex-direction:column;padding:28px 0;gap:20px}.public-footer>div{align-items:flex-start}.public-demo-heading{padding:40px 0 24px}.public-demo-heading h1{font-size:32px}.public-demo-heading h1 span{display:block;margin-top:8px}.public-playground{grid-template-columns:1fr}.public-preview .public-sculpture{height:300px}.public-controller{padding:28px 24px}.public-scene-label{left:16px;font-size:8px}.public-scene-caption{right:16px;font-size:8px}.public-telemetry{font-size:10px;padding:16px}.public-demo .public-main{padding-bottom:40px}}@media(prefers-reduced-motion:reduce){.public-halo i{animation:none}.public-wave.active{animation:none;opacity:var(--power);transform:scale(3)}}.public-site .public-function-copy{font-size:14px;color:#8f9e86;line-height:1.9;margin-top:18px}.public-nav nav>a:first-child{display:inline!important}.public-home-short .public-hero{min-height:calc(100svh - 236px)}@media(max-width:640px){.public-home-short .public-hero{min-height:0;padding-top:30px}.public-home-short .public-hero .public-sculpture{height:280px}}.public-security-filing{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.public-security-filing img{display:block;width:20px;height:20px;object-fit:contain;flex-shrink:0}.public-footer{justify-content:center;text-align:center}.public-footer>div{align-items:center}.public-hero-copy>p.public-product-title{font-size:clamp(22px,2.5vw,30px);font-weight:650;letter-spacing:.5px;line-height:1.2;color:#f1f4ef;margin:0 0 20px}.privacy-link{color:inherit;text-decoration:underline;text-underline-offset:3px}.public-site .privacy-page{max-width:1000px;padding-top:52px;padding-bottom:64px;font-size:15px;line-height:1.95;color:#b9c6af}.privacy-page h1{font-size:38px;color:#eff4e9;font-weight:600;letter-spacing:-1px;margin:0 0 16px}.privacy-page h2{font-size:22px;color:#eff4e9;font-weight:500;margin:36px 0 14px;letter-spacing:0}.privacy-page strong{color:#dcebcf}.privacy-page .privacy-date{color:#8c9b81;font-size:13px;margin-bottom:30px}.privacy-page section{margin:0}.privacy-page p{margin:12px 0}.privacy-page ul{padding-left:22px}.privacy-page li{margin-bottom:12px}.privacy-page a{color:#c5ff58;text-decoration:underline;text-underline-offset:3px}.privacy-table-wrap{overflow-x:auto;border:1px solid #3e4b34;border-radius:6px;margin:20px 0}.privacy-page table{border-collapse:collapse;width:100%;text-align:left;font-size:14px;line-height:1.8}.privacy-page th,.privacy-page td{padding:16px;border-bottom:1px solid #303c28;vertical-align:top}.privacy-page th{background:#1c2715;color:#e5efda}.privacy-page td:first-child{width:26%;min-width:120px;color:#dfebd5}.privacy-page tr:last-child td{border-bottom:0}.editor-privacy-note{font-size:12px;line-height:1.7;color:#b7c2b0;margin:10px 0 14px}.editor-privacy-note a{color:#d3e7b7}.workspace-privacy{font-size:12px;color:#b7c2b0;line-height:1.7}.example-visitor>.example-privacy{display:block;text-align:center;font-size:12px;color:#b7c2b0;margin:18px 0}.visitor-privacy{display:block;text-align:center;font-size:11px;color:#a5b29a;margin:16px 0}.td-workbench .editor-toolbar>.privacy-link{font-size:12px;align-self:center;color:#c9d4bf;padding:5px 8px}@media(max-width:640px){.public-site .privacy-page{padding-top:30px;font-size:14px}.privacy-page h1{font-size:30px}.privacy-page h2{font-size:20px}.privacy-page th,.privacy-page td{padding:12px}.privacy-page td:first-child{min-width:92px;width:28%}.td-workbench .editor-toolbar>.privacy-link{padding:5px 6px}}
