:root{--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 14px;--fs-xl: 16px;--sp-xs: 4px;--sp-sm: 8px;--sp-md: 12px;--sp-lg: 16px;--sp-xl: 24px;--shadow-elevated: 0 8px 24px rgba(0, 0, 0, .45);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--tag-blue: #3574F0;--tag-green: #499C54;--tag-orange: #CF8E6D;--tag-purple: #B68FF2;--tag-teal: #4DBCE9;--tag-pink: #E26EBC;--tag-yellow: #D6A943;--tag-gray: #6E7178}:root,[data-theme=dark]{--bg-app: #1E1F22;--bg-panel: #2B2D30;--bg-elevated: #2B2D30;--bg-hover: #2E3034;--bg-selected: #2E436E;--border-subtle: #393B40;--border-strong: #4E5157;--text-primary: #DFE1E5;--text-secondary: #BCBEC4;--text-muted: #868A91;--text-disabled: #5A5D63;--accent: #3574F0;--accent-hover: #4F8AF0;--accent-muted: #2E436E;--accent-secondary: #3574F0;--focus-ring: #3574F0;--success: #499C54;--warn: #E0A800;--error: #DB5C5C;--info: #3574F0}[data-theme=light]{--bg-app: #FFFFFF;--bg-panel: #F7F8FA;--bg-elevated: #FFFFFF;--bg-hover: #EBECF0;--bg-selected: #C5D3F1;--border-subtle: #E0E1E5;--border-strong: #BCBEC4;--text-primary: #1C1E22;--text-secondary: #4A4D54;--text-muted: #6E7178;--text-disabled: #ACAEB3;--accent: #3574F0;--accent-hover: #2664D6;--accent-muted: #DCE7FC;--accent-secondary: #3574F0;--focus-ring: #3574F0;--success: #2E7D32;--warn: #B58100;--error: #C53030;--info: #3574F0}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{background:var(--bg-app);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--fs-md);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.app{display:flex;flex-direction:column;height:100%}.main-row{flex:1;display:flex;min-height:0}.toolbar{display:flex;align-items:center;height:40px;background:var(--bg-panel);border-bottom:1px solid var(--border-subtle)}.toolbar-title{flex:0 0 200px;width:200px;height:100%;padding:0 var(--sp-md);box-sizing:border-box;display:flex;align-items:center;font-weight:500;color:var(--text-primary);border-right:1px solid var(--border-subtle);overflow:hidden}.toolbar-logo{max-height:28px;max-width:100%;width:auto;height:auto;display:block;object-fit:contain}.toolbar-leading{margin-left:var(--sp-md)}.toolbar-spacer{flex:1}.toolbar-right{display:flex;align-items:center;gap:var(--sp-md);padding:0 var(--sp-md)}.theme-toggle{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;line-height:0;transition:color .1s ease,background-color .1s ease}.theme-toggle:hover{color:var(--text-primary);background:var(--bg-hover)}.theme-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-1px}.btn{background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:4px 10px;font:inherit;cursor:pointer;transition:background-color .1s ease,border-color .1s ease}.btn:hover{background:var(--bg-hover)}.btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-1px}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.toolbar-user{color:var(--text-muted);font-size:var(--fs-sm);padding-right:var(--sp-xs)}.sync-badge{font-size:var(--fs-sm);color:var(--text-muted);padding:2px 8px;border-radius:var(--radius-sm);background:var(--bg-app);border:1px solid var(--border-subtle)}.sync-badge--saving{color:var(--accent)}.sync-badge--error{color:var(--error);border-color:var(--error)}.sync-badge--idle{color:var(--success)}.viewport{flex:1;background:var(--bg-app);position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.world{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}.world-grid{position:absolute;left:-200000px;top:-200000px;width:400000px;height:400000px;background:radial-gradient(circle at 1px 1px,var(--border-subtle) 1px,transparent 0) 0 0 / 24px 24px;pointer-events:none}.item-frame{position:absolute;-webkit-user-select:none;user-select:none;cursor:move}.item-frame>img{width:100%;height:100%;object-fit:cover;display:block;border-radius:var(--radius-sm);pointer-events:none}.link-card{width:100%;height:100%;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column;color:var(--text-primary)}.link-thumb{flex:0 0 auto;width:100%;height:50%;min-height:0;background:var(--bg-app);overflow:hidden}.link-thumb img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.link-text{flex:1 1 auto;padding:var(--sp-sm) var(--sp-md);display:flex;flex-direction:column;gap:4px;min-height:0;overflow:hidden}.link-site{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.link-favicon{width:14px;height:14px;border-radius:2px;pointer-events:none}.link-site-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-title{font-size:var(--fs-md);font-weight:500;line-height:1.3;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.link-desc{font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.zone-card{width:100%;height:100%;background:color-mix(in srgb,var(--accent-secondary) 4%,transparent);border:1px dashed var(--accent-secondary);border-radius:var(--radius-md);display:flex;flex-direction:column;overflow:hidden}.zone-header{flex:0 0 auto;height:6px;background:color-mix(in srgb,var(--accent-secondary) 35%,transparent);border-bottom:1px dashed var(--border-subtle);pointer-events:none}.zone-body{flex:1;pointer-events:none}.zone-label{position:absolute;height:26px;padding:0 10px;display:inline-flex;align-items:center;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-weight:500;line-height:1;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:auto;z-index:4;box-shadow:0 2px 6px #00000059;cursor:text;overflow:hidden}.zone-label--pinned{border-color:var(--accent-muted)}.zone-label-text{overflow:hidden;text-overflow:ellipsis}.zone-label-text--empty{color:var(--text-muted);font-style:italic;font-weight:400}.zone-label-input{background:transparent;border:none;color:var(--text-primary);font:inherit;font-size:14px;font-weight:500;outline:none;width:100%;min-width:80px}.video-card{width:100%;height:100%;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column;color:var(--text-primary)}.video-card--playing{background:#000}.video-card iframe{width:100%;height:100%;border:0;display:block}.video-thumb{flex:1;position:relative;background:#000;overflow:hidden;min-height:0}.video-thumb img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:999px;background:#0000008c;border:2px solid rgba(255,255,255,.85);color:#fffffff2;display:grid;place-items:center;cursor:pointer;padding:0 0 0 4px;transition:background-color .12s ease,transform .12s ease}.video-play:hover{background:#000000bf;transform:translate(-50%,-50%) scale(1.05)}.video-caption{flex:0 0 auto;padding:var(--sp-xs) var(--sp-md);display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--border-subtle)}.video-provider{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.video-title{font-size:var(--fs-md);font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.video-author{font-size:var(--fs-sm);color:var(--text-muted)}.video-controls{position:absolute;top:6px;right:6px;display:flex;flex-direction:column;gap:4px;z-index:3;opacity:0;transition:opacity .12s ease}.video-card:hover .video-controls,.video-card--interactive .video-controls{opacity:1}.video-ctrl{width:26px;height:26px;display:grid;place-items:center;background:#000000a6;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:var(--radius-sm);font-size:13px;line-height:1;cursor:pointer;padding:0}.video-ctrl:hover{background:#000000d9;border-color:#ffffff80}.video-hint{position:absolute;left:50%;bottom:8px;transform:translate(-50%);padding:3px 8px;background:#0009;color:#ffffffe6;font-size:11px;border-radius:999px;pointer-events:none;opacity:0;transition:opacity .2s ease}.video-card:hover .video-hint{opacity:1}.video-card--interactive{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius-md)}.tweet-card{position:relative;width:100%;height:100%;background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.tweet-embed{pointer-events:none}.tweet-card--interactive .tweet-embed{pointer-events:auto}.tweet-card--interactive{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius-md)}.tweet-embed .twitter-tweet:not(.twitter-tweet-rendered){margin:var(--sp-sm);padding:var(--sp-sm);color:var(--text-primary);font-size:var(--fs-md);border-left:3px solid var(--accent);background:var(--bg-panel);border-radius:var(--radius-sm)}.tweet-card-handle{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:999px;background:#0000008c;border:1px solid rgba(255,255,255,.6);color:#fffffff2;cursor:pointer;display:grid;place-items:center;padding:0;font-size:14px;z-index:2;transition:background-color .12s ease}.tweet-card-handle:hover{background:#000000bf}.tweet-card--interactive .tweet-card-handle{background:var(--accent);border-color:var(--accent)}.tag-editor{position:absolute;display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-elevated);pointer-events:auto;z-index:5;max-width:420px}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 8px;font-size:11px;line-height:1.4;border-radius:999px;border:1px solid transparent;white-space:nowrap}.tag-chip[data-color=blue]{background:#3574f029;border-color:var(--tag-blue);color:#cfd9ff}.tag-chip[data-color=green]{background:#499c5429;border-color:var(--tag-green);color:#c9eccf}.tag-chip[data-color=orange]{background:#cf8e6d2e;border-color:var(--tag-orange);color:#f3dbcc}.tag-chip[data-color=purple]{background:#b68ff22e;border-color:var(--tag-purple);color:#e8d9ff}.tag-chip[data-color=teal]{background:#4dbce929;border-color:var(--tag-teal);color:#cdebfa}.tag-chip[data-color=pink]{background:#e26ebc2e;border-color:var(--tag-pink);color:#f5d4ea}.tag-chip[data-color=yellow]{background:#d6a9432e;border-color:var(--tag-yellow);color:#f3e3bc}.tag-chip[data-color=gray]{background:#6e717840;border-color:var(--tag-gray);color:var(--text-secondary)}[data-theme=light] .tag-chip[data-color=blue]{color:color-mix(in srgb,var(--tag-blue),black 25%)}[data-theme=light] .tag-chip[data-color=green]{color:color-mix(in srgb,var(--tag-green),black 15%)}[data-theme=light] .tag-chip[data-color=orange]{color:color-mix(in srgb,var(--tag-orange),black 40%)}[data-theme=light] .tag-chip[data-color=purple]{color:color-mix(in srgb,var(--tag-purple),black 45%)}[data-theme=light] .tag-chip[data-color=teal]{color:color-mix(in srgb,var(--tag-teal),black 45%)}[data-theme=light] .tag-chip[data-color=pink]{color:color-mix(in srgb,var(--tag-pink),black 45%)}[data-theme=light] .tag-chip[data-color=yellow]{color:color-mix(in srgb,var(--tag-yellow),black 50%)}[data-theme=light] .tag-chip[data-color=gray]{color:var(--text-primary)}.tag-chip-x{background:transparent;border:none;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:0 2px;opacity:.6}.tag-chip-x:hover{opacity:1}.tag-chip--ghost{opacity:.7;cursor:pointer;padding:2px 8px}.tag-chip--ghost:hover{opacity:1}.tag-input{flex:1 0 80px;min-width:80px;background:transparent;border:none;color:var(--text-primary);font:inherit;font-size:12px;padding:2px 4px;outline:none}.tag-input::placeholder{color:var(--text-muted)}.tag-suggestions{flex:1 0 100%;display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding-top:4px;border-top:1px solid var(--border-subtle);margin-top:2px}.tag-suggestions--ai{border-top:none;padding-top:0;margin-top:4px}.tag-suggestions-label{font-size:12px;line-height:1;opacity:.85;padding-right:2px}.tag-chip--ai{border-style:dashed;background:transparent;padding:0;display:inline-flex;align-items:stretch;overflow:hidden}.tag-chip-accept{background:transparent;border:none;color:inherit;font:inherit;font-size:11px;cursor:pointer;padding:2px 4px 2px 8px}.tag-chip-accept:hover{background:#ffffff0d}.tag-chip--loading{padding:2px 8px;color:var(--text-muted);font-style:italic;font-size:11px;display:inline-flex;align-items:center;gap:6px;cursor:default}.tag-loading-dots{display:inline-flex;gap:3px;align-items:center}.tag-loading-dots span{width:4px;height:4px;border-radius:50%;background:var(--accent);animation:tag-loading-pulse 1.2s ease-in-out infinite}.tag-loading-dots span:nth-child(2){animation-delay:.15s}.tag-loading-dots span:nth-child(3){animation-delay:.3s}@keyframes tag-loading-pulse{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.tag-clear-all{background:transparent;border:none;color:var(--text-muted);font:inherit;font-size:11px;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);margin-left:auto}.tag-clear-all:hover{background:var(--bg-hover);color:var(--text-secondary)}.item-frame--dimmed{opacity:.2;filter:grayscale(.7);transition:opacity .12s ease,filter .12s ease}.sidebar{width:200px;background:var(--bg-panel);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-md);border-bottom:1px solid var(--border-subtle);color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.sidebar-title{flex:1}.sidebar-view-toggle{display:inline-flex;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden}.sidebar-view-btn{background:transparent;border:none;color:var(--text-muted);padding:3px 6px;cursor:pointer;line-height:0;display:inline-flex;align-items:center;justify-content:center}.sidebar-view-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.sidebar-view-btn--active{background:var(--accent-muted);color:var(--text-primary)}.sidebar-search{position:relative;padding:var(--sp-xs) var(--sp-sm);border-bottom:1px solid var(--border-subtle)}.sidebar-search-input{width:100%;background:var(--bg-app);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:4px 22px 4px 8px;font:inherit;font-size:var(--fs-sm);outline:none}.sidebar-search-input:focus{border-color:var(--accent)}.sidebar-search-input::placeholder{color:var(--text-muted)}.sidebar-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;padding:2px 4px}.sidebar-search-clear:hover{color:var(--text-primary)}.sidebar-empty{padding:var(--sp-md);color:var(--text-muted);font-size:var(--fs-sm);text-align:center}.sidebar-clear{background:transparent;border:none;color:var(--accent);font-size:11px;cursor:pointer;padding:0;text-transform:uppercase;letter-spacing:.5px}.sidebar-clear:hover{color:var(--accent-hover)}.sidebar-list{flex:1;overflow-y:auto;padding:var(--sp-xs);display:flex;flex-direction:column;gap:2px}.sidebar-tag{display:flex;align-items:center;gap:8px;padding:4px 8px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);font:inherit;font-size:var(--fs-sm);cursor:pointer;text-align:left;width:100%}.sidebar-tag:before{content:"";width:8px;height:8px;border-radius:2px;flex:0 0 auto}.sidebar-tag[data-color=blue]:before{background:var(--tag-blue)}.sidebar-tag[data-color=green]:before{background:var(--tag-green)}.sidebar-tag[data-color=orange]:before{background:var(--tag-orange)}.sidebar-tag[data-color=purple]:before{background:var(--tag-purple)}.sidebar-tag[data-color=teal]:before{background:var(--tag-teal)}.sidebar-tag[data-color=pink]:before{background:var(--tag-pink)}.sidebar-tag[data-color=yellow]:before{background:var(--tag-yellow)}.sidebar-tag[data-color=gray]:before{background:var(--tag-gray)}.sidebar-tag:hover{background:var(--bg-hover)}.sidebar-tag--active{background:var(--accent-muted);color:var(--text-primary)}.sidebar-tag-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-tag-count{color:var(--text-muted);font-size:11px;flex:0 0 auto}.sidebar-cloud{flex:1;overflow-y:auto;padding:var(--sp-sm);display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px;line-height:1.1}.sidebar-cloud-tag{background:transparent;border:1px solid var(--border-subtle);border-radius:999px;padding:3px 10px;color:var(--text-secondary);cursor:pointer;font:inherit;line-height:1.1}.sidebar-cloud-tag[data-color=blue]{color:var(--tag-blue)}.sidebar-cloud-tag[data-color=green]{color:var(--tag-green)}.sidebar-cloud-tag[data-color=orange]{color:var(--tag-orange)}.sidebar-cloud-tag[data-color=purple]{color:var(--tag-purple)}.sidebar-cloud-tag[data-color=teal]{color:var(--tag-teal)}.sidebar-cloud-tag[data-color=pink]{color:var(--tag-pink)}.sidebar-cloud-tag[data-color=yellow]{color:var(--tag-yellow)}.sidebar-cloud-tag[data-color=gray]{color:var(--tag-gray)}.sidebar-cloud-tag:hover{background:var(--bg-hover);border-color:var(--border-strong)}.sidebar-cloud-tag--active{background:var(--accent-muted);border-color:var(--accent);color:var(--text-primary)}.selection-box{position:absolute;border:1px solid var(--accent-secondary);pointer-events:none}.item-handle{position:absolute;width:10px;height:10px;background:var(--accent-secondary);border:1px solid var(--bg-app);border-radius:2px;pointer-events:auto;z-index:2}.item-handle--n{top:-5px;left:50%;transform:translate(-50%)}.item-handle--s{bottom:-5px;left:50%;transform:translate(-50%)}.item-handle--e{right:-5px;top:50%;transform:translateY(-50%)}.item-handle--w{left:-5px;top:50%;transform:translateY(-50%)}.item-handle--nw{left:-5px;top:-5px}.item-handle--ne{right:-5px;top:-5px}.item-handle--sw{left:-5px;bottom:-5px}.item-handle--se{right:-5px;bottom:-5px}.viewport-hint{position:absolute;left:var(--sp-md);bottom:var(--sp-md);padding:4px 8px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--fs-sm);pointer-events:none}.viewport-hint kbd,.empty-state kbd{background:var(--bg-app);border:1px solid var(--border-strong);border-radius:3px;padding:1px 4px;font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.empty-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--fs-md);pointer-events:none;white-space:nowrap}.auth-shell{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-app);display:grid;place-items:center;padding:var(--sp-lg)}.auth-shell--centered{color:var(--text-muted)}.auth-card{width:min(380px,100%);background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--sp-xl);box-shadow:var(--shadow-elevated)}.auth-title{font-size:var(--fs-xl);font-weight:500;margin-bottom:var(--sp-lg);letter-spacing:.2px}.auth-form{display:flex;flex-direction:column;gap:var(--sp-md)}.auth-label{display:flex;flex-direction:column;gap:var(--sp-xs);color:var(--text-secondary);font-size:var(--fs-sm)}.auth-input{background:var(--bg-app);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:8px 10px;font:inherit;font-size:var(--fs-md);outline:none}.auth-input:focus{border-color:var(--accent)}.auth-hint{color:var(--text-muted);font-size:var(--fs-sm)}.auth-banner{padding:8px 10px;border-radius:var(--radius-sm);font-size:var(--fs-sm)}.auth-banner--error{background:#db5c5c1f;border:1px solid var(--error);color:var(--error)}.auth-sent{display:flex;flex-direction:column;gap:var(--sp-md)}.auth-sent-title{font-size:var(--fs-lg);font-weight:500}.auth-sent-body{color:var(--text-secondary);font-size:var(--fs-md)}.auth-resend{align-self:flex-start}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:grid;place-items:center;padding:var(--sp-lg);z-index:100}.modal{width:min(420px,100%);background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;padding:var(--sp-md) var(--sp-lg);border-bottom:1px solid var(--border-subtle)}.modal-title{flex:1;font-weight:500}.modal-close{background:transparent;border:none;color:var(--text-muted);font-size:20px;line-height:1;cursor:pointer;padding:0 4px}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:var(--sp-lg)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--sp-sm);margin-top:var(--sp-md)}.breadcrumb{display:flex;align-items:center;gap:2px;padding-left:var(--sp-md);font-size:var(--fs-sm);min-width:0;overflow:hidden;white-space:nowrap}.spaces-main{flex:1;overflow-y:auto;padding:var(--sp-lg) var(--sp-xl);display:flex;flex-direction:column;gap:var(--sp-lg)}.spaces-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-md);align-content:start}.spaces-empty,.spaces-error{color:var(--text-muted);padding:var(--sp-lg);text-align:center}.spaces-error{color:var(--error)}.space-card{display:flex;flex-direction:column;gap:var(--sp-sm);background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--sp-md);min-width:0}.space-card-header{display:flex;align-items:center;gap:var(--sp-xs);min-width:0}.space-card-name{margin:0;font-size:15px;font-weight:500;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.space-card-name-input{flex:1;background:var(--bg-app);color:var(--text-primary);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:2px 6px;font:inherit;font-size:15px;font-weight:500;outline:none;min-width:0}.space-role-badge{font-size:10px;padding:2px 6px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em;font-weight:500;flex:0 0 auto}.space-role-badge--owner{background:var(--accent-muted);color:var(--text-primary)}.space-role-badge--member{background:var(--bg-hover);color:var(--text-muted)}.space-boards{display:flex;flex-direction:column;gap:var(--sp-xs)}.space-card-actions{display:flex;justify-content:flex-end;gap:var(--sp-xs);margin-top:var(--sp-xs)}.space-board-card{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-sm);padding:var(--sp-xs) var(--sp-sm);background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;transition:background-color .1s ease,border-color .1s ease;min-width:0}.space-board-card:hover{background:var(--bg-hover);border-color:var(--border-strong)}.space-board-card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-1px}.space-board-name{font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.space-board-meta{font-size:var(--fs-sm);color:var(--text-muted);flex:0 0 auto}.space-no-boards{color:var(--text-muted);font-size:var(--fs-sm);font-style:italic}.modal--wide{width:min(560px,calc(100vw - 32px))}.member-invite{display:flex;gap:var(--sp-sm);margin-bottom:var(--sp-md)}.member-invite .auth-input{flex:1;min-width:0}.member-invite select.auth-input{flex:0 0 auto;width:auto}.member-list{display:flex;flex-direction:column;gap:var(--sp-xs);margin-top:var(--sp-md)}.member-row{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-xs) var(--sp-sm);background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.member-row-main{flex:1;min-width:0;overflow:hidden}.member-row-email{color:var(--text-primary)}.member-row-self{color:var(--text-muted);font-size:var(--fs-sm)}.member-row-role{flex:0 0 auto;width:auto}.theme-variant-tabs{display:flex;gap:var(--sp-xs);margin-bottom:var(--sp-md)}.theme-variant-tab{position:relative;background:var(--bg-app);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:6px 12px;font:inherit;cursor:pointer;transition:color .1s ease,background-color .1s ease}.theme-variant-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.theme-variant-tab--active{background:var(--accent-muted);color:var(--text-primary);border-color:var(--accent)}.theme-variant-tab-dot{display:inline-block;width:6px;height:6px;border-radius:999px;background:var(--accent);margin-left:6px;vertical-align:middle}.theme-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-sm);margin-bottom:var(--sp-md)}.theme-field{display:flex;flex-direction:column;gap:4px;min-width:0}.theme-field-label{font-size:var(--fs-sm);color:var(--text-muted)}.theme-field-controls{display:flex;align-items:stretch;gap:var(--sp-xs);min-width:0}.theme-field-picker{width:28px;height:28px;padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-app);cursor:pointer;flex:0 0 auto}.theme-field-picker::-webkit-color-swatch-wrapper{padding:0}.theme-field-picker::-webkit-color-swatch{border:none;border-radius:var(--radius-sm)}.theme-field-hex{flex:1;min-width:0;background:var(--bg-app);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:0 var(--sp-sm);font:inherit;font-family:var(--font-mono);text-transform:uppercase}.theme-field-hex:focus{border-color:var(--accent);outline:none}.theme-preview{border-radius:var(--radius-md);padding:var(--sp-md);margin-bottom:var(--sp-md);transition:background 80ms ease}.theme-preview-line{display:flex;align-items:center;gap:var(--sp-sm);margin-bottom:var(--sp-sm)}.theme-preview-title{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em;opacity:.65;margin-right:auto}.theme-preview-btn{padding:4px 10px;border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-sm);cursor:default}.theme-preview-text{font-size:var(--fs-md);line-height:1.4}.theme-actions{display:flex;align-items:center;gap:var(--sp-xs)}.theme-actions-spacer{flex:1}.theme-logo-section{margin-bottom:var(--sp-md);padding-bottom:var(--sp-md);border-bottom:1px solid var(--border-subtle)}.theme-logo-label{font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:var(--sp-xs)}.theme-logo-row{display:flex;align-items:center;gap:var(--sp-sm)}.theme-logo-preview{max-height:40px;max-width:160px;object-fit:contain;background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:4px}.theme-logo-placeholder{color:var(--text-muted);font-style:italic;font-size:var(--fs-sm);flex:1}.breadcrumb-item{background:none;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;padding:2px 8px;border-radius:var(--radius-sm);font:inherit;transition:background-color .1s ease,color .1s ease}.breadcrumb-item:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.breadcrumb-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-1px}.breadcrumb-item--current{color:var(--text-primary);cursor:default;font-weight:500}.breadcrumb-sep{color:var(--text-disabled);padding:0 2px;-webkit-user-select:none;user-select:none}.breadcrumb-rename-input{background:var(--bg-app);color:var(--text-primary);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:1px 6px;font:inherit;outline:none;min-width:160px}.breadcrumb-name-wrap{display:inline-flex;align-items:center;gap:2px}.breadcrumb-edit,.space-card-edit{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:1px 4px;border-radius:var(--radius-sm);font:inherit;line-height:1}.breadcrumb-edit:hover,.space-card-edit:hover{color:var(--text-primary);background:var(--bg-hover)}.breadcrumb-edit:focus-visible,.space-card-edit:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-1px}.breadcrumb-item--add{color:var(--text-muted);font-style:italic}.breadcrumb-item--add:hover:not(:disabled){color:var(--accent);background:var(--bg-hover)}
