:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#183c35;background:#f3f5f0;font-synthesis:none;--bg: #f3f5f0;--surface: #fff;--text: #183c35;--muted: #52665e;--border: #cbd6cc;--accent: #164c3e;--accent-text: #fff;--lime: #d1ee9d;--error: #8e2027;--error-bg: #fff0ef;--focus: #0c63cb;color-scheme:light}.device-entry.card{padding:0}.device-entry>summary{padding:16px 20px;font-weight:700;min-height:56px;overflow-wrap:anywhere}.device-entry[open]>summary{border-bottom:1px solid var(--border)}.device-details{padding:18px 20px}.device-details dl{display:grid;grid-template-columns:minmax(90px,1fr) minmax(0,2fr);gap:10px 16px;margin:16px 0}.device-details dt{color:var(--muted);font-size:12px}.device-details dd{margin:0;overflow-wrap:anywhere;font-size:14px}button.danger{color:var(--error);border-color:var(--error)}.setup-secret{display:block;padding:16px;border:1px solid var(--border);border-radius:10px;font-family:ui-monospace,monospace;font-size:18px;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{min-height:46px;padding:10px 17px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer;font-weight:600}button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button.selected{background:var(--lime);color:#153b2f}button.text{border:0;background:none;padding-left:0;font-weight:500}a{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}header{display:flex;justify-content:space-between;align-items:center;padding:22px 5%;border-bottom:1px solid var(--border);background:var(--surface);gap:16px}.brand{display:flex;gap:12px;text-decoration:none;color:var(--text);font-size:25px;letter-spacing:-1px;font-weight:800;align-items:center}.brand-symbol{background:#123d35;color:#d2f57a;border-radius:12px;padding:9px 14px;font-size:28px}.brand small{display:block;font-size:11px;letter-spacing:.3px;font-weight:500;color:var(--muted)}.theme{display:flex;align-items:center;gap:10px;font-size:12px;margin:0;max-width:230px;justify-content:center;min-width:48px;min-height:48px;padding:10px}.theme select{padding:8px;min-height:42px}nav{display:flex;align-items:center;gap:8px;padding:12px 5%;flex-wrap:wrap;background:var(--surface);border-bottom:1px solid var(--border)}nav button{font-size:13px;padding:8px 12px}.device{margin-left:auto;color:var(--muted);font-size:12px}main{max-width:1120px;margin:0 auto;padding:42px 28px 80px;min-height:75vh}h1{font-size:clamp(30px,5vw,48px);line-height:1.1;font-weight:750;letter-spacing:-1.5px;margin:12px 0 16px}h2{font-size:23px;letter-spacing:-.5px;margin:12px 0}h3{font-size:18px}p{line-height:1.6}.lead{color:var(--muted);font-size:18px;margin-bottom:32px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:750;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:26px;margin:18px 0;box-shadow:0 3px 12px #123d3504}.grid .card{margin:0}.card>button{margin:8px 8px 0 0}.badge{font-size:11px;font-weight:700;letter-spacing:.3px;background:var(--lime);color:#203f23;padding:6px 10px;border-radius:7px;display:inline-block}.muted,small{color:var(--muted)}small{display:block;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0 4px}.spread{justify-content:space-between}.list{display:flex;flex-direction:column;gap:10px;margin:20px 0}.list .card{margin:0}.row{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;width:100%;padding:18px 22px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.row small{margin-top:6px}.row .actions{margin:0}label{display:block;font-size:14px;font-weight:600;margin:18px 0;max-width:600px}input,select,textarea{display:block;margin-top:8px;width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}textarea{min-height:110px}input[type=checkbox]{width:22px;height:22px;min-height:22px;margin:0;accent-color:var(--accent);flex-shrink:0}.check{display:flex;gap:12px;align-items:center;line-height:1.5}.notice{padding:18px;border-radius:10px;background:var(--lime);margin:16px 0}.error{background:var(--error-bg);color:var(--error);border:1px solid var(--error)}.welcome{max-width:620px;margin:20px auto}.welcome h1{font-size:clamp(40px,6vw,64px)}.welcome .card{margin-top:32px}.code{display:block;font-size:30px;letter-spacing:5px;font-weight:800;margin:20px 0;font-variant-numeric:tabular-nums}.progress-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}progress{width:100%;height:8px;accent-color:var(--accent);display:block;margin:18px 0 26px}.measurement{max-width:760px;margin:20px auto;padding:30px}.measurement h2{font-size:30px;margin:24px 0}.measurement input{font-size:42px;font-variant-numeric:tabular-nums;padding:17px}.measurement label{max-width:none}.previous{background:var(--bg);padding:18px;border-radius:12px;display:flex;flex-direction:column;gap:6px}.previous>span{font-size:12px;color:var(--muted)}.previous strong{font-size:25px}.previous strong small{display:inline;font-size:18px}.save{width:100%;min-height:60px;font-size:18px}.save-state{font-size:13px;color:var(--muted)}.save-state.draft{color:#8a5700;font-weight:700}.limit-warning{color:var(--error);font-weight:650}.out-of-range,.deviation{background:var(--error-bg)!important;color:var(--error)!important;border-color:var(--error)!important}.deviation small{color:var(--error)}fieldset{border:1px solid var(--border);border-radius:10px;padding:16px;max-width:700px}legend{font-weight:600}.order{padding:0;list-style:none;max-width:700px}.order li{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border);padding:8px 0}.order li span{flex:1}.order button{padding:8px 15px}.qr{width:220px;margin:15px auto}.qr svg{width:100%;height:auto;background:#fff}.print-label{text-align:center}.print-label>strong{font-size:28px}pre{font-size:12px;white-space:pre-wrap;word-break:break-word;max-height:420px;overflow:auto}summary{cursor:pointer;line-height:1.7;min-height:44px}footer{padding:24px;text-align:center;color:var(--muted);font-size:12px;border-top:1px solid var(--border)}html[data-theme=dark]{--bg: #111d19;--surface: #1b2c25;--text: #e4eee2;--muted: #acbfb0;--border: #425b4b;--accent: #cbe99a;--accent-text: #152d1d;--lime: #374c2c;--error: #ffb8b4;--error-bg: #492527;--focus: #93c5ff;color-scheme:dark;background:var(--bg);color:var(--text)}html[data-theme=dark] .badge,html[data-theme=dark] button.selected{color:#d6f3ac}html[data-theme=dark] .draft{color:#f0cc7b}@media(prefers-color-scheme:dark){html[data-theme=system]{--bg: #111d19;--surface: #1b2c25;--text: #e4eee2;--muted: #acbfb0;--border: #425b4b;--accent: #cbe99a;--accent-text: #152d1d;--lime: #374c2c;--error: #ffb8b4;--error-bg: #492527;--focus: #93c5ff;color-scheme:dark;background:var(--bg);color:var(--text)}html[data-theme=system] .badge,html[data-theme=system] button.selected{color:#d6f3ac}html[data-theme=system] .draft{color:#f0cc7b}}@media(max-width:600px){header{padding:16px}.brand small{max-width:150px;font-size:9px}.theme span{display:none}.brand{font-size:22px}.brand-symbol{font-size:24px;padding:8px 12px}main{padding:28px 16px 60px}.card,.measurement{padding:20px}.device{width:100%;order:5;margin:8px 0 0}.row{padding:16px;flex-wrap:wrap}.measurement .actions button{flex:1;font-size:12px;padding:10px 8px}.code{font-size:24px;letter-spacing:3px}nav{padding:10px 16px}h1{letter-spacing:-1px}.theme{max-width:100px}.row .actions{width:100%}}html.round-active,html.round-active body{overflow:hidden;overscroll-behavior:none}main.round-mode{position:fixed;top:var(--round-top, 0px);left:0;width:100%;height:var(--round-height, 100dvh);max-width:none;min-height:0;margin:0;padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:flex;background:var(--bg);overflow:hidden}.round-screen{width:100%;max-width:760px;height:100%;min-height:0;margin:0 auto;display:flex;flex-direction:column;gap:8px}.round-toolbar{flex:0 0 auto;min-height:44px;font-size:14px}.round-toolbar>span{line-height:1.35}.round-toolbar button{min-height:44px;padding:8px 12px}.round-screen>progress{flex:0 0 6px;height:6px;margin:0}.round-measurement.card{display:flex;flex-direction:column;justify-content:space-between;gap:10px;flex:1 1 0;min-height:0;width:100%;margin:0;padding:18px}.round-measurement>.progress-heading{flex:0 0 auto;gap:6px}.round-measurement h2{flex:0 0 auto;font-size:clamp(21px,4vw,30px);line-height:1.15;margin:0;overflow-wrap:anywhere}.round-info{flex:0 0 auto}.round-measurement .previous{padding:12px;gap:2px}.round-measurement .previous strong{font-size:28px;line-height:1.2}.round-bounds{font-size:13px;line-height:1.3;margin:6px 0 0}.round-measurement form{min-height:0;flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;gap:6px}.round-measurement label{margin:0;font-size:14px;line-height:1.3}.round-measurement input{margin:4px 0 0;min-height:56px;height:clamp(56px,8vh,76px);padding:10px 14px;font-size:clamp(28px,5vw,42px)}.round-measurement .save-state{margin:0;min-height:18px;font-size:12px;line-height:1.3}.round-measurement .limit-warning{font-size:13px;line-height:1.3;margin:0}.round-measurement .save{min-height:52px;flex:0 0 auto}.round-measurement .actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;flex:0 0 auto;margin:0}.round-measurement .actions button{min-width:0;min-height:46px;padding:8px 5px;font-size:13px;line-height:1.25}.round-exit{flex:0 0 auto;width:100%;min-height:44px;padding:8px 12px}.round-summary{flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior:contain}.round-summary .list{margin:0 0 12px}.round-summary .card{margin:0}.round-summary .notice{margin:10px 0}.round-feedback{flex:0 0 auto}.round-feedback .notice{margin:0;padding:8px 12px;font-size:12px;line-height:1.3;max-height:50px;overflow-y:auto}.round-loading{flex:1}html[data-round-compact=true] .round-screen{gap:5px}html[data-round-compact=true] .round-toolbar{min-height:36px;font-size:12px}html[data-round-compact=true] .round-toolbar button,html[data-round-compact=true] .round-exit{min-height:36px;padding:6px 10px;font-size:12px}html[data-round-compact=true] .round-screen>progress{height:4px;flex-basis:4px}html[data-round-compact=true] .round-measurement.card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto minmax(0,1fr) auto;gap:6px 10px;padding:10px}html[data-round-compact=true] .round-measurement>.progress-heading{grid-column:1/-1;grid-row:1}html[data-round-compact=true] .round-measurement h2{grid-column:1/-1;grid-row:2;font-size:21px}html[data-round-compact=true] .round-info{grid-column:1;grid-row:3;align-self:center}html[data-round-compact=true] .round-measurement form{grid-column:2;grid-row:3;gap:4px;align-self:center}html[data-round-compact=true] .round-measurement .actions{grid-column:1/-1;grid-row:4}html[data-round-compact=true] .round-measurement .actions button{min-height:40px;font-size:12px;padding:5px}html[data-round-compact=true] .round-measurement .previous{padding:8px}html[data-round-compact=true] .round-measurement .previous strong{font-size:24px}html[data-round-compact=true] .round-measurement .previous strong small{font-size:15px}html[data-round-compact=true] .round-measurement label{font-size:12px}html[data-round-compact=true] .round-measurement input{min-height:44px;height:48px;padding:6px 10px;font-size:28px}html[data-round-compact=true] .round-measurement .save{min-height:44px;padding:6px;font-size:14px}html[data-round-compact=true] .round-measurement .save-state{font-size:11px;min-height:14px}html[data-round-compact=true] .round-measurement .limit-warning{font-size:11px}html[data-round-tiny=true] .round-measurement.card{grid-template-rows:auto minmax(0,1fr) auto;gap:4px 8px;padding:8px}html[data-round-tiny=true] .round-measurement>.progress-heading{grid-column:1;grid-row:1;flex-wrap:wrap;gap:3px;justify-content:flex-start}html[data-round-tiny=true] .round-measurement .badge{padding:4px 6px;font-size:10px}html[data-round-tiny=true] .round-measurement>.progress-heading strong{font-size:12px}html[data-round-tiny=true] .round-measurement h2{grid-column:2;grid-row:1;font-size:18px}html[data-round-tiny=true] .round-info,html[data-round-tiny=true] .round-measurement form{grid-row:2}html[data-round-tiny=true] .round-measurement .actions{grid-row:3}.round-measurement label.round-checkbox{display:flex;align-items:center;gap:12px;min-height:86px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg);font-size:17px;cursor:pointer}.round-measurement .round-checkbox input[type=checkbox]{appearance:auto;width:44px;height:44px;min-height:44px;margin:0;padding:0;flex:0 0 44px;accent-color:var(--accent);cursor:pointer}html[data-round-compact=true] .round-measurement label.round-checkbox{min-height:64px;padding:8px;gap:8px;font-size:13px}@media print{body *{visibility:hidden}body .qr-print,body .qr-print *{visibility:visible}.qr-print{position:absolute;left:0;top:0;margin:0;border:0;width:90mm;background:#fff!important;color:#000!important}.no-print,.no-print *{display:none!important}.print-label small{color:#000}.qr{width:45mm}footer{display:none}}
