:root{--bg: #0c0d10;--surface-1: #15171c;--surface-2: #1c1f26;--surface-3: #232730;--border: #2a2f39;--border-soft: #1d2129;--text: #e8e5dc;--text-dim: #b4b4ab;--text-mute: #7a7c83;--accent: #dfb45a;--accent-dim: #8c7339;--good: #7eb78b;--warn: #c97a5e;--danger: #d65c5c;--grid: rgba(255,255,255,.025);--asym-good: #22c55e;--asym-warn: #fbbf24;--asym-mid: #f97316;--asym-bad: #ef4444;--font-serif: "Instrument Serif", "Noto Serif KR", Georgia, serif;--font-ui: "Pretendard", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, monospace;--font-scale: 1;--color-accent-yellow: rgb(255, 230, 0);--color-accent-yellow-strong: rgba(255, 230, 0, .95);--color-accent-yellow-glow: rgba(255, 230, 0, .85);--color-accent-yellow-soft: rgba(255, 230, 0, .1);--color-overlay-glass: rgba(0, 0, 0, .55);--color-overlay-border: rgba(255, 255, 255, .2);--color-overlay-text: #ffffff;--color-overlay-text-pop: rgba(255, 255, 255, .95);--gauge-positive: #ef4444;--gauge-negative: #3b82f6;--gauge-neutral: #4ade80;--bar-intensity: #f59e0b;--bar-consistency-high: var(--gauge-neutral);--bar-consistency-low: #94a3b8;--bar-track: rgba(255, 255, 255, .08);--color-white-04: rgba(255, 255, 255, .04);--color-white-06: rgba(255, 255, 255, .06);--color-white-08: rgba(255, 255, 255, .08);--color-white-10: rgba(255, 255, 255, .1);--color-white-15: rgba(255, 255, 255, .15);--color-white-40: rgba(255, 255, 255, .4);--color-white-50: rgba(255, 255, 255, .5);--color-white-60: rgba(255, 255, 255, .6);--color-white-70: rgba(255, 255, 255, .7);--size-tab-row: 32px;--size-btn-pill: 28px;--size-compass: 90px;--space-2xs: 2px;--space-xs: 4px;--space-sm: 6px;--space-md: 8px;--space-lg: 12px;--space-xl: 16px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 12px;--z-overlay: 5;--z-legend: 50;--z-tooltip: 100;--opacity-overlay: .88;--opacity-overlay-hover: 1;--shadow-overlay: drop-shadow(0 3px 8px rgba(0, 0, 0, .35));--shadow-overlay-soft: drop-shadow(0 2px 6px rgba(0, 0, 0, .35))}*{box-sizing:border-box;margin:0;padding:0}html{font-size:100%}html,body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-weight:400;min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden}body{font-size:calc(18px * var(--font-scale))}body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;z-index:0}body:after{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at 70% 0%,rgba(223,180,90,.04),transparent 50%);pointer-events:none;z-index:0}.app-layout{display:grid;grid-template-rows:auto 1fr auto auto auto;height:100vh;height:100dvh;max-height:100dvh;overflow:hidden;position:relative;z-index:1}.topbar{display:flex;align-items:center;justify-content:space-between;padding:max(10px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 10px max(24px,env(safe-area-inset-left));background:var(--surface-1);border-bottom:1px solid var(--border);min-height:50px}.topbar-brand{display:flex;align-items:center;gap:14px}.topbar-brand h1{font-family:var(--font-mono);font-size:calc(14px * var(--font-scale));font-weight:500;letter-spacing:.18em;color:var(--text);margin:0}.topbar-actions{display:flex;align-items:center;gap:6px}.topbar-btn{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-dim);cursor:pointer;transition:all .12s}.topbar-btn:hover{background:var(--surface-2);color:var(--text)}.topbar-btn svg{width:20px;height:20px;flex-shrink:0;pointer-events:none}.topbar-btn[aria-label=로그아웃]:hover{color:var(--danger)}.status-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid var(--border);border-radius:100px;text-transform:uppercase;color:var(--text-dim)}.status-pill .led{width:8px;height:8px;border-radius:50%;background:var(--text-mute)}.status-pill.live .led{background:var(--good);animation:pulse 1.4s ease-in-out infinite}.status-pill.error .led{background:var(--danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.privacy{display:flex;gap:14px;padding:16px 20px;background:var(--surface-1);border:1px solid var(--border-soft);border-left:2px solid var(--accent);border-radius:2px;margin-bottom:28px;font-size:calc(14px * var(--font-scale));color:var(--text-dim);line-height:1.55}.privacy strong{color:var(--text);font-weight:600}.privacy .icon{font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));color:var(--accent);letter-spacing:.12em;flex-shrink:0;padding-top:2px}.privacy code{font-family:var(--font-mono);color:var(--accent);font-size:calc(13px * var(--font-scale))}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-soft);background:var(--surface-2)}.panel-title{display:flex;align-items:baseline;gap:12px;font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}.panel-title .num{color:var(--accent);font-size:calc(11px * var(--font-scale))}.panel-actions{display:flex;gap:8px;align-items:center}.panel-hint{font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));color:var(--text-mute);letter-spacing:.1em}.panel-hint .legend{color:var(--accent)}.panel-hint .good{color:var(--good)}.panel-hint .accent{color:var(--accent)}.panel-hint .warn{color:var(--warn)}.camera-wrap{position:relative;background:#000;overflow:hidden}.camera-stage{position:relative;background:#000;overflow:hidden;min-height:0}video,.overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.dim-overlay{position:absolute;inset:0;background:#00000073;pointer-events:none;transition:opacity .3s ease}.dim-overlay[hidden]{display:none}.camera-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;color:var(--text-mute);font-family:var(--font-mono);font-size:calc(13px * var(--font-scale));letter-spacing:.1em}.camera-placeholder.hidden{display:none}.camera-placeholder .reticle{width:72px;height:72px;border:1px solid var(--border);border-radius:50%;position:relative}.camera-placeholder .reticle:before,.camera-placeholder .reticle:after{content:"";position:absolute;background:var(--border)}.camera-placeholder .reticle:before{top:50%;left:-12px;right:-12px;height:1px}.camera-placeholder .reticle:after{left:50%;top:-12px;bottom:-12px;width:1px}.camera-wrap .bracket{position:absolute;width:26px;height:26px;border:1px solid rgba(223,180,90,.4);pointer-events:none;z-index:2}.camera-wrap .bracket.tl{top:12px;left:12px;border-right:none;border-bottom:none}.camera-wrap .bracket.tr{top:12px;right:12px;border-left:none;border-bottom:none}.camera-wrap .bracket.bl{bottom:12px;left:12px;border-right:none;border-top:none}.camera-wrap .bracket.br{bottom:12px;right:12px;border-left:none;border-top:none}.camera-hud{position:absolute;bottom:14px;left:14px;display:flex;gap:20px;z-index:3;font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));letter-spacing:.1em;color:#e8e5dce6;background:#0009;padding:9px 14px;border-radius:2px;backdrop-filter:blur(8px)}.hud-item{display:flex;gap:6px}.hud-item .lbl{color:#dfb45ad9;text-transform:uppercase}.hud-item .val{color:var(--text);min-width:56px;text-align:right;font-variant-numeric:tabular-nums}.camera-task-banner{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:3;background:#000000b3;backdrop-filter:blur(10px);padding:10px 22px;border-radius:2px;border:1px solid rgba(223,180,90,.3);font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));letter-spacing:.18em;color:var(--accent);text-transform:uppercase;display:none}.camera-task-banner.show{display:block}.controls{display:flex;gap:16px;padding:16px 20px;background:var(--surface-2);border-top:1px solid var(--border-soft);flex-wrap:wrap;align-items:center}.control-group{display:flex;gap:8px;align-items:center}.control-group.spread{margin-left:auto}button{font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));letter-spacing:.12em;text-transform:uppercase;background:transparent;color:var(--text);border:1px solid var(--border);padding:11px 18px;border-radius:2px;cursor:pointer;transition:all .12s ease;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.35;cursor:not-allowed}button.primary{background:var(--accent);color:#1a1505;border-color:var(--accent);font-weight:500}button.primary:hover:not(:disabled){background:#e8c170;color:#1a1505}button.accent{border-color:var(--accent);color:var(--accent)}button.accent:hover:not(:disabled){background:var(--accent);color:#1a1505}button.danger:hover:not(:disabled){border-color:var(--warn);color:var(--warn)}.select{font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));letter-spacing:.1em;text-transform:uppercase;background:transparent;color:var(--text);border:1px solid var(--border);padding:10px 36px 10px 14px;border-radius:2px;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23a8a89e' stroke-width='1.5' fill='none'/></svg>");background-repeat:no-repeat;background-position:right 12px center;max-width:280px;transition:border-color .12s}.select:hover:not(:disabled){border-color:var(--accent)}.select:focus{outline:none;border-color:var(--accent)}.select:disabled{opacity:.4;cursor:not-allowed}.metrics-panel{display:flex;flex-direction:column}.metrics-body{padding:20px;display:flex;flex-direction:column;gap:24px;max-height:720px;overflow-y:auto}.metric-group{display:flex;flex-direction:column;gap:10px}.group-label{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute);padding-bottom:8px;border-bottom:1px dashed var(--border-soft)}.group-label .accent{color:var(--accent)}.metric-row{display:grid;grid-template-columns:1fr 110px 90px;align-items:center;gap:14px;padding:5px 0;transition:background .12s;position:relative}.metric-row.highlight{background:linear-gradient(90deg,rgba(223,180,90,.08),transparent);margin:0 -8px;padding:5px 8px;border-radius:2px}.metric-name{font-size:calc(14px * var(--font-scale));color:var(--text)}.metric-name .en{font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));color:var(--text-mute);margin-left:6px}.metric-bar{position:relative;height:5px;background:var(--surface-3);border-radius:2px;overflow:hidden}.metric-bar .fill{position:absolute;inset:0;width:0%;background:var(--text-dim);transition:width 90ms ease-out,background .2s}.metric-bar .max-mark{position:absolute;top:-2px;bottom:-2px;width:1px;background:var(--accent);left:0%;transition:left .2s ease}.metric-row.highlight .metric-bar .fill{background:var(--accent)}.metric-value{font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums}.metric-value .max{color:var(--accent);font-weight:500}.guided-body{padding:28px;display:none;flex-direction:column;gap:22px;max-height:720px;overflow-y:auto}.guided-body.active{display:flex}.metrics-body.hidden{display:none}.g-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px dashed var(--border-soft)}.g-task-num{font-family:var(--font-mono);font-size:calc(13px * var(--font-scale));letter-spacing:.18em;color:var(--text-mute);text-transform:uppercase}.g-task-num .accent{color:var(--accent)}.g-dots{display:flex;gap:4px}.g-dot{width:14px;height:5px;background:var(--surface-3);border-radius:1px;transition:background .22s}.g-dot.active{background:var(--accent)}.g-dot.done{background:var(--good);opacity:.7}.g-task-name{font-family:var(--font-serif);font-size:calc(44px * var(--font-scale));line-height:1.05;color:var(--text);margin-top:6px}.g-task-en{font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));letter-spacing:.18em;color:var(--text-mute);text-transform:uppercase;margin-top:6px}.g-instruction{font-size:calc(16px * var(--font-scale));color:var(--text-dim);margin-top:10px;line-height:1.5}.g-phase-box{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:3px;padding:24px;text-align:center;position:relative}.g-phase-box.hold{border-color:#dfb45a80}.g-phase-box.done{border-color:#7eb78b80}.g-phase-label{font-family:var(--font-mono);font-size:calc(13px * var(--font-scale));letter-spacing:.22em;text-transform:uppercase;color:var(--text-mute)}.g-phase-box.hold .g-phase-label{color:var(--accent)}.g-phase-box.done .g-phase-label{color:var(--good)}.g-timer{font-family:var(--font-serif);font-size:calc(92px * var(--font-scale));line-height:1;color:var(--text);margin:14px 0 18px;font-variant-numeric:tabular-nums}.g-phase-box.hold .g-timer{color:var(--accent)}.g-progress-bar{height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden}.g-progress-fill{height:100%;width:0%;background:var(--text-mute);transition:width 80ms linear}.g-phase-box.hold .g-progress-fill{background:var(--accent)}.g-gauges{display:flex;flex-direction:column;gap:10px}.g-gauges-title{font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));letter-spacing:.16em;color:var(--text-mute);text-transform:uppercase;margin-bottom:4px}.g-gauge{display:grid;grid-template-columns:140px 1fr 60px;align-items:center;gap:14px;padding:6px 0}.g-gauge-name{font-size:calc(14px * var(--font-scale));color:var(--text-dim)}.g-gauge-bar{position:relative;height:10px;background:var(--surface-3);border-radius:5px;overflow:hidden}.g-gauge-fill{position:absolute;inset:0;width:0%;background:linear-gradient(90deg,var(--accent-dim),var(--accent));transition:width 80ms;border-radius:5px}.g-gauge-mark{position:absolute;top:-1px;bottom:-1px;width:2px;background:var(--text);left:0%;transition:left .24s ease}.g-gauge-value{font-family:var(--font-mono);font-size:calc(13px * var(--font-scale));color:var(--accent);text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.g-gauges-empty{font-size:calc(14px * var(--font-scale));color:var(--text-mute);font-style:italic;padding:12px 0}.g-actions{display:flex;gap:10px;margin-top:4px}.tasks-panel{margin-bottom:24px}.tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;background:var(--border-soft);padding:1px}.task-card{background:var(--surface-1);padding:16px 18px;cursor:pointer;transition:background .12s;position:relative}.task-card:hover,.task-card.active{background:var(--surface-2)}.task-card.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent)}.task-num{font-family:var(--font-mono);font-size:calc(10px * var(--font-scale));color:var(--text-mute);letter-spacing:.12em}.task-name{font-size:calc(16px * var(--font-scale));margin-top:6px;color:var(--text)}.task-instruction{font-size:calc(12px * var(--font-scale));color:var(--text-mute);margin-top:6px;line-height:1.45;min-height:32px}.results-body{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:calc(14px * var(--font-scale))}thead th{font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));letter-spacing:.12em;text-transform:uppercase;color:var(--text-mute);text-align:left;padding:14px 20px;border-bottom:1px solid var(--border-soft);background:var(--surface-2);font-weight:400}thead th.num{text-align:right}tbody td{padding:12px 20px;border-bottom:1px solid var(--border-soft);color:var(--text)}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#ffffff04}td.num{font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums;color:var(--text-dim);font-size:calc(13px * var(--font-scale))}td.num.peak{color:var(--accent);font-weight:500}.asym-badge{display:inline-block;font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));padding:3px 10px;border-radius:100px;letter-spacing:.05em}.asym-badge.ok{background:#7eb78b1f;color:var(--good)}.asym-badge.mild{background:#dfb45a1f;color:var(--accent)}.asym-badge.high{background:#c97a5e26;color:var(--warn)}.asym-badge.noisy{background:var(--surface-3);color:var(--text-mute)}.empty-state{padding:60px 20px;text-align:center;color:var(--text-mute);font-size:calc(14px * var(--font-scale))}.empty-state .big{font-family:var(--font-serif);font-style:italic;font-size:calc(26px * var(--font-scale));color:var(--text-dim);margin-bottom:10px}footer{margin-top:40px;padding-top:24px;border-top:1px solid var(--border-soft);font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));color:var(--text-mute);letter-spacing:.08em;line-height:1.7;display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px}footer a{color:var(--text-dim);text-decoration:none;border-bottom:1px dotted var(--border)}footer a:hover{color:var(--accent);border-color:var(--accent)}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%) translateY(20px);background:var(--surface-2);border:1px solid var(--border);border-left:2px solid var(--accent);padding:14px 22px;font-family:var(--font-mono);font-size:calc(13px * var(--font-scale));color:var(--text);border-radius:2px;opacity:0;transition:all .24s ease;pointer-events:none;z-index:100}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:var(--surface-1)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--surface-3)}@media (max-width: 1100px){.layout{grid-template-columns:1fr}.app{padding:24px 20px 40px}.brand h1,.g-task-name{font-size:calc(36px * var(--font-scale))}.g-timer{font-size:calc(72px * var(--font-scale))}}.header-buttons{display:flex;gap:8px;margin-bottom:8px}.icon-btn{width:36px;height:36px;border:1px solid var(--border);background:transparent;color:var(--text-dim);border-radius:50%;font-size:calc(16px * var(--font-scale));font-family:var(--font-serif);cursor:pointer;transition:all .12s;padding:0;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.icon-btn-logout:hover{border-color:var(--danger);color:var(--danger)}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:2000}#medAuthModal,#sectionInfoModal,#baselineGalleryModal,#patientNewModal{z-index:2100}#patientDeleteConfirmModal{z-index:2600}.critical-modal{z-index:2500}.critical-modal .modal-panel{border-color:var(--danger);border-width:2px}.critical-modal .modal-head h2{color:var(--danger)}.critical-modal h3{margin:14px 0 4px;color:var(--accent);font-size:calc(13px * var(--font-scale))}.critical-modal ul{list-style:disc;padding-left:22px;color:var(--text-dim);font-size:calc(12px * var(--font-scale));line-height:1.6}.critical-lead{padding:10px 12px;background:#d65c5c1f;border-left:3px solid var(--danger);color:var(--text);font-size:calc(13px * var(--font-scale));line-height:1.5;margin-bottom:6px;white-space:pre-line}.critical-actions{margin-top:18px;display:flex;justify-content:flex-end}.modal.show{display:flex}.modal-backdrop{position:absolute;inset:0;background:#000000b3;backdrop-filter:blur(4px)}.modal-panel{position:relative;background:var(--surface-1);border:1px solid var(--border);border-radius:4px;width:90%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;z-index:1}.modal-panel-wide{max-width:900px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border-soft);background:var(--surface-2)}.modal-head h2{font-family:var(--font-serif);font-size:calc(28px * var(--font-scale));font-weight:400}.modal-close{background:transparent;color:var(--text-dim);border:none;font-size:calc(20px * var(--font-scale));cursor:pointer;padding:4px 10px;border-radius:2px}.modal-close:hover{color:var(--accent)}.modal-body{padding:20px 24px;overflow-y:auto}.modal-body section{margin-bottom:24px}.modal-body section:last-child{margin-bottom:0}.modal-body h3{font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.modal-body p,.modal-body li{font-size:calc(14px * var(--font-scale));color:var(--text-dim);line-height:1.6}.modal-body strong{color:var(--text)}.modal-body ul{padding-left:20px}.modal-body a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--border)}.modal-body a:hover{border-color:var(--accent)}.help-intro{margin-bottom:20px;padding:12px 14px;background:var(--surface-2);border-left:2px solid var(--accent);font-size:calc(13px * var(--font-scale))}.modal-body .tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1px;background:var(--border-soft);padding:1px}.orientation-lock{position:fixed;inset:0;background:var(--bg);z-index:2000;display:none;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:40px;text-align:center}.orientation-lock.show{display:flex}.orientation-icon{font-size:calc(64px * var(--font-scale));animation:rotate-hint 2s ease-in-out infinite}.orientation-title{font-family:var(--font-serif);font-size:calc(32px * var(--font-scale));color:var(--accent)}.orientation-desc{font-size:calc(16px * var(--font-scale));color:var(--text-dim);line-height:1.6;max-width:360px}@keyframes rotate-hint{0%,to{transform:rotate(0)}50%{transform:rotate(-90deg)}}.tablet-only{display:none}@media (max-width: 1024px){.layout{grid-template-columns:1fr}.metrics-panel{display:none}.metrics-panel.show{display:flex}.brand h1{font-size:calc(36px * var(--font-scale))}.tablet-only{display:inline-flex}}.face-guide-status{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:3;display:none;align-items:center;gap:10px;padding:9px 16px;background:#000000a6;backdrop-filter:blur(10px);border-radius:100px;border:1px solid rgba(255,255,255,.1);font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));letter-spacing:.06em;color:var(--text);max-width:90%}.face-guide-status.show{display:inline-flex}.face-guide-status .face-guide-dot{width:8px;height:8px;border-radius:50%;background:var(--text-mute);flex-shrink:0}.face-guide-status.ok .face-guide-dot{background:var(--good);box-shadow:0 0 8px #7eb78b99}.face-guide-status.warning .face-guide-dot{background:var(--accent)}.face-guide-status.error .face-guide-dot{background:var(--danger)}.camera-wrap.guided-active .face-guide-status{display:none}.phase-cue{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);z-index:4;display:none;pointer-events:none;text-align:center}.phase-cue.show{display:block}.phase-cue-text{font-family:var(--font-serif);font-size:calc(54px * var(--font-scale));color:var(--accent);text-shadow:0 2px 12px rgba(0,0,0,.9),0 0 28px rgba(0,0,0,.7);font-style:italic;font-weight:400;animation:cue-fade var(--cue-duration, .9s) ease-out}@keyframes cue-fade{0%{opacity:0;transform:scale(.92)}18%{opacity:1;transform:scale(1)}82%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}.camera-wrap:not(.guided-active) .phase-cue.show{display:none}.transition-banner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0009;z-index:25;opacity:0;pointer-events:none;transition:opacity .3s ease-out}.transition-banner.show{opacity:1}.transition-banner #transitionText{font-family:var(--font-mono);font-size:calc(28px * var(--font-scale));font-weight:500;color:var(--accent);letter-spacing:.1em;text-shadow:0 2px 8px rgba(0,0,0,.8)}@media (max-width: 768px){.transition-banner #transitionText{font-size:calc(22px * var(--font-scale))}}.camera-controls-stack{position:absolute;top:14px;right:14px;z-index:5;display:flex;flex-direction:column;gap:8px}.camera-overlay-btn{padding:8px 14px;background:#000000b3;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);color:var(--text);border-radius:100px;font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));letter-spacing:.08em;cursor:pointer;transition:all .12s;white-space:nowrap}.camera-overlay-btn:hover{border-color:var(--accent);color:var(--accent)}.camera-overlay-btn.active{border-color:#ff3030;color:#ff3030}.tip-list{padding-left:24px}.tip-list li{font-size:calc(14px * var(--font-scale));color:var(--text);line-height:1.8;margin-bottom:6px}.tip-list strong{color:var(--accent);font-weight:400}.status-list{list-style:none;padding:0}.status-list li{display:flex;align-items:center;gap:10px;padding:8px 0;color:var(--text);font-size:calc(14px * var(--font-scale))}.status-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.status-dot.green{background:var(--good);box-shadow:0 0 6px #7eb78b99}.status-dot.amber{background:var(--accent)}.status-dot.gray{background:var(--text-mute)}.task-detail-list{padding-left:20px;list-style:none}.task-detail-list li{font-size:calc(13px * var(--font-scale));color:var(--text-dim);line-height:1.7;padding:4px 0;position:relative}.task-detail-list li:before{content:"·";position:absolute;left:-14px;color:var(--accent)}.task-detail-list strong{color:var(--text);font-weight:400}.task-distinction{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.task-distinction-item{padding:14px;background:var(--surface-2);border-left:2px solid var(--accent);border-radius:2px}.task-distinction-item h4{font-family:var(--font-serif);font-size:calc(16px * var(--font-scale));font-style:italic;color:var(--accent);margin-bottom:8px}.task-distinction-item p{font-size:calc(13px * var(--font-scale));color:var(--text-dim);line-height:1.6;margin-bottom:6px}.task-distinction-meta{font-family:var(--font-mono);font-size:calc(11px * var(--font-scale))!important;letter-spacing:.04em;color:var(--text-mute)!important;margin-top:6px!important;margin-bottom:0!important}@media (max-width: 1024px){.task-distinction{grid-template-columns:1fr}}.task-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:12px}.task-image-grid-item{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:4px;overflow:hidden;transition:all .16s;cursor:pointer}.task-image-grid-item:hover{border-color:var(--accent);transform:translateY(-2px)}.task-image-grid-item img{width:100%;height:auto;display:block;background:#f7f5f2}.task-image-grid-item .label{padding:6px 8px;font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));color:var(--text-dim);letter-spacing:.04em;text-align:center;background:var(--surface-1)}.task-image-grid-item .label .num{color:var(--accent);margin-right:4px}@media (max-width: 768px){.task-image-grid{grid-template-columns:repeat(3,1fr)}}.auth-gate{position:fixed;inset:0;background:var(--bg);z-index:3000;display:none;align-items:center;justify-content:center}.auth-gate.show{display:flex}.auth-gate-panel{background:var(--surface-1);border:1px solid var(--border);border-radius:4px;padding:40px 36px;width:90%;max-width:360px;text-align:center}.auth-gate-panel h2{font-family:var(--font-serif);font-size:calc(40px * var(--font-scale));font-weight:400;margin-bottom:8px}.auth-gate-panel h2 em{color:var(--accent)}.auth-gate-desc{font-size:calc(13px * var(--font-scale));color:var(--text-dim);margin-bottom:24px}#authPassword{width:100%;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:4px;font-size:calc(15px * var(--font-scale));margin-bottom:12px;font-family:var(--font-mono)}#authPassword:focus{outline:none;border-color:var(--accent)}#authSubmit{width:100%;padding:12px;background:var(--accent);color:var(--bg);border:none;border-radius:4px;font-size:calc(14px * var(--font-scale));font-weight:500;cursor:pointer;font-family:var(--font-ui)}#authSubmit:disabled{opacity:.5;cursor:not-allowed}.auth-error{color:var(--danger);font-size:calc(12px * var(--font-scale));margin-top:10px;min-height:16px}.patient-controls{display:flex;gap:10px;margin-bottom:16px}.patient-search-input{flex:1;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:4px;font-size:calc(14px * var(--font-scale))}.patient-search-input:focus{outline:none;border-color:var(--accent)}.btn-primary,.btn-secondary{padding:10px 18px;border-radius:4px;font-size:calc(13px * var(--font-scale));font-family:var(--font-ui);cursor:pointer;border:1px solid;white-space:nowrap}.btn-primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.btn-secondary{background:transparent;color:var(--text-dim);border-color:var(--border)}.patient-list{max-height:400px;overflow-y:auto}.patient-list .patient-row{display:grid;grid-template-columns:1fr auto auto;border-bottom:1px solid var(--border-soft);cursor:pointer}.patient-section{display:flex;align-items:center;gap:10px;padding:14px 16px;transition:background .1s;border-right:1px solid var(--border-soft);white-space:nowrap}.patient-section:last-child{border-right:none}.patient-section[data-action]:not([data-action=""]){cursor:pointer}.patient-section[data-action]:not([data-action=""]):hover{background:var(--surface-2)}.patient-section[data-action=""]{cursor:default;opacity:.5}.section-id .chart{font-family:var(--font-mono);color:var(--accent);font-size:calc(13px * var(--font-scale))}.section-id .name{color:var(--text);font-weight:500;font-size:calc(13px * var(--font-scale))}.section-sessions{min-width:100px;justify-content:center}.session-count-label{font-family:var(--font-mono);font-size:calc(10px * var(--font-scale));color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase}.session-count-value{font-family:var(--font-mono);font-size:calc(18px * var(--font-scale));color:var(--text);font-variant-numeric:tabular-nums}.session-count-unit{font-size:calc(11px * var(--font-scale));color:var(--text-dim)}.section-base{min-width:80px;justify-content:center}.section-base .base-icon{width:16px;height:16px;color:var(--text-dim)}.section-base[data-action=base] .base-icon{color:var(--accent)}.section-base .base-count{font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));color:var(--text)}.patient-empty{padding:40px;text-align:center;color:var(--text-mute)}.new-patient-form{background:var(--surface-2);padding:24px;border-radius:4px;margin-top:16px}.new-patient-form h3{font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}.form-row{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center;margin-bottom:14px}.form-row label{font-size:calc(13px * var(--font-scale));color:var(--text-dim)}.form-row label .required{color:var(--danger)}.form-row input{padding:10px 12px;background:var(--surface-1);border:1px solid var(--border);color:var(--text);border-radius:4px;font-size:calc(14px * var(--font-scale))}.form-row input:focus{outline:none;border-color:var(--accent)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.form-error{color:var(--danger);font-size:calc(12px * var(--font-scale));margin-top:8px;min-height:16px}@media (max-width: 1024px){.form-row{grid-template-columns:1fr;gap:6px}.patient-list .patient-row{grid-template-columns:1fr auto auto}.patient-section{padding:12px}.section-sessions{min-width:80px}.section-base{min-width:60px}.patient-row .meta{display:none}}.control-dropdown{position:relative;display:inline-block}.dropdown-toggle{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:4px;font-family:var(--font-mono);font-size:calc(13px * var(--font-scale));cursor:pointer;transition:all .12s}.dropdown-toggle:hover{border-color:var(--accent)}.dropdown-arrow{font-size:.7em;opacity:.5;margin-left:4px}.dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;background:var(--surface-1);border:1px solid var(--border);border-radius:4px;min-width:240px;z-index:100;padding:6px 0;box-shadow:0 8px 24px #00000080}.dropdown-menu.hidden{display:none}.dropdown-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border:none;background:transparent;color:var(--text);width:100%;text-align:left;cursor:pointer;font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));border-radius:0}.dropdown-item:hover{background:var(--surface-2)}.dropdown-divider{border-top:1px solid var(--border-soft);margin:4px 0}.dropdown-section{padding:10px 14px}.dropdown-section label{display:block;font-family:var(--font-mono);font-size:calc(10px * var(--font-scale));color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}.dropdown-section select{width:100%;padding:8px 10px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:3px;font-family:var(--font-mono);font-size:calc(12px * var(--font-scale))}.tolerance-buttons{display:flex;gap:4px}.tol-btn{flex:1;padding:6px 8px;background:var(--surface-1);border:1px solid var(--border);color:var(--text-dim);border-radius:3px;font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));cursor:pointer}.tol-btn:hover:not(.active){border-color:var(--accent)}.history-list{max-height:500px;overflow-y:auto}.history-row.simple{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-soft);font-size:calc(13px * var(--font-scale))}.base-row.simple{display:grid;grid-template-columns:1fr auto auto auto;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-soft);font-size:calc(13px * var(--font-scale))}.base-row.simple .base-date{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-row.simple .btn-row-view-base,.base-row.simple .btn-row-delete{flex-shrink:0}.history-date,.base-row.simple .base-date{font-family:var(--font-mono);color:var(--text)}.base-row.simple .base-active-slot{min-width:80px;text-align:right}.btn-row-delete{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:4px;transition:color .12s;display:flex;align-items:center;justify-content:center}.btn-row-delete svg{width:16px;height:16px}.btn-row-delete:hover{color:var(--danger)}.history-empty{padding:40px;text-align:center;color:var(--text-mute)}.data-actions{display:flex;gap:10px;margin:12px 0}.data-status{margin-top:10px;padding:10px 14px;background:var(--surface-2);border-radius:4px;font-size:calc(12px * var(--font-scale));color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.04em}.data-status strong{color:var(--accent);margin:0 2px}.mode-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:4px;font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));letter-spacing:.1em;font-weight:600;margin-bottom:8px}.mode-badge-demo{background:var(--warn);color:var(--bg)}.mode-display{padding:12px 16px;background:var(--surface-2);border-radius:4px;font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));margin-bottom:12px;display:flex;align-items:center;gap:10px}.mode-display.clinical{border-left:3px solid var(--good)}.mode-display.demo{border-left:3px solid var(--warn)}.mode-display .mode-icon{font-size:calc(16px * var(--font-scale))}.mode-display .mode-label{flex:1}.mode-display .mode-label strong{color:var(--text);display:block;margin-bottom:2px}.mode-display .mode-label .mode-sub{color:var(--text-dim);font-size:calc(11px * var(--font-scale))}.mode-help{font-size:calc(11px * var(--font-scale));color:var(--text-dim);margin-top:10px;line-height:1.5}.section-info-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:8px;padding:0;background:transparent;border:1px solid transparent;border-radius:50%;color:var(--text-dim);cursor:pointer;vertical-align:middle;transition:color .12s,border-color .12s}.section-info-btn:hover{color:var(--accent);border-color:var(--accent)}.section-info-btn svg{width:14px;height:14px;pointer-events:none}#sectionInfoBody{white-space:pre-wrap;line-height:1.6;color:var(--text-dim);font-size:calc(13px * var(--font-scale))}.diag-head-actions{display:flex;align-items:center;gap:6px}.btn-small{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:6px 10px;border-radius:3px;font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));cursor:pointer;white-space:nowrap;transition:border-color .12s,color .12s}.btn-small:hover{border-color:var(--accent);color:var(--accent)}.diag-output{background:var(--surface-2);padding:12px;border-radius:4px;font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));color:var(--text);overflow-x:auto;white-space:pre;max-height:300px;overflow-y:auto;line-height:1.55}.anchor-info{font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));color:var(--text-mute);letter-spacing:.03em;text-align:right;padding:6px 0}.anchor-info.has-anchor{color:var(--good)}.build-time-display{font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));color:var(--text);letter-spacing:.05em;padding:6px 0}.storage-status{margin-bottom:12px;display:flex;flex-direction:column;gap:4px}.storage-warn{padding:8px 10px;background:#ef444426;border-left:3px solid var(--danger);color:var(--danger);font-size:calc(12px * var(--font-scale));border-radius:3px;line-height:1.4}.storage-line{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:calc(12px * var(--font-scale));color:var(--text-dim);font-family:var(--font-mono)}.storage-line strong{color:var(--text)}.storage-line .storage-quota{color:var(--text-mute)}.storage-badge{display:inline-block;margin-left:8px;padding:2px 8px;font-size:calc(10px * var(--font-scale));border-radius:3px;letter-spacing:.05em;font-weight:600}.storage-badge.good{background:var(--good);color:#14110e}.storage-badge.warn{background:var(--warn);color:#14110e}.settings-note{margin-top:10px;font-size:calc(11px * var(--font-scale));color:var(--text-dim);line-height:1.5;padding-left:8px;border-left:2px solid var(--border-soft)}.med-auth-warn{padding:10px 14px;background:var(--surface-2);border-left:3px solid var(--warn);color:var(--text-dim);font-size:calc(12px * var(--font-scale));border-radius:0 4px 4px 0;margin:12px 0 16px;line-height:1.5}#medAuthPassword{width:100%;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:4px;font-size:calc(15px * var(--font-scale));margin-bottom:12px;font-family:var(--font-mono);letter-spacing:.1em}#medAuthPassword:focus{outline:none;border-color:var(--accent)}#medAuthSubmit{width:100%;padding:12px}.med-auth-error{color:var(--danger);font-size:calc(12px * var(--font-scale));margin-top:10px;min-height:16px}.base-history-list{max-height:500px;overflow-y:auto}.base-row.simple.active{background:#dfb45a14}.base-active-badge{display:inline-block;padding:2px 8px;font-family:var(--font-mono);font-size:calc(10px * var(--font-scale));background:var(--good);color:var(--bg);border-radius:2px;letter-spacing:.06em}#btnCalibrate{width:auto;height:auto;border-radius:4px;font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));padding:8px 12px;letter-spacing:.04em;white-space:nowrap}.calib-panel{position:absolute;top:calc(45% - 27px);left:50%;transform:translate(-50%,-100%);z-index:50;background:transparent;border:none;padding:0;pointer-events:none}.calib-values{display:flex;flex-direction:column;align-items:center;gap:2px;color:#fff;font-family:var(--font-mono);font-size:calc(14px * var(--font-scale));font-weight:600;font-variant-numeric:tabular-nums;text-shadow:0 2px 8px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.9)}.calib-line{white-space:nowrap;line-height:1.25}.calib-count{color:var(--accent)}.calib-panel.aligned .calib-values{color:#ffe26a}.calib-panel.captured .calib-values{color:var(--good)}.control-row{display:flex;align-items:center;gap:10px;padding:10px max(24px,env(safe-area-inset-right)) 10px max(24px,env(safe-area-inset-left));background:var(--surface-1);border-top:1px solid var(--border)}.ctrl-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:4px;font-family:var(--font-mono);font-size:calc(13px * var(--font-scale));letter-spacing:.04em;cursor:pointer;transition:all .12s}.ctrl-btn:hover:not(:disabled){border-color:var(--accent)}.ctrl-btn:disabled,.icon-btn:disabled{opacity:.35;cursor:not-allowed;background:var(--surface-2);color:var(--text-mute);border-color:var(--border);font-weight:400;box-shadow:none}.ctrl-btn:disabled:hover,.icon-btn:disabled:hover{filter:none;border-color:var(--border)}.ctrl-btn.primary,.ctrl-btn.btn-primary-action,.icon-btn.btn-primary-action{background:var(--accent);border-color:var(--accent);color:#14110e;font-weight:600;box-shadow:0 0 0 2px #dfb45a40}.ctrl-btn.btn-primary-action:hover:not(:disabled),.icon-btn.btn-primary-action:hover:not(:disabled){filter:brightness(1.08)}.ctrl-btn.btn-danger-action{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600;box-shadow:0 0 0 2px #ef444440}.ctrl-btn.btn-danger-action:hover:not(:disabled){filter:brightness(1.08)}.ctrl-btn.btn-primary-action:disabled,.icon-btn.btn-primary-action:disabled,.ctrl-btn.btn-danger-action:disabled{background:var(--surface-2);border-color:var(--border);color:var(--text-mute);font-weight:400;box-shadow:none;opacity:.35;cursor:not-allowed}.ctrl-spacer{flex:1}.cam-led{width:8px;height:8px;border-radius:50%;background:var(--text-mute);transition:all .2s}.cam-led.on{background:var(--good);box-shadow:0 0 6px var(--good)}.live-toggle-bar{display:flex;justify-content:flex-start;padding:8px max(16px,env(safe-area-inset-right)) 8px max(20px,env(safe-area-inset-left));background:var(--surface-1);border-top:1px solid var(--border-soft)}.patient-row{display:flex;align-items:center;gap:10px;padding:8px max(24px,env(safe-area-inset-right)) 8px max(24px,env(safe-area-inset-left));background:var(--surface-1);border-top:1px solid var(--border-soft)}.patient-row .icon-btn{width:auto;height:auto;padding:8px 14px;border-radius:4px;font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));letter-spacing:.04em;white-space:nowrap}.patient-row .icon-btn:disabled{opacity:.4;cursor:not-allowed}.mode-badge{margin:0}@media (max-width: 768px){.topbar{padding:max(8px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));min-height:46px}.control-row{padding:8px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left))}.patient-row{padding:6px max(16px,env(safe-area-inset-right)) 6px max(16px,env(safe-area-inset-left))}.ctrl-btn{padding:10px 14px;font-size:calc(12px * var(--font-scale))}}.settings-row{display:grid;grid-template-columns:200px 1fr;align-items:center;gap:16px;margin-bottom:14px}.settings-row label{font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));color:var(--text-dim);letter-spacing:.04em}.settings-hint{display:block;margin-top:2px;font-size:calc(10px * var(--font-scale));color:var(--text-mute);letter-spacing:0}.settings-select{padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:4px;font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));width:100%}.settings-buttons{display:flex;gap:4px}.seg-btn{flex:1;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);border-radius:3px;font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));cursor:pointer;transition:all .12s}.seg-btn:hover:not(.active){border-color:var(--accent);color:var(--text)}.seg-btn.active,.tol-btn.active,.tempo-btn.active,.font-btn.active,.gallery-task-btn.active{background:var(--accent);border-color:var(--accent);color:#14110e;font-weight:500}.seg-btn.active:hover,.tol-btn.active:hover,.tempo-btn.active:hover,.font-btn.active:hover,.gallery-task-btn.active:hover{color:#14110e}@media (max-width: 768px){.settings-row{grid-template-columns:1fr;gap:6px}}.task-list-info{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin:12px 0}.task-item-info{padding:6px 0;font-size:calc(12px * var(--font-scale));color:var(--text-dim);line-height:1.5}.task-item-info strong{color:var(--text);font-family:var(--font-mono);letter-spacing:.04em;margin-right:4px}.info-meta{margin-top:16px;font-size:calc(11px * var(--font-scale));color:var(--text-mute);font-family:var(--font-mono)}@media (max-width: 768px){.task-list-info{grid-template-columns:1fr}}.zone-def-anchor{position:relative;display:inline-flex;align-items:center}.zone-def-panel{position:absolute;top:100%;right:0;margin-top:4px;padding:12px;background:#14110ef2;border:1px solid var(--border);border-radius:8px;z-index:100;min-width:280px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.zone-def-panel[hidden]{display:none}.zone-def-anchor-up .zone-def-panel{top:auto;bottom:100%;margin-top:0;margin-bottom:4px}.zone-def-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-family:var(--font-ui);font-size:calc(11px * var(--font-scale));color:var(--text);font-weight:600}.zone-def-all-group{display:inline-flex;gap:4px}.zone-def-all{padding:3px 8px;font-family:var(--font-ui);font-size:calc(10px * var(--font-scale));background:var(--surface-2);border:1px solid var(--border);border-radius:4px;color:var(--text-dim);cursor:pointer;appearance:none;-webkit-appearance:none;touch-action:manipulation}.zone-def-all:hover{border-color:var(--accent);color:var(--accent)}.zone-def-collapse{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;font-size:calc(13px * var(--font-scale));line-height:1;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-dim);cursor:pointer;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.zone-def-collapse:hover{border-color:var(--accent);color:var(--accent)}.zone-def-toggles{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.zone-def-toggle{padding:6px 4px;font-family:var(--font-ui);font-size:calc(10px * var(--font-scale));background:var(--surface-2);border:1px solid var(--border);border-radius:4px;color:var(--text-dim);cursor:pointer;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .12s,border-color .12s,color .12s}.zone-def-toggle[aria-pressed=true],.zone-def-toggle[aria-pressed=true]:focus,.zone-def-toggle[aria-pressed=true]:hover{background:var(--accent);border-color:var(--accent);color:#000}.float-stack{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:8px;z-index:30}.live-patient-indicator{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#fff;font-family:var(--font-ui);font-size:calc(13px * var(--font-scale));z-index:10}.live-patient-indicator[hidden]{display:none}.live-patient-indicator .indicator-icon{color:var(--color-accent-yellow);font-size:8px}.live-patient-indicator .indicator-name{font-weight:500;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-patient-indicator{cursor:pointer}.indicator-confirm{position:absolute;top:56px;left:16px;display:flex;gap:4px;padding:6px;background:#141414f2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:0 8px 24px #00000080;z-index:20}.indicator-confirm[hidden]{display:none}.indicator-confirm-btn{padding:6px 14px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#fff;font-family:var(--font-ui);font-size:calc(13px * var(--font-scale));font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .15s,color .15s,border-color .15s}.indicator-confirm-btn:hover{background:#ffffff1f}.indicator-confirm-btn.danger{color:#fca5a5;border-color:#d65c5c66}.indicator-confirm-btn.danger:hover{background:#d65c5c2e;color:#fee2e2}.live-actions{position:absolute;bottom:24px;right:24px;display:flex;align-items:flex-end;gap:16px;z-index:10;pointer-events:auto}.live-action-stack{display:flex;flex-direction:column;align-items:center;gap:12px}.patient-manage-btn{width:60px;height:60px;border-radius:50%;background:#000000a6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,transform .1s;box-shadow:0 4px 16px #0000004d;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.patient-manage-btn:hover{background:#000c}.patient-manage-btn:active{transform:scale(.94)}.patient-manage-btn svg{width:26px;height:26px;pointer-events:none}.menu-popup{position:absolute;bottom:172px;right:24px;background:#141414f2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:6px;min-width:180px;box-shadow:0 12px 32px #00000080;z-index:20;animation:menuPopupIn .15s ease}.menu-popup[hidden]{display:none}.menu-popup[data-add-popup]{bottom:92px}.menu-popup[data-menu-popup]{bottom:164px}@keyframes menuPopupIn{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.menu-popup-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;background:transparent;border:none;border-radius:8px;color:#ffffffe6;font-family:var(--font-ui);font-size:calc(14px * var(--font-scale));font-weight:500;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .1s}.menu-popup-item:hover{background:#ffffff14}.menu-popup-item:active{background:#ffffff1f}.menu-popup-item .menu-icon{width:18px;height:18px;flex-shrink:0}.modal-panel-patient-list{max-width:480px}.patient-list-search{display:flex;margin-bottom:10px}.patient-list-ul{list-style:none;margin:0;padding:0}.patient-list-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:6px;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .15s}.patient-list-item:hover{background:var(--surface-2)}.patient-list-item:active{background:var(--surface-3)}.patient-info{flex:1;min-width:0}.patient-name{color:var(--text);font-family:var(--font-ui);font-size:calc(15px * var(--font-scale));font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-meta{color:var(--text-mute);font-family:var(--font-mono);font-size:calc(13px * var(--font-scale));margin-top:2px}.patient-last-capture{color:var(--text-mute);font-size:calc(12px * var(--font-scale));flex-shrink:0;font-variant-numeric:tabular-nums}.patient-list-empty,.patient-list-no-results{padding:40px 20px;text-align:center;color:var(--text-mute);font-size:calc(14px * var(--font-scale))}.patient-list-empty .hint{margin-top:8px;font-size:calc(13px * var(--font-scale));color:var(--text-mute)}.patient-list-limit-hint{list-style:none;text-align:center;padding:12px 8px 4px;font-size:calc(12px * var(--font-scale));color:var(--text-mute)}.modal-panel-patient-new{max-width:420px}.dark-date{color-scheme:dark;-webkit-appearance:none;appearance:none}.sex-radio-group{display:flex;gap:8px}.sex-radio-item{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;background:var(--surface-1);border:1px solid var(--border);border-radius:4px;color:var(--text-dim);font-size:calc(14px * var(--font-scale));cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .15s,color .15s,border-color .15s}.sex-radio-item:has(input:checked){background:var(--accent);border-color:var(--accent);color:#000;font-weight:600}.sex-radio-item input{position:absolute;opacity:0;pointer-events:none}.patient-manage-item{gap:8px;cursor:default}.patient-manage-item:hover{background:transparent}.patient-info-clickable{cursor:pointer;padding:4px 6px;margin:-4px -6px;border-radius:6px;transition:background .15s}.patient-info-clickable:hover{background:var(--surface-2)}.patient-info-clickable:active{background:var(--surface-3)}.patient-name-row{display:flex;align-items:baseline;gap:8px;min-width:0}.patient-name-row .patient-name{min-width:0}.patient-total-count{flex-shrink:0;background:var(--surface-1);color:var(--text-dim);padding:2px 8px;border-radius:999px;font-size:calc(11px * var(--font-scale));font-weight:600;font-variant-numeric:tabular-nums}.patient-row-actions{display:flex;gap:6px;flex-shrink:0}.patient-action-btn{padding:6px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;color:var(--text-dim);font-family:var(--font-ui);font-size:calc(13px * var(--font-scale));cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .15s,color .15s,border-color .15s}.patient-action-btn:hover{background:var(--surface-3);color:var(--text)}.patient-action-btn.danger{color:#fca5a5;border-color:#d65c5c66}.patient-action-btn.danger:hover{background:#d65c5c2e;color:#fee2e2}.modal-panel-confirm{position:relative;z-index:1;width:90%;max-width:360px;background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:24px}.confirm-title{margin:0 0 12px;font-family:var(--font-serif);font-size:calc(22px * var(--font-scale));font-weight:400;color:var(--text)}.confirm-message{margin:0 0 20px;font-size:calc(14px * var(--font-scale));line-height:1.6;color:var(--text-dim)}.confirm-warning{color:#fca5a5;font-weight:600}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.modal-panel-measurement-records{max-width:600px;max-height:85vh}.records-tabs{display:flex;gap:6px;padding:10px 16px;border-bottom:1px solid var(--border-soft)}.records-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-family:var(--font-ui);font-size:calc(14px * var(--font-scale));font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .15s,color .15s,border-color .15s}.records-tab:hover:not(.disabled):not([aria-pressed=true]){border-color:var(--accent)}.records-tab[aria-pressed=true],.records-tab[aria-pressed=true]:focus,.records-tab[aria-pressed=true]:hover{background:var(--accent);border-color:var(--accent);color:#000}.records-tab.disabled{opacity:.4;cursor:not-allowed}.records-tab-count{background:var(--surface-1);color:var(--text-dim);padding:2px 8px;border-radius:999px;font-size:calc(12px * var(--font-scale));font-variant-numeric:tabular-nums}.records-tab[aria-pressed=true] .records-tab-count{background:#00000026;color:#000000b3}.records-body{padding:12px 16px 16px}.records-accordion{display:flex;flex-direction:column;gap:8px}.records-accordion-item{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:background .15s}.records-accordion-item.expanded{background:var(--surface-3)}.records-accordion-item.empty{opacity:.45}.records-accordion-header{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:transparent;border:none;color:var(--text);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-family:var(--font-ui)}.records-accordion-header:hover:not(:disabled){background:#ffffff0a}.records-accordion-item.empty .records-accordion-header{cursor:default}.records-accordion-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--surface-3);border-radius:8px;font-size:calc(20px * var(--font-scale))}.records-accordion-label{flex:1;font-weight:600;font-size:calc(15px * var(--font-scale))}.records-accordion-count{flex-shrink:0;background:var(--surface-3);color:var(--text-dim);padding:3px 10px;border-radius:999px;font-size:calc(12px * var(--font-scale));font-weight:600;font-family:var(--font-mono)}.records-accordion-chevron{flex-shrink:0;color:var(--text-mute);font-size:calc(18px * var(--font-scale));transition:transform .2s ease}.records-accordion-item.expanded .records-accordion-chevron{transform:rotate(90deg)}.records-accordion-content{padding:0 10px 10px}.records-accordion-item.expanded .records-accordion-content{animation:accordionExpand .2s ease}@keyframes accordionExpand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.records-accordion-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.records-accordion-empty{padding:14px;text-align:center;color:var(--text-mute);font-size:calc(13px * var(--font-scale))}.capture-toast{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;pointer-events:none;animation:toastFadeInOut 2s ease}.capture-toast[hidden]{display:none}.capture-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:30;transition:opacity .05s ease}.capture-toast-message{background:#000000d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#22c55e;padding:16px 28px;border-radius:12px;font-size:calc(22px * var(--font-scale));font-weight:700;letter-spacing:.05em;border:1px solid rgba(34,197,94,.3);box-shadow:0 8px 24px #00000080}@keyframes toastFadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}15%{opacity:1;transform:translate(-50%,-50%) scale(1)}85%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.05)}}.records-item-checkbox{flex-shrink:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.records-item-checkbox .checkbox-visual{position:relative;width:18px;height:18px;border-radius:50%;border:2px solid var(--text-mute);background:transparent;transition:border-color .15s,background .15s}.records-item-checkbox.checked .checkbox-visual{border-color:var(--accent);background:var(--accent)}.records-item-checkbox.checked .checkbox-visual:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background:#1a1a1a}.records-list-item.active-baseline{background:#f59e0b1a;border-color:#f59e0b4d}.active-badge{display:inline-block;margin-left:6px;padding:1px 8px;background:var(--accent);color:#1a1a1a;font-size:calc(10px * var(--font-scale));font-weight:700;border-radius:999px;vertical-align:middle}.records-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.records-list-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .15s,border-color .15s,transform .1s}.records-list-item:hover{background:var(--surface-3);border-color:var(--accent)}.records-list-item:active{transform:scale(.99)}.records-item-date{flex-shrink:0;color:var(--text);font-family:var(--font-mono);font-size:calc(14px * var(--font-scale));font-weight:600;font-variant-numeric:tabular-nums}.records-item-time{color:var(--text-mute);font-weight:400}.records-item-info{flex:1;min-width:0;color:var(--text-dim);font-size:calc(13px * var(--font-scale));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.records-item-arrow{flex-shrink:0;color:var(--text-mute);font-size:calc(18px * var(--font-scale))}.records-item-delete{flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:6px;font-size:calc(16px * var(--font-scale));line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .15s,border-color .15s}.records-item-delete:hover{background:#d65c5c2e;border-color:#d65c5c59}.records-empty{padding:40px 20px;text-align:center;color:var(--text-mute);font-size:calc(14px * var(--font-scale))}.modal-panel-capture-start{max-width:480px}.capture-start-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.capture-mode-card{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .15s,border-color .15s,transform .1s}.capture-mode-card:hover{background:var(--surface-3);border-color:var(--accent)}.capture-mode-card:active{transform:scale(.99)}.capture-mode-card.dev{opacity:.5;cursor:not-allowed}.capture-mode-card.dev:hover{background:var(--surface-2);border-color:var(--border)}.capture-mode-card-icon{flex-shrink:0;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--surface-1);border-radius:10px;font-size:calc(22px * var(--font-scale))}.capture-mode-card-info{flex:1;min-width:0}.capture-mode-card-label{color:var(--text);font-family:var(--font-ui);font-size:calc(16px * var(--font-scale));font-weight:600;margin-bottom:2px}.capture-mode-card-desc{color:var(--text-mute);font-size:calc(13px * var(--font-scale))}.capture-mode-card-arrow{flex-shrink:0;color:var(--text-mute);font-size:calc(20px * var(--font-scale))}.capture-mode-card-badge{flex-shrink:0;background:#d65c5c26;color:#fca5a5;border:1px solid rgba(214,92,92,.25);padding:3px 8px;border-radius:999px;font-size:calc(11px * var(--font-scale));font-weight:600}.patient-new-fab{width:60px;height:60px;border-radius:50%;background:var(--color-accent-yellow);border:none;color:#000;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .15s,box-shadow .2s;box-shadow:0 6px 16px #ffe60066,0 2px 4px #0003}.patient-new-fab:hover{transform:translateY(-2px);box-shadow:0 10px 20px #ffe60080,0 3px 6px #00000040}.patient-new-fab:active{transform:translateY(0) scale(.94)}.patient-new-fab .fab-icon{width:28px;height:28px;display:block;pointer-events:none}.mesh-mode-picker{position:relative}.mesh-mode-trigger{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:#141210b3;border:1px solid rgba(255,255,255,.12);border-radius:22px;color:var(--text);font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .12s}.mesh-mode-trigger:hover,.mesh-mode-trigger[aria-expanded=true]{background:#282420d9;border-color:var(--accent)}.mesh-mode-trigger svg{pointer-events:none;flex-shrink:0}.mesh-mode-label{min-width:64px;text-align:left}.mesh-mode-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:160px;background:#141210f2;border:1px solid var(--border);border-radius:6px;overflow:hidden;box-shadow:0 8px 20px #00000080;z-index:100;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:meshMenuSlide .15s ease-out}.mesh-mode-menu.menu-up{top:auto;bottom:calc(100% + 6px);animation:meshMenuSlideUp .15s ease-out}@keyframes meshMenuSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes meshMenuSlideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.mesh-mode-picker-gallery .mesh-mode-trigger{background:#14110ed9;border-color:#ffffff26}.mesh-controls{display:inline-flex;align-items:center;gap:6px;padding:4px;background:var(--surface-2);border-radius:6px}.mesh-toggle-btn{min-width:46px;padding:6px 10px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-dim);font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));font-weight:600;letter-spacing:.03em;text-align:center;cursor:pointer;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:border-color .12s,background .12s}.mesh-toggle-btn:hover:not([aria-pressed=true]){border-color:var(--accent)}.mesh-toggle-btn:focus{outline:none}.mesh-toggle-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mesh-toggle-btn[aria-pressed=true],.mesh-toggle-btn[aria-pressed=true]:focus,.mesh-toggle-btn[aria-pressed=true]:hover{background:var(--accent);border-color:var(--accent);color:#14110e}.mesh-type-select{min-width:0;padding:7px 24px 7px 12px;background-color:var(--surface-1);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='2,2 6,6 10,2'/></svg>");background-repeat:no-repeat;background-position:right 8px center;background-size:10px 7px;appearance:none;-webkit-appearance:none;-moz-appearance:none;border:1px solid var(--border);border-radius:4px;color:var(--text);font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));font-weight:500;cursor:pointer}.mesh-type-select:hover{border-color:var(--accent)}.mesh-mode-option{display:block;width:100%;padding:10px 14px;background:transparent;border:none;border-bottom:1px solid var(--border-soft);color:var(--text);font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));text-align:left;cursor:pointer}.mesh-mode-option:last-child{border-bottom:none}.mesh-mode-option:hover{background:#ffffff0a}.mesh-mode-option.active{background:var(--accent);color:#14110e;font-weight:600}.float-btn{width:44px;height:44px;padding:0;border-radius:50%;background:#141210b3;border:1px solid rgba(255,255,255,.12);color:var(--text);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .12s}.float-btn:hover{background:#282420d9;border-color:var(--accent)}.float-btn:active{transform:scale(.95)}.float-btn.active{background:var(--accent);color:#14110e;border-color:var(--accent)}.float-btn svg{width:20px;height:20px;pointer-events:none}@media (max-width: 768px){.float-stack{top:8px;right:8px;gap:6px}.float-btn{width:40px;height:40px;font-size:16px}.float-btn svg{width:18px;height:18px}}.btn-with-icon{display:inline-flex;align-items:center;gap:6px}.btn-with-icon svg{width:14px;height:14px;flex-shrink:0;pointer-events:none}.task-guide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:12px}.task-guide-item{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:4px;overflow:hidden}.task-guide-item img{width:100%;height:auto;display:block;background:#f7f5f2}.task-guide-label{padding:6px 8px;font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));color:var(--text-dim);display:flex;gap:6px;align-items:center}.task-guide-num{color:var(--accent);font-weight:600;min-width:18px}@media (max-width: 768px){.task-guide-grid{grid-template-columns:repeat(3,1fr)}}.status-strip{display:none;align-items:center;gap:10px;padding:8px max(24px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:var(--surface-2);border-top:1px solid var(--border-soft);font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));min-height:36px;transition:background .2s}.status-strip.flashing{background:#dfb45a26}.status-strip-message{flex:1;display:flex;align-items:center;gap:10px;letter-spacing:.04em;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-time{color:var(--text-mute);font-variant-numeric:tabular-nums;flex-shrink:0}.status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot.status-info{background:var(--text-dim)}.status-dot.status-success{background:var(--good)}.status-dot.status-warning{background:var(--warn)}.status-dot.status-error{background:var(--danger)}.status-msg{color:var(--text);overflow:hidden;text-overflow:ellipsis;flex:1}.status-empty{color:var(--text-mute);font-style:italic}.status-strip-toggle{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:4px 8px;display:flex;align-items:center;border-radius:3px;transition:all .12s}.status-strip-toggle:hover{background:var(--surface-1);color:var(--text)}.status-strip-toggle svg{width:14px;height:14px}.event-log-list{max-height:500px;overflow-y:auto}.event-row{display:grid;grid-template-columns:160px 16px 1fr;gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border-soft);font-size:calc(12px * var(--font-scale));font-family:var(--font-mono)}.event-time{color:var(--text-dim);font-variant-numeric:tabular-nums}.event-msg{color:var(--text)}@media (max-width: 768px){.status-strip{padding:6px max(16px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.event-row{grid-template-columns:130px 16px 1fr}}.modal-panel-gallery{max-width:min(1040px,96vw);height:90vh;max-height:90vh;touch-action:manipulation}.modal-panel-gallery .modal-head h2{font-size:calc(13px * var(--font-scale));font-weight:500;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.gallery-top-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:var(--surface-2);border-bottom:1px solid var(--border);min-height:48px;font-family:var(--font-ui);touch-action:manipulation}.top-bar-left{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0}.top-bar-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.top-bar-label{color:var(--color-white-60);font-family:var(--font-ui);font-size:calc(13px * var(--font-scale));font-weight:500;flex-shrink:0}.gallery-patient-id,.gallery-image-date{font-family:var(--font-ui);font-size:calc(12px * var(--font-scale));font-weight:400;color:var(--text-dim);flex-shrink:0;max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-image-date{font-variant-numeric:tabular-nums}.gallery-name-wrap{display:flex;align-items:center;gap:6px;flex-shrink:1;min-width:0}.task-filter-select{flex-shrink:0;touch-action:manipulation}.top-task-num-nav{display:flex;align-items:center;gap:6px;flex-shrink:0}.task-num-indicator{font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));color:var(--text-dim);font-variant-numeric:tabular-nums;min-width:48px;text-align:center}.task-name-select{flex-shrink:0;max-width:14ch;touch-action:manipulation}.modal-info{width:28px;height:28px;background:transparent;border:1px solid var(--color-white-15);border-radius:50%;color:var(--color-white-70);font-family:var(--font-ui);font-size:calc(13px * var(--font-scale));font-weight:600;font-style:italic;cursor:pointer;flex-shrink:0;touch-action:manipulation}.modal-info:hover{background:var(--color-white-08);color:var(--color-white);border-color:var(--color-white-30)}.gallery-close-btn{width:32px;height:32px;background:transparent;border:none;color:var(--text-dim);font-size:18px;cursor:pointer;border-radius:4px;flex-shrink:0;touch-action:manipulation}.gallery-close-btn:hover{background:var(--surface-3);color:var(--text)}.legend-modal-body{display:flex;flex-direction:column;gap:18px;max-height:70vh;overflow-y:auto}.legend-modal-body section h3{font-family:var(--font-ui);font-size:calc(13px * var(--font-scale));font-weight:600;color:var(--accent);margin-bottom:8px;letter-spacing:.02em}.legend-modal-body section p{font-size:calc(13px * var(--font-scale));color:var(--text-dim);line-height:1.55;margin:4px 0}.legend-modal-body section p strong{color:var(--text);font-weight:600;margin-right:4px}.legend-modal-items{display:flex;flex-direction:column;gap:8px;font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));color:var(--text-dim)}.legend-modal-items>span{display:inline-flex;align-items:center;gap:10px;padding:2px 0}.legend-modal-items .legend-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}.gallery-body{flex:1;display:flex;flex-direction:column;gap:0;row-gap:0;padding:0;min-height:0;overflow:hidden}.gallery-main{display:flex;flex:1;align-items:stretch;min-height:0;overflow:hidden;padding:12px;gap:12px;margin-bottom:0}.gallery-image-area{position:relative;flex:1;align-self:stretch;height:100%;display:flex;flex-direction:column;min-width:0;min-height:0;padding:12px 0;gap:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;overflow:hidden}.gallery-image-middle{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}.ypr-overlay{position:relative}.ypr-indicator{display:flex;align-items:center;height:var(--size-btn-pill);padding:var(--space-xs) var(--space-md);background:var(--color-overlay-glass);border:1px solid var(--color-overlay-border);border-radius:var(--radius-md);color:var(--color-accent-yellow-strong);font-family:var(--font-ui);font-size:calc(13px * var(--font-scale));font-weight:700;letter-spacing:.5px;line-height:1;white-space:nowrap;cursor:pointer;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .12s,border-color .12s,color .12s}.ypr-indicator[aria-expanded=true]{background:var(--color-accent-yellow-strong);border-color:var(--color-accent-yellow);color:#14110e}.advanced-mode-row{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);flex-shrink:0}.advanced-row-divider{width:1px;height:20px;background:var(--color-white-15)}.bottom-bar-divider{width:1px;height:20px;background:var(--color-white-15);margin:0 6px;flex-shrink:0}.advanced-pair-selector{display:flex;gap:var(--space-xs)}.advanced-pair-selector[hidden]{display:none}.pair-select-btn{font-weight:600}.advanced-pair-actions{display:flex;gap:var(--space-xs)}.advanced-pair-actions[hidden]{display:none}.gallery-top-metric{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:20px;padding:0}.top-metric-item{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-ui);font-size:calc(13px * var(--font-scale))}.top-metric-label{color:var(--color-white-60);font-weight:500;white-space:nowrap}.top-metric-suffix{display:inline;margin-left:4px;color:var(--color-white-50);font-size:.78em;font-weight:400;visibility:hidden}.top-metric-suffix.visible{visibility:visible}.top-metric-value{font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-accent-yellow-strong);min-width:50px;text-align:right}.top-metric-value.positive{color:var(--gauge-positive)}.top-metric-value.negative{color:var(--gauge-negative)}.top-metric-value.neutral{color:var(--gauge-neutral)}.pair-select-btn>*,.pair-action-btn>*,.basic-tab>*{display:inline-block;text-align:center}.pair-action-compare{border-style:dashed}.gallery-image-canvas-wrap{position:relative;display:inline-block;height:100%;max-width:100%;background:#000;border-radius:4px;overflow:hidden;line-height:0;touch-action:none;user-select:none;-webkit-user-select:none}body.gallery-fullscreen{overflow:hidden}.gallery-fullscreen-overlay{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;margin:0;padding:0;background:#000;z-index:9999;display:flex;align-items:center;justify-content:center}.gallery-fullscreen-overlay[hidden]{display:none!important}.gallery-fullscreen-overlay .gallery-image-canvas-wrap{max-width:100vw!important;max-height:100vh!important;border-radius:0!important}.gallery-fullscreen-overlay .face-content,.gallery-fullscreen-overlay .face-inner{width:100%!important;height:100%!important}.gallery-fullscreen-overlay #galleryImage{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain}.gallery-fullscreen-overlay:after{content:"더블탭하여 종료";position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:8px 16px;border-radius:999px;font-size:12px;pointer-events:none;opacity:0;animation:galleryFsHint 3s ease}@keyframes galleryFsHint{0%{opacity:0}20%{opacity:.85}80%{opacity:.85}to{opacity:0}}.face-content{position:relative;display:inline-block;transform-origin:0 0;transition:transform .25s ease;will-change:transform}.face-inner{position:relative;display:inline-block;transform-origin:50% 50%;transition:transform .3s ease;will-change:transform}.face-inner.gesturing{transition:none}#galleryImage{display:block;height:100%;width:auto;max-width:100%;max-height:100%;transform:scaleX(-1)}#galleryMeshCanvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;transform:scaleX(-1)}.anchor-value.anchor-good{color:var(--good)}.anchor-value.anchor-warn{color:var(--warn)}.anchor-value.anchor-bad{color:var(--danger)}.gallery-si-panel{width:200px;flex-shrink:0;align-self:stretch;height:100%;padding:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;font-family:var(--font-ui);display:flex;flex-direction:column;overflow:hidden}.gallery-si-panel .si-title,.gallery-si-panel>.si-divider,.gallery-si-panel .si-bottom-controls{flex-shrink:0}.si-scroll-area{flex:1 1 auto;overflow-y:auto;min-height:0}.si-scroll-area[hidden]{display:none}.compare-view{flex:1 1 auto;overflow-y:auto;min-height:0;padding-top:4px}.compare-view[hidden]{display:none}.compare-block{margin-bottom:12px}.compare-block:last-child{margin-bottom:0}.gallery-si-panel .compare-block-title{font-family:var(--font-ui);font-size:calc(13px * var(--font-scale));font-weight:700;color:var(--text);margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid var(--border);letter-spacing:.01em;text-transform:none}.compare-row{display:grid;grid-template-columns:64px 1fr 44px;align-items:center;gap:8px;padding:3px 0}.compare-row-indent{padding-left:8px}.compare-label{font-family:var(--font-ui);font-size:calc(12px * var(--font-scale));color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-row-indent .compare-label{color:var(--text-dim);font-weight:500}.compare-row-emphasis .compare-label{font-weight:700;color:var(--text)}.compare-gauge{position:relative;height:10px;background:var(--surface-3);border-radius:5px}.compare-gauge:after{content:"";position:absolute;top:-2px;bottom:-2px;left:50%;width:1px;background:var(--text-dim);opacity:.5}.compare-gauge-fill{position:absolute;top:0;bottom:0;height:100%;border-radius:5px;transition:left .2s,right .2s,width .2s,background .2s}.compare-gauge-fill[data-direction=left]{background:#dc5050}.compare-gauge-fill[data-direction=right]{background:#5078dc}.compare-gauge-fill[data-direction=center]{background:#8cc850}.compare-delta{text-align:right;font-family:var(--font-mono);font-size:calc(13px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-dim)}.compare-row-emphasis .compare-delta{font-size:calc(15px * var(--font-scale))}.compare-delta[data-color=red]{color:#dc5050}.compare-delta[data-color=blue]{color:#5078dc}.compare-delta[data-color=green]{color:#8cc850}.si-empty{padding:16px;text-align:center;color:var(--text-dim);font-size:calc(12px * var(--font-scale))}.si-block{display:flex;flex-direction:column;gap:2px}#basicCompassLegend,.compass-legend{position:absolute;top:10px;right:10px;width:var(--size-compass);height:var(--size-compass);z-index:var(--z-legend);pointer-events:none;opacity:var(--opacity-overlay);filter:var(--shadow-overlay);transition:opacity .2s ease,transform .2s ease;transform-origin:top right}.gallery-image-canvas-wrap:hover #basicCompassLegend,.gallery-image-canvas-wrap:hover .compass-legend{opacity:1;transform:scale(1.05)}.basic-mode-tabs{display:flex;flex-shrink:0;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg)}.basic-mode-tabs[hidden]{display:none}.basic-tab,.pair-select-btn,.pair-action-btn{flex:0 0 auto;min-width:60px;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-sm) var(--space-md);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-ui);font-size:calc(11px * var(--font-scale));cursor:pointer;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:border-color .12s,background .12s,color .12s}.basic-tab,.pair-action-btn{font-weight:500}.basic-tab:hover,.pair-select-btn:hover,.pair-action-btn:hover{border-color:var(--accent)}.basic-tab[aria-pressed=true],.basic-tab[aria-pressed=true]:focus,.basic-tab[aria-pressed=true]:hover,.pair-select-btn[aria-pressed=true],.pair-select-btn[aria-pressed=true]:focus,.pair-select-btn[aria-pressed=true]:hover,.pair-action-btn[aria-pressed=true],.pair-action-btn[aria-pressed=true]:focus,.pair-action-btn[aria-pressed=true]:hover{background:var(--accent);border-color:var(--accent);color:#14110e;font-weight:600}.bidir-gauge{display:flex;align-items:center;gap:var(--space-md);width:100%}.bidir-gauge-track{position:relative;flex:1;height:var(--space-md);background:var(--bar-track);border-radius:var(--radius-sm);overflow:hidden}.bidir-gauge-zero{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--color-white-40);transform:translate(-.5px)}.bidir-gauge-fill{position:absolute;top:1px;bottom:1px;border-radius:3px;transition:width .2s ease,left .2s ease}.bidir-gauge-label{min-width:40px;text-align:right;font-size:calc(12px * var(--font-scale));font-weight:500;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.si-meta-row{display:flex;justify-content:space-between;font-size:calc(11px * var(--font-scale));color:var(--text-dim);padding:0 0 2px}.si-meta-row>span:last-child{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.gallery-si-panel .si-title{font-family:var(--font-ui);font-size:calc(18px * var(--font-scale));font-weight:700;color:var(--text);margin:0 0 10px;letter-spacing:.01em;text-transform:none}.si-overall{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0}.si-overall-label{font-size:calc(13px * var(--font-scale));color:var(--text);font-weight:500}.si-overall-value{font-size:calc(22px * var(--font-scale));font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.si-divider{height:1px;background:var(--border);margin:8px 0 6px;opacity:.6}.si-sections{display:flex;flex-direction:column;gap:5px}.si-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);min-height:36px;border-radius:var(--radius-md);font-size:calc(11px * var(--font-scale));transition:background .15s ease}.si-row>.si-bar,.si-row>.bidir-gauge{flex:1;min-width:0}.si-row.si-row-clickable{cursor:pointer}.si-row.si-row-clickable:hover{background:var(--color-white-04)}.si-row.si-row-clickable.selected{background:var(--color-accent-yellow-soft);border-left:3px solid var(--color-accent-yellow-strong);padding-left:calc(var(--space-md) - 3px)}.si-label{flex:0 0 auto;min-width:70px;padding:4px 10px;background:var(--color-white-04);border:1px solid var(--color-white-08);border-radius:var(--radius-sm);color:var(--color-white-70);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s ease,border-color .15s ease,color .15s ease}.si-row.si-row-clickable:hover .si-label{background:var(--color-white-08);border-color:var(--color-white-15);color:var(--text)}.si-row.si-row-clickable.selected .si-label{background:var(--color-accent-yellow-strong);border-color:var(--color-accent-yellow);color:#14110e}.si-bar{height:6px;background:var(--surface-3);border-radius:3px;overflow:hidden}.si-bar-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .2s ease,background .2s ease}.si-bar-fill.score-low{background:#78c864}.si-bar-fill.score-mid{background:#dcb43c}.si-bar-fill.score-high{background:#dc643c}.si-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--text);font-weight:500;font-family:var(--font-mono)}.si-bottom-controls{display:flex;flex-direction:column;gap:6px;padding-top:8px}.si-bottom-controls .mesh-type-select+.si-control-label{margin-top:6px}.si-bottom-controls .si-control-label{display:block;width:100%;padding:6px 10px;font-size:calc(11px * var(--font-scale));font-family:var(--font-ui);font-weight:600;color:var(--text-dim);text-align:center;letter-spacing:.02em}.si-bottom-controls .mesh-type-select{width:100%;text-align:center;text-align-last:center}.si-bottom-controls .asym-type-nav{display:flex;justify-content:space-between;gap:8px;margin-top:2px}.si-bottom-controls .asym-type-nav .nav-btn-sm{flex:1;max-width:80px;height:auto;min-height:30px;font-size:14px}.gallery-bottom-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:var(--surface-2);border-top:1px solid var(--border);min-height:48px;margin-top:0;font-family:var(--font-ui);touch-action:manipulation}.bottom-bar-right{display:flex;align-items:center;gap:8px;flex-shrink:1;min-width:0}.nav-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:14px;cursor:pointer;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:border-color .12s,color .12s,transform 80ms}.nav-btn:focus{outline:none}.nav-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.nav-btn:active:not(:disabled){transform:scale(.95)}.nav-btn[aria-disabled=true]{opacity:.3;cursor:not-allowed}.nav-btn[aria-disabled=true]:hover{border-color:var(--border);color:var(--text)}.nav-btn.nav-btn-sm{width:28px;height:28px;font-size:11px}.info-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-dim);font-size:14px;cursor:pointer;border-radius:50%;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .12s,color .12s}.info-btn:hover{background:var(--surface-3);color:var(--text)}.info-btn[aria-expanded=true]{background:var(--surface-3);color:var(--accent)}.pose-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;padding:12px 16px;background:#2a2520;border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #0000004d;font-size:calc(11px * var(--font-scale));line-height:1.6;white-space:nowrap;z-index:100;min-width:100px}.pose-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#2a2520}.pose-tooltip[hidden]{display:none}.pose-tooltip.pose-tooltip-down{bottom:auto;top:100%;margin-bottom:0;margin-top:8px}.pose-tooltip.pose-tooltip-down:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#2a2520}.pose-tooltip.pose-tooltip-anchor-left{left:0;right:auto;transform:none}.pose-tooltip.pose-tooltip-anchor-left:after{left:18px;right:auto;transform:none}.pose-tooltip.pose-tooltip-anchor-right{left:auto;right:0;transform:none}.pose-tooltip.pose-tooltip-anchor-right:after{left:auto;right:32px;transform:none}.tooltip-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0}.tooltip-label{color:var(--text-dim);font-weight:500}.tooltip-value{color:var(--text);font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.tooltip-divider{height:1px;background:var(--border);margin:4px 0;opacity:.5}.tooltip-row-asym .tooltip-label{color:var(--text);font-weight:600}.tooltip-row-asym .tooltip-value{color:var(--accent);font-weight:700;font-size:calc(13px * var(--font-scale))}.gallery-bottom-bar .mesh-controls{background:transparent;padding:0;flex-shrink:0}.gallery-bottom-bar .mesh-type-select{max-width:180px}.bottom-bar-divider[hidden]{display:none}.trial-nav-group{display:flex;align-items:center;gap:6px;flex-shrink:0}.trial-nav-group[hidden]{display:none}.trial-indicator{font-family:var(--font-mono);font-size:calc(12px * var(--font-scale));color:var(--text-dim);font-variant-numeric:tabular-nums;min-width:64px;text-align:center}@media (max-width: 600px){.gallery-main{flex-direction:column;padding:8px;gap:8px}.gallery-si-panel{width:100%;max-height:220px}}@media (max-width: 820px){.gallery-si-panel{width:160px;padding:10px}.si-row{gap:6px;padding:4px 6px}}@media (max-width: 768px){.gallery-bottom-bar{flex-wrap:wrap;padding:6px 10px;gap:8px}.gallery-bottom-bar .mesh-type-select{max-width:140px}.task-name-select{max-width:10ch}}.btn-row-gallery{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .12s}.btn-row-gallery svg{width:16px;height:16px;pointer-events:none}.btn-row-gallery:hover:not(:disabled){color:var(--accent)}.btn-row-gallery:disabled{opacity:.3;cursor:not-allowed}.btn-row-view-base{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .12s}.btn-row-view-base svg{width:16px;height:16px;pointer-events:none}.btn-row-view-base:hover:not(:disabled){color:var(--accent)}.btn-row-view-base:disabled{opacity:.3;cursor:not-allowed}.baseline-anchor-summary{margin-bottom:12px}.baseline-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:6px;background:var(--surface-2);border-radius:6px}.baseline-tabs{display:flex;gap:4px}.baseline-tab{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-weight:600;font-family:var(--font-mono);font-size:calc(13px * var(--font-scale));cursor:pointer;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;transition:border-color .12s,background .12s}.baseline-tab:focus{outline:none}.baseline-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.baseline-tab:hover:not(.active){border-color:var(--accent);color:var(--text)}.baseline-tab.active,.baseline-tab.active:focus,.baseline-tab.active:hover{background:var(--accent);border-color:var(--accent);color:#14110e}.baseline-anchor-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-family:var(--font-ui);font-size:calc(12px * var(--font-scale));cursor:pointer;transition:all .12s}.baseline-anchor-toggle:hover{border-color:var(--accent)}.baseline-anchor-toggle[aria-pressed=true]{background:var(--surface-1);border-color:var(--accent);color:var(--accent)}.baseline-anchor-toggle svg{pointer-events:none}.baseline-viewer{display:flex;flex-direction:column;align-items:center;gap:8px}.baseline-image-wrap{position:relative;display:inline-block;max-width:100%;background:#14110e;border-radius:8px;overflow:hidden;line-height:0;touch-action:pan-y}#baselineImage{display:block;max-width:100%;max-height:60vh;width:auto;height:auto;transform:scaleX(-1)}#baselineOverlayCanvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;transform:scaleX(-1)}.baseline-meta{display:flex;justify-content:space-between;width:100%;padding:6px 4px;font-family:var(--font-mono);font-size:calc(11px * var(--font-scale));color:var(--text-dim)}.baseline-empty-large{padding:60px 40px;color:var(--text-mute);text-align:center;line-height:1.6;font-size:calc(13px * var(--font-scale))}
