:root{--bg-dark: #060b08;--bg-card: rgba(14, 25, 20, .75);--bg-card-border: rgba(16, 185, 129, .2);--primary: #10b981;--primary-light: #34d399;--gold: #d4af37;--gold-glow: rgba(212, 175, 55, .4);--emerald-glow: rgba(16, 185, 129, .35);--text-main: #f3f4f6;--text-muted: #9ca3af;--text-dim: #6b7280;--track-bg: #15221b;--font-family: -apple-system, BlinkMacSystemFont, "Pretendard Variable", Pretendard, "Segoe UI", Roboto, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;height:100vh;height:100dvh;overflow:hidden;background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-family);user-select:none;-webkit-user-select:none}.cockpit-container{display:flex;flex-direction:column;width:100%;max-width:1000px;height:100%;height:100vh;height:100dvh;margin:0 auto;padding:clamp(8px,1.8vh,14px) clamp(10px,2.5vw,20px) max(48px,env(safe-area-inset-bottom,48px));gap:clamp(6px,1.2vh,12px)}.cockpit-header{display:flex;justify-content:space-between;align-items:center;flex:none;padding-bottom:clamp(6px,1vh,10px);border-bottom:1px solid rgba(16,185,129,.15)}.brand-group{display:flex;align-items:center;gap:10px}.app-icon{width:32px;height:32px;border-radius:8px;border:1px solid var(--primary);box-shadow:0 0 12px var(--emerald-glow)}.station-tag{font-size:.65rem;letter-spacing:.15em;color:var(--gold);font-weight:700;text-transform:uppercase}.app-title{font-size:clamp(1rem,2.2vw,1.25rem);font-weight:700;letter-spacing:-.01em;display:flex;align-items:baseline;gap:8px}.app-subtitle{font-size:clamp(.75rem,1.5vw,.85rem);color:var(--text-muted);font-weight:400}.header-actions{display:flex;align-items:center;gap:8px}.action-btn-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:9999px;background:rgba(255,255,255,.05);border:1px solid rgba(16,185,129,.25);color:var(--text-muted);font-size:.75rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s ease}.action-btn-pill:hover,.action-btn-pill.active{background:rgba(16,185,129,.18);border-color:var(--primary);color:var(--primary-light);box-shadow:0 0 10px var(--emerald-glow)}.hum-icon{font-size:.9rem;color:var(--primary)}.cockpit-body{display:flex;flex-direction:column;flex:1;min-height:0;gap:clamp(8px,1.4vh,12px)}.zone-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;flex:none}.zone-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 4px;background:rgba(15,25,20,.6);border:1px solid rgba(16,185,129,.12);border-radius:8px;color:var(--text-dim);cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.zone-tab:hover{border-color:rgba(16,185,129,.3);color:var(--text-muted)}.zone-tab.active{background:rgba(16,185,129,.14);border-color:var(--primary);color:var(--text-main);box-shadow:0 0 14px rgba(16,185,129,.2)}.zone-tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--primary-light);box-shadow:0 0 8px var(--primary)}.tab-num{font-size:.65rem;font-weight:700;color:var(--gold)}.tab-name{font-size:clamp(.68rem,1.2vw,.78rem);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tab-time{font-size:.6rem;color:var(--text-dim)}.zone-tab.active .tab-time{color:var(--primary-light)}.console-grid{display:grid;grid-template-columns:1fr 1fr;flex:1;min-height:0;gap:clamp(8px,1.6vh,16px)}@media(max-width:680px){.console-grid{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;gap:12px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.console-grid::-webkit-scrollbar{display:none}.dial-card,.anatomy-card{flex:none;min-height:auto}.radial-wrap{width:min(160px,36vw);height:min(160px,36vw)}.dial-time{font-size:2rem}}.dial-card{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--bg-card-border);border-radius:14px;padding:clamp(10px,2vh,18px);box-shadow:inset 0 0 24px rgba(0,0,0,.6);position:relative}.radial-wrap{position:relative;width:min(220px,42vw,36vh);height:min(220px,42vw,36vh);display:flex;align-items:center;justify-content:center}.radial-svg{width:100%;height:100%;transform:rotate(-90deg)}.track-bg{fill:none;stroke:var(--track-bg);stroke-width:12}.track-zones{fill:none;stroke:rgba(212,175,55,.25);stroke-width:12;stroke-dasharray:4 144.25}.track-progress{fill:none;stroke:var(--primary);stroke-width:12;stroke-linecap:round;stroke-dasharray:741.4;stroke-dashoffset:0;transition:stroke-dashoffset .3s linear,stroke .3s ease;filter:drop-shadow(0 0 6px var(--emerald-glow))}.dial-center{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.dial-status-badge{font-size:.68rem;letter-spacing:.1em;font-weight:700;color:var(--gold);text-transform:uppercase}.dial-time{font-size:clamp(2rem,5vw,3.2rem);font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:#fff;text-shadow:0 0 16px rgba(16,185,129,.35)}.dial-elapsed{font-size:.72rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.dial-controls{display:flex;align-items:center;gap:10px;margin-top:clamp(10px,2vh,16px)}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border-radius:9999px;background:linear-gradient(135deg,#10b981,#059669);border:1px solid #34d399;color:#03150d;font-size:clamp(.85rem,1.8vw,.95rem);font-weight:700;cursor:pointer;box-shadow:0 0 18px rgba(16,185,129,.45);transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-primary:active{transform:scale(.96)}.btn-primary.running{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#fbbf24;color:#1a0f00;box-shadow:0 0 18px rgba(245,158,11,.45)}.btn-secondary{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);border:1px solid rgba(16,185,129,.2);color:var(--text-muted);font-size:1.1rem;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:rgba(16,185,129,.15);border-color:var(--primary);color:#fff}.anatomy-card{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--bg-card-border);border-radius:14px;padding:clamp(10px,1.8vh,16px);min-height:0;box-shadow:inset 0 0 24px rgba(0,0,0,.6);justify-content:space-between}.anatomy-header{border-bottom:1px solid rgba(16,185,129,.12);padding-bottom:8px}.anatomy-zone-title{font-size:clamp(.85rem,1.8vw,1rem);font-weight:700;color:var(--text-main);letter-spacing:-.01em}.anatomy-focus-tag{font-size:.72rem;color:var(--gold);font-weight:600;margin-top:2px}.anatomy-visual-row{display:flex;align-items:center;gap:12px;flex:1;min-height:0;padding:6px 0}.anatomy-svg-box{width:clamp(90px,16vw,130px);height:clamp(110px,20vw,160px);flex:none;background:rgba(6,11,8,.8);border-radius:10px;border:1px solid rgba(16,185,129,.15);display:flex;align-items:center;justify-content:center;padding:4px}.head-silhouette{width:100%;height:100%}.neck-base{fill:#0c1813;stroke:rgba(16,185,129,.2);stroke-width:1.5}.zone-node-group{opacity:.2;transition:opacity .3s ease}.zone-node-group.active{opacity:1}.spine-line,.scm-line,.hyoid-line,.trap-line,.cranial-arc{fill:none;stroke-width:3;stroke-linecap:round}.spine-line{stroke:var(--primary)}.spine-node{fill:var(--primary-light);filter:drop-shadow(0 0 5px var(--primary))}.scm-line{stroke:var(--gold);stroke-dasharray:4 3}.lymph-node{fill:var(--gold);filter:drop-shadow(0 0 5px var(--gold))}.lymph-node.terminus{fill:#fef08a;stroke:var(--gold);stroke-width:1.5}.hyoid-line{stroke:#38bdf8}.hyoid-node{fill:#38bdf8;filter:drop-shadow(0 0 5px #0284c7)}.trap-line{stroke:#f43f5e}.arrow-down{fill:none;stroke:#f43f5e;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.cranial-arc{stroke:#a78bfa}.cranial-node{fill:#a78bfa;filter:drop-shadow(0 0 5px #7c3aed)}.anatomy-guide-body{display:flex;flex-direction:column;justify-content:center;flex:1;min-width:0;gap:10px}.action-cue-box{background:rgba(0,0,0,.3);border-left:3px solid var(--primary);padding:8px 10px;border-radius:0 8px 8px 0}.cue-label{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:700;display:block;margin-bottom:3px}.cue-desc{font-size:clamp(.75rem,1.4vw,.85rem);line-height:1.4;color:var(--text-main);word-break:keep-all}.breath-pacer-box{background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.18);border-radius:8px;padding:6px 10px}.breath-indicator{display:flex;align-items:center;gap:8px}.breath-dot{width:10px;height:10px;border-radius:50%;background:var(--primary-light);box-shadow:0 0 8px var(--primary);flex:none;animation:breathPulse 14s infinite ease-in-out}@keyframes breathPulse{0%{transform:scale(1);opacity:.6}28.5%{transform:scale(1.6);opacity:1}57.1%{transform:scale(1.6);opacity:1}to{transform:scale(1);opacity:.6}}.breath-text{font-size:clamp(.68rem,1.2vw,.75rem);color:var(--text-muted)}.anatomy-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(16,185,129,.12);padding-top:8px}.session-meter{display:flex;align-items:center;gap:8px;flex:1}.meter-label{font-size:.68rem;color:var(--text-dim);white-space:nowrap}.meter-bar{flex:1;height:6px;background:rgba(255,255,255,.08);border-radius:9999px;overflow:hidden}.meter-fill{width:0%;height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:9999px;transition:width .3s ease}.meter-val{font-size:.72rem;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums;width:32px;text-align:right}.btn-inscribe{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;background:rgba(212,175,55,.12);border:1px solid var(--gold);color:var(--gold);font-size:.75rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .2s ease}.btn-inscribe:hover{background:var(--gold);color:#060b08;box-shadow:0 0 14px var(--gold-glow)}.inscribe-icon{font-size:.85rem}
