:root{--bg: #f4f6f8;--text: #1a2b34;--muted: #5f7079;--card: #ffffff;--line: #dfe6ea;--accent: #0f7a6d;--accent-light: #e3eeec;--peak: #b8860b;--peak-light: #fffdf5;--warm: #e8735a;--cool: #5a8fb8;--danger: #d9534f;--radius: 12px;--radius-sm: 8px;--shadow: 0 2px 8px rgba(20, 44, 58, .06);--shadow-md: 0 6px 20px rgba(25, 53, 67, .08)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;color:var(--text);background:linear-gradient(160deg,#edf3f4,#f6f8fb 55%,#eef6fa);min-height:100vh}.nav{background:var(--card);border-bottom:1px solid var(--line);padding:0 24px;position:sticky;top:0;z-index:100;box-shadow:var(--shadow)}.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:8px;height:56px}.nav-brand{font-size:1.3rem;font-weight:700;color:var(--accent);text-decoration:none;margin-right:24px;letter-spacing:.5px}.nav-link{padding:6px 14px;border-radius:999px;font-size:.88rem;font-weight:600;color:var(--muted);text-decoration:none;transition:background .15s,color .15s}.nav-link:hover{background:var(--accent-light);color:var(--accent)}.nav-link.active{background:var(--accent);color:#fff}.nav-spacer{flex:1}.page{max-width:1200px;margin:0 auto;padding:24px}.page-header{margin-bottom:24px}.page-header h1{margin:0 0 4px;font-size:1.7rem}.page-header p{margin:0;color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-body{padding:16px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.grid-4{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s;background:var(--card);color:var(--text);text-decoration:none;white-space:nowrap}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:#0a6358;color:#fff}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{padding:4px 10px;font-size:.78rem}.btn-icon{padding:4px 8px;font-size:1rem;min-width:32px;justify-content:center}.btn-group{display:flex;gap:8px;flex-wrap:wrap}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:.82rem;font-weight:600;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}.form-input,.form-select,.form-textarea{width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:.92rem;font-family:inherit;color:var(--text);background:#fff;transition:border-color .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0f7a6d1f}.form-textarea{resize:vertical;min-height:60px}.form-row{display:flex;gap:12px;flex-wrap:wrap}.form-row .form-group{flex:1;min-width:140px}.search-bar{position:relative;margin-bottom:16px}.search-bar input{width:100%;padding:10px 16px 10px 40px;border:1px solid var(--line);border-radius:999px;font-size:.95rem;background:var(--card);color:var(--text)}.search-bar input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0f7a6d1f}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:1rem;pointer-events:none}.filter-pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.pill{padding:5px 12px;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid var(--line);background:var(--card);color:var(--muted);cursor:pointer;transition:all .15s}.pill:hover{border-color:var(--accent);color:var(--accent)}.pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}.pose-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}.pose-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.pose-card-img{height:180px;background:#e8eef0;display:flex;align-items:center;justify-content:center;overflow:hidden}.pose-card-img img{width:100%;height:100%;object-fit:cover}.pose-card-info{padding:10px 12px 14px}.pose-card-info h3{margin:0 0 2px;font-size:.92rem;line-height:1.3}.pose-card-info .sanskrit{margin:0;color:var(--accent);font-size:.78rem;font-style:italic}.pose-card-info .category-tag{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:600;background:var(--accent-light);color:var(--accent)}.pose-note-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:5px;vertical-align:middle;flex-shrink:0}.pose-card-note{padding:0 10px 10px}.pose-card-note textarea{width:100%;padding:5px 8px;border:1px solid var(--line);border-radius:6px;font-size:.75rem;font-family:inherit;resize:vertical;min-height:36px;background:#f9fbfc;color:var(--text);transition:border-color .15s}.pose-card-note textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #0f7a6d1a}.lesson-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;transition:transform .15s,box-shadow .15s}.lesson-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.lesson-card h3{margin:0;font-size:1.05rem;color:var(--accent)}.lesson-card .meta{font-size:.82rem;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap}.lesson-card .meta span{display:inline-flex;align-items:center;gap:4px}.lesson-card .actions{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap}.draft-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff8e1;border:1px solid #ffe082;border-radius:var(--radius-sm);padding:10px 16px;margin-bottom:16px;font-size:.88rem;color:#7a5c00}.builder-meta{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:20px;box-shadow:var(--shadow)}.phase-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;box-shadow:var(--shadow);overflow:hidden}.phase-card.peak{border-left:4px solid var(--peak)}.phase-card.cooldown{border-left:4px solid var(--cool)}.phase-card.warmup{border-left:4px solid var(--warm)}.phase-card.savasana{border-left:4px solid #9b8ec4}.phase-header{padding:14px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none}.phase-header:hover{background:#fafcfd}.phase-number{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:.82rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.phase-card.peak .phase-number{background:var(--peak)}.phase-card.cooldown .phase-number{background:var(--cool)}.phase-card.warmup .phase-number{background:var(--warm)}.phase-card.savasana .phase-number{background:#9b8ec4}.phase-title{flex:1;font-weight:600;font-size:1rem}.phase-duration{color:var(--muted);font-size:.85rem;white-space:nowrap}.phase-chevron{color:var(--muted);font-size:.9rem;transition:transform .2s}.phase-chevron.collapsed{transform:rotate(-90deg)}.phase-body{padding:14px 16px}.phase-intent{padding:10px 16px;background:#f0f5f4;font-size:.85rem;color:var(--muted);font-style:italic;border-bottom:1px solid var(--line)}.drag-handle{cursor:grab;color:#b0bec5;font-size:1.1rem;line-height:1;padding:2px 0;flex-shrink:0;touch-action:none;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.phase-drag-handle{font-size:1.2rem;color:#90a4ae}.timing-input-wrap{display:inline-flex;align-items:center;gap:4px}.timing-input-wrap input[type=number]{width:64px}.timing-badge{display:inline-block;background:var(--accent-light);color:var(--accent);font-size:.72rem;font-weight:700;padding:2px 6px;border-radius:8px;white-space:nowrap}.timing-from-poses{color:var(--accent);font-size:.78rem;font-weight:600}.class-arc{display:flex;height:30px;border-radius:8px;overflow:hidden;margin:10px 0 4px;border:1px solid var(--line);gap:1px}.arc-segment{display:flex;align-items:center;justify-content:center;font-size:.67rem;font-weight:600;color:#ffffffeb;overflow:hidden;white-space:nowrap;padding:0 4px;min-width:4px;transition:opacity .15s}.arc-segment:hover{opacity:.82;cursor:default}.pose-item{display:grid;grid-template-columns:20px 72px 1fr auto;gap:10px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:10px;background:#fcfdfd;align-items:start}.pose-item-img{width:72px;height:72px;border-radius:6px;overflow:hidden;background:#e8eef0;flex-shrink:0}.pose-item-img img{width:100%;height:100%;object-fit:cover}.pose-item-info{min-width:0}.pose-item-info h4{margin:0 0 2px;font-size:.9rem}.pose-item-info .sanskrit{margin:0 0 6px;font-size:.78rem;color:var(--accent);font-style:italic}.pose-item-fields{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}.pose-item-fields input,.pose-item-fields select{padding:4px 8px;border:1px solid var(--line);border-radius:6px;font-size:.8rem;font-family:inherit}.pose-item-fields input{max-width:120px}.pose-item-fields textarea{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-size:.8rem;font-family:inherit;resize:vertical;min-height:40px}.pose-item-actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.transition-item{padding:8px 14px;border:1px dashed var(--line);border-radius:var(--radius-sm);margin-bottom:10px;background:#f0f5f4;display:flex;gap:10px;align-items:start}.transition-item textarea{flex:1;padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-size:.84rem;font-family:inherit;font-style:italic;resize:vertical;min-height:36px;background:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--card);border-radius:var(--radius);width:100%;max-width:800px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.modal-header{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.modal-header h2{margin:0;font-size:1.15rem}.modal-body{padding:16px 20px;overflow-y:auto;flex:1}.modal-close{background:none;border:none;font-size:1.3rem;cursor:pointer;color:var(--muted);padding:4px 8px;border-radius:6px}.modal-close:hover{background:#f0f2f4}.picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.picker-pose{border:2px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;transition:border-color .15s,transform .1s;background:#fff}.picker-pose:hover{border-color:var(--accent);transform:scale(1.03)}.picker-pose-img{height:110px;background:#e8eef0;overflow:hidden}.picker-pose-img img{width:100%;height:100%;object-fit:cover}.picker-pose-name{padding:6px 8px;font-size:.75rem;font-weight:600;line-height:1.3;text-align:center}.viewer-header{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:28px;margin-bottom:24px;box-shadow:var(--shadow-md)}.viewer-header h1{margin:0 0 4px;font-size:1.8rem;color:var(--accent)}.viewer-header .peak-label{display:inline-block;background:var(--peak);color:#fff;font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:20px;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.viewer-header .sub{color:var(--muted);margin:0 0 4px;font-size:.95rem}.viewer-overview{background:#f0f5f4;border:1px solid var(--line);border-radius:10px;padding:16px 20px;margin-top:16px;font-size:.92rem;line-height:1.6}.viewer-overview h3{margin:0 0 8px;font-size:1rem;color:var(--accent)}.viewer-overview ul{margin:6px 0 0;padding-left:20px}.viewer-overview li{margin-bottom:3px}.viewer-controls{position:sticky;top:68px;z-index:10;margin-bottom:18px;background:#ffffffeb;border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:var(--shadow-md)}.viewer-progress{margin-left:auto;background:var(--accent);color:#fff;border-radius:999px;font-size:.78rem;font-weight:700;padding:6px 11px}.viewer-phase{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:16px;overflow:hidden;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}.viewer-phase:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.viewer-phase.done{border-left:5px solid var(--accent)}.viewer-phase-header{padding:14px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.viewer-phase-header:hover{background:#fafcfd}.viewer-phase-check{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.viewer-phase-header h2{margin:0;font-size:1.1rem;flex:1}.viewer-phase-time{color:var(--muted);font-size:.85rem}.viewer-phase-intent{padding:10px 20px;background:#f0f5f4;font-size:.85rem;color:var(--muted);font-style:italic;border-bottom:1px solid var(--line)}.viewer-pose-list{padding:12px 16px}.viewer-pose{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fcfdfd;margin-bottom:10px}.viewer-pose.peak-pose{border:2px solid var(--peak);background:var(--peak-light)}.viewer-pose-img{width:90px;height:90px;border-radius:8px;overflow:hidden;background:#e8eef0}.viewer-pose-img img{width:100%;height:100%;object-fit:cover}.viewer-pose-info h3{margin:0 0 2px;font-size:.95rem}.viewer-pose-info .sanskrit{margin:0 0 6px;color:var(--accent);font-size:.8rem;font-style:italic}.viewer-pose-info .hold{display:inline-block;background:var(--accent);color:#fff;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:10px;margin-bottom:6px}.viewer-pose-info .side-label{display:inline-block;background:var(--accent-light);color:var(--accent);font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:10px;margin-bottom:6px;margin-left:4px}.viewer-pose-info .cues{font-size:.82rem;color:var(--muted);line-height:1.5;margin:0}.viewer-pose-info .modification{font-size:.8rem;color:var(--cool);margin:4px 0 0}.viewer-pose-info .timing-label{display:inline-block;background:#eef0f2;color:var(--muted);font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:10px;margin-bottom:6px;margin-left:4px}.viewer-transition{padding:8px 14px;border:1px dashed var(--line);border-radius:var(--radius-sm);background:#f0f5f4;margin-bottom:10px;font-size:.84rem;color:var(--muted);font-style:italic}body.focus-mode .viewer-pose-info .cues,body.focus-mode .viewer-pose-info .modification{display:none}body.focus-mode .viewer-pose{grid-template-columns:64px 1fr;gap:10px;padding:8px}body.focus-mode .viewer-pose-img{width:64px;height:64px}.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}.empty-state h2{color:var(--text);margin:0 0 8px}.empty-state p{margin:0 0 20px;font-size:.95rem}.text-muted{color:var(--muted)}.text-accent{color:var(--accent)}.text-sm{font-size:.82rem}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}@media(max-width:768px){.page{padding:16px}.nav-inner{padding:0 8px}.nav-brand{margin-right:12px;font-size:1.1rem}.nav-link{padding:5px 10px;font-size:.8rem}.grid-3{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.grid-4{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.form-row{flex-direction:column}.pose-item{grid-template-columns:20px 56px 1fr auto}.pose-item-img{width:56px;height:56px}.viewer-pose{grid-template-columns:70px 1fr}.viewer-pose-img{width:70px;height:70px}.picker-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.picker-pose-img{height:85px}.builder-meta{padding:14px}.viewer-header{padding:18px}.viewer-header h1{font-size:1.4rem}}@media(max-width:480px){.nav-link span{display:none}.grid-2{grid-template-columns:1fr}.lesson-card{padding:14px}}
