:root{color:#171914;font-synthesis:none;--ink:#171914;--paper:#f2efe4e8;--paper-solid:#eeebdf;--line:#17191429;--accent:#b5642a;--gold:#f5b85f;background:#d9d7ce;font-family:Avenir Next,Gill Sans,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{color:inherit}.app{isolation:isolate;background:#d9d7ce;width:100%;height:100%;position:relative}.viewport,.viewport canvas{width:100%;height:100%;display:block}.viewport{position:absolute;inset:0}.app:after{content:"";pointer-events:none;z-index:1;opacity:.15;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E");position:absolute;inset:0}.topbar{z-index:5;pointer-events:none;justify-content:space-between;align-items:center;height:92px;padding:22px 30px;display:flex;position:absolute;top:0;left:0;right:0}.brand{pointer-events:auto;align-items:center;gap:14px;display:flex}.brand-mark{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#eeebdf4d;border:1px solid #1719148c;place-items:center;width:48px;height:48px;font-family:Iowan Old Style,Palatino Linotype,serif;font-size:24px;line-height:1;display:grid;position:relative}.brand-mark span{letter-spacing:.06em;font:600 7px Avenir Next,sans-serif;position:absolute;bottom:2px;right:2px}.eyebrow{letter-spacing:.22em;opacity:.58;margin:0 0 3px;font-size:8px;font-weight:700}h1{letter-spacing:-.02em;margin:0;font:400 22px/1 Iowan Old Style,Palatino Linotype,serif}.top-actions{pointer-events:auto;gap:8px;display:flex}.icon-button{border:1px solid var(--line);background:var(--paper);cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);place-items:center;width:42px;height:42px;transition:transform .2s,color .2s,background .2s;display:grid}.icon-button:hover{color:var(--accent);background:#fffaf0;transform:translateY(-2px)}.icon-button svg,.section-title svg,.controls-hint svg,.panel-handle svg,.layer-handle svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.spec-panel{z-index:5;pointer-events:auto;width:300px;transition:transform .45s cubic-bezier(.2,.8,.2,1);position:absolute;top:116px;left:30px}.panel-content{background:var(--paper);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15);padding:25px;box-shadow:0 28px 70px #25241e17}.panel-handle,.layer-handle{display:none}.panel-kicker{letter-spacing:.19em;opacity:.56;margin:0 0 16px;font-size:8px;font-weight:700}.panel-content h2{letter-spacing:-.03em;margin:0;font:400 32px/1.07 Iowan Old Style,Palatino Linotype,serif}.panel-note{color:#171914a1;margin:16px 0 21px;font-size:10px;line-height:1.55}.metrics{border-top:1px solid var(--line)}.metrics>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:46px;display:flex}.metrics span{color:#171914a1;font-size:9px}.metrics strong{font:400 18px Iowan Old Style,Palatino Linotype,serif}.metrics small{text-transform:uppercase;font:500 8px Avenir Next,sans-serif}.legend{color:#17191494;gap:18px;margin-top:18px;font-size:8px;display:flex}.dot{border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.dot.exact{background:#303a31}.dot.estimated{border:1px solid var(--accent)}.view-switcher{z-index:5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#151713e6;border:1px solid #ffffff21;padding:4px;display:flex;position:absolute;bottom:29px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #12141033}.view-switcher button{color:#ffffff8f;cursor:pointer;background:0 0;border:0;min-width:77px;padding:11px 12px;font-size:9px;transition:all .2s;position:relative}.view-switcher button:hover{color:#fff}.view-switcher button.active{color:#191b16;background:#f4efe2}.layer-panel{z-index:5;background:var(--paper);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:180px;padding:17px;position:absolute;top:116px;right:30px;box-shadow:0 24px 55px #25241e14}.section-title{border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.15em;align-items:center;gap:9px;margin-bottom:2px;padding-bottom:13px;font-size:8px;font-weight:700;display:flex}.section-title svg{width:14px}.layer-panel label{cursor:pointer;justify-content:space-between;align-items:center;height:36px;font-size:9px;display:flex;position:relative}.layer-panel label+label{border-top:1px solid #17191412}.layer-panel input{opacity:0;position:absolute}.layer-panel label i{background:#1719142b;border-radius:20px;width:25px;height:14px;transition:all .2s;position:relative}.layer-panel label i:after{content:"";background:#fff;border-radius:50%;width:10px;height:10px;transition:all .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.layer-panel input:checked+i{background:var(--accent)}.layer-panel input:checked+i:after{transform:translate(11px)}.layer-panel .section-toggle{background:#b5642a14;border-top-color:#b5642a33;margin:8px -8px -8px;padding:0 8px}.controls-hint{z-index:4;color:#1719148f;pointer-events:none;align-items:center;gap:10px;font-size:8px;display:flex;position:absolute;bottom:28px;left:31px}.controls-hint svg{width:20px;height:20px}.controls-hint b{color:#171914d1;font-weight:600}.scale-stamp{z-index:4;letter-spacing:.08em;text-transform:uppercase;color:#17191480;font-size:8px;position:absolute;bottom:33px;right:31px}.loader{z-index:20;color:#f0eadc;background:#181a16;place-content:center;justify-items:center;transition:opacity .75s,visibility .75s;display:grid;position:absolute;inset:0}.loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loader p{letter-spacing:.13em;text-transform:uppercase;opacity:.55;margin-top:19px;font:400 11px Avenir Next,sans-serif}.loader-mark{width:70px;height:46px;position:relative}.loader-mark span{border:1px solid #f5b85f;width:20px;animation:1.2s ease-in-out infinite alternate build;position:absolute;bottom:0}.loader-mark span:first-child{height:26px;left:0}.loader-mark span:nth-child(2){height:46px;animation-delay:.18s;left:25px}.loader-mark span:nth-child(3){height:31px;animation-delay:.34s;right:0}@keyframes build{0%{transform-origin:bottom;opacity:.35;transform:scaleY(.2)}to{opacity:1;transform:scaleY(1)}}.is-night{--paper:#1a1d19db;--line:#ffffff1f;color:#f4eee1}.is-night .brand-mark{background:#0f110f59;border-color:#ffffff80}.is-night .panel-note,.is-night .metrics span,.is-night .legend,.is-night .controls-hint,.is-night .scale-stamp{color:#ffffff94}.is-night .controls-hint b{color:#ffffffd9}.is-night .metrics,.is-night .metrics>div,.is-night .section-title,.is-night .layer-panel label+label{border-color:#ffffff1a}.is-night .icon-button:hover{color:var(--gold);background:#2a2d27f2}.is-night:after{mix-blend-mode:screen;opacity:.055}@media (width<=900px){.topbar{height:76px;padding:16px}.brand-mark{width:42px;height:42px}.eyebrow{display:none}h1{font-size:17px}.icon-button{width:38px;height:38px}.spec-panel{will-change:transform;width:min(290px,100% - 48px);top:88px;left:0;transform:translate(calc(-100% - 1px))}.spec-panel.is-open{transform:translate(0)}.panel-handle,.layer-handle{border:1px solid var(--line);background:var(--paper);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;place-items:center;width:43px;height:43px;display:grid;position:absolute}.panel-handle{border-left:0;top:0;right:-43px}.layer-panel{will-change:transform;width:150px;padding:13px;transition:transform .45s cubic-bezier(.2,.8,.2,1);top:auto;bottom:88px;right:0;transform:translate(calc(100% + 1px))}.layer-panel.is-open{transform:translate(0)}.layer-handle{border-right:0;top:-1px;left:-43px}.panel-handle:focus-visible,.layer-handle:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.view-switcher{max-width:calc(100% - 28px);bottom:14px;overflow-x:auto}.view-switcher button{min-width:78px;padding:10px}.controls-hint,.scale-stamp{display:none}}@media (width<=520px){.top-actions .icon-button:nth-child(2){display:none}.layer-panel{width:136px;bottom:76px}.view-switcher button{min-width:70px;font-size:8px}}
