:root{--bg:#f4f4f6;--panel:#fff;--line:#e4e4ea;--text:#1c1c22;--muted:#74747f;--accent:#4f46e5;--accent-soft:#eef0ff;--danger:#c2283b;--canvas:#e9e9ee;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);font:13px/1.4 Inter,system-ui,-apple-system,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#18181c;--panel:#212127;--line:#34343c;--text:#ececf1;--muted:#9a9aa6;--accent:#8b85ff;--accent-soft:#2c2b45;--canvas:#121215;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);margin:0}button{font:inherit;color:inherit;border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:6px;padding:5px 10px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:disabled{opacity:.5}button.ghost{background:0 0;border-color:#0000}button.ghost:hover{background:var(--accent-soft)}button.small{padding:0 6px}button.danger{color:var(--danger)}input,select,textarea{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--line);border-radius:5px;min-width:0;padding:4px 6px}kbd,code{background:var(--accent-soft);border-radius:4px;padding:1px 4px;font:12px ui-monospace,monospace}.muted{color:var(--muted)}.error{color:var(--danger)}.pad{padding:0 12px}.home{max-width:880px;margin:0 auto;padding:40px 16px}.home-head{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.home-head h1{margin:0;font-size:22px}.file-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;padding:0;list-style:none;display:grid}.file-grid li{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;display:flex}.file-card{color:inherit;flex-direction:column;flex:1;gap:4px;padding:16px;text-decoration:none;display:flex}.file-name{font-size:15px;font-weight:600}.file-grid li>button{align-self:flex-end;margin:0 8px 8px}.loading{height:100vh;color:var(--muted);place-items:center;display:grid}.editor{flex-direction:column;height:100vh;display:flex;overflow:hidden}.topbar{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:10px;height:44px;padding:0 10px;display:flex}.brand{color:var(--accent);font-size:20px;text-decoration:none}.doc-name{background:0 0;border-color:#0000;width:200px;font-weight:600}.doc-name:hover{border-color:var(--line)}.tools{gap:2px;margin:0 auto;display:flex}.tools button,.segmented button{background:0 0;border-color:#0000}.tools button.on,.segmented button.on{background:var(--accent-soft);color:var(--accent)}.topbar-right{align-items:center;gap:6px;display:flex}.status{color:var(--muted);font-size:12px}.status.offline{color:var(--danger)}.workspace{flex:1;min-height:0;display:flex}.panel{background:var(--panel);flex-direction:column;flex-shrink:0;width:240px;display:flex;overflow-y:auto}.panel.left{border-right:1px solid var(--line)}.panel.right{border-left:1px solid var(--line);width:260px}.panel section{border-bottom:1px solid var(--line);padding:8px 0 10px}.panel section.grow{border-bottom:0;flex:1}.panel section>:not(.pages,.layers,.panel-head){margin-left:12px;margin-right:12px}.panel h2{margin:0;font-size:12px;font-weight:600}.panel h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:4px 12px 6px;font-size:11px}.panel-head{justify-content:space-between;align-items:center;min-height:32px;padding:4px 6px 4px 12px;display:flex}.panel ul{margin:0;padding:0;list-style:none}.page,.layer{cursor:default;white-space:nowrap;align-items:center;gap:4px;padding:3px 8px 3px 12px;display:flex}.page{justify-content:space-between}.page.selected,.layer.selected{background:var(--accent-soft);color:var(--accent)}.layer.hovered:not(.selected){box-shadow:inset 0 0 0 1px var(--accent)}.twisty{background:0 0;border:0;width:14px;padding:0 2px;font-size:10px}.layer-icon{text-align:center;width:14px;color:var(--muted);font-size:11px}.layer-name{text-overflow:ellipsis;overflow:hidden}.rename{width:100%;padding:1px 4px}.field{grid-template-columns:64px 1fr;align-items:center;gap:6px;margin-bottom:6px;display:grid}.field>span{color:var(--muted);font-size:12px}.grid2{grid-template-columns:1fr 1fr;gap:0 8px;display:grid}.grid2 .field{grid-template-columns:22px 1fr}.grid2 .field>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.color-field{align-items:flex-start;gap:6px;display:flex}.color-field input[type=color]{border-radius:5px;flex-shrink:0;width:26px;height:26px;padding:0}.color-field .field{flex:1;grid-template-columns:34px 1fr}.segmented{gap:2px;margin-bottom:6px;display:flex}.segmented button{flex:1}.hint{color:var(--muted);margin-top:0;font-size:11px}.css-edit{resize:vertical;width:calc(100% - 24px);min-height:140px;font:12px/1.5 ui-monospace,monospace}.shortcuts dl{grid-template-columns:auto 1fr;gap:4px 10px;margin:0;display:grid}.shortcuts dt{font-weight:600}.shortcuts dd{color:var(--muted);margin:0}.shortcuts h3{margin-left:0}.viewport{background:var(--canvas);touch-action:none;-webkit-user-select:none;user-select:none;flex:1;position:relative;overflow:hidden}.world{transform-origin:0 0;color:#111;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:16px/1.4 Inter,system-ui,sans-serif;position:absolute;top:0;left:0}.world [data-node-id]{box-sizing:border-box}.world .dragging{opacity:.6;pointer-events:none}.text-editing{outline:2px solid var(--accent);cursor:text;-webkit-user-select:text;user-select:text}.overlay{pointer-events:none;position:absolute;inset:0}.overlay.hidden>:not(.artboard-label){display:none}.sel-box,.hover-box,.parent-box,.drop-box,.draw-rect,.marquee{pointer-events:none;position:absolute}.sel-box{outline:1.5px solid var(--accent)}.hover-box{outline:1px solid var(--accent)}.parent-box{outline:1px dashed color-mix(in srgb, var(--accent) 50%, transparent)}.drop-box{background:#16a34a0f;outline:2px solid #16a34a}.draw-rect{outline:1px solid var(--accent);background:#4f46e50f}.marquee{outline:1px solid var(--accent);background:#4f46e514}.handle{border:1.5px solid var(--accent);pointer-events:auto;background:#fff;border-radius:2px;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;position:absolute}.handle-e{cursor:ew-resize}.handle-s{cursor:ns-resize}.handle-se{cursor:nwse-resize}.size-tag{background:var(--accent);color:#fff;white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:11px;position:absolute;transform:translate(-50%)}.artboard-label{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;pointer-events:auto;cursor:default;height:18px;font-size:11px;position:absolute;overflow:hidden}.artboard-label.active{color:var(--accent)}.empty-hint{color:var(--muted);pointer-events:none;text-align:center;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.modal-backdrop{z-index:10;background:#00000059;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border-radius:12px;flex-direction:column;width:min(820px,100%);max-height:85vh;display:flex;box-shadow:0 20px 60px #0000004d}.modal-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 12px;display:flex}.modal-head .segmented{margin:0}.modal-head .muted{margin-right:auto}.code{white-space:pre;margin:0;padding:14px;font:12px/1.55 ui-monospace,monospace;overflow:auto}.row{align-items:center;gap:8px;display:flex}.row.end{justify-content:flex-end}.spacer,.grow{flex:1}.stack{flex-direction:column;gap:4px;font-weight:500;display:flex}.check{align-items:center;gap:6px;margin-bottom:6px;display:flex}.home h1 a{color:inherit;text-decoration:none}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:16px;padding:16px}.card h2{margin:0 0 4px;font-size:15px}.card .row input{flex:1}code.block{word-break:break-all;white-space:pre-wrap;margin:6px 0;padding:8px;display:block}.token-created{border:1px solid var(--accent);border-radius:8px;margin:12px 0;padding:10px 12px}.token-list{margin:12px 0 0;padding:0;list-style:none}.token-list li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.auth{place-items:center;min-height:100vh;padding:16px;display:grid}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:12px;width:min(360px,100%);padding:24px;display:flex}.auth-card h1{margin:0;font-size:22px}.auth-card p{margin:0}.auth-card input,.auth-card .primary{padding:8px}.topbar button.on{background:var(--accent-soft);color:var(--accent);border-color:#0000}.avatars{align-items:center;margin-right:4px;display:flex}.avatar{color:#fff;border:2px solid var(--panel);border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;margin-left:-6px;padding:0;font-size:10px;font-weight:700;display:inline-grid}.avatar.following{box-shadow:0 0 0 2px var(--accent)}.avatar.small{border:0;width:20px;height:20px;margin:0;font-size:9px}.follow-banner{background:var(--accent);color:#fff;pointer-events:none;border-radius:999px;padding:4px 12px;font-size:12px;position:fixed;top:52px;left:50%;transform:translate(-50%)}.modal.narrow{width:min(480px,100%)}.pad-l{padding:12px 16px 16px}.pad-l form input{flex:1}.member-list{margin:12px 0 0;padding:0;list-style:none}.member-list li{border-top:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.collab{pointer-events:none;position:absolute;inset:0}.collab.hidden>:not(.peer-cursor){display:none}.peer-sel{outline:2px solid;position:absolute}.flash{outline:2px solid;animation:1.5s ease-out forwards flash;position:absolute}@keyframes flash{to{outline-color:#0000}}.flash-tag{color:#fff;white-space:nowrap;border-radius:3px;padding:1px 5px;font-size:10px;position:absolute;top:-18px;left:-2px}.peer-cursor{transition:left 80ms linear,top 80ms linear;position:absolute}.peer-name{color:#fff;white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:11px;position:absolute;top:16px;left:12px}.peer-name.chatting{white-space:normal;border-radius:4px 14px 14px;max-width:260px;padding:6px 10px;font-size:13px}.my-chat{pointer-events:auto;position:absolute}.my-chat input{color:#fff;border:0;border-radius:4px 14px 14px;width:220px;padding:6px 10px;font-size:13px;position:absolute;top:16px;left:12px}.my-chat input::placeholder{color:#ffffffbf}.pin{color:#fff;pointer-events:auto;border:2px solid #fff;border-radius:13px 13px 13px 2px;width:26px;height:26px;padding:0;font-size:11px;font-weight:700;position:absolute;transform:translate(-2px,-100%);box-shadow:0 2px 6px #00000040}.pin.active{box-shadow:0 0 0 2px var(--accent), 0 2px 6px #00000040}.pin.draft{display:block}.thread{background:var(--panel);width:280px;color:var(--text);border:1px solid var(--line);pointer-events:auto;z-index:2;border-radius:10px;flex-direction:column;gap:6px;max-height:60vh;padding:8px;display:flex;position:absolute;overflow:auto;box-shadow:0 10px 30px #0003}.thread textarea{resize:vertical;width:100%}.thread-head{align-items:center;display:flex}.comment-list{margin:0;padding:0;list-style:none}.comment-list li{border-bottom:1px solid var(--line);padding:6px 2px}.comment-list p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}.comment-meta{align-items:center;gap:6px;display:flex}.comment-meta button{margin-left:auto}.thread-list{margin:0;padding:0;list-style:none}.thread-item{text-align:left;border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;flex-direction:column;gap:4px;width:100%;padding:10px 12px;display:flex}.thread-item.selected{background:var(--accent-soft)}.thread-body{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.world .vector>svg{width:100%;height:100%;display:block}.format-bar{background:var(--panel);border:1px solid var(--line);z-index:3;border-radius:8px;gap:2px;padding:3px;display:flex;position:absolute;box-shadow:0 4px 14px #00000026}.format-bar button,.format-color{cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;width:28px;height:26px;padding:0;display:grid;position:relative}.format-bar button:hover,.format-color:hover{background:var(--accent-soft)}.format-color input{opacity:0;cursor:pointer;position:absolute;inset:0}.tabs{gap:2px;padding:6px 6px 0;display:flex}.tabs button{background:0 0;border:0;flex:1;padding:5px 4px;font-size:12px}.tabs button.on{background:var(--accent-soft);color:var(--accent)}.token-row{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:4px;padding:6px 12px;display:grid}.token-row input{width:100%}.token-values{grid-column:1/-1;gap:4px;display:grid}.token-value{grid-template-columns:56px 22px 1fr;align-items:center;gap:4px;font-size:12px;display:grid}.token-value input[type=color]{width:22px;height:22px;padding:0}.swatch{border:1px solid var(--line);vertical-align:-2px;border-radius:3px;width:12px;height:12px;display:inline-block}.chips{flex-wrap:wrap;gap:4px;padding:0 12px;display:flex}.chip{border:1px solid var(--line);border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:12px;display:inline-flex}.asset-list{margin:0;padding:0;list-style:none}.asset-list li>button{text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:6px;width:100%;padding:6px 12px;display:flex}.asset-list li>button:hover{background:var(--accent-soft)}.lib-head{justify-content:space-between;align-items:center;padding:6px 12px 2px;font-size:12px;font-weight:600;display:flex}.update-note{background:var(--accent-soft);border-radius:6px;justify-content:space-between;align-items:center;gap:6px;margin:4px 12px;padding:6px 8px;font-size:12px;display:flex}.token-pick{position:relative}.token-menu{z-index:5;background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:180px;max-height:240px;padding:4px;position:absolute;top:100%;right:0;overflow:auto;box-shadow:0 8px 24px #00000026}.token-menu button{text-align:left;background:0 0;border:0;align-items:center;gap:6px;width:100%;padding:4px 6px;display:flex}.token-menu button:hover{background:var(--accent-soft)}.token-ref{color:var(--accent);margin:-2px 0 6px 70px;font-size:11px}.override-list .field{grid-template-columns:80px 1fr}.pad-x{padding-left:12px;padding-right:12px}.token-field .row{gap:2px}.token-field .field{flex:1}.upload-btn{cursor:pointer;border-radius:6px;padding:3px 8px}.upload-btn:hover{background:var(--accent-soft)}button.small.primary{padding:2px 8px}.stack-gap{flex-direction:column;gap:8px;display:flex}.stack-gap .hint{margin:-4px 0 0}.modal-backdrop{grid-template-columns:minmax(0,1fr);justify-items:center}.modal{min-width:0;max-width:100%}.narrow-form{max-width:320px;margin-top:8px}
