:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--accent: #4fc3f7;--accent-dim: rgba(79, 195, 247, .15);--bg: #0d1117;--card: #161b22;--border: rgba(255, 255, 255, .08);--text: #e6edf3;--text-dim: rgba(230, 237, 243, .55);--success: #3fb950;--warning: #d29922}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text)}.app{min-height:100vh;display:flex;flex-direction:column}.header{text-align:center;padding:2rem 1rem 1.5rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(79,195,247,.05) 0%,transparent 100%)}.header h1{font-size:1.6rem;font-weight:700;letter-spacing:-.03em;margin-bottom:.35rem}.header p{color:var(--text-dim);font-size:.9rem}.tabs{display:flex;justify-content:center;gap:.25rem;padding:1rem 1rem 0;border-bottom:1px solid var(--border)}.tab{background:transparent;border:none;color:var(--text-dim);font-size:.85rem;font-weight:600;padding:.65rem 1.5rem;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s ease}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.overview{max-width:800px;width:100%;margin:0 auto;padding:2rem}.overview-intro{text-align:center;margin-bottom:2rem}.overview-intro h2{font-size:1.3rem;font-weight:700;margin-bottom:.75rem;letter-spacing:-.02em}.overview-intro p{color:var(--text-dim);font-size:.92rem;line-height:1.7;max-width:600px;margin:0 auto}.procedure-list{display:flex;flex-direction:column;gap:1rem}.procedure-card{display:flex;gap:1.25rem;background:var(--card);border:1px solid var(--border);border-radius:.75rem;padding:1.25rem;transition:border-color .15s ease}.procedure-card:hover{border-color:#4fc3f733}.procedure-num{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:56px}.proc-icon{font-size:1.5rem}.proc-step{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:var(--accent-dim);padding:.15rem .5rem;border-radius:999px;white-space:nowrap}.procedure-content h3{font-size:1.05rem;font-weight:700;margin-bottom:.5rem;letter-spacing:-.01em}.procedure-content p{color:#e6edf3bf;font-size:.88rem;line-height:1.65}.overview-footer{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:1rem}.overview-footer p{color:var(--text-dim);font-size:.9rem}.main{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:1100px;width:100%;margin:0 auto;padding:1.5rem}@media(max-width:768px){.main{grid-template-columns:1fr;padding:1.5rem 1rem}}.progress-bar{grid-column:1 / -1;background:var(--card);border:1px solid var(--border);border-radius:.75rem;padding:.85rem 1.25rem;display:flex;align-items:center;gap:1rem}.progress-bar .label{font-size:.8rem;color:var(--text-dim);white-space:nowrap}.progress-bar .track{flex:1;height:8px;background:#ffffff0f;border-radius:999px;overflow:hidden}.progress-bar .fill{height:100%;background:var(--success);border-radius:999px;transition:width .4s ease}.progress-bar .count{font-size:.85rem;font-weight:600;color:var(--success);white-space:nowrap}.diagram-panel{display:flex;flex-direction:column;align-items:center}.diagram-panel h2{font-size:.75rem;font-weight:600;margin-bottom:.35rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.diagram-hint{font-size:.78rem;color:#e6edf359;margin-bottom:1rem}.body-diagram{position:relative;width:220px;height:420px}.body-part{position:absolute;border:2px solid rgba(79,195,247,.3);border-radius:.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#4fc3f7b3;background:#4fc3f70a}.body-part:hover{border-color:var(--accent);background:#4fc3f71a;color:var(--accent);transform:scale(1.05);z-index:2}.body-part.selected{border-color:var(--accent);background:#4fc3f726;color:var(--accent);box-shadow:0 0 16px #4fc3f733}.body-part.completed{border-color:var(--success);background:#3fb9501f;color:var(--success)}.body-part.completed:after{content:"✓";position:absolute;top:-6px;right:-6px;width:16px;height:16px;background:var(--success);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.55rem;color:#fff}.guide-panel{display:flex;flex-direction:column}.guide-panel h2{font-size:.75rem;font-weight:600;margin-bottom:1rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.placeholder-msg{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-dim);font-size:.9rem;padding:2rem;border:1px dashed var(--border);border-radius:.75rem}.guide-card{background:var(--card);border:1px solid var(--border);border-radius:.75rem;overflow:hidden;flex:1;display:flex;flex-direction:column;max-height:70vh}.guide-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.guide-header h3{font-size:1.15rem;font-weight:700}.duration{font-size:.72rem;color:var(--text-dim);margin-top:.15rem;display:block}.guide-header .difficulty{font-size:.65rem;padding:.2rem .6rem;border-radius:999px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;align-self:flex-start}.difficulty.easy{background:#3fb95026;color:var(--success)}.difficulty.medium{background:#d2992226;color:var(--warning)}.guide-body{padding:1.25rem;flex:1;overflow-y:auto}.guide-section{margin-bottom:1.25rem}.section-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:.5rem}.guide-body .description{color:#e6edf3bf;font-size:.88rem;line-height:1.6}.why-text{color:#e6edf3a6;font-size:.85rem;line-height:1.6;padding:.75rem 1rem;background:#4fc3f70d;border-left:3px solid var(--accent-dim);border-radius:0 .4rem .4rem 0}.steps{list-style:none;display:flex;flex-direction:column;gap:.85rem}.step{display:flex;gap:.75rem;align-items:flex-start}.step-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--accent-dim);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;margin-top:2px}.step-content{display:flex;flex-direction:column;gap:.2rem}.step-title{font-size:.88rem;font-weight:600;color:var(--text)}.step-text{font-size:.82rem;color:#e6edf399;line-height:1.55}.tips{margin-top:1.25rem;padding:.85rem 1rem;background:#d2992214;border:1px solid rgba(210,153,34,.2);border-radius:.5rem}.tips-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--warning);margin-bottom:.4rem}.tips-text{font-size:.82rem;color:#e6edf3b3;line-height:1.55}.guide-footer{padding:1rem 1.25rem;border-top:1px solid var(--border);display:flex;gap:.75rem}.btn{flex:1;padding:.6rem 1rem;border:none;border-radius:.5rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-primary{background:var(--accent);color:#0d1117}.btn-primary:hover{background:#6dd0f7}.btn-secondary{background:#ffffff0f;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:#ffffff1a}.btn-reset{grid-column:1 / -1;background:transparent;color:var(--text-dim);border:1px solid var(--border);padding:.55rem;border-radius:.5rem;cursor:pointer;font-size:.8rem;transition:all .15s ease;width:fit-content;margin:0 auto}.btn-reset:hover{color:var(--text);border-color:#fff3}.completion{grid-column:1 / -1;text-align:center;padding:2rem;background:#3fb95014;border:1px solid rgba(63,185,80,.2);border-radius:.75rem}.completion h2{font-size:1.4rem;color:var(--success);margin-bottom:.5rem}.completion p{color:var(--text-dim);font-size:.9rem}
