:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:oklch(7.5% 0 0);--surface:oklch(14.5% .006 240);--surface-2:oklch(20.5% .008 240);--surface-3:oklch(27% .01 240);--ink:oklch(97.2% 0 0);--muted:oklch(73% .012 240);--dim:oklch(55% .012 240);--primary:oklch(68% .17 43);--primary-strong:oklch(61% .19 39);--accent:oklch(78% .115 205);--danger:oklch(67% .18 25);--ok:oklch(74% .13 150);--ring:0 0 0 1px oklch(100% 0 0/.08);--ring-strong:0 0 0 1px oklch(100% 0 0/.16);--shadow-soft:0 16px 32px -24px oklch(0% 0 0/.9);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;color:var(--ink);background:var(--bg);margin:0;overflow-x:clip}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell{width:100%;max-width:1180px;min-height:100vh;margin:0 auto;padding:10px}h1,h2,p{margin:0}h1{letter-spacing:0;text-wrap:balance;font-size:1.45rem;line-height:1.1}h2{letter-spacing:0;text-wrap:balance;font-size:.98rem;line-height:1.2}.workbench{grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);align-items:start;gap:12px;display:grid}.meter-column,.work-panel,.notes-stack{gap:10px;display:grid}.work-panel{overscroll-behavior:contain;max-height:calc(100dvh - 20px);overflow:auto}.meter-stage{height:calc(100dvh - 20px);min-height:440px;max-height:720px;box-shadow:var(--ring), var(--shadow-soft);background:oklch(4% 0 0);border-radius:8px;position:relative;overflow:hidden}.meter-video{object-fit:cover;opacity:0;width:100%;height:100%;transition-property:opacity;transition-duration:.18s;transition-timing-function:cubic-bezier(.2,0,0,1);position:absolute;inset:0}.meter-video.is-visible{opacity:1}.meter-canvas{display:none}.meter-empty{color:var(--ink);text-align:center;background:linear-gradient(145deg,oklch(11.5% .012 230),oklch(4.5% .004 240)),oklch(4% 0 0);place-content:center;gap:8px;padding:26px;display:grid;position:absolute;inset:0}.meter-empty span{letter-spacing:.02em;font-size:1rem;font-weight:800}.meter-empty p{max-width:20ch;color:var(--muted);font-size:.88rem;line-height:1.35}.meter-empty.is-error span{color:var(--primary)}.spot-frame{aspect-ratio:1;color:oklch(100% 0 0/.78);border:1.5px solid oklch(68% .17 43/.72);place-items:center;width:clamp(64px,22vw,104px);transition-property:border-color,scale;transition-duration:.16s;transition-timing-function:cubic-bezier(.2,0,0,1);display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.spot-frame.is-held{border-color:oklch(78% .115 205/.78);scale:.96}.spot-frame svg{opacity:.82}.meter-topline,.meter-actions{z-index:2;justify-content:space-between;align-items:center;gap:10px;display:flex;position:absolute;left:12px;right:12px}.meter-topline{color:var(--ink);letter-spacing:.1em;text-transform:uppercase;text-shadow:0 1px 8px oklch(0% 0 0/.8);font-size:.78rem;font-weight:800;top:12px}.meter-actions{bottom:12px}.roll-hud{z-index:3;pointer-events:none;justify-items:end;gap:8px;display:grid;position:absolute;bottom:66px;left:12px;right:12px}.roll-chip,.roll-editor{color:var(--ink);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:oklch(8% 0 0/.78);box-shadow:0 0 0 1px #ffffff1a,0 18px 34px -24px oklch(0% 0 0/.94)}.roll-chip{cursor:pointer;pointer-events:auto;border:0;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:154px;max-width:100%;min-height:40px;padding:6px 8px 6px 10px;transition-property:background-color,box-shadow,scale;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1);display:grid}.roll-chip:hover,.roll-chip.is-open{background:oklch(11% .006 240/.88);box-shadow:0 0 0 1px #ffffff24,0 18px 34px -22px oklch(0% 0 0/.96)}.roll-chip:active{scale:.96}.roll-chip span,.roll-inline-field span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:850}.roll-chip span{display:none}.roll-chip strong{text-align:left;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:780;overflow:hidden}.roll-chip svg{color:var(--muted);transition-property:color,rotate;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.roll-chip.is-open svg{color:var(--primary);rotate:180deg}.roll-editor{opacity:0;filter:blur(4px);pointer-events:none;border-radius:8px;grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr) 42px;justify-self:end;align-items:end;gap:8px;width:min(334px,100vw - 40px);padding:8px;transition-property:opacity,filter,transform;transition-duration:.18s;transition-timing-function:cubic-bezier(.2,0,0,1);display:grid;transform:translateY(8px)}.roll-editor.is-open{opacity:1;filter:blur();pointer-events:auto;transform:translateY(0)}.roll-inline-field{gap:5px;min-width:0;display:grid}.roll-inline-field input{width:100%;min-height:40px;color:var(--ink);background:oklch(4% 0 0/.88);border:0;border-radius:6px;padding:8px 9px;font-weight:760;transition-property:background-color,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1);box-shadow:0 0 0 1px #ffffff1a}.roll-inline-field input:focus{background:oklch(6.5% .004 240/.96);box-shadow:0 0 0 1px oklch(78% .115 205/.55)}.shot-number-control{grid-template-columns:40px minmax(44px,1fr) 40px;gap:4px;display:grid}.shot-number-control button{min-width:40px;min-height:40px;color:var(--ink);cursor:pointer;background:oklch(12% .006 240/.92);border:0;border-radius:6px;place-items:center;transition-property:background-color,box-shadow,scale;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1);display:grid;box-shadow:0 0 0 1px #ffffff1a}.shot-number-control button:hover{background:oklch(18% .01 240/.96);box-shadow:0 0 0 1px #ffffff24}.shot-number-control button:active{scale:.96}.shot-number-control input{text-align:center;font-variant-numeric:tabular-nums;padding:8px 4px}.roll-done-button{color:oklch(100% 0 0);background:var(--primary-strong);width:42px;height:40px;min-height:40px}.icon-button,.text-button,.segmented button,.value-toggle button{background:var(--surface-2);min-width:40px;min-height:40px;box-shadow:var(--ring);cursor:pointer;border:0;border-radius:8px;transition-property:background-color,box-shadow,scale,color;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.icon-button{place-items:center;width:42px;height:42px;padding:0;display:inline-grid}.icon-button:hover,.text-button:hover,.segmented button:hover,.value-toggle button:hover{background:var(--surface-3);box-shadow:var(--ring-strong)}.icon-button:active,.text-button:active,.segmented button:active,.value-toggle button:active{scale:.96}.meter-actions>.text-button:first-child:last-child{flex:1}.hold-button{flex:none}.meter-capture-button{color:oklch(100% 0 0);background:var(--primary-strong);flex:1;min-width:0}.hold-button.is-active{color:oklch(100% 0 0);background:var(--primary-strong)}.reading-panel,.notes-panel,.shot-log{background:var(--surface);box-shadow:var(--ring), var(--shadow-soft);border-radius:8px;padding:10px}.panel-heading,.geo-readout{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-heading>div{gap:3px;min-width:0;display:grid}.geo-readout{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;font-weight:700}.reading-panel{gap:8px;display:grid}.primary-reading{text-align:left;justify-content:space-between;align-items:end;gap:14px;min-height:86px;padding:2px 4px 0;display:flex}.primary-reading span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:800}.primary-reading strong{letter-spacing:0;font-variant-numeric:tabular-nums;font-size:3.35rem;font-weight:500;line-height:.95}.mode-stack{grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);align-items:end;gap:8px;display:grid}.mode-row{gap:4px;min-width:0;display:grid}.mode-row>span{color:var(--dim);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.reading-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.metric{background:var(--surface-2);border-radius:8px;gap:6px;min-height:64px;padding:10px;display:grid}.metric span,.setting-cell-label,.field-shell span,.shot-meta{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.76rem;font-weight:800}.metric strong,.setting-cell strong{font-variant-numeric:tabular-nums}.control-panel{gap:8px;display:grid}.segmented{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:0;display:grid}.segmented.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented.micro{gap:4px}.segmented button{color:var(--muted);padding:0 10px;font-size:.82rem;font-weight:800}.segmented button.is-active{color:oklch(100% 0 0);background:var(--primary-strong)}.segmented.micro button{background:oklch(12% .006 240);min-height:40px;padding:0 6px;font-size:.74rem}.segmented.micro button.is-active{color:var(--ink);background:oklch(48% .14 39)}.value-toggle{border:0;align-items:center;gap:10px;min-height:40px;margin:0;padding:0;display:flex}.value-toggle button{min-width:44px;min-height:40px;color:var(--dim);box-shadow:none;background:0 0;padding:0 2px;font-size:.78rem;font-weight:800;position:relative}.value-toggle button:hover{color:var(--muted);box-shadow:none;background:0 0}.value-toggle button.is-active{color:var(--ink);box-shadow:none;background:0 0}.value-toggle button.is-active:after{content:"";background:var(--primary);border-radius:999px;height:2px;position:absolute;bottom:7px;left:10px;right:10px}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.setting-cell{min-width:0;box-shadow:var(--ring);background:oklch(10% 0 0);border-radius:8px;gap:8px;padding:8px;transition-property:background-color,box-shadow;transition-duration:.16s;transition-timing-function:cubic-bezier(.2,0,0,1);display:grid}.setting-cell.is-highlighted{box-shadow:inset 0 -2px 0 var(--primary), var(--ring);background:oklch(18% .042 42)}.setting-cell-main{gap:6px;min-width:0;display:grid}.setting-cell-label{align-items:center;gap:5px;min-width:0;display:inline-flex}.setting-cell strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.14rem;font-weight:650;line-height:1.05;overflow:hidden}.setting-stepper{grid-template-columns:1fr 1fr;gap:4px;display:grid}.setting-stepper .icon-button{background:oklch(14.5% .006 240);width:100%;min-width:0;height:40px}.setting-cell.is-highlighted .setting-stepper .icon-button{background:oklch(12% .018 42)}.setting-stepper button:disabled,.comp-stepper button:disabled{color:var(--dim);cursor:not-allowed;background:oklch(10.5% .004 240);scale:1}.comp-stepper{min-inline-size:0;box-shadow:var(--ring);background:oklch(10% 0 0);border:0;border-radius:8px;gap:7px;margin:0;padding:7px;display:grid}.comp-stepper legend{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;padding:0;font-size:.72rem;font-weight:800}.comp-stepper-controls{grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:6px;display:grid}.comp-stepper strong{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:1.04rem;font-weight:750;overflow:hidden}.comp-stepper .icon-button{width:40px;height:40px}.comp-stepper .icon-button:last-child{color:var(--primary)}.calibration-row{grid-template-columns:minmax(0,1fr) auto 42px;align-items:end;gap:8px;display:grid}.calibration-details{box-shadow:var(--ring);background:oklch(10% 0 0);border-radius:8px}.calibration-details summary{min-height:40px;color:var(--muted);cursor:pointer;letter-spacing:.07em;text-transform:uppercase;padding:10px 12px;font-size:.78rem;font-weight:800}.calibration-details .calibration-row{padding:0 8px 8px}.calibration-row label,.field-shell{gap:6px;display:grid}.calibration-row input,.field-shell input,.field-shell textarea{width:100%;min-height:42px;color:var(--ink);box-shadow:var(--ring);background:oklch(10% 0 0);border:0;border-radius:8px;padding:10px 11px;transition-property:box-shadow,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.field-shell textarea{resize:vertical;min-height:84px}.text-button{justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:.84rem;font-weight:800;display:inline-flex}.notes-panel,.shot-log{gap:12px;display:grid}.panel-heading span{color:var(--muted);font-variant-numeric:tabular-nums}.shot-meta{color:var(--muted);letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;font-size:.76rem;font-weight:750;line-height:1.25;display:block}.geo-readout{background:oklch(10% 0 0);border-radius:8px;flex-wrap:wrap;justify-content:flex-start;padding:8px 10px}.notes-form{gap:10px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.text-button:disabled{color:var(--dim);background:var(--surface-2);cursor:not-allowed;scale:1}.field-setup-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.shot-list{gap:8px;display:grid}.export-status{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:750;overflow:hidden}.empty-state,.shot-row{box-shadow:var(--ring);background:oklch(10% 0 0);border-radius:8px}.empty-state{min-height:96px;color:var(--muted);text-align:center;place-items:center;gap:6px;display:grid}.empty-state strong{color:var(--ink);font-weight:650}.shot-row{grid-template-columns:82px minmax(0,1fr) 40px;align-items:start;gap:10px;padding:10px;display:grid}.shot-row.is-editing{grid-template-columns:82px minmax(0,1fr)}.shot-thumb{aspect-ratio:4/3;object-fit:cover;background:oklch(7% 0 0);border-radius:6px;width:82px;overflow:hidden;box-shadow:0 0 0 1px oklch(100% 0 0/.1)}.shot-thumb.is-empty{color:var(--dim);place-items:center;display:grid}.shot-content{min-width:0}.shot-actions{gap:6px;display:grid}.shot-row strong{font-variant-numeric:tabular-nums;margin:4px 0;font-size:.95rem;line-height:1.25;display:block}.shot-row p{color:var(--muted);text-overflow:ellipsis;text-wrap:pretty;white-space:nowrap;font-size:.9rem;line-height:1.35;overflow:hidden}.shot-detail-list{color:var(--dim);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 8px;margin-top:7px;font-size:.78rem;line-height:1.25;display:flex}.shot-detail-list span{align-items:center;gap:4px;min-width:0;display:inline-flex}.shot-geo{color:var(--accent)}.shot-edit-form{gap:10px;min-width:0;display:grid}.shot-edit-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.shot-edit-grid .field-shell:last-child{grid-column:auto/span 2}.shot-edit-grid .field-shell span{font-size:.68rem}.shot-edit-grid input,.shot-edit-grid textarea{min-height:40px}.shot-edit-grid textarea{min-height:72px}.shot-edit-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.shot-edit-actions .text-button:first-child{color:oklch(100% 0 0);background:var(--primary-strong)}@media (width<=880px){html,body{height:100%;overflow:hidden}.app-shell{height:100dvh;min-height:0;padding:8px;overflow:hidden}.workbench{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:1fr;align-items:stretch;gap:10px;height:calc(100dvh - 16px)}.meter-column,.work-panel{min-height:0}.work-panel{max-height:none;padding-bottom:max(8px, env(safe-area-inset-bottom));overflow:auto}.meter-stage{height:100%;min-height:0;max-height:none}}@media (width<=560px){.meter-actions{gap:8px}.reading-panel{gap:8px;padding:8px}.primary-reading{align-items:center;min-height:52px}.primary-reading span{font-size:.76rem}.primary-reading strong{font-size:2.9rem}.segmented button,.value-toggle button{min-height:38px;font-size:.78rem}.reading-grid,.form-grid,.field-setup-grid{grid-template-columns:1fr}.shot-row,.shot-row.is-editing{grid-template-columns:72px minmax(0,1fr) 40px}.shot-row.is-editing{grid-template-columns:72px minmax(0,1fr)}.shot-thumb{width:72px}.shot-edit-grid{grid-template-columns:1fr}.shot-edit-grid .field-shell:last-child{grid-column:auto}.setting-cell{padding:7px}.setting-cell strong{font-size:1.02rem}.setting-stepper .icon-button{height:40px;min-height:40px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
