:root{--ui-ink:100, 104, 112;--ui-font:"Helvetica Neue", Arial, sans-serif;--bg:#e8e6e0;--panel-bg:#e8e6e0e0;--panel-border:rgba(var(--ui-ink), .22);--blur:blur(10px);--ctl-fill:rgba(var(--ui-ink), .1);--ctl-border:rgba(var(--ui-ink), .25);--ctl-fill-hover:rgba(var(--ui-ink), .18);--tool-fill:#b4b2ac8c;--tool-ground:#e2e0d99e;--text:#33363c;--text-ctl:#33363c;--text-dim:#6a6e74;--text-dim-2:#6a6e74;--text-dim-3:#7a7e84;--text-faint:#8a8e94;--text-strong:#33363c;--text-head:#6a6e74;--gold:#d4af46;--gold-ink:#33363c;--gold-on-fill:#d4af462e;--gold-on-border:#d4af4699;--gold-thumb-fill:#d4af4633;--gold-thumb-border:#d4af46bf;--gold-note-fill:#d4af4614;--gold-note-border:#d4af4647;--warn:#a63e34;--warn-fill:#dc5a501a;--warn-border:#dc5a5080;--teal:#0fe6c8;--teal-fill:#0fe6c81f;--count-ink:#17574e;--popup-w:304px;--popup-w-view:168px;--popup-w-place:124px;--r-panel:10px;--r-btn:7px;--r-tile:8px;--r-pill:999px;--drawer-bg:#e8e6e0d1;--drawer-blur:blur(14px);--rule:rgba(var(--ui-ink), .22);--logo-filter:brightness(0);--drawer-ms:.32s;--pill-h:38px;--head-h:64px;--spec-w:258px;--rail-w:234px;--rail-gut:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;height:100%;margin:0;padding:0;overflow:hidden}body{background:var(--bg);color:var(--text);font:12.5px/1.5 var(--ui-font);-webkit-font-smoothing:antialiased}.dim{color:var(--text-dim)}.surface{background:var(--panel-bg);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--panel-border);border-radius:var(--r-panel)}.field-label{letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);font-size:10px;font-weight:600}.spec-label{letter-spacing:.18em;text-transform:uppercase;color:var(--text-head);margin:0 0 6px;font-size:11px;font-weight:600}.app{width:100%;height:100dvh;position:relative;overflow:hidden}.viewport-stage{position:absolute;inset:0}.viewport-host{touch-action:none;position:absolute;inset:0}.viewport-host canvas{touch-action:none}.viewport-error{color:#b03a2c;padding:20px;font-family:ui-monospace,monospace;position:absolute;inset:0;overflow:auto}.viewport-error pre{white-space:pre-wrap}.chrome-rule{top:var(--head-h);background:var(--rule);z-index:20;pointer-events:none;height:1px;position:absolute;left:0;right:0}.lw-logo{width:auto;height:76px;filter:var(--logo-filter);opacity:.85;display:block}.spec-btn{background:var(--ctl-fill);width:100%;color:var(--text-ctl);border:1px solid var(--ctl-border);border-radius:var(--r-btn);cursor:pointer;text-align:center;margin-top:8px;padding:8px 12px;font-family:inherit;font-size:13px;transition:background .18s,border-color .18s,color .18s;display:block}.spec-btn:hover:not(:disabled){background:var(--ctl-fill-hover)}.spec-btn:disabled{opacity:.38;cursor:default}.spec-btn-gold{color:var(--gold-ink);background:var(--gold-on-fill);border-color:var(--gold-on-border)}.spec-btn-gold:hover:not(:disabled){background:var(--gold-thumb-fill)}.drawer{background:var(--drawer-bg);-webkit-backdrop-filter:var(--drawer-blur);backdrop-filter:var(--drawer-blur);transition:transform var(--drawer-ms) cubic-bezier(.4, 0, .2, 1);z-index:21;flex-direction:column;display:flex;position:absolute;top:0;bottom:0}.drawer-left{width:var(--spec-w);border-right:1px solid var(--rule);transform:translateX(calc(-1 * var(--spec-w)));left:0}.app.spec-open .drawer-left{transform:translate(0)}.drawer-brand{height:var(--head-h);box-sizing:border-box;flex-shrink:0;justify-content:center;align-items:center;padding:0 12px;display:flex}.drawer-rule{background:var(--rule);flex-shrink:0;height:1px}.drawer-body{flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px;display:flex;overflow-y:auto}.drawer-tab{top:calc(var(--head-h) + var(--rail-gut));background:var(--tool-fill);width:24px;height:24px;color:var(--text-dim-2);cursor:pointer;transition:left var(--drawer-ms) cubic-bezier(.4, 0, .2, 1), color .2s ease;z-index:23;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;font-family:inherit;display:flex;position:absolute;left:6px}.drawer-tab:hover{color:var(--text)}.app.spec-open .drawer-tab-left{left:calc(var(--spec-w) + 6px)}.spec-section+.spec-section{margin-top:4px}.spec-row{border-bottom:1px solid rgba(var(--ui-ink), .1);color:var(--text-strong);justify-content:space-between;align-items:baseline;gap:10px;padding:5px 0;font-size:12.5px;display:flex}.spec-row-a{min-width:0}.spec-row-b{color:var(--text-dim);font-variant-numeric:tabular-nums;flex:none}.spec-summary{color:var(--text-dim-3);font-size:11.5px}.spec-sum-row{justify-content:space-between;align-items:baseline;gap:12px;line-height:1.7;display:flex}.spec-sum-row>span:first-child,.spec-price>span:first-child{letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:600}.spec-sum-val{color:var(--text-strong);font-variant-numeric:tabular-nums;text-align:right}.spec-price{border-top:1px solid rgba(var(--ui-ink), .12);color:var(--text-dim-3);justify-content:space-between;align-items:baseline;gap:12px;padding-top:9px;font-size:11.5px;display:flex}.spec-price .spec-sum-val{color:var(--text);font-size:13px;font-weight:600}.spec-price-sub{border-top:none;padding-top:4px}.spec-price-sub .spec-sum-val{color:var(--text-dim);font-size:11.5px}.spec-caption{color:var(--text-faint);margin:6px 0 0;font-size:11px;line-height:1.45}.spec-disclaimer{border-top:1px solid rgba(var(--ui-ink), .12);color:var(--text-faint);margin-top:12px;padding-top:10px;font-size:9.5px;font-style:italic;line-height:1.5}.top-group{z-index:20;align-items:stretch;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}.mode-toggle{display:flex}.mode-toggle .segpill{height:var(--pill-h)}.mode-toggle .segpill-btn{padding:0 16px}.segpill{border-radius:var(--r-pill);background:var(--tool-fill);border:1px solid var(--ctl-border);align-items:center;padding:3px;display:inline-flex;position:relative}.segpill-thumb{border-radius:var(--r-pill);background:var(--gold-thumb-fill);border:1px solid var(--gold-thumb-border);box-sizing:border-box;pointer-events:none;transition:left .26s cubic-bezier(.4,0,.2,1),width .26s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;bottom:3px}.segpill-btn{z-index:1;border-radius:var(--r-pill);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;cursor:pointer;color:var(--text-dim-2);background:0 0;border:none;padding:7px 15px;font-family:inherit;font-size:11px;font-weight:600;transition:color .22s;position:relative}.segpill-btn.on{color:var(--gold-ink);cursor:default}.pill-label{margin-right:-.18em}.segpill-plain .segpill-btn .pill-label{margin-right:0}.segpill-plain .segpill-btn{letter-spacing:normal;text-transform:none;padding:6px 14px;font-size:12px;font-weight:400}.floating-note{left:var(--rail-gut);transition:left var(--drawer-ms) cubic-bezier(.4, 0, .2, 1);z-index:22;border:1px solid var(--gold-note-border);background:var(--gold-note-fill);max-width:320px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:var(--r-btn);color:var(--text-dim);align-items:flex-start;gap:10px;padding:9px 11px;font-size:11.5px;line-height:1.45;display:flex;position:absolute;bottom:20px}.floating-note button{color:var(--text-dim-2);cursor:pointer;background:0 0;border:none;flex:none;margin-top:-1px;padding:0;font-family:inherit;font-size:15px;line-height:1}.floating-note button:hover{color:var(--text)}.app.spec-open .floating-note{left:calc(var(--spec-w) + 12px)}.view-hint{left:var(--rail-gut);transition:left var(--drawer-ms) cubic-bezier(.4, 0, .2, 1);max-width:420px;color:var(--text-dim);pointer-events:none;z-index:18;margin:0;font-size:10.5px;line-height:1.45;position:absolute;bottom:22px}.view-hint b{color:var(--text-ctl);font-weight:600}.app.spec-open .view-hint{left:calc(var(--spec-w) + 12px)}.gear-btn{background:var(--tool-fill);border:1px solid var(--ctl-border);width:34px;height:34px;color:var(--text-dim-2);cursor:pointer;z-index:25;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:color .22s,background .22s,border-color .22s;display:flex;position:absolute;top:16px;right:16px}.gear-btn.on{background:var(--gold-thumb-fill);border-color:var(--gold-thumb-border);color:var(--gold-ink)}.gear-sheet{z-index:56;background:var(--tool-ground);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.gear-item{cursor:pointer;letter-spacing:.18em;text-transform:uppercase;color:var(--text);background:0 0;border:none;align-items:baseline;gap:8px;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:color .18s;display:flex}.gear-item:hover{color:var(--gold-ink)}.gear-item:disabled{opacity:.32;cursor:default}.gear-item:disabled:hover{color:var(--text)}.gear-divider{background:var(--rule);width:132px;height:1px;margin:7px 0}.gear-item-note{letter-spacing:.12em;color:var(--text-dim-3);text-transform:none;font-size:9.5px;font-weight:400}.art-swatch{border:1px solid var(--ctl-border);border-radius:var(--r-btn);background:var(--ctl-fill) center / cover no-repeat;width:32px;height:26px;color:rgba(var(--ui-ink), .55);cursor:pointer;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:outline-color .18s;display:flex}.art-swatch.on{outline:1px solid var(--gold-on-border);outline-offset:2px}.more-btn-square{border-radius:var(--r-btn);flex:none;width:26px;height:26px}.sheet-scrim{z-index:90;background:var(--tool-ground);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.upload-dialog{cursor:default;width:340px;max-width:100%;max-height:100%;padding:16px 18px 18px;overflow-y:auto}.upload-notes{color:var(--text);margin:0 0 12px;padding-left:18px;font-size:12.5px;line-height:1.5}.upload-notes li+li{margin-top:5px}.upload-error{border:1px solid var(--warn-border);background:var(--warn-fill);border-radius:var(--r-btn);color:var(--text);margin:10px 0 0;padding:8px 10px;font-size:12px;line-height:1.45}.rail-note{border:1px solid var(--gold-note-border);background:var(--gold-note-fill);border-radius:var(--r-btn);color:var(--text-dim);margin:8px 0 0;padding:7px 9px;font-size:11px;line-height:1.45}.history-cluster{right:var(--rail-gut);z-index:20;align-items:center;gap:8px;transition:right .32s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;bottom:20px}.app.hist-clear .history-cluster{right:calc(var(--rail-w) + var(--rail-gut) + 16px)}.icon-btn{background:var(--tool-fill);border:1px solid var(--ctl-border);width:34px;height:34px;color:var(--text-dim-2);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:opacity .2s,color .2s,border-color .2s;display:inline-flex}.icon-btn svg{display:block}.icon-btn:hover{color:var(--text)}.icon-btn:disabled{opacity:.32;cursor:default}.icon-btn:disabled:hover{color:var(--text-dim-2);border-color:var(--ctl-border)}.screen-gate{z-index:1000;background:var(--bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:32px;display:none;position:fixed;inset:0}.screen-gate-logo{height:56px}.screen-gate-message{max-width:320px;color:var(--text);margin:0;font-size:15px;line-height:1.6}@media (max-width:767px){.screen-gate{display:flex}}.dev-readout{z-index:40;color:var(--text);background:var(--panel-bg);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px dashed var(--warn-border);border-radius:var(--r-btn);white-space:pre;pointer-events:none;padding:8px 11px;font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;bottom:14px;left:14px}.rail-slot{z-index:19;position:absolute}.rail-slot-right{top:calc(var(--head-h) + var(--rail-gut));right:var(--rail-gut);width:var(--rail-w);max-height:calc(100% - var(--head-h) - var(--rail-gut) * 2);scrollbar-gutter:stable;overflow-y:auto}.rail{padding:12px 14px 14px}.rail-sec>.spec-label{margin:0 0 8px}.rail-head{align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.rail-head>.spec-label{margin:0 auto 0 0}.rail-head.is-min{margin-bottom:0}.rail .popup-min{align-self:center}.rail-sec-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.rail-sec-head .spec-label{margin:0}.rail-rule{background:var(--rule);height:1px;margin:12px 0}.rail-rule-soft{background:rgba(var(--ui-ink), .1);height:1px;margin:12px 0 10px}.rail-field+.rail-field{margin-top:10px}.rail-field-label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);margin-bottom:5px;font-size:9.5px;font-weight:600}.rail-sel-name{letter-spacing:.04em;color:var(--text);font-size:12.5px;font-weight:600}.rail-hint{color:var(--text-dim-3);margin:0;font-size:11.5px;line-height:1.45}.chip{background:var(--ctl-fill);color:var(--text-ctl);border:1px solid var(--ctl-border);border-radius:var(--r-btn);cursor:pointer;text-align:left;padding:8px 12px;font-family:inherit;font-size:13px;transition:background .18s,border-color .18s,color .18s}.chip:hover:not(:disabled){background:var(--ctl-fill-hover)}.chip:disabled{opacity:.38;cursor:default}.chip-sm{padding:5px 10px;font-size:11.5px}.chip-row{gap:6px;display:flex}.rail-sec .chip-row>.chip{text-align:center;flex:1 1 0;min-width:0;padding:5px 4px}.swatch-grid{flex-wrap:wrap;gap:8px;display:flex}.swatch-btn{cursor:pointer;border:1px solid rgba(var(--ui-ink), .3);outline-offset:2px;border-radius:50%;outline:none;width:26px;height:26px;padding:0;transition:outline-color .18s}.swatch-btn.on{outline:1px solid var(--gold-on-border)}.swatch-name{color:var(--text-dim-3);margin-top:4px;font-size:11px}.more-btn{border:1px dashed rgba(var(--ui-ink), .4);color:rgba(var(--ui-ink), .55);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;transition:border-color .18s,color .18s;display:flex}.more-btn:hover{border-color:rgba(var(--ui-ink), .6);color:rgba(var(--ui-ink), .75)}.more-btn-round{border-radius:50%;width:26px;height:26px}.custom-sheet{z-index:90;background:var(--tool-ground);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);cursor:pointer;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.custom-sheet-copy{max-width:300px;color:var(--text);text-align:center;margin:0;padding:0 24px;font-size:13px;line-height:1.55}.anchor-popup{z-index:24;border-radius:var(--r-btn);will-change:transform;flex-direction:column;gap:8px;padding:8px;display:flex;position:fixed;top:0;left:0}.popup-head{align-items:baseline;gap:8px;padding:1px 2px 2px;display:flex}.popup-head .spec-label{margin:0 auto 0 0}.popup-count{letter-spacing:.04em;color:var(--count-ink);font-size:12.5px;font-weight:600}.popup-row{grid-auto-columns:1fr;grid-auto-flow:column;gap:6px;display:grid}.popup-row>.chip{min-width:auto;padding:5px 8px}.popup-place .popup-row{grid-auto-flow:row}.anchor-popup .chip{white-space:nowrap;text-align:center;text-transform:uppercase}.popup-selected{width:var(--popup-w)}.popup-selected-view{width:var(--popup-w-view)}.popup-place{width:var(--popup-w-place)}.popup-cols{align-items:stretch;display:flex}.popup-col{flex:1 1 0;min-width:0;padding:0 8px}.popup-col+.popup-col{border-left:1px solid var(--rule)}.popup-col-label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);text-align:center;margin-bottom:5px;font-size:9.5px;font-weight:600}.popup-foot{border-top:1px solid var(--rule);padding-top:8px}.popup-foot>.chip{width:100%;display:block}.btn-danger{border-color:var(--warn-border);color:var(--warn);background:var(--warn-fill)}.btn-danger:hover:not(:disabled){background:#dc5a5033}.popup-min{width:16px;height:16px;color:var(--text-dim-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;flex:none;justify-content:center;align-self:center;align-items:center;padding:0;font-family:inherit;transition:color .18s,background .18s,border-color .18s;display:inline-flex}.popup-min:hover{color:var(--text);background:var(--ctl-fill);border-color:var(--ctl-border)}.anchor-popup.is-min{gap:0}.anchor-popup.is-min .popup-head{padding-bottom:0}.top-group .examples-btn{margin-left:8px;position:absolute;top:0;left:100%}.examples-btn{height:var(--pill-h);border-radius:var(--r-pill);background:var(--tool-fill);border:1px solid var(--ctl-border);color:var(--text-dim-2);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0 16px;font-family:inherit;font-size:11px;font-weight:600;transition:color .22s,background .22s;display:flex}.examples-btn:hover:not(:disabled){color:var(--text)}.examples-btn:disabled{opacity:.38;cursor:default}.examples-btn.on{background:var(--gold-thumb-fill);border-color:var(--gold-thumb-border);color:var(--gold-ink)}.intro{z-index:100;position:absolute;inset:0}.app.intro-open .top-group,.app.intro-open .gear-btn,.app.intro-open .rail-slot,.app.intro-open .drawer-tab,.app.intro-open .view-hint,.app.intro-open .history-cluster,.app.intro-open .chrome-rule{display:none}.intro-scrim{background:#e8e6e09e;position:absolute;inset:0}.intro-body{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.intro-title{letter-spacing:.18em;text-transform:uppercase;color:var(--text);text-align:center;padding:0 24px;font-size:18px;font-weight:600;position:absolute;top:25%}.intro-start{pointer-events:auto;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);background:var(--gold-on-fill);border:1px solid var(--gold-on-border);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:999px;padding:14px 48px;font-family:inherit;font-size:14px;font-weight:600;transition:background .2s}.intro-start:hover{background:var(--gold-thumb-fill)}@media (max-width:560px){.intro-title{letter-spacing:.14em;font-size:15px;top:22%}.intro-start{padding:14px 38px}}.examples-sheet{z-index:58;background:var(--tool-ground);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);flex-direction:column;display:flex;position:absolute;inset:0}.examples-head{text-align:center;flex-shrink:0;padding:22px 26px 16px}.examples-title{letter-spacing:.18em;text-transform:uppercase;color:var(--text-head);font-size:11px;font-weight:600}.examples-sub{color:var(--text-dim);margin-top:6px;font-size:12px}.examples-scroll{flex:1;padding:0 26px 26px;overflow-y:auto}.examples-grid{grid-template-columns:repeat(5,1fr);gap:14px;max-width:1006px;margin:0 auto;display:grid}.example-tile{background:var(--ctl-fill);border:1px solid var(--panel-border);border-radius:var(--r-panel);cursor:pointer;flex-direction:column;padding:0;font-family:inherit;transition:background .18s,border-color .18s;display:flex;overflow:hidden}.example-tile:hover:not(.example-blank){background:var(--gold-note-fill);border-color:var(--gold-on-border)}.example-blank{cursor:default}.example-thumb{aspect-ratio:1;justify-content:center;align-items:center;width:100%;min-height:0;padding:8px;display:flex}.ex-shot{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.ex-cell{fill:rgba(var(--ui-ink), .16);stroke:rgba(var(--ui-ink), .34);stroke-width:.4px}.ex-cell-art{fill:rgba(var(--ui-ink), .34)}.example-caption{color:var(--text-dim-3);text-align:center;border-top:1px solid var(--rule);padding:7px 8px 8px;font-size:10.5px}
