.btn,.chip{border:1px solid var(--edge);background:var(--card);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:.9375rem;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--brand-ink)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{filter:brightness(1.1)}.chip{padding:6px 12px;line-height:1.2}.chip .dot{background:#b45309;border-radius:50%;flex:none;width:10px;height:10px}.chip[data-kind=calibrated] .dot{background:var(--brand)}.chip[data-kind=device] .dot{background:#b45309}.chip[data-kind=estimate]{border-color:#b45309}:root[data-theme=dark] .chip[data-kind=estimate]{border-color:#f59e0b}:root[data-theme=dark] .chip .dot{background:#f59e0b}:root[data-theme=dark] .chip[data-kind=calibrated] .dot{background:#34d399}.chip-static{cursor:default;background:color-mix(in srgb, var(--ink) 6%, transparent);border-color:#0000;border-radius:999px;min-height:32px;padding:4px 12px;font-size:.8125rem}.chip-static[data-kind=estimate],:root[data-theme=dark] .chip-static[data-kind=estimate]{background:#f59e0b29;border-color:#0000}.small{color:var(--muted);font-size:.8125rem;line-height:1.5}.err{color:#b91c1c;font-size:.875rem;font-weight:600}.err:empty{display:none}:root[data-theme=dark] .err{color:#fca5a5}.row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.hcal{align-items:center;gap:8px;margin-right:4px;display:flex}.hcal .chip-static{justify-content:center;min-width:8.5rem}.hcal .btn{min-height:40px;padding:0 14px}@media (width<=860px){.hcal{display:none}}.result{background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;min-height:290px;padding:18px 20px 16px;display:flex;box-shadow:0 1px 2px #1018280d,0 10px 30px -18px #10182840;container-type:inline-size}:root[data-theme=dark] .result{box-shadow:none}.r-top{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.r-label{color:var(--muted);flex:1;font-size:.875rem;font-weight:650}.r-main{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-top:12px;display:grid}.r-shape{text-align:center;width:240px;margin:0}.r-shape svg{width:240px;height:160px;display:block}#shape-r{fill:var(--brand-soft);stroke:var(--ink);stroke-width:3px}#shape-d{stroke:var(--brand-ink);stroke-width:2px;stroke-dasharray:6 5}.r-shape figcaption{margin-top:4px}@container (width<=640px){.r-main{grid-template-columns:minmax(0,1fr)}.r-shape{display:none}}.r-big{letter-spacing:-.03em;font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:4px 14px;font-weight:750;line-height:1.05;display:flex}#r-diag{color:var(--ink);font-size:clamp(2.5rem,9vw,4.5rem)}.r-cm{color:var(--brand-ink);letter-spacing:-.01em;font-size:clamp(1.125rem,3.5vw,1.5rem);font-weight:650}.r-wh{max-width:60ch;margin-top:10px;font-size:1.0625rem;font-weight:600}.result:not([data-state=measured]) .r-wh{font-weight:500}.r-alt{color:var(--brand-ink);margin-top:8px;font-size:1.0625rem;font-weight:600}.r-alt[hidden]{display:none}.r-note{color:var(--muted);max-width:70ch;margin-top:6px}.r-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:auto;padding-top:14px;display:flex}.top-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:stretch;gap:20px;display:grid}@media (width<=859px){.top-grid{grid-template-columns:minmax(0,1fr);gap:16px}.result{min-height:0}}.exact{background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;align-items:flex-start;gap:10px;padding:18px 20px;display:flex}.exact-h{letter-spacing:-.01em;font-size:1.125rem;font-weight:750;line-height:1.25}.exact-p{color:var(--ink);font-size:.9375rem;line-height:1.5}.exact-est{font-size:.9375rem;font-weight:600;line-height:1.45}.exact-warn{color:#b45309;font-size:.875rem;font-weight:600;line-height:1.45}:root[data-theme=dark] .exact-warn{color:#fbbf24}.exact p[hidden]{display:none}.exact-btn{width:100%;margin-top:2px}.exact-foot{margin-top:auto}.exact-foot a{color:var(--brand-ink);text-underline-offset:3px;text-decoration:underline}.facts{background:var(--line);border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.fact{background:var(--card);min-height:78px;padding:10px 14px 12px}.fact dt{color:var(--ink);flex-direction:column;font-size:.8125rem;font-weight:650;display:flex}.fact .f-hint{color:var(--muted);font-size:.75rem;font-weight:500}.fact dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:4px;font-size:1.0625rem;font-weight:700}@media (width<=860px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.cal-dlg{background:var(--paper);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--ink);touch-action:none;-webkit-user-select:none;user-select:none;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.cal-dlg::backdrop{background:var(--paper)}.cal-panel{z-index:2;background:var(--card);border:1px solid var(--edge);touch-action:pan-y;border-radius:16px;width:400px;max-height:calc(100dvh - 48px);padding:14px 16px 16px;position:absolute;top:24px;right:24px;overflow:auto;box-shadow:0 1px 2px #1018280f,0 16px 40px -16px #1018284d}.cal-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.cal-panel h2{letter-spacing:-.01em;font-size:1.125rem;font-weight:750}.cal-panel h2:focus{outline:none}.cal-panel p{margin-top:8px}.cal-panel a{color:var(--brand-ink);text-underline-offset:3px;text-decoration:underline}.steps{margin:0 0 4px 1.2rem;font-size:.9375rem;line-height:1.5;list-style:decimal}@media (width<=700px),(pointer:coarse) and (width<=1100px){.cal-panel{flex-direction:column;width:auto;max-width:560px;max-height:48dvh;margin:0 auto;padding:10px 12px 12px;display:flex;inset:auto 8px 8px}.cal-panel>*{flex:none}#rot-note,.cal-notes{order:1}.steps{font-size:.875rem}}.obj{z-index:1;border:2px solid var(--brand-ink);background:color-mix(in srgb, var(--brand) 14%, transparent);cursor:grab;touch-action:none;border-radius:3.7%/5.9%;position:absolute}.obj.cut{border-bottom-style:dashed;border-bottom-width:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.obj-l{background:var(--card);border:1px solid var(--edge);white-space:nowrap;pointer-events:none;border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:700;position:absolute;top:-28px;left:0}.obj-h{cursor:ew-resize;touch-action:none;place-items:center;width:48px;height:52px;margin-top:-26px;display:grid;position:absolute;top:50%;right:-24px}.obj-h i{background:var(--brand);width:8px;height:36px;box-shadow:0 0 0 2px var(--card);border-radius:4px}.obj-h:focus-visible{outline:3px solid var(--brand-ink);border-radius:8px}.obj.cut .obj-h{top:30px}@media (width<=700px),(pointer:coarse) and (width<=1100px){.obj-h{width:40px;right:-10px}}.toast{z-index:50;background:var(--ink);color:var(--card);text-align:center;pointer-events:none;border-radius:12px;max-width:calc(100% - 32px);padding:10px 18px;font-size:.9375rem;font-weight:600;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast[hidden]{display:none}.sizes tr[data-yours] td,.sizes tr[data-yours] th{background:var(--brand-soft)}.sizes .yours{color:var(--brand-ink);font-size:.75rem;font-weight:700;display:block}.sizes .yours:empty{display:none}.sizes .grp th{text-transform:none;letter-spacing:0;color:var(--ink);background:color-mix(in oklab, var(--line) 50%, var(--card));font-size:.8125rem}.sizes th,.sizes td{white-space:nowrap}@media (width<=600px){.sizes .tbl th,.sizes .tbl td{padding:8px 10px}}
