:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--blue:#0a84ff;--accent:#007aff;--accent-soft:#007aff24;--accent-text:#0062d6;--on-accent:#fff;--gold:#b88a00;--danger:#ff3b30;--success:#34c759;--warning:#ff9500;--bg:#f2f2f7;--bg-editor:#e3e3e8;--surface-solid:#fff;--sheet:#f6f6f9;--fill:#7676801f;--fill-2:#76768033;--press:#7676802e;--line:#3c3c4329;--text:#000;--text-2:#3c3c43d9;--muted:#3c3c4399;--faint:#3c3c434d;--glass:#ffffff75;--glass-strong:#ffffff9e;--glass-filter:blur(20px) saturate(140%) brightness(1.1);--glass-filter-strong:blur(28px) saturate(130%) brightness(1.14);--glass-press:#ffffffc7;--glass-sheen:none;--glass-shadow-out:0 0 0 .5px #0000001a, 0 1px 2px #0000000d, 0 6px 18px -8px #00000029;--glass-shadow:var(--glass-shadow-out);--glass-rim:linear-gradient(180deg, #fff, #ffffff9e 50%, #ffffffeb);--glass-press-k:.92;--thumb:#ffffff94;--thumb-shadow:inset 0 .5px 0 #fffffff2, inset 0 -.5px 0 #ffffff80, 0 1px 3px #00000012, 0 0 0 .5px #0000000a;--card-shadow:0 1px 2px #0000000a, 0 6px 20px -6px #0000001f;--spring:cubic-bezier(.22, 1, .36, 1);--spring-soft:cubic-bezier(.3, 1.3, .5, 1);--out:cubic-bezier(.4, 0, 1, 1);--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--edge:16px;--top:max(var(--edge), calc(var(--sat) + 6px));--bottom:max(var(--edge), calc(var(--sab) - 4px));--left:max(var(--edge), var(--sal));--right:max(var(--edge), var(--sar));--ctl:44px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (max-width:600px),(max-height:500px){:root{--edge:12px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--accent:#0a84ff;--accent-soft:#0a84ff4d;--accent-text:#82c0ff;--danger:#ff453a;--success:#30d158;--warning:#ff9f0a;--bg:#000;--bg-editor:#161618;--surface-solid:#1c1c1e;--sheet:#1f1f22;--fill:#7676803d;--fill-2:#7676805c;--press:#a0a0aa42;--line:#54545899;--text:#fff;--text-2:#ebebf5cc;--muted:#ebebf599;--faint:#ebebf54d;--glass:#1e1e2485;--glass-strong:#1c1c22a8;--glass-filter:blur(22px) saturate(140%) brightness(.78);--glass-filter-strong:blur(30px) saturate(130%) brightness(.72);--glass-press:#5a5a6299;--glass-sheen:none;--glass-shadow-out:0 0 0 .5px #00000080, 0 1px 2px #0003, 0 6px 18px -8px #00000073;--glass-shadow:var(--glass-shadow-out);--glass-rim:linear-gradient(180deg, #ffffff6b, #ffffff29 50%, #ffffff4d);--glass-press-k:1.3;--thumb:#ffffff24;--thumb-shadow:inset 0 .5px 0 #ffffff47, 0 1px 3px #00000040;--card-shadow:0 0 0 .5px #ffffff14}}:root[data-theme=dark]{--accent:#0a84ff;--accent-soft:#0a84ff4d;--accent-text:#82c0ff;--danger:#ff453a;--success:#30d158;--warning:#ff9f0a;--bg:#000;--bg-editor:#161618;--surface-solid:#1c1c1e;--sheet:#1f1f22;--fill:#7676803d;--fill-2:#7676805c;--press:#a0a0aa42;--line:#54545899;--text:#fff;--text-2:#ebebf5cc;--muted:#ebebf599;--faint:#ebebf54d;--glass:#1e1e2485;--glass-strong:#1c1c22a8;--glass-filter:blur(22px) saturate(140%) brightness(.78);--glass-filter-strong:blur(30px) saturate(130%) brightness(.72);--glass-press:#5a5a6299;--glass-sheen:none;--glass-shadow-out:0 0 0 .5px #00000080, 0 1px 2px #0003, 0 6px 18px -8px #00000073;--glass-shadow:var(--glass-shadow-out);--glass-rim:linear-gradient(180deg, #ffffff6b, #ffffff29 50%, #ffffff4d);--glass-press-k:1.3;--thumb:#ffffff24;--thumb-shadow:inset 0 .5px 0 #ffffff47, 0 1px 3px #00000040;--card-shadow:0 0 0 .5px #ffffff14}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@property --gn{syntax:"<number>";inherits:false;initial-value:1}*{box-sizing:border-box}html,body{overscroll-behavior:none;touch-action:manipulation;height:100%;margin:0;overflow:hidden}html{text-size-adjust:100%;background:var(--bg)}body{font-family:var(--font);color:var(--text);background:var(--bg);overscroll-behavior:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;font-size:17px;line-height:1.3}input,textarea{-webkit-user-select:text;user-select:text}button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}svg{flex:none;display:block}svg.i *{vector-effect:non-scaling-stroke}.empty-state svg.i *,.thumb-img svg.i *{vector-effect:none}#app{flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.screen{flex-direction:column;display:flex;position:absolute;inset:0}.screen>.library,.screen>.signin{animation:.28s ease-out both fade-in}[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus{outline:none}:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px}input:focus-visible,textarea:focus-visible{outline:none}.glass{background-color:var(--glass);background-image:var(--glass-sheen);-webkit-backdrop-filter:var(--glass-filter) contrast(var(--gn));backdrop-filter:var(--glass-filter) contrast(var(--gn));box-shadow:var(--glass-shadow);color:var(--text);border:0;border-radius:999px;transition:background-color .4s,color .4s}.glass:before,.tinted:before{content:"";border-radius:inherit;pointer-events:none;background:var(--glass-rim);-webkit-mask-composite:xor;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.tinted{color:var(--on-accent);background:linear-gradient(180deg, color-mix(in srgb, var(--tint,var(--accent)) 86%, #fff), var(--tint,var(--accent)));box-shadow:0 10px 24px -8px color-mix(in srgb, var(--tint,var(--accent)) 70%, transparent), 0 2px 6px #0000001a, 0 0 0 .5px #0000001f;border:0;border-radius:999px;position:relative}.tinted:before{background:linear-gradient(#ffffffb3,#ffffff29 30%,#ffffff0a 50%,#ffffff24 70%,#fff6)}.gl{isolation:isolate;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:var(--glass-shadow-out)!important;background:0 0!important}.gl:before{display:none!important}button.glass.gl:active{filter:brightness(var(--glass-press-k))}.tinted.gl{box-shadow:0 10px 24px -8px color-mix(in srgb, var(--tint,var(--accent)) 70%, transparent), 0 2px 6px #0000001a, 0 0 0 .5px #0000001f!important}.btn{appearance:none;cursor:pointer;min-width:var(--ctl);min-height:var(--ctl);color:var(--accent);letter-spacing:-.01em;white-space:nowrap;transition:transform .4s var(--spring-soft), background-color .2s, opacity .2s, filter .2s;background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:17px;font-weight:590;line-height:1;display:inline-flex;position:relative}.btn:active{background:var(--press);transition-duration:.1s,60ms,.2s,60ms;transform:scale(.95)}@media (hover:hover){.btn:hover{background:var(--fill)}}.btn:disabled{opacity:.3;pointer-events:none}.btn.icon{width:var(--ctl);padding:0}.btn.primary{background:var(--accent);color:var(--on-accent);padding:0 22px}.btn.primary:active,.tinted:active{filter:brightness(1.12)}.btn.primary.destructive{background:var(--danger)}.btn.danger{color:var(--danger)}.btn.subtle{color:var(--text);background:var(--fill)}.btn.subtle:active{background:var(--fill-2)}.btn.large{min-height:54px;font-size:18px}.btn.block{width:100%}@media (hover:hover){.btn.primary:hover{background:var(--accent);filter:brightness(1.06)}.btn.primary.destructive:hover{background:var(--danger)}.btn.subtle:hover{background:var(--fill-2)}}button.glass,button.tinted{appearance:none;cursor:pointer;letter-spacing:-.01em;min-width:48px;height:48px;transition:transform .4s var(--spring-soft), filter .2s, background-color .4s, color .4s;flex:none;justify-content:center;align-items:center;gap:7px;padding:0 18px;font-size:16px;font-weight:590;display:inline-flex;position:relative}button.glass.round,button.tinted.round{width:48px;padding:0}button.glass:active,button.tinted:active{transition-duration:.1s,60ms;transform:scale(.94)}button.glass:active{background:var(--glass-press)}@media (hover:hover){button.tinted:hover{filter:brightness(1.06)}}.group{align-items:center;padding:2px;display:inline-flex;position:relative}.group .btn{color:var(--text)}.group .btn.icon{width:46px;min-height:44px}.group .btn:disabled{opacity:.26}.thumbed{position:relative}.thumb{pointer-events:none;background:var(--thumb);width:0;height:0;box-shadow:var(--thumb-shadow);opacity:0;transition:translate .42s var(--spring), width .42s var(--spring), opacity .18s;border-radius:999px;position:absolute;top:0;left:0}.thumb.on{opacity:1}.thumbed>:not(.thumb){position:relative}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips.wrap{margin-top:10px}.chip.well{position:relative;overflow:hidden}.chip.well input[type=color]{opacity:0;cursor:pointer;appearance:none;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.chip{appearance:none;cursor:pointer;font:inherit;letter-spacing:-.01em;min-height:var(--ctl);min-width:var(--ctl);background:var(--fill);color:var(--text);white-space:nowrap;transition:transform .4s var(--spring-soft), background-color .2s, color .2s, opacity .2s;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:15px;font-weight:590;display:inline-flex}.chip:active{background:var(--fill-2);transition-duration:.1s,60ms,.2s,.2s;transform:scale(.95)}.chip[aria-pressed=true],.chip.on{background:var(--accent);color:var(--on-accent)}.chip .swatch{border-radius:50%;flex:none;width:14px;height:14px;box-shadow:inset 0 0 0 .5px #0003}.chip.danger{color:var(--danger)}.chip:disabled{opacity:.3;pointer-events:none}.seg{background:var(--fill);border-radius:999px;flex:none;padding:2px;display:inline-flex}.field>.seg{display:flex}.field>.seg button{flex:1;min-height:40px;font-size:15px}.seg button{appearance:none;cursor:pointer;font:inherit;min-height:36px;color:var(--text);transition:transform .4s var(--spring-soft);background:0 0;border:0;border-radius:999px;padding:0 14px;font-size:14px;font-weight:590}.seg button:active{transition-duration:.1s;transform:scale(.95)}.switch{background:var(--fill-2);cursor:pointer;border:0;border-radius:999px;flex:none;width:58px;height:32px;transition:background-color .25s;position:relative}.switch:after{content:"";width:34px;height:26px;transition:transform .4s var(--spring-soft);background:#fff;border-radius:999px;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0003,0 0 0 .5px #0000000a}.switch[aria-checked=true]{background:var(--success)}.switch[aria-checked=true]:after{transform:translate(18px)}.switch:active:after{transform:scaleX(1.12)}.switch[aria-checked=true]:active:after{transform:translate(16px)scaleX(1.12)}.field{flex-direction:column;gap:7px;display:flex}.field label{color:var(--muted);padding:0 4px;font-size:13px;font-weight:500}.field .row{align-items:center;gap:10px;display:flex}.field .row .narrow{text-align:center;flex:none;width:104px}.input{background:var(--fill);width:100%;color:var(--text);font:inherit;border:0;border-radius:16px;outline:none;min-height:50px;padding:13px 16px;font-size:17px;transition:box-shadow .2s,background-color .2s;box-shadow:inset 0 0 0 2px #0000}textarea.input{resize:none;line-height:1.35}.input:focus{box-shadow:inset 0 0 0 2px var(--accent)}.input.mono{font-family:var(--mono);font-weight:600}.input.code{font-family:var(--mono);text-align:center;letter-spacing:.14em;text-transform:uppercase;border-radius:18px;min-height:60px;padding:14px 8px;font-size:24px;font-weight:600}.input.code.readout{-webkit-user-select:text;user-select:text;place-items:center;font-size:21px;display:grid}.input::placeholder{color:var(--faint);font-family:var(--font);letter-spacing:normal;text-transform:none;font-weight:400}.help{color:var(--muted);margin:0;padding:0 4px;font-size:13px;line-height:1.38}.help.body{color:var(--text-2);padding:0;font-size:15px}.cloud-line{color:var(--text-2);align-items:center;gap:10px;min-height:28px;padding:0 4px;font-size:15px;display:flex}.cloud-line svg{color:var(--muted)}.cloud-line.ok svg{color:var(--success)}.cloud-line.waiting svg{color:var(--warning)}.cloud-line .grow{flex:1;min-width:0}.cloud-line .btn{min-height:36px;padding:0 14px;font-size:15px}.error{color:var(--danger);min-height:0;padding:0 4px;font-size:14px;font-weight:500}.list{background:var(--surface-solid);border-radius:22px;flex-direction:column;display:flex;overflow:hidden}dialog .list{background:var(--fill)}.list .item{align-items:center;gap:12px;min-height:56px;padding:10px 16px;display:flex;position:relative}.list .item+.item:before{content:"";background:var(--line);height:.5px;position:absolute;top:0;left:16px;right:0}.list .item .grow{flex:1;min-width:0}.list .item .name{letter-spacing:-.02em;font-size:17px;font-weight:400}.list .item .sub{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.35}.list .item.full{flex-direction:column;align-items:stretch;gap:10px;padding-bottom:14px}.list .item.full .seg{display:flex}.list .item.full .seg button{flex:1;padding:0 8px}.library{-webkit-overflow-scrolling:touch;padding:calc(var(--top) + 6px) var(--right) calc(var(--bottom) + 96px) var(--left);flex:1;overflow-y:auto}.library>*{max-width:1120px;margin-left:auto;margin-right:auto}.large-title{letter-spacing:-.022em;align-items:center;min-height:48px;margin:0 auto 18px;padding:0 4px;font-size:34px;font-weight:700;line-height:40px;display:flex}button.lib-top{top:var(--top);right:var(--right);z-index:5;animation:drop-in .5s var(--spring) both;position:absolute}.lib-dock{left:50%;bottom:var(--bottom);z-index:5;width:max-content;max-width:calc(100% - var(--left) - var(--right));animation:rise-in .5s var(--spring) both;gap:6px;padding:5px;display:flex;position:absolute;translate:-50%}.lib-dock .new{flex:1;min-width:150px;height:50px;padding:0 22px 0 18px;font-size:17px}.tinted.soils{--tint:var(--gold)}.choice button.tinted{width:100%;height:54px;font-size:18px}.lib-edge{z-index:4;pointer-events:none;position:absolute;left:0;right:0}.lib-edge.top{height:calc(var(--top) + 64px);background:linear-gradient(var(--bg) 30%, transparent);opacity:0;transition:opacity .25s;top:0}.scrolled>.lib-edge.top{opacity:1}.lib-edge.bottom{height:calc(var(--bottom) + 96px);background:linear-gradient(transparent, var(--bg) 85%);bottom:0}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;display:grid}.card{appearance:none;text-align:left;cursor:pointer;background:var(--surface-solid);min-width:0;box-shadow:var(--card-shadow);transition:transform .45s var(--spring-soft), filter .2s;border:0;border-radius:24px;flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.card:active{filter:brightness(.97);transition-duration:.12s;transform:scale(.97)}@media (hover:hover){.card:hover{transform:translateY(-2px)}.card:hover:active{transform:scale(.97)}}.card.rise{animation:rise-in .5s var(--spring) both;animation-delay:calc(min(var(--i), 12) * 28ms)}.card .thumb-img{aspect-ratio:4/3;background:var(--fill);color:var(--faint);place-items:center;display:grid;position:relative}.card .thumb-img .pic{background:50%/cover no-repeat;animation:.35s ease-out both fade-in;position:absolute;inset:0}.card .thumb-img .pic.newer{animation:.24s ease-out both fade-in}.card .badge{letter-spacing:.04em;color:#fff;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;position:absolute;top:12px;left:12px;box-shadow:0 1px 4px #0000002e}.card .badge.soils{background:var(--gold)}.card .badge.concrete{background:var(--accent)}.card .body{min-width:0;padding:12px 16px 15px}.card .name{letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:590;overflow:hidden}.card .meta{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;margin-top:3px;font-size:13px;display:flex;overflow:hidden}.card .meta .unsent-mark{color:var(--warning);flex:none;display:none}.grid.trouble .card.unsent .unsent-mark{display:block}.empty-state{text-align:center;color:var(--muted);grid-column:1/-1;max-width:400px;margin:0 auto;padding:12vh 20px 0;font-size:15px;line-height:1.4;animation:.4s ease-out both fade-in}.empty-state svg{color:var(--faint);margin:0 auto}.empty-state h2{color:var(--text);letter-spacing:-.02em;margin:14px 0 6px;font-size:22px;font-weight:700}.empty-state p{margin:0}.busy{z-index:30;color:var(--text-2);pointer-events:none;opacity:0;transition:opacity .16s var(--out), scale .16s var(--out);border-radius:30px;flex-direction:column;align-items:center;gap:14px;padding:26px 30px 22px;font-size:15px;font-weight:590;display:flex;position:absolute;top:50%;left:50%;translate:-50% -50%;scale:.9}.busy.show{opacity:1;transition:opacity .2s ease-out, scale .4s var(--spring);scale:1}.spinner{border:3px solid var(--fill-2);border-top-color:var(--muted);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)scale(.97)}}@keyframes drop-in{0%{opacity:0;transform:translateY(-14px)scale(.97)}}.page-head{align-items:center;gap:12px;margin-bottom:18px;display:flex}.page-head .large-title{flex:1;min-width:0;margin:0}.page-head button.glass{background:var(--surface-solid);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--card-shadow)}.page-head button.glass:before{display:none}.stack{flex-direction:column;gap:14px;max-width:760px;display:flex}.stack .bar{justify-content:space-between;align-items:center;gap:12px;display:flex}dialog.sheet{width:100%;max-width:none;height:100%;max-height:none;color:var(--text);background:0 0;border:0;margin:0;padding:0;display:block;position:fixed;inset:0;overflow:hidden}dialog.sheet:not([open]){display:none}dialog.sheet::backdrop{background:#00000052;animation:.25s ease-out both fade-in}dialog.sheet.closing::backdrop{animation:fade-out .2s var(--out) both}@keyframes fade-out{to{opacity:0}}dialog.sheet .panel{translate:calc(-50% + var(--pad-dx,0px)) var(--pad-dy,0px);left:50%;bottom:max(8px, calc(var(--sab) - 14px));transition:translate .45s var(--spring);width:min(100% - 16px,600px);max-height:calc(100% - var(--sat) - 28px);background:color-mix(in srgb, var(--sheet) 86%, transparent);-webkit-backdrop-filter:blur(40px)saturate(170%);backdrop-filter:blur(40px)saturate(170%);animation:sheet-in .5s var(--spring) both;border-radius:38px;outline:none;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 24px 60px -12px #00000059,0 0 0 .5px #0000001f}dialog.sheet .panel:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;background:var(--glass-rim);-webkit-mask-composite:xor;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}dialog.sheet.closing .panel{animation:sheet-out .22s var(--out) both}dialog.sheet .panel.gl{box-shadow:0 24px 60px -12px #00000059,0 0 0 .5px #0000001f!important}@keyframes sheet-in{0%{transform:translateY(calc(100% + 40px))}}@keyframes sheet-out{to{transform:translateY(calc(100% + 40px))}}@media (min-width:700px) and (min-height:600px){dialog.sheet:not(.center) .panel{translate:calc(-50% + var(--pad-dx,0px)) calc(-50% + var(--pad-dy,0px));width:min(100% - 48px,560px);max-height:min(calc(100% - 2 * var(--top) - 24px), 760px);animation-name:pop-in;animation-duration:.4s;top:50%;bottom:auto}dialog.sheet:not(.center).closing .panel{animation-name:pop-out;animation-duration:.16s}}dialog.sheet.center .panel{bottom:auto;top:calc(var(--vv-top,0px) + var(--vv-height,100%) / 2);translate:calc(-50% + var(--pad-dx,0px)) calc(-50% + var(--pad-dy,0px));width:min(100% - 32px,440px);max-height:calc(var(--vv-height,100%) - 24px);animation:pop-in .4s var(--spring) both;border-radius:34px}dialog.sheet.center.closing .panel{animation:pop-out .16s var(--out) both}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}}@keyframes pop-out{to{opacity:0;transform:scale(.94)}}.sheet-header{flex:none;align-items:center;gap:8px;padding:14px 14px 6px 24px;display:flex}.sheet-header h2{letter-spacing:-.02em;flex:1;min-width:0;margin:0;font-size:20px;font-weight:700}.sheet-header .btn.icon{background:var(--fill);color:var(--text-2);width:36px;min-width:36px;min-height:36px;margin:4px}.sheet-header .btn.icon:after{content:"";position:absolute;inset:-6px}.sheet-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;gap:18px;padding:8px 20px 22px;display:flex;overflow-y:auto}.sheet-body>*{flex:none}.sheet-actions{flex:none;gap:10px;padding:0 20px 20px;display:flex}.sheet-actions .btn{flex:1;min-height:50px}.sheet-actions .btn.danger{flex:none}.choice{flex-direction:column;gap:10px;display:flex}.signin{padding:max(24px, var(--sat)) 20px max(24px, var(--sab));flex:1;place-items:center;display:grid;overflow-y:auto}.signin .card-panel{translate:var(--pad-dx,0px) var(--pad-dy,0px);transition:translate .45s var(--spring);background:var(--surface-solid);width:min(100%,400px);box-shadow:var(--card-shadow), 0 30px 60px -30px #0003;animation:rise-in .6s var(--spring) both;border-radius:34px;flex-direction:column;gap:18px;padding:30px 26px 26px;display:flex}.brand{text-align:center;flex-direction:column;align-items:center;gap:4px;padding-bottom:4px;display:flex}.brand .mark{border-radius:18px;width:68px;height:68px;margin-bottom:12px;box-shadow:0 8px 20px -6px #0000004d,0 0 0 .5px #00000014}.brand h1{letter-spacing:-.022em;margin:0;font-size:28px;font-weight:700}.brand .tag{color:var(--muted);font-size:15px}.signin .help{text-align:center}.signin .error:empty{display:none}.signin .error{text-align:center}.editor{background:var(--bg-editor)}.editor .stage{background:var(--bg-editor);position:absolute;inset:0;overflow:hidden}.editor .stage canvas{animation:.4s ease-out both fade-in;position:absolute;top:0;left:0}.editor .stack{position:absolute;top:0;left:0}.editor .stage canvas.loupe{pointer-events:none;border-radius:50%;animation:.14s ease-out both loupe-in;box-shadow:0 0 0 1px #00000047,0 0 0 4px #ffffffeb,0 0 0 5px #0000001f,0 10px 28px #00000047}.editor .stage canvas.loupe[hidden]{display:none}.editor .stage canvas.loupe.snapped{box-shadow:0 0 0 1px #00000047,0 0 0 4px #1863dc,0 0 0 5px #0000001f,0 10px 28px #00000047}.editor .stage canvas.loupe.fine{box-shadow:0 0 0 1px #00000047,0 0 0 4px #ffffffeb,0 0 0 6px #1863dc73,0 10px 28px #00000047}@keyframes loupe-in{0%{opacity:0;scale:.6}to{opacity:1;scale:1}}@media (prefers-reduced-motion:reduce){.editor .stage canvas.loupe{animation:none}}.editor .stage.loading:after{content:"";border:3px solid var(--fill-2);border-top-color:var(--muted);border-radius:50%;width:28px;height:28px;margin:-14px;animation:.8s linear infinite spin,.4s .25s both fade-in;position:absolute;top:50%;left:50%}.editor .scrim{z-index:5;height:calc(var(--sat) + 10px);pointer-events:none;background:linear-gradient(#0000004d,#0000);display:none;position:absolute;top:0;left:0;right:0}@media (display-mode:standalone){.editor .scrim{display:block}}.chrome{z-index:6;left:var(--left);right:var(--right);pointer-events:none;display:flex;position:absolute}.chrome>*{pointer-events:auto}.chrome.top{top:var(--top);justify-content:space-between;align-items:flex-start;gap:8px}.chrome.top .cluster{align-items:center;gap:8px;min-width:0;display:flex}.chrome.top .cluster>*{animation:drop-in .5s var(--spring) both}.chrome.top .cluster.lead{flex:0 auto}.chrome.top .title{text-overflow:ellipsis;white-space:nowrap;cursor:text;flex:0 auto;min-width:0;max-width:min(34vw,340px);padding:0 20px;font-size:16px;font-weight:590;line-height:48px;display:block;overflow:hidden}.chrome.top .title.empty{display:none}.chrome.bottom{bottom:var(--bottom);flex-direction:column;align-items:center;gap:8px}.chrome.bottom.ready>*{animation:rise-in .5s var(--spring) both}.chrome.bottom.ready>.toolbar{animation-delay:40ms}.toolbar{flex:none;order:2;padding:4px;display:flex;position:relative}.toolbar .tool{appearance:none;cursor:pointer;width:var(--tool-w,92px);letter-spacing:.01em;height:54px;color:var(--text-2);transition:color .25s, transform .4s var(--spring-soft);background:0 0;border:0;border-radius:999px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;padding:0 10px;font-size:11px;font-weight:590;display:flex}.toolbar .tool svg{width:25px;height:25px}.toolbar .tool .short{display:none}.toolbar .tool span{white-space:nowrap}.toolbar .tool:active{transition-duration:.25s,.1s;transform:scale(.93)}.toolbar .tool[aria-pressed=true]{color:var(--accent-text)}.toolbar .thumb{background:var(--accent-soft);box-shadow:none}.strip{order:1;min-width:0;max-width:100%;display:flex;position:relative;overflow:hidden}.strip .scroll.ghost{pointer-events:none;height:100%;position:absolute;top:0;left:0;overflow:visible;mask-image:none}.strip .scroll{border-radius:inherit;overscroll-behavior-x:contain;scrollbar-width:none;align-items:center;gap:2px;min-width:0;padding:4px;display:flex;overflow-x:auto}.strip .scroll::-webkit-scrollbar{display:none}.strip.fade-l .scroll{mask-image:linear-gradient(90deg,#0000 4px,#000 36px)}.strip.fade-r .scroll{mask-image:linear-gradient(270deg,#0000 4px,#000 36px)}.strip.fade-l.fade-r .scroll{mask-image:linear-gradient(90deg,#0000 4px,#000 36px calc(100% - 36px),#0000 calc(100% - 4px))}.strip .set{flex:none;align-items:center;display:inline-flex}.strip .set.markups .thumb,.strip .set.placements .thumb{border-radius:14px}.strip .caption{color:var(--text-2);white-space:nowrap;padding:0 6px 0 14px;font-size:13px;font-weight:590}.strip .chip{color:var(--text);background:0 0;padding:0 14px;font-size:15px}.strip .chip:active{background:var(--press)}.strip .chip[aria-pressed=true]{color:var(--text);background:0 0}.strip .chip.num{width:var(--ctl);padding:0;font-size:16px;font-weight:600}.strip .chip.new{color:var(--accent)}.strip .chip.swatch-only{width:var(--ctl);padding:0}.strip .chip .swatch{width:16px;height:16px;transition:scale .4s var(--spring-soft)}.strip .chip.swatch-only .swatch{width:22px;height:22px}.strip .chip[aria-pressed=true] .swatch{scale:1.12}.strip .chip.well{position:relative;overflow:hidden}.strip .chip.well input[type=color]{opacity:0;cursor:pointer;appearance:none;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.strip .divider{background:var(--line);flex:none;width:.5px;height:24px;margin:0 6px}.strip .part{appearance:none;cursor:pointer;font:inherit;min-height:var(--ctl);color:var(--text);white-space:nowrap;transition:transform .4s var(--spring-soft), background-color .2s;background:0 0;border:0;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 14px;font-size:15px;font-weight:590;line-height:1;display:inline-flex}.strip .part:active{background:var(--press);transition-duration:.1s,60ms;transform:scale(.95)}.strip .part .k{color:var(--text-2);font-size:13px;font-weight:500}@media (hover:hover){.strip .chip:hover,.strip .part:hover{background:var(--fill)}.strip .chip[aria-pressed=true]:hover{background:0 0}}.chip.markup .mk{color:#111;background:color-mix(in srgb, var(--mk-fill) 62%, #fff);width:30px;height:30px;box-shadow:inset 0 0 0 2px var(--mk-stroke);transition:scale .4s var(--spring-soft);border-radius:9px;place-items:center;font-size:15px;font-weight:700;display:grid}.strip .chip.markup[aria-pressed=true] .mk{scale:1.1}.mover-title{color:var(--text-2);padding:2px 8px 10px;font-size:13px;font-weight:590}.mover{flex-wrap:wrap;gap:6px;max-width:296px;display:flex}.mover .chip.num{width:var(--ctl);background:var(--fill);color:var(--text);padding:0;font-size:17px;font-weight:650}.mover .chip.num.markup{background:0 0}.mover .chip.num[aria-pressed=true]{background:var(--fill);color:var(--text);box-shadow:inset 0 0 0 2.5px var(--accent)}.mover .chip.num.markup[aria-pressed=true]{background:0 0}.mover .chip.num.new{color:var(--accent)}.strip .chip.fail{gap:7px;padding:0 14px 0 12px}.strip .chip.colour{color:var(--text-2);gap:5px;padding:0 10px 0 12px}.strip .chip.colour .swatch{width:22px;height:22px}.strip .chip.colour:disabled{opacity:.3}.strip .chip.more-colours .swatch{background:conic-gradient(#e0453d,#f0b400,#5fd36e,#27a4e6,#4b55d6,#c2189b,#e0453d);width:24px;height:24px;box-shadow:inset 0 0 0 2.5px #ffffffa6,0 0 0 .5px #0000002e}.strip .chip.shape svg{color:var(--text-2);transition:color .2s}.strip .chip.shape[aria-pressed=true] svg{color:var(--text)}.palette-caption{color:var(--text-2);text-align:center;padding:10px 6px 2px;font-size:13px;font-weight:500}.strip .part .v{font-weight:650}.strip .part svg{color:var(--text-2)}.zoomer{z-index:6;right:var(--right);bottom:calc(var(--bottom) + 7px);animation:rise-in .5s 80ms var(--spring) both;flex-direction:column;padding:2px;display:flex;position:absolute}.zoomer .btn{color:var(--text);width:44px}.zoomer .btn.step{display:none}@media (any-pointer:fine) and (min-width:900px) and (min-height:501px){.zoomer .btn.step{display:inline-flex}}@media (min-width:900px),(max-height:500px){.chrome.bottom{height:var(--th,62px);--slot:440px;--x:max(0px, calc((100% - var(--tw,560px) - 8px - var(--slot)) / 2));display:block}.chrome.bottom[data-kind=concrete]{--slot:540px}.chrome.bottom>.toolbar{left:var(--x);position:absolute;bottom:0}.chrome.bottom>.strip{left:calc(var(--x) + var(--tw,560px) + 8px);height:max-content;max-width:calc(100% - var(--x) - var(--tw,560px) - 8px - 60px);margin:auto 0;position:absolute;top:0;bottom:0}.chrome.bottom>.strip .scroll{padding:9px}.chrome.bottom>.strip{border-radius:31px}.zoomer{bottom:calc(var(--bottom) + 7px)}}@media (min-width:900px) and (max-width:1100px) and (min-height:501px){.chrome.bottom{--slot:400px}}@media (max-width:600px),(max-height:500px){.editor .chrome.bottom>.strip{transition:opacity .2s}.editor.typing-shot .chrome.bottom>.strip{opacity:0;pointer-events:none}}@media (max-height:500px){.chrome.bottom{--slot:300px}.toolbar .tool{--tool-w:64px;letter-spacing:0;gap:1px;height:44px;padding:0 6px;font-size:10px}.toolbar .tool svg{width:21px;height:21px}.toolbar .tool .long{display:none}.toolbar .tool .short{display:inline}.chrome.bottom>.strip .scroll{padding:4px}.chrome.bottom>.strip{border-radius:26px}.zoomer{bottom:calc(var(--bottom) + 2px)}}@media (max-width:600px){.chrome.top .title,.share .label{display:none}button.tinted.share{width:48px;padding:0}.chrome.bottom{padding-right:52px}.toolbar{border-radius:22px;width:100%;max-width:420px}.toolbar .thumb{border-radius:18px}.toolbar .tool{letter-spacing:-.01em;flex:1 1 0;width:auto;min-width:0;padding:0 2px;font-size:10.5px}.toolbar .tool svg{width:23px;height:23px}.toolbar .tool .long{display:none}.toolbar .tool .short{display:inline}}.context{z-index:7;will-change:translate, opacity;background-color:var(--glass-strong);max-width:calc(100% - 16px);-webkit-backdrop-filter:var(--glass-filter-strong) contrast(var(--gn));backdrop-filter:var(--glass-filter-strong) contrast(var(--gn));opacity:0;pointer-events:none;transition:opacity .14s var(--out), scale .14s var(--out), background-color .4s, color .4s;border-radius:26px;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;top:0;left:0;scale:.88}.context.show{opacity:1;pointer-events:auto;transition:opacity .18s ease-out, scale .38s var(--spring-soft), background-color .4s, color .4s;scale:1}.context .btn,.strip .btn{color:var(--text);gap:7px;padding:0 16px;font-size:15px;font-weight:590}.context .btn svg,.strip .btn svg{color:var(--text-2);transition:color .2s}.context .btn.danger,.context .btn.danger svg,.strip .btn.danger,.strip .btn.danger svg{color:var(--danger)}.strip .btn.icon{width:var(--ctl);padding:0}.strip .btn:disabled{opacity:.4}.strip .hint{color:var(--text-2);white-space:nowrap;padding:0 8px 0 14px;font-size:15px;font-weight:510}.strip .kinds{flex:none;align-items:center;gap:2px;display:inline-flex}.strip .kinds .btn{padding:0 12px}.context .btn.on,.strip .btn.on{background:var(--accent);color:var(--on-accent)}.context .btn.on svg,.strip .btn.on svg{color:currentColor}.context .btn[aria-pressed=true],.strip .btn[aria-pressed=true]{background:var(--fill-2)}.context .btn.fail[aria-pressed=true]{background:color-mix(in srgb, var(--danger) 15%, transparent);color:var(--danger)}.context .btn.fail[aria-pressed=true] svg{color:currentColor}.context .btn.icon{width:var(--ctl);padding:0}.context .hint{color:var(--text-2,var(--text));white-space:nowrap;padding:0 6px 0 14px;font-size:15px;font-weight:510}.context .chip{background:0 0}.context .divider{background:var(--line);flex:none;align-self:center;width:.5px;height:24px;margin:0 4px}.context .btn:disabled{opacity:.4}.context .kinds{flex:none;align-items:center;display:inline-flex}.context .kinds .btn{padding:0 11px}.callout-inplace{--callout-color:var(--accent);z-index:7;box-sizing:border-box;--callout-text:#222;--callout-tint:#00000014;--callout-tint-strong:#00000029;border:2px solid var(--callout-color);color:var(--callout-text);font-variant-numeric:normal;white-space:nowrap;-webkit-font-smoothing:antialiased;cursor:text;background:#fff;border-radius:6px;font-family:MapMark Inter,Inter,-apple-system,Helvetica Neue,Arial,sans-serif;font-weight:600;animation:.2s cubic-bezier(.2,.8,.2,1) callout-lift;position:absolute;overflow:visible;box-shadow:0 1px 2px #0000001a,0 10px 30px #0003}@keyframes callout-lift{0%{box-shadow:0 0 #0000,0 0 #0000}}.callout-lines{position:relative}.callout-lines .line{white-space:pre;align-items:baseline;display:flex}.callout-lines .p{white-space:pre;display:inline-block}.callout-lines .f{vertical-align:baseline;display:inline-block;position:relative}.callout-lines .f:before{content:"";background:var(--callout-tint);pointer-events:none;border-radius:.3em;transition:background .15s;position:absolute;inset:.1em -.16em}.callout-lines .f:focus-within:before{background:var(--callout-tint-strong)}.callout-lines .in{appearance:none;color:inherit;font:inherit;line-height:inherit;min-width:1ch;height:1.25em;caret-color:var(--callout-color);background:0 0;border:0;border-radius:0;outline:none;margin:0;padding:0;position:relative}.callout-lines input.in{text-overflow:clip;margin-right:-4px}.callout-lines .in::placeholder{color:var(--callout-text);opacity:.32}.callout-lines .ghost{color:var(--callout-text);opacity:.32;pointer-events:none;white-space:pre;visibility:hidden;position:absolute;top:0;left:0}.callout-lines .in.text{resize:none;white-space:pre;height:auto;display:block;overflow:hidden}.elev-inplace{--tag:#005eff;--tag-ink:#fff;z-index:7;box-sizing:border-box;background:var(--tag);color:var(--tag-ink);pointer-events:none;font-variant-numeric:normal;white-space:nowrap;-webkit-font-smoothing:antialiased;font-family:MapMark Inter,Inter,-apple-system,Helvetica Neue,Arial,sans-serif;font-weight:700;animation:.2s cubic-bezier(.2,.8,.2,1) callout-lift;position:absolute;box-shadow:0 0 0 2px #fffffff2,0 10px 28px #00000042}.elev-inplace>*{position:absolute;top:0}.elev-inplace .d{font-weight:600}.elev-inplace .v.empty{opacity:.45}.elev-inplace .v:after{content:"";vertical-align:-.1em;background:currentColor;border-radius:1px;width:.09em;height:.95em;margin-left:.06em;animation:1.05s step-end infinite caret;display:inline-block}.elev-inplace .v.empty:after{opacity:1;margin:0;position:absolute;top:.18em;left:-.08em}@keyframes caret{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.elev-inplace .v:after{animation:none}}.numpad{--key:60px;--key-h:52px;--gap:7px;z-index:39;background-color:var(--glass-strong);-webkit-backdrop-filter:var(--glass-filter-strong) contrast(var(--gn));backdrop-filter:var(--glass-filter-strong) contrast(var(--gn));will-change:translate;-webkit-user-select:none;user-select:none;border-radius:30px;flex-direction:column;gap:8px;padding:0 12px 12px;display:flex;position:fixed;top:0;left:0}.numpad[hidden]{display:none}.numpad.compact{--key:54px;--key-h:44px;--gap:6px;border-radius:26px;padding:0 10px 10px}.numpad .pad-grip{cursor:grab;touch-action:none;place-items:center;height:20px;margin:0 -12px -2px;display:grid}.numpad .pad-grip span{background:var(--fill-2);width:38px;height:5px;transition:background-color .2s, width .3s var(--spring-soft);border-radius:3px}.numpad.carried{box-shadow:var(--glass-shadow), 0 26px 60px -12px #00000059}.numpad.carried.gl{box-shadow:var(--glass-shadow-out), 0 26px 60px -12px #00000059!important}.numpad.carried .pad-grip{cursor:grabbing}.numpad.carried .pad-grip span{background:var(--text-2);width:48px}.numpad .pad-display{touch-action:none;cursor:grab;flex-direction:column;gap:2px;min-width:0;padding:0 8px 2px;display:flex}.numpad .pad-display[hidden]{display:none}.numpad .pad-label{color:var(--text);gap:6px;font-size:15px;font-weight:600;display:flex}.numpad .pad-value{justify-content:flex-end;align-items:center;gap:6px;height:40px;display:flex}.numpad .pad-v{text-align:right;letter-spacing:-.01em;font-variant-numeric:tabular-nums;min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:32px;font-weight:600;overflow:hidden}.numpad .pad-v.empty{color:var(--faint)}.numpad.compact .pad-v{font-size:26px}.numpad.compact .pad-value{height:32px}.numpad .pad-clear{appearance:none;background:var(--fill-2);width:26px;height:26px;color:var(--text-2);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.numpad .pad-clear:after{content:"";position:absolute;inset:-9px}.numpad .pad-clear[hidden]{display:none}.numpad .pad-keys{grid-template-columns:repeat(4, var(--key));grid-template-rows:repeat(4, var(--key-h));gap:var(--gap);display:grid}.numpad .k-1{grid-area:1/1}.numpad .k-2{grid-area:1/2}.numpad .k-3{grid-area:1/3}.numpad .k-back{grid-area:1/4}.numpad .k-4{grid-area:2/1}.numpad .k-5{grid-area:2/2}.numpad .k-6{grid-area:2/3}.numpad .k-extra{grid-area:2/4}.numpad .k-7{grid-area:3/1}.numpad .k-8{grid-area:3/2}.numpad .k-9{grid-area:3/3}.numpad .k-enter{grid-area:3/4/5/5}.numpad .k-point{grid-area:4/1}.numpad .k-0{grid-area:4/2/5/4}.numpad .no-point .k-0{grid-area:4/1/5/4}.numpad .no-extra .k-back{grid-area:1/4/3/5}.numpad .pad-key{appearance:none;cursor:pointer;background:var(--surface-solid);color:var(--text);font:inherit;font-variant-numeric:tabular-nums;touch-action:manipulation;transition:background-color .18s, scale .25s var(--spring-soft), filter .18s;border:0;border-radius:14px;place-items:center;padding:0;font-size:26px;font-weight:500;display:grid;box-shadow:0 1px #0000001f,0 0 0 .5px #0000000f}.numpad .pad-key[hidden]{display:none}.numpad.compact .pad-key{border-radius:12px;font-size:23px}.numpad .pad-key.pad-alt{background:var(--fill-2);box-shadow:none;color:var(--text);font-size:24px}.numpad .pad-key .abc{letter-spacing:.02em;font-size:16px;font-weight:650}.numpad .k-point{padding-bottom:10px;font-size:36px;font-weight:700;line-height:1}.numpad .pad-key:active{background:var(--fill-2);transition-duration:40ms,80ms;scale:.94}.numpad .k-enter{background:var(--fill-2);box-shadow:none;font-size:17px;font-weight:600}.numpad .k-enter.accent{background:var(--accent);color:var(--on-accent)}.numpad .k-enter .done{flex-direction:column;align-items:center;gap:4px;font-size:15px;display:flex}.numpad .k-enter.accent:active{background:var(--accent);filter:brightness(.9)}.input.pad-target:not(:focus){box-shadow:inset 0 0 0 2px var(--accent)}.menu.popover{min-width:0;padding:10px}.palette{grid-template-columns:repeat(6,44px);gap:4px;display:grid}.palette .sw{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid;position:relative}.palette .sw:after{content:"";background:var(--sw-fill);width:30px;height:30px;box-shadow:inset 0 0 0 2.5px var(--sw-stroke);transition:scale .4s var(--spring-soft);border-radius:50%}.palette .sw[aria-pressed=true]:before{content:"";box-shadow:0 0 0 2.5px var(--accent);border-radius:50%;position:absolute;inset:3px}.palette .sw:active:after{scale:.9}.palette .sw.well:not([style]):after{box-shadow:none;background:conic-gradient(#e0453d,#f0e442,#5fd36e,#4fd1c5,#5fb4ec,#b08beb,#f28cc6,#e0453d)}.palette .sw.well{overflow:hidden}.palette .sw.well input[type=color]{opacity:0;cursor:pointer;appearance:none;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.menu-backdrop{z-index:40;position:fixed;inset:0}.menu{z-index:41;overscroll-behavior:contain;background-color:var(--glass-strong);min-width:200px;max-width:min(340px,100vw - 16px);max-height:calc(100dvh - 16px);-webkit-backdrop-filter:var(--glass-filter-strong) contrast(var(--gn));backdrop-filter:var(--glass-filter-strong) contrast(var(--gn));opacity:0;transition:opacity .15s var(--out), scale .15s var(--out), background-color .4s, color .4s;border-radius:26px;flex-direction:column;padding:6px;display:flex;position:fixed;overflow-y:auto;scale:.5}.menu.show{opacity:1;transition:opacity .16s ease-out, scale .42s var(--spring-soft), background-color .4s, color .4s;scale:1}.menu .btn{color:var(--text);border-radius:20px;justify-content:flex-start;gap:14px;min-height:46px;padding:0 16px 0 14px;font-weight:400;transition:background-color .15s}.menu .btn:active{transform:none}.menu .btn svg{color:var(--text-2)}.menu .btn.danger,.menu .btn.danger svg{color:var(--danger)}.menu .sep{background:var(--line);height:.5px;margin:5px 14px}.menu .btn .label{text-align:left;flex:auto}.menu .btn .detail{color:var(--text-2);font-variant-numeric:tabular-nums;margin-left:12px}.menu .btn svg.tick{color:var(--accent-text);margin-left:10px}.zoom{z-index:60;pointer-events:none;contain:layout style;position:fixed;overflow:hidden}.zoom-window{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.zoom-clip{background:var(--bg-editor);position:absolute;inset:0;overflow:hidden}.zoom-shadow{will-change:opacity;position:absolute;inset:0;box-shadow:0 30px 90px #00000047}.zoom-cam{transform-origin:0 0;will-change:transform;width:100%;height:100%;position:absolute;top:0;left:0}.zoom-plan,.zoom-shot,.zoom-sharp{will-change:transform, opacity;max-width:none;display:block;position:absolute}.zoom-chrome{position:absolute;inset:0}.zoom-chrome *{transition:none!important;animation:none!important}.screen.by-zoom>.library{animation:none}.screen.editor.arriving{background:0 0}.editor.arriving .stage{opacity:0}.editor>.zoom{z-index:5}.editor.by-zoom .chrome.top .cluster>*{animation-duration:.44s;animation-delay:.1s}.editor.by-zoom .chrome.bottom.ready>*,.editor.by-zoom .zoomer{animation-duration:.44s;animation-delay:0s}.editor.by-zoom .scrim{animation:.3s .1s both fade-in}.editor.by-zoom .stage canvas{animation:none}.editor.by-zoom .stage.loading:after{display:none}.by-zoom .lib-top,.by-zoom .lib-dock{animation:none}.card.landing .thumb-img>*{visibility:hidden}.card.landing .badge{opacity:0}.zoom-pic{will-change:opacity;background:50%/cover no-repeat;position:absolute}.zoom-tag{transform-origin:0 0;will-change:opacity;display:flex;position:absolute}.zoom-tag .badge{white-space:nowrap;letter-spacing:.04em;color:#fff;border-radius:999px;flex:none;padding:5px 9px;font-size:11px;font-weight:700;display:block;position:static;box-shadow:0 1px 4px #0000002e}.zoom-tag .badge.soils{background:var(--gold)}.zoom-tag .badge.concrete{background:var(--accent)}#toast{width:fit-content;left:0;right:0;top:calc(var(--top) + 58px);z-index:50;pointer-events:none;text-align:center;letter-spacing:-.01em;max-width:min(90vw,520px);min-height:44px;color:var(--text);background-color:var(--glass-strong);background-image:var(--glass-sheen);-webkit-backdrop-filter:var(--glass-filter-strong) contrast(var(--gn));backdrop-filter:var(--glass-filter-strong) contrast(var(--gn));box-shadow:var(--glass-shadow);opacity:0;transition:opacity .18s var(--out), transform .18s var(--out);border-radius:999px;align-items:center;gap:4px;margin-inline:auto;padding:10px 20px;font-size:15px;font-weight:590;display:flex;position:fixed;transform:translateY(-14px)scale(.94)}#toast.show{opacity:1;transition:opacity .2s ease-out, transform .45s var(--spring-soft);transform:none}#update{width:fit-content;left:0;right:0;top:calc(var(--top) + 58px);z-index:51;letter-spacing:-.01em;max-width:min(90vw,520px);min-height:44px;color:var(--text);background-color:var(--glass-strong);-webkit-backdrop-filter:var(--glass-filter-strong) contrast(var(--gn));backdrop-filter:var(--glass-filter-strong) contrast(var(--gn));opacity:0;transition:opacity .2s ease-out, transform .45s var(--spring-soft);border-radius:999px;align-items:center;gap:4px;margin-inline:auto;padding:5px 6px 5px 20px;font-size:15px;font-weight:590;display:flex;position:fixed;transform:translateY(-14px)scale(.94)}#update.show{opacity:1;transform:none}#update .btn{color:var(--accent-text);background:var(--fill);min-width:0;min-height:34px;margin-left:8px;padding:0 12px;font-size:15px}body:has(#update.show) #toast{top:calc(var(--top) + 110px)}#toast.action{pointer-events:auto;padding-right:6px}#toast .btn{color:var(--accent-text);background:var(--fill);min-width:0;min-height:34px;margin-left:8px;padding:0 12px;font-size:15px}#toast[data-kind=error]{background-color:color-mix(in srgb, var(--danger) 86%, transparent);color:#fff;background-image:none}#toast[data-kind=success]{background-color:color-mix(in srgb, var(--success) 86%, #0a3d1a);color:#fff;background-image:none}@media (max-width:600px){.large-title{font-size:32px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{border-radius:20px}.card .body{padding:10px 12px 12px}.card .name{font-size:15px}.card .meta .extra{display:none}.lib-dock{width:calc(100% - var(--left) - var(--right))}.lib-dock .new{min-width:0}.sheet-actions{flex-wrap:wrap}.list .item.stacked{flex-direction:column;align-items:stretch;gap:10px;padding-bottom:14px}.list .item.stacked .seg{display:flex}.list .item.stacked .seg button{flex:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}.spinner,.editor .stage.loading:after{animation-duration:.8s!important}}@media (prefers-reduced-transparency:reduce){:root,:root[data-theme],:root:not([data-theme=light]){--glass:var(--surface-solid);--glass-strong:var(--surface-solid);--sheet:var(--surface-solid);--glass-filter:opacity(1);--glass-filter-strong:opacity(1);--glass-sheen:none}}@media (prefers-contrast:more){:root,:root[data-theme],:root:not([data-theme=light]){--glass:var(--surface-solid);--glass-strong:var(--surface-solid);--glass-press:var(--fill-2);--glass-filter:opacity(1);--glass-filter-strong:opacity(1);--glass-rim:none;--glass-sheen:none;--text-2:var(--text)}.glass,.context,.menu,.numpad,.strip{box-shadow:0 0 0 1px #00000059,0 8px 24px -8px #0000004d}}
