*{box-sizing:border-box;margin:0;padding:0}html,body,main,#main{height:100%;margin:0}body{background-color:var(--bg-0);color:var(--fg-1);font-family:var(--font-sans)}.editor-root{width:100vw;height:100vh;position:relative;overflow:hidden}.editor-chrome-top,.editor-chrome-left,.editor-chrome-right,.editor-chrome-bottom,.editor-dock-right,.editor-drawer-bottom{pointer-events:none;position:absolute}.editor-chrome-top>*,.editor-chrome-left>*,.editor-chrome-right>*,.editor-chrome-bottom>*,.editor-dock-right>*,.editor-drawer-bottom>*{pointer-events:auto}.ed-float,.ed-chip,.ed-share-cluster{background-color:color-mix(in oklab, var(--bg-1) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.1);border:1px solid var(--border-2);border-radius:var(--r-pill);box-shadow:var(--shadow-2);color:var(--fg-1)}.ed-chip{top:var(--sp-4);left:var(--sp-4);align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-3);min-width:220px;max-width:320px;display:flex;position:absolute}.ed-chip-mark{color:var(--fg-2);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ed-chip-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.ed-chip-name{font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);color:var(--fg-1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ed-chip-saved{font-family:var(--font-mono);font-size:9px;font-weight:var(--fw-medium);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--fg-4);line-height:1}.ed-chip-name{cursor:text;transition:color var(--dur-2) var(--ease-out)}.ed-chip-name:hover{color:var(--accent)}.ed-chip-name-input{font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);color:var(--fg-1);background-color:var(--bg-2);border:1px solid var(--accent-ring);border-radius:var(--r-sm);padding:1px var(--sp-2);outline:none;width:100%;min-width:120px;max-width:220px}.ed-chip-name-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 18%, transparent)}.ed-chip-menu{margin-left:var(--sp-1);align-items:center;display:inline-flex;position:relative}.ed-chip-menu-trigger{border-radius:var(--r-pill);width:22px;height:22px;color:var(--fg-3);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.ed-chip-menu:hover .ed-chip-menu-trigger{background-color:var(--bg-3);color:var(--fg-1)}.ed-chip-menu:focus-within .ed-chip-menu-trigger{background-color:var(--bg-3);color:var(--fg-1)}.ed-chip-menu-popover{top:calc(100% + var(--sp-2));background-color:color-mix(in oklab, var(--bg-1) 94%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.1);border:1px solid var(--border-2);border-radius:var(--r-md);min-width:180px;box-shadow:var(--shadow-3);padding:var(--sp-1);opacity:0;pointer-events:none;transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);z-index:20;flex-direction:column;display:flex;position:absolute;right:0;transform:translateY(-4px)}.ed-chip-menu:hover .ed-chip-menu-popover{opacity:1;pointer-events:auto;transform:translateY(0)}.ed-chip-menu:focus-within .ed-chip-menu-popover{opacity:1;pointer-events:auto;transform:translateY(0)}.ed-chip-menu-item{align-items:center;gap:var(--sp-2);height:30px;padding:0 var(--sp-3);border-radius:var(--r-sm);color:var(--fg-1);font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-medium);text-align:left;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-2) var(--ease-out);background:0 0;border:none;display:flex}.ed-chip-menu-item:hover:not(:disabled){background-color:var(--bg-3);outline:none}.ed-chip-menu-item:focus-visible{background-color:var(--bg-3);outline:none}.ed-chip-menu-item:disabled{color:var(--fg-4);cursor:not-allowed}.ed-chip-menu-kbd{font-family:var(--font-mono);color:var(--fg-4);letter-spacing:var(--ls-wide);margin-left:auto;font-size:10px}.ed-chip-menu-item--submenu{justify-content:space-between}.ed-chip-menu-caret{color:var(--fg-3);display:inline-flex}.ed-chip-submenu{position:relative}.ed-chip-submenu-popover{top:0;left:calc(100% + var(--sp-1));background-color:color-mix(in oklab, var(--bg-1) 94%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.1);border:1px solid var(--border-2);border-radius:var(--r-md);min-width:160px;box-shadow:var(--shadow-3);padding:var(--sp-1);opacity:0;pointer-events:none;transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);flex-direction:column;display:flex;position:absolute;transform:translate(-4px)}.ed-chip-submenu:hover .ed-chip-submenu-popover{opacity:1;pointer-events:auto;transform:translate(0)}.ed-chip-submenu:focus-within .ed-chip-submenu-popover{opacity:1;pointer-events:auto;transform:translate(0)}.ed-share-cluster{top:var(--sp-4);right:var(--sp-4);align-items:center;gap:var(--sp-1);padding:var(--sp-1);display:flex;position:absolute}.ed-iconbtn{border-radius:var(--r-pill);width:28px;height:28px;color:var(--fg-2);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), opacity var(--dur-2) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.ed-iconbtn:hover:not(:disabled){background-color:var(--bg-3);color:var(--fg-1)}.ed-iconbtn:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.ed-iconbtn:disabled{opacity:.35;cursor:default}.ed-vsep{background-color:var(--border-2);width:1px;height:16px;margin:0 var(--sp-1)}.ed-btn-compact{height:28px;padding:0 var(--sp-4);border-radius:var(--r-pill);background-color:var(--accent);color:var(--accent-fg);font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-semibold);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);border:none}.ed-btn-compact:hover{background-color:var(--accent-hover)}.ed-btn-compact:active{transform:translateY(.5px)}.ed-btn-compact:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.ed-btn-compact--secondary{color:var(--fg-1);box-shadow:inset 0 0 0 1px var(--border-2);background-color:transparent}.ed-btn-compact--secondary:hover{background-color:var(--bg-3);box-shadow:inset 0 0 0 1px var(--border-3)}.ed-avatar-cluster{align-items:center;display:inline-flex}.ed-avatar{border-radius:var(--r-pill);background-color:var(--bg-3);width:28px;height:28px;color:var(--fg-2);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ed-avatar-cluster:hover .ed-avatar{background-color:var(--bg-4);color:var(--fg-1)}.ed-avatar-cluster:focus-within .ed-avatar{background-color:var(--bg-4);color:var(--fg-1)}.ed-avatar:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.ed-avatar-links{opacity:0;pointer-events:none;width:0;min-width:0;max-width:0;transition:max-width var(--dur-3) var(--ease-out), width var(--dur-3) var(--ease-out), opacity var(--dur-2) var(--ease-out);align-items:center;gap:2px;display:inline-flex;overflow:hidden}.ed-avatar-cluster:hover .ed-avatar-links{opacity:1;pointer-events:auto;width:auto;max-width:420px;margin-right:var(--sp-2)}.ed-avatar-cluster:focus-within .ed-avatar-links{opacity:1;pointer-events:auto;width:auto;max-width:420px;margin-right:var(--sp-2)}.ed-avatar-link{height:28px;padding:0 var(--sp-3);border-radius:var(--r-md);color:var(--fg-2);font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);background:0 0;border:none;align-items:center;text-decoration:none;display:inline-flex}.ed-avatar-link:hover{background-color:var(--bg-3);color:var(--fg-1);outline:none}.ed-avatar-link:focus-visible{background-color:var(--bg-3);color:var(--fg-1);outline:none}@media (prefers-reduced-motion:reduce){.ed-avatar-links{transition:none}}.ed-auth-links{align-items:center;gap:var(--sp-1);display:inline-flex}.ed-auth-link{height:28px;padding:0 var(--sp-4);border-radius:var(--r-pill);color:var(--fg-2);font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);background:0 0;border:1px solid transparent;align-items:center;text-decoration:none;display:inline-flex}.ed-auth-link:hover{color:var(--fg-1);background-color:var(--bg-3);outline:none}.ed-auth-link:focus-visible{color:var(--fg-1);background-color:var(--bg-3);outline:none}.ed-auth-link--primary{background-color:var(--accent);color:var(--accent-fg)}.ed-auth-link--primary:hover{background-color:var(--accent-hover);color:var(--accent-fg)}.ed-auth-link--primary:focus-visible{background-color:var(--accent-hover);color:var(--accent-fg)}.ed-viewctrl{left:var(--sp-4);bottom:var(--sp-4);padding:var(--sp-1);background-color:color-mix(in oklab, var(--bg-1) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.1);border:1px solid var(--border-2);border-radius:var(--r-lg);box-shadow:var(--shadow-2);flex-direction:column;gap:2px;display:flex;position:absolute}.ed-viewctrl-sep{height:1px;margin:2px var(--sp-2);background-color:var(--border-1)}.ed-iconbtn--active{color:var(--accent);background-color:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-ring)}.ed-iconbtn--active:hover{color:var(--accent);background-color:color-mix(in oklab, var(--accent) 22%, transparent)}.ed-rail{left:var(--sp-4);padding:var(--sp-1);background-color:color-mix(in oklab, var(--bg-1) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.1);border:1px solid var(--border-2);border-radius:var(--r-lg);box-shadow:var(--shadow-2);overscroll-behavior:contain;flex-direction:column;gap:2px;max-height:calc(100vh - 160px);display:flex;position:absolute;top:50%;overflow-y:auto;transform:translateY(-50%)}.ed-rail::-webkit-scrollbar{width:0}.ed-rail-divider{background-color:var(--border-1);height:1px;margin:var(--sp-1) var(--sp-2);flex-shrink:0}.ed-rail-spacer{flex:1}.ed-tool{padding:var(--sp-2) var(--sp-1);border-radius:var(--r-sm);width:48px;color:var(--fg-3);font-family:var(--font-sans);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);background:0 0;border:1px solid transparent;flex-direction:column;flex-shrink:0;align-items:center;gap:2px;display:flex}.ed-tool-icon{justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.ed-tool-label{font-family:var(--font-mono);font-size:9px;font-weight:var(--fw-medium);letter-spacing:var(--ls-wide);text-transform:uppercase;color:inherit}.ed-tool:hover:not(:disabled){background-color:var(--bg-3);color:var(--fg-1)}.ed-tool:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.ed-tool--active{background-color:var(--accent-soft);color:var(--accent);border-color:var(--accent-ring)}.ed-tool--active:hover:not(:disabled){background-color:color-mix(in oklab, var(--accent) 22%, transparent);color:var(--accent)}.ed-tool--ai{color:var(--accent)}.ed-tool--ai:hover:not(:disabled){background-color:var(--accent-soft);color:var(--accent)}.ed-tool--exit{color:var(--danger)}.ed-tool--exit:hover:not(:disabled){background-color:color-mix(in oklab, var(--danger) 14%, transparent);color:var(--danger);border-color:color-mix(in oklab, var(--danger) 45%, transparent)}.ed-raildrawer{left:calc(var(--sp-4) + 56px + var(--sp-2));background-color:color-mix(in oklab, var(--bg-1) 92%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.1);border:1px solid var(--border-2);border-radius:var(--r-lg);width:240px;max-height:calc(100vh - 160px);box-shadow:var(--shadow-3);animation:edDrawerIn var(--dur-3) var(--ease-out);flex-direction:column;display:flex;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}@keyframes edDrawerIn{0%{opacity:0;transform:translate(-8px,-50%)}to{opacity:1;transform:translateY(-50%)}}.ed-raildrawer--bottom{top:auto;bottom:max(var(--sp-4), calc(50% - 280px));animation:edDrawerInBottom var(--dur-3) var(--ease-out);transform:none}@keyframes edDrawerInBottom{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.ed-raildrawer,.ed-raildrawer--bottom{animation:none}}.ed-raildrawer-head{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-1);display:flex}.ed-raildrawer-title{font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--fw-medium);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--fg-1);flex:1}.ed-raildrawer-close{border-radius:var(--r-sm);width:22px;height:22px;color:var(--fg-3);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex}.ed-raildrawer-close:hover{background-color:var(--bg-3);color:var(--fg-1)}.ed-raildrawer-close:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.ed-raildrawer-body{min-height:0;padding:var(--sp-1);flex-direction:column;flex:1;gap:1px;display:flex;overflow-y:auto}.ed-raildrawer-section{font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--fw-medium);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--fg-3);padding:var(--sp-3) var(--sp-3) var(--sp-1)}.ed-raildrawer-section:first-child{padding-top:var(--sp-2)}.ed-raildrawer-item{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);color:var(--fg-1);font-family:var(--font-sans);font-size:var(--fs-13);cursor:pointer;text-align:left;transition:background-color var(--dur-2) var(--ease-out);background:0 0;border:none;display:flex}.ed-raildrawer-item:hover{background-color:var(--bg-3)}.ed-raildrawer-item:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.ed-raildrawer-item-icon{width:28px;height:28px;color:var(--fg-2);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ed-raildrawer-item:hover .ed-raildrawer-item-icon{color:var(--fg-1)}.ed-raildrawer-item-label{flex:1}.ed-raildrawer-item-shortcut{font-family:var(--font-mono);color:var(--fg-4);letter-spacing:var(--ls-wide);font-size:10px}.ed-raildrawer-hint{padding:var(--sp-3) var(--sp-4);font-family:var(--font-sans);font-size:var(--fs-13);line-height:var(--lh-normal);color:var(--fg-3)}.ed-ai-tool-item{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);color:var(--fg-1);cursor:pointer;text-align:left;transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);background:0 0;border:1px solid transparent;flex-direction:column;gap:2px;display:flex}.ed-ai-tool-item:hover:not(:disabled){background-color:var(--accent-soft);border-color:var(--accent-ring)}.ed-ai-tool-item:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.ed-ai-tool-item-label{align-items:center;gap:var(--sp-2);font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--fg-1);display:inline-flex}.ed-ai-tool-item-mark{color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ed-ai-tool-item-desc{font-family:var(--font-sans);font-size:var(--fs-12);color:var(--fg-3);line-height:var(--lh-normal);padding-left:calc(12px + var(--sp-2))}.ed-ai-tool-item--unavailable{opacity:.45;cursor:not-allowed}.ed-ai-tool-item--unavailable .ed-ai-tool-item-mark{color:var(--fg-4)}.ed-ai-tool-item--unavailable .ed-ai-tool-item-desc{color:var(--warning)}.ed-dock{right:var(--sp-4);top:calc(var(--sp-4) + 36px + var(--sp-2) + 32px + var(--sp-2));bottom:calc(var(--sp-4) + 52px + var(--sp-4));pointer-events:auto;flex-direction:column;width:280px;display:flex;position:absolute}.ed-dock-tabs{right:var(--sp-4);top:calc(var(--sp-4) + 36px + var(--sp-2));gap:var(--sp-2);pointer-events:auto;z-index:1;flex-direction:row;display:flex;position:absolute}.ed-dock-tab{height:32px;padding:0 var(--sp-3);align-items:center;gap:var(--sp-2);background-color:color-mix(in oklab, var(--bg-1) 92%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.1);border:1px solid var(--border-2);border-radius:var(--r-md);box-shadow:var(--shadow-2);color:var(--fg-2);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);display:inline-flex}.ed-dock-tab:hover{background-color:color-mix(in oklab, var(--bg-2) 92%, transparent);color:var(--fg-1);border-color:var(--border-3)}.ed-dock-tab-label{font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--fw-medium);letter-spacing:var(--ls-widest);text-transform:uppercase}.ed-dock-tab-count{font-family:var(--font-mono);color:var(--fg-4);font-variant-numeric:tabular-nums;padding:1px var(--sp-2);border-radius:var(--r-pill);background-color:var(--bg-3);font-size:10px}.ed-history{padding:var(--sp-1) 0;overflow-y:auto}.ed-history-item{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-1) var(--sp-3);color:var(--fg-3);cursor:pointer;text-align:left;font-family:var(--font-sans);font-size:var(--fs-12);transition:background-color var(--dur-1) var(--ease-out);background:0 0;border:none;display:flex}.ed-history-item:hover{background-color:var(--bg-3)}.ed-history-item--past{color:var(--fg-2)}.ed-history-item--current{color:var(--fg-1);background-color:color-mix(in oklab, var(--accent) 15%, transparent);font-weight:var(--fw-semibold)}.ed-history-item--current:hover{background-color:color-mix(in oklab, var(--accent) 20%, transparent)}.ed-history-item--future{color:var(--fg-4);opacity:.6}.ed-history-step{font-family:var(--font-mono);color:var(--fg-4);text-align:right;flex-shrink:0;min-width:20px;font-size:10px}.ed-history-item--current .ed-history-step{color:var(--accent)}.ed-history-desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ed-dock-panel{background-color:color-mix(in oklab, var(--bg-1) 92%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.1);border:1px solid var(--border-2);border-radius:var(--r-lg);min-height:36px;box-shadow:var(--shadow-2);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.ed-dock-panel--open{flex:1;min-height:0}.ed-dock-panel-head{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);color:var(--fg-1);cursor:pointer;text-align:left;transition:background-color var(--dur-2) var(--ease-out);background:0 0;border:none;flex-shrink:0;display:flex}.ed-dock-panel-head:hover{background-color:var(--bg-3)}.ed-dock-panel-title{font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--fw-medium);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--fg-2);flex:1}.ed-dock-panel-count{font-family:var(--font-mono);color:var(--fg-4);padding:1px var(--sp-2);border-radius:var(--r-pill);background-color:var(--bg-3);font-variant-numeric:tabular-nums;font-size:10px}.ed-dock-panel-chevron{width:16px;height:16px;color:var(--fg-3);justify-content:center;align-items:center;display:inline-flex}.ed-dock-panel-body{min-height:0;padding:var(--sp-1) var(--sp-1) var(--sp-2);border-top:1px solid var(--border-1);flex:1;overflow-y:auto}.ed-dock-placeholder{padding:var(--sp-3) var(--sp-4);font-family:var(--font-sans);font-size:var(--fs-13);color:var(--fg-3);line-height:var(--lh-normal)}.ed-inspector{right:calc(var(--sp-4) + 280px + var(--sp-3));top:72px;bottom:calc(var(--sp-4) + 52px + var(--sp-4));background-color:color-mix(in oklab, var(--bg-1) 92%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.1);border:1px solid var(--border-2);border-radius:var(--r-lg);width:260px;box-shadow:var(--shadow-2);pointer-events:auto;animation:edDrawerIn var(--dur-3) var(--ease-out);flex-direction:column;display:flex;position:absolute;overflow:hidden}.ed-inspector--popover{right:calc(var(--sp-4) + 280px + var(--sp-2));width:260px;max-height:min(70vh,560px);top:72px;bottom:auto}.ed-inspector--popover:after{content:"";background-color:color-mix(in oklab, var(--bg-1) 92%, transparent);border-right:1px solid var(--border-2);border-top:1px solid var(--border-2);width:10px;height:10px;position:absolute;top:16px;right:-6px;transform:rotate(45deg)}.ed-inspector-head{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-1)}.ed-inspector-title{font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--fw-medium);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--fg-2)}.ed-inspector-body{min-height:0;padding:var(--sp-2);flex:1;overflow-y:auto}.ed-hud-drawer-dock{left:50%;bottom:calc(var(--sp-4) + 34px + var(--sp-3));pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;transform:translate(-50%)}.ed-hud-drawer{pointer-events:auto;background-color:color-mix(in oklab, var(--bg-1) 92%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.1);border:1px solid var(--border-2);border-radius:var(--r-xl);min-width:360px;max-width:520px;box-shadow:var(--shadow-3);animation:edHudDrawerIn var(--dur-3) var(--ease-out);overflow:hidden}@keyframes edHudDrawerIn{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.ed-hud-drawer{animation:none}}.ed-drawer-head{align-items:baseline;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-1);display:flex}.ed-drawer-title{font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--fw-semibold);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--accent)}.ed-drawer-sub{font-family:var(--font-mono);letter-spacing:var(--ls-wide);font-variant-numeric:tabular-nums;color:var(--fg-1);font-size:.6875rem;font-weight:var(--fw-semibold);margin-left:auto}.ed-drawer-foot{gap:var(--sp-2);padding:var(--sp-3) var(--sp-3);background-color:rgba(0,0,0,.08);background-color:lab(0% 0 0/.08);display:flex}.ed-btn-ghost{height:32px;padding:0 var(--sp-4);align-items:center;gap:var(--sp-2);border-radius:var(--r-md);color:var(--fg-2);font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-medium);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out);background:0 0;border:none;display:inline-flex}.ed-btn-ghost:hover{background-color:var(--bg-3);color:var(--fg-1)}.ed-btn-ghost:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.ed-btn-primary{height:32px;padding:0 var(--sp-4);align-items:center;gap:var(--sp-2);border-radius:var(--r-md);background-color:var(--accent);color:var(--accent-fg);font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-semibold);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);border:none;margin-left:auto;display:inline-flex}.ed-btn-primary:hover{background-color:var(--accent-hover)}.ed-btn-primary:active{transform:translateY(.5px)}.ed-btn-primary:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.ed-kbd{font-family:var(--font-mono);padding:1px var(--sp-2);border-radius:var(--r-sm);opacity:.65;letter-spacing:var(--ls-wide);border:1px solid;font-size:10px}.ed-drawer-body{gap:var(--sp-3);padding:var(--sp-4);display:grid}.ed-ctx-field{align-items:center;gap:var(--sp-3);grid-template-columns:84px 1fr;display:grid}.ed-ctx-field>span:first-child{font-family:var(--font-mono);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--fg-3);font-size:10px}.ed-ctx-numwrap{align-items:center;gap:var(--sp-2);background-color:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-md);padding:0 var(--sp-3);height:28px;transition:border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);display:inline-flex}.ed-ctx-numwrap:focus-within{border-color:var(--accent-ring);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 18%, transparent)}.ed-ctx-numwrap input{min-width:0;color:var(--fg-1);font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;flex:1;font-size:13px}.ed-ctx-unit{font-family:var(--font-mono);color:var(--fg-3);letter-spacing:var(--ls-wide);font-size:11px}.ed-seg{background-color:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-md);gap:2px;padding:2px;display:inline-flex}.ed-seg button{height:24px;padding:0 var(--sp-3);border-radius:calc(var(--r-md) - 2px);color:var(--fg-2);font-family:var(--font-sans);font-size:12px;font-weight:var(--fw-medium);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);background:0 0;border:none;flex:1}.ed-seg button:hover:not(.active):not(:disabled){background-color:var(--bg-3);color:var(--fg-1)}.ed-seg button.active{background-color:var(--accent);color:var(--accent-fg);font-weight:var(--fw-semibold)}.ed-seg button:disabled{opacity:.4;cursor:not-allowed}.ed-hud-drawer--ai{box-shadow:var(--shadow-accent), var(--shadow-3);border-color:var(--accent-ring);isolation:isolate;position:relative}.ed-hud-drawer--ai:before{content:"";background:var(--grad-ai-shimmer);pointer-events:none;border-radius:inherit;z-index:-1;opacity:.35;background-size:200% 100%;animation:2.4s linear infinite edAiShimmer;position:absolute;inset:0}@keyframes edAiShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.ed-hud-drawer--ai:before{opacity:0;animation:none}}.ed-drawer-title--ai{align-items:center;gap:var(--sp-2);display:inline-flex;color:var(--accent)!important}.ed-drawer-title--ai svg{flex-shrink:0}.ed-ai-options{gap:var(--sp-2);display:grid}.ed-ai-option{align-items:center;gap:var(--sp-3);padding:var(--sp-3);background-color:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-md);color:var(--fg-1);text-align:left;cursor:pointer;font-family:var(--font-sans);transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);grid-template-columns:32px 1fr;display:grid}.ed-ai-option:hover:not(:disabled){background-color:var(--bg-3);border-color:var(--accent-ring)}.ed-ai-option:disabled{opacity:.4;cursor:not-allowed}.ed-ai-option-icon{background-color:var(--accent-soft);border-radius:var(--r-md);width:32px;height:32px;color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.ed-ai-option-title{font-size:13px;font-weight:var(--fw-semibold)}.ed-ai-option-sub{color:var(--fg-3);margin-top:2px;font-size:11px}.ed-hud-stem{width:2px;height:var(--sp-3);background-color:var(--border-2);pointer-events:none}.ed-hud-dock{left:50%;bottom:var(--sp-4);pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;transform:translate(-50%)}.ed-hud{pointer-events:auto;align-items:center;gap:var(--sp-4);padding:7px var(--sp-4);background-color:color-mix(in oklab, var(--bg-1) 86%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.1);border:1px solid var(--border-2);border-radius:var(--r-pill);font-family:var(--font-mono);color:var(--fg-2);font-variant-numeric:tabular-nums;letter-spacing:var(--ls-wide);box-shadow:var(--shadow-2);white-space:nowrap;font-size:11px;display:flex;position:relative}.ed-hud-tool{color:var(--accent);letter-spacing:var(--ls-widest);font-weight:var(--fw-semibold);text-transform:uppercase}.ed-hud-sep{background-color:var(--border-2);flex-shrink:0;width:1px;height:12px}.ed-hud-coord{align-items:baseline;gap:4px;display:inline-flex}.ed-hud-coord-axis{font-weight:var(--fw-bold);font-size:10px}.ed-hud-coord-axis--x{color:var(--axis-x)}.ed-hud-coord-axis--y{color:var(--axis-y)}.ed-hud-coord-axis--z{color:var(--axis-z)}.ed-hud-coord-val{color:var(--fg-1);font-weight:var(--fw-semibold)}.ed-hud-mono{align-items:baseline;gap:5px;display:inline-flex}.ed-hud-mono-label{color:var(--fg-3);letter-spacing:var(--ls-widest);text-transform:uppercase;font-size:10px}.ed-hud-mono-val{color:var(--fg-1);font-weight:var(--fw-semibold)}.ed-hud-mono--ok{color:var(--success);font-weight:var(--fw-semibold);letter-spacing:var(--ls-widest);text-transform:uppercase;font-size:10px}.ed-hud-unit-wrap{display:inline-flex;position:relative}.ed-hud-unit-btn{border-radius:var(--r-sm);color:var(--fg-2);font-family:var(--font-mono);font-size:11px;font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);text-transform:uppercase;cursor:pointer;transition:border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:1px solid transparent;padding:2px 6px}.ed-hud-unit-btn:hover{border-color:var(--border-2);color:var(--fg-1)}.ed-hud-unit-popover{background:color-mix(in oklab, var(--bg-1) 95%, transparent);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border-2);border-radius:var(--r-lg);box-shadow:var(--shadow-3);padding:var(--sp-1);z-index:100;min-width:160px;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.ed-hud-unit-wrap:hover .ed-hud-unit-popover{display:block}.ed-hud-unit-option{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-3);color:var(--fg-2);font-family:var(--font-sans);font-size:var(--fs-12);cursor:pointer;border-radius:var(--r-md);text-align:left;transition:background-color var(--dur-1) var(--ease-out);background:0 0;border:none;display:flex}.ed-hud-unit-option:hover{background:var(--bg-3);color:var(--fg-1)}.ed-hud-unit-option--active{color:var(--accent);font-weight:var(--fw-semibold)}.ed-hud-unit-option-abbr{font-family:var(--font-mono);font-weight:var(--fw-bold);text-transform:uppercase;min-width:24px}.ed-hud-unit-option-label{color:var(--fg-3)}.editor-chrome-top{z-index:10;top:0;left:0;right:0}.editor-chrome-left{z-index:15;top:0;bottom:0;left:0}.editor-chrome-right{z-index:15;top:0;bottom:0;right:0}.editor-chrome-bottom{z-index:10;bottom:0;left:0;right:0}.editor-dock-right{z-index:12;top:0;bottom:0;right:0}.editor-drawer-bottom{z-index:20;bottom:0;left:0;right:0}.editor-canvas{z-index:0;position:absolute;inset:0}.viewport{cursor:grab;width:100%;height:100%;position:relative;overflow:hidden}.viewport:active{cursor:grabbing}#cad-canvas{background:#000;width:100%;height:100%;display:block}.loading-overlay{justify-content:center;align-items:center;gap:var(--sp-4);background-color:var(--bg-0);z-index:10;flex-direction:column;display:flex;position:absolute;inset:0}.loading-overlay p{font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--fg-3)}.loading-spinner{border:3px solid var(--bg-3);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation:none}}.selection-box{border:1px solid var(--accent-ring);background:var(--accent-soft);pointer-events:none;z-index:5;position:absolute}.dim-label{background-color:color-mix(in oklab, var(--bg-1) 88%, transparent);backdrop-filter:blur(6px)saturate(1.05);color:var(--fg-1);font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-radius:var(--r-sm);border:1px solid var(--border-1);pointer-events:none;z-index:6;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:border-color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);align-items:center;gap:2px;padding:2px 6px;font-size:11px;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.dim-label--clickable{pointer-events:auto;cursor:pointer}.dim-label--clickable:hover{border-color:var(--accent-ring);background-color:var(--bg-2)}.dim-label--editing{border-color:var(--accent);background-color:var(--bg-2);pointer-events:auto}.dim-label__input{width:60px;color:var(--fg-1);font-family:var(--font-mono);font-size:var(--fs-12);font-variant-numeric:tabular-nums;text-align:center;background:0 0;border:none;outline:none;padding:0}.dim-label__input:focus{color:var(--accent)}.dim-label__unit{color:var(--fg-3);margin-left:1px;font-size:11px}.dim-label__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.dim-label__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dim-label__input[type=number]{-moz-appearance:textfield}.toast-container{bottom:var(--sp-4);right:var(--sp-4);z-index:10000;gap:var(--sp-2);flex-direction:column;max-width:380px;display:flex;position:fixed}.toast-list{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.toast-item{animation:toast-slide-in var(--dur-3) var(--ease-out)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.toast-item{animation:none}}.toast{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-1);border-radius:var(--r-md);background-color:var(--bg-2);color:var(--fg-1);font-family:var(--font-sans);font-size:var(--fs-13);line-height:var(--lh-normal);box-shadow:var(--shadow-2);display:flex}.toast[data-type=error]{border-color:color-mix(in oklab, var(--danger) 60%, transparent);background-color:color-mix(in oklab, var(--danger) 18%, var(--bg-2));color:color-mix(in oklab, var(--danger) 35%, var(--fg-1))}.toast[data-type=warning]{border-color:color-mix(in oklab, var(--warning) 55%, transparent);background-color:color-mix(in oklab, var(--warning) 15%, var(--bg-2));color:color-mix(in oklab, var(--warning) 30%, var(--fg-1))}.toast[data-type=success]{border-color:color-mix(in oklab, var(--success) 55%, transparent);background-color:color-mix(in oklab, var(--success) 15%, var(--bg-2));color:color-mix(in oklab, var(--success) 30%, var(--fg-1))}.toast[data-type=info]{border-color:color-mix(in oklab, var(--info) 55%, transparent);background-color:color-mix(in oklab, var(--info) 15%, var(--bg-2));color:color-mix(in oklab, var(--info) 30%, var(--fg-1))}.toast[data-type=info] .toast-description:before{content:"";background-color:var(--info);width:8px;height:8px;margin-right:var(--sp-2);vertical-align:middle;animation:toast-pulse 1s var(--ease-in-out) infinite;border-radius:50%;display:inline-block}@keyframes toast-pulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@media (prefers-reduced-motion:reduce){.toast[data-type=info] .toast-description:before{animation:none}}.toast-content{flex:1}.toast-title{font-weight:var(--fw-semibold);color:var(--fg-1)}.toast-description{color:inherit;margin-top:2px}.toast-close{color:var(--fg-3);cursor:pointer;font-size:var(--fs-16);transition:color var(--dur-2) var(--ease-out);background:0 0;border:none;padding:0 2px;line-height:1}.toast-close:hover{color:var(--fg-1)}.context-menu{min-width:160px;padding:var(--sp-1);background-color:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-lg);box-shadow:var(--shadow-2);z-index:9999;font-family:var(--font-sans);font-size:var(--fs-13);position:fixed}.context-menu__item{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);color:var(--fg-1);cursor:pointer;border-radius:var(--r-sm);text-align:left;transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);background:0 0;border:none;display:flex}.context-menu__item:hover{background-color:var(--bg-3)}.context-menu__item--danger{color:var(--danger)}.context-menu__item--danger:hover{background-color:color-mix(in oklab, var(--danger) 15%, transparent);color:var(--danger)}.context-menu__sep{background-color:var(--border-1);height:1px;margin:var(--sp-1) var(--sp-2)}.context-menu__shortcut{font-family:var(--font-mono);color:var(--fg-4);margin-left:auto;font-size:10px}.dialog-overlay{z-index:9990;backdrop-filter:blur(4px)saturate(1.05);background:rgba(0,0,0,.55);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-overlay[data-state=closed]{display:none}.dialog{padding:var(--sp-6) var(--sp-8);border:1px solid var(--border-1);border-radius:var(--r-xl);background-color:var(--bg-1);color:var(--fg-1);box-shadow:var(--shadow-3);width:100%;max-width:420px;max-height:80vh;font-family:var(--font-sans);position:relative;overflow-y:auto}.dialog-title{margin:0 0 var(--sp-3) 0;font-size:var(--fs-18);font-weight:var(--fw-semibold);color:var(--fg-1);line-height:var(--lh-snug)}.dialog-description{color:var(--fg-2);margin:0}.shortcuts-dialog__section{font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--fw-medium);color:var(--fg-3);letter-spacing:var(--ls-widest);text-transform:uppercase;margin:var(--sp-4) 0 var(--sp-2) 0;padding-top:var(--sp-3);border-top:1px solid var(--border-1)}.shortcuts-dialog__section:first-of-type{border-top:none;margin-top:0;padding-top:0}.shortcuts-dialog__close{top:var(--sp-3);right:var(--sp-4);color:var(--fg-3);cursor:pointer;padding:var(--sp-1);border-radius:var(--r-sm);transition:color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);background:0 0;border:none;font-size:20px;position:absolute}.shortcuts-dialog__close:hover{color:var(--fg-1);background-color:var(--bg-3)}.shortcuts-row{padding:var(--sp-1) 0;font-size:var(--fs-13);justify-content:space-between;align-items:center;display:flex}.shortcuts-row__keys{font-family:var(--font-mono);background-color:var(--bg-3);border:1px solid var(--border-1);border-radius:var(--r-sm);padding:2px var(--sp-2);color:var(--fg-1);font-size:.6875rem}.shortcuts-row__action{color:var(--fg-2);margin-left:var(--sp-4)}.viewport--sketch,.viewport--sketch:active{cursor:crosshair}.viewport--extrude,.viewport--extrude:active{cursor:ns-resize}.projects-container{width:100%;max-width:1200px;padding:var(--sp-8) var(--sp-6);color:var(--fg-1);font-family:var(--font-sans);margin:0 auto}.projects-header-titleblock{flex-direction:column;gap:4px;display:flex}.projects-crumb{font-family:var(--font-mono);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--fg-4);font-size:10px}.projects-toolbar{align-items:center;gap:var(--sp-2);padding:var(--sp-5) 0 var(--sp-4);border-bottom:1px solid var(--border-1);margin-bottom:var(--sp-6);display:flex}.projects-toolbar-spacer{flex:1}.projects-filter-pill{height:28px;padding:0 var(--sp-3);border-radius:var(--r-pill);font-family:var(--font-sans);font-size:var(--fs-13);color:var(--fg-3);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);background:0 0;border:none}.projects-filter-pill:hover{color:var(--fg-1)}.projects-filter-pill--active{background:var(--bg-2);color:var(--fg-1);font-weight:var(--fw-medium)}.projects-header{margin-bottom:var(--sp-6);justify-content:space-between;align-items:center;display:flex}.projects-title{font-family:var(--font-display);font-size:var(--fs-24);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);color:var(--fg-1)}.projects-header-actions{gap:var(--sp-3);align-items:center;display:flex}.projects-header-actions .login-button{width:auto;padding:var(--sp-2) var(--sp-4);font-size:var(--fs-13)}.projects-view-toggle{background-color:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-md);gap:2px;padding:2px;display:flex}.projects-view-btn{color:var(--fg-3);font-size:var(--fs-16);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);background:0 0;border:none;line-height:1}.projects-view-btn:hover{color:var(--fg-1)}.projects-view-btn--active{background-color:var(--bg-4);color:var(--fg-1)}.create-project-dialog .alert-dialog-action{border-color:var(--accent);background-color:var(--accent);color:var(--accent-fg);font-weight:var(--fw-semibold)}.create-project-dialog .alert-dialog-action:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.create-project-dialog-input{margin:var(--sp-3) 0 var(--sp-1)}.create-project-dialog-input .input{width:100%;font-size:var(--fs-16);padding:var(--sp-3) var(--sp-4)}.projects-loading{text-align:center;padding:var(--sp-12) 0;color:var(--fg-3);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:var(--ls-widest);text-transform:uppercase}.projects-empty{padding:var(--sp-20) var(--sp-5);text-align:center;flex-direction:column;align-items:center;display:flex}.projects-empty-icon{margin-bottom:var(--sp-4);color:var(--fg-4);opacity:.5}.projects-empty-title{font-family:var(--font-display);font-size:var(--fs-24);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);margin:0 0 var(--sp-2);color:var(--fg-1)}.projects-empty-hint{font-size:var(--fs-15);color:var(--fg-2);margin:0 0 var(--sp-8)}.projects-empty-create-btn{padding:var(--sp-3) var(--sp-8);border-radius:var(--r-md);font-family:var(--font-sans);font-size:var(--fs-15);font-weight:var(--fw-medium);background-color:var(--accent);color:var(--accent-fg);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);border:none}.projects-empty-create-btn:hover{background-color:var(--accent-hover)}.projects-empty-create-btn:active{transform:translateY(.5px)}.projects-list{gap:var(--sp-2);flex-direction:column;display:flex}.projects-item{align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);background-color:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-lg);transition:border-color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);display:flex}.projects-item:hover{border-color:var(--border-2);background-color:var(--bg-2)}.projects-item-thumb{border-radius:var(--r-sm);background-color:var(--bg-3);cursor:pointer;flex-shrink:0;width:80px;height:54px;overflow:hidden}.projects-item-thumb img{object-fit:cover;width:100%;height:100%;display:block}.projects-item-thumb img[src=""],.projects-item-thumb img:not([src]){display:none}.projects-item-info{flex:1;min-width:0}.projects-item-name{font-size:var(--fs-15);font-weight:var(--fw-medium);color:var(--fg-1);cursor:text}.projects-item-date{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--fg-3);font-variant-numeric:tabular-nums;margin-top:2px}.projects-item-delete{border-radius:var(--r-sm);color:var(--fg-3);font-size:var(--fs-12);padding:var(--sp-1) var(--sp-3);cursor:pointer;transition:color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);background:0 0;border:1px solid transparent}.projects-item-delete:hover{color:var(--danger);border-color:color-mix(in oklab, var(--danger) 40%, transparent);background-color:color-mix(in oklab, var(--danger) 10%, transparent)}.projects-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.projects-card{background-color:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-lg);transition:border-color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.projects-card:hover{border-color:var(--border-2);transform:translateY(-2px)}.projects-card-thumb{aspect-ratio:3/2;background-color:var(--bg-3);cursor:pointer;width:100%;position:relative;overflow:hidden}.projects-card-thumb-grid{pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:18px 18px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 0%,transparent 70%);mask-image:radial-gradient(#000 0%,transparent 70%)}.projects-card-thumb-cube{pointer-events:none;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.15);width:64px;height:64px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotateX(-20deg)rotateY(-30deg);box-shadow:0 0 0 1px rgba(0,0,0,.4),20px 20px 30px rgba(0,0,0,.3)}.projects-thumb-badge{top:var(--sp-2);right:var(--sp-2);font-family:var(--font-mono);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--fg-2);border-radius:var(--r-sm);-webkit-backdrop-filter:blur(4px);background:rgba(10,10,11,.7);padding:3px 6px;font-size:9px;position:absolute}.projects-thumb-badge--public{color:var(--success)}.projects-thumb-badge--unlisted{color:var(--accent)}.projects-card-editor-btn{top:var(--sp-2);right:var(--sp-2);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-md);font-family:var(--font-sans);font-size:var(--fs-12);font-weight:var(--fw-semibold);background-color:var(--accent);color:var(--accent-fg);opacity:0;transition:opacity var(--dur-2) var(--ease-out);text-decoration:none;position:absolute}.projects-card-thumb:hover .projects-card-editor-btn{opacity:.95}.projects-card-editor-btn:hover{opacity:1}.projects-card-thumb img{object-fit:cover;background:var(--bg-1);z-index:1;width:100%;height:100%;display:block;position:absolute;inset:0}.projects-card-thumb img[src=""],.projects-card-thumb img:not([src]){display:none}.projects-card-thumb-img{color:transparent}.projects-card-thumb-img:after{content:"";display:block}.projects-card-body{padding:var(--sp-3) var(--sp-4) var(--sp-2)}.projects-card-name{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--fg-1);white-space:nowrap;text-overflow:ellipsis;cursor:text;overflow:hidden}.projects-card-name-input,.projects-item-name-input{font-size:inherit;font-weight:inherit;background-color:var(--bg-3);color:var(--fg-1);border:1px solid var(--accent);border-radius:var(--r-sm);padding:2px var(--sp-2);outline:none;width:100%;min-width:0;font-family:inherit}.projects-card-meta{margin-top:var(--sp-1);align-items:center;gap:var(--sp-2);font-family:var(--font-mono);color:var(--fg-4);font-variant-numeric:tabular-nums;letter-spacing:var(--ls-wide);font-size:11px;display:flex}.projects-card-meta-time{color:var(--fg-3);font-family:var(--font-sans)}.projects-card-header{align-items:center;gap:var(--sp-2);display:flex}.projects-card-date{font-family:var(--font-mono);color:var(--fg-3);letter-spacing:var(--ls-wide);font-variant-numeric:tabular-nums;font-size:.6875rem}.projects-card-forked{font-family:var(--font-mono);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--fg-4);padding:1px var(--sp-2);border:1px solid var(--border-2);border-radius:var(--r-sm);flex-shrink:0;font-size:10px}.projects-item-name-row{align-items:center;gap:var(--sp-2);display:flex}.projects-vis-badge{font-family:var(--font-mono);padding:1px var(--sp-2);border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:var(--ls-widest);font-size:10px;font-weight:var(--fw-medium);flex-shrink:0}.projects-vis-badge--private{background-color:var(--bg-3);color:var(--fg-3);border:1px solid var(--border-1)}.projects-vis-badge--unlisted{background-color:color-mix(in oklab, var(--warning) 14%, transparent);color:var(--warning);border:1px solid color-mix(in oklab, var(--warning) 35%, transparent)}.projects-vis-badge--public{background-color:color-mix(in oklab, var(--success) 14%, transparent);color:var(--success);border:1px solid color-mix(in oklab, var(--success) 35%, transparent)}.projects-vis-badge--fork{background-color:color-mix(in oklab, var(--info) 14%, transparent);color:var(--info);border:1px solid color-mix(in oklab, var(--info) 35%, transparent)}.projects-grid+.pagination,.projects-list+.pagination{margin-top:var(--sp-6);margin-bottom:var(--sp-4)}.billing-success-banner{margin-bottom:var(--sp-5)}.billing-success-content{align-items:flex-start;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);background-color:color-mix(in oklab, var(--success) 8%, var(--bg-1));border:1px solid color-mix(in oklab, var(--success) 25%, transparent);border-radius:var(--r-lg);display:flex}.billing-success-icon{flex-shrink:0;font-size:28px}.billing-success-text{flex:1}.billing-success-title{font-family:var(--font-sans);font-size:var(--fs-16);font-weight:var(--fw-semibold);margin:0 0 var(--sp-1);color:var(--success)}.billing-success-desc{font-size:var(--fs-14);color:var(--fg-1);line-height:var(--lh-normal);margin:0}.billing-success-dismiss{color:var(--fg-3);cursor:pointer;transition:color var(--dur-2) var(--ease-out);background:0 0;border:none;padding:0;font-size:18px;line-height:1}.billing-success-dismiss:hover{color:var(--fg-1)}.projects-pagination-header{margin-bottom:var(--sp-4);justify-content:space-between;align-items:center;display:flex}.projects-count{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--fg-3);letter-spacing:var(--ls-wide);font-variant-numeric:tabular-nums}.projects-per-page{align-items:center;gap:var(--sp-2);font-size:var(--fs-13);color:var(--fg-3);display:flex}.projects-per-page select{background-color:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-sm);color:var(--fg-1);font-family:var(--font-mono);font-size:var(--fs-12);padding:var(--sp-1) var(--sp-2);cursor:pointer}.projects-card-toolbar{padding:var(--sp-2) var(--sp-2);border-top:1px solid var(--border-1);align-items:center;gap:2px;margin-top:auto;display:flex}.projects-card-toolbar-spacer{flex:1}.projects-card-toolbar-btn{border-radius:var(--r-sm);color:var(--fg-3);font-family:var(--font-sans);font-size:var(--fs-12);padding:var(--sp-1) var(--sp-3);cursor:pointer;transition:color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);background:0 0;border:1px solid transparent}.projects-card-toolbar-btn:hover{color:var(--fg-1);background-color:var(--bg-2);border-color:var(--border-1)}.projects-card-toolbar-btn--danger:hover{color:var(--danger);border-color:color-mix(in oklab, var(--danger) 40%, transparent);background-color:color-mix(in oklab, var(--danger) 10%, transparent)}.login-container{background-color:var(--bg-0);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.login-card{width:360px;padding:var(--sp-10) var(--sp-8);background-color:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-xl);text-align:center}.login-title{font-family:var(--font-display);font-size:var(--fs-30);font-weight:var(--fw-bold);letter-spacing:var(--ls-tightest);margin-bottom:var(--sp-1);color:var(--fg-1)}.login-subtitle{font-size:var(--fs-15);font-weight:var(--fw-regular);color:var(--fg-2);margin-bottom:var(--sp-6)}.login-form{gap:var(--sp-3);flex-direction:column;display:flex}.login-input{width:100%;padding:var(--sp-3) var(--sp-4);background-color:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-md);color:var(--fg-1);font-family:var(--font-sans);font-size:var(--fs-14);transition:border-color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);outline:none}.login-input:hover{border-color:var(--border-2)}.login-input:focus{border-color:var(--accent)}textarea.support-textarea{resize:vertical;min-height:120px;font-family:var(--font-sans);line-height:1.5}.login-button{width:100%;padding:var(--sp-3);background-color:var(--accent);border-radius:var(--r-md);color:var(--accent-fg);font-family:var(--font-sans);font-size:var(--fs-14);font-weight:var(--fw-semibold);cursor:pointer;margin-top:var(--sp-1);transition:background-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);border:none}.login-button:hover{background-color:var(--accent-hover)}.login-button:active{transform:translateY(.5px)}.login-button:disabled{opacity:.4;cursor:not-allowed}.login-button-secondary{color:var(--fg-1);border:1px solid var(--border-1);background-color:transparent}.login-button-secondary:hover{background-color:var(--bg-2);border-color:var(--border-2)}.login-forgot{text-align:right;font-size:var(--fs-12);color:var(--fg-3);margin-top:calc(-1 * var(--sp-2));margin-bottom:var(--sp-2);text-decoration:none;display:block}.login-forgot:hover{color:var(--accent);text-decoration:underline}.login-divider{text-align:center;font-size:var(--fs-12);color:var(--fg-3);margin:var(--sp-3) 0 var(--sp-1);text-transform:uppercase;letter-spacing:var(--ls-wide)}.passkey-table{border-collapse:collapse;width:100%;font-size:var(--fs-13)}.passkey-table th,.passkey-table td{padding:var(--sp-2) var(--sp-3);text-align:left;border-bottom:1px solid var(--border-1)}.passkey-table th{font-weight:var(--fw-semibold);color:var(--fg-3);text-transform:uppercase;letter-spacing:var(--ls-wide);font-size:var(--fs-12)}.passkey-actions{gap:var(--sp-3);justify-content:flex-end;display:flex}.passkey-actions .login-switch{margin:0}.passkey-provider{font-weight:var(--fw-semibold)}.passkey-name-cell{min-width:160px}.passkey-name-button{color:inherit;font:inherit;padding:var(--sp-1) var(--sp-2);margin:calc(var(--sp-1) * -1) calc(var(--sp-2) * -1);border-radius:var(--r-sm);cursor:text;text-align:left;width:100%;transition:background-color var(--dur-2) var(--ease-out);background:0 0;border:none}.passkey-name-button:hover{background-color:var(--bg-2)}.passkey-name-input{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-13);width:100%;margin:0}.login-switch{color:var(--accent);font-family:var(--font-sans);font-size:var(--fs-13);cursor:pointer;margin-top:var(--sp-8);transition:color var(--dur-2) var(--ease-out);background:0 0;border:none;padding:0;text-decoration:none}.login-switch:hover{color:var(--accent-hover);text-decoration:underline}.login-error{background-color:color-mix(in oklab, var(--danger) 15%, var(--bg-1));border:1px solid color-mix(in oklab, var(--danger) 35%, transparent);color:color-mix(in oklab, var(--danger) 35%, var(--fg-1));padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-13);margin-bottom:var(--sp-2)}.login-hidden{display:none!important}.login-check-email{padding:var(--sp-4) 0}.login-check-email-hint{color:var(--fg-2);font-size:var(--fs-13);margin-top:var(--sp-3);line-height:var(--lh-normal)}.login-message{background-color:color-mix(in oklab, var(--success) 15%, var(--bg-1));border:1px solid color-mix(in oklab, var(--success) 35%, transparent);color:color-mix(in oklab, var(--success) 30%, var(--fg-1));padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-13);margin-bottom:var(--sp-2)}.cloud-loading-overlay{z-index:9999;justify-content:center;align-items:center;gap:var(--sp-4);background-color:color-mix(in oklab, var(--bg-0) 85%, transparent);backdrop-filter:blur(4px)saturate(1.05);flex-direction:column;display:flex;position:absolute;inset:0}.cloud-loading-spinner{border:3px solid var(--bg-3);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite cloud-spin}@keyframes cloud-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.cloud-loading-spinner{animation:none}}.cloud-loading-text{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--fs-13);letter-spacing:var(--ls-widest);text-transform:uppercase}.share-dialog{min-width:360px;max-width:440px}.share-visibility{gap:var(--sp-2);flex-direction:column;display:flex}.share-visibility label{font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--fw-medium);color:var(--fg-3);text-transform:uppercase;letter-spacing:var(--ls-widest)}.share-visibility-options{background-color:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-md);gap:4px;padding:3px;display:flex}.share-vis-btn{color:var(--fg-3);font-family:var(--font-sans);font-size:var(--fs-13);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);background:0 0;border:none;flex:1}.share-vis-btn:hover{color:var(--fg-1)}.share-vis-btn--active{background-color:var(--bg-4);color:var(--fg-1)}.share-vis-hint{font-size:var(--fs-12);color:var(--fg-3);margin:0}.share-url-section{gap:var(--sp-2);margin-top:var(--sp-2);flex-direction:column;display:flex}.share-url-section label{font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--fw-medium);color:var(--fg-3);text-transform:uppercase;letter-spacing:var(--ls-widest)}.share-url-row{gap:var(--sp-2);display:flex}.share-url-input{background-color:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-md);color:var(--fg-1);font-family:var(--font-mono);font-size:var(--fs-13);padding:var(--sp-2) var(--sp-3);flex:1}.share-copy-btn{background-color:var(--bg-3);border:1px solid var(--border-1);border-radius:var(--r-md);color:var(--fg-1);font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-medium);padding:var(--sp-2) var(--sp-4);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out)}.share-copy-btn:hover{background-color:var(--bg-4);border-color:var(--border-2)}.share-dialog .alert-dialog-action{background-color:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.share-dialog .alert-dialog-action:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.segment-panel{padding:var(--sp-3);border-top:1px solid var(--border-1);background-color:var(--accent-soft);isolation:isolate;position:relative;overflow:hidden}.segment-panel:after{content:"";background:var(--grad-ai-shimmer);animation:kradShimmer var(--dur-ai) var(--ease-in-out) infinite;pointer-events:none;z-index:1;background-size:220% 100%;position:absolute;inset:0}.segment-panel>*{z-index:2;position:relative}@media (prefers-reduced-motion:reduce){.segment-panel:after{animation:none}}.segment-panel-title{font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--fw-medium);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--accent);margin-bottom:var(--sp-2)}.segment-panel-title:before{content:"✦ ";letter-spacing:0}.segment-form{gap:var(--sp-2);flex-direction:column;display:flex}.segment-input{background-color:color-mix(in oklab, var(--bg-2) 85%, transparent);border:1px solid var(--border-1);border-radius:var(--r-sm);color:var(--fg-1);font-family:var(--font-sans);font-size:var(--fs-12);padding:var(--sp-2) var(--sp-2);transition:border-color var(--dur-2) var(--ease-out)}.segment-input:focus{border-color:var(--accent);outline:none}.segment-button{background-color:var(--accent);border-radius:var(--r-sm);color:var(--accent-fg);font-family:var(--font-sans);font-size:var(--fs-12);font-weight:var(--fw-semibold);padding:var(--sp-2) var(--sp-3);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out);border:none}.segment-button:hover:not(:disabled){background-color:var(--accent-hover)}.segment-button:disabled{opacity:.4;cursor:not-allowed}.segment-results{margin-top:var(--sp-3);gap:var(--sp-1);flex-direction:column;display:flex}.segment-results-title{font-family:var(--font-mono);color:var(--fg-3);letter-spacing:var(--ls-widest);text-transform:uppercase;margin-bottom:var(--sp-1);font-size:.6875rem}.segment-results-header{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.segment-actions{gap:var(--sp-1);display:flex}.segment-action-btn{background-color:color-mix(in oklab, var(--bg-2) 85%, transparent);border:1px solid var(--border-1);border-radius:var(--r-sm);color:var(--accent);font-family:var(--font-sans);font-size:10px;font-weight:var(--fw-medium);padding:2px var(--sp-2);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out)}.segment-action-btn:hover:not(:disabled){background-color:var(--accent-soft);border-color:var(--accent-ring)}.segment-action-btn:disabled{opacity:.4;cursor:not-allowed}.segment-inline-form{gap:var(--sp-1);margin-bottom:var(--sp-2);display:flex}.segment-inline-form .segment-input{padding:var(--sp-1) var(--sp-2);flex:1;font-size:11px}.segment-mask-row{align-items:center;gap:var(--sp-1);display:flex}.segment-mask-row input[type=checkbox]{cursor:pointer;width:14px;height:14px;accent-color:var(--accent);flex-shrink:0;margin:0}.segment-mask-item{align-items:center;gap:var(--sp-2);font-family:var(--font-sans);color:var(--fg-1);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);cursor:pointer;text-align:left;width:100%;transition:border-color var(--dur-2) var(--ease-out);background:0 0;border:1px solid transparent;font-size:11px;display:flex}.segment-mask-item:hover{border-color:var(--border-2)}.segment-mask-item--hidden{opacity:.5}.segment-mask-label--hidden{text-decoration:line-through}.segment-mask-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.segment-mask-btn{background-color:color-mix(in oklab, var(--bg-2) 85%, transparent);border:1px solid var(--border-1);border-radius:var(--r-sm);color:var(--fg-1);font-family:var(--font-sans);padding:var(--sp-1) var(--sp-2);cursor:pointer;text-align:left;transition:border-color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);font-size:11px}.segment-mask-btn:hover{border-color:var(--accent-ring)}.segment-mask-btn--active{border-color:var(--accent);background-color:var(--accent-soft);color:var(--fg-1)}.segment-format-row{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);font-family:var(--font-sans);font-size:var(--fs-12);color:var(--fg-3);display:flex}.segment-format-row select{background-color:color-mix(in oklab, var(--bg-2) 85%, transparent);border:1px solid var(--border-1);border-radius:var(--r-sm);color:var(--fg-1);font-family:var(--font-sans);padding:var(--sp-1) var(--sp-2);cursor:pointer;flex:1;font-size:11px}.segment-extract-btn{border:1px solid var(--border-1);border-radius:var(--r-sm);color:var(--accent);font-family:var(--font-sans);font-size:10px;font-weight:var(--fw-medium);padding:1px var(--sp-2);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);background:0 0;flex-shrink:0;margin-left:auto}.segment-extract-btn:hover{background-color:var(--accent-soft);border-color:var(--accent-ring)}.segment-clear-btn{border:1px solid var(--border-1);border-radius:var(--r-sm);color:var(--fg-3);font-family:var(--font-sans);padding:var(--sp-1) var(--sp-2);cursor:pointer;margin-top:var(--sp-1);transition:color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);background:0 0;font-size:11px}.segment-clear-btn:hover{color:var(--danger);border-color:color-mix(in oklab, var(--danger) 40%, transparent)}.project-view{width:100%;max-width:1400px;padding:var(--sp-8) var(--sp-10);outline:none;margin:0 auto}@media (width<=768px){.project-view{padding:var(--sp-5) var(--sp-4)}}.project-view-loading{align-items:center;gap:var(--sp-4);padding:var(--sp-20) 0;color:var(--fg-3);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:var(--ls-widest);text-transform:uppercase;flex-direction:column;display:flex}.project-view-loading-spinner{border:3px solid var(--bg-3);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@media (prefers-reduced-motion:reduce){.project-view-loading-spinner{animation:none}}.project-view-error{text-align:center;padding:var(--sp-20) 0;color:var(--fg-2)}.project-view-error h2{font-family:var(--font-display);font-size:var(--fs-20);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);margin-bottom:var(--sp-3);color:var(--fg-1)}.project-view-error a{color:var(--accent);text-decoration:none}.project-view-error a:hover{color:var(--accent-hover);text-decoration:underline}.project-view-back{font-family:var(--font-sans);font-size:var(--fs-13);color:var(--fg-3);margin-bottom:var(--sp-3);transition:color var(--dur-2) var(--ease-out);text-decoration:none;display:inline-block}.project-view-back:hover{color:var(--accent)}.project-view-hero{margin-bottom:var(--sp-6)}.project-view-body{gap:var(--sp-8);grid-template-columns:1fr 320px;align-items:start;display:grid}@media (width<=900px){.project-view-body{grid-template-columns:1fr}}.project-view-main{flex-direction:column;gap:0;min-width:0;display:flex}.project-view-sidebar{gap:var(--sp-5);flex-direction:column;display:flex;position:sticky;top:80px}.project-view-sidebar-section,.project-view-sidebar-meta{gap:var(--sp-3);padding:var(--sp-4);background-color:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-lg);flex-direction:column;display:flex}.project-view-sidebar-section .project-view-section-title{margin:0}.project-view-visibility-hint{font-family:var(--font-sans);font-size:var(--fs-12);color:var(--fg-3);margin:var(--sp-2) 0 0 0;line-height:var(--lh-normal)}.project-view-thumbnail{aspect-ratio:16/9;background-color:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-xl);width:100%;max-height:420px;position:relative;overflow:hidden}.project-view-editor-btn{top:var(--sp-4);right:var(--sp-4);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-md);font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-semibold);background-color:var(--accent);color:var(--accent-fg);opacity:.95;transition:opacity var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);text-decoration:none;position:absolute}.project-view-editor-btn:hover{opacity:1;background-color:var(--accent-hover)}@media (width<=768px){.project-view-thumbnail{border-radius:var(--r-lg)}.project-view-editor-btn{top:var(--sp-3);right:var(--sp-3);padding:var(--sp-1) var(--sp-4);font-size:var(--fs-12)}}.project-view-thumbnail img{object-fit:contain;width:100%;height:100%;display:block}.project-view-thumbnail img[src=""],.project-view-thumbnail img:not([src]){display:none}.project-view-thumbnail-clickable{cursor:pointer}.project-view-lightbox{z-index:1000;backdrop-filter:blur(6px)saturate(1.05);padding:var(--sp-10);animation:lightbox-fade-in var(--dur-3) var(--ease-out);background-color:rgba(0,0,0,.88);outline:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.project-view-lightbox{animation:none}}.project-view-lightbox-content{max-width:95vw;max-height:90vh;position:relative}.project-view-lightbox-content img{object-fit:contain;border-radius:var(--r-lg);max-width:95vw;max-height:90vh;display:block}.project-view-lightbox-close{border-radius:var(--r-pill);width:36px;height:36px;color:var(--fg-1);border:1px solid var(--border-2);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);background-color:rgba(0,0,0,.7);justify-content:center;align-items:center;font-size:20px;display:flex;position:absolute;top:-12px;right:-12px}.project-view-lightbox-close:hover{background-color:var(--danger);border-color:var(--danger);color:var(--danger-fg)}.project-view-lightbox-nav{border-radius:var(--r-pill);width:48px;height:48px;color:var(--fg-1);border:1px solid var(--border-2);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out);background-color:rgba(0,0,0,.6);justify-content:center;align-items:center;font-size:28px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.project-view-lightbox-nav:hover{background-color:rgba(0,0,0,.85)}.project-view-lightbox-nav--prev{left:-60px}.project-view-lightbox-nav--next{right:-60px}@media (width<=768px){.project-view-lightbox{padding:var(--sp-5)}.project-view-lightbox-nav--prev{left:-24px}.project-view-lightbox-nav--next{right:-24px}.project-view-lightbox-nav{width:36px;height:36px;font-size:22px}}.project-view-hero-nav{border-radius:var(--r-pill);width:40px;height:40px;color:var(--fg-1);cursor:pointer;opacity:0;transition:opacity var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);z-index:2;background-color:rgba(0,0,0,.55);border:none;justify-content:center;align-items:center;font-size:24px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.project-view-thumbnail:hover .project-view-hero-nav{opacity:1}.project-view-hero-nav:hover{background-color:rgba(0,0,0,.8)}.project-view-hero-nav--prev{left:var(--sp-3)}.project-view-hero-nav--next{right:var(--sp-3)}@media (width<=768px){.project-view-hero-nav{width:32px;height:32px;font-size:20px}.project-view-hero-nav--prev{left:var(--sp-2)}.project-view-hero-nav--next{right:var(--sp-2)}}.project-view-gallery{margin-bottom:var(--sp-8)}.project-view-thumbstrip{gap:var(--sp-2);padding-bottom:var(--sp-1);margin-bottom:var(--sp-2);display:flex;overflow-x:auto}.project-view-thumbstrip::-webkit-scrollbar{height:4px}.project-view-thumbstrip::-webkit-scrollbar-thumb{background-color:var(--border-2);border-radius:2px}.project-view-thumbstrip-item{border-radius:var(--r-md);cursor:pointer;width:80px;height:56px;transition:border-color var(--dur-2) var(--ease-out);background-color:var(--bg-2);border:2px solid transparent;flex-shrink:0;position:relative;overflow:hidden}.project-view-thumbstrip-item--active{border-color:var(--accent)}.project-view-thumbstrip-item:hover{border-color:var(--border-3)}.project-view-thumbstrip-item--active:hover{border-color:var(--accent)}.project-view-thumbstrip-item img{object-fit:cover;width:100%;height:100%;display:block}.project-view-thumbstrip-remove{border-radius:var(--r-pill);width:18px;height:18px;color:var(--fg-1);cursor:pointer;opacity:0;transition:opacity var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);background-color:rgba(0,0,0,.7);border:none;justify-content:center;align-items:center;font-size:10px;display:flex;position:absolute;top:2px;right:2px}.project-view-thumbstrip-item:hover .project-view-thumbstrip-remove{opacity:1}.project-view-thumbstrip-remove:hover{background-color:var(--danger);color:var(--danger-fg)}.project-view-gallery-upload{display:flex}.project-view-upload-btn{padding:var(--sp-2) var(--sp-5);border-radius:var(--r-md);font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--fg-1);border:1px dashed var(--border-2);cursor:pointer;transition:border-color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);background-color:transparent;justify-content:center;align-items:center;display:inline-flex}.project-view-upload-btn:hover{border-color:var(--accent);background-color:var(--bg-2);color:var(--accent)}.project-view-details{gap:var(--sp-8);flex-direction:column;display:flex}@media (width>=961px){.project-view-details{gap:var(--sp-8) var(--sp-12);grid-template-columns:1fr 320px;display:grid}.project-view-details>.project-view-title-row{grid-column:1/-1}.project-view-details>.project-view-section:first-of-type{grid-column:1}.project-view-details>.project-view-meta{grid-column:2}.project-view-details>.project-view-section:last-of-type{grid-column:1/-1}}.project-view-title-row{align-items:center;gap:var(--sp-3);flex-wrap:wrap;grid-column:1/-1;display:flex}.project-view-title{font-family:var(--font-display);font-size:var(--fs-40);font-weight:var(--fw-bold);letter-spacing:var(--ls-tightest);line-height:var(--lh-tight);color:var(--fg-1);margin:0}@media (width<=768px){.project-view-title{font-size:var(--fs-24)}}.project-view-meta{gap:var(--sp-6);flex-wrap:wrap;display:flex}.project-view-meta-item{gap:var(--sp-1);flex-direction:column;display:flex}.project-view-meta-label{font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--ls-widest);color:var(--fg-3)}.project-view-meta-value{font-family:var(--font-sans);font-size:var(--fs-14);color:var(--fg-1)}.project-view-sidebar-meta .project-view-meta-item{justify-content:space-between;align-items:baseline;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--border-1);flex-direction:row}.project-view-sidebar-meta .project-view-meta-item:last-child{border-bottom:none}.project-view-sidebar-meta .project-view-meta-value{font-family:var(--font-mono);font-size:var(--fs-13);color:var(--fg-2);font-variant-numeric:tabular-nums}.project-view-btn{padding:var(--sp-3) var(--sp-6);border-radius:var(--r-md);font-family:var(--font-sans);font-size:var(--fs-14);font-weight:var(--fw-medium);background-color:var(--bg-2);color:var(--fg-1);border:1px solid var(--border-1);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.project-view-btn:hover{background-color:var(--bg-3);border-color:var(--border-2)}.project-view-btn:active{transform:translateY(.5px)}.project-view-btn--primary{background-color:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.project-view-btn--primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.project-view-btn--sm{padding:var(--sp-2) var(--sp-4);font-size:var(--fs-13)}.project-view-btn--lg{padding:var(--sp-3) var(--sp-5);font-size:var(--fs-14);width:100%;height:40px}.project-view-actions{gap:var(--sp-2);flex-direction:column;display:flex}.project-view-actions .project-view-iconbtn{margin-top:var(--sp-1);align-self:flex-start}.project-view-iconbtn{border-radius:var(--r-md);width:32px;height:32px;color:var(--fg-2);border:1px solid var(--border-1);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);background:0 0;justify-content:center;align-items:center;display:inline-flex}.project-view-iconbtn:hover{background:var(--bg-2);color:var(--fg-1);border-color:var(--border-2)}.project-view-iconbtn--active{color:var(--accent);border-color:var(--accent-ring)}.project-view-iconbtn--active:hover{background:var(--accent-soft);color:var(--accent)}.project-view-crumb{font-family:var(--font-mono);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--fg-4);margin-bottom:var(--sp-2);font-size:10px}.project-view-remix-badge{top:var(--sp-3);left:var(--sp-3);border-radius:var(--r-sm);color:var(--accent);border:1px solid var(--accent-ring);-webkit-backdrop-filter:blur(6px);font-family:var(--font-mono);letter-spacing:var(--ls-widest);text-transform:uppercase;font-size:10px;font-weight:var(--fw-semibold);z-index:1;pointer-events:none;background:rgba(10,10,11,.7);align-items:center;gap:6px;padding:4px 8px;display:inline-flex;position:absolute}.project-view-author{align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-lg);display:flex}.project-view-author-meta{flex:1;min-width:0}.project-view-author-name{font-family:var(--font-sans);font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--fg-1);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}a.project-view-author-link{color:var(--fg-1);text-decoration:none}a.project-view-author-link:hover{color:var(--accent);text-decoration:underline}.project-view-author-sub{font-family:var(--font-mono);color:var(--fg-4);letter-spacing:var(--ls-wide);font-size:11px}.project-view-avatar{background:linear-gradient(135deg, var(--accent), #c74318);color:#0a0a0b;font-family:var(--font-sans);font-weight:var(--fw-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.project-view-avatar--sm{width:24px;height:24px;font-size:11px}.project-view-avatar--md{width:32px;height:32px;font-size:13px}.project-view-avatar--lg{width:40px;height:40px;font-size:15px}.project-view-stats{padding:var(--sp-3) 0;border-top:1px solid var(--border-1);border-bottom:1px solid var(--border-1);grid-template-columns:repeat(4,1fr);gap:0;display:grid}.project-view-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.project-view-stat+.project-view-stat{border-left:1px solid var(--border-1)}.project-view-stat-n{font-family:var(--font-display);font-size:18px;font-weight:var(--fw-bold);color:var(--fg-1);letter-spacing:var(--ls-tight);font-variant-numeric:tabular-nums;line-height:1}.project-view-stat-l{font-family:var(--font-mono);color:var(--fg-4);letter-spacing:var(--ls-wide);font-size:10px}.project-view-iconbar{align-items:center;gap:var(--sp-2);margin-top:var(--sp-1);display:flex;position:relative}.project-view-copied-toast{font-family:var(--font-mono);letter-spacing:var(--ls-wide);color:var(--success);background:color-mix(in oklab, var(--success) 15%, transparent);border-radius:var(--r-sm);animation:projCopiedIn .16s var(--ease-out);padding:4px 8px;font-size:11px}@keyframes projCopiedIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.project-view-copied-toast{animation:none}}.project-view-related{max-width:1240px;margin:var(--sp-16) auto 0;padding:0 var(--sp-6) var(--sp-12);border-top:1px solid var(--border-1);padding-top:var(--sp-10)}.project-view-related-grid{gap:var(--sp-4);margin-top:var(--sp-6);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.project-view-related-card{background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-lg);color:inherit;transition:border-color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);text-decoration:none;display:block;overflow:hidden}.project-view-related-card:hover{border-color:var(--border-2);transform:translateY(-1px)}.project-view-related-card--placeholder{opacity:.5}.project-view-related-thumb{aspect-ratio:4/3;background:var(--bg-3);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.project-view-related-thumb img{object-fit:cover;width:100%;height:100%}.project-view-related-cube{background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.15);width:48px;height:48px;transform:rotateX(-20deg)rotateY(-30deg);box-shadow:0 0 0 1px rgba(0,0,0,.4),12px 12px 20px rgba(0,0,0,.3)}.project-view-related-name{font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--fg-1);padding:var(--sp-3) var(--sp-3) 2px}.project-view-related-meta{font-family:var(--font-mono);letter-spacing:var(--ls-wide);color:var(--fg-4);padding:0 var(--sp-3) var(--sp-3);font-size:10px}.project-view-section{gap:var(--sp-2);flex-direction:column;display:flex}.project-view-section-title{font-family:var(--font-sans);font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--fg-1);margin:0}.project-view-description{font-family:var(--font-sans);font-size:var(--fs-15);line-height:var(--lh-relaxed);color:var(--fg-2);white-space:pre-wrap;margin:0}.project-view-edit-link{color:var(--accent);cursor:pointer;font-family:var(--font-sans);font-size:var(--fs-13);text-align:left;transition:color var(--dur-2) var(--ease-out);background:0 0;border:none;padding:0}.project-view-edit-link:hover{color:var(--accent-hover);text-decoration:underline}.project-view-desc-input,.project-view-comment-input{width:100%;font-family:var(--font-sans);font-size:var(--fs-14);line-height:var(--lh-normal);background-color:var(--bg-2);color:var(--fg-1);border:1px solid var(--border-1);border-radius:var(--r-md);padding:var(--sp-3);resize:vertical;transition:border-color var(--dur-2) var(--ease-out);outline:none}.project-view-desc-input:focus,.project-view-comment-input:focus{border-color:var(--accent)}.project-view-desc-actions{gap:var(--sp-2);display:flex}.project-view-license-badge{font-family:var(--font-mono);letter-spacing:var(--ls-wide);padding:2px var(--sp-2);border-radius:var(--r-pill);background-color:var(--bg-3);color:var(--fg-2);border:1px solid var(--border-1);font-size:.6875rem}.project-view-license-select{font-family:var(--font-sans);font-size:var(--fs-14);background-color:var(--bg-2);color:var(--fg-1);border:1px solid var(--border-1);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);box-sizing:border-box;width:100%;max-width:280px;transition:border-color var(--dur-2) var(--ease-out);outline:none}.project-view-license-select:focus{border-color:var(--accent)}.project-view-tags{gap:var(--sp-2);flex-wrap:wrap;display:flex}.project-view-tag{align-items:center;gap:var(--sp-1);font-family:var(--font-sans);font-size:var(--fs-12);padding:3px var(--sp-3);border-radius:var(--r-pill);background-color:var(--bg-2);color:var(--fg-1);border:1px solid var(--border-1);display:inline-flex}.project-view-tag--ai{background-color:var(--accent-soft);border-color:var(--accent-ring);color:var(--accent)}.project-view-tag--ai:before{content:"✦";margin-right:2px;font-size:10px}.project-view-tag-remove{color:var(--fg-3);cursor:pointer;transition:color var(--dur-2) var(--ease-out);background:0 0;border:none;padding:0 2px;font-size:11px;line-height:1}.project-view-tag-remove:hover{color:var(--danger)}.project-view-tag-add{margin-top:var(--sp-1)}.project-view-tag-input{font-family:var(--font-sans);font-size:var(--fs-13);background-color:var(--bg-2);color:var(--fg-1);border:1px solid var(--border-1);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);box-sizing:border-box;width:100%;max-width:280px;transition:border-color var(--dur-2) var(--ease-out);outline:none}.project-view-tag-input:focus{border-color:var(--accent)}.project-view-comment-count{font-weight:var(--fw-regular);color:var(--fg-3)}.project-view-comment-form{align-items:flex-end;gap:var(--sp-2);margin-bottom:var(--sp-4);flex-direction:column;display:flex}.project-view-comment-form textarea{align-self:stretch}.project-view-no-comments{color:var(--fg-3);font-family:var(--font-sans);font-size:var(--fs-14);font-style:italic}.project-view-comment{padding:var(--sp-3) 0;border-bottom:1px solid var(--border-1)}.project-view-comment:last-child{border-bottom:none}.project-view-comment-header{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2);display:flex}.project-view-comment-author{font-family:var(--font-sans);font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--fg-1);text-decoration:none}.project-view-comment-author--link:hover{color:var(--accent)}.project-view-comment-date{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--fg-3);font-variant-numeric:tabular-nums}.project-view-comment-body{font-family:var(--font-sans);font-size:var(--fs-14);line-height:var(--lh-normal);color:var(--fg-2);white-space:pre-wrap;margin:0}.project-view-ai-suggestions{background-color:var(--accent-soft);border:1px solid var(--accent-ring);border-radius:var(--r-lg);padding:var(--sp-4);gap:var(--sp-4);isolation:isolate;flex-direction:column;display:flex;position:relative;overflow:hidden}.project-view-ai-suggestions:after{content:"";background:var(--grad-ai-shimmer);animation:kradShimmer var(--dur-ai) var(--ease-in-out) infinite;pointer-events:none;z-index:1;background-size:220% 100%;position:absolute;inset:0}.project-view-ai-suggestions>*{z-index:2;position:relative}@media (prefers-reduced-motion:reduce){.project-view-ai-suggestions:after{animation:none}}.project-view-ai-suggestions .project-view-section-title{color:var(--accent);font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--fw-medium);letter-spacing:var(--ls-widest);text-transform:uppercase;margin:0}.project-view-ai-suggestions .project-view-section-title:before{content:"✦ ";letter-spacing:0}.ai-suggestion{gap:var(--sp-2);flex-direction:column;display:flex}.ai-suggestion-label{font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--ls-widest);color:var(--fg-3);display:block}.ai-suggestion-text{font-family:var(--font-sans);font-size:var(--fs-14);line-height:var(--lh-relaxed);color:var(--fg-1);margin:0;font-style:italic}.ai-suggestion-use-btn{font-family:var(--font-sans);font-size:var(--fs-12);font-weight:var(--fw-semibold);padding:var(--sp-1) var(--sp-4);border:1px solid var(--accent);border-radius:var(--r-md);background-color:var(--accent);color:var(--accent-fg);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);align-self:flex-start}.ai-suggestion-use-btn:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.ai-badges{gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.ai-badge{font-family:var(--font-mono);letter-spacing:var(--ls-wide);padding:3px var(--sp-3);border-radius:var(--r-pill);background-color:var(--bg-2);border:1px solid var(--border-1);color:var(--fg-2);font-size:.6875rem}.ai-badge--category{border-color:color-mix(in oklab, var(--success) 40%, transparent);color:var(--success)}.ai-badge--complexity{border-color:color-mix(in oklab, var(--warning) 40%, transparent);color:var(--warning)}.ai-badge--style{border-color:var(--accent-ring);color:var(--accent)}.ai-badge--material{border-color:color-mix(in oklab, var(--info) 40%, transparent);color:var(--info)}.ai-suggested-tags{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.ai-suggested-tags-label{font-family:var(--font-sans);font-size:var(--fs-13);color:var(--fg-3);margin-right:var(--sp-1)}.ai-suggested-tag{font-family:var(--font-sans);font-size:var(--fs-12);padding:3px var(--sp-3);border-radius:var(--r-pill);border:1px dashed var(--accent-ring);color:var(--accent);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), border-style var(--dur-2) var(--ease-out);background:0 0}.ai-suggested-tag:hover{background-color:var(--accent-soft);border-style:solid}.settings-page{width:100%;max-width:1000px;padding:var(--sp-10) var(--sp-10) var(--sp-16);gap:var(--sp-10);flex-direction:column;margin:0 auto;display:flex}@media (width<=768px){.settings-page{padding:var(--sp-6) var(--sp-4) var(--sp-10);gap:var(--sp-8)}}.settings-title{font-family:var(--font-display);font-size:var(--fs-30);font-weight:var(--fw-bold);letter-spacing:var(--ls-tightest);color:var(--fg-1);margin:0}.settings-loading{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:var(--ls-widest);text-transform:uppercase;padding:var(--sp-10) 0;text-align:center}.settings-tabs{width:100%}.settings-tabs .tabs-content{padding:var(--sp-8) var(--sp-8)}@media (width<=768px){.settings-tabs .tabs-content{padding:var(--sp-5) var(--sp-4)}}.settings-tab-body{gap:var(--sp-8);flex-direction:column;display:flex}.settings-contact-notice{font-family:var(--font-sans);font-size:var(--fs-13);line-height:var(--lh-normal);color:var(--fg-2);padding:var(--sp-3) var(--sp-4);background-color:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-lg);margin:0}.settings-section{gap:var(--sp-5);padding-bottom:var(--sp-8);border-bottom:1px solid var(--border-1);flex-direction:column;display:flex}.settings-section:last-child{border-bottom:none;padding-bottom:0}.settings-section-title{font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--fw-medium);color:var(--fg-3);text-transform:uppercase;letter-spacing:var(--ls-widest);margin:0}.settings-field{gap:var(--sp-2);flex-direction:column;display:flex}.settings-label{font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--fw-medium);color:var(--fg-3);text-transform:uppercase;letter-spacing:var(--ls-widest)}.settings-value{font-family:var(--font-sans);font-size:var(--fs-15);color:var(--fg-1);margin:0}.settings-input-row{align-items:center;gap:var(--sp-3);display:flex}.settings-input-row .input{flex:1}.settings-username-prefix{font-family:var(--font-mono);font-size:var(--fs-16);color:var(--fg-3);font-weight:var(--fw-medium)}.settings-username-ok{font-family:var(--font-sans);font-size:var(--fs-13);color:var(--success);white-space:nowrap}.settings-username-taken{font-family:var(--font-sans);font-size:var(--fs-13);color:var(--danger);white-space:nowrap}.settings-hint{margin:var(--sp-1) 0 0;font-family:var(--font-sans);font-size:var(--fs-13);color:var(--fg-3)}.settings-hint-link{color:var(--accent);transition:color var(--dur-2) var(--ease-out);text-decoration:none}.settings-hint-link:hover{color:var(--accent-hover);text-decoration:underline}.settings-username-locked{font-family:var(--font-mono);font-size:var(--fs-16);font-weight:var(--fw-medium);color:var(--fg-1)}.settings-username-warning{font-family:var(--font-sans);font-size:var(--fs-13);color:var(--warning);line-height:var(--lh-normal);margin:0}.settings-textarea,.settings-select{width:100%;font-family:var(--font-sans);font-size:var(--fs-14);line-height:var(--lh-normal);background-color:var(--bg-2);color:var(--fg-1);border:1px solid var(--border-1);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);box-sizing:border-box;transition:border-color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);outline:none}.settings-textarea{resize:vertical}.settings-select{cursor:pointer}.settings-textarea:hover,.settings-select:hover{border-color:var(--border-2)}.settings-textarea:focus,.settings-select:focus{border-color:var(--accent)}.settings-char-count{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--fg-3);text-align:right;margin-top:var(--sp-1);font-variant-numeric:tabular-nums}.settings-char-count--warn{color:var(--warning)}.settings-field-row{gap:var(--sp-3);display:flex}.settings-field--grow{flex:1}.settings-identity-row{align-items:flex-start;gap:var(--sp-8)!important;flex-direction:row!important}@media (width<=600px){.settings-identity-row{align-items:center;flex-direction:column!important}}.settings-avatar-col{align-items:center;gap:var(--sp-3);flex-direction:column;flex-shrink:0;display:flex}.settings-username-col{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.settings-avatar-preview{border-radius:var(--r-pill);object-fit:cover;border:2px solid var(--border-2);width:80px;height:80px}.settings-avatar-placeholder{border-radius:var(--r-pill);background-color:var(--bg-3);border:2px solid var(--border-2);width:80px;height:80px;color:var(--fg-3);justify-content:center;align-items:center;display:flex}.settings-upload-btn{padding:var(--sp-2) var(--sp-5);border-radius:var(--r-md);font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-medium);background-color:var(--bg-2);color:var(--fg-1);border:1px solid var(--border-1);cursor:pointer;transition:border-color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out)}.settings-upload-btn:hover{border-color:var(--border-2);background-color:var(--bg-3)}.settings-save-bar{align-items:center;gap:var(--sp-3);padding-top:var(--sp-2);display:flex}.settings-save-btn{padding:var(--sp-3) var(--sp-8);border-radius:var(--r-md);font-family:var(--font-sans);font-size:var(--fs-15);font-weight:var(--fw-semibold);background-color:var(--accent);color:var(--accent-fg);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);border:none}.settings-save-btn:hover{background-color:var(--accent-hover)}.settings-save-btn:active{transform:translateY(.5px)}.settings-save-btn:disabled{opacity:.4;cursor:not-allowed}.settings-saved-msg{font-family:var(--font-sans);font-size:var(--fs-13);color:var(--success);white-space:nowrap}.settings-error-msg{font-family:var(--font-sans);font-size:var(--fs-13);color:var(--danger);white-space:nowrap}.settings-tier-badge{font-family:var(--font-mono);letter-spacing:var(--ls-widest);padding:3px var(--sp-3);border-radius:var(--r-pill);background-color:var(--bg-3);color:var(--fg-2);border:1px solid var(--border-1);text-transform:uppercase;font-size:.6875rem;font-weight:var(--fw-medium);width:fit-content;display:inline-block}@media (width<=600px){.settings-field-row{flex-direction:column;gap:0}}.settings-billing-plan{justify-content:space-between;align-items:center;gap:var(--sp-5);display:flex}@media (width<=600px){.settings-billing-plan{flex-direction:column;align-items:flex-start}}.settings-billing-plan-info{gap:var(--sp-1);flex-direction:column;display:flex}.settings-billing-plan-name{font-family:var(--font-display);font-size:var(--fs-18);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);color:var(--fg-1);margin:0}.settings-billing-plan-desc{font-family:var(--font-sans);font-size:var(--fs-14);color:var(--fg-2);line-height:var(--lh-normal);margin:0}.settings-billing-upgrade-btn{padding:var(--sp-3) var(--sp-6);border:1px solid var(--accent);border-radius:var(--r-md);font-family:var(--font-sans);font-size:var(--fs-14);font-weight:var(--fw-semibold);background-color:var(--accent);color:var(--accent-fg);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out)}.settings-billing-upgrade-btn:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.settings-billing-upgrade-btn:active{transform:translateY(.5px)}.settings-billing-upgrade-btn--pro{color:var(--accent);border-color:var(--accent);background-color:transparent}.settings-billing-upgrade-btn--pro:hover{background-color:var(--accent-soft);color:var(--accent)}.settings-billing-upgrade-group{gap:var(--sp-3);display:flex}.settings-billing-manage-btn{padding:var(--sp-3) var(--sp-6);border-radius:var(--r-md);font-family:var(--font-sans);font-size:var(--fs-14);font-weight:var(--fw-medium);background-color:var(--bg-2);color:var(--fg-1);border:1px solid var(--border-1);cursor:pointer;white-space:nowrap;transition:border-color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out)}.settings-billing-manage-btn:hover{border-color:var(--border-2);background-color:var(--bg-3)}.settings-tier-table{border-collapse:collapse;width:100%;font-family:var(--font-sans);font-size:var(--fs-14)}.settings-tier-table th,.settings-tier-table td{padding:var(--sp-2) var(--sp-3);text-align:left;border-bottom:1px solid var(--border-1)}.settings-tier-table th{font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--fw-medium);color:var(--fg-3);text-transform:uppercase;letter-spacing:var(--ls-widest)}.settings-tier-table td:first-child{color:var(--fg-2)}.settings-tier-table td:nth-child(2),.settings-tier-table td:nth-child(3),.settings-tier-table td:nth-child(4){text-align:center;color:var(--fg-1);font-variant-numeric:tabular-nums}.settings-tier-table th:nth-child(2),.settings-tier-table th:nth-child(3),.settings-tier-table th:nth-child(4){text-align:center}.settings-tier-table--pro{color:var(--accent)!important}.settings-token-create{gap:var(--sp-3);margin-top:var(--sp-4);align-items:flex-start;display:flex}.settings-token-create .login-button{white-space:nowrap;flex-shrink:0;width:auto}.settings-token-secret{margin-top:var(--sp-4);padding:var(--sp-4);background:color-mix(in oklab, var(--success) 10%, var(--bg-2));border:1px solid var(--success);border-radius:var(--r-lg)}.settings-token-secret-label{font-size:var(--fs-12);color:var(--fg-2);margin-bottom:var(--sp-2)}.settings-token-secret-value{font-family:var(--font-mono);font-size:var(--fs-13);color:var(--fg-1);background:var(--bg-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);word-break:break-all;margin-bottom:var(--sp-3);display:block}.settings-token-list{margin-top:var(--sp-4);gap:var(--sp-2);flex-direction:column;display:flex}.settings-token-row{padding:var(--sp-3);background:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-md);justify-content:space-between;align-items:center;display:flex}.settings-token-info{flex-direction:column;gap:2px;display:flex}.settings-token-name{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--fg-1)}.settings-token-date{font-size:var(--fs-12);color:var(--fg-3)}.settings-token-revoke{border:1px solid var(--danger);border-radius:var(--r-md);color:var(--danger);font-size:var(--fs-12);padding:var(--sp-1) var(--sp-3);cursor:pointer;background:0 0}.settings-token-revoke:hover{background:color-mix(in oklab, var(--danger) 15%, transparent)}.settings-code-block{margin-bottom:var(--sp-5)}.settings-code-label{font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-semi);color:var(--fg-2);margin:0 0 var(--sp-2)}.settings-code{background:var(--bg-3);border:1px solid var(--border-1);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);margin:0;overflow-x:auto}.settings-code code{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--fg-1);white-space:pre;line-height:1.5}.usage-bars{gap:var(--sp-4);flex-direction:column;display:flex}.usage-row-header{margin-bottom:var(--sp-2);justify-content:space-between;align-items:baseline;display:flex}.usage-row-label{font-family:var(--font-sans);font-size:var(--fs-14);color:var(--fg-1)}.usage-row-value{font-family:var(--font-mono);font-size:var(--fs-13);color:var(--fg-3);font-variant-numeric:tabular-nums;letter-spacing:var(--ls-wide)}.usage-bar-track{border-radius:var(--r-pill);background-color:var(--bg-3);border:1px solid var(--border-1);height:8px;overflow:hidden}.usage-bar-fill{border-radius:var(--r-pill);background-color:var(--accent);height:100%;transition:width var(--dur-4) var(--ease-out), background-color var(--dur-3) var(--ease-out);min-width:0}.usage-bar-fill--warning{background-color:var(--warning)}.usage-bar-fill--danger{background-color:var(--danger)}.public-profile{width:100%;max-width:1400px;padding:var(--sp-10) var(--sp-10);margin:0 auto}@media (width<=768px){.public-profile{padding:var(--sp-6) var(--sp-4)}}.public-profile-loading,.public-profile-error{text-align:center;padding:var(--sp-16) 0;color:var(--fg-3);font-family:var(--font-sans);font-size:var(--fs-14)}.public-profile-error h2{font-family:var(--font-display);font-size:var(--fs-20);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);color:var(--fg-1);margin-bottom:var(--sp-2)}.public-profile-error a{color:var(--accent);text-decoration:none}.public-profile-error a:hover{color:var(--accent-hover);text-decoration:underline}.public-profile-header{gap:var(--sp-6);margin-bottom:var(--sp-10);align-items:flex-start;display:flex}.public-profile-avatar{border-radius:var(--r-pill);object-fit:cover;border:2px solid var(--border-2);flex-shrink:0;width:96px;height:96px}.public-profile-avatar-placeholder{border-radius:var(--r-pill);background-color:var(--bg-3);border:2px solid var(--border-2);width:96px;height:96px;color:var(--fg-3);flex-shrink:0;justify-content:center;align-items:center;display:flex}.public-profile-info{gap:var(--sp-1);flex-direction:column;display:flex}.public-profile-name{font-family:var(--font-display);font-size:var(--fs-24);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);color:var(--fg-1);margin:0}.public-profile-username{font-family:var(--font-mono);font-size:var(--fs-15);color:var(--fg-3);letter-spacing:var(--ls-wide);margin:0}.public-profile-bio{font-family:var(--font-sans);font-size:var(--fs-15);color:var(--fg-2);margin:var(--sp-2) 0 0;line-height:var(--lh-normal)}.public-profile-meta{align-items:center;gap:var(--sp-3);margin-top:var(--sp-2);display:flex}.public-profile-date{font-family:var(--font-mono);font-size:var(--fs-13);color:var(--fg-3);font-variant-numeric:tabular-nums}.public-profile-projects{gap:var(--sp-4);flex-direction:column;display:flex}.public-profile-projects-title{font-family:var(--font-sans);font-size:var(--fs-18);font-weight:var(--fw-semibold);color:var(--fg-1);margin:0}.public-profile-count{font-weight:var(--fw-regular);color:var(--fg-3)}.public-profile-no-projects{color:var(--fg-3);font-family:var(--font-sans);font-size:var(--fs-14);font-style:italic}.public-profile-project-desc{margin:var(--sp-1) 0 0;font-family:var(--font-sans);font-size:var(--fs-12);color:var(--fg-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=600px){.public-profile-header{text-align:center;flex-direction:column;align-items:center}}.legal-page{max-width:800px;padding:var(--sp-10) var(--sp-10) var(--sp-16);margin:0 auto}@media (width<=768px){.legal-page{padding:var(--sp-6) var(--sp-4) var(--sp-10)}}.legal-title{font-family:var(--font-display);font-size:var(--fs-30);font-weight:var(--fw-bold);letter-spacing:var(--ls-tightest);color:var(--fg-1);margin:0 0 var(--sp-8)}.legal-content h2{font-family:var(--font-sans);font-size:var(--fs-20);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);color:var(--fg-1);margin:var(--sp-8) 0 var(--sp-3)}.legal-content h3{font-family:var(--font-sans);font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--fg-1);margin:var(--sp-5) 0 var(--sp-2)}.legal-content p{font-family:var(--font-sans);font-size:var(--fs-15);line-height:var(--lh-relaxed);color:var(--fg-2);margin:0 0 var(--sp-3)}.legal-content ul{margin:0 0 var(--sp-3);padding-left:var(--sp-6)}.legal-content li{font-family:var(--font-sans);font-size:var(--fs-15);line-height:var(--lh-relaxed);color:var(--fg-2);margin-bottom:var(--sp-1)}.legal-content a{color:var(--accent);transition:color var(--dur-2) var(--ease-out);text-decoration:none}.legal-content a:hover{color:var(--accent-hover);text-decoration:underline}.legal-content strong{color:var(--fg-1)}.legal-content em{color:var(--fg-3)}.legal-content code{font-family:var(--font-mono);font-size:var(--fs-13);background-color:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-sm);color:var(--fg-1);padding:.1em .4em}.legal-footer{margin-top:var(--sp-12);padding-top:var(--sp-6);border-top:1px solid var(--border-1);font-family:var(--font-sans);font-size:var(--fs-14);color:var(--fg-3)}.legal-footer a{color:var(--accent);transition:color var(--dur-2) var(--ease-out);text-decoration:none}.legal-footer a:hover{color:var(--accent-hover);text-decoration:underline}.about-page{width:100%;max-width:1180px;padding:0 var(--sp-10) var(--sp-16);margin:0 auto}@media (width<=768px){.about-page{padding:0 var(--sp-4) var(--sp-10)}}.about-hero{justify-content:space-between;align-items:center;gap:var(--sp-10);padding:var(--sp-20) 0;display:flex}@media (width<=768px){.about-hero{text-align:center;padding:var(--sp-12) 0;flex-direction:column}}.about-hero-content{max-width:560px}.about-hero-title{font-family:var(--font-display);font-size:clamp(2.5rem, 5vw + 1rem, var(--fs-56));font-weight:var(--fw-bold);letter-spacing:var(--ls-tightest);line-height:var(--lh-tight);color:var(--fg-1);margin:0 0 var(--sp-4)}@media (width<=768px){.about-hero-title{font-size:var(--fs-30)}}.about-hero-subtitle{font-family:var(--font-sans);font-size:var(--fs-18);line-height:var(--lh-relaxed);color:var(--fg-2);margin:0 0 var(--sp-8)}.about-hero-actions{gap:var(--sp-3);display:flex}@media (width<=768px){.about-hero-actions{justify-content:center}}.about-hero-mark{flex-shrink:0;justify-content:center;align-items:center;width:320px;height:320px;display:flex;position:relative}.about-hero-grid{border-radius:var(--r-xl);background-image:var(--grad-grid);pointer-events:none;background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 0%,transparent 70%);mask-image:radial-gradient(circle,#000 0%,transparent 70%)}.about-hero-graphic{color:var(--fg-2);filter:drop-shadow(0 0 40px color-mix(in oklab, var(--accent) 18%, transparent));flex-shrink:0;position:relative}@media (width<=768px){.about-hero-mark{width:220px;height:220px}.about-hero-graphic svg{width:160px;height:160px}}.about-btn{padding:var(--sp-3) var(--sp-8);border-radius:var(--r-md);font-family:var(--font-sans);font-size:var(--fs-15);font-weight:var(--fw-semibold);cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.about-btn:active{transform:translateY(.5px)}.about-btn--primary{background-color:var(--accent);color:var(--accent-fg);border:1px solid var(--accent)}.about-btn--primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.about-btn--secondary{color:var(--fg-1);border:1px solid var(--border-2);background-color:transparent}.about-btn--secondary:hover{border-color:var(--border-3);background-color:var(--bg-2)}.about-btn--lg{padding:var(--sp-4) var(--sp-10);font-size:var(--fs-16)}.about-features{gap:var(--sp-8);padding:var(--sp-16) 0;border-top:1px solid var(--border-1);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=768px){.about-features{gap:var(--sp-6);grid-template-columns:1fr}}.about-feature h3{font-family:var(--font-sans);font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--fg-1);margin:0 0 var(--sp-2);align-items:center;gap:var(--sp-2);display:flex}.about-feature p{font-family:var(--font-sans);font-size:var(--fs-14);line-height:var(--lh-relaxed);color:var(--fg-2);max-width:320px;margin:0}.about-feature--ai h3{color:var(--accent)}.about-feature-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent);border-radius:50%;flex-shrink:0}.about-section-title{font-family:var(--font-display);font-size:var(--fs-30);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);color:var(--fg-1);margin:0 0 var(--sp-8);text-align:center}.about-pricing{padding:var(--sp-16) 0;border-top:1px solid var(--border-1)}.about-pricing-cards{gap:var(--sp-6);grid-template-columns:1fr 1fr 1fr;max-width:900px;margin:0 auto;display:grid}@media (width<=768px){.about-pricing-cards{grid-template-columns:1fr}}.about-pricing-card{background-color:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-xl);padding:var(--sp-6);gap:var(--sp-4);text-align:left;transition:border-color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);flex-direction:column;display:flex}.about-pricing-card:hover{border-color:var(--border-2);transform:translateY(-2px)}.about-pricing-card--highlight{border-color:var(--accent-ring);box-shadow:var(--shadow-accent)}.about-pricing-card-name{font-family:var(--font-sans);font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--fg-1);text-align:center}.about-pricing-price-block{align-items:center;gap:var(--sp-1);text-align:center;flex-direction:column;display:flex}.about-pricing-price{font-family:var(--font-display);font-size:48px;font-weight:var(--fw-bold);letter-spacing:var(--ls-tightest);color:var(--fg-1);font-variant-numeric:tabular-nums;line-height:1}.about-pricing-price--accent{color:var(--accent)}.about-pricing-period{font-family:var(--font-sans);font-size:var(--fs-13);color:var(--fg-3)}.about-pricing-card ul{gap:var(--sp-2);flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.about-pricing-card li{font-family:var(--font-sans);font-size:var(--fs-13);color:var(--fg-2);padding-left:var(--sp-4);position:relative}.about-pricing-card li:before{content:"✓";color:var(--fg-4);font-family:var(--font-mono);font-size:11px;position:absolute;top:2px;left:0}.about-pricing-card .about-btn{width:100%;margin-top:auto}.about-developers{padding:var(--sp-16) 0;border-top:1px solid var(--border-1);text-align:center}.about-developers-intro{font-family:var(--font-sans);font-size:var(--fs-16);color:var(--fg-2);max-width:640px;margin:0 auto var(--sp-8);line-height:1.6}.about-developers-grid{gap:var(--sp-6);max-width:900px;margin:0 auto var(--sp-8);text-align:left;grid-template-columns:repeat(3,1fr);display:grid}@media (width<=768px){.about-developers-grid{grid-template-columns:1fr}}.about-developers-item{padding:var(--sp-5);border:1px solid var(--border-1);border-radius:var(--r-xl);transition:border-color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out)}.about-developers-item:hover{border-color:var(--border-2);transform:translateY(-2px)}.about-developers-item h3{font-family:var(--font-display);font-size:var(--fs-16);font-weight:var(--fw-semi);color:var(--fg-1);margin:0 0 var(--sp-2)}.about-developers-item p{font-family:var(--font-sans);font-size:var(--fs-14);color:var(--fg-3);margin:0;line-height:1.5}.about-developers-links{gap:var(--sp-3);justify-content:center;display:flex}.about-cta{text-align:center;padding:var(--sp-16) 0;border-top:1px solid var(--border-1)}.about-cta h2{font-family:var(--font-display);font-size:var(--fs-30);font-weight:var(--fw-bold);letter-spacing:var(--ls-tightest);color:var(--fg-1);margin:0 0 var(--sp-3)}.about-cta p{font-family:var(--font-sans);font-size:var(--fs-16);color:var(--fg-2);margin:0 0 var(--sp-8)}.about-footer{text-align:center;padding-top:var(--sp-10);border-top:1px solid var(--border-1);font-family:var(--font-sans);font-size:var(--fs-14);color:var(--fg-3)}.about-footer a{color:var(--accent);transition:color var(--dur-2) var(--ease-out);text-decoration:none}.about-footer a:hover{color:var(--accent-hover);text-decoration:underline}.search-page{max-width:1200px;padding:var(--sp-8) var(--sp-6);margin:0 auto}.search-header{margin-bottom:var(--sp-8)}.search-title{font-family:var(--font-sans);font-size:var(--fs-24);font-weight:var(--fw-bold);color:var(--fg-1);margin-bottom:var(--sp-4)}.search-form{gap:var(--sp-3);display:flex}.search-input{padding:var(--sp-3) var(--sp-4);background:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-lg);color:var(--fg-1);font-family:var(--font-sans);font-size:var(--fs-14);transition:border-color var(--dur-1) var(--ease-out);outline:none;flex:1}.search-input:focus{border-color:var(--accent)}.search-button{padding:var(--sp-3) var(--sp-6);background:var(--accent);color:#fff;border-radius:var(--r-lg);font-family:var(--font-sans);font-size:var(--fs-14);font-weight:var(--fw-semibold);cursor:pointer;white-space:nowrap;border:none}.search-button:hover{background:var(--accent-hover)}.search-button:disabled{opacity:.6;cursor:not-allowed}.search-loading,.search-empty{text-align:center;color:var(--fg-3);font-size:var(--fs-14);padding:var(--sp-12) 0}.search-results-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.search-result-card{background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-lg);color:inherit;transition:border-color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);text-decoration:none;display:block;overflow:hidden}.search-result-card:hover{border-color:var(--border-2);transform:translateY(-2px)}.search-result-thumb{aspect-ratio:4/3;background:var(--bg-3);overflow:hidden}.search-result-thumb img{object-fit:cover;width:100%;height:100%}.search-result-info{padding:var(--sp-3) var(--sp-4)}.search-result-name{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--fg-1);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.search-result-score{font-size:var(--fs-12);color:var(--fg-3);margin-top:var(--sp-1)}.popular-page{max-width:1200px;padding:var(--sp-8) var(--sp-6);margin:0 auto}.popular-header{margin-bottom:var(--sp-8)}.popular-title{font-family:var(--font-display);font-size:var(--fs-30);font-weight:var(--fw-bold);color:var(--fg-1);margin:0 0 var(--sp-2)}.popular-subtitle{font-family:var(--font-sans);font-size:var(--fs-16);color:var(--fg-3);margin:0}.popular-loading,.popular-empty{text-align:center;color:var(--fg-3);font-size:var(--fs-14);padding:var(--sp-12) 0}.popular-grid{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.popular-card{background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-xl);color:inherit;transition:border-color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);text-decoration:none;display:block;overflow:hidden}.popular-card:hover{border-color:var(--border-2);transform:translateY(-2px)}.popular-card-thumb{aspect-ratio:4/3;background:var(--bg-3);overflow:hidden}.popular-card-thumb img{object-fit:cover;width:100%;height:100%}.popular-card-info{padding:var(--sp-3) var(--sp-4) var(--sp-4)}.popular-card-name{font-family:var(--font-sans);font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--fg-1);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.popular-card-desc{font-family:var(--font-sans);font-size:var(--fs-12);color:var(--fg-3);margin-top:var(--sp-1);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.popular-card-stats{gap:var(--sp-3);margin-top:var(--sp-2);display:flex}.popular-card-stat{font-family:var(--font-sans);font-size:var(--fs-12);color:var(--fg-4)}