:root{--orange:#ea580c;--orange-soft:#fff1e8;--ink:#1f2328;--grey:#6b7280;--line:#e5e7eb;color:var(--ink);background:#fff;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}.screen{max-width:480px;margin:0 auto;padding:16px 16px 40px}.brand{text-align:center;margin:8px 0 2px;font-size:28px;font-weight:800}.tagline{text-align:center;color:var(--grey);margin:0 0 16px}.topbar{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.topbar .brand{margin:0;font-size:18px}.back{color:var(--orange);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;min-width:80px;padding:8px 0;font-size:14px}canvas.chart{aspect-ratio:4/3;border:1px solid var(--line);border-radius:10px;width:100%;display:block}canvas.chart.two{aspect-ratio:4/5}@media (width<=520px){canvas.chart{aspect-ratio:1}canvas.chart.two{aspect-ratio:4/6}}dialog.caution{cursor:pointer;outline:none}.caption{color:var(--grey);margin:6px 0 16px;font-size:12px}.btn{background:var(--orange);color:#fff;width:100%;font:inherit;cursor:pointer;text-align:center;border:0;border-radius:12px;padding:14px;font-weight:700;display:block}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.secondary{color:var(--orange);border:1px solid var(--orange);background:#fff}.row{gap:8px;margin-top:12px;display:flex}.row>*{flex:1}.hint{text-align:center;color:var(--grey);margin:18px 0 8px;font-size:13px}.chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.chip{color:#c2410c;font:inherit;cursor:pointer;background:#fff;border:1px solid #fdba74;border-radius:999px;padding:8px 12px;font-size:13px}h2.step{text-transform:uppercase;letter-spacing:.05em;color:var(--grey);margin:20px 0 6px;font-size:12px}select{width:100%;font:inherit;background:#fff;border:1px solid #ccc;border-radius:10px;padding:12px}label.check{align-items:center;gap:10px;padding:8px 0;display:flex}label.check input{width:20px;height:20px;accent-color:var(--orange)}label.check.off{opacity:.45;cursor:not-allowed}.seg button:disabled{opacity:.4;cursor:not-allowed}.since{color:var(--grey);font-size:12px}h2.step .year{color:var(--orange);letter-spacing:0;margin-left:4px;font-size:15px}.seg{border:1px solid var(--orange);border-radius:999px;margin:2px 0 8px 30px;display:inline-flex;overflow:hidden}.seg button{color:var(--orange);font:inherit;cursor:pointer;background:#fff;border:0;padding:6px 10px;font-size:12px}.seg button[aria-pressed=true]{background:var(--orange);color:#fff}.pills{align-items:center;gap:6px;margin:8px 0;display:flex}.pill{border:1px solid var(--orange);color:var(--orange);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:6px 12px;font-size:13px}.pill[aria-pressed=true]{background:var(--orange);color:#fff}.link{color:var(--orange);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:6px 0;font-size:13px}.legend{flex-wrap:wrap;gap:4px 14px;margin:6px 0 10px;font-size:12px;display:flex}.legend i{border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}details{color:#444;border-top:1px solid var(--line);padding-top:8px;font-size:13px}details summary{cursor:pointer;font-weight:600}details h3{margin:10px 0 2px;font-size:13px}details p{margin:2px 0}details a{color:var(--orange)}.notice{background:var(--orange-soft);color:#9a3412;border:1px solid #fdba74;border-radius:10px;margin:8px 0;padding:10px 12px;font-size:14px}.selected{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.selected button{border:1px solid var(--line);font:inherit;cursor:pointer;background:#fafafa;border-radius:999px;padding:4px 10px;font-size:12px}dialog.popup{border:0;border-radius:14px;max-width:360px;padding:20px;box-shadow:0 10px 40px #0000004d}dialog.popup::backdrop{background:#00000073}dialog.popup p{margin:0 0 16px;line-height:1.4}.toast{color:#fff;background:#222;border-radius:999px;padding:10px 16px;font-size:14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}progress{width:100%}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.chartwrap{position:relative}.tip{color:#fff;pointer-events:none;z-index:2;background:#222;border-radius:8px;min-width:120px;max-width:230px;padding:8px 10px;font-size:12px;line-height:1.35;position:absolute;box-shadow:0 4px 14px #00000040}.tip[hidden]{display:none}.version{text-align:center;color:#9ca3af;padding:8px 0 24px;font-size:12px}.tip .dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.tip .note{color:#d1d5db;margin-top:4px;font-style:italic}.tip strong{margin-bottom:2px;display:block}.seg.wrap{border-radius:18px;flex-wrap:wrap}.photo{border:1px solid var(--line);border-radius:10px;padding:10px 12px 12px}.photo-title{margin:4px 0 0;font-size:16px}.photo-row{width:100%;font:inherit;color:inherit;text-align:right;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:38% 1fr;align-items:center;gap:8px;padding:5px 4px;display:grid}.photo-row.static{cursor:default}.photo-title:focus{outline:none}button.photo-row:hover,button.photo-row:focus-visible{background:var(--orange-soft)}.photo-row.muted .photo-label{color:var(--grey)}.photo-label{font-size:13px;line-height:1.2}.photo-bars{text-align:left;flex-direction:column;gap:2px;display:flex}.photo-bar{align-items:center;gap:4px;height:10px;display:flex}.photo-bar i{border-radius:1px;flex:none;height:8px;display:block}.photo-bar span{white-space:nowrap;font-size:11px}.photo-year{color:var(--grey);align-items:center;gap:12px;margin-top:10px;font-size:13px;display:flex}.photo-when{align-items:center;gap:12px;margin:2px 0 4px;display:flex}.photo-when-year{color:var(--orange);font-size:22px;font-weight:800}.photo-year label{align-items:center;gap:8px;display:flex}.photo-bar i{transition:width .5s}@media (prefers-reduced-motion:reduce){.photo-bar i{transition:none}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.vent-list{margin-top:10px}.vent-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:14px 1fr auto;align-items:center;gap:8px;padding:6px 4px;font-size:13px;display:grid}.vent-row.static{cursor:default}.vent-row.muted .vent-label{color:var(--grey)}button.vent-row:hover,button.vent-row:focus-visible{background:var(--orange-soft)}.chip-dot{border-radius:3px;width:12px;height:12px;display:block}.vent-value{font-weight:600}.photo-year select{width:auto;padding:6px 10px}
