:root{--border-radius:8px;--blur:blur(8px);--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--spacing-xxl:32px;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", "Cascadia Code", "Menlo", monospace;--font-sans:"Figtree", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif:"EB Garamond", "Times New Roman", "Georgia", serif;--accent-primary:#4385be;--accent-secondary:#da702c;--accent-color:#4385be;--border-active:#4385be;--text-accent:#4385be;--bg-primary:#fffcf7;--bg-secondary:#f8f4ecf2;--bg-tertiary:#f0ebe1f2;--bg-hover:#0000000a;--text-primary:#3d3530;--text-secondary:#6b5f54;--text-tertiary:#8a7f72;--border-primary:#d5cbbe;--border-secondary:#c8bba8;--card-bg:#fffcf7fa;--card-bg-hover:#fff;--card-border:#e0d6c8;--thumbnail-bg:#e8e0d499;--sidebar-bg:#fffcf7fa;--shadow:0 2px 6px #00000026;--color-green:#22c55e;--color-yellow:#f59e0b;--color-red:#dc2626;--error-bg:#fee;--error-border:#fcc;--error-text:#c00}:root[data-theme=dark]{--bg-primary:#100f0f;--bg-secondary:#1c1b1a;--bg-tertiary:#282726f2;--bg-hover:#cecdc30f;--text-primary:#cecdc3;--text-secondary:#878580;--text-tertiary:#575653;--border-primary:#343331cc;--border-secondary:#403e3c99;--card-bg:#1c1b1af2;--card-bg-hover:#282726f2;--card-border:#34333199;--thumbnail-bg:#100f0f99;--sidebar-bg:#100f0ffa;--shadow:0 2px 8px #100f0f66;--error-bg:#d14d411a;--error-border:#d14d414d;--error-text:#d14d41;--color-background:#100f0f;--color-panel:#1c1b1a;--color-panel-contrast:#343331;--color-low:#1c1b1a;--color-low-border:#343331;--color-muted-1:#282726;--color-muted-2:#343331;--color-border:#403e3c;--color-text:#cecdc3;--color-text-0:#fffcf0;--color-text-1:#cecdc3;--color-text-2:#878580;--color-text-3:#575653;--color-overlay:#100f0f80;--color-selected-contrast:#fffcf0;--color-primary:#4385be;--color-primary-darken:#205ea6;--color-accent:#da702c;--color-red:#d14d41;--color-orange:#da702c;--color-yellow:#d0a215;--color-green:#879a39;--color-cyan:#3aa99f;--color-blue:#4385be;--color-purple:#8b7ec8;--color-magenta:#ce5d97;--color-error:#d14d41;--color-warn:#d0a215;--color-warning:#d0a215;--color-success:#879a39}.tl-theme__light{--bg-primary:#fffffff2;--bg-secondary:#f5f5f5f2;--bg-tertiary:#ebebebf2;--bg-hover:#0000000a;--text-primary:#333;--text-secondary:#666;--text-tertiary:#999;--border-primary:#ddd;--border-secondary:#ccc;--card-bg:#fffffffa;--card-bg-hover:#fff;--card-border:#e5e5e5;--thumbnail-bg:#f0f0f099;--sidebar-bg:#fffffffa;--shadow:0 2px 6px #00000026;--color-green:#22c55e;--color-yellow:#f59e0b;--color-red:#dc2626;--error-bg:#fee;--error-border:#fcc;--error-text:#c00}.tl-theme__dark{--bg-primary:#100f0f;--bg-secondary:#1c1b1a;--bg-grid:#343331f2;--bg-tertiary:#282726f2;--bg-hover:#cecdc30f;--text-primary:#cecdc3;--text-secondary:#878580;--text-tertiary:#575653;--border-primary:#343331cc;--border-secondary:#403e3c99;--card-bg:#1c1b1af2;--card-bg-hover:#282726f2;--card-border:#34333199;--thumbnail-bg:#100f0f99;--sidebar-bg:#100f0ffa;--shadow:0 2px 8px #100f0f66;--error-bg:#d14d411a;--error-border:#d14d414d;--error-text:#d14d41;--color-background:#100f0f;--color-panel:#1c1b1a;--color-panel-contrast:#343331;--color-low:#1c1b1a;--color-low-border:#343331;--color-muted-1:#282726;--color-muted-2:#343331;--color-border:#403e3c;--color-text:#cecdc3;--color-text-0:#fffcf0;--color-text-1:#cecdc3;--color-text-2:#878580;--color-text-3:#575653;--color-overlay:#100f0f80;--color-selected-contrast:#fffcf0;--color-primary:#4385be;--color-primary-darken:#205ea6;--color-accent:#da702c;--color-red:#d14d41;--color-orange:#da702c;--color-yellow:#d0a215;--color-green:#879a39;--color-cyan:#3aa99f;--color-blue:#4385be;--color-purple:#8b7ec8;--color-magenta:#ce5d97;--color-error:#d14d41;--color-warn:#d0a215;--color-warning:#d0a215;--color-success:#879a39}.tl-background:after{content:"";pointer-events:none;position:absolute;inset:0}.tl-theme__light .tl-background:after{background:radial-gradient(#fffffa66 0%,#fffdf533 25%,#cdb99b2e 50%,#aa916e59 100%)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}.icon-button{background:var(--bg-hover);border:1px solid var(--border-secondary);cursor:pointer;width:28px;height:28px;color:var(--text-tertiary);border-radius:6px;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:all .15s;display:flex}.icon-button:hover{color:var(--accent-primary);background:#0ca7db1a}.icon-button:disabled{opacity:.5;cursor:not-allowed}.icon-button--active{border-color:var(--accent-primary);color:var(--accent-primary);background:#0ca7db26}.icon-button--danger:hover{color:#ef4444;background:#ef444426;border-color:#ef44444d}.icon-button--success{color:#22c55e;background:#22c55e26;border-color:#22c55e66}.icon-button--success:hover{background:#22c55e40}.icon-button--small{width:26px;height:26px}.icon-button--large{width:32px;height:32px}.chip{background:var(--card-bg);border:1px solid var(--card-border);cursor:pointer;color:var(--text-primary);border-radius:6px;align-items:center;gap:6px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.chip:hover{background:var(--bg-hover)}.chip--active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.chip--active:hover{background:var(--accent-primary);filter:brightness(1.1)}.chip--dragging{border:2px dashed var(--accent-primary);transform:scale(1.05)}.chip--small{border-radius:5px;padding:3px 8px;font-size:11px}.chip--removable{padding-right:6px}.chip__icon{flex-shrink:0}.chip__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chip__remove{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .1s;display:flex}.chip__remove:hover{opacity:1}.chip--tag{background:var(--chip-bg-color);color:var(--chip-text-color);border:none}.chip--folder{color:var(--accent-primary);background:#0ca7db1f}.popover-backdrop{z-index:999;position:fixed;inset:0}.popover{background:var(--popover-bg,var(--card-bg));border:1px solid var(--popover-border,var(--border-secondary));z-index:1000;border-radius:10px;min-width:180px;padding:8px;position:fixed;box-shadow:0 8px 24px #00000040}.popover__header{color:var(--popover-text-tertiary,var(--text-tertiary));text-transform:uppercase;letter-spacing:.5px;padding:4px 8px 8px;font-size:11px;font-weight:600}.popover__content{flex-direction:column;gap:2px;display:flex}.popover__item{cursor:pointer;width:100%;color:var(--popover-text,var(--text-primary));text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:400;transition:background .1s;display:flex}.popover__item:hover{background:var(--popover-bg-hover,var(--bg-hover))}.popover__item--active{color:var(--accent-primary);background:#0ca7db1f;font-weight:500}.popover__item--italic{color:var(--popover-text-tertiary,var(--text-tertiary));font-style:italic}.popover__empty{color:var(--popover-text-tertiary,var(--text-tertiary));text-align:center;padding:12px;font-size:12px}.editable-text{width:100%;font-size:inherit;font-weight:inherit;color:var(--text-primary);background:var(--bg-hover);border:1px solid var(--accent-primary);box-sizing:border-box;border-radius:6px;outline:none;padding:6px 10px;font-family:inherit}.editable-text:focus{box-shadow:0 0 0 2px #0ca7db33}.editable-text--small{padding:4px 8px}.action-button{background:var(--card-bg);border:1px solid var(--border-secondary);cursor:pointer;color:var(--text-primary);border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:flex}.action-button:hover{background:var(--card-bg-hover);border-color:var(--accent-primary)}.action-button:disabled{opacity:.7;cursor:wait}.action-button--primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.action-button--primary:hover{filter:brightness(1.1);background:var(--accent-primary);border-color:var(--accent-primary)}.toggle-group{background:var(--bg-hover);border-radius:8px;align-items:center;gap:4px;padding:3px;display:flex}.toggle-group__item{font-size:11px;font-weight:500;font-family:var(--font-sans);cursor:pointer;color:var(--text-secondary);box-shadow:none;background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;transition:all .15s;display:flex}.toggle-group__item--active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:0 1px 3px #0000001a}.folder-actions{opacity:0;gap:4px;transition:opacity .15s;display:flex}:hover>.folder-actions{opacity:1}.project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}@media (width<=1024px){.project-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.project-grid-container{padding:16px!important}}@media (width<=480px){.project-grid{grid-template-columns:1fr;gap:12px}.project-grid-container{padding:12px!important}.action-button{gap:6px;padding:8px 12px;font-size:12px}.action-button__label{display:none}.action-button{border-radius:50%;padding:10px}.top-action-bar{gap:8px!important;padding:10px 12px!important}}@media (pointer:coarse){.icon-button,.icon-button--small{position:relative}.icon-button:after,.icon-button--small:after{content:"";min-width:44px;min-height:44px;position:absolute;inset:-8px}.action-button{min-height:44px}.toggle-group__item{min-height:44px;padding:8px 14px}.popover__item{min-height:44px;padding:10px 12px}.chip{position:relative}.chip:after{content:"";min-height:44px;position:absolute;inset:-4px}.folder-actions{opacity:1}[data-touch-target]{min-height:44px!important}}.rust-dev-container{background:var(--bg-tertiary);width:100vw;height:100vh;color:var(--text-primary);flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.rust-dev-header{padding:var(--spacing-sm) var(--spacing-md,16px);background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;display:flex}.rust-dev-header h1{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.rust-dev-actions{gap:var(--spacing-sm);display:flex}.rust-dev-btn{padding:var(--spacing-sm) var(--spacing-md,16px);border:1px solid var(--border-primary);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:6px;font-size:13px;transition:all .15s}.rust-dev-btn:hover{background:var(--bg-secondary);border-color:var(--border-active)}.rust-dev-btn:disabled{opacity:.5;cursor:not-allowed}.rust-dev-btn-run{background:var(--color-green);border-color:var(--color-green);color:#000}.rust-dev-btn-run:hover:not(:disabled){filter:brightness(1.1)}.rust-dev-btn-active{background:var(--accent-color);border-color:var(--accent-color)}.rust-dev-main{flex:1;min-height:0;display:flex}.rust-dev-editor{border-right:1px solid var(--border-primary);flex:1;min-width:0;position:relative}.rust-dev-editor>div{position:absolute;inset:0}.rust-dev-output{background:var(--bg-tertiary);flex-direction:column;flex:1;min-width:0;display:flex}.rust-dev-canvas-container{padding:var(--spacing-md,16px);border-bottom:1px solid var(--border-primary)}.rust-dev-canvas{border-radius:var(--spacing-sm);background:var(--bg-secondary);width:100%;height:150px}.rust-dev-logs{padding:var(--spacing-md,16px);flex:1;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.6;overflow-y:auto}.rust-dev-log-placeholder{color:var(--text-secondary);font-style:italic}.rust-dev-log{padding:var(--spacing-xs) 0;white-space:pre-wrap;word-break:break-all}.rust-dev-log-log{color:var(--text-primary)}.rust-dev-log-error{color:var(--color-red)}.rust-dev-log-result{color:var(--color-green);font-weight:500}.rust-dev-footer{padding:10px var(--spacing-md,16px);background:var(--bg-secondary);border-top:1px solid var(--border-primary);justify-content:space-between;align-items:center;font-size:12px;display:flex}.rust-dev-status{align-items:center;gap:6px;display:flex}.rust-dev-status-loading{color:var(--color-yellow)}.rust-dev-status-ready{color:var(--color-green)}.rust-dev-status-error{color:var(--color-red)}.rust-dev-hint{color:var(--text-secondary)}.rust-dev-editor .cm-editor{height:100%}.rust-dev-editor .cm-scroller{overflow:auto}.rust-dev-api{background:var(--bg-secondary);border-left:1px solid var(--border-primary);flex-direction:column;width:280px;min-width:280px;display:flex;overflow:hidden}.rust-dev-api-header{padding:12px var(--spacing-md,16px);color:var(--text-primary);background:var(--bg-primary);border-bottom:1px solid var(--border-primary);font-size:13px;font-weight:600}.rust-dev-api-content{flex:1;padding:12px;overflow-y:auto}.rust-dev-api-entry{margin-bottom:12px}.rust-dev-api-name{color:var(--text-primary);align-items:center;gap:var(--spacing-sm);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;display:flex}.rust-dev-api-type{text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:500}.rust-dev-api-type-class{background:var(--accent-color);color:#fff}.rust-dev-api-type-function{background:var(--color-green);color:#000}.rust-dev-api-methods{margin-left:48px;margin-top:var(--spacing-xs)}.rust-dev-api-method{color:var(--text-secondary);padding:2px 0;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:11px}.rust-dev-api-method:hover{color:var(--color-green)}
