@font-face{font-family:Tsanger YuYang;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/tsanger-yuyang/tsanger-yuyang-W02-400.woff2)format("woff2")}@font-face{font-family:Tsanger YuYang;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/tsanger-yuyang/tsanger-yuyang-W03-500.woff2)format("woff2")}:root{--c-bg:#f2f1ee;--c-surface:#fff;--c-surface-2:#ebe8e2;--c-surface-3:#dfdbd3;--c-canvas:#e6e3dd;--c-ink:#161514;--c-ink-2:#5f5b54;--c-line:#e2ded6;--c-line-strong:#c9c3b8;--c-primary:#161514;--c-on-primary:#fff;--c-accent:#9a5b3f;--c-danger:#a23a26;--e-panel:0 1px 2px #0000000f,0 6px 20px #00000014;--e-pop:0 1px 2px #0000000f,0 6px 20px #00000014;--e-modal:0 2px 6px #0000001a,0 18px 40px #00000024;--font:"Tsanger YuYang","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,sans-serif;--t-page:500 28px/1.3 var(--font);--t-title:500 20px/1.4 var(--font);--t-head:500 15px/1.5 var(--font);--t-body:400 14px/1.7 var(--font);--t-small:400 12px/1.55 var(--font);--r-sm:8px;--r-md:12px;--r-lg:16px;--r-pill:999px;--top:60px;--panel-l:320px;--panel-r:340px;--ease:cubic-bezier(.16,1,.3,1);--d-fast:.15s;--d-base:.24s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--c-bg:#121214;--c-surface:#1b1b1e;--c-surface-2:#26262a;--c-surface-3:#323237;--c-canvas:#0c0c0e;--c-ink:#f1f0ec;--c-ink-2:#9d9a93;--c-line:#2c2c30;--c-line-strong:#45454b;--c-primary:#f1f0ec;--c-on-primary:#121214;--c-accent:#e0a184;--c-danger:#f0937e;--e-panel:0 1px 2px #00000040,0 8px 24px #00000059;--e-pop:0 1px 2px #00000040,0 8px 24px #00000059;--e-modal:0 2px 6px #0006,0 18px 40px #00000080;--c-sel:var(--c-surface-3);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--c-bg:#121214;--c-surface:#1b1b1e;--c-surface-2:#26262a;--c-surface-3:#323237;--c-canvas:#0c0c0e;--c-ink:#f1f0ec;--c-ink-2:#9d9a93;--c-line:#2c2c30;--c-line-strong:#45454b;--c-primary:#f1f0ec;--c-on-primary:#121214;--c-accent:#e0a184;--c-danger:#f0937e;--e-panel:0 1px 2px #00000040,0 8px 24px #00000059;--e-pop:0 1px 2px #00000040,0 8px 24px #00000059;--e-modal:0 2px 6px #0006,0 18px 40px #00000080;--c-sel:var(--c-surface-3);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--c-bg)}body{min-width:1024px;font:var(--t-body);color:var(--c-ink);background:var(--c-bg);font-synthesis:none;-webkit-font-smoothing:antialiased;margin:0}button,input,textarea{font:inherit;color:inherit;background:0 0;border:0;margin:0;padding:0}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3,p,ol,ul,dl,dd,figure,blockquote{margin:0}ol,ul{padding:0;list-style:none}img{display:block}svg{flex-shrink:0}small{display:block}[hidden]{display:none!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.num{font-variant-numeric:tabular-nums}.muted{color:var(--c-ink-2)}.small{font:var(--t-small)}:focus-visible{outline:2px solid var(--c-ink);outline-offset:2px}::selection{background:var(--c-ink);color:var(--c-bg)}input,textarea{caret-color:var(--c-ink)}::placeholder{color:var(--c-ink-2);opacity:.85}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--c-surface-3);border-radius:4px}::-webkit-scrollbar-track{background:0 0}.topbar{z-index:20;height:var(--top);background:var(--c-bg);border-bottom:1px solid var(--c-line);align-items:center;gap:28px;padding:0 20px;display:flex;position:sticky;top:0}.brand{white-space:nowrap;align-items:center;gap:10px;font-size:15px;display:flex}.brand b{font-weight:500}.brand-mark{border-radius:var(--r-sm);border:1px dashed var(--c-line-strong);width:32px;height:32px;color:var(--c-ink-2);place-items:center;font-size:11px;display:grid}.topnav{gap:2px;display:flex}.topnav a{white-space:nowrap;border-radius:var(--r-pill);height:36px;color:var(--c-ink-2);transition:background var(--d-fast),color var(--d-fast);flex-shrink:0;align-items:center;gap:6px;padding:0 14px;display:flex}.topnav a:hover{color:var(--c-ink);background:var(--c-surface-2)}.topnav a[aria-current=page]{background:var(--c-surface-2);color:var(--c-ink);font-weight:500}.count{background:var(--c-accent);min-width:18px;height:18px;color:var(--c-bg);font-variant-numeric:tabular-nums;border-radius:9px;place-items:center;padding:0 5px;font-size:11px;display:grid}.topbar__end{align-items:center;gap:8px;margin-left:auto;display:flex}.member{white-space:nowrap;color:var(--c-ink-2);align-items:center;gap:8px;font-size:13px;display:flex}.avatar{background:var(--c-surface-3);width:30px;height:30px;color:var(--c-ink);border-radius:50%;place-items:center;font-size:12px;display:grid}.btn{border-radius:var(--r-pill);white-space:nowrap;height:40px;transition:background var(--d-fast),opacity var(--d-fast);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:500;display:inline-flex}.btn--primary{background:var(--c-primary);color:var(--c-on-primary)}.btn--primary:hover:not(:disabled){opacity:.86}.btn--secondary{background:var(--c-surface);box-shadow:inset 0 0 0 1px var(--c-line-strong)}.btn--secondary:hover:not(:disabled){background:var(--c-surface-2)}.btn--danger{background:var(--c-surface);color:var(--c-danger);box-shadow:inset 0 0 0 1px var(--c-line-strong)}.btn--danger:hover{background:var(--c-surface-2)}.btn--sm{height:32px;padding:0 12px;font-size:13px}.btn--grow{flex:1}.btn--icon{width:40px;padding:0}.icon-btn{width:32px;height:32px;color:var(--c-ink-2);transition:background var(--d-fast),color var(--d-fast);border-radius:50%;place-items:center;display:grid}.icon-btn:hover{background:var(--c-surface-2);color:var(--c-ink)}.text-link{text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--c-line-strong);text-decoration-color:var(--c-line-strong);align-items:center;gap:4px;font-size:13px;display:inline-flex}.text-link:hover{text-decoration-color:currentColor}.back{color:var(--c-ink-2);align-items:center;gap:4px;font-size:13px;display:inline-flex}.back:hover{color:var(--c-ink)}.tag{border-radius:var(--r-sm);background:var(--c-surface-2);height:22px;font:var(--t-small);white-space:nowrap;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.tag--act{color:var(--c-accent);font-weight:500}.tag--act:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.flag{color:var(--c-accent);font:var(--t-small);align-items:center;gap:4px;margin:6px 10px 0 0;font-style:normal;font-weight:500;display:inline-flex}.note{border-radius:var(--r-md);background:var(--c-surface-2);align-items:flex-start;gap:10px;margin-top:12px;padding:12px 14px;font-size:13px;line-height:1.7;display:flex}.note svg{color:var(--c-ink-2);margin-top:3px}.note b{margin-right:6px;font-weight:500}.note--danger svg{color:var(--c-danger)}.note--hint svg{color:var(--c-accent)}.note--ok svg{color:var(--c-ink)}.segmented{border-radius:var(--r-pill);background:var(--c-surface-2);gap:2px;padding:3px;display:flex}.segmented button{border-radius:var(--r-pill);height:30px;color:var(--c-ink-2);white-space:nowrap;transition:background var(--d-fast),color var(--d-fast);flex:1;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:flex}.segmented button small{font-variant-numeric:tabular-nums;font-size:11px}.segmented button[aria-pressed=true],.segmented button[aria-checked=true]{background:var(--c-sel,var(--c-surface));color:var(--c-ink);font-weight:500;box-shadow:0 1px 2px #0000001a}.segmented--wrap{border-radius:var(--r-md);flex-wrap:wrap}.segmented--wrap button{border-radius:var(--r-sm);flex:1 0 30%}.segmented--bare{background:0 0;padding:0}.segmented--bare button[aria-pressed=true]{background:var(--c-surface-2);box-shadow:none}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:var(--r-pill);height:30px;color:var(--c-ink-2);box-shadow:inset 0 0 0 1px var(--c-line-strong);transition:background var(--d-fast),color var(--d-fast);padding:0 12px;font-size:13px}.chip:hover{color:var(--c-ink)}.chip[aria-pressed=true],.chip[aria-checked=true]{background:var(--c-ink);color:var(--c-bg);box-shadow:none}.field{margin-top:16px;display:block}.field>span{font:var(--t-small);color:var(--c-ink-2);margin-bottom:6px;display:block}.input{border-radius:var(--r-sm);background:var(--c-surface);width:100%;height:40px;box-shadow:inset 0 0 0 1px var(--c-line-strong);transition:box-shadow var(--d-fast);outline:0;padding:0 12px;font-size:14px;display:block}textarea.input{resize:none;height:auto;padding:9px 12px;font-size:13px;line-height:1.6}.input:focus{box-shadow:inset 0 0 0 1.5px var(--c-ink)}.panel{background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--e-panel)}.panel__head{justify-content:space-between;align-items:baseline;gap:12px;padding:16px 18px 8px;display:flex}.panel__title{font:var(--t-head)}.panel__body{padding:0 18px 16px}.sect{margin-top:22px}.sect:first-child{margin-top:0}.sect__title{font:var(--t-head);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;font-size:13px;display:flex}.sect__title small{font:var(--t-small);color:var(--c-ink-2)}.kv{gap:1px;padding:5px 0;font-size:13px;line-height:1.6;display:grid}.kv>span{font:var(--t-small);color:var(--c-ink-2)}.kv b{font-weight:400}.feed li{grid-template-columns:84px 1fr;gap:8px;padding:5px 0;font-size:13px;line-height:1.6;display:grid}.feed time{color:var(--c-ink-2);font-variant-numeric:tabular-nums;font-size:12px}.feed q{color:var(--c-ink-2);quotes:"「" "」";margin-top:4px;display:block}.feed .strong{font-weight:500}.sw{vertical-align:-1px;background-size:cover;border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.palette{gap:4px;margin-top:8px;display:flex}.palette i{border-radius:6px;width:20px;height:20px}.empty{text-align:center;color:var(--c-ink-2);padding:48px 0}.empty b{font:var(--t-title);color:var(--c-ink);margin-bottom:6px;display:block}dialog.modal{border-radius:var(--r-lg);background:var(--c-surface);width:min(520px,100% - 48px);max-height:calc(100dvh - 48px);color:var(--c-ink);box-shadow:var(--e-modal);border:0;padding:0;overflow:auto}dialog.modal[open]{animation:modal-in var(--d-base) var(--ease)}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)}}dialog.modal::backdrop{background:#0c0c0e66}.modal-body{padding:24px 24px 20px}.modal-body:focus{outline:0}.modal-body h2{font:var(--t-title)}.modal-body>p{color:var(--c-ink-2);margin-top:8px;font-size:13px}.modal-body h3{font:var(--t-small);color:var(--c-ink-2);margin:18px 0 8px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.once{border-radius:var(--r-md);background:var(--c-surface-2);margin-top:16px}.once div{grid-template-columns:64px 1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.once div+div{border-top:1px solid var(--c-line)}.once dt{font:var(--t-small);color:var(--c-ink-2)}.once code{overflow-wrap:anywhere;font-family:ui-monospace,Menlo,monospace;font-size:12px}.once .code{letter-spacing:.18em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:500}.review-cols{grid-template-columns:repeat(2,1fr);gap:0 24px;display:grid}.review-list button{border-radius:var(--r-sm);text-align:left;justify-content:space-between;align-items:center;width:calc(100% + 16px);height:34px;margin:0 -8px;padding:0 8px;font-size:13px;display:flex}.review-list button:hover{background:var(--c-surface-2)}.toast{z-index:60;opacity:0;border-radius:var(--r-pill);background:var(--c-ink);color:var(--c-bg);pointer-events:none;transition:opacity var(--d-base),transform var(--d-base) var(--ease);padding:10px 16px;font-size:13px;position:fixed;bottom:28px;left:50%;transform:translate(-50%,12px)}.toast.on{opacity:1;transform:translate(-50%)}.bar-progress{background:var(--c-surface-3);border-radius:2px;height:3px;margin-top:14px;overflow:hidden}.bar-progress i{background:var(--c-ink);transform-origin:0;width:100%;height:100%;animation:fill 2.6s var(--ease) forwards;display:block}@keyframes fill{0%{transform:scaleX(0)}}.plan-svg{width:100%;height:auto;display:block}.plan-svg rect{fill:var(--c-surface);stroke:var(--c-ink-2);stroke-width:.4px}.plan-svg line{stroke:var(--c-ink-2);stroke-width:.3px}.plan-svg .on>rect:first-child{fill:var(--c-surface-3);stroke:var(--c-ink)}.plan-svg .pl-wall{fill:var(--c-accent)!important;stroke:none!important}.plan-svg text{fill:var(--c-ink);text-anchor:middle;font-size:3.4px;font-family:var(--font)}.levels{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.levels figcaption{font:var(--t-small);color:var(--c-ink-2);margin-top:6px}.plan-box{border-radius:var(--r-md);background:var(--c-surface-2);padding:12px}.page{max-width:1240px;margin:0 auto;padding:32px 32px 120px}.page__head{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.page__title{font:var(--t-page);letter-spacing:-.01em}.page__sub{color:var(--c-ink-2);margin-top:4px;font-size:14px}.page__grid{gap:16px;margin-top:24px;display:grid}.auth{min-height:calc(100dvh - var(--top));background:var(--c-canvas);position:relative;overflow:hidden}.auth>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.auth .panel{width:400px;padding:28px;position:absolute;top:50%;right:8vw;transform:translateY(-50%)}.auth h1{font:var(--t-page)}.auth .btn{width:100%;margin-top:24px}.auth__caption{border-radius:var(--r-pill);background:var(--c-surface);box-shadow:var(--e-pop);font:var(--t-small);color:var(--c-ink-2);padding:8px 14px;position:absolute;bottom:20px;left:24px}.today{grid-template-columns:repeat(3,minmax(0,1fr))}.todo li a{border-radius:var(--r-md);transition:background var(--d-fast);margin:0 -12px;padding:10px 12px;display:block}.todo li a:hover{background:var(--c-surface-2)}.todo li b{font-weight:500;display:block}.todo li small{font:var(--t-small);color:var(--c-ink-2);margin-top:2px}.todo .none{color:var(--c-ink-2);padding:10px 0;font-size:13px}.recent .feed li{grid-template-columns:96px 1fr}.quick{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;display:grid}.quick__item{border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--e-panel);text-align:left;transition:background var(--d-fast);align-items:center;gap:14px;padding:14px 16px;display:flex}.quick__item:hover{background:var(--c-surface-2)}.quick__item[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px var(--c-ink),var(--e-panel)}.quick__item svg{color:var(--c-ink-2)}.quick__item b{font-variant-numeric:tabular-nums;font-size:22px;font-weight:500;line-height:1.1;display:block}.quick__item small{color:var(--c-ink-2);margin-top:2px;font-size:13px}.list-tools{align-items:center;gap:16px;margin-top:28px;display:flex}.search{border-radius:var(--r-pill);background:var(--c-surface);height:36px;color:var(--c-ink-2);box-shadow:inset 0 0 0 1px var(--c-line);align-items:center;gap:8px;padding:0 12px;display:flex}.search input{width:100%;color:var(--c-ink);outline:0}.list-tools .search{width:260px;margin-left:auto}.topbar .search{width:250px}.table{border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--e-panel);margin-top:16px;padding:6px}.table__head,.table__row{grid-template-columns:84px minmax(0,1.6fr) 110px 90px minmax(0,1.4fr) 20px;align-items:center;gap:16px;padding:10px 12px;display:grid}.table__head{font:var(--t-small);color:var(--c-ink-2);padding-top:12px;padding-bottom:6px}.table__row{border-radius:var(--r-md);cursor:pointer;transition:background var(--d-fast)}.table__row:hover{background:var(--c-surface-2)}.thumb{border-radius:var(--r-sm);background:var(--c-surface-2);width:84px;height:56px;color:var(--c-ink-2);place-items:center;display:grid;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.cell-main b{font-size:15px;font-weight:500}.cell-main small,.cell-event small{font:var(--t-small);color:var(--c-ink-2);margin-top:3px}.cell-event{font-size:13px;line-height:1.5}.follow{color:var(--c-ink-2);font-size:13px}.follow--new{color:var(--c-ink);font-weight:500}.canvas{height:calc(100dvh - var(--top));background:var(--c-canvas);--cx:50%;min-height:620px;position:relative;overflow:hidden}.canvas.has-left{--cx:calc(50% + 168px)}.canvas.has-right{--cx:calc(50% - 178px)}.canvas.has-left.has-right{--cx:calc(50% - 10px)}.stage{position:absolute;inset:0}.stage__img,.stage__3d{object-fit:cover;width:100%;height:100%}.stage__3d{cursor:grab}.stage__3d:active{cursor:grabbing}.stage__3d canvas{width:100%;height:100%;display:block}.stage__plan{color:var(--c-ink-2);place-content:center;justify-items:center;gap:14px;padding:80px 48px 96px;font-size:13px;display:grid;position:absolute;inset:0}.canvas.has-left .stage__plan{padding-left:calc(var(--panel-l) + 48px)}.canvas.has-right .stage__plan{padding-right:calc(var(--panel-r) + 48px)}.stage__plan .levels{width:min(100%,720px)}.stage__plan .plan-box{background:var(--c-surface)}.caption{z-index:3;top:16px;left:var(--cx);border-radius:var(--r-pill);background:var(--c-surface);box-shadow:var(--e-pop);white-space:nowrap;align-items:baseline;gap:10px;max-width:440px;padding:8px 16px;display:flex;position:absolute;overflow:hidden;transform:translate(-50%)}.caption b{font-weight:500}.caption span{font:var(--t-small);color:var(--c-ink-2);text-overflow:ellipsis;overflow:hidden}.toolbar{z-index:4;left:var(--cx);border-radius:var(--r-pill);background:var(--c-surface);box-shadow:var(--e-pop);align-items:center;gap:4px;padding:4px;display:flex;position:absolute;bottom:16px;transform:translate(-50%)}.toolbar__sep{background:var(--c-line);width:1px;height:20px;margin:0 2px}.tool{border-radius:var(--r-pill);min-width:32px;height:32px;color:var(--c-ink-2);transition:background var(--d-fast),color var(--d-fast);justify-content:center;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.tool:hover{color:var(--c-ink)}.tool[aria-pressed=true]{background:var(--c-surface-2);color:var(--c-ink)}.tool--label{padding:0 12px}.tool--label[aria-pressed=true]{background:var(--c-ink);color:var(--c-bg)}.float{z-index:5;border-radius:var(--r-lg);background:var(--c-surface);min-height:0;box-shadow:var(--e-panel);animation:float-in var(--d-base) var(--ease);flex-direction:column;display:flex;position:absolute;top:16px;bottom:16px}@keyframes float-in{0%{opacity:0;transform:translateY(6px)}}.float--left{width:var(--panel-l);left:16px}.float--right{width:var(--panel-r);right:16px}.float__head{padding:16px 16px 12px}.float__head.row{justify-content:space-between;gap:10px;display:flex}.float__title{font:var(--t-head);align-items:center;gap:6px;display:flex}.float__head .muted{font:var(--t-small);flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.float__body{scrollbar-width:thin;flex:1;min-height:0;padding:4px 16px 16px;overflow-y:auto}.float__foot{border-top:1px solid var(--c-line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px 16px;display:flex}.float__foot .hint{font:var(--t-small);color:var(--c-ink-2);flex-basis:100%}.lead-title{font:var(--t-title);margin-top:10px}.float .segmented{margin-top:12px}.schemes{gap:2px;margin:0 -8px;display:grid}.scheme{border-radius:var(--r-md);text-align:left;width:100%;transition:background var(--d-fast);align-items:center;gap:10px;padding:6px 8px;display:flex}.scheme:hover,.scheme[aria-pressed=true]{background:var(--c-surface-2)}.scheme[aria-pressed=true] .scheme__main b{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1.5px}.scheme__thumb{border-radius:var(--r-sm);object-fit:cover;background:var(--c-surface-3);width:60px;height:44px}.scheme__main{flex:1;min-width:0}.scheme__main b{font-weight:500}.scheme__main small{font:var(--t-small);color:var(--c-ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.scheme__meta{font:var(--t-small);color:var(--c-ink-2);white-space:nowrap}.scheme--cand .scheme__thumb{outline:1.5px dashed var(--c-accent);outline-offset:2px}.share{border-top:1px solid var(--c-line);padding:12px 0}.share:first-child{border-top:0;padding-top:0}.share__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.share__head b{font-weight:500}.share p{font:var(--t-small);color:var(--c-ink-2);margin-top:4px}.share .row-actions{gap:8px;margin-top:10px;display:flex}.phone-full{letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:17px}.chat{flex-direction:column;gap:12px;display:flex}.agent-intro{color:var(--c-ink-2);font-size:13px}.agent-prompts{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.agent-prompts .chip{text-align:left;border-radius:var(--r-md);height:auto;min-height:30px;padding:5px 12px}.msg{max-width:94%;font-size:13px;line-height:1.7}.msg--me{border-radius:var(--r-md);background:var(--c-surface-2);align-self:flex-end;padding:8px 12px}.msg--ai{align-self:flex-start}.msg p{margin-top:8px}.msg p:first-child{margin-top:0}.msg .btn{margin-top:10px}.steps li{color:var(--c-ink-2);padding:2px 0 2px 16px;position:relative}.steps li:before{content:"";width:7px;height:7px;box-shadow:inset 0 0 0 1.5px var(--c-line-strong);border-radius:50%;position:absolute;top:10px;left:0}.steps li.done{color:var(--c-ink)}.steps li.done:before{background:var(--c-ink);box-shadow:none}.steps li.now{color:var(--c-ink)}.steps li.now:before{box-shadow:inset 0 0 0 1.5px var(--c-ink);animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}.composer{border-top:1px solid var(--c-line);align-items:flex-end;gap:8px;padding:12px 16px 16px;display:flex}.composer textarea{border-radius:var(--r-md);background:var(--c-surface);box-shadow:inset 0 0 0 1px var(--c-line-strong);resize:none;outline:0;flex:1;padding:9px 12px;font-size:13px;line-height:1.6}.composer textarea:focus{box-shadow:inset 0 0 0 1.5px var(--c-ink)}.action-bar{z-index:15;border-radius:var(--r-pill);background:var(--c-surface);width:min(1176px,100% - 64px);box-shadow:var(--e-pop);align-items:center;gap:10px;padding:8px 8px 8px 20px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.action-bar .hint{color:var(--c-ink-2);margin-right:auto;font-size:13px}.flow{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:16px;margin-top:24px;display:grid}.steps-row{gap:2px;display:grid}.steps-row li{color:var(--c-ink-2);align-items:center;gap:10px;padding:6px 0;font-size:13px;display:flex}.steps-row li i{width:20px;height:20px;box-shadow:inset 0 0 0 1.5px var(--c-line-strong);color:var(--c-bg);border-radius:50%;place-items:center;font-style:normal;display:grid}.steps-row li[data-s=done]{color:var(--c-ink)}.steps-row li[data-s=done] i{background:var(--c-ink);box-shadow:none}.steps-row li[data-s=now]{color:var(--c-ink);font-weight:500}.steps-row li[data-s=now] i{box-shadow:inset 0 0 0 6px var(--c-ink)}.review-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.review-card{overflow:hidden}.review-card img{aspect-ratio:4/3;object-fit:cover;background:var(--c-surface-2);width:100%}.review-card .panel__body{padding-top:12px}.review-card b{font:var(--t-head)}.review-card p{font:var(--t-small);color:var(--c-ink-2);margin-top:2px}.hint-lines{gap:8px;margin-top:10px;display:grid}.hint-line{font:var(--t-small);color:var(--c-ink-2);align-items:flex-start;gap:8px;display:flex}.hint-line svg{color:var(--c-ink-2);margin-top:2px}.hint-line b{color:var(--c-ink);margin-right:4px;font-weight:500}.hint-line--hint svg{color:var(--c-accent)}.hint-line--danger svg{color:var(--c-danger)}.drop{border-radius:var(--r-md);border:1.5px dashed var(--c-line-strong);text-align:center;color:var(--c-ink-2);justify-items:center;gap:6px;padding:32px;display:grid}.drop b{color:var(--c-ink);font-weight:500}.drop .row-actions{gap:8px;margin-top:10px;display:flex}.compose{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:16px;margin-top:24px;display:grid}.facet-pick{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.facet{border-radius:var(--r-md);text-align:left;width:calc(100% + 16px);transition:background var(--d-fast);align-items:center;gap:12px;margin:0 -8px;padding:8px;display:flex}.facet:hover{background:var(--c-surface-2)}.facet b{font-weight:500}.facet small{font:var(--t-small);color:var(--c-ink-2)}.check{width:20px;height:20px;box-shadow:inset 0 0 0 1.5px var(--c-line-strong);color:#0000;border-radius:6px;flex-shrink:0;place-items:center;display:grid}.facet[aria-pressed=true] .check{background:var(--c-ink);color:var(--c-bg);box-shadow:none}.stone-grid{grid-template-columns:repeat(6,1fr);gap:14px;display:grid}.stone-pick{text-align:left;font-size:13px;position:relative}.stone-pick img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-md);width:100%;transition:box-shadow var(--d-fast);margin-bottom:6px}.stone-pick[aria-pressed=true] img{box-shadow:0 0 0 2px var(--c-surface),0 0 0 4px var(--c-ink)}.stone-pick i{background:var(--c-ink);width:22px;height:22px;color:var(--c-bg);border-radius:50%;place-items:center;font-size:12px;font-style:normal;display:grid;position:absolute;top:8px;left:8px}.catalog{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.cat-card{grid-template-columns:96px 1fr;gap:16px;padding:14px;display:grid}.cat-card img,.cat-card .soft-swatch{border-radius:var(--r-md);object-fit:cover;width:96px;height:120px}.cat-card b{font:var(--t-head)}.cat-card dl{font:var(--t-small);grid-template-columns:auto 1fr;gap:2px 10px;margin-top:8px;display:grid}.cat-card dt{color:var(--c-ink-2)}.cat-card.retired{opacity:.6}.soft-swatch{grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.soft-swatch i{display:block}@media (max-width:1180px){:root{--panel-l:300px;--panel-r:320px}.topbar{gap:16px}.topbar .search{width:180px}.member__name{display:none}.canvas.has-left{--cx:calc(50% + 158px)}.canvas.has-right{--cx:calc(50% - 168px)}.today{grid-template-columns:1fr 1fr}.table__head,.table__row{grid-template-columns:72px minmax(0,1.6fr) 100px 80px minmax(0,1.2fr) 20px;gap:12px}.stone-grid{grid-template-columns:repeat(4,1fr)}.catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.review-grid{grid-template-columns:repeat(2,1fr)}.compose,.flow{grid-template-columns:280px minmax(0,1fr)}.facet-pick{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.plan-svg .pl-room{fill:var(--c-surface);stroke:var(--c-line-strong);stroke-width:.5px}.plan-svg .on .pl-room{fill:var(--c-surface-3)}.plan-svg .pl-area{fill:var(--c-ink);fill-opacity:.16;stroke:var(--c-ink);stroke-width:.6px}.plan-svg .pl-stair{fill:none;stroke:var(--c-line-strong);stroke-width:.5px;stroke-dasharray:1.5 1}.plan-svg .pl-stair.on{stroke:var(--c-ink);stroke-dasharray:none;stroke-width:.8px}.plan-svg .pl-wall{stroke:var(--c-ink);stroke-width:1.6px;stroke-linecap:round}.plan-svg text{font:4px var(--font);fill:var(--c-ink-2);text-anchor:middle}.stone-pick .swatch__img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-md);width:100%;transition:box-shadow var(--d-fast);margin-bottom:6px}.stone-pick[aria-pressed=true] .swatch__img{box-shadow:0 0 0 2px var(--c-surface),0 0 0 4px var(--c-ink)}.once .code{font-family:ui-monospace,Menlo,monospace}.once p{color:var(--c-ink-2);grid-column:1/-1;font-size:13px}@media (max-width:1180px){.facet-pick{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.stone-grid{grid-template-columns:repeat(5,1fr)}}.stage__3d,.stage__viewer{position:absolute;inset:0}.stage__viewer canvas{cursor:grab;width:100%;height:100%;display:block}.stage__viewer canvas:active{cursor:grabbing}.stage__msg{left:var(--cx);border-radius:var(--r-pill);background:var(--c-surface);box-shadow:var(--e-pop);font:var(--t-small);color:var(--c-ink-2);padding:8px 16px;position:absolute;top:50%;transform:translate(-50%,-50%)}.stage__presets{z-index:4;left:var(--cx);scrollbar-width:none;justify-content:safe center;gap:6px;max-width:60%;padding:4px 2px;display:flex;position:absolute;bottom:64px;overflow-x:auto;transform:translate(-50%)}.stage__presets::-webkit-scrollbar{display:none}.stage__presets .media-tag{flex-shrink:0}[data-rail]{-webkit-mask-image:var(--rail-mask);-webkit-mask-image:var(--rail-mask);mask-image:var(--rail-mask);cursor:grab}[data-rail][data-more-end]{--rail-mask:linear-gradient(to right,#000 calc(100% - 40px),transparent)}[data-rail][data-more-start]{--rail-mask:linear-gradient(to right,transparent,#000 40px)}[data-rail][data-more-start][data-more-end]{--rail-mask:linear-gradient(to right,transparent,#000 40px,#000 calc(100% - 40px),transparent)}.media-tag{border-radius:var(--r-pill);background:var(--c-surface);height:28px;box-shadow:var(--e-pop);font:var(--t-small);color:var(--c-ink-2);align-items:center;gap:6px;padding:0 12px;display:inline-flex}.media-tag[aria-pressed=true]{background:var(--c-ink);color:var(--c-bg)}.scheme__thumb{flex-shrink:0;display:block}.chev{color:var(--c-ink-2)}.schemes>li{min-width:0}.thumb{width:100%;max-width:84px}.list-tools .chips{flex-wrap:nowrap}.list-tools .search{flex:0 260px;width:auto;min-width:160px}@media (max-width:1180px){.list-tools{gap:10px}.list-tools .chip,.list-tools .segmented button{padding:0 10px}}.page-loading{text-align:center;color:var(--c-ink-2);padding:96px 0}.brand-mark--initial{border-style:solid;border-color:var(--c-line);color:var(--c-ink);font-size:14px}.auth .panel .note{margin-top:16px}.today-empty{color:var(--c-ink-2);padding:4px 0 2px;font-size:13px}.stage__labels{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.room-label{pointer-events:auto;border-radius:var(--r-sm);color:#2b2925;height:24px;font:var(--t-small);white-space:nowrap;box-shadow:var(--e-pop);background:#fffdf8;padding:0 10px;font-size:12px;line-height:24px;position:absolute;top:0;left:0}.room-label[aria-pressed=true]{color:#fff;background:#161514}.stage__room{z-index:4;left:var(--cx);border-radius:var(--r-md);background:var(--c-surface);max-width:min(520px,60%);color:var(--c-ink);box-shadow:var(--e-pop);align-items:center;gap:12px;padding:10px 10px 10px 16px;display:flex;position:absolute;bottom:104px;transform:translate(-50%)}.stage__room-text{flex:1;gap:2px;min-width:0;display:grid}.stage__room-text b{font:var(--t-head)}.stage__room-text small{font:var(--t-small);color:var(--c-ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stage__room-enter{border-radius:var(--r-pill);background:var(--c-primary);height:32px;color:var(--c-on-primary);font:var(--t-small);flex-shrink:0;padding:0 14px}.room-label.room-label--dot{background:#5f5b54;border:2px solid #fffdf8;border-radius:50%;width:12px;height:12px;padding:0}.room-label.room-label--dot span{display:none}.room-label.room-label--dot[aria-pressed=true]{background:#161514}.room-label.room-label--dot:after{content:"";position:absolute;inset:-12px}.caption{overflow:visible}.caption span{min-width:0}.caption__info{font:var(--t-small);color:var(--c-ink-2);align-items:center;gap:4px;display:inline-flex}.caption__info:hover{color:var(--c-ink)}.scheme-info{position:relative}.scheme-info__card{z-index:6;border-radius:var(--r-md);background:var(--c-surface);width:340px;color:var(--c-ink);box-shadow:var(--e-pop);white-space:normal;text-align:left;gap:6px;padding:14px 16px;display:grid;position:absolute;top:calc(100% + 12px);right:-16px}.scheme-info__card b{font:var(--t-head)}.scheme-info__card p{font:var(--t-small);color:var(--c-ink-2)}.scheme-info__trace{font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;font-size:12px!important}.scheme-info__card small{font:var(--t-small);color:var(--c-ink-2);font-size:12px}.stage__loading{border-radius:16px;justify-items:center;gap:12px;padding:16px 22px;display:grid}.stage__spinner{border:2.5px solid var(--c-line);border-top-color:var(--c-ink);border-radius:50%;width:24px;height:24px;animation:.9s linear infinite stage-spin}.stage__progress{background:var(--c-line);border-radius:2px;width:160px;height:3px;overflow:hidden}.stage__progress i{background:var(--c-ink);transform-origin:0;height:100%;transition:transform .3s;display:block}@keyframes stage-spin{to{transform:rotate(1turn)}}.stage__light{z-index:4;position:absolute;top:72px;right:16px}.canvas.has-right .stage__light{right:calc(var(--panel-r) + 32px)}
