:root,[data-theme=light]{--paper:#fff;--ink:#4a1c0e;--ink-soft:#7f3d24;--muted:#74625b;--accent:#d2643f;--accent-text:#b04a26;--control-edge:#c4775b;--field:#fdf5f1;--hover:#faede7;--line:#ecb4a0;--live:#2f8a55;--saved:#b7801b;--invalid:#b3261e;--ruler:#faede7;--ruler-edge:#ecb4a0;--ruler-texture:none;--ruler-texture-flat:none;--tick:#d2643f;--scale-ink:#4a1c0e;--scale-ink-soft:#7f3d24;--chip-bg:#fff;--chip-text:#b04a26;--chip-edge:#ecb4a0;--glass-ink:#3d170b;--glass-text:#fff4ee;--glass-edge:#4a1c0e24;--hairline:#c8261b;--clip:linear-gradient(90deg, #5d6167, #c9ccd1 38%, #9a9ea4 62%, #55595f);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--paper:#1b1310;--ink:#fbe8de;--ink-soft:#e0b9a7;--muted:#a8928a;--accent:#ea8762;--accent-text:#ea8762;--control-edge:#8f5a47;--field:#241814;--hover:#2a1b16;--line:#5e3628;--live:#5cc485;--saved:#e0aa45;--invalid:#ff8a80;--ruler:#2a1b16;--ruler-edge:#5e3628;--ruler-texture:none;--ruler-texture-flat:none;--tick:#ea8762;--scale-ink:#fbe8de;--scale-ink-soft:#e0b9a7;--chip-bg:#1b1310;--chip-text:#ea8762;--chip-edge:#5e3628;--glass-ink:#fbe8de;--glass-text:#2a1209;--glass-edge:#fbe8de33;--hairline:#ff6a55;--clip:linear-gradient(90deg, #3d4045, #9a9ea5 38%, #6f7379 62%, #34373b);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=wood]{--paper:#2a1d14;--ink:#f2e3cc;--ink-soft:#dcc4a2;--muted:#b8a184;--accent:#e39a5c;--accent-text:#eaa66c;--control-edge:#8e6a47;--field:#35261a;--hover:#3a2a1d;--line:#4e3826;--live:#8cc77a;--saved:#e8b04c;--invalid:#ff9d8c;--ruler:#ddb57c;--ruler-edge:#a57843;--ruler-texture:repeating-linear-gradient(90deg, #78481e12 0 1px, transparent 1px 7px), repeating-linear-gradient(90deg, #fff0d21f 0 2px, transparent 2px 23px), repeating-linear-gradient(90deg, #6e401a14 0 5px, transparent 5px 61px), linear-gradient(90deg, #46280f1f, transparent 18%, transparent 82%, #46280f24);--ruler-texture-flat:repeating-linear-gradient(180deg, #78481e14 0 1px, transparent 1px 4px), repeating-linear-gradient(180deg, #fff0d21f 0 1px, transparent 1px 13px), linear-gradient(180deg, #46280f1f, transparent 25%, transparent 75%, #46280f24);--tick:#3f2512;--scale-ink:#22130a;--scale-ink-soft:#4a2c16;--chip-bg:#f3dfbb;--chip-text:#6b3a17;--chip-edge:#a57843;--glass-ink:#2a1d14;--glass-text:#f2e3cc;--glass-edge:#2a1d144d;--hairline:#b3221a;--clip:linear-gradient(90deg, #6e5220, #e2c47c 38%, #b48c42 62%, #5f461b);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--log-ticks:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='12' viewBox='0 0 64 12'%3E%3Cpath d='M.75 0v12M11.27 0v4M19.27 0v6M25.47 0v4M30.54 0v6M38.53 0v6M44.74 0v8M49.8 0v6M54.09 0v6M57.8 0v6M61.07 0v6' stroke='black' stroke-width='1.2'/%3E%3C/svg%3E");--font:"B612", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit;color:inherit}.app{--tools-bottom:max(10px, env(safe-area-inset-bottom));max-width:520px;height:100dvh;margin:0 auto;position:relative;overflow:hidden}.app.has-credit{--tools-bottom:calc(max(4px, env(safe-area-inset-bottom)) + 26px)}@media (width>=560px){.app{border-inline:1px solid var(--ruler-edge)}}.ruler{background-color:var(--ruler);background-image:var(--ruler-texture);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline:none;position:absolute;inset:0}.ruler.dragging{cursor:grabbing}.ruler:focus-visible{box-shadow:inset 0 0 0 3px var(--accent)}.ruler canvas{width:100%;height:100%;position:absolute;inset:0}.glass{pointer-events:none;height:0;position:absolute;top:50%;left:0;right:0}.glass .band{border-top:1px solid #ffffff8c;border-bottom:1px solid var(--glass-edge);background:linear-gradient(#ffffff3d,#ffffff0f 40%,#ffffff05 60%,#ffffff1a);height:60px;position:absolute;top:-30px;left:0;right:0;box-shadow:0 6px 14px #00000029,0 1px 2px #0000001f}.glass .hair{background:var(--hairline);height:1.2px;position:absolute;top:-.6px;left:0;right:0;box-shadow:0 1px 1px #0000002e}.glass .clip{background:repeating-linear-gradient(to bottom, #0000002e 0 1px, transparent 1px 4px) center / 100% 40% no-repeat, var(--clip);width:9px;height:72px;position:absolute;top:-36px;box-shadow:0 3px 8px #0000004d}.glass .clip-l{border-radius:0 4px 4px 0;left:0}.glass .clip-r{border-radius:4px 0 0 4px;right:0}.pill{background:var(--glass-ink);min-width:0;height:34px;color:var(--glass-text);font-variant-numeric:tabular-nums;text-align:center;pointer-events:none;-webkit-user-select:text;user-select:text;border:0;border-radius:8px;padding:0 10px;font-size:18px;font-weight:700;position:absolute;top:0;transform:translateY(-50%)}.pill.editing{pointer-events:auto;outline:2px solid var(--accent);outline-offset:2px}.pill[aria-invalid=true]{outline-color:var(--invalid)}.pill-a{left:calc(var(--label-x,80px) - 10px)}.ghost .pill{white-space:nowrap;place-items:center;display:grid}.pill-b{right:calc(var(--label-x,80px) - 10px)}.ruler.middle .pill-a{left:auto;right:calc(50% + var(--label-x,80px) - 10px)}.ruler.middle .pill-b{right:auto;left:calc(50% + var(--label-x,80px) - 10px)}.plate{top:max(10px, env(safe-area-inset-top));pointer-events:none;justify-content:space-between;gap:8px;transition:opacity .3s;display:flex;position:absolute;left:10px;right:10px}.plate .tag{cursor:inherit}.app.tools-hidden:not(.swiping):not(.naming) #ruler .plate{opacity:0}.app.swiping .card{border-radius:calc(var(--lift,0) * 18px);box-shadow:0 14px 36px rgb(0 0 0/calc(var(--lift,0) * .3));will-change:transform;overflow:hidden}.ghost{pointer-events:none}.ghost[hidden],.slot-hint{display:none}.ghost.slot{border:2px dashed var(--ruler-edge);box-shadow:none;background:0 0;align-items:center;padding-left:22px;display:flex}.ghost.slot>:not(.slot-hint){display:none}.ghost.slot .slot-hint{color:var(--ink-soft);flex-direction:column;align-items:center;gap:4px;font-size:13px;font-weight:700;display:flex}.slot-hint svg{width:28px;height:28px}.dots{left:50%;top:calc(max(10px, env(safe-area-inset-top)) + 52px);border:1px solid var(--chip-edge);background:color-mix(in srgb, var(--chip-bg) 86%, transparent);pointer-events:none;border-radius:999px;gap:7px;padding:6px 9px;transition:opacity .3s;display:flex;position:absolute;transform:translate(-50%)}.dots[hidden]{display:none}.dots span{background:var(--scale-ink);opacity:.28;border-radius:50%;width:6px;height:6px;transition:opacity .2s,transform .2s}.dots span[data-on]{opacity:1;transform:scale(1.3)}.app.tools-hidden:not(.swiping):not(.naming) .dots{opacity:0}.tools{pointer-events:none;justify-content:space-between;align-items:center;gap:8px;padding:0 10px;display:flex;position:absolute;left:0;right:0}.tools>*{pointer-events:auto;transition:opacity .3s,transform .3s}.tools-top{top:max(10px, env(safe-area-inset-top));justify-content:center}.tools-bottom{bottom:var(--tools-bottom)}.app.tools-hidden .tools>:not(.status[data-tone=saved]){opacity:0;pointer-events:none}.app.tools-hidden .tools-top>*{transform:translateY(-6px)}.app.tools-hidden .tools-bottom>:not(.status[data-tone=saved]){transform:translateY(6px)}.tag{border:1px solid var(--chip-edge);background:color-mix(in srgb, var(--chip-bg) 86%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:0;max-width:42%;min-height:44px;color:var(--scale-ink);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:0 14px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.tag span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tag svg{color:var(--tick);flex:none}.tag-round{justify-content:center;width:44px;padding:0}.swap svg{transition:transform .35s}.swap.turned svg{transform:rotate(180deg)}.status{color:var(--scale-ink-soft);font-size:12.5px;font-weight:400}.status .dot{background:var(--muted);opacity:.6;border-radius:50%;flex:none;width:7px;height:7px}.status[data-tone=live] .dot{background:var(--live);opacity:1}.status[data-tone=saved] .dot{background:var(--saved);opacity:1}.credit{left:50%;bottom:max(4px, env(safe-area-inset-bottom));background:color-mix(in srgb, var(--chip-bg) 80%, transparent);color:var(--scale-ink-soft);white-space:nowrap;text-underline-offset:2px;border-radius:6px;padding:3px 8px;font-size:11px;text-decoration:underline;position:absolute;transform:translate(-50%)}.credit[hidden]{display:none}.icon-btn{width:44px;height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.icon-btn:hover{background:var(--hover);color:var(--ink)}.link-btn[hidden]{display:none}.link-btn{color:var(--accent-text);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;margin:-12px 0;padding:12px 0;text-decoration:underline;display:inline-block}.tool{border:1px solid var(--control-edge);background:var(--paper);min-width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.tool:hover{background:var(--hover)}:is(button,input,.tool,.tag):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sheet.picker{height:min(88dvh,720px)}.picker-body{flex-direction:column;height:100%;display:flex}.picker-body .sheet-head form{display:contents}.pair{border:1px solid var(--ruler-edge);background-color:var(--ruler);background-image:var(--ruler-texture);border-radius:12px;align-items:center;gap:8px;margin:2px 20px 12px;padding:10px;display:flex}.pair .slot{flex:1;justify-content:center;max-width:none}.slot.empty{-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--scale-ink-soft);background:0 0;border-style:dashed}.slot.next{border-color:var(--tick);border-width:1.5px}.pair .swap:disabled{opacity:.4;cursor:default}.picker-actions{border-top:1px solid var(--line);padding:10px 20px 14px}.picker-actions[hidden]{display:none}.picker-search{border:1px solid var(--control-edge);background:var(--field);color:var(--muted);border-radius:10px;align-items:center;gap:8px;margin:4px 20px 8px;padding:0 12px;display:flex}.picker-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent)}.picker-search input{min-width:0;height:44px;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:16px}.picker-search input:focus-visible{outline:none}.picker-list{overscroll-behavior:contain;flex:1;padding:0 0 16px;overflow-y:auto}.pick-sec{color:var(--muted);margin:0;padding:14px 20px 6px;font-size:12.5px;font-weight:400}.pick-list{margin:0;padding:0;list-style:none}.pick-row{border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 20px;display:flex}.pick-row:active{background:var(--hover)}.pick-row[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 9%, transparent)}.pick-row[aria-pressed=true] .pick-rate:after{content:"✓";color:var(--accent-text);font-size:17px;font-weight:700}.pick-row:disabled{cursor:default;opacity:.55}.pick-main{flex-direction:column;gap:2px;min-width:0;display:flex}.pick-name{color:var(--ink);margin:0;font-size:15px;font-weight:700}.pick-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12.5px;overflow:hidden}.pick-rate{color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:13px}.pick-empty{text-align:center;padding:32px 20px}.pick-foot{color:var(--muted);margin:16px 20px 0;font-size:12.5px;line-height:1.5}.pick-foot a{color:var(--accent-text)}.looks{border-top:1px solid var(--line);gap:14px;padding:16px 20px;display:grid}.look{border:0;min-width:0;margin:0;padding:0}.themes{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.theme-opt{color:var(--ink-soft);cursor:pointer;flex-direction:column;align-items:center;gap:6px;font-size:13px;display:flex;position:relative}.theme-opt input{opacity:0;pointer-events:none;position:absolute}.theme-opt:has(input:checked){color:var(--ink);font-weight:700}.swatch{border:1px solid var(--line);border-radius:10px;width:100%;height:52px;display:flex;overflow:hidden}.theme-opt:has(input:checked) .swatch{outline:2px solid var(--accent);outline-offset:2px}.theme-opt:has(input:focus-visible) .swatch{outline:2px solid var(--accent);outline-offset:4px}.swatch-part{background:var(--paper);flex:1;position:relative}.swatch-part:before{content:"";border:1px solid var(--ruler-edge);background-color:var(--ruler);background-image:var(--ruler-texture);border-radius:3px;position:absolute;inset:7px 24%}.swatch-part:after{content:"";background:repeating-linear-gradient(to bottom, var(--tick) 0 1.5px, transparent 1.5px 6px);width:22%;position:absolute;top:11px;bottom:11px;left:calc(24% + 1px)}.layout-swatch .swatch-part:after{background:repeating-linear-gradient(to bottom, var(--tick) 0 1.5px, transparent 1.5px 6px) left top / 34% 100% no-repeat, repeating-linear-gradient(to bottom, var(--tick) 0 1.5px, transparent 1.5px 6px) right top / 34% 100% no-repeat;width:auto;right:calc(24% + 1px)}.layout-swatch[data-layout=middle] .swatch-part:after{background:linear-gradient(var(--tick), var(--tick)) center / 1.5px 100% no-repeat, repeating-linear-gradient(to bottom, var(--tick) 0 1.5px, transparent 1.5px 6px) center top / 64% 100% no-repeat}.share-body{text-align:center}.share-body .tool.wide+.tool.wide{margin-top:8px}.share-body .tool[hidden]{display:none}.qr{aspect-ratio:1;border:1px solid var(--line);background:#fff;border-radius:14px;width:min(240px,70vw);margin:4px auto 10px;padding:8px}.qr svg{width:100%;height:100%;display:block}.share-url{margin:0;font-size:17px;font-weight:700}.share-body .rate-note{margin:6px 0 16px}.install-hint{left:50%;bottom:calc(var(--tools-bottom) + 56px);z-index:1;gap:6px;max-width:calc(100% - 20px);animation:.3s ease-out hint-in;display:flex;position:absolute;transform:translate(-50%)}.install-hint[hidden]{display:none}.install-hint .tag{max-width:none}@keyframes hint-in{0%{opacity:0;transform:translate(-50%,8px)}}.install-lead{margin:0 0 14px;font-size:15px;line-height:1.5}.install-body .tool.wide+.tool.wide{margin-top:8px}.tool.primary{border-color:var(--accent);background:var(--accent);color:var(--paper);font-weight:700}.tool.primary:hover{background:var(--accent);filter:brightness(1.05)}.install-steps{counter-reset:step;margin:0 0 16px;padding:0;list-style:none}.install-steps li{align-items:center;gap:14px;padding:10px 0;display:flex}.install-steps li+li{border-top:1px solid var(--line)}.install-steps strong{font-size:15px;display:block}.install-steps small{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.4;display:block}.install-icon{border:1px solid var(--line);width:40px;height:40px;color:var(--accent-text);border-radius:10px;flex:none;place-items:center;display:grid}.install-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.toast{left:50%;bottom:calc(var(--tools-bottom) + 56px);background:var(--glass-ink);color:var(--glass-text);white-space:nowrap;border-radius:12px;align-items:center;gap:14px;padding:0 8px 0 16px;font-size:14px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #00000040}.toast[hidden]{display:none}.toast .link-btn{color:inherit;margin:0;padding:12px 8px;font-weight:700}.toast{z-index:2}.sheet-body{padding:4px 20px 20px}.rate-big{font-variant-numeric:tabular-nums;margin:0 0 10px;font-size:26px;font-weight:700}.rate-line{margin:0 0 8px;font-size:14px;line-height:1.45}.rate-checked{align-items:baseline;gap:8px;display:flex}.rate-checked:before{content:"";background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px;transform:translateY(-1px)}.rate-checked[data-tone=live]:before{background:var(--live)}.rate-checked[data-tone=saved]:before{background:var(--saved)}.rate-note{color:var(--muted);margin:14px 0 16px;font-size:13px;line-height:1.45}.tool.wide{width:100%;font-size:15px}.tool:disabled{opacity:.6;cursor:default}.rulers-set{padding:6px 20px 16px}.ruler-list{gap:10px;margin:0 0 10px;padding:0;list-style:none;display:grid}.ruler-row{transition:transform .15s;position:relative}.ruler-row.moving{z-index:1;transition:none}.ruler-row.moving .mini{box-shadow:0 10px 24px #0000004d}.mini{border:1px solid var(--ruler-edge);background-color:var(--ruler);background-image:var(--ruler-texture-flat);width:100%;height:66px;color:var(--scale-ink);text-align:left;cursor:pointer;border-radius:5px;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 52px 0 14px;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #0003}.mini:active{filter:brightness(.96)}.mini:before,.mini:after{content:"";background:var(--tick);height:12px;-webkit-mask:var(--log-ticks) 0 0 / 64px 12px repeat-x;-webkit-mask:var(--log-ticks) 0 0 / 64px 12px repeat-x;mask:var(--log-ticks) 0 0 / 64px 12px repeat-x;position:absolute;left:0;right:0}.mini:before{top:0}.mini:after{-webkit-mask-position:var(--shift,0) 0;-webkit-mask-position:var(--shift,0) 0;mask-position:var(--shift,0) 0;bottom:0;transform:scaleY(-1)}.mini[aria-current=true]{outline:2px solid var(--accent);outline-offset:2px}.mini-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;font-weight:700;line-height:1.25;overflow:hidden}.mini-note{color:var(--scale-ink-soft);font-size:12px;position:absolute;top:50%;right:52px;transform:translateY(-50%)}.mini-spine{display:none}.ruler-list.middle .mini{justify-content:space-between;padding-block:4px}.ruler-list.middle .mini:before{top:auto;bottom:50%;transform:scaleY(-1)}.ruler-list.middle .mini:after{top:50%;bottom:auto;transform:none}.ruler-list.middle .mini-spine{background:var(--tick);height:1.5px;display:block;position:absolute;top:calc(50% - .75px);left:0;right:0}.mini.gripped:before,.mini.gripped:after,.mini.gripped .mini-spine{right:48px}.grip{width:48px;color:var(--scale-ink-soft);cursor:grab;touch-action:none;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:0;bottom:0;right:0}.mini-add{border:1.5px dashed var(--ruler-edge);box-shadow:none;color:var(--ink-soft);background:0 0;justify-content:center;align-items:center;padding:0}.mini-add:before,.mini-add:after{content:none}.tool.danger{color:var(--invalid);border-color:color-mix(in srgb, var(--invalid) 45%, transparent)}.sheet{width:min(480px,100%);max-width:100%;padding:0 0 env(safe-area-inset-bottom);background:var(--paper);color:var(--ink);border:0;border-radius:16px 16px 0 0;margin:auto auto 0;box-shadow:0 -10px 40px #0003}.sheet::backdrop{background:#1e0e0852}.sheet[open]{animation:.24s cubic-bezier(.2,.8,.3,1) sheet-in}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}}@media (width>=600px){.sheet{border-radius:14px;margin:auto}}.sheet-head{justify-content:space-between;align-items:center;padding:18px 20px 6px;display:flex}.sheet-head h2{margin:0;font-size:17px;font-weight:700}.sheet-head .icon-btn{margin:-6px -10px -6px 0}.sheet-actions{border-top:1px solid var(--line);gap:8px;padding:16px 20px 14px;display:flex}.sheet-actions .tool{flex:1;font-size:15px}.sheet-actions .tool[hidden]{display:none}.about{color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;margin:0;padding:0 20px 18px;font-size:12px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
