body.efs-locked #efs-publish-root,body.efs-locked #efs-project-layer{display:none}.login{z-index:900;min-height:100%;color:var(--text);font-family:var(--body);-webkit-tap-highlight-color:transparent;grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0;overflow:hidden auto}.login-backdrop{background:radial-gradient(1100px 700px at 70% 36%,#007acc2b,#0000 62%),radial-gradient(800px 520px at 12% 108%,#4da8ea12,#0000 60%),linear-gradient(#13161a 0%,#0d0f11 100%);position:fixed;inset:0}.login-canvas{width:100%;height:100%;animation:1.2s both login-fade;display:block;position:fixed;inset:0}.login-vignette{pointer-events:none;background:radial-gradient(85% 75% at 50% 45%,#0000 55%,#06080a99);position:fixed;inset:0}.login.no-gl .login-canvas{display:none}.login-top,.login-main,.login-foot{z-index:1;position:relative}.login-top{padding:max(12px, env(safe-area-inset-top)) 16px 0;justify-content:space-between;align-items:center;gap:12px;display:flex}.login-brand{min-height:44px;color:var(--text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.login-brand-name{font-family:var(--display);letter-spacing:.01em;font-size:15.5px;font-weight:650}.login-lang{border:1px solid var(--line-2);height:40px;color:var(--text-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#0e10128c;border-radius:10px;align-items:center;gap:6px;padding:0 6px 0 12px;display:inline-flex}.login-lang:focus-within{border-color:var(--blue)}.login-lang select{appearance:none;height:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;outline:0;padding:0 8px 0 2px;font-size:14px}.login-lang option{background:var(--g-850);color:var(--text)}.login-main{justify-content:center;align-items:flex-end;padding:34vh 16px 12px;display:flex}.login-card{-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);background:linear-gradient(#262b31bd,#14171ad1);border:1px solid #ffffff17;border-radius:20px;width:min(420px,100%);padding:24px 20px 20px;animation:.7s cubic-bezier(.2,.8,.2,1) both login-card-in;position:relative;box-shadow:inset 0 1px #ffffff0f,0 30px 80px -30px #000000e6}.login-card:before{content:"";background:linear-gradient(90deg,#0000,#4da8eae6,#0000);height:1px;position:absolute;top:-1px;left:24px;right:24px}.login-step{gap:14px;animation:.45s cubic-bezier(.2,.8,.2,1) both login-step-in;display:grid}.login-title{font-family:var(--display);letter-spacing:-.01em;color:#e9edf0;margin:0;font-size:27px;font-weight:700;line-height:1.15}.login-tagline{font-family:var(--display);color:var(--blue-text);margin:-6px 0 0;font-size:14.5px;font-weight:500}.login-notice{color:#b9dcf6;background:#007acc1f;border:1px solid #007acc4d;border-radius:10px;margin:-4px 0 0;padding:10px 12px;font-size:13.5px}.login-lead{color:var(--text-2);margin:0;font-size:14.5px;line-height:1.55}.login-lead strong{color:var(--text);overflow-wrap:anywhere;font-weight:600}.login-field{gap:7px;display:grid}.login-label{letter-spacing:.02em;color:var(--text-2);font-size:12.5px;font-weight:500}.login-input{border:1px solid var(--line-2);height:50px;color:var(--text-3);background:#0c0e10b8;border-radius:12px;align-items:center;gap:10px;padding:0 14px;transition:border-color .15s,box-shadow .15s,color .15s;display:flex}.login-input:focus-within{border-color:var(--blue);color:var(--blue-text);box-shadow:0 0 0 4px #007acc33}.login-input.is-invalid{border-color:#e5676bcc}.login-input input{min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:16px}.login-input input::placeholder{color:var(--text-3)}.login-primary{color:#f2f8fd;min-height:50px;font-family:var(--display);letter-spacing:.01em;cursor:pointer;background:linear-gradient(#0a8be3,#007acc);border:0;border-radius:12px;justify-content:center;align-items:center;gap:9px;padding:0 18px;font-size:15.5px;font-weight:650;text-decoration:none;transition:filter .15s,transform 80ms,opacity .15s;display:flex;box-shadow:inset 0 1px #ffffff2e,0 14px 30px -14px #007accf2}.login-primary:hover:not(:disabled){filter:brightness(1.08)}.login-primary:active:not(:disabled){transform:translateY(1px)}.login-primary:disabled{opacity:.5;cursor:default;box-shadow:none}.login-primary:focus-visible,.login-back:focus-visible,.login-link:focus-visible,.login-aside a:focus-visible{outline:2px solid var(--blue-text);outline-offset:2px}.login-error{opacity:0;color:#f2a3a6;align-items:flex-start;gap:8px;max-height:0;margin:-4px 0 -6px;font-size:13.5px;line-height:1.45;transition:max-height .25s,opacity .2s,margin .25s;display:flex;overflow:hidden}.login-error.is-shown{opacity:1;max-height:90px;margin:0}.login-error svg{flex-shrink:0;margin-top:2px}.login-aside{color:var(--text-2);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 6px;margin:0;font-size:13.5px;display:flex}.login-aside a,.login-link{min-height:40px;color:var(--blue-text);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0 4px;font-weight:500;text-decoration:none;display:inline-flex}.login-aside a:hover,.login-link:hover:not(:disabled){text-underline-offset:3px;text-decoration:underline}.login-link:disabled{color:var(--text-3);cursor:default}.login-resend{flex-direction:column;gap:0}.login-muted{color:var(--text-3);align-items:center;min-height:24px;font-size:13px;display:inline-flex}.login-resend .login-muted:first-child{min-height:40px}.login-back{max-width:100%;min-height:40px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-self:start;align-items:center;gap:6px;margin:-10px 0 -4px -10px;padding:0 12px 0 8px;font-size:13.5px;display:inline-flex}.login-back:hover{color:var(--text);background:#ffffff0d}.login-badge{border-radius:16px;place-items:center;width:52px;height:52px;display:grid}.login-badge.is-warn{color:#f1b65a;background:#f0b4501f;border:1px solid #f0b45052}.login-badge.is-ok{color:#cfe7fa;background:#007acc2e;border:1px solid #4da8ea80;animation:.55s cubic-bezier(.2,1.4,.4,1) both login-pop;box-shadow:0 0 40px -6px #007acccc}.login-welcome{text-align:center;justify-items:center;padding:18px 0 10px}.code{position:relative}.code-input{z-index:1;color:#0000;caret-color:#0000;opacity:0;cursor:text;background:0 0;border:0;outline:0;width:100%;height:100%;padding:0;font-size:16px;position:absolute;inset:0}.code-boxes{gap:7px;display:flex}.code-box{border:1px solid var(--line-2);min-width:0;height:58px;font-family:var(--mono);color:#eef3f7;background:#0c0e10b8;border-radius:12px;flex:1;place-items:center;font-size:26px;font-weight:500;transition:border-color .12s,box-shadow .12s,background .12s,transform .12s;display:grid}.code-box.is-split{margin-left:6px}.code-box.is-filled{background:#007acc1a;border-color:#4da8ea73;animation:.16s ease-out code-in}.code-box.is-caret{border-color:var(--blue);box-shadow:0 0 0 4px #007acc33}.code-box.is-caret:empty:after{content:"";background:var(--blue-text);border-radius:1px;width:2px;height:26px;animation:1.05s steps(2,start) infinite code-blink}.code.is-invalid .code-box{border-color:#e5676bbf}.code.is-disabled .code-box{opacity:.6}.login-shake{animation:.42s cubic-bezier(.36,.07,.19,.97) both login-shake}.login-foot{padding:0 16px max(10px, env(safe-area-inset-bottom));color:var(--text-3);flex-wrap:wrap;justify-content:center;align-items:center;gap:0 14px;font-size:12.5px;display:flex}.login-foot nav{flex-wrap:wrap;justify-content:center;display:flex}.login-foot a{min-height:40px;color:var(--text-3);align-items:center;padding:0 8px;text-decoration:none;display:inline-flex}.login-foot a:hover{color:var(--text)}.login-dev{font-family:var(--mono);border:1px dashed var(--line-2);background:#ffffff08;border-radius:6px;padding:3px 8px;font-size:11px}.login-dev a{min-height:0;padding:0;display:inline}.login.is-leaving{pointer-events:none}.login.is-fading{opacity:0;transition:opacity .75s}.login.is-fading .login-card{transition:transform .75s;transform:translateY(-10px)scale(.98)}.login.is-over-app .login-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0c0eb8}.login.is-over-app .login-canvas,.login.is-over-app .login-vignette{display:none}.login.is-over-app .login-main{align-items:center;padding-top:16px}.login-splash{color:var(--blue-text);background:#0e1012;place-content:center;justify-items:center;gap:18px;animation:.4s .35s both login-fade;display:grid;position:fixed;inset:0}.acc-spin{animation:.8s linear infinite acc-spin}@media (width>=560px){.login-card{padding:32px 30px 26px}.login-title{font-size:30px}.login-main{padding-top:30vh}.code-boxes{gap:9px}.code-box{height:62px}}@media (width>=900px) and (aspect-ratio>=21/20){.login-top{padding:22px 32px 0}.login-main{justify-content:flex-start;align-items:center;padding:24px clamp(40px,7vw,140px)}.login-foot{justify-content:flex-start;padding:0 clamp(32px,7vw,132px) 16px}}@keyframes login-fade{0%{opacity:0}}@keyframes login-card-in{0%{opacity:0;transform:translateY(18px)scale(.985)}}@keyframes login-step-in{0%{opacity:0;transform:translate(14px)}}@keyframes login-pop{0%{opacity:0;transform:scale(.6)}}@keyframes login-shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-7px)}40%,60%{transform:translate(7px)}}@keyframes code-in{0%{transform:scale(.92)}}@keyframes code-blink{to{visibility:hidden}}@keyframes acc-spin{to{transform:rotate(360deg)}}.acct{display:flex;position:relative}.acct-avatar{color:#f2f8fd;width:32px;height:32px;font-family:var(--display);letter-spacing:.04em;cursor:pointer;background:linear-gradient(160deg,#0a8be3,#005d9b);border:1px solid #4da8ea80;border-radius:50%;flex-shrink:0;place-items:center;padding:0;font-size:12px;font-weight:650;transition:box-shadow .15s;display:grid;position:relative}button.acct-avatar:hover,.acct-avatar.is-open{box-shadow:0 0 0 3px #007acc47}.acct-avatar.is-large{cursor:default;width:44px;height:44px;font-size:15.5px}.acct-dot{border:2px solid var(--g-900);background:#f1b65a;border-radius:50%;width:11px;height:11px;position:absolute;bottom:-2px;right:-2px}.acct-dot.is-offline{background:var(--text-3)}.acct-panel{z-index:60;background:var(--g-850);border:1px solid var(--line-2);border-radius:14px;gap:6px;width:310px;padding:8px;animation:.14s ease-out acct-in;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 24px 60px -16px #000000eb}@keyframes acct-in{0%{opacity:0;transform:translateY(-4px)}}.acct-head{align-items:center;gap:12px;padding:8px 8px 4px;display:flex}.acct-who{min-width:0}.acct-name{font-family:var(--display);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:650;overflow:hidden}.acct-email{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.acct-status{border-radius:10px;align-items:center;gap:8px;margin:0 4px;padding:8px 10px;font-size:12.5px;line-height:1.35;display:flex}.acct-status svg{flex-shrink:0}.acct-status.is-ok{color:#9fd0f4;background:#007acc1a;border:1px solid #007acc47}.acct-status.is-alert{color:#f1c37a;background:#f0b45014;border:1px solid #f0b45047}.acct-note{color:var(--text-2);align-items:flex-start;gap:7px;margin:0 8px;font-size:12px;display:flex}.acct-note svg{flex-shrink:0;margin-top:1px}.acct-muted{color:var(--text-3)}.acct-items{gap:1px;padding-top:2px;display:grid}.acct-sep{border-top:1px solid var(--line);margin-top:2px;padding-top:6px}.acct-item{min-height:38px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;padding:0 10px;font-size:13.5px;text-decoration:none;display:flex}.acct-item:hover{background:var(--blue-soft)}.acct-item>svg{color:var(--text-2);flex-shrink:0}.acct-item>span{flex:1}.acct-item.is-quiet>svg{color:var(--text-3)}.acct-lang select{border:1px solid var(--line);background:var(--g-950);height:28px;color:var(--text);font:inherit;border-radius:6px;padding:0 6px;font-size:12.5px}.save-chip{min-width:0;height:30px;color:var(--text-3);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;flex-shrink:1;align-items:center;gap:7px;margin-left:-8px;padding:0 10px;font-size:12.5px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.save-chip svg{flex-shrink:0}@media (width>=1440px){.save-chip{flex-shrink:0;max-width:240px}}.save-chip-text{text-overflow:ellipsis;overflow:hidden}.save-chip:hover{background:var(--g-800);color:var(--text-2)}.save-chip.is-saved{cursor:default}.save-chip.is-saved svg,.save-chip.is-saving{color:var(--blue-text)}.save-chip.is-saving .save-chip-text{color:var(--text-2)}.save-chip.is-unsaved,.save-chip.is-new{color:var(--text-2);border-color:var(--line-2)}.save-chip.is-unsaved svg,.save-chip.is-new svg{color:var(--blue-text)}.save-chip.is-offline{color:#f1c37a;border-color:#f0b4504d}.save-chip.is-error{color:#f2a3a6;border-color:#e5676b59}.pb-backdrop{z-index:120;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#06080a99;place-items:center;padding:24px;animation:.14s ease-out login-fade;display:grid;position:fixed;inset:0}.pb{background:var(--g-850);border:1px solid var(--line-2);width:min(1080px,100%);height:min(780px,100%);color:var(--text);border-radius:16px;grid-template-rows:auto auto auto minmax(0,1fr);animation:.2s cubic-bezier(.2,.8,.2,1) pb-in;display:grid;overflow:hidden;box-shadow:0 40px 100px -30px #000000f2}@keyframes pb-in{0%{opacity:0;transform:translateY(10px)scale(.99)}}.pb-head{color:var(--blue-text);align-items:center;gap:10px;padding:14px 12px 12px 20px;display:flex}.pb-head h2{font-family:var(--display);color:var(--text);margin:0;font-size:19px;font-weight:700}.pb-count{font-family:var(--mono);color:var(--text-3);font-size:11.5px}.pb-close{width:40px;height:40px;margin-left:auto}.pb-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:0 20px 14px;display:flex}.pb-tabs{background:var(--g-950);border:1px solid var(--line);border-radius:10px;padding:3px;display:flex}.pb-tabs button{height:32px;color:var(--text-2);white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:0 14px;font-size:13px;font-weight:500}.pb-tabs button.is-active{background:var(--g-750);color:var(--text);box-shadow:inset 0 1px #ffffff0d}.pb-search{background:var(--g-950);border:1px solid var(--line);min-width:0;height:38px;color:var(--text-3);border-radius:10px;flex:220px;align-items:center;gap:8px;padding:0 12px;display:flex}.pb-search:focus-within{border-color:var(--blue);color:var(--blue-text)}.pb-search input{min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:14px}.pb-sort{border:1px solid var(--line);appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%2370767e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center, var(--g-950);max-width:100%;height:38px;color:var(--text-2);font:inherit;cursor:pointer;border-radius:10px;padding:0 28px 0 12px;font-size:13px}.pb-actions{gap:8px;margin-left:auto;display:flex}.pb-btn{height:38px}.btn-ghost.pb-btn{padding:0 12px;font-size:13px}.pb-banner{color:#f1c37a;background:#f0b45014;border:1px solid #f0b45040;border-radius:10px;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:12px 20px 0;padding:6px 6px 6px 12px;font-size:13px;display:flex}.pb-banner .login-link{margin-left:auto}.pb-note{color:var(--text-3);margin:12px 20px 0;font-size:12.5px}.pb-body{overscroll-behavior:contain;min-height:0;padding:18px 20px 24px;overflow-y:auto}.pb-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.pb-card{background:var(--g-800);border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;transition:border-color .15s,transform .15s,box-shadow .15s;display:grid;position:relative}.pb-card:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:0 16px 34px -20px #000000f2}.pb-card.is-current{border-color:#007acc99;box-shadow:0 0 0 1px #007acc4d}.pb-open{cursor:pointer;background:0 0;border:0;border-radius:11px 11px 0 0;grid-column:1/-1;padding:0;display:block;overflow:hidden}.pb-open:focus-visible{outline:2px solid var(--blue-text);outline-offset:-2px}.pb-thumb{aspect-ratio:16/10;color:var(--text-3);background:radial-gradient(at 50% 120%,#2f353c,#1b1e22);place-items:center;display:grid;position:relative;overflow:hidden}.pb-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.pb-card:hover .pb-thumb img{transform:scale(1.035)}.pb-thumb-busy{color:var(--blue-text);background:#0e10128c;place-items:center;display:grid;position:absolute;inset:0}.pb-info{align-content:start;gap:3px;min-width:0;padding:10px 2px 12px 12px;display:grid}.pb-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.pb-meta{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.pb-badges{flex-wrap:wrap;gap:6px;margin-top:3px;display:flex}.pb-badges:empty{display:none}.pb-badge{background:var(--blue-soft);color:var(--blue-text);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid #007acc59;border-radius:999px;padding:1px 8px;font-size:10px}.pb-badge.is-warn{color:#f1b65a;background:#f0b4501a;border-color:#f0b45052}.pb-rename{border:1px solid var(--blue);background:var(--g-950);width:100%;height:30px;color:var(--text);font:inherit;border-radius:6px;outline:0;padding:0 8px;font-size:13.5px}.pb-more{align-self:start;padding:6px 6px 0 0;position:relative}.pb-more .icon-btn{width:36px;height:36px}.pb-menu{z-index:5;background:var(--g-850);border:1px solid var(--line-2);border-radius:10px;gap:1px;min-width:190px;padding:5px;animation:.12s ease-out acct-in;display:grid;position:absolute;top:44px;right:6px;box-shadow:0 18px 44px -14px #000000e6}.pb-menu button{min-height:36px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:0 10px;font-size:13px;display:flex}.pb-menu button svg{color:var(--text-2)}.pb-menu button:hover{background:var(--blue-soft)}.pb-menu button.is-danger:hover{color:var(--danger);background:#e5676b1f}.pb-menu button.is-danger:hover svg{color:var(--danger)}.pb-card.is-skeleton{pointer-events:none;display:block}.pb-card.is-skeleton .pb-thumb,.pb-line{background:linear-gradient(90deg,#22262b 0%,#2c3137 50%,#22262b 100%) 0 0/200% 100%;animation:1.3s ease-in-out infinite pb-shimmer}.pb-card.is-skeleton .pb-thumb{border-radius:11px 11px 0 0}.pb-line{border-radius:4px;height:10px;margin:12px 12px 0;display:block}.pb-line.is-short{width:45%;margin-bottom:14px}@keyframes pb-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.pb-empty{text-align:center;color:var(--text-2);justify-items:center;gap:10px;padding:56px 16px;display:grid}.pb-empty h3{font-family:var(--display);color:var(--text);margin:4px 0 0;font-size:17px;font-weight:650}.pb-empty p{max-width:420px;color:var(--text-3);margin:0;font-size:13.5px;line-height:1.5}.pb-empty-art{background:var(--blue-soft);width:74px;height:74px;color:var(--blue-text);border:1px solid #007acc4d;border-radius:22px;place-items:center;display:grid}.pb-confirm{z-index:130;background:#06080a80;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.pb-confirm-card{background:var(--g-850);border:1px solid var(--line-2);border-radius:14px;gap:10px;width:min(400px,100%);padding:20px;animation:.16s ease-out pb-in;display:grid;box-shadow:0 30px 80px -24px #000000f2}.pb-confirm-card h3{font-family:var(--display);overflow-wrap:anywhere;margin:0;font-size:16.5px;font-weight:650}.pb-confirm-card p{color:var(--text-2);margin:0}.pb-confirm-buttons{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.pb-confirm-buttons .btn{height:38px;padding:0 14px;font-size:13.5px}@media (width<=720px){.topbar:has(.acct){gap:4px;padding:0 6px 0 8px}.topbar:has(.acct) .lang-select{display:none}.topbar:has(.acct)>.panel-toggle-btn:first-child{display:none}.topbar:has(.acct) .brand{display:none}.topbar:has(.acct) .btn-group .icon-btn+.icon-btn{display:none}.topbar:has(.acct) .topbar-actions{gap:4px;min-width:0}.topbar:has(.acct) .btn-menu{gap:4px;padding:0 8px}.topbar:has(.acct) .split-btn>.btn-primary{padding:0 10px}.topbar:has(.acct) .split-btn>.btn-primary span{display:none}.topbar:has(.acct) .split-btn .menu .btn-split{padding:0 7px}.acct-avatar{width:40px;height:40px;font-size:13.5px}.acct-panel{width:auto;max-height:calc(100dvh - 70px);position:fixed;top:58px;left:8px;right:8px;overflow-y:auto}.acct-item{min-height:46px;font-size:15px}.acct-lang select{height:36px;font-size:15px}.acct-item kbd{display:none}.save-chip{flex-shrink:0;justify-content:center;width:40px;height:40px;margin:0;padding:0}.save-chip-text{display:none}.pb-backdrop{padding:0}.pb{border:0;border-radius:0;width:100%;height:100%}.pb-head{padding:max(8px, env(safe-area-inset-top)) 8px 8px 16px}.pb-bar{gap:8px;padding:0 16px 12px}.pb-tabs{flex:100%}.pb-tabs button{flex:1;height:36px}.pb-search{flex:1 1 0;height:44px}.pb-search input{font-size:16px}.pb-sort{flex:0 42%;height:44px;font-size:14px}.pb-actions{flex:100%;margin-left:0}.pb-actions .pb-btn{flex:1;justify-content:center;height:44px;font-size:14px}.pb-banner,.pb-note{margin-left:16px;margin-right:16px}.pb-body{padding:14px 16px calc(24px + env(safe-area-inset-bottom))}.pb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pb-card:hover{transform:none}.pb-info{padding:8px 0 10px 10px}.pb-more{padding:4px 2px 0 0}.pb-more .icon-btn{width:40px;height:40px}.pb-menu{top:46px;right:2px}.pb-menu button{min-height:44px;font-size:14.5px}.pb-rename{height:36px;font-size:16px}.pb-confirm-buttons .btn,.acc-modal .efs-modal-foot .btn{height:44px}}@media (width<=520px){.acc-modal .efs-modal-foot{flex-direction:column-reverse}.acc-modal .efs-modal-foot .btn{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.login-card,.login-step,.login-canvas,.login-badge.is-ok,.code-box.is-filled,.pb,.pb-card,.pb-backdrop{transition:none;animation:none}.code-box.is-caret:empty:after,.pb-card.is-skeleton .pb-thumb,.pb-line{animation:none}}.login-beta{color:var(--text-3);align-items:baseline;gap:8px;margin:0;font-size:12.5px;line-height:1.5;display:flex}.login-beta .badge{flex-shrink:0}.sidebar-right .prop-row{min-height:var(--field-h);grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:10px}.sidebar-right .prop-label{text-align:left;color:var(--text-2);overflow-wrap:anywhere;line-height:1.25}.sidebar-right .prop-row-wide{grid-template-columns:1fr;gap:6px;min-height:0}.sidebar-right .prop-row-text{grid-template-columns:minmax(0,42%) minmax(0,1fr)}.sidebar-right .panel-body{gap:8px;padding:12px}.ins-heading,.sidebar-right .prop-subhead{font-family:var(--display);letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:8px;margin:8px 0 0;font-size:10.5px;font-weight:600;display:flex}.ins-heading:after,.sidebar-right .prop-subhead:after{content:"";background:var(--line);flex:1;height:1px}.ins-heading:first-child,.sidebar-right .panel-body>.prop-subhead:first-child{margin-top:0}.ins-heading-aside{font-family:var(--mono);letter-spacing:0;text-transform:none;color:var(--text-3);order:3;font-weight:400}.field-number.has-prefix{justify-content:flex-start;gap:2px;padding:0 7px 0 0}.field-prefix{min-width:18px;height:100%;font-family:var(--display);color:var(--text-3);cursor:ew-resize;flex:none;place-items:center;padding:0 1px 0 5px;font-size:11px;font-weight:600;transition:color .12s;display:grid}.field-number:hover .field-prefix{color:var(--blue-text)}.field-number.is-compact .field-value{text-overflow:ellipsis;white-space:nowrap;text-align:right;flex:1;min-width:0;overflow:hidden}.field-number.is-mixed .field-value{color:var(--text-3)}.field-edit{background:var(--g-950);border-color:var(--blue);align-items:center;display:flex}.field-edit .field-prefix{color:var(--blue-text)}.field-input-bare{text-align:right;background:0 0;border:0;flex:1;min-width:0;height:100%;padding:0 8px 0 0}.field-input-bare:focus{outline:none}.sidebar-right .field-number{touch-action:pan-y}.checkbox.is-mixed .checkbox-box{background:var(--blue-soft);border-color:var(--blue)}.checkbox-dash{background:var(--blue-text);border-radius:1px;width:9px;height:2px}.ins-group-fields{gap:4px;display:grid}.prop-mini{min-width:0}.vchoice-wrap{gap:6px;min-width:0;display:grid}.vchoice{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:4px;display:grid}.vchoice-tile{border:1px solid var(--line);border-radius:var(--radius);background:var(--g-800);min-width:0;min-height:58px;color:var(--text-2);font-family:var(--body);text-align:center;cursor:pointer;flex-direction:column;justify-content:flex-start;align-items:center;gap:3px;padding:6px 3px;font-size:11px;line-height:1.2;transition:background .12s,border-color .12s,color .12s;display:flex}.vchoice.is-icons .vchoice-tile{justify-content:center;min-height:44px}.vchoice-tile:hover{background:var(--g-750);color:var(--text);border-color:var(--line-2)}.vchoice-tile:focus-visible{outline:2px solid var(--blue-text);outline-offset:1px}.vchoice-tile[aria-checked=true]{background:var(--blue-soft);border-color:var(--blue);color:var(--text);box-shadow:inset 0 0 0 1px var(--blue)}.vchoice-icon{place-items:center;height:30px;display:grid}.vchoice.is-mirror-x .vchoice-icon svg{transform:scaleX(-1)}.vchoice.is-mirror-y .vchoice-icon svg{transform:scaleY(-1)}.vchoice.is-mirror-xy .vchoice-icon svg{transform:scale(-1)}.vchoice-label{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.vchoice-caption{flex-wrap:wrap;gap:2px 8px;min-height:16px;font-size:11.5px;line-height:1.35;display:flex}.vchoice-caption-name{color:var(--text)}.vchoice-caption-desc,.vchoice-wrap.is-mixed .vchoice-caption-name{color:var(--text-3)}.pic{overflow:visible}.pic .pic-ctx{stroke:currentColor;opacity:.55}.pic .pic-sub{fill:currentColor;fill-opacity:.22;stroke:currentColor}.pic .pic-line{stroke:currentColor;opacity:.85}.vchoice-tile[aria-checked=true] .pic{color:var(--blue-text)}.vchoice-tile[aria-checked=true] .pic .pic-sub{fill-opacity:.35}.ins-chips{flex-wrap:wrap;gap:4px;display:flex}.ins-chip{background:var(--g-900);border:1px solid var(--line);border-radius:999px;align-items:baseline;gap:6px;min-width:0;padding:3px 8px;font-size:11.5px;line-height:1.3;display:inline-flex}.ins-chip-label{color:var(--text-3)}.ins-chip-value{font-family:var(--mono);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.ins-sections{gap:4px;display:grid}.ins-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--g-900);min-width:0}.ins-section-head{width:100%;min-height:38px;color:var(--text);font-family:var(--body);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:4px 10px 4px 8px;font-size:13px;font-weight:500;display:flex}.ins-section-head:hover .ins-section-title{color:#fff}.ins-section-chevron{color:var(--text-3);flex:none;transition:rotate .15s;rotate:-90deg}.ins-section.is-open .ins-section-chevron{rotate:0deg}.ins-section-icon{width:30px;height:22px;color:var(--text-2);flex:none;place-items:center;display:grid}.ins-section-icon .pic{width:30px;height:22px}.ins-section-title{flex:none}.ins-section-summary{text-overflow:ellipsis;white-space:nowrap;text-align:right;min-width:0;color:var(--text-3);flex:1;font-size:11.5px;font-weight:400;overflow:hidden}.ins-section.is-open .ins-section-head{border-bottom:1px solid var(--line)}.ins-section-body{gap:8px;min-width:0;padding:10px;display:grid}.ins-header{border:1px solid var(--line);background:var(--g-850);border-radius:10px;gap:8px;padding:10px 10px 10px 12px;display:grid;box-shadow:0 10px 30px -18px #000c}.ins-header-top{align-items:center;gap:8px;min-width:0;display:flex}.ins-header-glyph{border-radius:var(--radius);background:var(--blue-soft);width:32px;height:32px;color:var(--blue-text);flex:none;place-items:center;display:grid}.ins-header-name{border-radius:var(--radius);min-width:0;height:32px;color:var(--text);font-family:var(--display);text-overflow:ellipsis;background:0 0;border:1px solid #0000;flex:1;margin-left:-5px;padding:0 4px;font-size:15px;font-weight:600}.ins-header-name:hover{border-color:var(--line-2)}.ins-header-name:focus{border-color:var(--blue);background:var(--g-950);outline:none}.ins-header-actions{flex:none;gap:2px;display:flex}.ins-header-actions .icon-btn{width:30px;height:32px}.ins-header-actions .icon-btn.is-danger:hover{color:var(--danger)}.ins-header-meta{flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;padding-left:4px;display:flex}.ins-type-chip{background:var(--g-750);height:22px;color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 8px 0 7px;font-size:11px;font-weight:500;display:inline-flex}.ins-type-chip.is-accent{background:var(--blue-soft);color:var(--blue-text)}.ins-header-size{font-family:var(--mono);color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.ins-multi{border-radius:var(--radius);background:var(--blue-soft);border:1px solid #4da8ea4d;gap:6px;padding:8px 8px 8px 10px;display:grid}.ins-multi-line{min-width:0;color:var(--text);align-items:center;gap:8px;font-size:12px;display:flex}.ins-multi-count{background:var(--blue);color:#eef6fc;min-width:22px;height:22px;font-family:var(--mono);border-radius:999px;flex:none;place-items:center;padding:0 6px;font-size:11.5px;display:grid}.ins-multi-text{flex:1;min-width:0;line-height:1.3}.ins-multi-text small{color:var(--text-2);font-size:11.5px;display:block}.ins-multi-actions{flex-wrap:wrap;gap:4px;display:flex}.ins-multi-actions .btn{background:#0e101259;height:28px;padding:0 9px;font-size:12px}.ins-dims{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:4px;display:grid}.ins-dims-label{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px 2px;font-size:11px;display:block;overflow:hidden}.ins-dims .is-thickness{margin-left:4px;position:relative}.ins-dims .is-thickness:before{content:"";background:var(--line-2);width:1px;position:absolute;top:6px;bottom:6px;left:-5px}.field-number.is-compact .field-value{font-size:12.5px}.ins-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.ins-row>.segmented{flex:180px}.ins-edges-wrap{gap:8px;min-width:0;display:grid}.ins-edges-top{align-items:center;gap:8px;min-width:0;display:flex}.ins-edges-top>.ins-edges{flex:1;min-width:0}.ins-edges{touch-action:manipulation;-webkit-user-select:none;user-select:none;width:100%;height:auto;max-height:170px;display:block;overflow:visible}.ins-edges-face{fill:var(--g-750);stroke:var(--line-2)}.ins-edges-grain{stroke:#ffffff12;stroke-width:1px;fill:none}.ins-edges-size{fill:var(--text-3);font-family:var(--mono);font-size:10px}.ins-edge{cursor:pointer;outline:none}.ins-edge-hit{fill:#0000;stroke:none}.ins-edge-line{stroke:var(--text-3);stroke-linecap:round;transition:stroke .12s}.ins-edge.is-none .ins-edge-line{stroke:var(--g-650);stroke-dasharray:3 3}.ins-edge.is-thin .ins-edge-line{stroke:#8fb9d9}.ins-edge.is-thick .ins-edge-line{stroke:var(--blue-text)}.ins-edge:hover .ins-edge-line,.ins-edge:focus-visible .ins-edge-line{stroke:#fff}.ins-edge-value{fill:var(--text);font-family:var(--mono);pointer-events:none;font-size:10.5px}.ins-edge.is-none .ins-edge-value{fill:var(--text-3)}.ins-edge:focus-visible .ins-edge-ring{stroke:var(--blue-text);stroke-width:1.5px;fill:none}.ins-edge-ring{stroke:none;fill:none}.ins-edge-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.ins-edge-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--g-800);min-width:0;min-height:38px;color:var(--text-2);cursor:pointer;justify-content:space-between;align-items:center;gap:6px;padding:3px 8px;font-size:11.5px;display:flex}.ins-edge-item:hover{background:var(--g-750);color:var(--text)}.ins-edge-item.is-hot{border-color:var(--blue)}.ins-edge-item-name{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;overflow:hidden}.ins-edge-item-name small{text-overflow:ellipsis;color:var(--text-3);font-size:10.5px;display:block;overflow:hidden}.ins-edge-item-value{font-family:var(--mono);color:var(--text);flex:none}.ins-grain{border:1px solid var(--line);border-radius:var(--radius);background:var(--g-800);width:80px;color:var(--text-2);text-align:center;cursor:pointer;flex:none;justify-items:center;gap:4px;padding:6px 4px;font-size:11px;line-height:1.2;display:grid}.ins-grain:hover{background:var(--g-750);color:var(--text)}.ins-grain:focus-visible{outline:2px solid var(--blue-text);outline-offset:1px}.ins-grain-arrow{stroke:var(--blue-text);stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round}.ins-grain-mixed{color:var(--text-3)}.ins-drawers{gap:8px;display:grid}.ins-drawers-svg{-webkit-user-select:none;user-select:none;touch-action:none;width:100%;height:auto;display:block}.ins-drawers-carcass{fill:var(--g-900);stroke:var(--line-2)}.ins-drawers-side{fill:var(--g-750)}.ins-drawer-front{fill:var(--g-750);stroke:var(--g-650);cursor:pointer;transition:fill .12s,stroke .12s}.ins-drawer:hover .ins-drawer-front{fill:var(--g-700)}.ins-drawer.is-open .ins-drawer-front{fill:#007acc38;stroke:var(--blue)}.ins-drawer:focus-visible{outline:none}.ins-drawer:focus-visible .ins-drawer-front{stroke:var(--blue-text);stroke-width:2px}.ins-drawer-handle{stroke:var(--text-3);stroke-width:2px;stroke-linecap:round;pointer-events:none}.ins-drawer-ratio{fill:var(--text-2);font-family:var(--mono);pointer-events:none;font-size:11px}.ins-drawer-mm{fill:var(--text);font-family:var(--mono);pointer-events:none;font-size:11px}.ins-drawer-mm-unit{fill:var(--text-3)}.ins-divider{cursor:ns-resize;outline:none}.ins-divider-hit{fill:#0000}.ins-divider-line{stroke:var(--blue-text);stroke-width:2px;opacity:0;transition:opacity .12s}.ins-divider-grip{fill:var(--g-650);stroke:var(--g-950);stroke-width:1px;transition:fill .12s}.ins-divider-dots{stroke:var(--text-2);stroke-width:1.2px;stroke-linecap:round}.ins-divider:hover .ins-divider-line,.ins-divider:focus-visible .ins-divider-line,.ins-divider.is-dragging .ins-divider-line{opacity:1}.ins-divider:hover .ins-divider-grip,.ins-divider:focus-visible .ins-divider-grip,.ins-divider.is-dragging .ins-divider-grip{fill:var(--blue)}.ins-drawers-hint{color:var(--text-3);margin:0;font-size:11.5px}.ins-drawer-detail{border:1px solid var(--blue);border-radius:var(--radius);background:#007acc0f;gap:8px;padding:10px;display:grid}.ins-drawer-detail-head{font-family:var(--display);color:var(--blue-text);justify-content:space-between;align-items:center;gap:8px;font-weight:600;display:flex}.ins-stepper{border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:var(--g-950);align-items:center;gap:2px;padding:2px;display:inline-flex}.ins-stepper button{border-radius:var(--radius);width:30px;height:28px;color:var(--text-2);font-family:var(--mono);cursor:pointer;background:0 0;border:0;font-size:15px}.ins-stepper button:hover:not(:disabled){background:var(--g-800);color:var(--text)}.ins-stepper button:disabled{opacity:.35;cursor:default}.ins-stepper output{text-align:center;min-width:26px;font-family:var(--mono);color:var(--text)}@media (width<=720px){.app{grid-template-columns:minmax(0,1fr)}.sidebar-right{--field-h:40px;font-size:13.5px}.sidebar-right .segmented button,.sidebar-right .btn,.ins-stepper button{min-height:40px}.sidebar-right .icon-btn,.ins-header-actions .icon-btn{width:40px;height:40px}.vchoice{grid-template-columns:repeat(auto-fit,minmax(72px,1fr))}.vchoice-tile{min-height:64px;font-size:12px}.vchoice.is-icons .vchoice-tile{min-height:48px}.ins-section-head{min-height:44px}.ins-edge-item{min-height:40px}.ins-header-name{height:40px}.ins-grain{width:92px;min-height:40px}.ins-multi-actions .btn{height:40px}}.ins-dims.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}.ins-group.is-wide{grid-template-columns:1fr;gap:6px}.field-number.is-compact .field-unit{margin-left:1px;font-size:10.5px}.panel-body{container:panel-body/inline-size}@container panel-body (width<=380px){.ins-dims,.ins-dims.is-three{grid-template-columns:repeat(2,minmax(0,1fr))}.ins-dims .is-thickness{margin-left:0}.ins-dims .is-thickness:before{display:none}}.boards-buttons button{font-family:var(--mono)}.boards-picked{font-family:var(--display);color:var(--blue-text);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;font-size:14px;font-weight:600;display:flex}.boards-picked .boards-size{color:var(--text-2);font-size:12px;font-weight:400}.boards-xyz{grid-template-columns:repeat(3,minmax(0,1fr))}.boards-size{font-family:var(--mono);color:var(--text)}.boards-cutter{grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid}.boards-cutter-sizes{gap:8px;min-width:0;display:grid}.boards-cutter-grid{border-radius:calc(var(--radius) + 2px);background:var(--g-950);border:1px solid var(--line);grid-template-columns:repeat(3,32px);gap:2px;padding:2px;display:grid}.boards-cutter-grid .icon-btn:hover{color:var(--blue-text)}.boards-clear{justify-self:start}.boards-actions{flex-wrap:wrap;gap:6px;display:flex}.boards-pair .btn{flex:1;justify-content:center}.boards-actions .btn:disabled{opacity:.4;cursor:default}.boards-stack{display:grid}.boards-stack .btn{justify-content:center}.carcass-sections{gap:4px}.carcass-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--g-900)}.carcass-section-head{width:100%;height:30px;color:var(--text);font-family:var(--body);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 10px;font-size:13px;font-weight:500;display:flex}.carcass-section-head:hover{color:#fff}.carcass-section-chevron{color:var(--text-3);transition:rotate .15s;rotate:-90deg}.carcass-section.is-open .carcass-section-chevron{rotate:0deg}.carcass-section.is-open .carcass-section-head{border-bottom:1px solid var(--line)}.carcass-section-body{gap:8px;padding:10px;display:grid}.carcass-note{color:var(--text-2);flex-wrap:wrap;gap:4px 14px;margin:0;font-size:12.5px;display:flex}.carcass-note.is-warning{color:var(--danger)}.carcass-buttons{flex-wrap:wrap;gap:6px;display:flex}.carcass-related{border-top:1px solid var(--line);gap:8px;padding-top:8px;display:grid}.carcass-related:first-of-type{margin-top:4px}.corner-warning{border-radius:var(--radius);color:var(--text);background:#e5676b14;border:1px solid #e5676b59;margin:2px 0 0;padding:7px 10px;font-size:12.5px}.decor-swatch{background-color:var(--g-750);color:var(--text-3);background-position:50%;background-size:cover;border-radius:6px;flex:none;place-items:center;display:inline-grid;box-shadow:inset 0 0 0 1px #ffffff1a,0 1px 2px #00000059}.decor-swatch.is-empty{background:repeating-linear-gradient(135deg, transparent 0 6px, #ffffff0d 6px 12px), var(--g-800)}.decor-text{text-align:left;min-width:0;line-height:1.25;display:grid}.decor-text.is-empty{color:var(--text-3)}.decor-text-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);overflow:hidden}.decor-code{font-family:var(--mono);color:var(--text-3);white-space:nowrap;font-size:11.5px}.decor-hint{color:var(--text-3);margin:0;font-size:12px;line-height:1.45}.decor-link{color:var(--blue-text);font-size:inherit;background:0 0;border:0;padding:0}.decor-link:hover{text-decoration:underline}.decor-groups{gap:4px;display:grid}.decor-group{border:1px solid var(--line);border-radius:var(--radius);background:var(--g-800);text-align:left;align-items:center;gap:10px;min-width:0;padding:6px 8px 6px 6px;transition:background .12s,border-color .12s;display:flex}.decor-group:hover{background:var(--g-750);border-color:var(--line-2)}.decor-group:focus-visible{border-color:var(--blue);outline:none}.decor-group.is-unused .decor-group-text{opacity:.55}.decor-group-text{flex:1;gap:1px;min-width:0;display:grid}.decor-group-title{color:var(--text-3);justify-content:space-between;gap:8px;font-size:11.5px;display:flex}.decor-group-title b{color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.decor-group .decor-text{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px}.decor-button{width:100%;min-width:0;min-height:var(--field-h);border-radius:var(--radius);background:var(--g-750);border:1px solid #0000;align-items:center;gap:9px;padding:3px 8px 3px 3px;transition:background .12s,border-color .12s;display:flex}.decor-button:hover{background:var(--g-700)}.decor-button:focus-visible{border-color:var(--blue);outline:none}.decor-button .decor-text-name{font-size:12.5px}.decor-board{border-top:1px solid var(--line);gap:8px;margin-top:6px;padding-top:10px;display:grid}.decor-board .prop-subhead{margin-top:0}.decor-board .prop-subhead b{color:var(--text);font-weight:500}.decor-board .segmented button{padding:0 2px;font-size:12px}.decor-banner{border-radius:var(--radius);background:var(--blue-soft);color:var(--blue-text);flex-wrap:wrap;align-items:center;gap:6px 8px;padding:8px 8px 8px 10px;display:flex}.decor-banner span{flex:1}.decor-banner .btn{height:28px;color:var(--text)}.decor-variant{border:1px solid var(--line);border-radius:var(--radius);background:var(--g-800);gap:6px;padding:8px;display:grid}.decor-variant.is-shown{border-color:var(--blue)}.decor-variant-head{align-items:center;gap:4px;display:flex}.decor-variant-head b{font-family:var(--display);flex:1;font-weight:600}.decor-variant-head .btn{height:28px;padding:0 8px;font-size:12.5px}.decor-variant-head .btn:disabled{opacity:.4;cursor:default}.decor-variant-head .btn.is-active{background:var(--blue);color:#eef6fc}.decor-variant .prop-row{grid-template-columns:26% 1fr}.decor-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08090b99;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.decor-picker{background:var(--g-850);border:1px solid var(--line-2);border-radius:12px;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(900px,100%);height:min(700px,100%);display:grid;overflow:hidden;box-shadow:0 30px 80px -20px #000000e6}.decor-picker-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 10px 10px 18px;display:flex}.decor-picker-head h2{font-family:var(--display);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:15px;font-weight:600;overflow:hidden}.decor-picker-tools{flex-wrap:wrap;gap:8px 10px;padding:12px 18px 6px;display:flex}.decor-search{color:var(--text-3);flex:220px;align-items:center;display:flex;position:relative}.decor-search svg{pointer-events:none;position:absolute;left:10px}.decor-search .field{padding-left:32px}.decor-filters{flex:0 auto}.segmented.decor-filters button{font-family:var(--body);white-space:nowrap;padding:0 10px;font-size:12.5px}.decor-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));align-content:start;gap:6px;padding:8px 18px 18px;display:grid;overflow-y:auto}.decor-section{letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);grid-column:1/-1;margin:6px 2px 0;font-size:11px;font-weight:600}.decor-card{text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;align-content:start;gap:2px;padding:6px;transition:background .12s,border-color .12s;display:grid;position:relative}.decor-card:hover{background:var(--g-800)}.decor-card:focus-visible{border-color:var(--blue-text);outline:none}.decor-card.is-current{border-color:var(--blue);background:var(--blue-soft)}.decor-card .decor-swatch{aspect-ratio:1;border-radius:7px;width:100%;margin-bottom:4px}.decor-card-name{-webkit-line-clamp:2;color:var(--text);-webkit-box-orient:vertical;font-size:12.5px;line-height:1.25;display:-webkit-box;overflow:hidden}.decor-card-edit{width:26px;height:26px;color:var(--text);background:#0e1012bf;border-radius:6px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.decor-card-edit:hover{background:var(--blue)}.decor-card-empty .decor-card-name,.decor-card-new .decor-card-name{color:var(--text-2)}.decor-none{text-align:center;color:var(--text-3);grid-column:1/-1;margin:24px 0}.decor-picker-foot{border-top:1px solid var(--line);color:var(--text-3);padding:9px 18px;font-size:12px}.decor-form{grid-row:2/-1;grid-template-columns:180px minmax(0,1fr);align-content:start;gap:22px;padding:18px;display:grid;overflow-y:auto}.decor-form-preview{aspect-ratio:1300/2800;background-position:50%;background-size:cover;border-radius:8px;width:180px;box-shadow:inset 0 0 0 1px #ffffff1a}.decor-form-fields{align-content:start;gap:8px;max-width:460px;display:grid}.decor-form-fields .prop-row{grid-template-columns:30% 1fr}.decor-form-image{flex-wrap:wrap;gap:6px;display:flex}.decor-form-image .btn{cursor:pointer}.decor-mono{font-family:var(--mono)}.decor-color{width:56px;height:var(--field-h);border:1px solid var(--line);border-radius:var(--radius);background:var(--g-950);cursor:pointer;padding:2px}.decor-problem{color:var(--danger);margin:0;font-size:12.5px}@media (width<=700px){.decor-backdrop{padding:0}.decor-picker{border-radius:0;width:100%;height:100%}.decor-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));padding:6px 12px 12px}.decor-picker-tools{padding:10px 12px 4px}.decor-filters{width:100%;overflow-x:auto}.decor-form{grid-template-columns:1fr}.decor-form-preview{width:96px}}.drawers-sections{gap:4px;margin-top:6px;display:grid}.drawers-section{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff04}.drawers-section-head{width:100%;height:30px;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:7px;padding:0 8px;font-weight:500;display:flex}.drawers-section-head:hover{color:var(--blue-text)}.drawers-section.is-open .panel-chevron{rotate:0deg}.drawers-section-body{border-top:1px solid var(--line);gap:8px;padding:8px 10px 10px 4px;display:grid}.drawers-info{color:var(--text-2);gap:2px;font-size:12.5px;display:grid}.drawers-warn{color:var(--danger)}.drawers-actions{justify-content:flex-end;display:flex}.fronts-note{color:var(--text-2);grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:10px;font-size:12px;display:grid}.fronts-note>span:last-child{line-height:1.4}.fronts-note.is-alert{color:var(--danger)}.fronts-gola{gap:8px;display:grid}.gal-backdrop{z-index:95;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#06080a9e;grid-template-columns:minmax(0,1fr);place-items:center;padding:20px;animation:.15s ease-out gal-fade;display:grid;position:fixed;inset:0}@keyframes gal-fade{0%{opacity:0}}@keyframes gal-in{0%{opacity:0;transform:translateY(12px)scale(.99)}}.gal{background:radial-gradient(120% 60% at 50% -10%, #007acc17, transparent 60%), var(--g-850);border:1px solid var(--line-2);width:min(1360px,100%);min-width:0;height:min(900px,100%);color:var(--text);border-radius:18px;outline:none;grid-template-rows:auto auto auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);justify-self:center;animation:.22s cubic-bezier(.2,.8,.2,1) gal-in;display:grid;position:relative;overflow:hidden;box-shadow:0 50px 120px -30px #000000f2}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.gal-head{align-items:center;gap:14px;padding:18px 14px 14px 24px;display:flex}.gal-head-mark{color:#fff;background:linear-gradient(140deg,#0a8be3,#005a99);border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 8px 20px -8px #007acccc}.gal-head-text,.gal-bar>*,.gal-head>*{min-width:0}.gal-head-text h2{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:22px;font-weight:700}.gal-head-text p{color:var(--text-2);margin:2px 0 0;font-size:13px}.gal-head-actions{gap:8px;margin-left:auto;display:flex}.gal-head-btn{height:38px;padding:0 14px;font-size:13.5px}.gal-close{width:40px;height:40px}.gal-tabs{scrollbar-width:none;border-bottom:1px solid var(--line);gap:4px;padding:0 24px;display:flex;overflow-x:auto}.gal-tabs::-webkit-scrollbar{display:none}.gal-tab{height:42px;color:var(--text-2);white-space:nowrap;background:0 0;border:0;align-items:center;gap:7px;padding:0 12px;font-size:13.5px;font-weight:500;display:inline-flex;position:relative}.gal-tab:hover,.gal-tab.is-active{color:var(--text)}.gal-tab.is-active:after{content:"";background:var(--blue);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.gal-tab.is-active svg{color:var(--blue-text)}.gal-tab.is-empty:not(.is-active){color:var(--text-3)}.gal-count{min-width:20px;color:var(--text-3);font-family:var(--mono);text-align:center;background:#ffffff0f;border-radius:999px;padding:0 6px;font-size:10.5px;line-height:18px}.is-active>.gal-count,.is-on>.gal-count{background:var(--blue-soft);color:var(--blue-text)}.gal-bar{flex-wrap:wrap;align-items:center;gap:10px;padding:14px 24px 0;display:flex}.gal-search{background:var(--g-950);border:1px solid var(--line);min-width:0;height:40px;color:var(--text-3);border-radius:10px;flex:260px;align-items:center;gap:8px;padding:0 12px;display:flex}.gal-search:focus-within{border-color:var(--blue);color:var(--blue-text)}.gal-search input{min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:14px}.gal-fit{background:var(--g-950);border:1px solid var(--line);height:40px;color:var(--text-2);border-radius:10px;align-items:center;gap:6px;padding:0 10px 0 6px;display:flex}.gal-fit.is-on{background:#007acc14;border-color:#007acc8c}.gal-fit-toggle{min-width:0;height:30px;color:inherit;white-space:nowrap;background:0 0;border:0;align-items:center;gap:8px;padding:0 6px;font-size:13px;display:inline-flex}.gal-fit-toggle>span:last-child{text-overflow:ellipsis;overflow:hidden}.gal-switch{background:var(--g-650);border-radius:999px;flex:none;width:28px;height:16px;transition:background .15s;position:relative}.gal-switch:after{content:"";background:#d8dbe0;border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:2px;left:2px}.gal-fit.is-on .gal-switch{background:var(--blue)}.gal-fit.is-on .gal-switch:after{background:#fff;transform:translate(12px)}.gal-fit-size{flex:none;align-items:center;gap:6px;display:inline-flex}.gal-fit-field input{border:1px solid var(--line-2);background:var(--g-900);width:62px;height:28px;color:var(--text);font-family:var(--mono);text-align:right;border-radius:6px;outline:0;padding:0 6px;font-size:12.5px}.gal-fit-field input:focus{border-color:var(--blue)}.gal-fit-x,.gal-fit-unit{color:var(--text-3);font-size:12px}.gal-link{color:var(--blue-text);white-space:nowrap;text-underline-offset:3px;background:0 0;border:0;padding:2px 4px;font-size:12.5px;-webkit-text-decoration:underline #4da8ea59;text-decoration:underline #4da8ea59}.gal-link:hover{text-decoration-color:currentColor}.gal-chips{scrollbar-width:none;gap:8px;padding:12px 24px 0;display:flex;overflow-x:auto}.gal-chips::-webkit-scrollbar{display:none}.gal-chip{border:1px solid var(--line-2);background:var(--g-800);height:36px;color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:0 10px 0 7px;font-size:13px;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.gal-chip:hover{color:var(--text);border-color:#4da8ea80}.gal-chip.is-on{border-color:var(--blue);background:var(--blue-soft);color:var(--text)}.gal-chip.is-on svg{color:var(--blue-text)}.gal-body{overscroll-behavior:contain;min-height:0;padding:18px 24px 28px;overflow-y:auto}.gal-dev-note{color:#f1c37a;border:1px dashed #f0b45059;border-radius:8px;margin:0 0 12px;padding:6px 10px;font-size:12px}.gal-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.gal-card{background:var(--g-800);border:1px solid var(--line);border-radius:14px;transition:border-color .15s,transform .18s,box-shadow .18s;overflow:hidden}.gal-card:hover{border-color:#4da8ea73;transform:translateY(-3px);box-shadow:0 22px 40px -24px #000000f2}.gal-card-open{width:100%;height:100%;color:inherit;text-align:left;background:0 0;border:0;grid-template-rows:auto 1fr;padding:0;display:grid}.gal-card-open:focus-visible{outline:2px solid var(--blue-text);outline-offset:-2px;border-radius:14px}.gal-thumb{aspect-ratio:16/10;color:var(--text-3);background:radial-gradient(at 50% 120%,#353b42,#1b1e22);place-items:center;display:grid;position:relative;overflow:hidden}.gal-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.gal-card:hover .gal-thumb img{transform:scale(1.04)}.gal-thumb-empty{border-bottom:1px dashed var(--line-2);background:repeating-linear-gradient(135deg, #ffffff05 0 10px, transparent 10px 20px), var(--g-900);color:var(--blue-text)}.is-empty-project{border-style:dashed;border-color:var(--line-2)}.gal-badge{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);height:26px;color:var(--text);background:#0e1012b8;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:5px;padding:0 9px 0 6px;font-size:11.5px;font-weight:500;display:inline-flex;position:absolute;top:10px;left:10px}.gal-badge svg{color:var(--blue-text)}.gal-card-body{align-content:start;gap:4px;padding:12px 14px 14px;display:grid}.gal-card-name{font-family:var(--display);color:var(--text);font-size:15px;font-weight:650;line-height:1.25}.gal-card-desc{-webkit-line-clamp:2;color:var(--text-2);-webkit-box-orient:vertical;font-size:12.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.gal-card-meta{color:var(--text-3);font-family:var(--mono);flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:11.5px;display:flex}.gal-card-meta span{align-items:center;gap:5px;display:inline-flex}.gal-card.is-skeleton{pointer-events:none}.gal-card.is-skeleton .gal-thumb,.gal-line{background:linear-gradient(90deg,#22262b 0%,#2c3137 50%,#22262b 100%) 0 0/200% 100%;animation:1.3s ease-in-out infinite gal-shimmer}.gal-line{border-radius:4px;height:11px;margin:14px 14px 0;display:block}.gal-line.is-short{width:50%;margin-bottom:16px}@keyframes gal-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gal-empty{text-align:center;color:var(--text-2);justify-items:center;gap:8px;padding:50px 16px;display:grid}.gal-empty h3{font-family:var(--display);color:var(--text);margin:0;font-size:17px}.gal-empty p{margin:0}.gal-detail{border-top:1px solid var(--line);grid-row:2/-1;grid-template-columns:minmax(0,1fr) 380px;min-width:0;min-height:0;display:grid}.gal-stage-wrap{background:radial-gradient(at 50% 100%,#2b3036,#15181b 70%);min-height:0;position:relative}.gal-stage{touch-action:none;position:absolute;inset:0;overflow:hidden}.gal-stage canvas{opacity:0;cursor:grab;transition:opacity .35s;display:block;position:absolute;inset:0}.gal-stage canvas:active{cursor:grabbing}.gal-stage.is-ready canvas{opacity:1}.gal-stage-thumb{object-fit:contain;opacity:.9;width:100%;height:100%;transition:opacity .35s;position:absolute;inset:0}.gal-stage.is-ready .gal-stage-thumb{opacity:0}.gal-stage-loading{color:var(--text-2);background:#0e1012b3;border-radius:999px;align-items:center;gap:8px;padding:5px 12px 5px 10px;font-size:12px;display:inline-flex;position:absolute;bottom:18px;left:50%;translate:-50%}.gal-stage-tools{pointer-events:none;justify-content:space-between;align-items:center;gap:10px;display:flex;position:absolute;bottom:14px;left:14px;right:14px}.gal-stage-tools>*{pointer-events:auto}.gal-stage-hint{color:var(--text-2);background:#0e101299;border-radius:999px;padding:4px 10px;font-size:12px;animation:4s forwards gal-hint}@keyframes gal-hint{0%,70%{opacity:1}to{opacity:0}}.gal-info{border-left:1px solid var(--line);background:var(--g-850);flex-direction:column;gap:12px;min-height:0;padding:16px 22px 20px;display:flex;overflow-y:auto}.gal-back{height:30px;color:var(--text-2);background:0 0;border:0;border-radius:7px;align-self:flex-start;align-items:center;gap:6px;margin-left:-6px;padding:0 10px 0 6px;font-size:13px;display:inline-flex}.gal-back:hover{color:var(--text);background:#ffffff0d}.gal-eyebrow{color:var(--blue-text);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.gal-title{font-family:var(--display);margin:-4px 0 0;font-size:22px;font-weight:700;line-height:1.2}.gal-desc{color:var(--text-2);margin:0;line-height:1.5}.gal-facts{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.gal-facts div{background:var(--g-900);border:1px solid var(--line);border-radius:9px;padding:8px 10px}.gal-facts dt{color:var(--text-3);font-size:11.5px}.gal-facts dd{font-family:var(--mono);color:var(--text);margin:2px 0 0;font-size:13px}.gal-tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.gal-tags li{border:1px solid var(--line-2);color:var(--text-2);border-radius:999px;padding:2px 9px;font-size:12px}.gal-mini-plan{background:var(--g-900);border:1px solid var(--line);border-radius:10px;padding:6px}.gal-mini-plan .gal-plan{width:100%;height:170px}.gal-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:8px;margin-top:auto;padding-top:6px;display:grid}.gal-action{text-align:center;white-space:normal;justify-content:center;min-width:0;height:auto;min-height:44px;padding:6px 12px;font-size:14px;line-height:1.2}.gal-action>span{white-space:normal;min-width:0}.gal-note{color:var(--text-3);margin:0;font-size:12px}.gal-plan{display:block}.gal-plan-floor{fill:#ffffff06}.gal-plan-walls{fill:none;stroke:#d6d9dd;stroke-width:3px;stroke-linejoin:round}.gal-plan-block{fill:url(#gal-hatch);stroke:#9aa0a6;stroke-width:0}.gal-plan-hatch{stroke:#8d939a;stroke-width:6px}.gal-plan-el{stroke-width:1.2px}.gal-plan-el.is-lower{fill:#007acc52;stroke:#4da8ea}.gal-plan-el.is-tall{fill:#007acc9e;stroke:#7cc0f2}.gal-plan-el.is-upper{fill:#ffffff0a;stroke:#c9ccd0;stroke-dasharray:4 3}.gal-plan-el.is-worktop{fill:#d4c4aa2e;stroke:#d4c4aa80}.gal-plan-el.is-board{fill:#ffffff1f;stroke:#9aa0a6}.gal-plan.is-refused .gal-plan-el{fill:#e5676b29;stroke:#e5676b;stroke-dasharray:5 3}.gal-plan-window{stroke:#8fd0ff;stroke-width:6px;stroke-linecap:butt}.gal-plan-gap{stroke:var(--g-850);stroke-width:6px}.gal-mini-plan .gal-plan-gap{stroke:var(--g-900)}.gal-plan-door{stroke:#e2b86b;stroke-width:2px}.gal-plan-swing{fill:none;stroke:#e2b86b;stroke-width:1px;stroke-dasharray:3 3}.gal-plan-wall{fill:var(--text-3);font-family:var(--mono)}.gal-plan-letter{fill:var(--text);font-family:var(--display);font-weight:700}.gal-fit-backdrop{z-index:97;background:#06080a80;grid-template-columns:minmax(0,1fr);place-items:center;padding:24px;animation:.12s ease-out gal-fade;display:grid;position:fixed;inset:0}.gal-fit-sheet{background:var(--g-850);border:1px solid var(--line-2);border-radius:16px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);justify-self:center;width:min(1080px,100%);min-width:0;max-height:min(820px,100%);animation:.2s cubic-bezier(.2,.8,.2,1) gal-in;display:grid;overflow:hidden;box-shadow:0 40px 100px -30px #000000f2}.gal-fit-head{border-bottom:1px solid var(--line);color:var(--blue-text);align-items:center;gap:12px;padding:14px 12px 12px 20px;display:flex}.gal-fit-head>div{flex:1;min-width:0}.gal-fit-head h2{font-family:var(--display);color:var(--text);margin:0;font-size:18px;font-weight:700}.gal-fit-head p{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;margin:1px 0 0;font-size:12.5px;overflow:hidden}.gal-fit-main{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-width:0;min-height:0;display:grid}.gal-fit-plan{border-right:1px solid var(--line);background:radial-gradient(ellipse at 50% 40%, #007acc0d, transparent 70%), var(--g-900);flex-direction:column;gap:10px;min-height:0;padding:16px 18px;display:flex;overflow-y:auto}.gal-fit-plan .gal-plan{flex:auto;width:100%;min-height:260px;max-height:460px}.gal-legend{color:var(--text-3);flex-wrap:wrap;justify-content:center;gap:4px 14px;font-size:11.5px;display:flex}.gal-legend span:before{content:"";vertical-align:-1px;border-radius:2px;width:14px;height:9px;margin-right:6px;display:inline-block}.gal-legend .is-lower:before{background:#007acc52;border:1px solid #4da8ea}.gal-legend .is-upper:before{border:1px dashed #c9ccd0}.gal-legend .is-tall:before{background:#007acc9e;border:1px solid #7cc0f2}.gal-legend .is-window:before{vertical-align:2px;background:#8fd0ff;height:4px}.gal-status{border-radius:9px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.gal-status.is-ok{color:#6fd59b;background:#40be781a;border:1px solid #40be7859}.gal-status.is-refused{color:#ef8a8d;background:#e5676b1a;border:1px solid #e5676b66}.gal-status.is-check{color:#f1c37a;background:#f0b45014;border:1px solid #f0b4504d}.gal-warnings{color:#f1c37a;margin:0;padding:0 0 0 18px;font-size:12.5px;line-height:1.45}.gal-warnings.is-refused{color:#ef8a8d}.gal-fit-form{align-content:start;gap:18px;min-height:0;padding:14px 20px 18px;display:grid;overflow-y:auto}.gal-fit-group{gap:10px;display:grid}.gal-fit-group-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gal-fit-group-head h3{font-family:var(--display);margin:0 auto 0 0;font-size:14px;font-weight:650}.gal-fit-quick{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.gal-fit-row{gap:8px;display:grid}.gal-fit-row.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}.gal-fit-row.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}.gal-fit-row.is-four{grid-template-columns:repeat(4,minmax(0,1fr))}.gal-field{gap:4px;min-width:0;display:grid}.gal-field-label{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.gal-field-label em{color:var(--text-3);margin-left:5px;font-style:normal}.gal-field-box{min-width:0;height:var(--field-h);border:1px solid var(--line-2);background:var(--g-950);border-radius:7px;align-items:center;display:flex}.gal-field-box:focus-within{border-color:var(--blue)}.gal-field.is-error .gal-field-box{border-color:var(--danger)}.gal-field-box input{width:100%;min-width:0;height:100%;color:var(--text);font-family:var(--mono);background:0 0;border:0;outline:0;flex:1;padding:0 4px 0 9px;font-size:13px}.gal-field-unit{color:var(--text-3);padding-right:8px;font-size:11px}.gal-field-error{color:var(--danger);font-size:11.5px;line-height:1.3}.gal-opening{border:1px solid var(--line);background:var(--g-800);border-radius:10px;gap:8px;padding:10px 10px 12px;display:grid}.gal-opening-head{align-items:center;gap:8px;display:flex}.gal-opening-head .icon-btn{margin-left:auto}.gal-kind{border:1px solid var(--line-2);background:var(--g-900);height:30px;color:var(--text);border-radius:7px;align-items:center;gap:6px;padding:0 10px 0 8px;font-size:13px;display:inline-flex}.gal-kind.is-static{background:0 0;border-color:#0000;padding-left:0}.gal-kind em{color:var(--text-3);font-size:12px;font-style:normal}.is-window .gal-kind svg{color:#8fd0ff}.is-door .gal-kind svg{color:#e2b86b}.gal-walls{background:var(--g-950);border:1px solid var(--line);border-radius:8px;padding:2px;display:inline-flex}.gal-walls button{width:30px;height:26px;color:var(--text-2);font-family:var(--display);background:0 0;border:0;border-radius:6px;font-size:12.5px;font-weight:700}.gal-walls button.is-on{background:var(--blue);color:#fff}.gal-add{gap:4px;height:30px;padding:0 10px 0 8px;font-size:12.5px}.gal-add-block{border:1px solid var(--line-2);height:30px;color:var(--text-2);border-radius:7px;align-items:center;gap:6px;padding:0 4px 0 8px;display:inline-flex}.gal-add-block select{height:28px;color:var(--text);font:inherit;background:0 0;border:0;font-size:12.5px}.gal-fit-empty{color:var(--text-3);margin:0;font-size:12.5px}.gal-fit-tip{color:var(--text-3);margin:0;font-size:12px;line-height:1.45}.gal-fit-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 20px 14px;display:flex}.gal-fit-foot .btn{height:40px;padding:0 18px;font-size:14px}.gal-empty-btn{height:38px;color:var(--blue-text);gap:8px;margin-top:2px}.gal-admin-backdrop{z-index:99;grid-template-columns:minmax(0,1fr)}.efs-modal.gal-admin{grid-template-columns:minmax(0,1fr);justify-self:center;width:min(880px,100%);min-width:0}.gal-admin .efs-modal-head h2,.gal-admin-body,.gal-admin-meta,.gal-admin-shot,.gal-admin-lang>*,.gal-admin-recipe{min-width:0}.gal-admin-badge{color:#f1b65a;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;background:#f0b4501a;border:1px solid #f0b45059;border-radius:999px;padding:1px 8px;font-size:10px}.gal-admin-body{gap:16px}.gal-admin-top{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;display:grid}.gal-admin-shot{gap:8px;display:grid}.gal-admin-shot img,.gal-admin-shot-empty{aspect-ratio:16/10;border:1px solid var(--line);background:var(--g-900);object-fit:cover;width:100%;color:var(--text-3);border-radius:10px;place-items:center;display:grid}.gal-admin-views{flex-wrap:wrap;gap:6px;display:flex}.gal-admin-views .btn{height:30px;padding:0 10px;font-size:12.5px}.gal-admin-meta{align-content:start;gap:10px;display:grid}.gal-admin-row{color:var(--text-2);gap:4px;font-size:12px;display:grid}.gal-admin-row .field{width:100%;height:var(--field-h)}.gal-admin-warn{margin:0;font-size:12px;color:#f1c37a!important}.gal-admin-langs{justify-items:start;gap:10px;display:grid}.gal-admin-lang{grid-template-columns:110px minmax(0,1fr);justify-self:stretch;align-items:start;gap:6px 10px;display:grid}.gal-admin-lang-name{color:var(--text-2);grid-row:span 2;padding-top:7px;font-size:12.5px}.gal-admin-lang-name em{color:var(--danger);font-style:normal}.gal-admin-lang .field{width:100%}.gal-admin-lang .field-text{height:var(--field-h)}.gal-admin-recipe{background:#007acc0f;border:1px solid #007acc59;border-radius:10px;gap:8px;padding:12px 14px;display:grid}.gal-admin-recipe.is-fixed{background:#f0b4500f;border-color:#f0b45059}.gal-admin-recipe h3{font-family:var(--display);margin:0;font-size:14px}.gal-admin-runs,.gal-admin-notes{gap:4px;margin:0;padding:0;font-size:12.5px;list-style:none;display:grid}.gal-admin-runs li{grid-template-columns:150px minmax(0,1fr);gap:2px 10px;display:grid}.gal-admin-runs span{font-family:var(--mono);color:var(--text);overflow-wrap:anywhere}.gal-admin-runs em{color:var(--text-3);grid-column:2;font-style:normal}.gal-admin-notes li{color:#f1c37a}.gal-admin-notes li:before{content:"• "}.gal-admin .efs-modal-foot{flex-wrap:wrap}.gal-admin-missing{color:#f1c37a;align-items:center;gap:6px;min-width:0;margin-right:auto;font-size:12px;display:inline-flex}.gal-admin-done{text-align:center;color:#6fd59b;justify-items:center;gap:10px;padding:18px 8px;display:grid}.gal-admin-done h3{color:var(--text);font-family:var(--display);margin:0}.gal-admin-done code{background:var(--g-950);border:1px solid var(--line-2);color:var(--blue-text);font-family:var(--mono);overflow-wrap:anywhere;border-radius:8px;padding:8px 12px;font-size:12.5px}@media (width<=860px){.gal-detail{grid-template-rows:minmax(260px,46%) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.gal-info{border-left:0;border-top:1px solid var(--line)}.gal-fit-main{grid-template-columns:minmax(0,1fr);overflow-y:auto}.gal-fit-plan{border-right:0;border-bottom:1px solid var(--line);overflow:visible}.gal-fit-plan .gal-plan{min-height:220px;max-height:300px}.gal-fit-form{overflow:visible}.gal-admin-top{grid-template-columns:minmax(0,1fr)}}@media (width<=720px){.gal-backdrop,.gal-fit-backdrop{padding:0}.gal,.gal-fit-sheet{border:0;border-radius:0;width:100%;height:100%;max-height:none}.gal-head{padding:max(10px, env(safe-area-inset-top)) 16px 10px;flex-wrap:wrap;gap:10px}.gal-head-mark{width:32px;height:32px}.gal-head-text{flex:1}.gal-head-text h2{font-size:19px}.gal-head-text p{display:none}.gal-close{flex:none;order:2;width:40px}.gal-head-actions{flex:100%;order:3;margin:0}.gal-head-btn{flex:1;justify-content:center;height:42px;font-size:14px}.gal-tabs{padding:0 10px}.gal-tab{height:44px;padding:0 10px}.gal-bar{gap:8px;padding:12px 16px 0}.gal-search{flex:100%;height:44px}.gal-search input{font-size:16px}.gal-fit{flex-wrap:wrap;flex:100%;row-gap:4px;height:auto;min-height:44px;padding:5px 10px 5px 6px}.gal-fit-toggle{white-space:normal;text-align:left;flex:1 1 0;line-height:1.15}.gal-fit-field input{width:64px;height:32px;font-size:16px}.gal-chips{padding:10px 16px 0}.gal-chip{height:40px}.gal-body{padding:14px 16px calc(24px + env(safe-area-inset-bottom))}.gal-grid{grid-template-columns:minmax(0,1fr);gap:14px}.is-empty-project .gal-card-open{grid-template-rows:auto;grid-template-columns:auto minmax(0,1fr);align-items:center}.is-empty-project .gal-thumb{aspect-ratio:auto;border:1px dashed var(--line-2);border-radius:10px;width:48px;height:48px;margin:10px 0 10px 12px}.is-empty-project .gal-thumb svg{width:22px;height:22px}.is-empty-project .gal-card-body{gap:2px;padding:10px 14px 10px 12px}.is-empty-project .gal-card-desc{-webkit-line-clamp:1}.gal-card:hover{transform:none}.gal-info{padding:12px 16px calc(16px + env(safe-area-inset-bottom))}.gal-actions{padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--g-850) 18%);margin:0 -16px -16px;position:sticky;bottom:0}.gal-action{min-height:48px}.gal-mini-plan{display:none}.gal-fit-head{padding:max(12px, env(safe-area-inset-top)) 16px 12px}.gal-fit-plan{padding:12px 16px}.gal-fit-form{padding:14px 16px 18px}.gal-fit-row.is-four{grid-template-columns:repeat(2,minmax(0,1fr))}.gal-field-box{height:40px}.gal-field-box input{font-size:16px}.gal-fit-foot{padding:10px 16px calc(12px + env(safe-area-inset-bottom))}.gal-fit-foot .btn{flex:1;justify-content:center;height:46px}.gal-admin-lang{grid-template-columns:minmax(0,1fr)}.gal-admin-missing{flex:100%}.gal-admin .efs-modal-foot .btn{flex:1;justify-content:center;height:44px}.gal-admin-lang-name{grid-row:auto;padding-top:0}.gal-admin-runs li{grid-template-columns:1fr}.gal-admin-runs em{grid-column:1}}@media (prefers-reduced-motion:reduce){.gal,.gal-backdrop,.gal-fit-sheet,.gal-card,.gal-stage canvas,.gal-stage-thumb{transition:none;animation:none}.gal-card.is-skeleton .gal-thumb,.gal-line{animation:none}}.gal-fit-plan .gal-plan-gap{stroke:var(--g-900)}.parts-list .outliner-item{align-items:flex-start;padding-right:9px}.parts-no{min-width:22px;font-family:var(--mono);text-align:right;color:var(--text-3);flex-shrink:0;padding-top:1px;font-size:11px}.parts-list .outliner-dims{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cost-dash{--cost-boards:#1a8ae0;--cost-edging:#d95926;--cost-hardware:#199e70;--cost-extras:#c98500;gap:12px;display:grid}.cost-boards{--c:var(--cost-boards)}.cost-edging{--c:var(--cost-edging)}.cost-hardware{--c:var(--cost-hardware)}.cost-extras{--c:var(--cost-extras)}.cost-hero{gap:4px;display:grid}.cost-hero-value{font-family:var(--body);letter-spacing:-.01em;color:#e8ebee;font-variant-numeric:tabular-nums;font-size:40px;font-weight:600;line-height:1.1}.cost-dash.is-compact .cost-hero-value{font-size:28px}.cost-hero-note{color:var(--text-3);font-size:12px;line-height:1.35}.cost-bar{background:var(--g-850);border-radius:4px;gap:2px;height:12px;display:flex;overflow:hidden}.cost-bar.is-empty{background:var(--g-750)}.cost-seg{background:var(--c);flex-basis:0;min-width:3px;transition:opacity .15s}.cost-seg.is-dim,.cost-group.is-dim .cost-dot{opacity:.35}.cost-groups{gap:2px;display:grid}.cost-group{border-radius:var(--radius);transition:background .12s}.cost-group.is-open{background:#ffffff06}.cost-row{border-radius:var(--radius);width:100%;min-height:34px;color:var(--text);text-align:left;background:0 0;border:0;grid-template-columns:10px minmax(0,1fr) auto auto auto 14px;align-items:center;gap:8px;padding:4px 6px 4px 8px;transition:background .12s;display:grid}.cost-row:hover:not(:disabled){background:var(--g-800)}.cost-row:disabled{cursor:default;color:var(--text-3)}.cost-row:disabled .cost-chevron{visibility:hidden}.cost-dot{background:var(--c);border-radius:3px;width:10px;height:10px;transition:opacity .15s}.cost-row-label{overflow-wrap:anywhere;line-height:1.2}.cost-row-amount{font-variant-numeric:tabular-nums;font-weight:500}.cost-row-share{text-align:right;min-width:34px;color:var(--text-3);font-variant-numeric:tabular-nums;font-size:12px}.cost-chevron{color:var(--text-3);transition:rotate .15s;rotate:-90deg}.cost-group.is-open .cost-chevron{rotate:0deg}.cost-missing-mark{width:16px;height:16px;color:var(--danger);background:#e5676b29;border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:inline-grid}.cost-items{gap:1px;margin:0;padding:2px 8px 8px 26px;list-style:none;display:grid}.cost-items li{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label amount""detail amount";column-gap:10px;padding:5px 0;font-size:12.5px;display:grid}.cost-item-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;grid-area:label;overflow:hidden}.cost-item-detail{color:var(--text-3);font-variant-numeric:tabular-nums;grid-area:detail;font-size:11.5px}.cost-item-amount{color:var(--text-2);font-variant-numeric:tabular-nums;grid-area:amount;align-self:center}.cost-items li.is-missing .cost-item-amount{color:var(--danger);font-size:11.5px}.cost-warning{border-radius:var(--radius);color:var(--text-2);background:#e5676b12;border:1px solid #e5676b38;align-items:flex-start;gap:8px;margin:0;padding:8px 10px;font-size:12px;display:flex}.cost-warning .cost-missing-mark{flex-shrink:0}.cost-quote-line{border-top:1px solid var(--line);color:var(--text-2);justify-content:space-between;align-items:baseline;gap:10px;padding:10px 2px 2px;display:flex}.cost-quote-line b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.settings-section-body>.cost-full{max-width:none}.cost-full{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:22px}.cost-col{gap:16px;min-width:0;display:grid}.cost-quote{background:var(--g-900);border:1px solid var(--line);border-radius:10px;padding:14px}.cost-quote-head{justify-content:space-between;align-items:center;display:flex}.cost-form-title{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:600}.cost-quote-head .cost-form-title{letter-spacing:.02em;text-transform:none;color:var(--text);font-size:13px}.cost-form{gap:14px;display:grid}.cost-form-group{gap:8px;display:grid}.cost-form .prop-row{grid-template-columns:minmax(96px,36%) minmax(0,1fr)}.cost-form-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px 14px;display:grid}.cost-form-grid .prop-row{grid-template-columns:minmax(0,1fr) 88px}.cost-quote-sum{border-top:1px solid var(--line);font-variant-numeric:tabular-nums;gap:2px;padding-top:12px;display:grid}.cost-sum-row{color:var(--text-2);justify-content:space-between;gap:12px;padding:2px 0;font-size:13px;display:flex}.cost-sum-row.is-sub{color:var(--text-3)}.cost-sum-total{border-top:1px solid var(--line-2);color:var(--text);justify-content:space-between;align-items:baseline;gap:12px;margin-top:8px;padding-top:10px;display:flex}.cost-sum-total span:last-child{font-size:22px;font-weight:600}.cost-export{justify-content:center;width:100%}.cost-pricelist{border-top:1px solid var(--line);gap:6px;padding-top:14px;display:grid}.cost-pricelist-note{color:var(--text-3);margin:0;font-size:12px}.cost-actions-row{flex-wrap:wrap;gap:6px;display:flex}@media (width<=860px){.cost-full{grid-template-columns:minmax(0,1fr)}}@media (width<=430px){.cost-hero-value{font-size:30px}.cost-row{min-height:44px}.cost-form-grid .prop-row,.cost-form .prop-row{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}}.prod-action{justify-content:center;width:100%}.prod-actions{gap:4px;display:grid}.prod-actions-row{align-items:center;gap:6px;display:flex}.prod-actions-row>.field-select{flex:1}.prod-sub{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff04}.prod-sub-toggle{width:100%;height:30px;color:var(--text-2);text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:0 8px;display:flex}.prod-sub-toggle:hover{color:var(--text)}.prod-sub.is-open .panel-chevron{rotate:0deg}.prod-sub-body{border-top:1px solid var(--line);gap:8px;padding:6px 10px 10px;display:grid}.prod-group-title{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;margin-top:4px;font-size:12px}.prod-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--g-950);max-height:220px;display:grid;overflow:auto}.prod-list button{color:var(--text);text-align:left;background:0 0;border:0;gap:8px;padding:4px 8px;display:flex}.prod-list button:hover{background:var(--g-800)}.prod-list button.is-active{background:var(--blue-soft)}.prod-list-num{width:22px;color:var(--text-3);font-family:var(--mono);font-size:12px}.prod-list-header{color:var(--text-3)}.prod-est-box{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff04;gap:2px;padding:6px 8px;display:grid}.prod-est-title{color:var(--text);font-weight:600}.prod-est-line{font-family:var(--mono);color:var(--text-2);justify-content:space-between;gap:10px;font-size:12px;display:flex}.prod-est-line:before{content:"";background:#4caf7a;border-radius:50%;flex:none;width:7px;height:7px;margin-top:5px}.prod-est-line.is-missing:before{background:var(--danger)}.prod-est-line>span:first-of-type{flex:1}.prod-est-total{border-radius:var(--radius);background:var(--blue-soft);color:var(--text);font-weight:600;font-family:var(--mono);justify-content:space-between;padding:8px;display:flex}.prod-note{color:var(--text-3);margin:0;font-size:12px}.prod-issues{gap:4px;max-height:300px;display:grid;overflow:auto}.prod-issue{align-items:flex-start;gap:8px;font-size:12.5px;display:flex}.prod-issue-mark{color:var(--g-950);background:#e0b45a;border-radius:4px;flex:none;margin-top:2px;padding:0 5px;font-size:10.5px;font-weight:600}.prod-issue.is-error .prod-issue-mark{background:var(--danger)}.prod-issue>span:nth-child(2){flex:1}.prod-link{color:var(--blue-text);white-space:nowrap;background:0 0;border:0;padding:0;font-size:12px}.prod-modal-backdrop{z-index:200;background:#05060899;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.prod-modal{background:var(--g-850);border:1px solid var(--line-2);border-radius:12px;grid-template-rows:auto 1fr auto;width:min(460px,100%);max-height:calc(100vh - 32px);display:grid;box-shadow:0 24px 60px -20px #000000e6}.prod-modal.is-wide{width:min(620px,100%)}.prod-modal-head{font-family:var(--display);border-bottom:1px solid var(--line);padding:14px 16px 10px;font-size:15px;font-weight:600}.prod-modal-body{align-content:start;gap:8px;padding:14px 16px;display:grid;overflow:auto}.prod-modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:10px 16px 14px;display:flex}.prod-code-row{grid-template-columns:1fr 180px;align-items:center;gap:10px;display:grid}.prod-code-row>span{color:var(--text-2)}.prod-toasts{z-index:300;pointer-events:none;gap:6px;display:grid;position:fixed;bottom:40px;left:50%;translate:-50%}.prod-toast{background:var(--g-750);border:1px solid var(--line-2);max-width:min(640px,100vw - 32px);color:var(--text);border-radius:8px;padding:9px 14px;transition:opacity .4s;box-shadow:0 14px 34px -14px #000000e6}.prod-toast-warning{border-color:#e0b45a}.prod-toast-error{border-color:var(--danger)}.prod-toast.is-leaving{opacity:0}.prod-rot svg{rotate:90deg}.prod-est-line>span{white-space:pre-wrap}.tpl-launcher{z-index:5;border:1px solid var(--line-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:34px;color:var(--text);background:#15181bb8;border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 11px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex;position:absolute;top:14px;right:14px;box-shadow:0 10px 26px -14px #000c}.tpl-launcher:hover{background:#24282de6;border-color:#4da8ea73}.tpl-launcher svg{color:var(--blue-text)}.tpl-launcher kbd{padding:0 4px;font-size:10px}.tpl-drawer{z-index:6;border:1px solid var(--line-2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#15181bf0;border-radius:12px;grid-template-rows:auto auto auto minmax(0,1fr) auto;width:min(372px,100% - 20px);animation:.16s ease-out tpl-in;display:grid;position:absolute;top:10px;bottom:10px;right:10px;box-shadow:0 24px 60px -24px #000000e6}@keyframes tpl-in{0%{opacity:0;transform:translate(12px)}}.tpl-head{align-items:center;gap:8px;padding:10px 8px 6px 16px;display:flex}.tpl-title{font-family:var(--display);color:var(--text);flex:1;font-size:15px;font-weight:650}.tpl-search{margin:4px 12px 8px;position:relative}.tpl-search svg{color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:10px;translate:0 -50%}.tpl-search .field{padding-left:32px}.tpl-search .tpl-clear{width:26px;height:26px;position:absolute;top:3px;right:3px}.tpl-cats{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:5px;padding:0 12px 10px;display:flex}.tpl-pill{border:1px solid var(--line);height:26px;color:var(--text-2);white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.tpl-pill:hover{background:var(--g-800);color:var(--text)}.tpl-pill.is-active{background:var(--blue-soft);color:var(--text);border-color:#4da8ea80}.tpl-pill .count{padding:0 6px;font-size:10.5px}.tpl-scroll{min-height:0;padding:6px 12px 14px;overflow-y:auto}.tpl-section{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);justify-content:space-between;align-items:baseline;margin:12px 2px 8px;font-size:11.5px;font-weight:600;display:flex}.tpl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.tpl-card{text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;gap:5px;padding:5px 5px 8px;transition:background .12s,border-color .12s;display:grid;position:relative}.tpl-card:hover{background:var(--g-850);border-color:var(--line-2)}.tpl-card:focus-visible{border-color:var(--blue);outline:none}.tpl-card.is-busy{opacity:.6}.tpl-thumb{aspect-ratio:1;object-fit:cover;background:#0e151a;border-radius:9px;width:100%;display:block}.tpl-thumb-empty{color:var(--text-3);place-items:center;display:grid}.tpl-name{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0 3px;font-size:12.5px;line-height:1.3;display:-webkit-box;overflow:hidden}.tpl-size{font-family:var(--mono);color:var(--text-3);padding:0 3px;font-size:10.5px}.tpl-actions{border:1px solid var(--line-2);opacity:0;background:#0e1012d9;border-radius:8px;gap:2px;padding:2px;transition:opacity .12s;display:flex;position:absolute;top:9px;right:9px}.tpl-card:hover .tpl-actions,.tpl-card:focus-within .tpl-actions{opacity:1}.tpl-actions .icon-btn{width:26px;height:26px}.tpl-empty{color:var(--text-3);margin:18px 4px;font-size:12.5px}.tpl-foot{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:10px 12px 12px;display:flex}.tpl-foot .btn{flex:auto;justify-content:center}.tpl-hint{color:var(--text-3);flex-basis:100%;margin:2px 2px 0;font-size:11.5px}.efs-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#06080a8c;place-items:center;padding:16px;animation:.12s ease-out efs-fade;display:grid;position:fixed;inset:0}@keyframes efs-fade{0%{opacity:0}}.efs-modal{background:var(--g-850);border:1px solid var(--line-2);width:min(440px,100%);max-height:calc(100vh - 32px);color:var(--text);border-radius:12px;grid-template-rows:auto minmax(0,1fr) auto;display:grid;box-shadow:0 30px 80px -24px #000000e6}.efs-modal.is-wide{width:min(760px,100%)}.efs-modal-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 10px 10px 18px;display:flex}.efs-modal-head h2{font-family:var(--display);flex:1;margin:0;font-size:16px;font-weight:650}.efs-modal-body{align-content:start;gap:10px;padding:16px 18px;display:grid;overflow-y:auto}.efs-modal-body p{color:var(--text-2);margin:0}.efs-modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 18px 14px;display:flex}.efs-modal-foot .btn-ghost{height:34px;padding:0 14px;font-size:13.5px}.efs-modal .prop-row{grid-template-columns:30% 1fr}.efs-modal .prop-label{text-align:left}.efs-modal textarea.field{resize:vertical;height:64px;font:inherit;padding:7px 10px}.btn-primary.btn-danger-solid{box-shadow:none;background:#c4474c}.btn-primary.btn-danger-solid:hover{background:#d4555a}.recent-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.recent-card{border:1px solid var(--line);background:var(--g-900);text-align:left;border-radius:10px;gap:4px;padding:6px 6px 10px;transition:border-color .12s,background .12s;display:grid;position:relative}.recent-card:hover{background:var(--g-800);border-color:#4da8ea80}.recent-card.is-current{border-color:var(--blue)}.recent-thumb{aspect-ratio:16/10;object-fit:cover;background:radial-gradient(120% 90% at 50% 30%,#30363d 0%,#22262b 45%,#16191c 100%);border-radius:7px;width:100%}.recent-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;padding:2px 4px 0;font-weight:500;overflow:hidden}.recent-meta{font-family:var(--mono);color:var(--text-3);padding:0 4px;font-size:11px}.recent-card .tpl-actions{top:10px;right:10px}.recent-card:hover .tpl-actions{opacity:1}.keys-group{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:6px 0 2px;font-size:11.5px;font-weight:600}.keys-table{grid-template-columns:128px 1fr;align-items:center;gap:6px 16px;display:grid}.keys-table kbd+kbd{margin-left:4px}.keys-table .is-muted{color:var(--text-3)}.efs-toast{z-index:8;max-width:min(560px,100vw - 32px);color:var(--text);background:#15181bf2;border:1px solid #4da8ea73;border-radius:999px;padding:9px 16px;animation:.18s ease-out efs-toast;position:absolute;top:14px;left:50%;translate:-50%;box-shadow:0 16px 40px -16px #000000e6}.efs-toast.beside-drawer{max-width:calc(100% - 410px);left:calc(50% - 191px)}.efs-toast.is-error{border-color:#e5676b8c}@keyframes efs-toast{0%{opacity:0;translate:-50% -8px}}.proj-note{color:var(--text-2);margin:0;font-size:12.5px}.proj-buttons{flex-wrap:wrap;gap:6px;display:flex}.proj-buttons .btn{white-space:normal;text-align:center;flex:1 1 0;justify-content:center;min-width:0;height:auto;min-height:30px;padding:5px 10px;line-height:1.25}.proj-buttons .icon-btn{flex:none}.proj-box{border:1px solid var(--line);background:#ffffff04;border-radius:8px;gap:8px;padding:10px 10px 12px;display:grid}.proj-box-title{color:var(--text-2);font-size:12.5px}@media (width<=720px){.tpl-drawer{width:calc(100% - 12px);top:6px;bottom:6px;right:6px}.tpl-launcher kbd{display:none}}.pub-panel{gap:9px}.pub-panel .panel-actions{border-top:0;margin-top:0;padding-top:0}.pub-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.pub-publish{justify-content:center;width:100%}.pub-progress{color:var(--text-2);gap:6px;font-size:12px;display:grid}.pub-bar,.pub-first-bar,.tour-bar{background:var(--g-950);border-radius:999px;height:4px;overflow:hidden}.pub-bar i,.pub-first-bar i,.tour-bar i{background:var(--blue);transform-origin:0;height:100%;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:block}.pub-link-row{align-items:center;gap:4px;display:flex}.pub-link{flex:1;justify-content:flex-start;min-width:0}.pub-link span{text-overflow:ellipsis;overflow:hidden}.pub-link:disabled,.btn:disabled{opacity:.45;cursor:default}.pub-sub{border:1px solid var(--line);border-radius:var(--radius);background:#0e101259;margin-top:4px}.pub-sub-head{width:100%;height:30px;color:var(--text);font-family:var(--display);background:0 0;border:0;align-items:center;gap:6px;padding:0 8px;font-size:13px;font-weight:600;display:flex}.pub-sub-body{border-top:1px solid var(--line);gap:8px;padding:6px 10px 12px;display:grid}.pub-sub.is-open .panel-chevron{rotate:0deg}.pub-decor{font-family:var(--mono);font-size:12.5px}.pub-note{color:var(--text-3);margin:0;font-size:12px;line-height:1.45}.pub-note a,.pub-legal a,.pub-manual-link{color:var(--blue-text);text-decoration:none}.pub-note a:hover,.pub-legal a:hover,.pub-manual-link:hover{text-decoration:underline}.pub-legal{flex-wrap:wrap;gap:4px 12px;padding-top:4px;font-size:12px;display:flex}.pub-alert{border-radius:var(--radius);color:#f3c0c2;background:#e5676b1f;border:1px solid #e5676b59;margin:0;padding:8px 10px;font-size:12.5px}.pub-key,.pub-block{gap:7px;display:grid}.pub-block{border-top:1px solid var(--line);padding-top:8px}.pub-key .btn,.pub-block .btn{justify-content:center}.pub-account-head{color:var(--text);align-items:center;gap:8px;font-weight:500;display:flex}.pub-account-head span{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.pub-status{border-radius:var(--radius);border:1px solid var(--line);align-items:center;gap:8px;padding:9px 10px;font-size:12.5px;display:flex}.pub-status.is-ok{color:#bfe6b7;background:#7ccf6b14;border-color:#7ccf6b40}.pub-status.is-alert{color:#f3c0c2;background:#e5676b1a;border-color:#e5676b59}.pub-status-dot{background:var(--danger);color:#1c1f23;border-radius:50%;place-items:center;width:16px;height:16px;font-size:11px;font-weight:700;display:inline-grid}.pub-actions{gap:5px;display:grid}.pub-actions .btn{justify-content:center}.pub-forget{color:var(--text-3);justify-self:start}.pub-dev{border-radius:var(--radius);background:#ffb5470d;border:1px dashed #ffb54766;gap:7px;margin-top:6px;padding:9px 10px;font-size:12px;display:grid}.pub-dev-title{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#ffb547;font-size:10.5px}.pub-tours{gap:2px;margin:0;padding:0;list-style:none;display:grid}.pub-tour{border-radius:var(--radius);align-items:center;gap:8px;padding:4px 4px 4px 6px;display:flex}.pub-tour:hover{background:var(--g-800)}.pub-tour-icon{width:22px;height:22px;color:var(--blue-text);background:var(--blue-soft);border-radius:6px;place-items:center;display:inline-grid}.pub-tour.is-done .pub-tour-icon{color:#bfe6b7;background:#7ccf6b1f}.pub-tour-text{flex:1;min-width:0;line-height:1.25;display:grid}.pub-tour-text span{color:var(--text);overflow-wrap:anywhere}.pub-tour-text small{color:var(--text-3);font-size:11px}.pub-tour .icon-btn{width:26px;height:26px;font-weight:600;text-decoration:none}.pub-tour-start{gap:5px;height:26px;padding:0 9px}.pub-first{background:linear-gradient(160deg,#007acc29,#007acc0a);border:1px solid #007acc4d;border-radius:9px;gap:6px;padding:10px;display:grid}.pub-first-head{color:var(--text);font-family:var(--display);align-items:center;gap:7px;font-weight:600;display:flex}.pub-first-head span{flex:1}.pub-first-head small{font-family:var(--body);color:var(--text-2);font-size:11.5px;font-weight:400}.pub-first-head .icon-btn{width:24px;height:24px}.pub-first-item{color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:4px 2px;font-size:12.5px;display:flex}.pub-first-item:hover span:last-child{color:var(--blue-text)}.pub-first-item.is-done span:last-child{color:var(--text-3);text-decoration:line-through}.pub-check{border:1px solid var(--line-2);background:var(--g-750);color:#eef6fc;border-radius:4px;place-items:center;width:16px;height:16px;display:inline-grid}.pub-first-item.is-done .pub-check{background:var(--blue);border-color:var(--blue)}.pub-manual-link{justify-self:start;font-size:12px}.pub-toasts{z-index:260;pointer-events:none;justify-items:start;gap:6px;width:min(520px,100vw - 268px);display:grid;position:fixed;bottom:88px;left:252px}@media (width<=900px){.pub-toasts{width:calc(100vw - 32px);left:16px}}.pub-toast{border:1px solid var(--line-2);color:var(--text);overflow-wrap:anywhere;background:#1c1f23f5;border-radius:9px;padding:9px 14px;font-size:12.5px;animation:.22s cubic-bezier(.2,.8,.2,1) pub-in;box-shadow:0 14px 36px -12px #000000d9}.pub-toast.is-error{color:#f3c0c2;border-color:#e5676b8c}.pub-toast.is-warning{color:#ffd99c;border-color:#ffb54780}@keyframes pub-in{0%{opacity:0;transform:translateY(6px)scale(.98)}}.pub-modal{z-index:110;background:#0406088c;place-items:center;padding:16px;animation:.18s ease-out pub-fade;display:grid;position:fixed;inset:0}@keyframes pub-fade{0%{opacity:0}}.pub-dialog{background:var(--g-850);border:1px solid var(--line-2);border-radius:14px;gap:10px;width:min(440px,100%);max-height:calc(100vh - 32px);padding:18px 18px 16px;animation:.22s cubic-bezier(.2,.8,.2,1) pub-in;display:grid;overflow:auto;box-shadow:0 30px 80px -24px #000000e6}.pub-dialog h3{font-family:var(--display);color:var(--text);margin:0;font-size:16px;font-weight:650}.pub-dialog p{color:var(--text-2);margin:0;line-height:1.5}.pub-dialog-head{color:var(--blue-text);align-items:center;gap:8px;display:flex}.pub-dialog-head h3{flex:1}.pub-dialog-buttons{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.pub-danger{box-shadow:none;background:#b9474b}.pub-danger:hover{background:#cf5256}.pub-qr{width:min(360px,100%)}.pub-qr-code{background:#fff;border-radius:10px;justify-self:center;width:240px;height:240px;padding:10px}.pub-qr-code svg{width:100%;height:100%;display:block}.pub-qr-url{font-family:var(--mono);font-size:11.5px}.pub-launcher .panel-body{padding:0}.pub-banner{z-index:5;color:#f6d3d4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#3c1416e0;border:1px solid #e5676b8c;border-radius:10px;max-width:min(640px,100% - 32px);padding:9px 14px;font-size:12.5px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.pub-welcome{z-index:80;background:#1c1f23f7;border:1px solid #007acc73;border-radius:14px;gap:8px;width:min(360px,100vw - 32px);padding:16px;animation:.3s cubic-bezier(.2,.8,.2,1) pub-in;display:grid;position:fixed;bottom:92px;left:16px;box-shadow:0 24px 60px -20px #000000e6}.pub-welcome p{color:var(--text-2);margin:0;line-height:1.5}.pub-welcome-head{color:var(--blue-text);align-items:center;gap:8px;display:flex}.pub-welcome-head h3{font-family:var(--display);color:var(--text);margin:0;font-size:15px}.pub-welcome-never{font-size:12px}.ai-fab{z-index:4;height:38px;color:var(--text);font-family:var(--display);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#15181bd1;border:1px solid #4da8ea73;border-radius:999px;align-items:center;gap:8px;padding:0 15px 0 12px;font-weight:600;transition:transform .15s,border-color .15s;display:inline-flex;position:absolute;bottom:14px;right:14px;box-shadow:0 10px 30px -12px #000c}.ai-fab svg{color:var(--blue-text)}.ai-fab:hover{border-color:var(--blue-text);transform:translateY(-1px)}@container viewport (width<=680px){.ai-fab{bottom:66px}}.ai-fab.is-busy svg{animation:1.2s ease-in-out infinite ai-pulse}@keyframes ai-pulse{50%{opacity:.35;transform:scale(.85)}}.ai-drawer{z-index:6;border:1px solid var(--line-2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#1c1f23f7;border-radius:12px;flex-direction:column;width:min(390px,100% - 20px);animation:.24s cubic-bezier(.2,.8,.2,1) ai-slide;display:flex;position:absolute;top:10px;bottom:10px;right:10px;overflow:hidden;box-shadow:0 30px 70px -24px #000000e6}@keyframes ai-slide{0%{opacity:0;transform:translate(14px)}}.ai-head{border-bottom:1px solid var(--line);color:var(--text);font-family:var(--display);align-items:center;gap:8px;padding:8px 8px 8px 14px;font-weight:650;display:flex}.ai-head svg:first-child{color:var(--blue-text)}.ai-head>span:first-of-type{flex:0 auto}.ai-head .badge{margin-right:auto}.ai-body{flex-direction:column;flex:1;gap:9px;min-height:0;padding:12px 14px;display:flex;overflow-y:auto}.ai-beta{color:#e9cf9f;background:#ffb54712;border:1px solid #ffb54740;border-radius:8px;margin:0;padding:8px 10px;font-size:11.5px;line-height:1.45}.ai-intro,.ai-note{color:var(--text-2);margin:0;line-height:1.5}.ai-error{color:#f3c0c2;margin:0;line-height:1.45}.ai-msg{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.ai-user{background:var(--blue-soft);max-width:88%;color:var(--text);border:1px solid #007acc59;border-radius:12px 12px 4px;align-self:flex-end;padding:8px 11px}.ai-answer{color:var(--text);animation:.2s ease-out pub-in}.ai-status{color:var(--text-2);align-items:center;gap:8px;font-size:12px;display:flex}.ai-status span:nth-child(2){flex:1}.ai-spinner{border:2px solid var(--blue-soft);border-top-color:var(--blue-text);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite ai-spin}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-offers{gap:5px;display:grid}.ai-offers .btn{justify-content:flex-start}.ai-tour{background:linear-gradient(160deg,#007acc2e,#007acc0d);border:1px solid #007acc59;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;padding:10px 12px;animation:.3s cubic-bezier(.34,1.56,.64,1) pub-in;display:grid}.ai-tour-label{text-transform:uppercase;letter-spacing:.06em;color:var(--blue-text);grid-column:1;font-size:11px}.ai-tour-title{color:var(--text);grid-column:1;font-weight:500}.ai-tour .btn{grid-area:1/2/span 2}.ai-sources{gap:3px;font-size:12px;display:grid}.ai-sources span{color:var(--text-3)}.ai-sources a{color:var(--blue-text);text-decoration:none}.ai-sources a:hover{text-decoration:underline}.ai-foot{border-top:1px solid var(--line);background:#0e101259;gap:7px;padding:10px 14px 12px;display:grid}.ai-input{resize:vertical;height:auto;min-height:64px;font-family:var(--body);padding:8px 10px;line-height:1.45}.ai-row{align-items:center;gap:6px;display:flex}.ai-spacer{flex:1}.ai-images{flex-wrap:wrap;gap:5px;display:flex}.ai-image{background:var(--g-750);border-radius:999px;align-items:center;gap:5px;padding:3px 4px 3px 7px;font-size:11.5px;display:inline-flex}.ai-image button{width:18px;height:18px;color:var(--text-2);background:0 0;border:0;border-radius:50%;place-items:center;display:inline-grid}.ai-quota{color:var(--text-3);font-size:11.5px;display:grid}.ai-privacy{color:var(--text-3);margin:0;font-size:10.5px;line-height:1.4}.tour-root{z-index:250;pointer-events:none;position:fixed;inset:0}.tour-dim{position:absolute;inset:0}.tour-block{pointer-events:auto;position:absolute}.tour-ring{box-shadow:0 0 0 2px var(--blue-text), 0 0 24px 2px #4da8ea59;border-radius:14px;position:absolute}.tour-ring.is-breathing:after{content:"";box-shadow:0 0 0 2px var(--blue-text);border-radius:14px;animation:1.6s ease-out infinite tour-breathe;position:absolute;inset:0}@keyframes tour-breathe{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.08)}}.tour-hand{color:#fff;filter:drop-shadow(0 4px 8px #0009);width:0;height:0;position:absolute}.tour-hand svg{transform-origin:10px 4px;animation:1.2s ease-in-out infinite tour-tap;position:absolute;top:-2px;left:-6px}.tour-ripple{border:2px solid var(--blue-text);border-radius:50%;width:28px;height:28px;animation:1.2s ease-out infinite tour-ripple;position:absolute;top:-14px;left:-14px}@keyframes tour-tap{0%,to{transform:scale(1)rotate(0)}45%{transform:scale(.8)rotate(-8deg)}}@keyframes tour-ripple{0%,40%{opacity:0;transform:scale(.4)}50%{opacity:.9}to{opacity:0;transform:scale(1.5)}}.tour-card{pointer-events:auto;will-change:transform;background:#1c1f23fa;border:1px solid #4da8ea59;border-radius:14px;gap:10px;width:360px;max-width:calc(100vw - 32px);padding:14px 16px;display:grid;position:absolute;top:0;left:0;box-shadow:0 30px 80px -20px #000000f2}.tour-shake{gap:10px;display:grid}.tour-shake.is-shaking{animation:.32s ease-in-out tour-shake-x}@keyframes tour-shake-x{20%{translate:-6px}50%{translate:6px}75%{translate:-3px}}.tour-card-head{color:var(--blue-text);align-items:center;gap:7px;font-size:12px;font-weight:500;display:flex}.tour-card-head span{flex:1}.tour-card-head .icon-btn{width:26px;height:26px}.tour-card-body{gap:6px;animation:.18s cubic-bezier(.05,.7,.1,1) tour-content;display:grid}@keyframes tour-content{0%{opacity:0;transform:translateY(6px)}}.tour-card-body h3{font-family:var(--display);color:var(--text);margin:0;font-size:16px;font-weight:650}.tour-card-body p{color:var(--text-2);margin:0;line-height:1.5}.tour-missing{font-size:12px;color:#ffd99c!important}.tour-missing a{color:var(--blue-text)}.tour-doit{align-items:center;gap:6px;font-size:12px;display:flex;color:var(--blue-text)!important}.tour-doit svg{animation:.9s ease-in-out infinite tour-bob}@keyframes tour-bob{50%{transform:translateY(-3px)}}.tour-progress{color:var(--text-3);gap:5px;font-size:11.5px;display:grid}.tour-buttons{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.tour-skip{color:var(--text-3);background:0 0;border:0;font-size:12px;text-decoration:underline}.tour-skip:hover{color:var(--text)}.tour-done{height:46px;position:relative}.tour-check{color:#fff;background:#3e9b5a;border-radius:50%;place-items:center;width:42px;height:42px;animation:.5s cubic-bezier(.34,1.8,.64,1) tour-pop;display:grid;position:absolute;top:0;left:0}@keyframes tour-pop{0%{opacity:0;transform:scale(.2)}}.tour-confetti{position:absolute;top:21px;left:21px}.tour-confetti i{opacity:0;border-radius:2px;width:6px;height:9px;animation:.9s cubic-bezier(.1,.8,.3,1) forwards tour-confetti;position:absolute}@keyframes tour-confetti{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(var(--x), var(--y)) rotate(var(--r))}}@media (width<=640px){.tour-card{width:calc(100vw - 32px)}.ai-drawer{width:auto;left:10px}}@media (prefers-reduced-motion:reduce){.pub-toast,.pub-dialog,.pub-welcome,.ai-drawer,.ai-tour,.tour-card-body,.tour-check{animation:none}}@media (width<=720px){.ai-fab{justify-content:center;width:44px;height:44px;padding:0;inset:12px auto auto 12px}.ai-fab span{display:none}.pub-welcome{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));width:auto}}.pub-tour-text .pub-tour-desc{color:var(--text-2);font-size:11.5px;line-height:1.35}.pub-tours-tools{align-items:center;gap:10px;display:flex}.pub-tours-search{flex:1;min-width:0}.pub-tours-count{color:var(--text-3);white-space:nowrap;flex:none;font-size:11.5px}.pub-tours-topics{flex-wrap:wrap;gap:6px;display:flex}.pub-topic-chip{border:1px solid var(--line-2);background:var(--g-850);height:28px;color:var(--text-2);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;display:inline-flex}.pub-topic-chip small{color:var(--text-3);font-size:10.5px}.pub-topic-chip:hover{color:var(--text);border-color:var(--g-650)}.pub-topic-chip.active{color:#fff;background:var(--blue-soft);border-color:#4da8ea8c}.pub-topic-chip.is-done small{color:#bfe6b7}.pub-tour-topic{gap:4px;display:grid}.pub-tour-topic-title{color:var(--text-3);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:baseline;margin:6px 0 0;padding:0 6px;font-size:10.5px;font-weight:600;display:flex}.pub-tour-topic-title small{letter-spacing:0;font-weight:500}.pub-tours-browser .pub-tour{align-items:flex-start;padding:7px 6px}.pub-tours-browser .pub-tour-icon{margin-top:1px}.pub-launcher{width:min(620px,100%)}.pub-launcher .pub-tours-browser{max-height:min(66vh,640px);padding-right:4px;overflow:auto}.pub-help-links{flex-wrap:wrap;gap:8px;display:flex}.pub-help-links .btn{gap:7px;text-decoration:none}.pub-help-btn{width:34px;height:34px}.tour-card-body kbd{border:1px solid var(--line-2);background:var(--g-800);color:var(--text);font:600 11px/18px var(--font-mono,ui-monospace, monospace);vertical-align:1px;border-radius:5px;margin:0 1px;padding:0 5px;display:inline-block}.tour-card-body b{color:#fff;font-weight:600}.tour-buttons .tour-helper{color:var(--blue-text);border-color:#4da8ea73}@media (width<=720px){.pub-launcher{width:100%;max-height:calc(100dvh - 16px)}.pub-launcher .pub-tours-browser{max-height:none}.pub-tours-topics{scrollbar-width:none;flex-wrap:nowrap;margin:0 -2px;padding:0 2px 2px;overflow-x:auto}.pub-topic-chip{flex:none}.pub-tours-browser .pub-tour-start{height:32px}.tour-card{padding:12px 14px}.tour-buttons{flex-wrap:wrap}}.room-box{background:var(--g-900);border:1px solid var(--line);border-radius:8px;gap:8px;padding:10px;display:grid}.room-sub{gap:8px;margin-top:2px;display:grid}.room-sub-head{height:30px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:0 6px;font-weight:500;display:flex}.room-sub-head:hover{background:var(--g-800)}.room-sub-chevron{color:var(--text-3);transition:rotate .15s;rotate:-90deg}.room-sub-head.is-open .room-sub-chevron{rotate:0deg}.room-count{background:var(--g-750);min-width:20px;color:var(--text-2);text-align:center;border-radius:999px;margin-left:auto;padding:0 6px;font-size:11px}.room-sub-body{gap:8px;display:grid}.room-list-wrap{grid-template-columns:1fr auto;align-items:start;gap:6px;display:grid}.room-list{border-radius:var(--radius);background:var(--g-950);border:1px solid var(--line);min-height:112px;max-height:210px;margin:0;padding:3px;list-style:none;overflow:auto}.room-list-item{width:100%;height:28px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;padding:0 8px;display:flex}.room-list-item:hover{background:var(--g-800)}.room-list-item.is-selected{background:var(--blue-soft);box-shadow:inset 2px 0 0 var(--blue)}.room-list-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.room-list-name b{color:var(--text-2);margin-left:4px;font-weight:600}.room-list-dims{font-family:var(--mono);color:var(--text-3);white-space:nowrap;font-size:11px}.room-list-empty{color:var(--text-3);padding:8px 10px}.room-list-tools{gap:2px;display:grid}.room-swatch{border-radius:2px;flex:none;width:10px;height:10px;box-shadow:0 0 0 1px #0006}.room-wide-btn{justify-content:center;width:100%;height:32px}.room-actions{margin-top:4px}.room-hint,.room-info{color:var(--text-3);margin:0;font-size:12px}.room-info{font-family:var(--mono);color:var(--text-2)}.room-hint kbd{font-size:11px}.room-menu-btn{justify-content:space-between;width:100%;height:32px}.room-cutouts{gap:2px;margin:0;padding:0;list-style:none;display:grid}.room-cutouts li{border-left:2px solid var(--line-2);color:var(--text-2);justify-content:space-between;align-items:center;gap:8px;padding-left:10px;font-size:12.5px;display:flex}.room-joint{color:var(--text-2);justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;display:flex}.room-joint-btns{grid-template-columns:1fr 1fr;gap:6px;display:grid}.room-joint-btns .btn{justify-content:center;height:32px}.room-move{z-index:20;border:1px solid var(--line-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;white-space:nowrap;background:#15181bdb;border-radius:999px;align-items:baseline;gap:12px;max-width:calc(100% - 24px);padding:7px 14px;display:flex;position:absolute;top:62px;left:50%;translate:-50%;box-shadow:0 14px 34px -14px #000000d9}.room-move-axis{min-width:22px;font-family:var(--mono);text-align:center;color:#101214;background:var(--text-2);border-radius:6px;align-self:center;padding:1px 6px;font-size:12px;font-weight:700}.room-move-axis.is-x{background:#ff3352}.room-move-axis.is-y{background:#8bdc00}.room-move-axis.is-z{color:#fff;background:#2890ff}.room-move-title{font-family:var(--display);color:var(--text);font-weight:600}.room-move-value{font-family:var(--mono);color:var(--blue-text)}.room-move-hint{text-overflow:ellipsis;color:var(--text-3);font-size:12px;overflow:hidden}@container viewport (width<=820px){.room-move-hint{display:none}}.room-toast{z-index:30;border:1px solid var(--line-2);max-width:min(520px,90%);color:var(--text);background:#15181be6;border-radius:10px;padding:8px 14px;transition:opacity .35s;position:absolute;bottom:62px;left:50%;translate:-50%;box-shadow:0 14px 34px -14px #000000d9}.room-toast-error{color:#f3c1c3;border-color:#e5676b80}.room-toast.is-leaving{opacity:0}.shelf-note{color:var(--text-2);padding-left:calc(40% + 10px);font-size:12.5px}.shelf-openings{border-top:1px solid var(--line);gap:2px;margin-top:4px;padding-top:8px;display:grid}.shelf-opening{border-radius:var(--radius);color:var(--text-2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:1fr auto auto;align-items:baseline;gap:14px;padding:3px 8px;font-size:12.5px;display:grid}.shelf-opening:hover{background:var(--g-800);color:var(--text)}.shelf-opening>span:not(.shelf-opening-name){font-family:var(--mono);text-align:right;min-width:82px;font-size:12px}.shelf-offset .prop-label{white-space:nowrap}.shelf-offset .prop-label:after{content:" ↕";color:var(--text-3)}.shelf-offset.is-divider .prop-label:after{content:" ↔"}.shelf-own .prop-label{color:var(--blue-text)}@keyframes efs-flash{0%{background-color:#007acc33;box-shadow:0 0 0 1px #4da8eae6,0 0 0 6px #007acc47}to{background-color:#007acc00;box-shadow:0 0 0 1px #4da8ea00,0 0 0 6px #007acc00}}[data-flash]{border-radius:var(--radius);animation:1.4s ease-out efs-flash}.panel[data-flash]{border-radius:10px}.sidebar-right [data-prop]:hover>.prop-label,.sidebar-right [data-prop]:focus-within>.prop-label{color:var(--blue-text)}.settings-card .panel-toggle{gap:9px}.settings-card-gear{color:var(--blue-text)}.settings-card-kbd{margin-left:auto}.settings-links{gap:1px;padding:6px;display:grid}.settings-card .settings-link{width:100%;height:30px;font-family:var(--body);color:var(--text-2);border-radius:6px;justify-content:space-between;padding:0 10px;font-size:13px;font-weight:450;transition:background .12s,color .12s}.settings-card .settings-link svg{color:var(--text-3);opacity:0;transition:opacity .12s}.settings-card .settings-link:hover,.settings-card .settings-link:focus-visible{background:var(--blue-soft);color:var(--text);outline:none}.settings-card .settings-link:hover svg,.settings-card .settings-link:focus-visible svg{opacity:1}.settings-card .settings-link-head{align-items:center;gap:2px;display:flex}.settings-card .settings-link-head .settings-link{flex:1;justify-content:flex-start;gap:6px;min-width:0;padding-left:4px}.settings-card .settings-link .panel-chevron{opacity:1;flex-shrink:0}.settings-card .settings-link-row .panel-chevron{rotate:-90deg}.settings-card .settings-link-row.is-open .panel-chevron{rotate:0deg}.settings-card .settings-link-row.is-open .settings-link{color:var(--text);font-weight:600}.settings-card .settings-link-tool{width:28px;height:28px;color:var(--text-3);flex-shrink:0}.settings-card .settings-link-row:not(.is-open) .settings-link-tool{opacity:0}.settings-card .settings-link-row:hover .settings-link-tool,.settings-card .settings-link-tool:focus-visible{opacity:1}.settings-inline{border-bottom:1px solid var(--line-2);margin-bottom:6px;padding:4px 4px 12px}@media (hover:none){.settings-card .settings-link-row:not(.is-open) .settings-link-tool{opacity:1}}.settings-backdrop{z-index:90;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0506089e;place-items:center;padding:24px;animation:.14s ease-out efs-fade-in;display:grid;position:fixed;inset:0}@keyframes efs-fade-in{0%{opacity:0}}@keyframes efs-rise-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}.settings-window{background:var(--g-900);border:1px solid var(--line-2);border-radius:14px;grid-template-rows:auto minmax(0,1fr);grid-template-columns:232px minmax(0,1fr);width:min(1040px,100%);height:min(760px,100%);animation:.18s ease-out efs-rise-in;display:grid;overflow:hidden;box-shadow:0 30px 80px -24px #000000e6}.settings-head{background:var(--g-850);border-bottom:1px solid var(--line);grid-column:1/-1;align-items:center;gap:12px;padding:12px 12px 12px 18px;display:flex}.settings-head-icon{color:var(--blue-text);flex-shrink:0}.settings-head-title{min-width:0;display:grid}.settings-head-title h2{font-family:var(--display);color:var(--text);margin:0;font-size:16px;font-weight:650}.settings-head-title span{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.settings-search{border-radius:var(--radius);border:1px solid var(--line-2);background:var(--g-950);height:34px;color:var(--text-3);flex:0 300px;align-items:center;gap:8px;margin-left:auto;padding:0 8px 0 11px;transition:border-color .15s;display:flex}.settings-search:focus-within{border-color:var(--blue);color:var(--text-2)}.settings-search input{min-width:0;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:13.5px}.settings-search input::placeholder{color:var(--text-3)}.settings-search-clear{width:22px;height:22px;color:var(--text-3);background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.settings-search-clear:hover{background:var(--g-750);color:var(--text)}.settings-nav{border-right:1px solid var(--line);flex-direction:column;gap:1px;padding:12px 8px;display:flex;overflow-y:auto}.settings-nav-group{font-family:var(--display);letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);flex-shrink:0;padding:14px 12px 6px;font-size:10.5px;font-weight:600}.settings-nav-group:first-child{padding-top:4px}.settings-nav-item{min-height:32px;color:var(--text-2);text-align:left;background:0 0;border:0;border-radius:6px;flex-shrink:0;align-items:center;padding:6px 12px;font-size:13px;line-height:1.25;transition:background .12s,color .12s;display:flex}.settings-nav-item:hover{background:var(--g-800);color:var(--text)}.settings-nav-item.is-active{background:var(--blue-soft);color:var(--text);box-shadow:inset 2px 0 0 var(--blue)}.settings-nav-empty,.settings-empty{color:var(--text-3);margin:8px 12px;font-size:12.5px}.settings-empty{text-align:center;margin:40px auto}.settings-nav-hint{color:var(--text-3);gap:6px;margin:auto 12px 0;padding-top:12px;display:flex}.settings-content{align-content:start;gap:16px;padding:18px 22px 40vh;scroll-padding-top:12px;display:grid;position:relative;overflow-y:auto}.settings-section{background:var(--g-850);border:1px solid var(--line);border-radius:10px;transition:border-color .2s}.settings-section.is-active{border-color:#4da8ea47}.settings-section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 8px 8px 16px;display:flex}.settings-section-title{font-family:var(--display);color:var(--text);margin:0;font-size:14.5px;font-weight:600}.settings-section-body>.panel-body{max-width:720px;padding:16px 18px}.settings-section-body .prop-row{grid-template-columns:minmax(150px,38%) minmax(0,1fr)}[data-filtered]{display:none!important}.palette-backdrop{z-index:190;background:#0506088c;justify-content:center;align-items:flex-start;padding:11vh 16px 16px;animation:.12s ease-out efs-fade-in;display:flex;position:fixed;inset:0}.palette{background:var(--g-850);border:1px solid var(--line-2);border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;width:min(660px,100%);max-height:min(560px,100%);animation:.16s ease-out efs-rise-in;display:grid;overflow:hidden;box-shadow:0 30px 80px -20px #000000f2,0 0 0 1px #007acc14}.palette-input{border-bottom:1px solid var(--line);height:54px;color:var(--blue-text);align-items:center;gap:12px;padding:0 14px 0 16px;display:flex}.palette-input input{min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:16px}.palette-input input::placeholder{color:var(--text-3)}.palette-list{overscroll-behavior:contain;padding:6px;overflow-y:auto}.palette-group+.palette-group{margin-top:4px}.palette-group-title{font-family:var(--display);letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);padding:8px 10px 4px;font-size:10.5px;font-weight:600}.palette-item{cursor:pointer;min-height:40px;color:var(--text);border-radius:8px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:5px 10px 5px 8px;display:grid}.palette-item.is-active{background:var(--blue-soft);box-shadow:inset 2px 0 0 var(--blue)}.palette-item.is-disabled{cursor:default;opacity:.45}.palette-icon{background:var(--g-800);width:28px;height:28px;color:var(--text-2);border-radius:7px;place-items:center;display:grid}.palette-item.is-active .palette-icon{color:#eef6fc;background:#007acc47}.palette-text{align-items:baseline;gap:10px;min-width:0;display:flex}.palette-label{text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:70%;overflow:hidden}.palette-label b{color:var(--blue-text);font-weight:650}.palette-item.is-active .palette-label b{color:#9fd0f5}.palette-context{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-3);font-size:12px;overflow:hidden}.palette-value{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:12px;font-family:var(--mono);color:var(--text-2);overflow:hidden}.palette-empty{text-align:center;color:var(--text-3);margin:28px 0}.palette-foot{border-top:1px solid var(--line);background:var(--g-900);color:var(--text-3);flex-wrap:wrap;align-items:center;gap:14px;padding:8px 14px;font-size:11.5px;display:flex}.palette-foot kbd{margin-right:2px}.palette-foot-key{margin-left:auto}.topbar-search{border-radius:var(--radius);border:1px solid var(--line);background:var(--g-950);min-width:0;height:32px;color:var(--text-3);flex:0 240px;align-items:center;gap:8px;padding:0 6px 0 10px;font-size:12.5px;transition:border-color .15s,color .15s;display:flex}.topbar-search:hover{border-color:var(--line-2);color:var(--text-2)}.topbar-search-text{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.topbar-search kbd{font-size:10.5px}.topbar-more{display:none}.topbar-more-list{min-width:250px;max-height:calc(100dvh - 70px);overflow-y:auto}.topbar-more-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:6px;margin-bottom:4px;padding:2px 2px 6px;display:grid}.topbar-more-row .btn{justify-content:center;height:38px}.topbar-more-item{align-items:center;gap:9px;display:inline-flex}.topbar-more-item svg{color:var(--text-3)}.topbar-more-title{border-top:1px solid var(--line);font-family:var(--display);letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);margin-top:4px;padding:10px 10px 4px;font-size:10.5px;font-weight:600}.topbar-more-lang{width:calc(100% - 8px);margin:2px 4px 4px}.sheet-handle{display:none}.app{grid-template-columns:minmax(0,1fr)}@media (width<=1599px){.topbar .topbar-search-text,.topbar .topbar-search kbd{display:none}.topbar .topbar-search{flex:none;justify-content:center;width:34px;padding:0}}@media (width<=1199px){.topbar{gap:10px}.topbar .brand-name,.topbar .topbar-search-text,.topbar .split-btn>.btn-primary>span{display:none}.topbar .topbar-search{flex:none}.topbar .project-name{margin-left:0}}@media (width<=960px){.topbar .btn-group,.topbar .lang-select,.topbar .topbar-export,.topbar .topbar-search kbd{display:none}.topbar .topbar-more{display:block}}@media (width<=720px){.app{grid-template-columns:minmax(0,1fr)}.topbar{gap:6px;padding:0 8px 0 10px}.topbar .topbar-left-toggle,.topbar .brand .badge,.topbar .btn-group,.topbar .lang-select,.topbar .topbar-export,.topbar .topbar-gear,.topbar .topbar-search-text,.topbar .topbar-search kbd,.topbar .split-btn>.btn-primary>span{display:none}.topbar .topbar-more{display:block}.topbar-actions{gap:4px}.topbar .topbar-search{flex:none;justify-content:center;width:38px;height:36px;margin-left:auto;padding:0}.split-btn>.btn-primary{padding:0 11px}.viewport-toolbar{scrollbar-width:none;bottom:10px;left:10px;right:10px;overflow-x:auto}.viewport .ai-fab{bottom:56px}.workspace>.viewport+.side-slot{flex-direction:column}.workspace>.viewport+.side-slot>.sidebar{flex:none}.sheet-handle{background:var(--g-900);border-top:1px solid var(--line-2);touch-action:none;cursor:ns-resize;border-radius:14px 14px 0 0;flex-shrink:0;place-items:center;height:30px;display:grid;position:relative}.sheet-handle span{background:var(--g-650);border-radius:2px;width:40px;height:4px}.sheet-handle:active span{background:var(--blue-text)}.sheet-toggle{border:1px solid var(--line-2);background:var(--g-850);width:44px;height:24px;color:var(--text-2);cursor:pointer;border-radius:12px;place-items:center;padding:0;display:grid;position:absolute;top:3px;right:10px}.sheet-toggle:active{color:var(--blue-text)}.sheet-toggle .is-up{transform:rotate(180deg)}.workspace .sidebar-right{border-top:0;max-height:none;transition:height .22s}.workspace .sidebar-right[data-sheet=peek]{height:50px;overflow:hidden}.workspace .sidebar-right[data-sheet=half]{height:46dvh}.workspace .sidebar-right[data-sheet=full]{height:calc(100dvh - 192px)}.workspace .sidebar-right.is-sheet-dragging{transition:none}.sidebar-tabs button{min-height:34px}.settings-backdrop{padding:0}.settings-window{border:0;border-radius:0;grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);width:100%;height:100%}.settings-head{flex-wrap:wrap;gap:10px;padding:10px 10px 10px 14px}.settings-search{flex:100%;order:3;height:40px}.settings-search input{font-size:16px}.settings-close{width:40px;height:40px;margin-left:auto}.settings-nav{border-right:0;border-bottom:1px solid var(--line);scrollbar-width:none;flex-direction:row;gap:6px;padding:8px 10px;overflow:auto hidden}.settings-nav-group,.settings-nav-hint{display:none}.settings-nav-item{white-space:nowrap;border:1px solid var(--line-2);border-radius:999px;min-height:34px;padding:0 12px}.settings-nav-item.is-active{box-shadow:none;border-color:var(--blue)}.settings-content{gap:12px;padding:12px 10px 50dvh}.settings-section-body>.panel-body{padding:14px 12px}.settings-section-body .prop-row{grid-template-columns:minmax(0,42%) minmax(0,1fr)}.palette-backdrop{padding:0}.palette{border-top:0;border-radius:0 0 14px 14px;width:100%;max-height:78dvh}.palette-input{height:58px}.palette-item{min-height:52px}.palette-text{flex-direction:column;align-items:flex-start;gap:1px}.palette-label,.palette-context{max-width:100%}.palette-foot,.palette-esc{display:none}}:root{--g-950:#0e1012;--g-900:#15181b;--g-850:#1c1f23;--g-800:#24282d;--g-750:#2b3036;--g-700:#343a41;--g-650:#3d444c;--line:#ffffff12;--line-2:#ffffff21;--text:#c9ccd0;--text-2:#9a9ea4;--text-3:#70767e;--blue:#007acc;--blue-hover:#0a8be3;--blue-text:#4da8ea;--blue-soft:#007acc29;--danger:#e5676b;--display:"Archivo", "Helvetica Neue", Arial, sans-serif;--body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--radius:7px;--field-h:32px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--g-950);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:13.5px;line-height:1.4;overflow:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer}kbd{font-family:var(--mono);border:1px solid var(--line-2);color:var(--text-2);background:#ffffff08;border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-size:11px}.app{grid-template-rows:52px 1fr 28px;height:100%;display:grid}.workspace{grid-template-columns:236px minmax(0,1fr) 312px;min-height:0;transition:grid-template-columns .2s;display:grid;position:relative}body.is-resizing .workspace{transition:none}body.is-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.side-slot{min-width:0;min-height:0;display:flex;overflow:hidden}.side-slot>.sidebar{flex:1;min-width:0}.resizer{z-index:20;cursor:col-resize;touch-action:none;width:10px;transition:left .2s,right .2s;position:absolute;top:0;bottom:0}body.is-resizing .resizer{transition:none}.resizer-left{transform:translate(-50%)}.resizer-right{transform:translate(50%)}.resizer:after{content:"";background:0 0;width:2px;transition:background .15s .1s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.resizer:hover:after,.resizer:focus-visible:after,body.is-resizing .resizer:active:after{background:var(--blue)}.resizer:focus-visible{outline:none}.panel-toggle-btn{color:var(--text-3)}.panel-toggle-btn.is-on{color:var(--text-2)}.topbar{background:var(--g-900);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:0 12px 0 16px;display:flex}.brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.brand-name{font-family:var(--display);letter-spacing:.01em;color:var(--text);font-size:15px;font-weight:650}.badge{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--blue-text);background:var(--blue-soft);border:1px solid #007acc59;border-radius:999px;padding:1px 8px;font-size:10.5px}button.badge-beta{cursor:pointer;line-height:inherit}button.badge-beta:hover{border-color:var(--blue-text)}.project-name{border-radius:var(--radius);min-width:80px;height:32px;color:var(--text);background:0 0;border:1px solid #0000;flex:0 280px;margin-left:8px;padding:0 10px;font-size:13.5px;transition:border-color .15s,background .15s}.project-name::placeholder{color:var(--text-3)}.project-name:hover{border-color:var(--line-2)}.project-name:focus{background:var(--g-950);border-color:var(--blue);outline:none}.topbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.btn-group{gap:2px;display:flex}.btn{border-radius:var(--radius);background:var(--g-800);white-space:nowrap;border:1px solid #0000;align-items:center;gap:7px;height:34px;padding:0 14px;font-weight:500;transition:background .15s,border-color .15s,transform 80ms;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--blue);color:#eef6fc;font-family:var(--display);letter-spacing:.01em;font-weight:600;box-shadow:inset 0 1px #ffffff1f,0 6px 18px -8px #007acccc}.btn-primary:hover{background:var(--blue-hover)}.btn-primary kbd{color:#eef6fccc;background:#ffffff14;border-color:#ffffff47}.btn-lg{height:40px;padding:0 18px;font-size:14.5px}.btn-ghost{color:var(--text-2);border-color:var(--line);background:0 0;height:30px;padding:0 10px;font-size:12.5px}.btn-ghost:hover{background:var(--g-800);color:var(--text)}.btn-danger:hover{color:var(--danger);background:#e5676b14;border-color:#e5676b59}.icon-btn{border-radius:var(--radius);width:32px;height:32px;color:var(--text-2);background:0 0;border:0;place-items:center;transition:background .15s,color .15s;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--g-800);color:var(--text)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn-glass{border:1px solid var(--line-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#15181bb8}.lang-switch{border-radius:var(--radius);background:var(--g-950);border:1px solid var(--line);padding:2px;display:flex}.lang-switch button{color:var(--text-3);font-family:var(--mono);background:0 0;border:0;border-radius:5px;padding:4px 8px;font-size:11px}.lang-switch button.active{background:var(--g-750);color:var(--text)}.sidebar{background:var(--g-900);min-height:0;overflow-y:auto}.sidebar-left{border-right:1px solid var(--line);padding:12px 8px}.sidebar-right{border-left:1px solid var(--line);padding:10px}.sidebar-title{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);justify-content:space-between;align-items:center;padding:2px 8px 10px;font-size:12px;font-weight:600;display:flex}.count{font-family:var(--mono);letter-spacing:0;color:var(--text-2);background:var(--g-800);border-radius:999px;padding:0 7px;font-size:11px}.outliner{gap:2px;margin:0;padding:0;list-style:none;display:grid}.outliner li{position:relative}.outliner-item{border-radius:var(--radius);text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:7px 34px 7px 9px;transition:background .12s;display:flex}.outliner-item:hover{background:var(--g-850)}.outliner-item.is-selected{background:var(--blue-soft);box-shadow:inset 2px 0 0 var(--blue)}.outliner-icon{color:var(--text-3);flex-shrink:0}.is-selected .outliner-icon{color:var(--blue-text)}.outliner-item.is-selected.is-secondary{background:#007acc14;box-shadow:inset 2px 0 #007acc73}.outliner-text{min-width:0;display:grid}.outliner-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);overflow:hidden}.outliner-dims{font-family:var(--mono);color:var(--text-3);font-size:11px}.outliner-line{align-items:center;gap:8px;min-width:0;display:flex}.chip{color:var(--blue-text);border:1px solid #4da8ea59;border-radius:999px;flex-shrink:0;padding:0 6px;font-size:10.5px}.outliner-delete{width:24px;height:24px;color:var(--text-3);opacity:0;background:0 0;border:0;border-radius:5px;place-items:center;transition:opacity .12s,color .12s,background .12s;display:grid;position:absolute;top:50%;right:6px;translate:0 -50%}.outliner li:hover .outliner-delete,.outliner-delete:focus-visible{opacity:1}.outliner-delete:hover{color:var(--danger);background:#e5676b1a}.panel{background:var(--g-850);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px -18px #000c}.panel-head{align-items:center;padding:6px 6px 6px 4px;display:flex}.is-open .panel-head{border-bottom:1px solid var(--line)}.panel-toggle{height:32px;font-family:var(--display);color:var(--text);text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:0 8px;font-size:14px;font-weight:600;display:flex}.panel-chevron{color:var(--text-3);transition:rotate .15s;rotate:-90deg}.is-open .panel-chevron{rotate:0deg}.panel-body{gap:8px;padding:14px 14px 12px;display:grid}.panel-empty{color:var(--text-3);margin:0;padding:18px 16px 20px;font-size:13px}.prop-row{grid-template-columns:40% 1fr;align-items:center;gap:10px;display:grid}.prop-label{text-align:right;color:var(--text-2)}.prop-row-text{grid-template-columns:30% 1fr}.prop-row-text .prop-label{text-align:left}.prop-subhead{color:var(--text-2);margin-top:8px}.prop-text-group{gap:8px;margin-top:6px;display:grid}.panel-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:12px;display:flex}.field{width:100%;height:var(--field-h);border-radius:var(--radius);border:1px solid #0000}.field-number{background:var(--g-750);cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:center;align-items:center;transition:background .12s,border-color .12s;display:flex;position:relative;box-shadow:inset 0 1px #ffffff0a}.field-number:hover{background:var(--g-700)}.field-number:active{background:var(--g-650)}.field-number:focus-visible{border-color:var(--blue);outline:none}.field-value{font-family:var(--mono);color:var(--text);font-variant-numeric:tabular-nums;font-size:13px}.field-unit{color:var(--text-3)}.field-arrow{width:26px;color:var(--text-3);opacity:0;cursor:pointer;background:0 0;border:0;place-items:center;transition:opacity .12s,color .12s;display:grid;position:absolute;top:0;bottom:0}.field-arrow.left{left:0}.field-arrow.right{right:0}.field-number:hover .field-arrow{opacity:1}.field-arrow:hover{color:var(--text)}.field-input,.field-text{background:var(--g-950);border-color:var(--line);color:var(--text);padding:0 10px}.field-input{text-align:center;font-family:var(--mono);border-color:var(--blue);outline:none;font-size:13px}.field-text:hover{border-color:var(--line-2)}.field-text:focus{border-color:var(--blue);outline:none}.checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text);align-items:center;gap:9px;display:inline-flex}.checkbox input{opacity:0;pointer-events:none;position:absolute}.checkbox-box{background:var(--g-750);border:1px solid var(--line-2);color:#0000;border-radius:5px;place-items:center;width:20px;height:20px;transition:background .12s,border-color .12s,color .12s;display:grid}.checkbox:hover .checkbox-box{border-color:var(--text-3)}.checkbox input:checked+.checkbox-box{background:var(--blue);border-color:var(--blue);color:#eef6fc}.checkbox input:focus-visible+.checkbox-box{outline:2px solid var(--blue-text);outline-offset:2px}.segmented{border-radius:calc(var(--radius) + 2px);background:var(--g-950);border:1px solid var(--line);grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:2px;display:grid}.segmented button{border-radius:var(--radius);height:30px;color:var(--text-2);font-family:var(--mono);background:0 0;border:0;font-size:13px;transition:background .12s,color .12s}.segmented button:hover:not(.active){background:var(--g-800);color:var(--text)}.segmented button.active{background:var(--blue);color:#eef6fc;box-shadow:0 4px 12px -6px #007acce6}.segmented-small{border-color:var(--line-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0e1012b8}.segmented-small button{height:26px;font-family:var(--body);padding:0 12px;font-size:12.5px}.viewport{background:radial-gradient(120% 90% at 50% 30%,#30363d 0%,#22262b 45%,#16191c 100%);min-width:0;position:relative;overflow:hidden;container:viewport/inline-size}.viewport-canvas{touch-action:none;position:absolute;inset:0}.viewport-canvas canvas{display:block}.viewport-canvas.is-over-cabinet{cursor:grab}.viewport-canvas.is-dragging{cursor:grabbing}.viewport-labels{pointer-events:none;position:absolute;inset:0}.dim-label{font-family:var(--mono);color:#eaf4fb;white-space:nowrap;background:#005a96eb;border:1px solid #4da8ea99;border-radius:999px;padding:1px 7px;font-size:11.5px;box-shadow:0 4px 12px -4px #0009}.viewport-toolbar{align-items:center;gap:8px;display:flex;position:absolute;bottom:14px;left:14px}.empty-state{pointer-events:none;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.empty-card{pointer-events:auto;text-align:center;border:1px solid var(--line-2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#15181bc7;border-radius:14px;justify-items:center;gap:8px;max-width:360px;padding:28px 28px 26px;display:grid;box-shadow:0 24px 60px -24px #000c}.empty-card h2{font-family:var(--display);color:var(--text);margin:6px 0 0;font-size:19px;font-weight:650}.empty-card p{color:var(--text-2);margin:0 0 12px}.empty-card .empty-text-phone{display:none}@media (width<=720px){.empty-state{padding:56px 12px 100px}.empty-card{gap:6px;padding:16px 18px}.empty-card .empty-illustration,.empty-card .empty-text-wide{display:none}.empty-card .empty-text-phone{margin:0 0 6px;font-size:13px;display:block}.empty-card h2{margin:0;font-size:17px}.workspace:has(.sidebar-right[data-sheet=full]) .empty-state{display:none}}@media (width<=720px) and (height<=799px){.workspace:has(.sidebar-right:not([data-sheet=peek])) .empty-card .empty-text-phone{display:none}}@media (width<=720px) and (height<=709px){.workspace:has(.sidebar-right:not([data-sheet=peek])) .empty-card h2{display:none}}.statusbar{background:var(--g-900);border-top:1px solid var(--line);color:var(--text-3);white-space:nowrap;justify-content:space-between;align-items:center;gap:16px;padding:0 14px;font-size:12px;display:flex;overflow:hidden}.statusbar-hints{gap:14px;display:flex;overflow:hidden}.statusbar kbd{padding:0 4px;font-size:10px}@media (width<=1080px){.statusbar-hints span:nth-child(-n+4){display:none}}@media (width<=720px){.app{grid-template-rows:52px 1fr 0}.workspace{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr!important}.workspace>.side-slot:first-child,.resizer{display:none}.sidebar-right{border-left:0;border-top:1px solid var(--line);max-height:46vh}.brand-name,.project-name,.lang-switch{display:none}.topbar{padding:0 12px 0 16px}.statusbar{display:none}}.sidebar-right{flex-direction:column;gap:10px;display:flex}.prop-row-wide{grid-template-columns:1fr;gap:6px}.prop-row-wide .prop-label{text-align:left}.prop-missing{font-family:var(--mono);color:var(--danger)}.field-select{appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239a9ea4' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center, var(--g-750);color:var(--text);cursor:pointer;text-overflow:ellipsis;padding:0 30px 0 10px;transition:background-color .12s,border-color .12s}.field-select:hover{background-color:var(--g-700)}.field-select:focus-visible{border-color:var(--blue);outline:none}.field-select option{background:var(--g-850);color:var(--text)}.field-number.is-disabled,.field-select:disabled{opacity:.45;cursor:default}.lang-select{border-radius:var(--radius);border:1px solid var(--line);appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%2370767e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 9px center, var(--g-950);height:30px;color:var(--text-2);cursor:pointer;padding:0 26px 0 10px;font-size:12px}.lang-select:hover{color:var(--text);border-color:var(--line-2)}.btn-menu{height:32px;color:var(--text-2);gap:6px}.split-btn{display:flex}.split-btn>.btn-primary{border-top-right-radius:0;border-bottom-right-radius:0}.split-btn .menu .btn-split{border-left:1px solid #ffffff38;border-top-left-radius:0;border-bottom-left-radius:0;padding:0 9px}.split-btn>.btn-primary:only-child{border-radius:var(--radius)}.menu{position:relative}.menu-list{z-index:50;background:var(--g-850);border:1px solid var(--line-2);border-radius:10px;gap:1px;min-width:220px;padding:5px;display:grid;position:absolute;top:calc(100% + 6px);box-shadow:0 18px 44px -14px #000000d9}.menu-right{right:0}.menu-left{left:0}.menu-item{color:var(--text);text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:7px 10px;display:flex}.menu-item:hover:not(:disabled){background:var(--blue-soft)}.menu-item:disabled{color:var(--text-3);cursor:default}.menu-empty{color:var(--text-3);padding:8px 10px}.icon-btn-glass.is-active{color:#eef6fc;background:var(--blue);border-color:var(--blue)}.sidebar-tabs{z-index:5;border:0;border-bottom:1px solid var(--line);background:var(--g-900);border-radius:0;margin:-10px -10px 0;padding:8px 10px;position:sticky;top:-10px}.sidebar-tabs button{font-family:var(--body);font-size:12.5px}.viewport-box{z-index:3;pointer-events:none;border:1px dashed var(--blue-text);background:#007acc1a;border-radius:2px;position:absolute}.viewport-box.is-remove{border-color:var(--danger);background:#e5676b14}.context-menu{z-index:120;min-width:240px;max-height:calc(100vh - 16px);position:fixed;top:auto;overflow:visible}.context-title{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;max-width:320px;padding:6px 10px;font-size:11.5px;overflow:hidden}.context-group{border-top:1px solid var(--line);gap:1px;margin-top:4px;padding-top:4px;display:grid}.context-sub{position:relative}.context-sub>.menu-item.is-open{background:var(--blue-soft)}.context-chevron{color:var(--text-3);rotate:-90deg}.context-flyout{top:-5px;left:calc(100% + 4px)}.multi-box{border-radius:var(--radius);background:var(--blue-soft);border:1px solid #4da8ea4d;gap:8px;margin-bottom:4px;padding:10px;display:grid}.multi-box-text{color:var(--text);margin:0;font-size:12.5px}.multi-box-actions{flex-wrap:wrap;gap:6px;display:flex}.multi-box-actions .btn{flex:auto}.dialog-backdrop{z-index:200;background:#05060899;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--g-850);border:1px solid var(--line-2);border-radius:12px;grid-template-rows:auto 1fr auto;width:min(400px,100%);max-height:calc(100vh - 32px);display:grid;box-shadow:0 24px 60px -20px #000000e6}.dialog-head{font-family:var(--display);border-bottom:1px solid var(--line);padding:14px 16px 10px;font-size:15px;font-weight:600}.dialog-body{align-content:start;gap:8px;padding:14px 16px;display:grid;overflow:auto}.dialog-note{color:var(--text-2);margin:0 0 4px}.dialog-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:10px 16px 14px;display:flex}.toasts{z-index:300;pointer-events:none;gap:6px;display:grid;position:fixed;bottom:40px;left:50%;translate:-50%}.toast{background:var(--g-750);border:1px solid var(--line-2);max-width:min(640px,100vw - 32px);color:var(--text);border-radius:8px;padding:9px 14px;transition:opacity .4s;box-shadow:0 14px 34px -14px #000000e6}.toast-warning{border-color:#e0b45a}.toast.is-leaving{opacity:0}@media (width<=480px){.topbar{gap:6px;padding:0 6px}.brand{display:none}.topbar-actions{gap:4px}.topbar .btn-menu{padding:0 8px}.topbar-actions>.menu:has(.btn-menu){display:none}.lang-select{background-position:right 5px center,0 0;width:72px;padding:0 18px 0 8px}.split-btn>.btn-primary:first-child{padding:0 10px}.split-btn>.btn-primary:first-child span{display:none}}@media (width<=720px){.viewport-toolbar{flex-wrap:wrap;gap:6px;bottom:10px;left:10px;right:10px}.viewport-toolbar .icon-btn{width:40px;height:40px}.viewport-toolbar .segmented-small button{height:34px;padding:0 10px}}
