html{font-size:16px;box-sizing:border-box;height:100%}@media (min-width: 768px){html{font-size:16px}}@media (min-width: 1440px){html{font-size:17px}}body{margin:0;padding:0;min-height:100vh;background:#f1f5f9;-webkit-font-smoothing:antialiased}#root{min-height:100vh;width:100%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #2563eb;--primary-d: #1d4ed8;--bg: #f1f5f9;--surface: #ffffff;--border: #e2e8f0;--text: #1e293b;--muted: #64748b;--success: #16a34a;--danger: #dc2626;--radius: 10px;--shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 6px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.06);font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Noto Sans JP,sans-serif;line-height:1.65;color:var(--text)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:60px;background:var(--primary);color:#fff;box-shadow:0 2px 8px #0000002e;position:sticky;top:0;z-index:100;flex-shrink:0}.app-header-left{display:flex;align-items:center;gap:.6rem}.app-logo{font-size:1.4rem}.app-name{font-weight:700;font-size:1.05rem}.logout-btn{background:#ffffff2e;border:1px solid rgba(255,255,255,.4);color:#fff;padding:.45rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:background .15s}.logout-btn:hover{background:#ffffff4d}.app-body{display:flex;flex:1;overflow:hidden;height:calc(100vh - 60px)}.sidebar{flex:0 0 360px;width:360px;min-width:360px;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column}.sidebar-header{padding:1rem 1rem .7rem;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.sidebar-label{font-size:.82rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.sidebar-title-text{font-size:1.15rem;font-weight:700;color:var(--text);margin-top:.35rem}.sidebar-list{list-style:none;padding:.3rem 0}.sidebar-item{padding:.15rem .5rem}.sidebar-chapter{list-style:none}.sidebar-chapter-btn{display:flex;align-items:center;gap:.45rem;width:100%;padding:.7rem .85rem;background:none;border:none;cursor:pointer;text-align:left;font-size:1rem;font-weight:700;color:var(--text);border-left:3px solid transparent;transition:background .15s,border-color .15s}.sidebar-chapter-btn:hover{background:#f1f5f9}.sidebar-chapter-btn.has-active{border-left-color:var(--primary);color:var(--primary-d)}.sidebar-chapter-arrow{display:inline-block;font-size:.7rem;color:var(--muted);transition:transform .2s;flex-shrink:0}.sidebar-chapter-arrow.open{transform:rotate(90deg)}.sidebar-chapter-label{line-height:1.35;word-break:break-word}.sidebar-section-list{list-style:none;padding:0;max-height:0;overflow:hidden;transition:max-height .25s ease}.sidebar-section-list.open{max-height:600px}.sidebar-section-list .sidebar-item{padding:.1rem .5rem .1rem 1.1rem}.sidebar-btn{display:flex;flex-direction:column;gap:.25rem;width:100%;text-align:left;padding:.75rem .85rem;border:none;border-left:3px solid transparent;border-radius:0 8px 8px 0;background:transparent;cursor:pointer;transition:background .12s;outline:none}.sidebar-btn:hover{background:#f1f5f9}.sidebar-btn.active{background:#eff6ff;border-left-color:var(--primary)}.sidebar-section-badge{font-size:.82rem;font-weight:700;color:var(--primary);letter-spacing:.05em}.sidebar-section-title{font-size:1rem;font-weight:700;color:var(--text);line-height:1.45;word-break:break-word}.sidebar-btn.active .sidebar-section-title{color:var(--primary-d)}.sidebar-empty{padding:1rem;font-size:.9rem;color:var(--muted)}.app-main{flex:1 1 0;min-width:0;overflow-y:auto;background:var(--bg)}.viewer-wrapper{padding:1.75rem 1.75rem 4rem}.viewer-card{max-width:1100px;width:100%;margin:0 auto;background:var(--surface);border-radius:14px;box-shadow:0 2px 16px #0f172a14,0 1px 3px #0f172a0d;padding:2rem 2.5rem 3.5rem}.viewer-loading,.viewer-error{display:flex;align-items:center;justify-content:center;height:60vh;font-size:1.05rem;color:var(--muted)}.viewer-error{color:var(--danger)}.section-badge{display:inline-block;background:#eff6ff;color:var(--primary);border:1px solid #bfdbfe;border-radius:999px;padding:.25rem 1rem;font-size:.9rem;font-weight:700;margin-bottom:.75rem}.viewer-title{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:800;line-height:1.25;letter-spacing:-.01em;color:#0f172a}.viewer-meta{font-size:.85rem;color:var(--muted);margin-top:.5rem}.tab-nav{display:flex;gap:.3rem;border-bottom:2px solid var(--border);margin:1.5rem 0 1.75rem}.tab-btn{padding:.6rem 1.2rem;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;background:transparent;color:var(--muted);font-size:1rem;font-weight:500;cursor:pointer;border-radius:4px 4px 0 0;transition:color .15s,background .15s}.tab-btn:hover{color:var(--primary);background:#f8fafc}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:700;background:#eff6ff}.tab-panel{animation:fadeIn .18s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1}}.markdown-body{font-size:1.125rem;line-height:1.85;color:var(--text)}.markdown-body h1{font-size:1.75rem;font-weight:800;margin:2rem 0 .75rem;border-bottom:2px solid var(--border);padding-bottom:.45rem;letter-spacing:-.01em;color:#0f172a}.markdown-body h2{font-size:1.45rem;font-weight:700;margin:1.75rem 0 .6rem;padding-left:.75rem;border-left:4px solid var(--primary);color:#0f172a}.markdown-body h3{font-size:1.2rem;font-weight:700;margin:1.4rem 0 .45rem;color:#1e40af}.markdown-body h4{font-size:1.1rem;font-weight:700;margin:1.1rem 0 .35rem;color:var(--text)}.markdown-body p{margin:.8rem 0}.markdown-body ul,.markdown-body ol{padding-left:1.6rem;margin:.55rem 0}.markdown-body li{margin:.4rem 0;line-height:1.75}.markdown-body strong{font-weight:700;color:#0f172a}.markdown-body em{font-style:italic}.markdown-body code{background:#f1f5f9;border:1px solid var(--border);border-radius:4px;padding:.12em .45em;font-size:.9em;font-family:JetBrains Mono,Fira Code,Consolas,monospace}.markdown-body pre{background:#f6f8fa;border:1px solid #d0d7de;border-radius:var(--radius);padding:1.1rem 1.3rem;overflow-x:auto;margin:1.1rem 0}.markdown-body pre code{background:transparent;border:none;color:#24292e;font-size:.88rem;line-height:1.7}.markdown-body blockquote{border-left:4px solid var(--primary);background:#eff6ff;padding:.65rem 1.1rem;margin:.9rem 0;border-radius:0 var(--radius) var(--radius) 0;color:#1e40af;font-size:.97rem}.markdown-body hr{border:none;border-top:2px solid var(--border);margin:1.6rem 0}.table-wrapper{overflow-x:auto;margin:1.1rem 0;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow)}.markdown-body table{width:100%;border-collapse:collapse;font-size:1rem}.markdown-body thead tr{background:#f8fafc}.markdown-body th{text-align:left;padding:.65rem 1.1rem;font-weight:700;color:#0f172a;font-size:.95rem;border-bottom:2px solid var(--border);white-space:nowrap}.markdown-body td{padding:.6rem 1.1rem;border-bottom:1px solid var(--border);line-height:1.6;font-size:1rem}.markdown-body tbody tr:last-child td{border-bottom:none}.markdown-body tbody tr:hover{background:#f8fafc}.code-block-wrapper{position:relative;margin:1rem 0;background:#f6f8fa;border:1px solid #d0d7de;border-radius:var(--radius);overflow:hidden}.code-lang-badge{position:absolute;top:.5rem;left:.8rem;font-size:.7rem;color:#64748b;font-family:monospace;text-transform:uppercase;letter-spacing:.05em}.copy-btn{position:absolute;top:.45rem;right:.55rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);color:#94a3b8;border-radius:5px;padding:.25rem .5rem;cursor:pointer;font-size:.78rem;transition:background .15s}.copy-btn:hover{background:#ffffff38}.code-block-wrapper code{padding:1.8rem 1.3rem 1rem;display:block}.python-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.python-header h2{font-size:1.1rem;font-weight:700}.copy-all-btn{background:var(--surface);border:1px solid var(--border);padding:.4rem .9rem;border-radius:8px;cursor:pointer;font-size:.88rem;transition:background .15s}.copy-all-btn:hover{background:#f1f5f9}.audio-bar{display:flex;flex-direction:column;gap:.5rem;padding:.65rem 1rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;margin-bottom:1.5rem}.audio-bar-top{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.audio-bar-label{font-size:.8rem;font-weight:700;color:#0369a1;white-space:nowrap}.audio-bar-speak-btn{padding:.35rem .9rem;border:none;border-radius:6px;background:#0284c7;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.audio-bar-speak-btn:hover{background:#0369a1}.audio-bar-speak-btn.speaking{background:#dc2626}.audio-bar-speak-btn.primary{background:#16a34a}.audio-bar-speak-btn.primary:hover{background:#15803d}.audio-bar-toggle{font-size:.8rem;color:#0284c7;background:none;border:none;cursor:pointer;text-decoration:underline;padding:0}.audio-script-area{width:100%;margin-top:.5rem;background:#fafcff;border:1px solid #bae6fd;border-left:4px solid #0284c7;border-radius:0 8px 8px 0;padding:1rem 1.25rem;font-size:.925rem;line-height:1.9;color:#1e293b;max-height:320px;overflow-y:auto;font-family:Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,sans-serif}.audio-script-para{margin:0 0 .85em;word-break:break-word;padding:.35rem .6rem;border-left:3px solid transparent;border-radius:0 6px 6px 0;transition:background .25s,border-color .25s,color .25s}.audio-script-para:last-child{margin-bottom:0}.audio-script-para.active{background:#fef9c3;border-left-color:#eab308;color:#713f12;font-weight:500}.audio-bar-voice-select{font-size:.8rem;padding:.25rem .5rem;border:1px solid #bae6fd;border-radius:6px;background:#f0f9ff;color:#0369a1;cursor:pointer}.audio-bar-voice-select:disabled{opacity:.55;cursor:not-allowed}.audio-custom-controls{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;width:100%;padding:.35rem .5rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.audio-ctrl-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:50%;background:#0284c7;color:#fff;font-size:1rem;cursor:pointer;transition:background .15s,opacity .15s;flex-shrink:0}.audio-ctrl-btn:hover{background:#0369a1}.audio-ctrl-btn:active{transform:scale(.94)}.audio-ctrl-btn:disabled{opacity:.35;cursor:default}.audio-ctrl-btn.audio-ctrl-stop{background:#dc2626}.audio-ctrl-btn.audio-ctrl-stop:hover{background:#b91c1c}.audio-mode-tabs{display:flex;gap:.3rem;margin-bottom:.2rem}.audio-mode-tab{padding:.3rem .9rem;font-size:.82rem;font-weight:600;background:#fff;color:#64748b;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.audio-mode-tab:hover{background:#f1f5f9;color:#334155}.audio-mode-tab.active{background:#0284c7;color:#fff;border-color:#0284c7}.audio-content-hint{font-size:.78rem;color:#64748b;margin:.1rem 0 0;padding:.35rem .65rem;background:#f1f5f9;border-radius:6px;border-left:3px solid #bae6fd;line-height:1.5}.audio-content-hint strong{color:#0369a1;font-weight:700}.audio-script-usage-hint{font-size:.75rem;color:#64748b;margin:0 0 .6rem;padding:.3rem .6rem;background:#f1f5f9;border-radius:6px;border-left:3px solid #bae6fd;line-height:1.5}.audio-script-usage-hint strong{color:#0369a1;font-weight:700}.reading-active{background:#fef9c3!important;outline:2px solid #eab308;outline-offset:2px;border-radius:4px;transition:background .2s,outline .2s;scroll-margin-top:120px}.content-reading-mode h1,.content-reading-mode h2,.content-reading-mode h3,.content-reading-mode h4,.content-reading-mode h5,.content-reading-mode h6,.content-reading-mode p,.content-reading-mode li{cursor:pointer;border-radius:4px;transition:background .12s}.content-reading-mode h1:hover,.content-reading-mode h2:hover,.content-reading-mode h3:hover,.content-reading-mode h4:hover,.content-reading-mode h5:hover,.content-reading-mode h6:hover,.content-reading-mode p:hover,.content-reading-mode li:hover{background:#3b82f612}.audio-script-para{cursor:pointer}.audio-script-para:not(.active):hover{background:#3b82f60d;border-radius:4px}.audio-voice-toggle{display:flex;border:1px solid #bae6fd;border-radius:6px;overflow:hidden}.audio-voice-toggle-btn{padding:.25rem .75rem;font-size:.82rem;font-weight:600;background:#fff;color:#0369a1;border:none;cursor:pointer;transition:background .15s,color .15s}.audio-voice-toggle-btn+.audio-voice-toggle-btn{border-left:1px solid #bae6fd}.audio-voice-toggle-btn.active{background:#0284c7;color:#fff}.audio-voice-toggle-btn:hover:not(.active){background:#e0f2fe}.audio-status-badge{font-size:.75rem;color:#0369a1;min-width:4rem}.audio-time{font-size:.78rem;color:#475569;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.audio-speed-label{font-size:.75rem;color:#64748b;flex-shrink:0;white-space:nowrap}.audio-seek{flex:1;min-width:80px;height:4px;accent-color:#0284c7;cursor:pointer}.audio-bar-error{font-size:.78rem;color:#dc2626;display:flex;align-items:center;flex-wrap:wrap;gap:4px}.audio-player-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:1.5rem 1.75rem}.audio-player-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.audio-icon{font-size:1.3rem}.audio-title{font-size:1.05rem;font-weight:700}.native-audio-wrapper{margin:.6rem 0 1rem}.native-audio{width:100%;border-radius:10px}.speech-fallback{background:#f8fafc;border-radius:8px;padding:.9rem 1rem;margin-bottom:1rem}.speech-note{font-size:.95rem;color:var(--muted);margin-bottom:.7rem}.speak-btn{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:.5rem 1.2rem;cursor:pointer;font-size:.95rem;font-weight:600;transition:background .15s}.speak-btn:hover{background:var(--primary-d)}.speak-btn.speaking{background:#dc2626}.script-toggle{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.92rem;padding:.35rem 0;display:flex;align-items:center;gap:.35rem;text-decoration:underline}.talk-script-body{margin-top:1rem}.talk-script-pre{background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:1rem 1.2rem;font-family:Noto Sans JP,Segoe UI,sans-serif;font-size:.92rem;line-height:1.85;white-space:pre-wrap;word-break:break-all;overflow-x:auto;max-height:520px;overflow-y:auto}.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:linear-gradient(135deg,#0f2560,#1e3a8a,#1d4ed8 70%,#2563eb)}.login-card{background:#fff;border-radius:18px;box-shadow:0 4px 6px #00000012,0 20px 40px #00000038,0 40px 80px #00000029;padding:2.5rem 2.5rem 2rem;width:100%;max-width:460px}.login-title{font-size:1.6rem;font-weight:800;text-align:center;margin-bottom:.4rem;letter-spacing:-.01em}.login-subtitle{font-size:.95rem;color:var(--muted);text-align:center;margin-bottom:2rem}.login-form{display:flex;flex-direction:column;gap:1.2rem}.login-form label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;font-weight:600;color:#1e293b}.login-form input{border:1.5px solid var(--border);border-radius:10px;padding:.75rem 1rem;font-size:1rem;outline:none;transition:border-color .15s,box-shadow .15s;background:#f8fafc}.login-form input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #2563eb1f}.login-error{color:var(--danger);font-size:.875rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.55rem .85rem}.login-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:12px;padding:.875rem;font-size:1rem;font-weight:700;letter-spacing:.02em;cursor:pointer;margin-top:.5rem;box-shadow:0 4px 14px #2563eb66;transition:background .15s,transform .1s,box-shadow .15s}.login-btn:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e3a8a);box-shadow:0 6px 20px #2563eb7a;transform:translateY(-1px)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.ai-chat-fab{position:fixed;bottom:1.75rem;right:1.75rem;z-index:1500;width:3.25rem;height:3.25rem;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff;font-size:1.3rem;border:none;cursor:pointer;box-shadow:0 4px 20px #7c3aed80;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s,background .2s}.ai-chat-fab:hover{transform:scale(1.1);box-shadow:0 6px 28px #7c3aed99}.ai-chat-fab.open{background:linear-gradient(135deg,#475569,#334155);box-shadow:0 4px 16px #0000004d}.ai-chat-fab-badge{position:absolute;top:-.2rem;right:-.2rem;background:#ef4444;color:#fff;font-size:.6rem;font-weight:800;min-width:1.1rem;height:1.1rem;border-radius:999px;display:flex;align-items:center;justify-content:center;border:2px solid #fff;padding:0 .25rem}.ai-chat-panel{position:fixed;bottom:0;right:0;z-index:1400;width:390px;height:calc(100vh - 60px);background:#fff;box-shadow:-4px 0 32px #00000026;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);border-left:1px solid #e2e8f0}.ai-chat-panel.open{transform:translate(0)}.ai-chat-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1399;background:transparent}.ai-chat-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff;flex-shrink:0;gap:.5rem}.ai-chat-header-left{display:flex;align-items:center;gap:.55rem;min-width:0;flex:1}.ai-chat-header-icon{font-size:1.15rem;flex-shrink:0}.ai-chat-header-text{display:flex;flex-direction:column;gap:.05rem;min-width:0}.ai-chat-header-title{font-weight:800;font-size:.92rem;line-height:1.2}.ai-chat-header-context{font-size:.68rem;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-chat-header-actions{display:flex;gap:.3rem;flex-shrink:0}.ai-chat-header-btn{background:#fff3;border:1px solid rgba(255,255,255,.35);color:#fff;width:1.75rem;height:1.75rem;border-radius:6px;cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center;transition:background .12s}.ai-chat-header-btn:hover:not(:disabled){background:#ffffff59}.ai-chat-header-btn:disabled{opacity:.4;cursor:default}.ai-chat-messages{flex:1;overflow-y:auto;padding:1rem .85rem;display:flex;flex-direction:column;gap:.65rem;background:#f8fafc;scroll-behavior:smooth}.ai-chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;color:#94a3b8;text-align:center;padding:2rem 1rem}.ai-chat-empty-icon{font-size:2.5rem}.ai-chat-empty p{font-size:.85rem;line-height:1.6;margin:0}.ai-chat-empty-hint{font-size:.75rem!important;color:#bfdbfe;background:#eff6ff;border-radius:8px;padding:.4rem .7rem;color:#3b82f6!important}.ai-chat-bubble-wrap{display:flex;align-items:flex-end;gap:.4rem}.ai-chat-bubble-wrap.user{flex-direction:row-reverse}.ai-chat-avatar{font-size:.95rem;width:1.6rem;height:1.6rem;background:linear-gradient(135deg,#7c3aed,#2563eb);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.75rem}.ai-chat-bubble{max-width:82%;padding:.6rem .85rem;border-radius:12px;font-size:.84rem;line-height:1.65;word-break:break-word}.ai-chat-bubble.user{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-bottom-right-radius:3px}.ai-chat-bubble.assistant{background:#fff;color:#1e293b;border:1px solid #e2e8f0;border-bottom-left-radius:3px;box-shadow:0 1px 3px #0000000f}.ai-chat-typing{display:flex;align-items:center;gap:.3rem;padding:.65rem .9rem;min-width:3.5rem}.ai-chat-typing span{display:block;width:.45rem;height:.45rem;background:#94a3b8;border-radius:50%;animation:ai-typing-bounce .9s ease-in-out infinite}.ai-chat-typing span:nth-child(2){animation-delay:.15s}.ai-chat-typing span:nth-child(3){animation-delay:.3s}@keyframes ai-typing-bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-.45rem);opacity:.6}}.ai-chat-error{font-size:.78rem;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.45rem .75rem;text-align:center}.ai-chat-input-wrap{display:flex;align-items:flex-end;gap:.4rem;padding:.75rem;border-top:1px solid #e2e8f0;background:#fff;flex-shrink:0}.ai-chat-input{flex:1;border:1.5px solid #e2e8f0;border-radius:10px;padding:.55rem .75rem;font-size:.85rem;line-height:1.5;resize:none;outline:none;font-family:inherit;background:#f8fafc;transition:border-color .15s,box-shadow .15s;min-height:2.5rem;max-height:140px;overflow-y:auto}.ai-chat-input:focus{border-color:#7c3aed;background:#fff;box-shadow:0 0 0 3px #7c3aed1f}.ai-chat-input:disabled{opacity:.6}.ai-chat-send-btn{width:2.5rem;height:2.5rem;background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:filter .12s,transform .1s}.ai-chat-send-btn:hover:not(:disabled){filter:brightness(1.12);transform:scale(1.05)}.ai-chat-send-btn:disabled{opacity:.45;cursor:default}@media (max-width: 480px){.ai-chat-panel{width:100%}}.rp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:rp-fade-in .25s ease}@keyframes rp-fade-in{0%{opacity:0}to{opacity:1}}.rp-card{background:#fff;border-radius:16px;box-shadow:0 24px 80px #00000047;width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:rp-slide-up .28s cubic-bezier(.4,0,.2,1)}@keyframes rp-slide-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.rp-header{display:flex;align-items:center;gap:.65rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;flex-shrink:0}.rp-header-icon{font-size:1.4rem}.rp-header-text{flex:1;display:flex;flex-direction:column;gap:.1rem}.rp-header-title{font-size:1rem;font-weight:800}.rp-header-sub{font-size:.78rem;opacity:.85}.rp-close-btn{background:#fff3;border:1px solid rgba(255,255,255,.35);color:#fff;width:1.8rem;height:1.8rem;border-radius:50%;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s}.rp-close-btn:hover{background:#ffffff59}.rp-task-list{overflow-y:auto;flex:1;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.75rem}.rp-task-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.55rem}.rp-task-top{display:flex;align-items:flex-start;gap:.5rem}.rp-task-main{flex:1;display:flex;flex-direction:column;gap:.25rem}.rp-task-section{font-size:.88rem;font-weight:700;color:#1e293b;line-height:1.4}.rp-task-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.rp-trigger-badge{font-size:.7rem;font-weight:600;background:#e0e7ff;color:#3730a3;padding:.1rem .45rem;border-radius:999px}.rp-time-ago{font-size:.7rem;color:#94a3b8}.rp-skip-btn{background:none;border:none;color:#cbd5e1;cursor:pointer;font-size:.75rem;padding:.1rem .3rem;border-radius:4px;transition:color .1s,background .1s;flex-shrink:0}.rp-skip-btn:hover{color:#64748b;background:#f1f5f9}.rp-stage-dots{display:flex;align-items:center;gap:.35rem}.rp-dot{width:.6rem;height:.6rem;border-radius:50%;background:#e2e8f0;flex-shrink:0;transition:background .2s}.rp-dot.done{background:#22c55e}.rp-dot.current{background:#2563eb;box-shadow:0 0 0 2px #bfdbfe}.rp-stage-label{font-size:.72rem;font-weight:600;color:#475569;margin-left:.25rem}.rp-overdue-row{display:flex;align-items:center;gap:.5rem}.rp-overdue-badge{font-size:.7rem;font-weight:700;background:#fef3c7;color:#92400e;padding:.1rem .5rem;border-radius:999px;border:1px solid #fde68a}.rp-overdue-hint{font-size:.7rem;color:#94a3b8}.rp-go-btn{width:100%;padding:.55rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:8px;font-size:.83rem;font-weight:700;cursor:pointer;transition:filter .12s,transform .1s;letter-spacing:.02em}.rp-go-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.rp-go-btn:active{transform:translateY(0)}.rp-footer{padding:.75rem 1.25rem;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;align-items:center;gap:.4rem;flex-shrink:0}.rp-dismiss-btn{background:none;border:1px solid #cbd5e1;color:#64748b;padding:.45rem 1.5rem;border-radius:8px;font-size:.82rem;cursor:pointer;transition:background .1s,color .1s}.rp-dismiss-btn:hover{background:#f1f5f9;color:#334155}.rp-footer-hint{font-size:.68rem;color:#94a3b8;text-align:center}.review-notify-btn{background:#fff3;border:1px solid rgba(255,255,255,.45);color:#fff;padding:.35rem .85rem;border-radius:999px;font-size:.8rem;font-weight:700;cursor:pointer;margin-right:auto;margin-left:.5rem;transition:background .12s;animation:rp-pulse 2s ease-in-out infinite}.review-notify-btn:hover{background:#ffffff52}@keyframes rp-pulse{0%,to{opacity:1}50%{opacity:.75}}.study-sidebar{flex:0 0 320px;width:320px;min-width:320px;background:var(--bg);border-left:1px solid var(--border);overflow-y:auto;padding:1rem .75rem 2rem;display:flex;flex-direction:column;gap:.75rem}.study-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--border)}.study-card-head{display:flex;align-items:center;gap:.45rem;padding:.65rem .9rem;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-bottom:1px solid #bfdbfe}.study-card-head--btn{width:100%;border:none;cursor:pointer;text-align:left;border-bottom:1px solid #bfdbfe;transition:background .12s}.study-card-head--btn:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.study-card-head--btn.open{border-bottom:1px solid #bfdbfe}.study-head-icon{font-size:1rem;flex-shrink:0}.study-head-title{font-size:.875rem;font-weight:700;color:#1e40af;flex:1}.study-head-badge{font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;background:#2563eb;color:#fff;flex-shrink:0;transition:background .3s}.study-head-badge[data-done=true]{background:#16a34a}.study-head-badge--green{background:#059669}.study-head-badge--green[data-done=true]{background:#16a34a}.study-progress-wrap{display:flex;align-items:center;gap:.5rem;padding:.5rem .9rem .35rem;background:#f8fafc;border-bottom:1px solid #f1f5f9}.study-progress-track{flex:1;height:7px;background:#e0e7ef;border-radius:999px;overflow:hidden}.study-progress-fill{height:100%;background:linear-gradient(90deg,#2563eb,#7c3aed 60%,#059669);border-radius:999px;transition:width .5s cubic-bezier(.4,0,.2,1);min-width:0}.study-progress-label{font-size:.72rem;font-weight:700;color:#475569;min-width:2.2rem;text-align:right}.study-complete-banner{padding:.45rem .9rem;background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#065f46;font-size:.8rem;font-weight:700;text-align:center;border-bottom:1px solid #a7f3d0;animation:study-pop .4s ease}@keyframes study-pop{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}.study-phase{border-bottom:1px solid #f1f5f9}.study-phase:last-child{border-bottom:none}.study-phase-btn{width:100%;display:flex;align-items:center;gap:.4rem;padding:.45rem .75rem;background:var(--phase-bg, #f8fafc);border:none;border-top:1px solid var(--phase-border, #e2e8f0);cursor:pointer;text-align:left;transition:background .12s}.study-phase-btn:first-child{border-top:none}.study-phase-btn:hover{filter:brightness(.97)}.study-phase-btn.done{opacity:.75}.study-phase-tag{font-size:.63rem;font-weight:800;color:#fff;padding:.1rem .4rem;border-radius:4px;letter-spacing:.04em;flex-shrink:0}.study-phase-name{font-size:.82rem;font-weight:700;color:var(--phase-color, #334155)}.study-phase-done-mark{font-size:.75rem;color:#16a34a;font-weight:800}.study-phase-arrow{margin-left:auto;font-size:.6rem;color:#94a3b8;flex-shrink:0}.study-items{padding:.5rem .75rem .65rem 1rem;display:flex;flex-direction:column;gap:.3rem;background:#fafbfc}.study-items--activity{background:#fff;padding-left:.85rem}.study-item{display:flex;align-items:flex-start;gap:.5rem;padding:.3rem .4rem;border-radius:6px;cursor:pointer;transition:background .1s}.study-item:hover{background:#f1f5f9}.study-item.checked .study-item-text{color:#94a3b8;text-decoration:line-through}.study-cb{margin-top:.2rem;width:.95rem;height:.95rem;flex-shrink:0;cursor:pointer;accent-color:#2563eb}.study-item-emoji{font-size:.9rem;flex-shrink:0;margin-top:.05rem}.study-item-text{font-size:.78rem;line-height:1.5;color:#334155;transition:color .15s,text-decoration .15s}.study-reset-btn{width:100%;padding:.45rem;background:none;border:1px solid #e2e8f0;border-radius:8px;color:#94a3b8;font-size:.75rem;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.study-reset-btn:hover{color:#dc2626;border-color:#fca5a5;background:#fff5f5}.study-quiz-hint{font-size:.75rem;opacity:.7}.mini-quiz-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.mini-quiz-modal{width:100%;max-width:440px;background:var(--surface);border-radius:12px;box-shadow:0 20px 50px #0003;border:1px solid var(--border);overflow:hidden}.mini-quiz-header{display:flex;align-items:flex-start;gap:.5rem;padding:1rem 1rem .75rem;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-bottom:1px solid #bfdbfe}.mini-quiz-badge{font-size:.65rem;font-weight:700;padding:.2rem .45rem;border-radius:999px;background:#2563eb;color:#fff;flex-shrink:0;margin-top:.15rem}.mini-quiz-title{flex:1;margin:0;font-size:.9rem;font-weight:700;color:#1e40af;line-height:1.4}.mini-quiz-close{background:none;border:none;color:#64748b;font-size:1rem;cursor:pointer;padding:.15rem .35rem;line-height:1}.mini-quiz-close:hover{color:#1e293b}.mini-quiz-body{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.mini-quiz-question{margin:0;font-size:.925rem;font-weight:600;color:#0f172a;line-height:1.55}.mini-quiz-options{display:flex;flex-direction:column;gap:.45rem}.mini-quiz-option{display:flex;align-items:flex-start;gap:.55rem;padding:.6rem .75rem;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:border-color .12s,background .12s;font-size:.875rem;line-height:1.45}.mini-quiz-option:hover{border-color:#93c5fd;background:#f8fafc}.mini-quiz-option.selected{border-color:#2563eb;background:#eff6ff}.mini-quiz-option input{margin-top:.2rem;flex-shrink:0}.mini-quiz-error{margin:0;font-size:.8rem;color:#dc2626}.mini-quiz-result{padding:.75rem;border-radius:8px;font-size:.875rem}.mini-quiz-result.correct{background:#ecfdf5;border:1px solid #a7f3d0}.mini-quiz-result.wrong{background:#fff1f2;border:1px solid #fecdd3}.mini-quiz-result-head{margin:0 0 .35rem;font-weight:700}.mini-quiz-result.correct .mini-quiz-result-head{color:#059669}.mini-quiz-result.wrong .mini-quiz-result-head{color:#dc2626}.mini-quiz-explanation{margin:0;color:#475569;line-height:1.5}.mini-quiz-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem 1rem;border-top:1px solid #f1f5f9}.mini-quiz-btn{padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;border:1px solid transparent}.mini-quiz-btn:disabled{opacity:.5;cursor:not-allowed}.mini-quiz-btn--ghost{background:#fff;border-color:#e2e8f0;color:#64748b}.mini-quiz-btn--ghost:hover:not(:disabled){background:#f8fafc}.mini-quiz-btn--primary{background:#2563eb;color:#fff}.mini-quiz-btn--primary:hover:not(:disabled){background:#1d4ed8}.study-review-card{border-color:#fde68a}.study-review-body{padding:.75rem .9rem;display:flex;flex-direction:column;gap:.6rem}.study-review-hint{font-size:.78rem;color:#64748b;line-height:1.55}.study-review-hint strong{color:#b45309}.study-review-status{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .65rem;background:#fffbeb;border:1px solid #fde68a;border-radius:8px}.study-review-status-icon{font-size:1rem;flex-shrink:0;margin-top:.1rem}.study-review-status-text{display:flex;flex-direction:column;gap:.15rem}.study-review-status-stage{font-size:.78rem;font-weight:700;color:#92400e}.study-review-status-date{font-size:.72rem;color:#b45309}.study-review-done{font-size:.8rem;font-weight:700;color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:.45rem .7rem;text-align:center}.study-register-feedback{font-size:.75rem;font-weight:700;color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:.3rem .6rem;text-align:center}.study-register-btn{width:100%;padding:.5rem;background:linear-gradient(135deg,#d97706,#b45309);color:#fff;border:none;border-radius:8px;font-size:.78rem;font-weight:700;cursor:pointer;transition:filter .12s,transform .1s;letter-spacing:.02em}.study-register-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.study-register-btn:active{transform:translateY(0)}@media (max-width: 1200px){.study-sidebar{display:none}}.highlight-toolbar{position:fixed;z-index:9999;transform:translate(-50%);display:flex;align-items:center;gap:.35rem;background:#1e293b;color:#f1f5f9;border-radius:10px;padding:.4rem .65rem;box-shadow:0 4px 20px #00000047;pointer-events:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.22))}.highlight-toolbar:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1e293b;border-bottom:none}.highlight-toolbar-label{font-size:.75rem;font-weight:700;letter-spacing:.03em;color:#94a3b8;white-space:nowrap;margin-right:.1rem}.highlight-toolbar-tip{font-size:.7rem;color:#64748b;white-space:nowrap;margin-left:.1rem}.highlight-color-btn{width:1.45rem;height:1.45rem;border-radius:50%;border:2.5px solid rgba(255,255,255,.45);cursor:pointer;flex-shrink:0;transition:transform .12s,box-shadow .12s;padding:0}.highlight-color-btn:hover{transform:scale(1.2);box-shadow:0 0 0 2px #ffffffb3}mark[data-hl-id]:hover{filter:brightness(.88)}@media (max-width: 1100px){.viewer-wrapper{padding:1.25rem 1.25rem 3rem}.viewer-card{padding:1.5rem 1.75rem 3rem}}@media (max-width: 1023px) and (min-width: 768px){.sidebar{flex:0 0 260px;width:260px;min-width:260px}.sidebar-section-title{font-size:1.1rem}.sidebar-title-text{font-size:1.25rem}.sidebar-label{font-size:.85rem}}@media (max-width: 767px){.app-body{flex-direction:column;height:auto;overflow:visible}.sidebar{flex:none;width:100%;min-width:unset;border-right:none;border-bottom:1px solid var(--border);max-height:220px}.sidebar-section-title{font-size:1rem}.sidebar-title-text{font-size:1.1rem}.sidebar-label{font-size:.8rem}.app-main{overflow-y:visible}.viewer-wrapper{padding:1rem 1rem 2.5rem}.viewer-card{padding:1.25rem 1.25rem 2rem;border-radius:10px}.tab-nav{flex-wrap:wrap;gap:.25rem}.app-header{height:52px;padding:0 1rem}}.section-nav{display:flex;justify-content:space-between;align-items:stretch;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.section-nav-prev,.section-nav-next{flex:1;display:flex}.section-nav-next{justify-content:flex-end}.section-nav-btn{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;border:1.5px solid #cbd5e1;border-radius:10px;background:#fff;cursor:pointer;transition:all .18s ease;max-width:280px;text-align:left}.section-nav-btn:hover{border-color:#3b82f6;background:#eff6ff;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f61f}.section-nav-btn--next{background:#3b82f6;border-color:#3b82f6;color:#fff}.section-nav-btn--next:hover{background:#2563eb;border-color:#2563eb;box-shadow:0 4px 14px #3b82f659}.section-nav-arrow{font-size:1.25rem;flex-shrink:0;color:inherit}.section-nav-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.section-nav-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.7;color:inherit}.section-nav-title{font-size:.875rem;font-weight:500;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.sidebar-admin-section{margin-top:auto;padding:1rem .75rem .75rem;border-top:1px solid #e2e8f0}.sidebar-admin-label{font-size:.7rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem}.sidebar-admin-btn{width:100%;display:flex;align-items:center;gap:.5rem;padding:.6rem .875rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#475569;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s;text-align:left}.sidebar-admin-btn:hover{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.app-header-breadcrumb{font-size:.85rem;color:#94a3b8;margin-left:.25rem}.app-main--full{flex:1}.admin-users-page{padding:1.5rem 2rem 3rem;max-width:1280px;margin:0 auto;width:100%}.admin-users-header{margin-bottom:1.5rem}.admin-back-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .875rem;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#475569;font-size:.8rem;cursor:pointer;transition:all .15s;margin-bottom:1rem}.admin-back-btn:hover{background:#f1f5f9;border-color:#94a3b8}.admin-users-title-row{display:flex;align-items:center;gap:1rem}.admin-users-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0}.admin-users-count{font-size:.875rem;color:#64748b;background:#f1f5f9;padding:.25rem .75rem;border-radius:20px}.admin-users-toolbar{margin-bottom:1.25rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.admin-search-input{width:100%;max-width:380px;padding:.6rem 1rem;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#1e293b;outline:none;transition:border-color .15s}.admin-search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.admin-loading,.admin-error{padding:2rem;text-align:center;color:#64748b;font-size:.95rem}.admin-error{color:#dc2626}.admin-table-wrapper{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table thead{background:#f8fafc}.admin-table th{padding:.75rem 1rem;text-align:left;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;border-bottom:1px solid #e2e8f0}.admin-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .12s}.admin-table tbody tr:last-child{border-bottom:none}.admin-table tbody tr:hover{background:#f8fafc}.admin-table td{padding:.8rem 1rem;color:#334155;vertical-align:middle}.admin-td-id{color:#94a3b8;font-size:.8rem;font-family:monospace;width:48px}.admin-td-name{font-weight:600;color:#1e293b}.admin-td-email{color:#475569}.admin-td-date{color:#94a3b8;font-size:.8rem;white-space:nowrap}.admin-table-empty{text-align:center;color:#94a3b8;padding:2rem}.user-role-badge{display:inline-block;padding:.25rem .65rem;border-radius:20px;font-size:.72rem;font-weight:700;letter-spacing:.03em}.user-role-badge--admin{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.user-role-badge--student{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.admin-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#475569;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.admin-btn:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.admin-btn:disabled{opacity:.45;cursor:not-allowed}.admin-btn--sm{padding:.3rem .6rem;font-size:.72rem}.admin-btn--primary{background:#2563eb;border-color:#2563eb;color:#fff}.admin-btn--primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.admin-btn--danger{background:#fff;border-color:#fca5a5;color:#dc2626}.admin-btn--danger:hover:not(:disabled){background:#fef2f2;border-color:#f87171}.admin-td-actions{min-width:0}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.25rem}.admin-pagination-info{font-size:.85rem;color:#64748b}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.admin-modal{background:#fff;border-radius:12px;padding:1.5rem;width:100%;max-width:440px;box-shadow:0 20px 40px #00000026}.admin-modal-title{margin:0 0 1rem;font-size:1.1rem;font-weight:700;color:#1e293b}.admin-modal-desc{margin:0 0 1rem;font-size:.875rem;color:#475569;line-height:1.6}.admin-form-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.875rem}.admin-form-label{font-size:.75rem;font-weight:700;color:#64748b}.admin-form-input{padding:.55rem .75rem;border:1.5px solid #e2e8f0;border-radius:7px;font-size:.875rem;color:#1e293b;outline:none}.admin-form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.admin-form-error{margin-bottom:.75rem;padding:.6rem .75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:7px;color:#dc2626;font-size:.8rem}.admin-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.user-plan-badge{display:inline-block;padding:.25rem .65rem;border-radius:20px;font-size:.72rem;font-weight:700;letter-spacing:.03em;white-space:nowrap}.user-plan-badge--premium{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #fbbf24;box-shadow:0 1px 3px #fbbf2459}.user-plan-badge--free{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}.admin-progress-cell{display:flex;align-items:center;gap:.5rem;min-width:120px}.admin-progress-track{flex:1;height:.5rem;background:#e2e8f0;border-radius:9999px;overflow:hidden}.admin-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:9999px;transition:width .3s ease}.admin-progress-label{font-size:.75rem;font-weight:600;color:#475569;min-width:2.5rem;text-align:right}.admin-form-checkbox{display:flex;align-items:center;gap:.5rem;margin-bottom:.875rem;font-size:.875rem;color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none}.admin-form-checkbox input{width:1rem;height:1rem;accent-color:#2563eb}.sidebar-course-tabs{display:flex;gap:.35rem;margin-top:.65rem;flex-wrap:wrap}.sidebar-course-tab{flex:1 1 calc(33.333% - .24rem);min-width:0;max-width:100%;padding:.4rem .45rem;border:1.5px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#64748b;font-size:.78rem;font-weight:700;line-height:1.25;cursor:pointer;transition:all .15s;text-align:center;white-space:normal;word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;display:inline-flex;align-items:center;justify-content:center;gap:.3rem;flex-wrap:wrap}.sidebar-course-tab-label{min-width:0}.sidebar-course-tab-dev{display:inline-flex;align-items:center;justify-content:center;min-width:1.15rem;padding:.05rem .28rem;border-radius:999px;font-size:.62rem;font-weight:800;line-height:1.2;color:#9a3412;background:#ffedd5;border:1px solid #fdba74}.sidebar-course-tab--dev:not(.active){border-color:#fdba74;background:#fff7ed;color:#9a3412}.sidebar-course-tab.active .sidebar-course-tab-dev{color:#fff7ed;background:#ffffff38;border-color:#ffffff73}.sidebar-course-tab:hover{border-color:#8b5cf673;color:var(--primary-d);background:var(--brand-tint, #eef2ff)}.sidebar-course-tab.active{background:linear-gradient(135deg,var(--primary),var(--accent-violet, #8b5cf6));border-color:var(--primary);color:#fff;box-shadow:0 2px 10px #1e3a8a59}.sidebar-course-desc{margin-top:.55rem;font-size:.72rem;line-height:1.45;color:#64748b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sidebar-dev-summary{margin:.45rem 0 0;padding:.4rem .55rem;border-radius:8px;font-size:.7rem;font-weight:600;line-height:1.35;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0}.sidebar-dev-summary--active{color:#9a3412;background:#fff7ed;border-color:#fdba74}.sidebar-dev-summary-title{margin:0;font-weight:700}.sidebar-dev-summary-list{margin:.25rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.1rem;font-weight:600;opacity:.92}.sidebar-course-tab-private{display:inline-flex;align-items:center;justify-content:center;min-width:1.15rem;padding:.05rem .28rem;border-radius:999px;font-size:.62rem;font-weight:800;line-height:1.2;color:#9a3412;background:#ffedd5;border:1px solid #fdba74}.sidebar-course-tab--private:not(.active){border-color:#fdba74}.sidebar-course-tab.active .sidebar-course-tab-private{color:#fff7ed;background:#ffffff38;border-color:#ffffff73}.sidebar-private-summary{margin:.45rem 0 0;padding:.4rem .55rem;border-radius:8px;font-size:.7rem;font-weight:600;line-height:1.35;color:#9a3412;background:#fff7ed;border:1px solid #fed7aa}.sidebar-private-summary--active{border-color:#fb923c;background:#ffedd5}.sidebar-private-summary-title{margin:0;font-weight:700}.sidebar-private-summary-list{margin:.25rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.1rem;font-weight:600;opacity:.92}.sidebar-btn--private{border-left:3px solid #ea580c}.plan-badge--private{background:#eef2ff;color:#3730a3;border:1px solid #a5b4fc}.academy-course-badge--private{color:#3730a3;background:#eef2ff;border-color:#a5b4fc}.academy-area-card--has-private{border-color:#a5b4fc}.sidebar-section-badges{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0}.sidebar-dev-badge{display:inline-block;padding:.12rem .4rem;border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.02em;color:#9a3412;background:#ffedd5;border:1px solid #fdba74;line-height:1.2}.sidebar-dev-badge--chapter{margin-left:.35rem;vertical-align:middle}.sidebar-btn--dev{border-left:3px solid #f97316}.sidebar-course-select-wrap{display:flex;flex-direction:column;gap:.3rem;margin-top:.55rem}.sidebar-course-select-label{font-size:.68rem;font-weight:700;color:#94a3b8;letter-spacing:.06em;text-transform:uppercase}.sidebar-course-select{width:100%;padding:.45rem .65rem;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;font-size:.82rem;font-weight:600;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}.sidebar-course-select:hover{border-color:#93c5fd}.sidebar-course-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--brand-focus-ring, rgba(30, 58, 138, .15))}.sidebar-empty--course{padding:1.5rem 1rem;text-align:center;font-size:.85rem;color:#94a3b8}.sidebar-empty--section{padding:.5rem 1rem;font-size:.78rem;color:#cbd5e1}.sidebar-learn-nav{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem .35rem;margin-bottom:.15rem}.sidebar-academy-link{font-size:.78rem;font-weight:700;color:var(--primary);text-decoration:none}.sidebar-academy-link:hover{text-decoration:underline}.sidebar-learn-sep{color:#94a3b8;font-size:.78rem}.sidebar-admin-fold{margin-top:.45rem;font-size:.72rem;color:#64748b}.sidebar-admin-fold summary{cursor:pointer;font-weight:700;color:#94a3b8;list-style:none}.sidebar-admin-fold summary::-webkit-details-marker{display:none}.sidebar-admin-fold summary:before{content:"▸ "}.sidebar-admin-fold[open] summary:before{content:"▾ "}.sidebar-list-head{position:sticky;top:0;z-index:1;padding:.45rem .85rem .2rem;font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:var(--surface);list-style:none}.app-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.header-admin-btn{display:inline-flex;align-items:center;gap:.4rem;background:#ffffff2e;border:1px solid rgba(255,255,255,.4);color:#fff;padding:.45rem .95rem;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;transition:background .15s,border-color .15s;white-space:nowrap}.header-admin-btn:hover{background:#ffffff4d}.header-admin-btn.active{background:#fff;color:var(--primary);border-color:#fff}.header-admin-btn-icon{flex-shrink:0}.header-admin-btn-icon--users{display:inline-flex;align-items:flex-end;gap:.14rem;height:1rem;padding:0 .05rem}.header-admin-btn-icon--users i{display:block;width:.42rem;height:.42rem;border-radius:50%;background:#fffffff2;box-shadow:0 1px 2px #1e3a8a26}.header-admin-btn-icon--users i:nth-child(2){width:.52rem;height:.52rem}.header-admin-btn.active .header-admin-btn-icon--users i{background:var(--primary);box-shadow:none}.header-admin-btn.active .header-admin-btn-icon--users i:nth-child(2){opacity:.75}.header-admin-btn.active .header-admin-btn-icon--users i:nth-child(3){opacity:.55}.header-admin-btn-icon--book{width:1rem;height:1rem;border-radius:.22rem;background:#ffffffeb;position:relative}.header-admin-btn-icon--book:after{content:"";position:absolute;left:.22rem;right:.22rem;top:.28rem;height:.1rem;border-radius:999px;background:#ffffff8c;box-shadow:0 .2rem #ffffff73,0 .38rem #ffffff59}.header-admin-btn.active .header-admin-btn-icon--book{background:var(--primary)}.header-admin-btn.active .header-admin-btn-icon--book:after{background:#ffffffd9;box-shadow:0 .2rem #ffffff8c,0 .38rem #fff6}.app-header .review-notify-btn{margin-right:0;margin-left:0}.premium-gate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.premium-gate-modal{background:#fff;border-radius:16px;padding:2rem 1.75rem;max-width:480px;width:100%;text-align:center;box-shadow:0 24px 64px #00000040}.premium-gate-consent{text-align:left;margin:0 0 1rem;padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.premium-gate-check{display:flex;align-items:flex-start;gap:.5rem;font-size:.8rem;color:#334155;line-height:1.45;margin:.35rem 0}.premium-gate-check input{margin-top:.15rem}.premium-gate-ver{color:#94a3b8;font-size:.72rem;margin-left:.25rem}.premium-gate-title{font-size:1.15rem;font-weight:800;color:#92400e;margin:0 0 .75rem}.premium-gate-desc{font-size:.9rem;color:#475569;line-height:1.6;margin:0 0 .5rem}.premium-gate-hint{font-size:.78rem;color:#94a3b8;line-height:1.5;margin:0 0 1.25rem}.premium-gate-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:10px;padding:.65rem 1.5rem;font-size:.9rem;font-weight:700;cursor:pointer}.premium-gate-btn:disabled{opacity:.65;cursor:not-allowed}.premium-gate-btn--primary{background:linear-gradient(135deg,#0ea5e9,#0369a1)}.premium-gate-btn--secondary{background:linear-gradient(135deg,#6366f1,#4338ca)}.premium-gate-btn:hover{filter:brightness(1.08)}.premium-gate-error{font-size:.82rem;color:#b91c1c;margin:0 0 .75rem}.premium-gate-b2b-link{display:block;font-size:.82rem;color:#0369a1;text-decoration:underline;margin:.15rem 0 .35rem}.premium-blocked-card{text-align:center;padding:3rem 2rem!important}.premium-blocked-icon{font-size:3rem;margin-bottom:1rem}.premium-blocked-title{font-size:1.25rem;font-weight:800;color:#92400e;margin:0 0 .75rem}.premium-blocked-desc{font-size:.95rem;color:#64748b;margin:0}.sidebar-btn.locked,.sidebar-chapter-btn.locked{opacity:.72}.study-item.locked{opacity:.55;cursor:not-allowed}.study-item.locked:hover{background:transparent}.study-lock-hint{margin:0 .9rem .5rem;padding:.4rem .65rem;font-size:.75rem;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:6px}.study-lock-hint-inline{font-size:.75rem}.study-card--coating .study-card-head{background:linear-gradient(135deg,#e0f2fe,#fff7ed);border-bottom-color:#fdba74}.study-card--guide .study-card-head{background:linear-gradient(135deg,#eff6ff,#ecfdf5);border-bottom-color:#bfdbfe}.study-coating-hint{margin:0;padding:.55rem .9rem;font-size:.75rem;line-height:1.55;color:#334155;background:#f8fafc;border-bottom:1px solid #e2e8f0}.study-phase-sub{font-size:.74rem;font-weight:400;color:#94a3b8}.scroll-to-top-btn{position:fixed;bottom:1.75rem;right:5.75rem;z-index:1450;display:inline-flex;align-items:center;gap:.35rem;height:3.25rem;padding:0 1rem 0 .85rem;border:1px solid rgba(255,255,255,.4);border-radius:8px;background:var(--brand-header-bg);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 4px 20px #2563eb47;transition:transform .2s,box-shadow .2s,filter .2s,opacity .2s;animation:scroll-to-top-in .2s ease;white-space:nowrap}.scroll-to-top-icon{font-size:1.1rem;line-height:1}.scroll-to-top-label{letter-spacing:.02em}.scroll-to-top-btn:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 6px 22px #2563eb5c}.scroll-to-top-btn:active{transform:translateY(0)}@keyframes scroll-to-top-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.scroll-to-top-btn{bottom:1.25rem;right:4.75rem;height:2.75rem;padding:0 .75rem 0 .65rem;font-size:.78rem}}.reference-link-hint{margin:-.5rem 0 1rem;padding:.65rem .9rem;border-left:3px solid #60a5fa;background:#eff6ff;color:#1e40af;font-size:.9rem;line-height:1.5;border-radius:0 6px 6px 0}.reference-link-hint p{margin:0 0 .35rem}.reference-link-hint p:last-child{margin-bottom:0}.reference-link-hint-sub{margin-top:.5rem!important;font-weight:600}.reference-link-hint-list{margin:.25rem 0 0;padding-left:1.25rem}.reference-link-hint-list li{margin:.2rem 0}.reference-link-hint a{color:#1d4ed8;text-decoration:underline}.reference-link-hint kbd{display:inline-block;padding:.1rem .45rem;border:1px solid #93c5fd;border-radius:4px;background:#fff;font-family:inherit;font-size:.85em;font-weight:600}.markdown-body{overflow-wrap:break-word;word-break:break-word}.markdown-body a{overflow-wrap:anywhere;word-break:break-all}.markdown-body li,.markdown-body p{overflow-wrap:anywhere}.markdown-body img{display:block;max-width:min(100%,720px);height:auto;margin:1.25rem auto;border-radius:8px;border:1px solid rgba(148,163,184,.35);box-shadow:0 4px 24px #0f172a1f}.markdown-body .external-link{position:relative}.markdown-body .external-link-icon{display:inline-block;margin-left:.12em;font-size:.72em;opacity:.6;vertical-align:super;line-height:1;text-decoration:none}.markdown-body .external-link:hover .external-link-icon,.markdown-body .external-link:focus-visible .external-link-icon{opacity:1}.markdown-body .external-link-tooltip{position:absolute;z-index:30;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);width:max-content;max-width:15rem;padding:.4rem .6rem;border-radius:6px;background:#1e293b;color:#f8fafc;font-size:.75rem;font-weight:400;line-height:1.45;text-align:center;white-space:normal;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease}.markdown-body .external-link-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1e293b}.markdown-body .external-link:hover .external-link-tooltip,.markdown-body .external-link:focus-visible .external-link-tooltip{opacity:1;visibility:visible}.markdown-body .code-block{position:relative;margin:1.1rem 0}.markdown-body .code-block pre{margin:0;padding:1.1rem 1.3rem 2.4rem;background:#f6f8fa;border:1px solid #d0d7de;border-radius:var(--radius);overflow-x:auto}.markdown-body .code-block pre code.hljs{display:block;background:transparent;color:#24292e;font-size:.88rem;line-height:1.7;padding:0}.markdown-body .code-block pre .hljs-keyword,.markdown-body .code-block pre .hljs-meta .hljs-keyword,.markdown-body .code-block pre .hljs-template-tag,.markdown-body .code-block pre .hljs-template-variable,.markdown-body .code-block pre .hljs-type,.markdown-body .code-block pre .hljs-variable.language_{color:#cf222e}.markdown-body .code-block pre .hljs-title,.markdown-body .code-block pre .hljs-title.class_,.markdown-body .code-block pre .hljs-title.function_{color:#8250df}.markdown-body .code-block pre .hljs-attr,.markdown-body .code-block pre .hljs-attribute,.markdown-body .code-block pre .hljs-literal,.markdown-body .code-block pre .hljs-meta,.markdown-body .code-block pre .hljs-number,.markdown-body .code-block pre .hljs-operator,.markdown-body .code-block pre .hljs-variable,.markdown-body .code-block pre .hljs-selector-attr,.markdown-body .code-block pre .hljs-selector-class,.markdown-body .code-block pre .hljs-selector-id,.markdown-body .code-block pre .hljs-section{color:#0550ae}.markdown-body .code-block pre .hljs-regexp,.markdown-body .code-block pre .hljs-string,.markdown-body .code-block pre .hljs-meta .hljs-string{color:#0a3069}.markdown-body .code-block pre .hljs-built_in,.markdown-body .code-block pre .hljs-symbol{color:#953800}.markdown-body .code-block pre .hljs-comment,.markdown-body .code-block pre .hljs-code,.markdown-body .code-block pre .hljs-formula{color:#57606a}.markdown-body .code-block pre .hljs-name,.markdown-body .code-block pre .hljs-quote,.markdown-body .code-block pre .hljs-selector-tag,.markdown-body .code-block pre .hljs-selector-pseudo{color:#116329}.markdown-body .code-block pre .hljs-subst,.markdown-body .code-block pre .hljs-emphasis,.markdown-body .code-block pre .hljs-strong{color:#24292e}.markdown-body pre .hljs,.markdown-body pre code.hljs{background:transparent;color:#24292e}.markdown-body pre .hljs-keyword,.markdown-body pre .hljs-meta .hljs-keyword,.markdown-body pre .hljs-template-tag,.markdown-body pre .hljs-template-variable,.markdown-body pre .hljs-type,.markdown-body pre .hljs-variable.language_{color:#cf222e}.markdown-body pre .hljs-title,.markdown-body pre .hljs-title.class_,.markdown-body pre .hljs-title.function_{color:#8250df}.markdown-body pre .hljs-attr,.markdown-body pre .hljs-attribute,.markdown-body pre .hljs-literal,.markdown-body pre .hljs-meta,.markdown-body pre .hljs-number,.markdown-body pre .hljs-operator,.markdown-body pre .hljs-variable,.markdown-body pre .hljs-selector-attr,.markdown-body pre .hljs-selector-class,.markdown-body pre .hljs-selector-id,.markdown-body pre .hljs-section{color:#0550ae}.markdown-body pre .hljs-regexp,.markdown-body pre .hljs-string,.markdown-body pre .hljs-meta .hljs-string{color:#0a3069}.markdown-body pre .hljs-built_in,.markdown-body pre .hljs-symbol{color:#953800}.markdown-body pre .hljs-comment,.markdown-body pre .hljs-code,.markdown-body pre .hljs-formula{color:#57606a}.markdown-body pre .hljs-name,.markdown-body pre .hljs-quote,.markdown-body pre .hljs-selector-tag,.markdown-body pre .hljs-selector-pseudo{color:#116329}.markdown-body pre .hljs-subst,.markdown-body pre .hljs-emphasis,.markdown-body pre .hljs-strong{color:#24292e}.markdown-body .code-block-copy{position:absolute;right:.55rem;bottom:.45rem;z-index:3;padding:.22rem .65rem;border:1px solid rgba(0,0,0,.08);border-radius:999px;background:#f3f4f6;color:#6b7280;font-size:.75rem;font-weight:500;line-height:1.2;letter-spacing:0;cursor:pointer;box-shadow:none;transition:background .15s ease,color .15s ease,border-color .15s ease}.markdown-body .code-block-copy:hover,.markdown-body .code-block-copy:focus-visible{color:#4b5563;background:#e8eaed;border-color:#0000001f;outline:none}.markdown-body .code-block-copy.is-copied{color:#6b7280;background:#f3f4f6}.markdown-body .code-block-copy:active{background:#e5e7eb}.mini-quiz-correct-answer{margin:.35rem 0 .5rem;font-weight:600;color:#166534}.mini-quiz-explanation-btn{margin-top:.5rem}.reflection-quiz-panel{margin-top:2.5rem;padding:1.5rem 1.25rem;border:1px solid #c7d2fe;border-radius:12px;background:linear-gradient(180deg,#f5f3ff,#fff)}.reflection-quiz-header{margin-bottom:1.25rem}.reflection-quiz-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:#7c3aed;color:#fff;font-size:.75rem;font-weight:600}.reflection-quiz-title{margin:.5rem 0 .35rem;font-size:1.25rem;color:#4c1d95}.reflection-quiz-desc{margin:0;color:#5b21b6;font-size:.9rem;line-height:1.5}.reflection-quiz-question{margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px dashed #ddd6fe}.reflection-quiz-question:last-of-type{border-bottom:none;margin-bottom:.75rem}.reflection-quiz-q-label{margin:0 0 .35rem;font-size:.85rem;color:#7c3aed;font-weight:700}.reflection-quiz-q-text{margin:0 0 .85rem;line-height:1.6;color:#1e1b4b}.reflection-quiz-options{display:flex;flex-direction:column;gap:.45rem}.reflection-quiz-option{display:flex;align-items:flex-start;gap:.5rem;padding:.65rem .75rem;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;line-height:1.45;transition:border-color .15s,background .15s}.reflection-quiz-option:hover{border-color:#a78bfa}.reflection-quiz-option.selected{border-color:#7c3aed;background:#ede9fe}.reflection-quiz-option input{margin-top:.2rem;flex-shrink:0}.reflection-quiz-option-letter{font-weight:700;color:#6d28d9;flex-shrink:0}.reflection-quiz-actions{margin-top:.85rem}.reflection-quiz-btn{padding:.5rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;border:none}.reflection-quiz-btn--primary{background:#7c3aed;color:#fff}.reflection-quiz-btn--primary:disabled{opacity:.5;cursor:not-allowed}.reflection-quiz-btn--ghost{background:#fff;color:#6d28d9;border:1px solid #c4b5fd}.reflection-quiz-error{color:#b91c1c;font-size:.9rem}.reflection-quiz-result{margin-top:.75rem;padding:.75rem .9rem;border-radius:8px}.reflection-quiz-result.correct{background:#ecfdf5;border:1px solid #6ee7b7}.reflection-quiz-result.wrong{background:#fef2f2;border:1px solid #fca5a5}.reflection-quiz-result-head{margin:0;font-weight:700}.reflection-quiz-result.correct .reflection-quiz-result-head{color:#166534}.reflection-quiz-result.wrong .reflection-quiz-result-head{color:#991b1b}.reflection-quiz-correct-answer{margin:.35rem 0 .5rem;font-weight:600;color:#166534}.reflection-quiz-explanation{margin:.5rem 0 0;line-height:1.55;color:#374151;font-size:.92rem}.reflection-quiz-history{margin-top:1rem;padding-top:.75rem;border-top:1px solid #ddd6fe}.reflection-quiz-history-toggle{background:none;border:none;color:#6d28d9;font-weight:600;font-size:.9rem;cursor:pointer;padding:.25rem 0}.reflection-quiz-history-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.45rem}.reflection-quiz-history-item{padding:.55rem .7rem;border-radius:8px;background:#fff;border:1px solid #e5e7eb;font-size:.85rem}.reflection-quiz-history-meta{display:block;color:#6b7280;margin-bottom:.2rem}.reflection-quiz-history-tag{display:inline-block;padding:.05rem .35rem;margin-right:.25rem;border-radius:4px;background:#ede9fe;color:#6d28d9;font-size:.75rem;font-weight:600}.reflection-quiz-history-result{font-weight:700;margin-right:.5rem}.reflection-quiz-history-result.ok{color:#166534}.reflection-quiz-history-result.ng{color:#991b1b}.reflection-quiz-history-answer{color:#374151}.code-ex-panel{margin-top:2.5rem;padding:1.5rem 1.25rem;border:1px solid #bfdbfe;border-radius:12px;background:linear-gradient(180deg,#eff6ff,#fff)}.code-ex-header{margin-bottom:1.25rem}.code-ex-panel--page{margin-top:0;border:none;border-radius:0;background:transparent;padding:0 0 1.5rem}.code-ex-workspace{flex:1 1 0;min-width:0;min-height:0;overflow:hidden;background:#f8fafc;display:flex;flex-direction:column}.code-ex-workspace-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1.25rem;background:#1e3a8a;color:#fff}.code-ex-workspace-kicker{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.85}.code-ex-workspace-title{margin:.15rem 0 0;font-size:1.15rem}.code-ex-workspace-actions{display:flex;gap:.5rem}.code-ex-workspace-btn{padding:.4rem .75rem;border-radius:8px;border:1px solid rgba(255,255,255,.35);background:#fff;color:#1e3a8a;font-weight:700;font-size:.82rem;cursor:pointer}.code-ex-workspace-btn--ghost{background:transparent;color:#fff}.code-ex-workspace-body{flex:1;padding:1rem 1.25rem 2rem;overflow:auto}.app-shell--code .app-body{display:flex;min-height:0}.code-ex-launch-card .exercise-launch-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.code-ex-float{position:fixed;top:4vh;right:4vw;bottom:4vh;left:4vw;z-index:9600;display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 20px 50px #0f172a47;overflow:hidden}.code-ex-float-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem 1rem;background:#1e3a8a;color:#fff}.code-ex-float-body{flex:1;overflow:auto;padding:1rem;background:#f8fafc}.code-ex-loading{margin:1rem 0;color:#1d4ed8;font-size:.92rem}.code-ex-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:#2563eb;color:#fff;font-size:.75rem;font-weight:600}.code-ex-title{margin:.5rem 0 .35rem;font-size:1.25rem;color:#1e3a8a}.code-ex-desc{margin:0;color:#1d4ed8;font-size:.9rem;line-height:1.5}.code-ex-card{margin-top:1rem;padding:1rem 1rem 1.15rem;border:1px solid #dbeafe;border-radius:10px;background:#ffffffd9}.code-ex-card--cleared{border-color:#86efac}.code-ex-card-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}.code-ex-card-title{margin:0;font-size:1.05rem;color:#1e3a8a}.code-ex-meta{display:flex;gap:.4rem;align-items:center}.code-ex-lang,.code-ex-cleared{display:inline-block;padding:.12rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600}.code-ex-lang{background:#dbeafe;color:#1d4ed8}.code-ex-cleared{background:#dcfce7;color:#166534}.code-ex-prompt{margin:.75rem 0 0;white-space:pre-wrap;font-family:inherit;font-size:.92rem;line-height:1.6;color:#1e3a8a;background:transparent}.code-ex-cases{margin-top:.85rem}.code-ex-cases-label,.code-ex-hidden-note,.code-ex-editor-hint{margin:0 0 .4rem;font-size:.8rem;color:#1d4ed8}.code-ex-cases ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.code-ex-case-btn{display:flex;flex-wrap:wrap;gap:.35rem .75rem;width:100%;text-align:left;padding:.45rem .65rem;border:1px solid #bfdbfe;border-radius:8px;background:#f8fbff;cursor:pointer;color:#1e3a8a;font-size:.82rem}.code-ex-case-btn:hover{background:#eff6ff}.code-ex-case-btn code{font-size:.78rem;color:#334155}.code-ex-field{display:block;margin-top:.85rem}.code-ex-field>span{display:block;margin-bottom:.35rem;font-size:.8rem;font-weight:600;color:#1e3a8a}.code-ex-editor,.code-ex-stdin{width:100%;box-sizing:border-box;border:1px solid #93c5fd;border-radius:8px;padding:.7rem .8rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem;line-height:1.5;color:#0f172a;background:#f8fafc;resize:vertical}.code-ex-editor:focus,.code-ex-stdin:focus{outline:2px solid #93c5fd;outline-offset:1px;background:#fff}.code-ex-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}.code-ex-btn{padding:.45rem .85rem;border-radius:8px;border:1px solid #93c5fd;background:#fff;color:#1d4ed8;font-weight:600;font-size:.88rem;cursor:pointer}.code-ex-btn:disabled{opacity:.55;cursor:not-allowed}.code-ex-btn--primary{background:#2563eb;border-color:#2563eb;color:#fff}.code-ex-btn--ghost{border-color:#cbd5e1;color:#475569}.code-ex-error{margin:.75rem 0 0;color:#b91c1c;font-size:.88rem}.code-ex-run,.code-ex-grade{margin-top:.9rem;padding:.75rem .85rem;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc}.code-ex-grade--ok{border-color:#86efac;background:#f0fdf4}.code-ex-grade--ng{border-color:#fecaca;background:#fef2f2}.code-ex-run-head,.code-ex-grade-head{margin:0 0 .35rem;font-weight:700;font-size:.9rem}.code-ex-grade--ok .code-ex-grade-head{color:#166534}.code-ex-grade--ng .code-ex-grade-head{color:#991b1b}.code-ex-grade-summary{margin:0 0 .6rem;font-size:.88rem}.code-ex-io,.code-ex-diff{display:grid;gap:.65rem}@media (min-width: 720px){.code-ex-diff{grid-template-columns:1fr 1fr}}.code-ex-io span,.code-ex-diff span{display:block;font-size:.75rem;font-weight:600;color:#475569;margin-bottom:.25rem}.code-ex-io pre,.code-ex-diff pre,.code-ex-stderr{margin:0;padding:.5rem .6rem;border-radius:6px;background:#0f172a;color:#e2e8f0;font-size:.8rem;white-space:pre-wrap;overflow-wrap:anywhere}.code-ex-stderr{background:#3f1d1d;color:#fecaca;margin-top:.4rem}.code-ex-grade-cases{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.code-ex-grade-cases li{padding:.45rem .55rem;border-radius:6px;background:#ffffffb3}.code-ex-grade-cases li.ok{border-left:3px solid #16a34a}.code-ex-grade-cases li.ng{border-left:3px solid #dc2626}.code-ex-case-row{display:flex;gap:.4rem;align-items:baseline}.code-ex-case-mark{font-weight:700}.code-ex-grade-cases li.ok .code-ex-case-mark{color:#16a34a}.code-ex-grade-cases li.ng .code-ex-case-mark{color:#dc2626}.code-ex-case-name{font-size:.88rem}.code-ex-case-msg{margin:.3rem 0 0;font-size:.82rem;color:#334155}.speaking-judge-panel{margin-top:2rem;padding:1.5rem 1.25rem;border:1px solid #99f6e4;border-radius:12px;background:linear-gradient(180deg,#ecfdf5,#fff)}.speaking-judge-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:#0d9488;color:#fff;font-size:.75rem;font-weight:600}.speaking-judge-title{margin:.5rem 0 .35rem;font-size:1.25rem;color:#134e4a}.speaking-judge-desc{margin:0;color:#115e59;font-size:.9rem;line-height:1.5}.speaking-judge-grammar{margin-top:1rem;padding:.85rem 1rem;border-radius:8px;background:#ffffffbf;border:1px solid #99f6e4}.speaking-judge-practice-intro{margin:0 0 .65rem;color:#0f766e;font-size:.85rem;line-height:1.5}.speaking-judge-grammar .speaking-judge-instruction{margin:0 0 .5rem}.speaking-judge-grammar .speaking-judge-hint{margin:0}.speaking-judge-progress{margin-top:.85rem;padding-top:.85rem;border-top:1px dashed #99f6e4}.speaking-judge-progress-title{margin:0 0 .55rem;font-size:.8rem;font-weight:600;color:#0f766e}.speaking-judge-progress-metrics{display:grid;gap:.65rem}@media (min-width: 520px){.speaking-judge-progress-metrics{grid-template-columns:1fr 1fr}}.speaking-judge-progress-metric{display:grid;gap:.2rem}.speaking-judge-progress-label{font-size:.75rem;color:#115e59}.speaking-judge-progress-metric strong{font-size:.9rem;color:#134e4a}.speaking-judge-progress-bar{height:6px;border-radius:999px;background:#ccfbf1;overflow:hidden}.speaking-judge-progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#0d9488)}.speaking-judge-progress-note{margin:.65rem 0 0;font-size:.78rem;line-height:1.45;color:#0f766e}.speaking-judge-history{margin:.75rem 0 0;padding:0;list-style:none;display:grid;gap:.35rem}.speaking-judge-history li{display:grid;grid-template-columns:auto auto 1fr;gap:.45rem;align-items:baseline;font-size:.78rem;padding:.35rem .5rem;border-radius:6px;background:#ffffffa6}.speaking-judge-history li.correct{border-left:3px solid #0d9488}.speaking-judge-history li.wrong{border-left:3px solid #f97316}.speaking-judge-history-result{font-weight:600;white-space:nowrap}.speaking-judge-history li.correct .speaking-judge-history-result{color:#0d9488}.speaking-judge-history li.wrong .speaking-judge-history-result{color:#ea580c}.speaking-judge-history-text{color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.speaking-judge-prompt{margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px dashed #99f6e4}.speaking-judge-prompt:last-of-type{border-bottom:none;margin-bottom:0}.speaking-judge-prompt-label{margin:0 0 .35rem;font-size:.85rem;color:#0d9488;font-weight:700}.speaking-judge-idea{margin:0 0 .75rem;padding:.65rem .75rem;border-radius:8px;background:#fff7ed;border:1px solid #fed7aa}.speaking-judge-idea-tag{display:inline-block;margin-bottom:.35rem;padding:.1rem .45rem;border-radius:999px;background:#ea580c;color:#fff;font-size:.7rem;font-weight:600}.speaking-judge-scenario{margin:0 0 .25rem;font-size:.88rem;font-weight:600;color:#9a3412}.speaking-judge-idea-text{margin:0;font-size:.84rem;line-height:1.5;color:#7c2d12}.speaking-judge-corpus{margin:.45rem 0 0;font-size:.8rem;line-height:1.45;color:#334155}.speaking-judge-corpus-list{margin:.4rem 0 0;padding:0;list-style:none;display:grid;gap:.35rem}.speaking-judge-corpus-list li{padding:.35rem .45rem;border-radius:6px;background:#ffffffb3;border-left:3px solid #38bdf8}.speaking-judge-corpus-phrase{display:block;font-weight:600;color:#0369a1;font-size:.78rem}.speaking-judge-corpus-example{display:block;margin-top:.15rem;color:#334155;font-size:.8rem;line-height:1.4}.speaking-judge-word-card{margin:0 0 .75rem;padding:.65rem .75rem;border-radius:8px;background:#eff6ff;border:1px solid #bfdbfe}.speaking-judge-word-head{margin:0 0 .35rem;display:flex;align-items:center;gap:.45rem}.speaking-judge-word-tag{display:inline-block;padding:.1rem .45rem;border-radius:999px;background:#2563eb;color:#fff;font-size:.68rem;font-weight:600}.speaking-judge-word-head strong{font-size:1.05rem;color:#1e3a8a}.speaking-judge-word-meaning,.speaking-judge-word-usage{margin:.2rem 0 0;font-size:.82rem;line-height:1.45;color:#1e40af}.speaking-judge-corpus-tag{display:inline-block;margin-right:.35rem;padding:.08rem .4rem;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:.68rem;font-weight:600;vertical-align:middle}.speaking-judge-corpus-all{margin-top:.65rem;font-size:.78rem;color:#475569}.speaking-judge-corpus-all summary{cursor:pointer;color:#0369a1;font-weight:600}.speaking-judge-corpus-all p{margin:.45rem 0 0;line-height:1.45}.speaking-judge-instruction{margin:0 0 .5rem;line-height:1.6;color:#134e4a;font-weight:600}.speaking-judge-hint{margin:0 0 .85rem;font-size:.88rem;color:#374151;line-height:1.5}.speaking-judge-hint-tag{display:inline-block;margin-right:.35rem;padding:.05rem .4rem;border-radius:4px;background:#ccfbf1;color:#0f766e;font-size:.75rem;font-weight:600}.speaking-judge-example{margin:0 0 .85rem;padding:.75rem .9rem;border-left:3px solid #14b8a6;border-radius:0 8px 8px 0;background:#f0fdfa}.speaking-judge-example-tag{display:inline-block;margin-bottom:.35rem;padding:.05rem .4rem;border-radius:4px;background:#99f6e4;color:#115e59;font-size:.75rem;font-weight:700}.speaking-judge-example-text{margin:.25rem 0 0;font-size:1rem;line-height:1.55;color:#134e4a;font-style:italic}.speaking-judge-key-phrases{margin:.4rem 0 0;font-size:.82rem;color:#0f766e}.speaking-judge-example-note{margin:.45rem 0 0;font-size:.78rem;color:#6b7280}.speaking-judge-example-ja{margin:.5rem 0 0;font-size:.88rem;line-height:1.55;color:#374151}.speaking-judge-example-ja-tag{display:inline-block;margin-right:.35rem;padding:.05rem .4rem;border-radius:4px;background:#e5e7eb;color:#4b5563;font-size:.72rem;font-weight:700;vertical-align:baseline}.speaking-judge-input-wrap{display:flex;flex-direction:column;gap:.5rem}.speaking-judge-input-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.speaking-judge-mic-status{flex:1 1 100%;margin:.15rem 0 0;font-size:.82rem;line-height:1.45}.speaking-judge-mic-status--ready{color:#0f766e}.speaking-judge-mic-status--preparing{color:#64748b}.speaking-judge-mic-status--listening{color:#b45309;font-weight:600}.speaking-judge-mic-status--unavailable{color:#64748b}.speaking-judge-clear{padding:.45rem .85rem;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#64748b;font-size:.88rem;font-weight:600;cursor:pointer}.speaking-judge-clear:hover:not(:disabled){border-color:#94a3b8;color:#334155}.speaking-judge-clear:disabled{opacity:.45;cursor:not-allowed}.speaking-judge-textarea{width:100%;padding:.75rem .85rem;border:1px solid #cbd5e1;border-radius:8px;font-size:.95rem;line-height:1.5;resize:vertical;font-family:inherit}.speaking-judge-textarea:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 2px #14b8a626}.speaking-judge-mic{align-self:flex-start;padding:.45rem .85rem;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s,opacity .15s}.speaking-judge-mic--ready{border:1px solid #5eead4;background:#fff;color:#0f766e}.speaking-judge-mic--ready:hover:not(:disabled){background:#f0fdfa;border-color:#14b8a6}.speaking-judge-mic--preparing{border:1px solid #cbd5e1;background:#f1f5f9;color:#64748b;cursor:wait}.speaking-judge-mic--listening{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.speaking-judge-mic--listening:hover:not(:disabled){background:#fee2e2}.speaking-judge-mic--unavailable,.speaking-judge-mic:disabled{border:1px solid #e2e8f0;background:#f8fafc;color:#94a3b8;cursor:not-allowed;opacity:.85}.speaking-judge-speech-notice{margin:0;font-size:.82rem;color:#92400e;line-height:1.45;padding:.5rem .65rem;border-radius:8px;background:#fffbeb;border:1px solid #fde68a}.speaking-judge-actions{margin-top:.85rem}.speaking-judge-btn{padding:.5rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;border:none}.speaking-judge-btn--primary{background:#0d9488;color:#fff}.speaking-judge-btn--primary:disabled{opacity:.5;cursor:not-allowed}.speaking-judge-btn--ghost{background:#fff;color:#0f766e;border:1px solid #5eead4}.speaking-judge-error{color:#b91c1c;font-size:.9rem;white-space:pre-line;line-height:1.5}.speaking-judge-result{margin-top:.75rem;padding:.75rem .9rem;border-radius:8px}.speaking-judge-result.correct{background:#ecfdf5;border:1px solid #6ee7b7}.speaking-judge-result.wrong{background:#fef2f2;border:1px solid #fca5a5}.speaking-judge-result-head{margin:0;font-weight:700}.speaking-judge-result.wrong .speaking-judge-result-head{color:#991b1b}.speaking-judge-feedback{margin:.4rem 0 0;line-height:1.55;color:#374151;font-size:.92rem}.speaking-judge-corrected{margin:.45rem 0 0;font-weight:600;color:#166534;font-size:.92rem}.speaking-judge-meta{margin:.45rem 0 0;font-size:.78rem;color:#6b7280}.ai-chat-fab-wrap{position:fixed;bottom:1.75rem;right:1.75rem;z-index:1500}.ai-chat-fab-wrap .ai-chat-fab{position:static}.ai-chat-fab-hint{position:absolute;right:0;bottom:calc(100% + .55rem);background:#1e293b;color:#fff;font-size:.78rem;font-weight:600;line-height:1.45;padding:.5rem .75rem;border-radius:10px;white-space:nowrap;box-shadow:0 4px 16px #0000002e;animation:ai-hint-fade-in .35s ease-out;pointer-events:none}.ai-chat-fab-hint:after{content:"";position:absolute;right:1.1rem;bottom:-.35rem;border:6px solid transparent;border-top-color:#1e293b}.ai-chat-fab.pulse{animation:ai-fab-pulse 1.6s ease-in-out infinite}@keyframes ai-hint-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes ai-fab-pulse{0%,to{box-shadow:0 4px 20px #7c3aed80}50%{box-shadow:0 4px 28px #7c3aedd9,0 0 0 6px #7c3aed33}}@media (max-width: 480px){.ai-chat-fab-hint{white-space:normal;max-width:11rem;right:-.25rem}}.sidebar{display:flex;flex-direction:column}.sidebar-list{flex:1;overflow-y:auto}.sidebar-skill-graph{flex-shrink:0;border-top:1px solid var(--border);background:#f8fafc;padding:.5rem .65rem .75rem}.sidebar-skill-toggle{width:100%;display:flex;align-items:center;gap:.4rem;padding:.45rem .35rem;border:none;background:none;cursor:pointer;font-size:.78rem;font-weight:800;color:#334155;text-align:left}.sidebar-skill-toggle-arrow{font-size:.62rem;color:#94a3b8}.skill-graph-panel{margin-top:.35rem}.skill-graph-panel--compact .skill-graph-body{max-height:280px;overflow-y:auto}.skill-graph-head{display:flex;align-items:center;gap:.35rem;margin-bottom:.25rem}.skill-graph-icon{font-size:.9rem}.skill-graph-title{font-size:.72rem;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.skill-graph-hint{margin:0 0 .45rem;font-size:.62rem;color:#94a3b8;line-height:1.4}.skill-graph-loading,.skill-graph-error{font-size:.72rem;color:#64748b;padding:.35rem 0}.skill-graph-error{color:#dc2626}.skill-domain+.skill-domain{margin-top:.55rem}.skill-domain-label{font-size:.68rem;font-weight:800;color:#1d4ed8;letter-spacing:.04em;margin-bottom:.3rem}.skill-row{margin-bottom:.35rem}.skill-row--compact{margin-bottom:.28rem}.skill-row--pending{opacity:.55}.skill-row-head{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.1rem}.skill-row-label{font-size:.72rem;font-weight:700;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-row-pct{font-size:.62rem;font-weight:700;color:#64748b;flex-shrink:0}.skill-row-pct--pending{color:#94a3b8;font-weight:600}.skill-blocks{display:flex;flex-direction:column;gap:.08rem}.skill-blocks--compact .skill-block{font-size:.62rem}.skill-blocks--pending .skill-block.filled{color:#cbd5e1}.skill-blocks-benchmark,.skill-blocks-user{display:flex;gap:1px;line-height:1}.skill-block{color:#cbd5e1;font-size:.68rem}.skill-block.filled{color:#2563eb}.skill-block.benchmark{font-size:.52rem;color:#e2e8f0}.skill-block.benchmark.filled{color:#94a3b8}.skill-mini-list{display:flex;flex-direction:column;gap:.2rem;min-width:140px}.skill-mini-item{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.skill-mini-label{font-size:.68rem;font-weight:600;color:#475569;white-space:nowrap}.skill-mini-empty{color:#94a3b8;font-size:.8rem}.admin-td-skills{min-width:150px}.admin-modal--wide{max-width:560px;max-height:85vh;overflow-y:auto}.admin-skills-modal-body{max-height:60vh;overflow-y:auto;margin-bottom:.5rem}.admin-skills-modal-body .skill-graph-panel{margin-top:0}.admin-skills-modal-body .skill-domain-skills{display:flex;flex-direction:column;gap:.15rem}.exercise-card{margin-top:.75rem}.exercise-body{padding:.65rem .75rem .75rem}.exercise-hint{margin:0 0 .65rem;font-size:.78rem;color:#64748b;line-height:1.45}.exercise-active-hint{margin:0 0 .5rem;font-size:.75rem;font-weight:600;color:#0ea5e9}.exercise-error{margin:0 0 .5rem;font-size:.75rem;color:#dc2626}.exercise-launch-btn{width:100%;padding:.55rem .75rem;border:none;border-radius:8px;background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;transition:opacity .15s}.exercise-launch-btn:hover:not(:disabled){opacity:.92}.exercise-launch-btn:disabled{opacity:.6;cursor:default}.sim-launch-card{margin:1rem 0 1.25rem;padding:.85rem 1rem;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff}.sim-launch-kicker{margin:0 0 .25rem;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#1d4ed8}.sim-launch-hint{margin:0 0 .7rem;font-size:.8rem;line-height:1.5;color:#334155}.sim-launch-btn{padding:.5rem 1rem;border:none;border-radius:8px;background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#fff;font-size:.85rem;font-weight:700;cursor:pointer}.sim-launch-btn:hover{opacity:.92}.exercise-launch-btn--ghost{margin-top:.45rem;background:transparent;border:1px solid #475569;color:#cbd5e1}.exercise-launch-btn--ghost:hover{background:#1e293b}.exercise-float-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9490;background:#0f172a59;pointer-events:none}.exercise-float--hidden{position:fixed!important;left:-9999px!important;top:0!important;width:1px!important;height:1px!important;overflow:hidden;opacity:0;pointer-events:none}.exercise-float-btn--minimize{min-width:2rem;padding-inline:.55rem;font-size:1.15rem;line-height:1;font-weight:600}.exercise-restore-fab{position:fixed;right:1.25rem;bottom:1.25rem;z-index:9510;display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1rem;border:none;border-radius:999px;background:linear-gradient(135deg,#1e40af,#1d4ed8);color:#fff;font-size:.88rem;font-weight:600;cursor:pointer;box-shadow:0 8px 24px #1e40af73}.exercise-restore-fab:hover{filter:brightness(1.06)}.exercise-restore-fab-icon{font-size:1rem;line-height:1}.exercise-float{position:fixed;z-index:9500;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;box-shadow:0 20px 60px #0f172a59,0 0 0 1px #94a3b840;background:#0f172a}.exercise-float--fullscreen{border-radius:10px}.exercise-float-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .65rem;background:linear-gradient(135deg,#1e293b,#0f172a);border-bottom:1px solid #334155;position:relative;z-index:2;flex-shrink:0}.exercise-float-drag-handle{display:flex;align-items:center;gap:.4rem;min-width:0;flex:1;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.exercise-float-drag-handle:active{cursor:grabbing}.exercise-float--fullscreen .exercise-float-drag-handle{cursor:default}.exercise-float-icon{flex-shrink:0}.exercise-float-drag-handle>span:nth-child(2){font-size:.82rem;font-weight:700;color:#e2e8f0}.exercise-float-drag-hint{margin-left:.35rem;font-size:.68rem;font-weight:500;color:#94a3b8}.exercise-float-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0;position:relative;z-index:3}.exercise-float-btn{padding:.35rem .65rem;border:1px solid #475569;border-radius:6px;background:#1e293b;color:#cbd5e1;font-size:.75rem;font-weight:600;cursor:pointer;line-height:1.2;pointer-events:auto}.exercise-float-btn:hover{background:#334155;color:#f8fafc}.exercise-float-btn--close{border-color:#64748b}.exercise-float-body{flex:1;min-height:0;background:#0f172a}.exercise-float-iframe{display:block;width:100%;height:100%;border:none;background:#0f172a}.exercise-float-resize{position:absolute;right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize;touch-action:none}.exercise-float-resize:after{content:"";position:absolute;right:4px;bottom:4px;width:10px;height:10px;border-right:2px solid #64748b;border-bottom:2px solid #64748b;border-radius:0 0 2px}.exercise-float--docked{border-radius:0;box-shadow:inset 1px 0 #94a3b833;z-index:80}.exercise-float--docked .exercise-float-drag-handle,.exercise-float--docked .exercise-float-drag-handle:active{cursor:default}.study-sidebar.study-sidebar--lab{display:flex;flex:0 0 min(46vw,720px);width:min(46vw,720px);min-width:min(520px,46vw);max-width:720px;padding:0;overflow:hidden;background:#0f172a;gap:0;border-left:1px solid #1e293b}.app-body:has(.study-sidebar--lab) .sidebar{display:none}@media (max-width: 1200px){.study-sidebar.study-sidebar--lab{display:flex}}@media (max-width: 1023px){.study-sidebar.study-sidebar--lab{flex-basis:min(100%,100vw);width:min(100%,100vw);min-width:0;max-width:none}}.app-shell:has(.study-sidebar--lab) .ai-chat-fab{right:calc(min(46vw,720px) + 1.5rem)}.study-content-area,.study-markdown-area,.study-content-area .markdown-body{user-select:text;-webkit-user-select:text}.study-content-area:focus{outline:none}.audio-script-para{white-space:pre-line}.audio-script-para--stage{color:#94a3b8;font-size:.85em;font-style:italic;border-left-color:#cbd5e1}.app-body{flex:1;min-height:0;height:auto}.app-footer{flex-shrink:0;padding:.5rem 1rem;background:#f8fafc;border-top:1px solid var(--border);text-align:center}.app-footer-credit{margin:0;font-size:.68rem;line-height:1.5;color:#94a3b8}.app-footer-credit+.app-footer-credit{margin-top:.2rem}.login-wrapper .app-footer{position:fixed;left:0;right:0;bottom:0;background:transparent;border-top:none;padding-bottom:.85rem}.login-wrapper .app-footer-credit{color:#ffffffbf}:root{--primary: #1e3a8a;--primary-d: #172554;--primary-light: #312e81;--accent-violet: #8b5cf6;--glow-teal: #14b8a6;--brand-tint: #eef2ff;--brand-tint-strong: #e0e7ff;--brand-tint-border: #c7d2fe;--brand-muted-text: #4338ca;--brand-focus-ring: rgba(30, 58, 138, .18);--brand-gradient: linear-gradient( 135deg, #1e3a8a 0%, #4338ca 42%, #8b5cf6 68%, #14b8a6 100% );--brand-gradient-subtle: linear-gradient(135deg, #eef2ff 0%, #e0e7ff 55%, #ecfdf5 100%);--brand-header-bg: radial-gradient(ellipse 110% 85% at 50% 115%, rgba(20, 184, 166, .32), transparent 58%), radial-gradient(ellipse 65% 100% at 5% 25%, rgba(139, 92, 246, .26), transparent 52%), radial-gradient(ellipse 55% 75% at 95% 15%, rgba(96, 165, 250, .22), transparent 48%), linear-gradient(180deg, #2563eb 0%, #3b82f6 38%, #6366f1 68%, #4338ca 100%)}body{background:#f3f6fb}.app-header{background:var(--brand-header-bg);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 4px 20px #2563eb47}.app-header-breadcrumb{color:#ffffffd1}.admin-users-title{display:inline-flex;align-items:center;gap:.55rem}.admin-users-title-icon{display:inline-flex;align-items:center;justify-content:center;gap:.16rem;width:2.1rem;height:2.1rem;border-radius:8px;background:var(--brand-tint);border:1px solid var(--brand-tint-border)}.admin-users-title-icon i{display:block;width:.5rem;height:.5rem;border-radius:50%;background:var(--primary)}.admin-users-title-icon i:nth-child(2){width:.62rem;height:.62rem;opacity:.75}.admin-users-title-icon i:nth-child(3){opacity:.55}.sidebar-btn.active{background:var(--brand-tint);border-left-color:var(--accent-violet)}.sidebar-btn.active .sidebar-section-title{color:var(--primary)}.sidebar-chapter-btn.has-active{border-left-color:var(--glow-teal);color:var(--primary)}.sidebar-part{list-style:none}.sidebar-part-btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:flex;align-items:center;gap:.4rem;width:100%;margin:0;padding:.45rem .7rem .45rem 1.35rem;background:none;border:none;border-left:3px solid transparent;border-radius:0;box-shadow:none;cursor:pointer;text-align:left;font:inherit;font-size:.92rem;font-weight:600;color:var(--text);line-height:1.35;transition:background .15s,border-color .15s,color .15s}.sidebar-part-btn:hover{background:#f1f5f9}.sidebar-part-btn-label{flex:1;min-width:0;word-break:break-word}.sidebar-part-btn.has-active{border-left-color:var(--accent-violet);color:var(--primary)}.section-badge{background:var(--brand-tint);color:var(--primary);border-color:var(--brand-tint-border)}.viewer-course-label{margin:0 0 .45rem;font-size:.78rem;font-weight:800;letter-spacing:.04em;color:#64748b}.tab-btn:hover{color:var(--primary)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--accent-violet);background:var(--brand-tint)}.markdown-body h2{border-left-color:var(--accent-violet)}.markdown-body h3{color:var(--primary)}.markdown-body .term-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:.45rem .75rem}.markdown-body .term-heading-text{min-width:0}.markdown-body .term-back-btn{flex:0 0 auto;margin:0;padding:.12rem .55rem;border:1px solid #93c5fd;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.72rem;font-weight:650;letter-spacing:.02em;line-height:1.4;cursor:pointer}.markdown-body .term-back-btn:hover,.markdown-body .term-back-btn:focus-visible{background:#dbeafe;border-color:#2563eb;color:#1e3a8a}.markdown-body a.hash-link{color:var(--primary);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.markdown-body .hash-link--flash{border-radius:3px;background:#0ea5e938;box-shadow:0 0 0 4px #0ea5e92e;transition:background .2s,box-shadow .2s}.markdown-body blockquote{border-left-color:var(--glow-teal);background:linear-gradient(90deg,#eef2fff2,#ecfdfaa6);color:var(--primary-d)}.markdown-body blockquote.md-callout{margin:1.15rem 0;padding:.8rem 1rem .9rem;border-radius:8px;border-left-width:4px}.markdown-body blockquote.md-callout p{margin:.35rem 0 0}.markdown-body blockquote.md-callout p:first-child{margin-top:0;font-size:.78rem;font-weight:700;letter-spacing:.04em;color:#334155}.markdown-body blockquote.md-callout--summary{border-left-color:#0f766e;background:#f0fdfa}.markdown-body blockquote.md-callout--analogy{border-left-color:#b45309;background:#fffbeb}.markdown-body blockquote.md-callout--history{border-left-color:#57534e;background:#fafaf9}.markdown-body blockquote.md-callout--case{border-left-color:#1d4ed8;background:#eff6ff}.markdown-body blockquote.md-callout--pitfall{border-left-color:#b91c1c;background:#fef2f2}.markdown-body blockquote.md-callout--guide{border-left-color:#5b6575;background:#f7f9fc}.markdown-body table{width:100%;max-width:100%;border-collapse:collapse;margin:1rem 0 1.35rem;font-size:.95rem}.markdown-body table th,.markdown-body table td{border:1px solid #d7dee6;padding:.45rem .7rem;vertical-align:top;text-align:left}.markdown-body table th{background:#eef3f6;color:#1a2332;font-weight:700}.markdown-body table tr:nth-child(2n) td{background:#f8fafc}.content-reading-mode h1,.content-reading-mode h2,.content-reading-mode h3,.content-reading-mode h4,.content-reading-mode h5,.content-reading-mode h6,.content-reading-mode p,.content-reading-mode li,.content-reading-mode blockquote,.content-reading-mode td{cursor:pointer}.content-reading-mode h1:hover,.content-reading-mode h2:hover,.content-reading-mode h3:hover,.content-reading-mode h4:hover,.content-reading-mode h5:hover,.content-reading-mode h6:hover,.content-reading-mode p:hover,.content-reading-mode li:hover,.content-reading-mode blockquote:hover,.content-reading-mode td:hover{background:#1e3a8a0f}.section-nav-btn:hover{border-color:var(--accent-violet);background:var(--brand-tint);box-shadow:0 4px 12px #1e3a8a1f}.section-nav-btn--next{background:linear-gradient(135deg,var(--primary),var(--accent-violet));border-color:var(--primary)}.section-nav-btn--next:hover{background:linear-gradient(135deg,var(--primary-d),var(--primary));border-color:var(--primary-d);box-shadow:0 4px 14px #8b5cf659}.study-card-head,.study-card-head--btn:hover,.study-card-head--btn.open{background:var(--brand-gradient-subtle);border-bottom-color:var(--brand-tint-border)}.study-head-title,.mini-quiz-title{color:var(--primary)}.study-head-badge,.mini-quiz-badge{background:linear-gradient(135deg,var(--primary),var(--accent-violet))}.study-progress-fill{background:linear-gradient(90deg,var(--primary),var(--accent-violet) 55%,var(--glow-teal))}.study-cb,.admin-form-checkbox input{accent-color:var(--primary)}.mini-quiz-option.selected{border-color:var(--accent-violet);background:var(--brand-tint)}.mini-quiz-btn--primary{background:linear-gradient(135deg,var(--primary),var(--accent-violet))}.mini-quiz-btn--primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-d),var(--primary))}.ai-chat-fab{background:var(--brand-gradient);box-shadow:0 4px 22px #8b5cf673}.ai-chat-fab:hover{box-shadow:0 6px 28px #14b8a666}.ai-chat-header,.ai-chat-avatar,.ai-chat-send-btn,.ai-chat-bubble.user{background:var(--brand-gradient)}.ai-chat-input:focus{border-color:var(--accent-violet);box-shadow:0 0 0 3px #8b5cf629}.rp-header,.rp-go-btn{background:var(--brand-gradient)}.rp-dot.current{background:var(--accent-violet);box-shadow:0 0 0 2px var(--brand-tint-border)}.rp-trigger-badge{background:var(--brand-tint);color:var(--primary)}.admin-btn--primary{background:var(--primary);border-color:var(--primary)}.admin-btn--primary:hover:not(:disabled){background:var(--primary-d);border-color:var(--primary-d)}.admin-search-input:focus,.admin-form-input:focus{border-color:var(--accent-violet);box-shadow:0 0 0 3px #8b5cf624}.admin-progress-fill{background:linear-gradient(90deg,var(--primary),var(--accent-violet))}.user-role-badge--admin{background:var(--brand-tint);color:var(--primary);border-color:var(--brand-tint-border)}.sidebar-admin-btn:hover{background:var(--brand-tint);border-color:var(--brand-tint-border);color:var(--primary)}.login-wrapper{background:radial-gradient(ellipse at 15% 0%,rgba(139,92,246,.28),transparent 55%),radial-gradient(ellipse at 85% 100%,rgba(20,184,166,.24),transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(96,165,250,.15),transparent 70%),linear-gradient(145deg,#3b82f6,#6366f1 45%,#4338ca 78%,#1e3a8a)}.login-form input:focus{border-color:var(--accent-violet);box-shadow:0 0 0 3px #8b5cf624}.login-card{color-scheme:light;color:#0f172a}.login-form input{color:#0f172a;background:#f8fafc;-webkit-text-fill-color:#0f172a}.login-form input::placeholder{color:#94a3b8;-webkit-text-fill-color:#94a3b8}.login-password{position:relative;display:block}.login-password input{width:100%;padding-right:4.5rem;box-sizing:border-box}.login-password-toggle{position:absolute;top:50%;right:.45rem;transform:translateY(-50%);border:0;background:transparent;color:#4f46e5;font-size:.78rem;font-weight:700;cursor:pointer;padding:.25rem .4rem}.login-btn{background:var(--brand-gradient);box-shadow:0 4px 18px #14b8a652;min-height:44px}.login-btn:focus-visible,.login-mode-tab:focus-visible,.login-password-toggle:focus-visible{outline:3px solid #1d4ed8;outline-offset:2px}.login-btn:hover:not(:disabled){background:linear-gradient(135deg,#172554,#1e3a8a 45%,#7c3aed);box-shadow:0 6px 22px #8b5cf666}.login-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:.5rem;gap:.35rem}.login-tagline{margin:0;font-size:.92rem;color:var(--text-secondary, #475569);text-align:center}.login-attribution{margin:0;font-size:.75rem;color:var(--text-tertiary, #94a3b8);text-align:center}.login-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin:.35rem 0 .75rem;padding:.25rem;border-radius:.65rem;background:#0f172a0f}.login-mode-tab{border:0;border-radius:.5rem;padding:.55rem .75rem;font:inherit;font-weight:600;color:#475569;background:transparent;cursor:pointer}.login-mode-tab.is-active{color:#0f172a;background:#fff;box-shadow:0 1px 4px #0f172a1f}.login-age{margin:.25rem 0 0;padding:.85rem .9rem .95rem;border:1px solid rgba(99,102,241,.22);border-radius:.75rem;background:#f8fafce6}.login-age legend{padding:0 .25rem;font-size:.92rem;font-weight:700;color:#1e293b}.login-age-note{margin:0 0 .75rem;font-size:.82rem;line-height:1.55;color:#475569}.login-age-note a{color:#4338ca;text-decoration:underline;text-underline-offset:2px}.login-legal{margin:1rem 0 0;text-align:center;font-size:.75rem;line-height:1.7;color:#64748b}.login-legal a{color:#4338ca;text-decoration:none}.login-legal a:hover{text-decoration:underline;text-underline-offset:2px}.login-age-option{display:flex;align-items:flex-start;gap:.55rem;margin:.45rem 0 0;font-size:.88rem;line-height:1.45;color:#1e293b;cursor:pointer}.login-age-option input{margin-top:.2rem;flex-shrink:0}.login-ack-list{max-height:16rem;overflow:auto;margin:0 0 .75rem;padding:.65rem .75rem;border:1px solid rgba(148,163,184,.45);border-radius:.6rem;background:#fff}.login-ack-item+.login-ack-item{margin-top:.7rem;padding-top:.7rem;border-top:1px solid #e2e8f0}.login-ack-item strong{display:block;font-size:.84rem;color:#1e293b}.login-ack-item ul{margin:.25rem 0 0;padding-left:1.1rem;font-size:.8rem;line-height:1.5;color:#475569}.login-agree-all{margin:.15rem 0 .85rem;padding:.65rem .7rem;border-radius:.55rem;background:#fff;border:1px solid rgba(67,56,202,.35);font-weight:700}.login-success{margin:.35rem 0 0;padding:.65rem .85rem;border-radius:8px;background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;font-size:.875rem;line-height:1.5}.atlas-logo{display:inline-flex;align-items:center;gap:.75rem;min-width:0}.atlas-logo--login{flex-direction:column;gap:.85rem;padding:.25rem 0 .5rem}.atlas-logo-mark{position:relative;flex-shrink:0;line-height:0}.atlas-logo-icon{display:block;flex-shrink:0;width:auto;max-width:none;object-fit:contain}.atlas-logo--header .atlas-logo-icon{height:2.2rem;width:2.475rem}.atlas-logo--login .atlas-logo-icon{height:4.5rem;width:5.0625rem}.atlas-logo-text{font-weight:600;letter-spacing:.06em;line-height:1.15;white-space:nowrap}.atlas-logo--header .atlas-logo-text{font-family:Georgia,Times New Roman,"Noto Serif JP",serif;font-size:1.12rem;color:#fff;text-shadow:0 1px 2px rgba(30,58,138,.25)}.atlas-logo--login .atlas-logo-text{font-family:Georgia,Times New Roman,"Noto Serif JP",serif;font-size:1.65rem;text-align:center;background:linear-gradient(135deg,#1e3a8a,#8b5cf6 52%,#14b8a6);-webkit-background-clip:text;background-clip:text;color:transparent}.atlas-logo--marketing .atlas-logo-icon{height:2.15rem;width:2.42rem}.atlas-logo--marketing .atlas-logo-text{font-family:Georgia,Times New Roman,"Noto Serif JP",serif;font-size:1.08rem;color:#0f172a}.login-home-link{display:inline-flex;margin:0 0 .85rem;font-size:.85rem;font-weight:700;color:#475569;text-decoration:none}.login-home-link:hover{color:#1d4ed8}.atlas-logo-mark--animated{animation:atlas-mark-land .7s cubic-bezier(.22,1,.36,1) forwards}@keyframes atlas-mark-land{0%{opacity:0;transform:translateY(-12px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.atlas-logo-mark--animated{animation:none!important;opacity:1;transform:none}}.admin-materials-desc{margin:.75rem 0 0;color:#64748b;font-size:.875rem;line-height:1.5;max-width:42rem}.admin-nav-tabs{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.admin-nav-tab{padding:.4rem .9rem;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#475569;font-size:.8rem;cursor:pointer}.admin-nav-tab:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.admin-nav-tab.active{background:var(--brand-tint, #eef2ff);border-color:var(--brand-tint-border, #c7d2fe);color:var(--primary, #1e3a8a);font-weight:600;cursor:default}.admin-filter-select{width:auto;min-width:10rem;flex:0 0 auto}.visibility-badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid transparent}.visibility-badge--public{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.visibility-badge--private{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.admin-btn--warn{border-color:#f59e0b;color:#b45309;background:#fffbeb}.admin-btn--warn:hover:not(:disabled){background:#fef3c7;border-color:#d97706}.admin-th-sub{display:block;font-size:.68rem;font-weight:500;color:#94a3b8;margin-top:.15rem}.content-level-legend{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}.content-level-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .7rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-size:.78rem;color:#475569}.content-level-chip:hover{border-color:#94a3b8;background:#f8fafc}.content-level-chip.active{border-color:var(--brand-tint-border, #c7d2fe);background:var(--brand-tint, #eef2ff);color:var(--primary, #1e3a8a);font-weight:600}.content-level-chip-hint{color:#64748b;font-size:.72rem}.content-level-chip.active .content-level-chip-hint{color:#475569}.content-level-chip-count{margin-left:.15rem;padding:.05rem .4rem;border-radius:999px;background:#e2e8f0;font-size:.7rem;font-weight:600;color:#334155}.content-level-badge{display:inline-flex;align-items:center;padding:.12rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700;border:1px solid transparent;letter-spacing:.01em}.content-level-badge--free{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.content-level-badge--plus,.content-level-badge--starter{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.content-level-badge--professional{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.content-level-badge--none{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.content-level-cell{display:flex;flex-direction:column;gap:.4rem;min-width:11rem}.content-level-actions{display:inline-flex;gap:.25rem}.content-level-set{min-width:2.4rem;padding:.2rem .35rem;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#64748b;font-size:.68rem;font-weight:600;cursor:pointer}.content-level-set:hover:not(:disabled){border-color:#64748b;color:#0f172a}.content-level-set.active{background:#0f172a;border-color:#0f172a;color:#fff}.content-level-set.is-dirty,.content-level-set.active.is-dirty{background:#fff7ed;border-color:#ea580c;color:#9a3412}.content-level-set--none.active{background:#b91c1c;border-color:#b91c1c}.content-level-set:disabled{opacity:.55;cursor:default}.content-level-badge--small_team{background:#f0f9ff;color:#0369a1;border-color:#bae6fd}.content-level-badge--business{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}.content-level-badge--enterprise{background:#faf5ff;color:#7e22ce;border-color:#e9d5ff}.content-level-filter-block{margin-bottom:.75rem}.content-level-filter-title{font-size:.75rem;font-weight:700;color:#64748b;margin-bottom:.35rem;letter-spacing:.02em}.speaking-judge-panel{margin-top:2.5rem;padding:1.5rem 1.25rem 1.75rem;border:1px solid #99f6e4;border-radius:12px;background:linear-gradient(180deg,#f0fdfa,#fff 55%)}.speaking-judge-header{margin-bottom:1.25rem}.speaking-judge-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:linear-gradient(135deg,#0d9488,#0891b2);color:#fff;font-size:.75rem;font-weight:600}.speaking-judge-title{margin:.55rem 0 .4rem;font-size:1.25rem;color:#134e4a;font-weight:700}.speaking-judge-desc{margin:0 0 .75rem;color:#0f766e;font-size:.9rem;line-height:1.55}.speaking-judge-grammar{margin-top:.85rem;padding:.85rem 1rem;border-radius:10px;border:1px solid #ccfbf1;background:#ffffffd9}.speaking-judge-practice-intro{margin:0 0 .5rem;color:#334155;font-size:.9rem;line-height:1.55}.speaking-judge-instruction{margin:0 0 .45rem;color:#0f172a;font-size:.92rem;font-weight:600;line-height:1.5}.speaking-judge-hint{margin:.45rem 0 0;display:flex;align-items:flex-start;gap:.45rem;color:#155e75;font-size:.88rem;line-height:1.5}.speaking-judge-hint-tag{flex-shrink:0;display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:999px;background:#cffafe;color:#0e7490;font-size:.72rem;font-weight:700}.speaking-judge-progress{margin-top:.85rem;padding-top:.75rem;border-top:1px dashed #99f6e4}.speaking-judge-progress-title{margin:0 0 .55rem;font-size:.82rem;font-weight:700;color:#0f766e}.speaking-judge-progress-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (max-width: 640px){.speaking-judge-progress-metrics{grid-template-columns:1fr}}.speaking-judge-progress-metric{display:flex;flex-direction:column;gap:.3rem}.speaking-judge-progress-label{font-size:.75rem;color:#64748b}.speaking-judge-progress-bar{height:.45rem;border-radius:999px;background:#e2e8f0;overflow:hidden}.speaking-judge-progress-bar>span,.speaking-judge-progress-bar>div{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#14b8a6,#0891b2)}.speaking-judge-progress-note{margin:.55rem 0 0;font-size:.78rem;color:#64748b;line-height:1.45}.speaking-judge-history{margin:.65rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.4rem}.speaking-judge-history li{display:grid;grid-template-columns:auto auto 1fr;gap:.45rem;align-items:baseline;padding:.45rem .55rem;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0;font-size:.8rem}.speaking-judge-history-date{color:#64748b;white-space:nowrap}.speaking-judge-history-result{font-weight:700;color:#0f766e}.speaking-judge-history-text{color:#334155;overflow-wrap:anywhere}.speaking-judge-prompt{margin-top:1.15rem;padding:1.1rem 1rem 1.15rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.speaking-judge-prompt+.speaking-judge-prompt{margin-top:1rem}.speaking-judge-prompt-label{margin:0 0 .75rem;font-size:.95rem;font-weight:700;color:#0f766e}.speaking-judge-word-card{margin-bottom:.85rem;padding:.75rem .85rem;border-radius:10px;border:1px solid #a5f3fc;background:#ecfeff}.speaking-judge-word-head{margin:0;display:flex;align-items:center;gap:.5rem;font-size:1.05rem;color:#155e75}.speaking-judge-word-tag{display:inline-flex;padding:.1rem .45rem;border-radius:999px;background:#0891b2;color:#fff;font-size:.7rem;font-weight:700}.speaking-judge-word-meaning,.speaking-judge-word-usage{margin:.4rem 0 0;font-size:.88rem;color:#334155;line-height:1.5}.speaking-judge-idea{margin-bottom:.85rem;padding:.75rem .85rem;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.speaking-judge-idea-tag{display:inline-flex;margin-bottom:.4rem;padding:.1rem .45rem;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:.7rem;font-weight:700}.speaking-judge-scenario,.speaking-judge-idea-text{margin:.35rem 0 0;font-size:.88rem;color:#334155;line-height:1.55}.speaking-judge-corpus{margin:.55rem 0 0;font-size:.85rem;color:#475569;line-height:1.5}.speaking-judge-corpus-tag{display:inline-flex;margin-right:.4rem;padding:.08rem .4rem;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.68rem;font-weight:700}.speaking-judge-corpus-list{margin:.45rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem}.speaking-judge-corpus-list li{display:flex;flex-direction:column;gap:.15rem;padding:.45rem .55rem;border-radius:8px;background:#fff;border:1px solid #e2e8f0}.speaking-judge-corpus-phrase{font-weight:700;color:#0f766e;font-size:.85rem}.speaking-judge-corpus-example{color:#64748b;font-size:.8rem}.speaking-judge-example{margin:0 0 .9rem;padding:.85rem .95rem;border-left:4px solid #14b8a6;border-radius:0 10px 10px 0;background:linear-gradient(90deg,#f0fdfaf2,#ecfeff8c)}.speaking-judge-example-tag{display:inline-flex;margin-bottom:.35rem;padding:.08rem .4rem;border-radius:999px;background:#ccfbf1;color:#0f766e;font-size:.68rem;font-weight:700}.speaking-judge-example-text{margin:0;font-size:1rem;font-weight:600;color:#134e4a;line-height:1.55}.speaking-judge-example-ja{margin:.45rem 0 0;font-size:.85rem;color:#475569;line-height:1.5}.speaking-judge-example-ja-tag{display:inline-flex;margin-right:.35rem;padding:.05rem .35rem;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:.68rem;font-weight:700}.speaking-judge-key-phrases{margin:.45rem 0 0;font-size:.82rem;color:#0e7490}.speaking-judge-input-wrap{display:flex;flex-direction:column;gap:.55rem}.speaking-judge-textarea{width:100%;box-sizing:border-box;padding:.75rem .85rem;border:1px solid #cbd5e1;border-radius:10px;font:inherit;font-size:.95rem;line-height:1.5;color:#0f172a;resize:vertical;min-height:5rem;background:#fff}.speaking-judge-textarea:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a62e}.speaking-judge-textarea:disabled{background:#f8fafc;color:#94a3b8}.speaking-judge-input-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.speaking-judge-mic,.speaking-judge-clear,.speaking-judge-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .85rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s,opacity .15s}.speaking-judge-mic{background:#ecfeff;border-color:#67e8f9;color:#0e7490}.speaking-judge-mic:hover:not(:disabled){background:#cffafe}.speaking-judge-mic--listening,.speaking-judge-mic--preparing{background:#0d9488;border-color:#0d9488;color:#fff}.speaking-judge-mic--error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.speaking-judge-mic:disabled,.speaking-judge-clear:disabled,.speaking-judge-btn:disabled{opacity:.5;cursor:not-allowed}.speaking-judge-clear{background:#fff;border-color:#cbd5e1;color:#64748b}.speaking-judge-clear:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.speaking-judge-mic-status{flex:1 1 100%;margin:0;font-size:.8rem;color:#0f766e}.speaking-judge-mic-status--error{color:#b91c1c}.speaking-judge-mic-status--listening,.speaking-judge-mic-status--preparing{color:#0e7490;font-weight:600}.speaking-judge-speech-notice{margin:.35rem 0 0;padding:.55rem .7rem;border-radius:8px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:.82rem;line-height:1.45}.speaking-judge-error{margin:.55rem 0 0;color:#b91c1c;font-size:.88rem}.speaking-judge-result{margin-top:.75rem;padding:.85rem .95rem;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc}.speaking-judge-result.correct{border-color:#86efac;background:#f0fdf4}.speaking-judge-result.wrong{border-color:#fecaca;background:#fef2f2}.speaking-judge-result-head{margin:0 0 .4rem;font-weight:700;font-size:.95rem}.speaking-judge-result.correct .speaking-judge-result-head{color:#166534}.speaking-judge-result.wrong .speaking-judge-result-head{color:#b91c1c}.speaking-judge-feedback{margin:.35rem 0 0;color:#334155;font-size:.9rem;line-height:1.55}.speaking-judge-corrected{margin:.45rem 0 0;padding:.45rem .6rem;border-radius:8px;background:#fff;border:1px solid #e2e8f0;color:#0f172a;font-size:.88rem;line-height:1.5}.speaking-judge-meta{margin:.5rem 0 0;font-size:.75rem;color:#64748b}.speaking-judge-actions{margin-top:.85rem;display:flex;flex-wrap:wrap;gap:.5rem}.speaking-judge-btn--primary{background:linear-gradient(135deg,#0d9488,#0891b2);border-color:#0d9488;color:#fff}.speaking-judge-btn--primary:hover:not(:disabled){background:linear-gradient(135deg,#0f766e,#0e7490)}.speaking-judge-btn--ghost{background:#fff;border-color:#99f6e4;color:#0f766e}.speaking-judge-btn--ghost:hover:not(:disabled){background:#f0fdfa}.app-header-brand{display:inline-flex;align-items:center;gap:.6rem;padding:0;border:none;background:transparent;color:inherit;cursor:pointer}.app-nav{flex:0 0 200px;width:200px;min-width:200px;background:#0f172a;color:#e2e8f0;border-right:1px solid #1e293b;padding:1rem .75rem 1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.app-nav-label{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#64748b;padding:0 .55rem}.app-nav-list{list-style:none;display:flex;flex-direction:column;gap:.2rem;margin:0;padding:0}.app-nav-link{display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;border-radius:8px;color:#cbd5e1;text-decoration:none;font-size:.84rem;font-weight:600;transition:background .12s,color .12s}.app-nav-link:hover{background:#1e293b;color:#fff}.app-nav-link.active{background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff}.app-nav-link--soon{opacity:.85}.app-nav-icon{width:1.25rem;text-align:center;flex-shrink:0}.app-nav-soon{font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8;background:#1e293b;padding:.12rem .35rem;border-radius:999px}.app-nav-link.active .app-nav-soon{background:#ffffff2e;color:#e2e8f0}.dash{max-width:960px;margin:0 auto;padding:1.75rem 1.75rem 3.5rem;display:flex;flex-direction:column;gap:1.1rem}.dash-hero{padding:1.25rem 1.35rem 1.4rem;border-radius:14px;background:radial-gradient(1200px 280px at 10% -40%,#93c5fd55,transparent 60%),linear-gradient(160deg,#eff6ff,#fff 55%,#f8fafc);border:1px solid #dbeafe}.dash-kicker{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#64748b;margin-bottom:.55rem}.dash-greeting{font-size:clamp(1.45rem,2.4vw,1.9rem);font-weight:800;color:#0f172a;letter-spacing:-.02em;line-height:1.25;margin:0}.dash-welcome{margin-top:.45rem;color:#475569;font-size:.95rem}.dash-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1.1rem 1.2rem 1.2rem;box-shadow:0 1px 2px #0f172a0a}.dash-panel--ai{background:linear-gradient(180deg,#f5f3ff,#fff 55%);border-color:#ddd6fe}.dash-panel-title{margin:0 0 .85rem;font-size:.95rem;font-weight:800;color:#0f172a}.dash-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.35rem}.dash-panel-head .dash-panel-title{margin-bottom:.5rem}.dash-panel-more{font-size:.8rem;font-weight:700;color:#2563eb;text-decoration:none}.dash-panel-more:hover{text-decoration:underline}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}.dash-empty{color:#94a3b8;font-size:.9rem;margin:0}.dash-empty a{color:#2563eb;font-weight:700}.dash-check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.dash-check-link{display:flex;align-items:flex-start;gap:.65rem;padding:.55rem .6rem;border-radius:10px;text-decoration:none;color:#1e293b;transition:background .12s}.dash-check-link:hover{background:#f8fafc}.dash-check-box{width:1.05rem;height:1.05rem;margin-top:.15rem;border:1.5px solid #94a3b8;border-radius:4px;flex-shrink:0;background:#fff}.dash-check-label{font-size:.92rem;font-weight:600;line-height:1.45}.dash-check-meta{color:#64748b;font-weight:500}.dash-journey-bar{height:.7rem;border-radius:999px;background:#e2e8f0;overflow:hidden}.dash-journey-fill{height:100%;background:linear-gradient(90deg,#2563eb,#7c3aed 70%,#0ea5e9);border-radius:999px}.dash-journey-pct{margin:.45rem 0 0;font-size:.85rem;font-weight:800;color:#334155}.dash-subhead{margin:1.1rem 0 .55rem;font-size:.78rem;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.08em}.dash-week-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.dash-week-label{font-size:.78rem;font-weight:700;color:#475569}.dash-week-track{height:.45rem;background:#f1f5f9;border-radius:999px;overflow:hidden}.dash-week-fill{height:100%;background:#334155;border-radius:999px}.dash-mock-note{margin:.7rem 0 0;font-size:.7rem;color:#94a3b8}.dash-continue-card{display:flex;gap:.75rem;align-items:flex-start;padding:.7rem .75rem;border-radius:10px;border:1px solid #e2e8f0;text-decoration:none;color:inherit;transition:border-color .12s,background .12s}.dash-continue-card:hover{border-color:#93c5fd;background:#f8fafc}.dash-continue-play{color:#2563eb;font-size:.85rem;margin-top:.15rem}.dash-continue-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.dash-continue-course{font-size:.88rem;font-weight:800;color:#0f172a}.dash-continue-section{font-size:.82rem;color:#475569}.dash-continue-meta{font-size:.72rem;color:#94a3b8;font-weight:600}.dash-achievements{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;font-size:.9rem;font-weight:600;color:#334155}.dash-ai-quote{margin:0 0 1rem;padding:.75rem .9rem;border-left:3px solid #8b5cf6;background:#fff;border-radius:0 10px 10px 0;color:#4c1d95;font-size:.9rem;line-height:1.65}.dash-ai-btn{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1rem;border-radius:8px;background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff;font-size:.85rem;font-weight:700;text-decoration:none}.dash-path-label{margin:0 0 .35rem;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#94a3b8}.dash-path{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem}.dash-path-step{display:inline-block;font-size:.95rem;font-weight:800;color:#0f172a;padding:.2rem 0}.dash-path-arrow{display:block;color:#94a3b8;font-size:.85rem;padding-left:.35rem}.dash-area-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.dash-area-card{display:flex;flex-direction:column;gap:.2rem;padding:.85rem .9rem;border-radius:10px;border:1px solid #e2e8f0;text-decoration:none;background:#f8fafc;transition:border-color .12s,background .12s}.dash-area-card:hover{border-color:#93c5fd;background:#eff6ff}.dash-area-label{font-size:.9rem;font-weight:800;color:#0f172a}.dash-area-meta{font-size:.75rem;color:#64748b}.academy-home{max-width:960px;margin:0 auto;padding:1.75rem 1.75rem 3.5rem}.academy-home-hero{margin-bottom:1.25rem}.academy-home-kicker{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#64748b;margin-bottom:.4rem}.academy-crumb{color:#2563eb;text-decoration:none}.academy-crumb:hover{text-decoration:underline}.academy-home-title{margin:0;font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:800;color:#0f172a}.academy-area-card,.academy-course-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.05rem;border-radius:12px;border:1px solid #e2e8f0;background:#fff;text-decoration:none;color:inherit;box-shadow:0 1px 2px #0f172a0a;transition:border-color .12s,transform .12s,box-shadow .12s;min-height:5.5rem}.academy-area-card:hover,.academy-course-card:hover{border-color:#93c5fd;box-shadow:0 4px 14px #2563eb14;transform:translateY(-1px)}.academy-course-card--disabled{opacity:.7;cursor:default}.academy-area-label,.academy-course-title{font-size:1rem;font-weight:800;color:#0f172a}.academy-area-meta,.academy-course-desc{font-size:.8rem;color:#64748b;line-height:1.45}.academy-catalog-section{margin-top:1.1rem;padding:1rem 1.05rem 1.05rem;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}.academy-catalog-section:first-of-type{margin-top:.15rem}.academy-catalog-title{margin:0 0 .25rem;font-size:1.02rem;font-weight:800;color:#0f172a}.academy-catalog-desc{margin:0 0 .75rem;font-size:.82rem;color:#64748b;line-height:1.5}.academy-catalog-sub{margin:.85rem 0 .5rem;font-size:.72rem;font-weight:800;letter-spacing:.04em;color:#64748b}.academy-catalog-section .academy-course-list+.academy-course-list{margin-top:.75rem}.academy-catalog-section .academy-course-card,.academy-catalog-section .academy-course-card.academy-course-card--disabled{background:#fff}.coming-soon-page{max-width:520px;margin:4rem auto;padding:2rem 1.5rem;text-align:center}.coming-soon-kicker{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#94a3b8}.coming-soon-title{margin:.5rem 0;font-size:1.75rem;font-weight:800;color:#0f172a}.coming-soon-desc{color:#64748b;line-height:1.65;margin:0 0 1.5rem}.coming-soon-actions{display:flex;justify-content:center;gap:.65rem;flex-wrap:wrap}.coming-soon-link{display:inline-flex;padding:.55rem 1rem;border-radius:8px;background:#2563eb;color:#fff;font-weight:700;font-size:.85rem;text-decoration:none}.coming-soon-link--ghost{background:#fff;color:#334155;border:1px solid #cbd5e1}@media (max-width: 1100px){.app-nav{flex:0 0 72px;width:72px;min-width:72px;padding:.75rem .4rem}.app-nav-label,.app-nav-text,.app-nav-soon{display:none}.app-nav-link{justify-content:center;padding:.65rem .35rem}.app-nav-icon{font-size:1.15rem}}@media (max-width: 900px){.dash-grid,.dash-area-grid{grid-template-columns:1fr}}@media (max-width: 767px){.app-body--with-nav{flex-direction:column}.app-nav{flex:none;width:100%;min-width:unset;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:.55rem .65rem;border-right:none;border-bottom:1px solid #1e293b}.app-nav-list{flex-direction:row;width:max-content}.app-nav-label{display:none}.app-nav-text{display:inline;font-size:.72rem}.app-nav-soon{display:none}.app-nav-link{flex-direction:column;gap:.15rem;min-width:4.5rem;padding:.4rem .45rem}.dash,.academy-home{padding:1.15rem 1rem 2.5rem}}.atlas-ai{max-width:1100px;margin:0 auto;padding:1.75rem 1.75rem 3.5rem;display:flex;flex-direction:column;gap:1.15rem}.atlas-ai-hero{padding:1.35rem 1.4rem 1.5rem;border-radius:16px;border:1px solid #ddd6fe;background:radial-gradient(900px 240px at 90% -30%,#c4b5fd55,transparent 55%),linear-gradient(165deg,#f5f3ff,#fff 58%,#f8fafc)}.atlas-ai-kicker{margin:0 0 .45rem;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#7c3aed}.atlas-ai-title{margin:0;font-size:clamp(1.45rem,2.4vw,1.95rem);font-weight:800;color:#0f172a;letter-spacing:-.02em}.atlas-ai-desc{margin:.5rem 0 0;color:#475569;font-size:.95rem;line-height:1.6;max-width:42rem}.atlas-ai-desc a{color:#2563eb;font-weight:700;text-decoration:none}.atlas-ai-desc a:hover{text-decoration:underline;text-underline-offset:2px}.atlas-ai-context{margin-top:1rem;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .85rem;padding:.65rem .85rem;border-radius:10px;background:#fff;border:1px solid #e2e8f0}.atlas-ai-context-label{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.atlas-ai-context-value{font-size:.88rem;font-weight:700;color:#1e293b}.atlas-ai-context-link{margin-left:auto;font-size:.8rem;font-weight:700;color:#2563eb;text-decoration:none}.atlas-ai-context-link:hover{text-decoration:underline}.atlas-ai-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.atlas-ai-pillar{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1.1rem 1.05rem 1.15rem;display:flex;flex-direction:column;gap:.45rem;box-shadow:0 1px 2px #0f172a0a}.atlas-ai-pillar-icon{font-size:1.35rem}.atlas-ai-pillar-title{margin:0;font-size:.98rem;font-weight:800;color:#0f172a}.atlas-ai-pillar-desc{margin:0;flex:1;font-size:.84rem;line-height:1.55;color:#64748b}.atlas-ai-pillar-btn{align-self:flex-start;margin-top:.35rem;padding:.45rem .85rem;border:none;border-radius:8px;background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff;font-size:.8rem;font-weight:700;cursor:pointer}.atlas-ai-pillar-btn:hover{filter:brightness(1.06)}.atlas-ai-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.9fr);gap:1rem;align-items:start}.atlas-ai-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1rem 1.05rem 1.1rem;box-shadow:0 1px 2px #0f172a0a}.atlas-ai-panel--chat{padding-bottom:.75rem}.atlas-ai-panel-head{margin-bottom:.75rem}.atlas-ai-panel-title{margin:0;font-size:.95rem;font-weight:800;color:#0f172a}.atlas-ai-panel-sub{margin:.25rem 0 0;font-size:.78rem;color:#94a3b8}.atlas-ai-side{display:flex;flex-direction:column;gap:.85rem}.atlas-ai-meter{height:.55rem;border-radius:999px;background:#e2e8f0;overflow:hidden;margin-top:.55rem}.atlas-ai-meter-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#7c3aed,#2563eb)}.atlas-ai-meter-label{margin:.4rem 0 0;font-size:.8rem;font-weight:700;color:#475569}.atlas-ai-stats{list-style:none;margin:.65rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.atlas-ai-stats li{padding:.65rem .7rem;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.15rem}.atlas-ai-stat-num{font-size:1.25rem;font-weight:800;color:#0f172a}.atlas-ai-stat-label{font-size:.72rem;color:#64748b;font-weight:600}.atlas-ai-link-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.atlas-ai-link-list a,.atlas-ai-text-btn{font-size:.82rem;font-weight:700;color:#2563eb;text-decoration:none;background:none;border:none;padding:0;cursor:pointer;text-align:left}.atlas-ai-link-list a:hover,.atlas-ai-text-btn:hover{text-decoration:underline}.ai-chat-embedded-shell{min-height:420px}.ai-chat-panel--embedded{position:relative;inset:auto;width:100%;height:min(560px,70vh);transform:none;box-shadow:none;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.ai-chat-suggestions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-top:.85rem;max-width:22rem}.ai-chat-suggestion{border:1px solid #ddd6fe;background:#f5f3ff;color:#5b21b6;border-radius:999px;padding:.35rem .7rem;font-size:.72rem;font-weight:700;cursor:pointer;text-align:left;line-height:1.35}.ai-chat-suggestion:hover:not(:disabled){background:#ede9fe}.ai-chat-suggestion:disabled{opacity:.55;cursor:default}@media (max-width: 960px){.atlas-ai-pillars,.atlas-ai-grid{grid-template-columns:1fr}}@media (max-width: 767px){.atlas-ai{padding:1.15rem 1rem 2.5rem}.ai-chat-panel--embedded{height:min(480px,65vh)}}.sim-hub{max-width:960px;margin:0 auto;padding:1.75rem 1.75rem 3.5rem;display:flex;flex-direction:column;gap:1rem}.sim-hub-hero{padding:1.3rem 1.35rem 1.4rem;border-radius:16px;border:1px solid #bbf7d0;background:radial-gradient(900px 240px at 0% -40%,#86efac55,transparent 55%),linear-gradient(165deg,#ecfdf5,#fff 55%,#f8fafc)}.sim-hub-kicker{margin:0 0 .4rem;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#059669}.sim-hub-title{margin:0;font-size:clamp(1.45rem,2.4vw,1.9rem);font-weight:800;color:#0f172a}.sim-hub-desc{margin:.45rem 0 0;color:#475569;font-size:.95rem;line-height:1.55;max-width:40rem}.sim-hub-status{margin-top:1rem;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .7rem;padding:.55rem .75rem;border-radius:10px;background:#fff;border:1px solid #e2e8f0}.sim-hub-status-dot{width:.65rem;height:.65rem;border-radius:50%;background:#cbd5e1}.sim-hub-status-dot.online{background:#16a34a;box-shadow:0 0 0 3px #bbf7d066}.sim-hub-status-dot.offline{background:#dc2626;box-shadow:0 0 0 3px #fecaca66}.sim-hub-status-text{font-size:.85rem;font-weight:800;color:#0f172a}.sim-hub-status-url{font-size:.72rem;color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sim-hub-refresh{margin-left:auto;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;border-radius:7px;padding:.3rem .65rem;font-size:.75rem;font-weight:700;cursor:pointer}.sim-hub-refresh:hover{background:#f1f5f9}.sim-hub-error{margin:.75rem 0 0;padding:.55rem .75rem;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.82rem;line-height:1.5}.sim-hub-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1rem 1.1rem 1.15rem;box-shadow:0 1px 2px #0f172a0a}.sim-hub-suggest{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;border-color:#86efac;background:linear-gradient(180deg,#f0fdf4,#fff 70%)}.sim-hub-suggest-label{margin:0;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#059669}.sim-hub-suggest-title{margin:.2rem 0 0;font-size:1.05rem;font-weight:800;color:#0f172a}.sim-hub-suggest-meta{margin:.25rem 0 0;font-size:.8rem;color:#64748b}.sim-hub-suggest-actions{display:flex;flex-wrap:wrap;gap:.45rem}.sim-hub-filters{margin-top:.85rem;display:flex;flex-wrap:wrap;gap:.4rem}.sim-hub-filter{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:999px;padding:.35rem .75rem;font-size:.78rem;font-weight:700;cursor:pointer}.sim-hub-filter.is-on{background:#059669;border-color:#059669;color:#fff}.sim-hub-filter--all{border-color:#0f766e}.sim-hub-filter-note{margin:.65rem 0 0;font-size:.82rem;color:#0f766e}.sim-hub-group-lead{margin:-.35rem 0 .75rem;font-size:.82rem;color:#475569;line-height:1.5}.sim-hub-group-title{margin:0 0 .75rem;font-size:.92rem;font-weight:800;color:#0f172a}.sim-hub-lab-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.sim-hub-lab{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;padding:.85rem .9rem;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc}.sim-hub-lab.active{border-color:#86efac;background:#f0fdf4}.sim-hub-lab-title{margin:0;font-size:.95rem;font-weight:800;color:#0f172a}.sim-hub-lab-summary{margin:.3rem 0 0;font-size:.82rem;color:#64748b;line-height:1.45}.sim-hub-lab-id{margin:.35rem 0 0;font-size:.68rem;color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sim-hub-lab-actions{display:flex;flex-wrap:wrap;gap:.4rem}.sim-hub-btn{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .85rem;border-radius:8px;font-size:.8rem;font-weight:700;text-decoration:none;border:1px solid transparent;cursor:pointer}.sim-hub-btn:disabled{opacity:.5;cursor:not-allowed}.sim-hub-btn--primary{background:#059669;color:#fff;border-color:#059669}.sim-hub-btn--primary:hover:not(:disabled){background:#047857}.sim-hub-btn--ghost{background:#fff;color:#334155;border-color:#cbd5e1}.sim-hub-btn--ghost:hover{background:#f1f5f9}.sim-hub-steps{margin:0;padding-left:1.2rem;color:#475569;font-size:.88rem;line-height:1.65}.sim-hub-resume{margin:.85rem 0 0}.sim-hub-resume a{font-size:.85rem;font-weight:700;color:#2563eb;text-decoration:none}.sim-hub-resume a:hover{text-decoration:underline}@media (max-width: 767px){.sim-hub{padding:1.15rem 1rem 2.5rem}}.sim-hub-kind--private{color:#9a3412;background:#ffedd5}.sim-hub-lab.private{opacity:.92;border-style:dashed}.journey{max-width:920px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.journey-hero{margin-bottom:1.35rem}.journey-kicker{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#64748b}.journey-title{margin:.35rem 0 .5rem;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800;color:#0f172a;letter-spacing:-.02em}.journey-lead{margin:0;max-width:38rem;color:#475569;line-height:1.65;font-size:.95rem}.journey-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1.15rem 1.25rem 1.3rem;margin-bottom:1rem;box-shadow:0 1px 2px #0f172a0a}.journey-panel-title{margin:0 0 .35rem;font-size:1rem;font-weight:800;color:#0f172a}.journey-panel-desc{margin:0 0 1rem;font-size:.85rem;color:#64748b;line-height:1.55}.journey-pos-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1.25rem;margin-bottom:1rem}.journey-pos-label{margin:0 0 .2rem;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.journey-pos-value{margin:0;font-size:1.05rem;font-weight:800;color:#0f172a}.journey-pos-value--sm{font-size:.9rem;font-weight:700;line-height:1.45}.journey-pos-sub{font-weight:600;color:#64748b;font-size:.9rem}.journey-progress-track{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.journey-progress-fill{height:100%;background:linear-gradient(90deg,#0ea5e9,#2563eb);border-radius:inherit}.journey-progress-pct{margin:.45rem 0 0;font-size:.8rem;font-weight:700;color:#475569}.journey-mission{background:linear-gradient(135deg,#0f172a,#1e3a5f 55%,#0f766e 120%);border-color:transparent;color:#f8fafc}.journey-mission-kicker{margin:0 0 .35rem;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#7dd3fc}.journey-mission-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:800;letter-spacing:-.01em}.journey-mission-desc{margin:0 0 .55rem;color:#cbd5e1;line-height:1.6;font-size:.92rem}.journey-mission-why{margin:0 0 1rem;font-size:.78rem;color:#94a3b8}.journey-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font-weight:700;font-size:.88rem;border-radius:10px;padding:.55rem 1rem;cursor:pointer;text-decoration:none}.journey-btn:hover{background:#f8fafc}.journey-btn--primary{border-color:transparent;background:#f8fafc;color:#0f172a}.journey-btn--primary:hover{background:#e2e8f0}.journey-map{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;position:relative}.journey-node{display:grid;grid-template-columns:28px 1fr;gap:.75rem;position:relative;padding:.65rem 0 .85rem}.journey-node:not(:last-child):before{content:"";position:absolute;left:12px;top:1.55rem;bottom:0;width:2px;background:#e2e8f0}.journey-node--completed:not(:last-child):before{background:#38bdf8}.journey-node--current:not(:last-child):before{background:linear-gradient(#38bdf8,#e2e8f0)}.journey-node-dot{width:14px;height:14px;margin:.35rem auto 0;border-radius:50%;background:#cbd5e1;border:3px solid #fff;box-shadow:0 0 0 2px #cbd5e1;z-index:1}.journey-node--completed .journey-node-dot{background:#0ea5e9;box-shadow:0 0 0 2px #0ea5e9}.journey-node--current .journey-node-dot{background:#0f172a;box-shadow:0 0 0 3px #38bdf8}.journey-node-label{margin:0;font-size:.65rem;font-weight:800;letter-spacing:.1em;color:#64748b}.journey-node--current .journey-node-label{color:#0284c7}.journey-node-title{margin:.1rem 0 .25rem;font-size:.98rem;font-weight:800;color:#0f172a}.journey-node-summary{margin:0;font-size:.84rem;color:#64748b;line-height:1.5}.journey-node-signals{margin:.4rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem}.journey-node-signals li{font-size:.7rem;font-weight:700;color:#334155;background:#f1f5f9;border-radius:6px;padding:.15rem .45rem}.journey-node-badge{display:inline-block;margin-top:.45rem;font-size:.68rem;font-weight:800;letter-spacing:.04em;color:#0369a1;background:#e0f2fe;border-radius:999px;padding:.15rem .55rem}.journey-node--upcoming{opacity:.72}.journey-ms{display:grid;grid-template-columns:1.25rem 1fr;gap:.55rem;padding:.55rem .65rem;border-radius:10px;background:#f8fafc;border:1px dashed #e2e8f0;opacity:.7}.journey-ms.achieved{opacity:1;background:#fff;border-style:solid;border-color:#bae6fd}.journey-ms-mark{color:#94a3b8;font-size:.85rem;line-height:1.4}.journey-ms.achieved .journey-ms-mark{color:#0284c7}.journey-ms-title{margin:0;font-size:.88rem;font-weight:800;color:#0f172a}.journey-ms-desc{margin:.15rem 0 0;font-size:.8rem;color:#64748b}.journey-ms-when{margin:.2rem 0 0;font-size:.72rem;color:#94a3b8}.journey-reflection-latest{margin:0 0 1rem;padding:.75rem .85rem;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0;font-size:.85rem;color:#334155;line-height:1.55}.journey-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem;font-size:.8rem;font-weight:700;color:#475569}.journey-field textarea{border:1px solid #cbd5e1;border-radius:10px;padding:.65rem .75rem;font:inherit;font-weight:500;color:#0f172a;resize:vertical;min-height:2.8rem}.journey-field textarea:focus{outline:2px solid #38bdf8;outline-offset:1px}.journey-reflection-msg{margin:0 0 .75rem;font-size:.82rem;color:#0369a1}.journey-foot{margin:1.25rem 0 0;text-align:center;font-size:.82rem;color:#94a3b8}.journey-foot a{color:#2563eb;font-weight:700;text-decoration:none}.journey-foot a:hover{text-decoration:underline}@media (max-width: 640px){.journey-pos-grid{grid-template-columns:1fr}}.achv{max-width:960px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.achv-hero{margin-bottom:1.2rem}.achv-kicker{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#64748b}.achv-title{margin:.35rem 0 .45rem;font-size:clamp(1.55rem,3vw,2rem);font-weight:800;color:#0f172a}.achv-lead{margin:0;color:#475569;line-height:1.6;max-width:40rem}.achv-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1.1rem 1.2rem 1.25rem;margin-bottom:1rem;box-shadow:0 1px 2px #0f172a0a}.achv-panel-title{margin:0 0 .85rem;font-size:1rem;font-weight:800}.achv-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1.2rem}.achv-label{margin:0 0 .2rem;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.achv-value{margin:0;font-size:1.15rem;font-weight:800;color:#0f172a}.achv-value--sm{font-size:.9rem;font-weight:700;line-height:1.4}.achv-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .85rem}.achv-filter{border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:.28rem .7rem;font-size:.75rem;font-weight:700;color:#475569;cursor:pointer}.achv-filter.active{background:#0f172a;border-color:#0f172a;color:#fff}.achv-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.achv-card{width:100%;text-align:left;border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;padding:.9rem .85rem;cursor:pointer;display:flex;flex-direction:column;gap:.35rem;min-height:148px}.achv-card.unlocked{background:#fff;border-color:#fde68a}.achv-card.locked{opacity:.82}.achv-card-icon{font-size:1.35rem}.achv-card-title{font-size:.92rem;font-weight:800;color:#0f172a}.achv-card-desc{font-size:.78rem;color:#64748b;line-height:1.45;flex:1}.achv-card-meta{font-size:.72rem;font-weight:700;color:#0369a1}.achv-card.locked .achv-card-meta{color:#94a3b8}.achv-card-bar{display:block;height:5px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin-top:.2rem}.achv-card-bar>span{display:block;height:100%;background:linear-gradient(90deg,#f59e0b,#ea580c)}.achv-foot{margin:1rem 0 0;text-align:center;font-size:.82rem;color:#94a3b8}.achv-foot a{color:#2563eb;font-weight:700;text-decoration:none}.achv-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:80;padding:1rem}.achv-modal{width:min(440px,100%);background:#fff;border-radius:16px;padding:1.25rem 1.3rem 1.35rem;box-shadow:0 20px 50px #0f172a33}.achv-modal-icon{margin:0;font-size:2rem;text-align:center}.achv-modal-title{margin:.35rem 0 .4rem;text-align:center;font-size:1.2rem;font-weight:800}.achv-modal-desc{margin:0 0 1rem;text-align:center;color:#64748b;font-size:.9rem;line-height:1.55}.achv-modal-dl{margin:0 0 1rem;display:grid;gap:.65rem}.achv-modal-dl dt{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.achv-modal-dl dd{margin:.15rem 0 0;font-size:.9rem;font-weight:700;color:#0f172a}.achv-modal-actions{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.sett{max-width:960px;margin:0 auto;padding:0 0 2.5rem}.sett-hero{margin-bottom:1.1rem}.sett-kicker{margin:0 0 .35rem;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#0369a1}.sett-title{margin:0 0 .45rem;font-size:clamp(1.55rem,3vw,1.95rem);font-weight:800;color:#0f172a}.sett-lead{margin:0;max-width:40rem;color:#64748b;line-height:1.6;font-size:.95rem}.sett-toast{margin:0 0 .75rem;padding:.55rem .75rem;border-radius:10px;background:#ecfdf5;color:#047857;font-size:.86rem;font-weight:700}.sett-error{margin:0 0 .75rem;padding:.55rem .75rem;border-radius:10px;background:#fef2f2;color:#b91c1c;font-size:.86rem;font-weight:700}.sett-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:1rem;align-items:start}.sett-nav{display:flex;flex-direction:column;gap:.3rem;position:sticky;top:1rem}.sett-nav-btn{text-align:left;border:1px solid transparent;background:transparent;border-radius:10px;padding:.55rem .7rem;font:inherit;font-size:.88rem;font-weight:700;color:#64748b;cursor:pointer}.sett-nav-btn:hover{background:#e2e8f0;color:#0f172a}.sett-nav-btn.active{background:#fff;border-color:#cbd5e1;color:#0f172a;box-shadow:0 1px 2px #0f172a14}.sett-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.15rem 1.25rem 1.35rem}.sett-panel-title{margin:0 0 .35rem;font-size:1.05rem;font-weight:800;color:#0f172a}.sett-panel-desc{margin:0 0 1rem;font-size:.88rem;color:#64748b;line-height:1.5}.sett-subhead{margin:1.25rem 0 .55rem;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.sett-field{display:grid;gap:.35rem;margin-bottom:.75rem;font-size:.8rem;font-weight:700;color:#475569}.sett-field input,.sett-field textarea{border:1px solid #cbd5e1;border-radius:10px;padding:.65rem .75rem;font:inherit;font-weight:500;color:#0f172a;background:#fff}.sett-field textarea{resize:vertical}.sett-field input:focus,.sett-field textarea:focus{outline:2px solid #38bdf8;outline-offset:1px}.sett-hint{margin:0 0 .85rem;font-size:.8rem;color:#94a3b8}.sett-note{margin:.85rem 0 0;font-size:.8rem;color:#94a3b8;line-height:1.5}.sett-note a{color:#2563eb;font-weight:700;text-decoration:none}.sett-choice-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.35rem}.sett-choice{border:1px solid #cbd5e1;background:#f8fafc;border-radius:999px;padding:.4rem .85rem;font:inherit;font-size:.82rem;font-weight:700;color:#475569;cursor:pointer}.sett-choice:hover{border-color:#94a3b8}.sett-choice.active{background:#0f172a;border-color:#0f172a;color:#fff}.sett-choice:disabled{opacity:.6;cursor:default}.sett-toggle{display:flex;align-items:flex-start;gap:.55rem;margin:.55rem 0;font-size:.9rem;font-weight:600;color:#334155}.sett-toggle input{margin-top:.2rem}.sett-toggle--block span{display:grid;gap:.2rem}.sett-toggle--block strong{font-weight:800;color:#0f172a}.sett-toggle--block em{font-style:normal;font-weight:500;font-size:.82rem;color:#64748b;line-height:1.45}.sett-soon-box{margin-top:1rem;padding:.85rem 1rem;border-radius:12px;background:#f8fafc;border:1px dashed #cbd5e1}.sett-soon-box>p:first-child{margin:0;font-weight:800;color:#0f172a}.sett-stat{margin-bottom:.75rem}.sett-label{margin:0 0 .2rem;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.sett-value{margin:0;font-size:1.4rem;font-weight:800;color:#0f172a}@media (max-width: 720px){.sett-layout{grid-template-columns:1fr}.sett-nav{position:static;flex-direction:row;flex-wrap:wrap}}html[data-theme=dark] body{background:#0b1220;color:#e2e8f0}html[data-theme=dark] .app-shell,html[data-theme=dark] .app-main{background:transparent}html[data-theme=dark] .sett-title,html[data-theme=dark] .sett-panel-title,html[data-theme=dark] .sett-value,html[data-theme=dark] .anal-title,html[data-theme=dark] .anal-value,html[data-theme=dark] .journey-title,html[data-theme=dark] .achv-title{color:#f8fafc}html[data-theme=dark] .sett-panel,html[data-theme=dark] .anal-panel,html[data-theme=dark] .journey-panel,html[data-theme=dark] .achv-panel{background:#111827;border-color:#1f2937}html[data-theme=dark] .sett-nav-btn.active{background:#111827;border-color:#334155;color:#f8fafc}html[data-theme=dark] .sett-nav-btn:hover{background:#1e293b;color:#f8fafc}html[data-theme=dark] .sett-field input,html[data-theme=dark] .sett-field textarea{background:#0b1220;border-color:#334155;color:#f8fafc}html[data-theme=dark] .sett-choice{background:#0b1220;border-color:#334155;color:#cbd5e1}html[data-theme=dark] .sett-choice.active{background:#38bdf8;border-color:#38bdf8;color:#0f172a}html[data-theme=dark] .sett-toggle,html[data-theme=dark] .sett-lead,html[data-theme=dark] .sett-panel-desc,html[data-theme=dark] .anal-lead,html[data-theme=dark] .anal-sub{color:#94a3b8}html[data-theme=dark] .sett-toggle--block strong{color:#f8fafc}html[data-theme=dark] .sett-soon-box{background:#0b1220;border-color:#334155}html[data-theme=dark] .app-body,html[data-theme=dark] .app-main--full{background:#0b1220}html[data-theme=dark] .app-nav{background:#0f172a;border-color:#1e293b}html[data-theme=dark] .app-nav-label{color:#64748b}html[data-theme=dark] .app-nav-link{color:#cbd5e1}html[data-theme=dark] .app-nav-link:hover{background:#1e293b;color:#f8fafc}html[data-theme=dark] .app-nav-link.active{background:#1e3a8a;color:#eff6ff}html[data-theme=dark] .app-nav-soon{color:#64748b}html[data-theme=dark] .dash-greeting,html[data-theme=dark] .dash-welcome,html[data-theme=dark] .dash-panel-title,html[data-theme=dark] .dash-subhead,html[data-theme=dark] .dash-continue-course,html[data-theme=dark] .dash-continue-section,html[data-theme=dark] .dash-area-label,html[data-theme=dark] .dash-path-label{color:#f8fafc}html[data-theme=dark] .dash-kicker,html[data-theme=dark] .dash-empty,html[data-theme=dark] .dash-area-meta,html[data-theme=dark] .dash-continue-meta,html[data-theme=dark] .dash-mock-note,html[data-theme=dark] .dash-check-meta,html[data-theme=dark] .dash-ai-quote{color:#94a3b8}html[data-theme=dark] .dash-panel,html[data-theme=dark] .dash-continue-card,html[data-theme=dark] .dash-area-card,html[data-theme=dark] .dash-check-link{background:#111827;border-color:#1f2937;color:#e2e8f0}html[data-theme=dark] .dash-panel--ai{background:#111827}html[data-theme=dark] .dash-panel-more,html[data-theme=dark] .dash-ai-btn{color:#93c5fd}html[data-theme=dark] .academy-home-kicker,html[data-theme=dark] .academy-home-desc,html[data-theme=dark] .academy-shelf-desc,html[data-theme=dark] .academy-catalog-desc,html[data-theme=dark] .academy-domain-desc,html[data-theme=dark] .academy-area-meta,html[data-theme=dark] .academy-course-desc,html[data-theme=dark] .academy-domain-soon,html[data-theme=dark] .dash-empty{color:#94a3b8}html[data-theme=dark] .sim-hub-title,html[data-theme=dark] .atlas-ai-title{color:#f8fafc}html[data-theme=dark] .sim-hub-desc,html[data-theme=dark] .sim-hub-kicker,html[data-theme=dark] .atlas-ai-desc,html[data-theme=dark] .atlas-ai-kicker{color:#94a3b8}html[data-theme=dark] .sim-hub-lab,html[data-theme=dark] .atlas-ai-context{background:#111827;border-color:#1f2937;color:#e2e8f0}.markdown-figure-transcript{margin:.65rem 0 0;border:1px solid rgba(26,35,50,.12);border-radius:8px;background:#f7f9fc;overflow:hidden}.markdown-figure-transcript--compact{margin-top:.75rem}.markdown-figure-transcript-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .65rem;border-bottom:1px solid rgba(26,35,50,.1);background:#eef2f5}.markdown-figure-transcript-label{color:#5b6575;font-size:.75rem;font-weight:600}.markdown-figure-transcript-copy{border:1px solid rgba(26,35,50,.16);border-radius:6px;background:#fff;color:#1a2332;font-size:.75rem;padding:.2rem .55rem;cursor:pointer}.markdown-figure-transcript-copy:hover,.markdown-figure-transcript-copy:focus-visible{background:#f3f6f8;outline:none}.markdown-figure-transcript-pre{margin:0;padding:.7rem .75rem .8rem;max-height:16rem;overflow:auto;color:#1a2332;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text}.markdown-body .contains-task-list,.markdown-body ul.contains-task-list{list-style:none;padding-left:.15rem}.markdown-body .task-list-item{display:flex;align-items:flex-start;gap:.55rem;margin:.35rem 0;line-height:1.55}.markdown-body .markdown-checklist-input{flex:0 0 auto;width:1.05rem;height:1.05rem;margin-top:.2rem;accent-color:#0f6e56;cursor:pointer}.markdown-body .markdown-checklist-label{flex:1 1 auto;min-width:0}.markdown-body .task-list-item:has(.markdown-checklist-input:checked) .markdown-checklist-label{color:#5b6575}.markdown-body .markdown-image-figure{margin:1.25rem auto;max-width:min(100%,720px);text-align:center}.markdown-body .markdown-image-trigger{display:block;width:100%;padding:0;margin:0;border:0;background:transparent;cursor:zoom-in;border-radius:8px}.markdown-body .markdown-image-trigger:focus-visible{outline:2px solid #5a7d8a;outline-offset:3px}.markdown-body .markdown-image-trigger img,.markdown-body img.markdown-zoomable{margin:0 auto;width:100%;max-width:100%;transition:box-shadow .15s ease,transform .15s ease}.markdown-body .markdown-image-trigger:hover img,.markdown-body .markdown-image-trigger:focus-visible img{box-shadow:0 6px 28px #0f172a2e}.markdown-body .markdown-image-hint{display:block;margin:.45rem 0 0;color:#4a5c66;font-size:.85rem;font-style:italic}.markdown-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem;background:#0a1018d1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:zoom-out}.markdown-lightbox-img{display:block;max-width:min(96vw,1400px);max-height:calc(100vh - 5rem);width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 12px 48px #00000073;cursor:default;background:#0b1220}.markdown-lightbox-close{position:absolute;top:.85rem;right:.95rem;width:2.4rem;height:2.4rem;border:0;border-radius:999px;background:#ffffff24;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}.markdown-lightbox-close:hover,.markdown-lightbox-close:focus-visible{background:#ffffff47;outline:none}.markdown-body .mermaid-diagram{margin:1.35rem 0 1.6rem;padding:1rem 1.1rem .85rem;background:linear-gradient(180deg,#e8f1f48c,#f7f8f9e6);border:1px solid rgba(90,125,138,.28);border-radius:10px;overflow-x:auto}.markdown-body .mermaid-diagram-trigger{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:inherit;font:inherit;color:inherit}.markdown-body .mermaid-diagram-trigger:focus-visible{outline:2px solid #60a5fa;outline-offset:3px;border-radius:8px}.markdown-body .mermaid-diagram-canvas{display:flex;justify-content:center;min-height:120px}.markdown-body .mermaid-diagram-canvas svg{max-width:100%;height:auto}.markdown-body .mermaid-diagram-hint{display:block;margin:.45rem 0 0;color:#4a5c66;font-size:.85rem;font-style:italic;text-align:center}.markdown-body .mermaid-diagram+em,.markdown-body .mermaid-diagram+p>em:only-child{display:block;margin:.15rem 0 1.4rem;text-align:center;color:#4a5c66;font-size:.92rem}.markdown-body .mermaid-diagram--fallback pre{margin:0;white-space:pre-wrap}.markdown-lightbox-mermaid{display:flex;align-items:center;justify-content:center;max-width:min(96vw,1600px);max-height:calc(100vh - 5rem);width:auto;overflow:auto;padding:1.25rem 1.5rem;border-radius:10px;background:#f8fafc;box-shadow:0 12px 48px #00000073;cursor:default}.markdown-lightbox-mermaid svg{max-width:none;width:auto;height:auto;min-width:min(88vw,1100px)}.org-nav-name{margin:0 0 .65rem;padding:0 .15rem;font-size:.78rem;font-weight:700;color:#0369a1;line-height:1.3}.orgd{max-width:980px;margin:0 auto;padding:0 0 2.5rem}.orgd-hero{margin-bottom:1.15rem}.orgd-kicker{margin:0 0 .35rem;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#0369a1}.orgd-title{margin:0 0 .4rem;font-size:clamp(1.5rem,3vw,1.9rem);font-weight:800;color:#0f172a}.orgd-lead{margin:0;max-width:42rem;color:#64748b;line-height:1.55;font-size:.94rem}.orgd-meta{margin:.55rem 0 0;font-size:.8rem;font-weight:700;color:#94a3b8}.orgd-meta a{color:#2563eb;text-decoration:none}.orgd-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.15rem 1.25rem 1.3rem;margin-bottom:1rem}.orgd-panel-title{margin:0;font-size:1.05rem;font-weight:800;color:#0f172a}.orgd-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.orgd-panel-head .orgd-panel-title{margin:0}.orgd-more{font-size:.82rem;font-weight:700;color:#2563eb;text-decoration:none}.orgd-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem .85rem;margin-top:.85rem}.orgd-label{margin:0 0 .2rem;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.orgd-value{margin:0;font-size:1.45rem;font-weight:800;color:#0f172a;line-height:1.2}.orgd-subvalue{margin-left:.4rem;font-size:.85rem;font-weight:700;color:#64748b}.orgd-empty{margin:0;color:#94a3b8;font-size:.9rem}.orgd-note{margin:.9rem 0 0;font-size:.8rem;color:#94a3b8;line-height:1.5}.orgd-note a{color:#2563eb;font-weight:700;text-decoration:none}.orgd-activity{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.orgd-activity li{display:grid;grid-template-columns:1.1fr 1.2fr 1fr auto;gap:.5rem;align-items:center;padding:.5rem .55rem;background:#f8fafc;border-radius:8px;font-size:.84rem}.orgd-act-what{color:#334155;font-weight:600}.orgd-act-meta,.orgd-act-when{color:#94a3b8;font-weight:600}.orgd-table{width:100%;border-collapse:collapse;font-size:.86rem}.orgd-table th{text-align:left;padding:.55rem .4rem;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:#94a3b8;border-bottom:1px solid #e2e8f0}.orgd-table td{padding:.65rem .4rem;border-bottom:1px solid #f1f5f9;vertical-align:top;color:#334155}.orgd-table strong{color:#0f172a;display:block}.orgd-email{display:block;font-size:.75rem;color:#94a3b8;font-weight:600;margin-top:.15rem}.orgd-role{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.72rem;font-weight:800;background:#e2e8f0;color:#475569;text-transform:uppercase}.orgd-role--owner{background:#fef3c7;color:#92400e}.orgd-role--admin{background:#dbeafe;color:#1d4ed8}.orgd-role--manager{background:#dcfce7;color:#166534}.orgd-progress{display:flex;align-items:center;gap:.4rem;min-width:110px}.orgd-progress-track{flex:1;height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.orgd-progress-track>span{display:block;height:100%;background:linear-gradient(90deg,#38bdf8,#0284c7)}.admin-org-list{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.4rem}.admin-org-item{width:100%;text-align:left;border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:.65rem .75rem;cursor:pointer;font:inherit}.admin-org-item strong{display:block;color:#0f172a}.admin-org-item span{font-size:.78rem;color:#64748b}.admin-org-item.active{border-color:#38bdf8;background:#f0f9ff}.admin-org-form{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.35rem}.admin-org-form input,.admin-org-form select{border:1px solid #cbd5e1;border-radius:8px;padding:.5rem .65rem;font:inherit;min-width:140px}@media (max-width: 720px){.orgd-stat-grid{grid-template-columns:1fr}.orgd-activity li{grid-template-columns:1fr 1fr}}.org-gap-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.55rem}.org-gap-row{display:grid;grid-template-columns:7.5rem 1fr 3.2rem;gap:.65rem;align-items:center}.org-gap-label{font-size:.88rem;font-weight:800;color:#0f172a}.org-gap-track{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden}.org-gap-track>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#38bdf8,#0284c7)}.org-gap-row--gap .org-gap-track>span{background:linear-gradient(90deg,#fb923c,#ea580c)}.org-gap-row--strong .org-gap-track>span{background:linear-gradient(90deg,#34d399,#059669)}.org-gap-pct{font-size:.86rem;font-weight:800;color:#334155;text-align:right}.org-matrix td.org-cell-gap{color:#c2410c;font-weight:800}.org-program-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.65rem}.org-program-card{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.org-program-title{margin:0 0 .25rem;font-size:1rem;font-weight:800;color:#0f172a}.org-program-meta{margin:0;font-size:.8rem;color:#64748b}.org-program-stat{text-align:right;min-width:7rem}.orgd-value--sm{font-size:1.15rem}@media (max-width: 720px){.org-gap-row{grid-template-columns:1fr}.org-program-card{flex-direction:column}.org-program-stat{text-align:left}}.org-ach-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.org-ach-card{border:1px solid #e2e8f0;border-radius:14px;padding:.9rem .95rem 1rem;background:#f8fafc}.org-ach-card.unlocked{background:#fff;border-color:#fbbf24;box-shadow:0 1px #fef3c7}.org-ach-icon{font-size:1.4rem}.org-ach-title{margin:.35rem 0 .15rem;font-size:.95rem;font-weight:800;color:#0f172a}.org-ach-team{margin:0 0 .35rem;font-size:.72rem;font-weight:700;color:#0284c7}.org-ach-desc{margin:0 0 .55rem;font-size:.8rem;color:#64748b;line-height:1.45;min-height:2.4em}.org-ach-prog{margin:0 0 .35rem;font-size:.78rem;font-weight:700;color:#475569}.org-ach-bar{display:block;height:5px;border-radius:999px;background:#e2e8f0;overflow:hidden}.org-ach-bar>span{display:block;height:100%;background:linear-gradient(90deg,#f59e0b,#ea580c)}.org-ai-reply{margin:.5rem 0 0;padding:1rem;background:#f8fafc;border-radius:12px;white-space:pre-wrap;font:inherit;font-size:.92rem;line-height:1.6;color:#0f172a}.org-assign-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.65rem}.org-assign-card{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.org-assign-card--overdue{border-color:#fdba74;background:#fff7ed}.org-assign-card--completed{border-color:#86efac;background:#f0fdf4}.sim-outcome-bar{position:fixed;left:50%;bottom:1rem;transform:translate(-50%);z-index:90;width:min(560px,calc(100vw - 1.5rem));background:#0f172aee;color:#e2e8f0;border-radius:14px;padding:.75rem .9rem .85rem;box-shadow:0 12px 40px #0f172a55}.sim-outcome-label{margin:0 0 .45rem;font-size:.78rem;font-weight:700;color:#94a3b8}.sim-outcome-bar .sett-choice{background:#1e293b;border-color:#334155;color:#e2e8f0}.sim-outcome-bar .sett-choice:hover{border-color:#38bdf8}.sim-outcome-bar .sett-toast{margin-top:.55rem}@media (max-width: 640px){.achv-summary-grid{grid-template-columns:1fr}}.anal{max-width:920px;margin:0 auto;padding:0 0 2.5rem}.anal-hero{margin-bottom:1.25rem}.anal-kicker{margin:0 0 .35rem;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#0284c7}.anal-title{margin:0 0 .45rem;font-size:clamp(1.55rem,3vw,1.95rem);font-weight:800;color:#0f172a}.anal-lead{margin:0;max-width:42rem;color:#64748b;line-height:1.6;font-size:.95rem}.anal-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.15rem 1.25rem 1.25rem;margin-bottom:1rem}.anal-panel-title{margin:0 0 .35rem;font-size:1.05rem;font-weight:800;color:#0f172a}.anal-panel-desc{margin:0 0 1rem;font-size:.88rem;color:#64748b;line-height:1.5}.anal-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem .85rem}.anal-stat-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.anal-label{margin:0 0 .2rem;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.anal-value{margin:0;font-size:1.55rem;font-weight:800;color:#0f172a;line-height:1.2}.anal-value--sm{font-size:1.05rem}.anal-sub{margin:.35rem 0 0;font-size:.82rem;color:#64748b}.anal-note{margin:.75rem 0 1rem;font-size:.8rem;color:#94a3b8;line-height:1.5}.anal-bars{list-style:none;margin:0 0 1.15rem;padding:0;display:flex;align-items:flex-end;gap:.28rem;height:110px}.anal-bars li{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;height:100%}.anal-bar-track{flex:1;width:100%;max-width:28px;display:flex;align-items:flex-end;background:#f1f5f9;border-radius:6px 6px 2px 2px;overflow:hidden}.anal-bar-fill{display:block;width:100%;min-height:2px;background:linear-gradient(180deg,#38bdf8,#0284c7);border-radius:6px 6px 0 0}.anal-bar-day{margin-top:.3rem;font-size:.58rem;font-weight:700;color:#94a3b8;white-space:nowrap}.anal-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.85rem}.anal-topics{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.anal-topics li{display:flex;justify-content:space-between;gap:.75rem;padding:.45rem .55rem;background:#f8fafc;border-radius:8px;font-size:.85rem}.anal-topic-meta{color:#64748b;font-weight:600}.anal-split{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.anal-obs{margin:1rem 0 0;padding:0 0 0 1.1rem;color:#334155;font-size:.9rem;line-height:1.55}.anal-obs li+li{margin-top:.35rem}.anal-foot{margin:1rem 0 0;text-align:center;font-size:.82rem;color:#94a3b8}.anal-foot a{color:#2563eb;font-weight:700;text-decoration:none}@media (max-width: 720px){.anal-stat-grid,.anal-stat-grid--4,.anal-two,.anal-split{grid-template-columns:1fr}}.academy-home-desc{margin:.45rem 0 0;color:#64748b;font-size:.95rem}.academy-shelf{margin-top:1.35rem}.academy-shelf--career{margin-top:1.75rem;padding-top:1.25rem;border-top:1px dashed #cbd5e1}.academy-shelf-title{margin:0 0 .25rem;font-size:1rem;font-weight:800;color:#0f172a}.academy-shelf-desc{margin:0 0 .85rem;font-size:.82rem;color:#64748b;line-height:1.5}.academy-area-list,.academy-course-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.plan-badge--career{color:#9a3412;background:#ffedd5}.academy-domain-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem}.academy-domain-desc{font-size:.8rem;color:#64748b;line-height:1.45}.academy-area-card--soon{opacity:.92;cursor:default;border-style:dashed;border-color:#f59e0b;background:#fffbeb}.academy-domain-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.academy-domain-more{flex-shrink:0;font-size:.78rem;font-weight:700;color:#2563eb;text-decoration:none;padding-top:.15rem}.academy-domain-more:hover{text-decoration:underline}.academy-domain-soon{margin:.35rem 0 .5rem}.academy-shelf--nested{margin-top:.85rem;padding-top:.85rem}.markdown-lightbox-hint{margin:0;color:#ffffffc7;font-size:.88rem}.markdown-body--figure-open{padding-right:min(28rem,46vw)}.markdown-body .figure-preview-link{color:#0f6e56;text-decoration:underline;text-underline-offset:2px;cursor:zoom-in}.markdown-body .figure-preview-link:hover,.markdown-body .figure-preview-link:focus-visible{color:#0b4f3e}.markdown-figure-drawer{position:fixed;top:4.5rem;right:.75rem;bottom:5.5rem;z-index:2400;display:flex;flex-direction:column;width:min(28rem,calc(100vw - 1.5rem));max-width:46vw;background:#fbfcfd;border:1px solid rgba(26,35,50,.14);border-radius:12px;box-shadow:0 10px 36px #0f172a29;overflow:hidden;pointer-events:auto}.markdown-figure-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.85rem .9rem .7rem;border-bottom:1px solid rgba(26,35,50,.1);background:#f3f6f8}.markdown-figure-drawer-kicker{margin:0;color:#5b6575;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.markdown-figure-drawer-title{margin:.15rem 0 0;color:#1a2332;font-size:.98rem;font-weight:700;line-height:1.35}.markdown-figure-drawer-close{flex:0 0 auto;width:2rem;height:2rem;border:0;border-radius:999px;background:#1a233214;color:#1a2332;font-size:1.25rem;line-height:1;cursor:pointer}.markdown-figure-drawer-close:hover,.markdown-figure-drawer-close:focus-visible{background:#1a233224;outline:none}.markdown-figure-drawer-body{flex:1 1 auto;overflow:auto;padding:.75rem;background:#fff}.markdown-figure-drawer-img{display:block;width:100%;height:auto;border-radius:6px;background:#fff}.markdown-figure-drawer-hint{margin:0;padding:.55rem .9rem .7rem;border-top:1px solid rgba(26,35,50,.1);color:#5b6575;font-size:.78rem;line-height:1.4;background:#f7f9fc}@media (max-width: 900px){.markdown-body--figure-open{padding-right:0}.markdown-figure-drawer{top:auto;right:.5rem;left:.5rem;bottom:.5rem;width:auto;max-width:none;max-height:min(52vh,28rem)}}.academy-shelf-title--sub{font-size:.9rem;margin-bottom:.55rem}.academy-domain-more-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;flex-shrink:0}.premium-gate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem}.premium-gate-modal{width:100%;max-width:440px;background:#fff;border-radius:16px;padding:1.75rem 1.5rem 1.5rem;box-shadow:0 24px 80px #00000059;text-align:center}.premium-gate-icon{font-size:2.5rem;margin-bottom:.75rem}.premium-gate-plan-pill{display:inline-block;margin:0 0 .65rem;padding:.28rem .7rem;border-radius:999px;font-size:.75rem;font-weight:800;letter-spacing:.02em;color:#1e40af;background:#dbeafe;border:1px solid #93c5fd}.premium-gate-title{font-size:1.15rem;font-weight:800;color:#1e3a8a;margin:0 0 .75rem}.premium-gate-desc{margin:0 0 1rem;color:#475569;font-size:.9rem;line-height:1.6}.premium-gate-hint{margin:0 0 1rem;color:#64748b;font-size:.8rem}.premium-gate-hint a,.premium-gate-check a{color:#2563eb;font-weight:700;text-decoration:none}.premium-gate-error{margin:0 0 .75rem;color:#dc2626;font-size:.82rem}.premium-gate-actions{display:flex;flex-direction:column;gap:.55rem}.premium-gate-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.7rem 1rem;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;border:1px solid #cbd5e1;background:#fff;color:#334155}.premium-gate-btn--primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#2563eb;color:#fff}.premium-gate-btn--secondary{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.premium-gate-b2b-link{display:inline-block;margin-top:.35rem;font-size:.8rem;color:#2563eb}.sidebar-btn.locked,.sidebar-chapter-btn.locked{opacity:.88}.sidebar-lock-badge{font-size:.75rem}.sidebar-section-top{display:flex;align-items:center;justify-content:space-between;gap:.45rem;width:100%}.sidebar-plan-upsell{font-size:.68rem;font-weight:700;color:#1d4ed8;margin-top:.1rem}.plan-badge{flex-shrink:0;font-size:.62rem;font-weight:800;letter-spacing:.02em;padding:.12rem .4rem;border-radius:999px;border:1px solid transparent;line-height:1.2;white-space:nowrap}.plan-badge--free{color:#334155;background:#f1f5f9;border-color:#e2e8f0}.plan-badge--plus,.plan-badge--starter,.plan-badge--standard{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.plan-badge--professional{color:#6d28d9;background:#ede9fe;border-color:#c4b5fd}.plan-badge--small_team{color:#0f766e;background:#ccfbf1;border-color:#99f6e4}.plan-badge--business{color:#c2410c;background:#ffedd5;border-color:#fdba74}.plan-badge--enterprise{color:#9f1239;background:#ffe4e6;border-color:#fda4af}.plan-badge--none{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.academy-course-badge{align-self:flex-start;margin-top:.2rem;font-size:.68rem;font-weight:800;color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;padding:.12rem .5rem}.academy-course-badge--inline{align-self:auto;margin-top:0}.academy-course-badge.academy-course-badge--preparing{color:#92400e;background:#fef3c7;border-color:#f59e0b}.academy-course-badge.academy-course-badge--private{color:#3730a3;background:#eef2ff;border-color:#a5b4fc}.academy-area-card.academy-area-card--private,.academy-course-card.academy-course-card--private{border-style:dashed;border-color:#6366f1;background:#eef2ff}.academy-area-card.academy-area-card--has-private{border-color:#a5b4fc}html[data-theme=dark] .app-body,html[data-theme=dark] .app-main,html[data-theme=dark] .app-main--full{background:#0b1220;color:#e2e8f0}html[data-theme=dark] .dash-hero{background:radial-gradient(1000px 240px at 12% -30%,rgba(59,130,246,.22),transparent 60%),linear-gradient(160deg,#111827,#0f172a 55%,#0b1220);border-color:#1e293b}html[data-theme=dark] .dash-greeting,html[data-theme=dark] .dash-panel-title,html[data-theme=dark] .dash-continue-course,html[data-theme=dark] .dash-area-label,html[data-theme=dark] .dash-path-step,html[data-theme=dark] .dash-journey-pct,html[data-theme=dark] .dash-check-label,html[data-theme=dark] .dash-achievements{color:#f8fafc}html[data-theme=dark] .dash-welcome,html[data-theme=dark] .dash-kicker,html[data-theme=dark] .dash-empty,html[data-theme=dark] .dash-area-meta,html[data-theme=dark] .dash-continue-meta,html[data-theme=dark] .dash-continue-section,html[data-theme=dark] .dash-check-meta,html[data-theme=dark] .dash-subhead,html[data-theme=dark] .dash-week-label,html[data-theme=dark] .dash-mock-note,html[data-theme=dark] .dash-path-label,html[data-theme=dark] .dash-path-arrow{color:#94a3b8}html[data-theme=dark] .dash-panel,html[data-theme=dark] .dash-panel--ai{background:#111827;border-color:#1f2937;color:#e2e8f0;box-shadow:none}html[data-theme=dark] .dash-panel-more,html[data-theme=dark] .dash-continue-play,html[data-theme=dark] .dash-empty a{color:#93c5fd}html[data-theme=dark] .dash-check-link{color:#e2e8f0}html[data-theme=dark] .dash-check-link:hover{background:#1e293b}html[data-theme=dark] .dash-check-box{background:transparent;border-color:#64748b}html[data-theme=dark] .dash-journey-bar,html[data-theme=dark] .dash-week-track{background:#1e293b}html[data-theme=dark] .dash-week-fill{background:#60a5fa}html[data-theme=dark] .dash-continue-card,html[data-theme=dark] .dash-area-card{background:#0f172a;border-color:#1f2937;color:#e2e8f0}html[data-theme=dark] .dash-continue-card:hover,html[data-theme=dark] .dash-area-card:hover{border-color:#3b82f6;background:#172554}html[data-theme=dark] .dash-ai-quote{background:#1e1b4b;border-left-color:#a78bfa;color:#ddd6fe}html[data-theme=dark] .academy-home-title,html[data-theme=dark] .academy-shelf-title,html[data-theme=dark] .academy-shelf-title--sub,html[data-theme=dark] .academy-catalog-title,html[data-theme=dark] .academy-area-label,html[data-theme=dark] .academy-course-title{color:#f8fafc}html[data-theme=dark] .academy-home-kicker,html[data-theme=dark] .academy-home-desc,html[data-theme=dark] .academy-shelf-desc,html[data-theme=dark] .academy-catalog-desc,html[data-theme=dark] .academy-domain-desc,html[data-theme=dark] .academy-area-meta,html[data-theme=dark] .academy-course-desc,html[data-theme=dark] .academy-domain-soon{color:#94a3b8}html[data-theme=dark] .academy-crumb,html[data-theme=dark] .academy-domain-more{color:#93c5fd}html[data-theme=dark] .academy-shelf--career,html[data-theme=dark] .academy-shelf--nested{border-top-color:#334155}html[data-theme=dark] .academy-area-card,html[data-theme=dark] .academy-course-card{background:#111827;border-color:#1f2937;color:#e2e8f0;box-shadow:none}html[data-theme=dark] .academy-catalog-section{background:#0b1220;border-color:#1f2937}html[data-theme=dark] .academy-catalog-section .academy-course-card,html[data-theme=dark] .academy-catalog-section .academy-course-card.academy-course-card--disabled{background:#111827}html[data-theme=dark] .academy-catalog-sub{color:#94a3b8}html[data-theme=dark] .academy-area-card:hover,html[data-theme=dark] .academy-course-card:hover{border-color:#3b82f6;box-shadow:0 4px 14px #2563eb2e}html[data-theme=dark] .academy-area-card--soon,html[data-theme=dark] .academy-course-card--disabled{background:#422006;border-color:#b45309;opacity:.92}html[data-theme=dark] .academy-course-badge{color:#fde68a;background:#422006;border-color:#854d0e}html[data-theme=dark] .academy-course-badge.academy-course-badge--preparing{color:#fde68a;background:#422006;border-color:#b45309}html[data-theme=dark] .academy-course-badge.academy-course-badge--private{color:#c7d2fe;background:#1e1b4b;border-color:#6366f1}html[data-theme=dark] .academy-area-card.academy-area-card--private,html[data-theme=dark] .academy-course-card.academy-course-card--private{background:#1e1b4b;border-color:#6366f1}html[data-theme=dark] .premium-gate-modal{background:#111827;color:#e2e8f0}html[data-theme=dark] .premium-gate-title{color:#f8fafc}html[data-theme=dark] .premium-gate-desc,html[data-theme=dark] .premium-gate-hint{color:#94a3b8}html[data-theme=dark] .premium-gate-btn{background:#0b1220;border-color:#334155;color:#e2e8f0}.admin-users-page{max-width:min(100%,1560px);padding-left:1.25rem;padding-right:1.25rem}.admin-table-wrapper{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.admin-table{min-width:1180px;table-layout:auto}.admin-table th:nth-child(2),.admin-table th:nth-child(3),.admin-table th:nth-child(4),.admin-td-name,.admin-td-email,.admin-table td:nth-child(3){max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-table th:last-child,.admin-td-actions{position:static!important;right:auto!important;background:transparent!important;box-shadow:none!important;vertical-align:middle}.admin-td-actions-inner{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.4rem}.admin-btn--pw:hover{background:#dbeafe}.app-shell{display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow:hidden}.app-header{position:relative;top:auto;flex-shrink:0;z-index:100}.app-body{display:flex;flex:1 1 0;min-height:0;height:auto;overflow:hidden}.app-main,.app-main--full{flex:1 1 0;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto}.sidebar{display:flex;flex-direction:column;min-height:0;align-self:stretch;overflow:hidden}.sidebar-header{flex-shrink:0;max-height:46%;overflow-y:auto;padding:.75rem .9rem .55rem}@media (max-width: 767px){.sidebar{max-height:min(52vh,420px);overflow:hidden}}.sidebar-list{flex:1 1 0;min-height:8rem;overflow-y:auto;overscroll-behavior:contain}.sidebar-skill-graph{flex-shrink:0}.sidebar-section-list.open,.sidebar-part-section-list.open{max-height:none;overflow:visible}.sidebar-part-section-list{list-style:none;padding:0;max-height:0;overflow:hidden;transition:max-height .25s ease}.sidebar-part-section-list .sidebar-item{padding:.1rem .5rem .1rem 1.4rem}.academy-shelf--locked{opacity:.72;filter:grayscale(.15)}.academy-shelf--locked .academy-area-list{pointer-events:none}.academy-domain-lock-note{margin:.35rem 0 0;font-size:.9rem;color:var(--muted, #5a7184)}.ea-feedback{margin:1.25rem 0 .5rem;padding:.75rem .9rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.ea-feedback-q{margin:0 0 .55rem;font-size:.92rem;color:#334155}.ea-feedback-options{display:flex;flex-wrap:wrap;gap:.4rem}.ea-feedback-btn,.ea-feedback-send,.ea-report-cancel{border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:.28rem .7rem;font-size:.82rem;color:#334155;cursor:pointer}.ea-feedback-btn.is-selected{border-color:#0284c7;background:#e0f2fe;color:#0c4a6e}.ea-feedback-comment{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end;margin-top:.65rem}.ea-feedback-comment label,.ea-report-modal label{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem;color:#475569;flex:1;min-width:12rem}.ea-feedback textarea,.ea-report-modal textarea,.ea-report-modal select,.ea-filters input,.ea-filters select{font:inherit;border:1px solid #cbd5e1;border-radius:8px;padding:.4rem .5rem;background:#fff}.ea-optional{margin-left:.4rem;color:#94a3b8}.ea-feedback-thanks{margin:.45rem 0 0;font-size:.8rem;color:#0369a1}.ea-feedback-error{margin:.4rem 0 0;font-size:.8rem;color:#b91c1c}.ea-report-link{border:0;background:transparent;color:#64748b;font-size:.78rem;text-decoration:underline;cursor:pointer;padding:0}.ea-report-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;display:flex;align-items:flex-end;justify-content:center;z-index:80;padding:1rem}@media (min-width: 720px){.ea-report-backdrop{align-items:center}}.ea-report-modal{width:min(28rem,100%);background:#fff;border-radius:12px;padding:1rem;box-shadow:0 12px 40px #0f172a2e}.ea-report-modal h2{margin:0 0 .75rem;font-size:1rem}.ea-report-actions{display:flex;gap:.5rem;margin-top:.75rem}.ea-subnav{display:flex;gap:.4rem;margin:.8rem 0;flex-wrap:wrap}.ea-subnav button{border:1px solid #cbd5e1;background:#fff;border-radius:7px;padding:.35rem .75rem;cursor:pointer}.ea-subnav button.is-active{background:#0f172a;color:#fff;border-color:#0f172a}.ea-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.8rem}.ea-filters label{display:flex;flex-direction:column;gap:.2rem;font-size:.75rem;color:#64748b}.ea-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem;margin:.5rem 0 1rem}.ea-metric{border:1px solid #e2e8f0;border-radius:10px;padding:.6rem .7rem;background:#fff}.ea-metric p{margin:0;font-size:.75rem;color:#64748b}.ea-metric strong{display:block;font-size:1.35rem;color:#0f172a}.ea-metric span{font-size:.72rem;color:#94a3b8}.ea-funnel{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.45rem}.ea-funnel-label{display:flex;justify-content:space-between;font-size:.85rem}.ea-funnel-track{height:8px;background:#e2e8f0;border-radius:99px;overflow:hidden}.ea-funnel-track span{display:block;height:100%;background:#0284c7}.ea-funnel li.is-drop .ea-funnel-track span{background:#d97706}.ea-funnel-note{margin:.2rem 0 0;font-size:.75rem;color:#b45309}.ea-table-wrap{overflow-x:auto;margin:.4rem 0 1rem}.ea-admin h2{font-size:.95rem;margin:1rem 0 .3rem}.audio-volume-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:#64748b;flex-shrink:0;white-space:nowrap}.audio-volume-range{width:6.5rem;accent-color:#0284c7;cursor:pointer}.audio-volume-value{min-width:2ch;font-variant-numeric:tabular-nums;color:#0369a1}.code-ex-preview{margin-top:.75rem;border:1px solid #cbd5e1;border-radius:8px;overflow:hidden;background:#f8fafc}.code-ex-preview-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .6rem;font-size:.75rem;font-weight:600;color:#475569;border-bottom:1px solid #e2e8f0}.code-ex-preview-widths{display:flex;gap:.25rem}.code-ex-preview-width{padding:.15rem .5rem;font-size:.75rem;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;cursor:pointer}.code-ex-preview-width.is-active{background:#1e293b;border-color:#1e293b;color:#fff}.code-ex-preview-stage{overflow-x:auto;padding:.5rem}.code-ex-preview-frame{display:block;width:100%;max-width:none;height:420px;margin:0 auto;border:1px solid #e2e8f0;background:#fff}.code-ex-preview-note{margin:0;padding:0 .6rem .5rem;font-size:.7rem;color:#64748b}.code-ex-css-check{display:flex;flex-wrap:wrap;gap:.25rem .5rem;align-items:baseline;padding:.25rem 0}.code-ex-fixture{margin:.5rem 0}.code-ex-fixture summary{cursor:pointer;font-size:.875rem}.code-ex-fixture pre{max-height:16rem;overflow:auto;font-size:.8125rem}.code-ex-prompt strong{font-weight:700;color:#0f2a6b}.code-ex-prompt code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;padding:.05em .3em;border-radius:4px;background:#e8eefc;color:#1e3a8a}.local-lab-box{margin-top:.9rem;padding-top:.8rem;border-top:1px dashed var(--border-color, #d0d7e2)}.local-lab-box .exercise-hint strong{display:block;margin-bottom:.2rem}.exercise-launch-btn--local{margin-top:.45rem;background:#fff;border:1.5px solid #2563eb;color:#1d4ed8}.exercise-launch-btn--local:hover{background:#eff6ff}.exercise-launch-btn--local:disabled{opacity:.5}.local-lab-compact{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .7rem;margin-top:.55rem}.sim-launch-btn--local{background:#fff;color:#1d4ed8;border:1.5px solid #2563eb}.local-lab-compact-note{font-size:.78rem;color:#475569}.turnstile-field{margin:.75rem 0;max-width:100%;min-width:0}.turnstile-field>div{max-width:100%;overflow:hidden}.turnstile-note{margin:0 0 .4rem;font-size:1rem;line-height:1.5}.turnstile-error{margin:0 0 .4rem;color:#991b1b;font-size:1rem;line-height:1.5}.turnstile-retry{margin:0 0 .5rem;min-height:44px;padding:.4rem .8rem;border:1px solid #1d4ed8;border-radius:.5rem;background:#fff;color:#1e3a8a;font:inherit;font-weight:700;cursor:pointer}.turnstile-retry:focus-visible{outline:3px solid #1d4ed8;outline-offset:2px}.turnstile-field iframe{max-width:100%}.login-subtitle a{white-space:nowrap}.app-body--with-nav{display:flex;align-items:stretch}.app-content-column{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;overflow:auto}.app-nav{flex:0 0 232px;width:232px;min-width:232px;background:#0b1220;border-right:1px solid rgba(148,163,184,.12);padding:1.1rem .7rem 1.5rem;overflow-y:auto;color:#e2e8f0}.app-nav-label{margin:0 0 .75rem .65rem;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#94a3b8}.org-nav-name{margin:-.35rem 0 .85rem .65rem;font-size:.82rem;font-weight:700;color:#c7d2fe;line-height:1.35}.app-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.app-nav-link{display:flex;align-items:center;gap:.6rem;padding:.62rem .75rem;border-radius:12px;color:#cbd5e1;text-decoration:none;font-size:.9rem;font-weight:650;transition:background .12s,color .12s}.app-nav-link:hover{background:#94a3b81f;color:#fff}.app-nav-link.active{background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;box-shadow:0 8px 20px #2563eb59}.app-nav-link--soon{opacity:.65}.app-nav-icon{font-size:1rem;width:1.35rem;text-align:center;flex-shrink:0;filter:grayscale(.15)}.app-nav-text{flex:1;min-width:0}.app-nav-soon{font-size:.62rem;font-weight:700;padding:.1rem .4rem;border-radius:999px;background:#94a3b82e;color:#cbd5e1}.app-nav-link.active .app-nav-soon{background:#ffffff38;color:#fff}.app-main--full{flex:1 1 0;min-width:0;padding:1.35rem 1.6rem 3rem;background:#eef2f7}@media (max-width: 900px){.app-body--with-nav{flex-direction:column}.app-nav{flex:none;width:100%;min-width:0;border-right:none;border-bottom:1px solid rgba(148,163,184,.18);padding-bottom:.75rem}.app-nav-list{flex-direction:row;flex-wrap:wrap;gap:.35rem}.app-nav-link{padding:.45rem .65rem;font-size:.82rem}}.dash,.journey,.achv,.anal,.orgd,.sett{max-width:1100px;margin:0 auto;width:100%}.dash-kicker,.journey-kicker,.achv-kicker,.anal-kicker,.orgd-kicker,.sett-kicker{margin:0 0 .35rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-muted-text, #4338ca)}.dash-greeting,.journey-title,.achv-title,.anal-title,.orgd-title,.sett-title{margin:0;font-size:clamp(1.45rem,2.4vw,1.9rem);font-weight:800;letter-spacing:-.02em;color:#0f172a;line-height:1.25}.dash-welcome{margin:.4rem 0 0;font-size:1rem;font-weight:600;color:#475569;line-height:1.5}.dash-subhead{margin:1rem 0 .45rem;font-size:.82rem;font-weight:800;color:#334155;letter-spacing:.02em}.journey-lead,.achv-lead,.anal-lead,.orgd-lead,.sett-lead{margin:.45rem 0 0;color:var(--muted, #64748b);font-size:.95rem;line-height:1.6;max-width:52rem}.dash-hero,.journey-hero,.achv-hero,.anal-hero,.orgd-hero,.sett-hero{margin-bottom:1.15rem;padding:1.15rem 1.25rem 1.2rem;border-radius:18px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0f172a0a}.dash-panel,.journey-panel,.achv-panel,.anal-panel,.orgd-panel,.sett-panel{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:1.05rem 1.15rem 1.2rem;box-shadow:0 1px 2px #0f172a0a;margin-bottom:1rem}.dash-panel-title,.journey-panel-title,.achv-panel-title,.anal-panel-title,.orgd-panel-title,.sett-panel-title{margin:0 0 .75rem;font-size:1rem;font-weight:800;color:#0f172a}.dash-panel-desc,.journey-panel-desc,.anal-panel-desc,.sett-panel-desc{margin:-.35rem 0 .85rem;color:var(--muted, #64748b);font-size:.85rem;line-height:1.55}.dash-panel-head,.orgd-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.dash-panel-head .dash-panel-title,.orgd-panel-head .orgd-panel-title{margin:0}.dash-panel-more,.orgd-more{font-size:.82rem;font-weight:700;color:var(--primary, #1e3a8a);text-decoration:none}.dash-panel-more:hover,.orgd-more:hover{text-decoration:underline}.dash-empty,.orgd-empty{color:var(--muted, #64748b);font-size:.92rem;padding:.5rem 0}.dash-mock-note,.orgd-note,.anal-note,.anal-foot,.journey-foot,.achv-foot,.sett-note{margin-top:.85rem;font-size:.8rem;color:#94a3b8;line-height:1.5}.dash-mock-note a,.orgd-note a,.anal-foot a,.journey-foot a,.achv-foot a,.sett-note a{color:var(--primary, #1e3a8a)}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}@media (max-width: 860px){.dash-grid{grid-template-columns:1fr}}.dash-check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.dash-check-link{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:inherit;padding:.7rem .75rem;border-radius:10px;border:1px solid transparent;transition:background .12s,border-color .12s}.dash-check-link:hover{background:#f8fafc;border-color:var(--border, #e2e8f0)}.dash-check-box{width:1.05rem;height:1.05rem;border:1.5px solid #94a3b8;border-radius:4px;flex-shrink:0;background:#fff}.dash-check-label{display:inline;font-weight:700;color:#0f172a;font-size:.92rem;line-height:1.45}.dash-check-meta{display:inline;margin-left:.25rem;font-size:.82rem;font-weight:600;color:var(--muted, #64748b)}.dash-journey-bar{height:.65rem;background:#e2e8f0;border-radius:999px;overflow:hidden;margin:.75rem 0 .4rem}.dash-journey-fill{height:100%;background:linear-gradient(90deg,var(--primary, #1e3a8a),var(--accent-violet, #8b5cf6) 55%,var(--glow-teal, #14b8a6));border-radius:999px}.dash-journey-pct{font-size:.85rem;font-weight:700;color:#334155}.dash-week-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.45rem}.dash-week-row{display:grid;grid-template-columns:5.5rem 1fr;gap:.65rem;align-items:center}.dash-week-label{font-size:.8rem;font-weight:700;color:#475569}.dash-week-track{height:.5rem;background:#e2e8f0;border-radius:999px;overflow:hidden}.dash-week-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:999px}.dash-continue-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.dash-continue-card{display:flex;align-items:center;gap:.75rem;text-decoration:none!important;color:inherit;padding:.8rem .9rem;border:1px solid var(--border, #e2e8f0);border-radius:12px;background:#f8fafc;transition:border-color .12s,background .12s,transform .1s;min-height:0}.dash-continue-card:hover{border-color:var(--brand-tint-border, #c7d2fe);background:var(--brand-tint, #eef2ff);transform:translateY(-1px)}.dash-continue-play{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;background:#fff;border:1px solid var(--brand-tint-border, #c7d2fe);color:var(--primary, #1e3a8a);font-size:.75rem;flex-shrink:0;line-height:1}.dash-continue-body{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0;flex:1}.dash-continue-course,.dash-continue-section,.dash-continue-meta{display:block;width:100%;margin:0;line-height:1.35;text-decoration:none}.dash-continue-course{font-weight:800;font-size:.9rem;color:#0f172a}.dash-continue-section{font-size:.82rem;font-weight:600;color:#475569}.dash-continue-meta{font-size:.75rem;font-weight:600;color:#94a3b8}.dash-achievements{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.dash-achievements li{display:flex;align-items:flex-start;gap:.45rem;padding:.65rem .75rem;border-radius:10px;background:#f8fafc;border:1px solid var(--border, #e2e8f0);font-size:.88rem;font-weight:600;color:#334155;line-height:1.45}.dash-panel--ai{background:linear-gradient(160deg,#eef2ff,#fff 55%)}.dash-ai-quote{margin:0 0 .85rem;font-size:.92rem;line-height:1.6;color:#334155}.dash-ai-btn{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1rem;border-radius:10px;background:linear-gradient(135deg,var(--primary, #1e3a8a),var(--accent-violet, #8b5cf6));color:#fff;font-weight:700;font-size:.88rem;text-decoration:none;box-shadow:0 4px 14px #1e3a8a40}.dash-ai-btn:hover{filter:brightness(1.06)}.dash-path-label{margin:0 0 .75rem;font-size:.85rem;font-weight:600;color:#64748b;line-height:1.5}.dash-path{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .15rem;margin:0;padding:0;list-style:none}.dash-path>li{display:inline-flex;align-items:center;gap:.15rem}.dash-path-step{display:inline-flex;align-items:center;padding:.45rem .85rem;border-radius:999px;background:var(--brand-tint, #eef2ff);border:1px solid var(--brand-tint-border, #c7d2fe);font-size:.88rem;font-weight:700;color:var(--primary, #1e3a8a)}.dash-path-arrow{color:#94a3b8;font-size:.95rem;margin:0 .2rem;transform:rotate(-90deg);display:inline-block}.dash-area-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.65rem}.dash-area-card{display:flex;flex-direction:column;gap:.25rem;padding:.9rem .95rem;border-radius:12px;border:1px solid var(--border, #e2e8f0);background:#fff;text-decoration:none;color:inherit;transition:border-color .12s,box-shadow .12s}.dash-area-card:hover{border-color:var(--brand-tint-border, #c7d2fe);box-shadow:0 4px 14px #0f172a14}.dash-area-label,.dash-area-meta{display:block}.dash-area-label{margin:0;font-weight:800;font-size:.9rem;color:#0f172a}.dash-area-meta{margin:0;font-size:.75rem;color:#94a3b8}.journey-pos-grid,.orgd-stat-grid,.anal-stat-grid,.achv-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.85rem}.anal-stat-grid--4{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.journey-pos-label,.orgd-label,.anal-label,.achv-label,.sett-label{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.journey-pos-value,.orgd-value,.anal-value,.achv-value,.sett-value,.sett-stat{margin:.2rem 0 0;font-size:1.35rem;font-weight:800;color:#0f172a;line-height:1.25}.journey-pos-value--sm,.orgd-value--sm,.anal-value--sm,.achv-value--sm{font-size:1.05rem}.journey-pos-sub,.orgd-subvalue,.anal-sub{font-size:.8rem;font-weight:600;color:#64748b}.orgd-meta{margin:.55rem 0 0;font-size:.82rem;color:#64748b}.journey-progress{margin-top:1rem}.journey-progress-track{height:.65rem;background:#e2e8f0;border-radius:999px;overflow:hidden}.journey-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary, #1e3a8a),var(--glow-teal, #14b8a6))}.journey-progress-pct{margin:.4rem 0 0;font-size:.82rem;font-weight:700;color:#475569}.journey-mission-kicker{margin:0 0 .35rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-muted-text, #4338ca)}.journey-mission-title{margin:0 0 .4rem;font-size:1.15rem;font-weight:800}.journey-mission-desc,.journey-mission-why{margin:0 0 .55rem;color:#475569;font-size:.9rem;line-height:1.55}.journey-btn{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1rem;border-radius:10px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-weight:700;font-size:.88rem;text-decoration:none;cursor:pointer}.journey-btn:hover:not(:disabled){background:#f8fafc}.journey-btn--primary{background:linear-gradient(135deg,var(--primary, #1e3a8a),var(--accent-violet, #8b5cf6));border-color:transparent;color:#fff}.journey-btn:disabled{opacity:.55;cursor:not-allowed}.journey-map{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.journey-node{display:flex;gap:.75rem;padding:.75rem .85rem;border-radius:12px;border:1px solid var(--border, #e2e8f0);background:#f8fafc}.journey-node--current{border-color:var(--brand-tint-border, #c7d2fe);background:var(--brand-tint, #eef2ff)}.journey-node--done{opacity:.85}.journey-node-dot{width:.7rem;height:.7rem;margin-top:.35rem;border-radius:50%;background:#94a3b8;flex-shrink:0}.journey-node--current .journey-node-dot{background:var(--primary, #1e3a8a);box-shadow:0 0 0 3px #1e3a8a33}.journey-node--done .journey-node-dot{background:#16a34a}.journey-node-label{margin:0;font-size:.72rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.journey-node-title{margin:.15rem 0;font-size:.95rem;font-weight:800}.journey-node-summary{margin:0;font-size:.85rem;color:#64748b;line-height:1.5}.journey-node-signals{margin:.4rem 0 0;padding-left:1.1rem;font-size:.8rem;color:#475569}.journey-node-badge{display:inline-block;margin-top:.4rem;font-size:.7rem;font-weight:800;color:var(--primary, #1e3a8a);background:#fff;border:1px solid var(--brand-tint-border, #c7d2fe);border-radius:999px;padding:.15rem .55rem}.journey-ms-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.journey-ms{display:flex;gap:.65rem;align-items:flex-start}.journey-ms-mark{color:#cbd5e1;font-size:.9rem;margin-top:.15rem}.journey-ms.achieved .journey-ms-mark{color:#16a34a}.journey-ms-title{margin:0;font-weight:800;font-size:.9rem}.journey-ms-desc{margin:.15rem 0 0;font-size:.82rem;color:#64748b}.journey-ms-when{margin:.2rem 0 0;font-size:.75rem;color:#94a3b8}.journey-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem;font-size:.85rem;font-weight:700;color:#334155}.journey-field textarea,.sett-field textarea,.sett-field input,.sett-field select{font:inherit;font-weight:500;padding:.55rem .7rem;border:1.5px solid var(--border, #e2e8f0);border-radius:10px;background:#f8fafc;color:#0f172a}.journey-field textarea:focus,.sett-field textarea:focus,.sett-field input:focus,.sett-field select:focus{outline:none;border-color:var(--primary, #1e3a8a);box-shadow:0 0 0 3px var(--brand-focus-ring, rgba(30, 58, 138, .18));background:#fff}.journey-reflection-latest{margin-bottom:.85rem;padding:.75rem .85rem;border-radius:10px;background:#f8fafc;border:1px solid var(--border, #e2e8f0);font-size:.88rem;line-height:1.55}.journey-reflection-msg{font-size:.85rem;color:#047857;margin:.35rem 0 .65rem}.achv-summary{margin-bottom:1rem}.achv-filters,.sett-choice-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.achv-filter,.sett-choice{border:1px solid #cbd5e1;background:#fff;color:#475569;border-radius:999px;padding:.35rem .85rem;font-size:.8rem;font-weight:700;cursor:pointer}.achv-filter.active,.sett-choice.active{background:linear-gradient(135deg,var(--primary, #1e3a8a),var(--accent-violet, #8b5cf6));border-color:transparent;color:#fff}.achv-grid,.org-ach-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.achv-card,.org-ach-card{border:1px solid var(--border, #e2e8f0);border-radius:14px;padding:.9rem;background:#f8fafc;cursor:pointer;text-align:left;transition:border-color .12s,transform .1s}.achv-card.unlocked,.org-ach-card.unlocked{background:#fff;border-color:var(--brand-tint-border, #c7d2fe)}.achv-card:hover,.org-ach-card:hover{transform:translateY(-1px);border-color:#93c5fd}.achv-card-icon,.org-ach-icon{font-size:1.4rem;display:block;margin-bottom:.35rem}.achv-card-title,.org-ach-title{margin:0;font-weight:800;font-size:.9rem}.achv-card-desc,.org-ach-desc{margin:.3rem 0 0;font-size:.78rem;color:#64748b;line-height:1.45}.achv-card-meta,.org-ach-prog,.org-ach-team{margin:.45rem 0 0;font-size:.75rem;font-weight:700;color:#475569}.achv-card-bar,.org-ach-bar{display:block;margin-top:.45rem;height:.4rem;background:#e2e8f0;border-radius:999px;overflow:hidden}.achv-card-bar>span,.org-ach-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--primary, #1e3a8a),var(--accent-violet, #8b5cf6))}.achv-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1200;padding:1rem}.achv-modal{background:#fff;border-radius:16px;padding:1.35rem;width:100%;max-width:420px;box-shadow:0 24px 64px #00000040}.achv-modal-icon{font-size:2rem;margin:0 0 .35rem;text-align:center}.achv-modal-title{margin:0;text-align:center;font-size:1.15rem;font-weight:800}.achv-modal-desc{margin:.4rem 0 .85rem;text-align:center;color:#64748b;font-size:.9rem}.achv-modal-dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.35rem .75rem;font-size:.85rem}.achv-modal-dl dt{color:#94a3b8;font-weight:700}.achv-modal-dl dd{margin:0;color:#334155}.achv-modal-actions{margin-top:1rem;display:flex;justify-content:flex-end}.anal-bars{list-style:none;margin:0 0 1rem;padding:0;display:flex;align-items:flex-end;gap:.35rem;height:120px}.anal-bars li{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;gap:.3rem}.anal-bar-track{width:100%;max-width:18px;height:100%;display:flex;align-items:flex-end;background:#e2e8f0;border-radius:6px 6px 2px 2px;overflow:hidden}.anal-bar-fill{display:block;width:100%;background:linear-gradient(180deg,#60a5fa,#1e3a8a);border-radius:6px 6px 2px 2px;min-height:2px}.anal-bar-day{font-size:.62rem;color:#94a3b8}.anal-two,.anal-split{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}@media (max-width: 720px){.anal-two,.anal-split{grid-template-columns:1fr}}.anal-topics{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.anal-topics li{display:flex;justify-content:space-between;gap:.75rem;padding:.45rem .55rem;border-radius:8px;background:#f8fafc;font-size:.85rem}.anal-topic-name{font-weight:700;color:#0f172a}.anal-topic-meta{color:#64748b;font-weight:600;white-space:nowrap}.anal-obs{margin:.75rem 0 0;padding-left:1.15rem;color:#475569;font-size:.88rem;line-height:1.55}.sett-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:1rem}@media (max-width: 800px){.sett-layout{grid-template-columns:1fr}}.sett-nav{display:flex;flex-direction:column;gap:.3rem}.sett-nav-btn{text-align:left;border:1px solid transparent;background:transparent;border-radius:10px;padding:.55rem .75rem;font-weight:700;font-size:.88rem;color:#475569;cursor:pointer}.sett-nav-btn:hover,.sett-nav-btn.active{background:var(--brand-tint, #eef2ff);color:var(--primary, #1e3a8a)}.sett-content{min-width:0}.sett-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem;font-size:.85rem;font-weight:700;color:#334155}.sett-hint{margin:.25rem 0 0;font-size:.78rem;font-weight:500;color:#94a3b8}.sett-toggle,.sett-toggle--block{display:flex;align-items:center;gap:.55rem;font-size:.88rem;font-weight:600;color:#334155;margin:.45rem 0}.sett-toggle--block{padding:.55rem .65rem;border:1px solid var(--border, #e2e8f0);border-radius:10px;background:#f8fafc}.sett-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.55rem .75rem;font-size:.85rem}.sett-toast{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:.55rem .75rem;font-size:.85rem;margin-bottom:.75rem}.sett-soon-box{padding:.85rem;border-radius:10px;background:#f8fafc;border:1px dashed #cbd5e1;color:#64748b;font-size:.88rem}.sett-subhead{margin:0 0 .65rem;font-size:.95rem;font-weight:800}.orgd-activity{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.orgd-activity li{display:grid;grid-template-columns:7rem 1fr auto auto;gap:.55rem;align-items:baseline;padding:.45rem .55rem;border-radius:8px;background:#f8fafc;font-size:.85rem}@media (max-width: 720px){.orgd-activity li{grid-template-columns:1fr 1fr}}.orgd-act-who{font-weight:800;color:#0f172a}.orgd-act-what{color:#334155}.orgd-act-meta,.orgd-act-when{color:#94a3b8;font-size:.78rem}.orgd-table-wrap{overflow-x:auto}.orgd-table{width:100%;border-collapse:collapse;font-size:.85rem}.orgd-table th{text-align:left;padding:.55rem .65rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;border-bottom:1px solid var(--border, #e2e8f0)}.orgd-table td{padding:.65rem;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.orgd-email{display:block;font-size:.75rem;color:#94a3b8;font-weight:500}.orgd-role{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700;background:#f1f5f9;color:#475569}.orgd-role--admin,.orgd-role--owner,.orgd-role--manager{background:var(--brand-tint, #eef2ff);color:var(--primary, #1e3a8a)}.orgd-progress{display:flex;align-items:center;gap:.45rem;min-width:110px}.orgd-progress-track{flex:1;height:.45rem;background:#e2e8f0;border-radius:999px;overflow:hidden}.orgd-progress-track>span{display:block;height:100%;background:linear-gradient(90deg,var(--primary, #1e3a8a),var(--accent-violet, #8b5cf6))}.org-gap-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.org-gap-row{display:grid;grid-template-columns:8rem 1fr 3rem;gap:.65rem;align-items:center}.org-gap-label{font-size:.85rem;font-weight:700}.org-gap-track{height:.5rem;background:#e2e8f0;border-radius:999px;overflow:hidden}.org-gap-track>span{display:block;height:100%;background:linear-gradient(90deg,#3b82f6,#14b8a6)}.org-gap-pct{font-size:.8rem;font-weight:700;text-align:right;color:#475569}.org-gap-row--low .org-gap-track>span,.org-cell-gap{background:#fef3c7;color:#92400e}.org-matrix td.org-cell-gap{background:#fffbeb;font-weight:700}.org-program-list,.org-assign-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.org-program-card,.org-assign-card{display:flex;justify-content:space-between;gap:1rem;padding:.85rem .95rem;border:1px solid var(--border, #e2e8f0);border-radius:12px;background:#f8fafc}.org-program-title,.org-assign-card .org-program-title{margin:0;font-weight:800;font-size:.95rem}.org-program-meta{margin:.25rem 0 0;font-size:.8rem;color:#64748b}.org-program-stat{text-align:right;flex-shrink:0}.org-ai-reply{white-space:pre-wrap;font-family:inherit;font-size:.9rem;line-height:1.6;background:#f8fafc;border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:.85rem;margin:.5rem 0}.admin-org-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.55rem}.admin-org-form input{padding:.5rem .65rem;border:1.5px solid var(--border, #e2e8f0);border-radius:8px;font:inherit}.admin-materials-desc{margin:.35rem 0 0;color:#64748b;font-size:.9rem;line-height:1.55;max-width:52rem}.admin-materials-hint{margin:.75rem 0 1rem;padding:.65rem .85rem;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-size:.82rem;line-height:1.5}.admin-materials-policy-note{margin:0 0 .55rem;padding:.45rem .7rem;border-radius:8px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;font-size:.8rem;line-height:1.45}.admin-materials-policy-note strong{font-weight:700}.admin-nav-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 .85rem}.admin-nav-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1.5px solid #cbd5e1;background:#fff;color:#475569;border-radius:999px;padding:.45rem .95rem;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.admin-nav-tab:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.admin-nav-tab.active{background:linear-gradient(135deg,var(--primary, #1e3a8a),var(--accent-violet, #8b5cf6));border-color:transparent;color:#fff;box-shadow:0 4px 12px #1e3a8a38;cursor:default}.admin-view-tabs{display:flex;flex-wrap:wrap;gap:.15rem;margin:0 0 1.15rem;padding:.15rem 0 0;border-bottom:1px solid #e2e8f0}.admin-view-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;color:#64748b;border-radius:0;padding:.55rem .85rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.admin-view-tab:hover{color:#1e293b;background:#f8fafc}.admin-view-tab.active{color:#1e3a8a;border-bottom-color:#1e3a8a;background:transparent;box-shadow:none;font-weight:700}.admin-users-title-icon{display:inline-flex;align-items:center;justify-content:center;gap:.18rem;width:1.55rem;height:1.55rem;margin-right:.45rem;vertical-align:-.2rem;border-radius:6px;background:#eff6ff;border:1px solid #bfdbfe}.admin-users-title-icon i{display:block;width:.22rem;height:.22rem;border-radius:50%;background:#2563eb}.admin-filter-select,.admin-filter-select--wide{padding:.45rem .7rem;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;font-size:.85rem;font-weight:600}.admin-users-toolbar--catalog{align-items:center}.admin-catalog-domains{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.admin-catalog-domain{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #cbd5e1;background:#fff;color:#475569;border-radius:999px;padding:.35rem .8rem;font-size:.8rem;font-weight:650;cursor:pointer}.admin-catalog-domain:hover{background:#f8fafc;border-color:#94a3b8;color:#1e293b}.admin-catalog-domain.active{background:#1e3a8a;border-color:#1e3a8a;color:#fff}.admin-course-name-search{min-width:12.5rem;flex:1 1 12.5rem}.admin-filter-select--wide{min-width:220px}.admin-table-section td{position:static!important;box-shadow:none!important;min-width:0!important;width:auto!important;max-width:none!important;padding:.55rem .85rem!important;white-space:nowrap;font-weight:700}.admin-table-section--domain td{background:#1e3a8a;color:#fff;font-size:.82rem;letter-spacing:.02em}.admin-table-section--group td{background:#eef2ff;color:#1e3a8a;font-size:.78rem;border-top:1px solid #c7d2fe}.admin-btn--warn{border-color:#fca5a5;color:#b91c1c;background:#fff}.admin-btn--warn:hover:not(:disabled){background:#fef2f2;border-color:#f87171}.admin-btn--pw{border-color:#93c5fd;color:#1d4ed8;background:#eff6ff}.admin-btn--pw:hover:not(:disabled){background:#dbeafe}.admin-btn--sm{padding:.35rem .7rem;font-size:.75rem;line-height:1.25;white-space:nowrap;flex-shrink:0}.admin-table th:last-child,.admin-td-actions{display:table-cell;position:sticky;right:0;z-index:2;min-width:20rem;width:20rem;max-width:22rem;background:#fff;box-shadow:-8px 0 12px -8px #0f172a2e;vertical-align:middle;padding:.75rem 1rem!important;white-space:normal}.admin-table thead th:last-child{background:#f8fafc;z-index:3}.admin-table tbody tr:hover .admin-td-actions{background:#f8fafc}.admin-td-actions-inner{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;justify-content:flex-start;width:100%;box-sizing:border-box}.admin-th-sub{display:block;margin-top:.15rem;font-size:.68rem;font-weight:600;color:#94a3b8;text-transform:none;letter-spacing:0}.admin-row--private{background:#fff7ed;box-shadow:inset 4px 0 #ea580c}.admin-row--private:hover{background:#ffedd5}.admin-visibility-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;margin:.65rem 0 .25rem;padding:.55rem .75rem;border-radius:10px;border:1px solid #fed7aa;background:#fffbeb}.admin-visibility-legend-text{font-size:.78rem;color:#9a3412;margin-right:.35rem}.admin-section-id-wrap,.admin-section-title-wrap{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem}.admin-private-mark{display:inline-flex;align-items:center;padding:.1rem .4rem;border-radius:999px;font-size:.65rem;font-weight:800;letter-spacing:.02em;color:#fff;background:#ea580c;white-space:nowrap}.admin-materials-course-vis{display:inline-flex;margin-left:.35rem;padding:.08rem .4rem;border-radius:999px;font-size:.62rem;font-weight:800;vertical-align:middle;white-space:nowrap}.admin-materials-course-vis--private{color:#9a3412;background:#ffedd5;border:1px solid #fdba74}.admin-materials-course-vis--mixed{color:#1d4ed8;background:#dbeafe;border:1px solid #93c5fd}.admin-bulk-bar{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin:.85rem 0 1.1rem;padding:.75rem .9rem;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc}.admin-commit-note{margin:-.4rem 0 .9rem;color:#9a3412;font-size:.78rem}.admin-bulk-bar--global{margin-bottom:.55rem;border-color:#fdba74;background:#fff7ed}.admin-bulk-bar--global .admin-bulk-label{color:#9a3412}.admin-bulk-plan-shortcuts{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;width:100%;margin-top:.15rem;padding-top:.55rem;border-top:1px dashed #cbd5e1}.admin-btn--leading-free{background:#ecfdf5;color:#047857;border:1px solid #6ee7b7}.admin-btn--leading-free:hover:not(:disabled){background:#d1fae5}.admin-course-plan-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-width:11rem}.content-level-badge--mixed{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}.admin-materials-split{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:1rem;align-items:start}.admin-materials-course-menu{position:sticky;top:.5rem;max-height:calc(100vh - 8rem);overflow-y:auto;border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:.55rem}.admin-materials-course-menu-head{display:flex;align-items:center;justify-content:space-between;padding:.35rem .45rem .55rem;border-bottom:1px solid #f1f5f9;margin-bottom:.35rem}.admin-materials-course-menu-title{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.admin-materials-category-select-wrap{display:block;margin:0 0 .45rem}.admin-materials-category-select{width:100%;min-height:2.2rem;padding:.4rem .55rem;font-size:.82rem;font-weight:600;color:#1e293b;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer}.admin-materials-category-select:focus{outline:2px solid #93c5fd;outline-offset:1px;border-color:#60a5fa}.admin-materials-course-group{margin-top:.45rem;padding-top:.35rem;border-top:1px solid #f1f5f9}.admin-materials-course-group:first-of-type,.admin-materials-course-group--filtered{margin-top:.25rem;padding-top:0;border-top:none}.admin-materials-course-group-label-row{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin:.15rem 0 .25rem;padding:.25rem .5rem;color:#64748b}.admin-materials-course-group-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem;width:100%;margin:.15rem 0 .2rem;padding:.4rem .5rem;border:1px solid transparent;border-radius:8px;background:#f8fafc;color:#334155;font:inherit;text-align:left;cursor:pointer}.admin-materials-course-group-head:hover{background:#f1f5f9;border-color:#e2e8f0}.admin-materials-course-group-head.active{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.admin-materials-course-group-label{font-size:.72rem;font-weight:800;letter-spacing:.02em}.admin-materials-course-menu-count{font-size:.7rem;font-weight:700;color:#64748b;background:#f1f5f9;border-radius:999px;padding:.1rem .45rem}.admin-materials-course-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.4rem;text-align:left;border:none;background:transparent;border-radius:8px;padding:.45rem .5rem;cursor:pointer;color:#334155;font-size:.8rem;font-weight:600;line-height:1.35}.admin-materials-course-item:hover{background:#f8fafc}.admin-materials-course-item.active{background:#eff6ff;color:#1d4ed8}.admin-materials-course-item.nested{padding-left:1.1rem;font-weight:500;font-size:.76rem}.admin-materials-course-item.has-private:not(.active){background:#fff7ed}.admin-materials-course-item-label{min-width:0;flex:1;word-break:break-word}.admin-materials-course-item-meta{display:inline-flex;gap:.25rem;flex-shrink:0}.admin-materials-course-pub,.admin-materials-course-priv{font-size:.65rem;font-weight:800;border-radius:999px;padding:.08rem .35rem;line-height:1.2}.admin-materials-course-pub{color:#047857;background:#ecfdf5}.admin-materials-course-priv{color:#9a3412;background:#ffedd5}.admin-materials-course-empty{margin:.5rem .35rem;font-size:.75rem;color:#94a3b8;line-height:1.45}.admin-materials-main{min-width:0}.admin-materials-selected-course{font-size:.78rem;font-weight:700;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:.35rem .65rem}@media (max-width: 960px){.admin-materials-split{grid-template-columns:1fr}.admin-materials-course-menu{position:static;max-height:220px}}.admin-bulk-label{font-size:.78rem;font-weight:800;color:#64748b;margin-right:.25rem}.visibility-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.02em;white-space:nowrap}.visibility-badge--public{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.visibility-badge--private{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.visibility-badge--mixed{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.visibility-badge--empty{background:#f8fafc;color:#94a3b8;border:1px solid #e2e8f0}.content-level-filter-block{margin:.75rem 0 1rem;padding:.75rem .9rem;border-radius:12px;border:1px solid #e2e8f0;background:#fff}.content-level-filter-title{margin:0 0 .5rem;font-size:.78rem;font-weight:800;color:#64748b}.content-level-legend{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.55rem}.content-level-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;font-size:.75rem;font-weight:700;color:#475569}.content-level-chip-count{color:#94a3b8;font-weight:600}.content-level-chip-hint{margin:.25rem 0 0;font-size:.75rem;color:#94a3b8}.content-level-cell{min-width:140px}.content-level-actions,.content-level-set{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.content-level-set--none{opacity:.7}.content-level-badge{display:inline-flex;align-items:center;padding:.18rem .5rem;border-radius:999px;font-size:.7rem;font-weight:800;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;white-space:nowrap}.content-level-badge--free{background:#f8fafc;color:#64748b}.content-level-badge--plus,.content-level-badge--starter,.content-level-badge--standard{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.content-level-badge--professional{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.content-level-badge--small_team,.content-level-badge--business,.content-level-badge--enterprise{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.content-level-badge--none{background:#f1f5f9;color:#94a3b8}.admin-org-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.admin-org-item{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.85rem 1rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.admin-email-verify-panel{margin:0 0 1rem;padding:.9rem 1rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.admin-email-verify-panel__main{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.admin-email-verify-panel__title{font-weight:700;color:#0f172a;font-size:.95rem}.admin-email-verify-panel__desc{margin:.25rem 0 0;font-size:.8rem;color:#64748b;line-height:1.5;max-width:42rem}.admin-email-verify-toggle{flex-shrink:0;min-width:4.5rem;padding:.55rem 1rem;border-radius:999px;border:1.5px solid #cbd5e1;background:#fff;color:#475569;font-weight:800;cursor:pointer}.admin-email-verify-toggle.is-on{background:linear-gradient(135deg,#1e3a8a,#8b5cf6);border-color:transparent;color:#fff}.admin-email-verify-panel__meta{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:.65rem;font-size:.75rem;color:#64748b;font-weight:600}.admin-email-verify-panel__msg{margin:.55rem 0 0;font-size:.8rem;color:#1d4ed8}.admin-email-verify-smtp{margin-top:.85rem;padding-top:.85rem;border-top:1px solid #e2e8f0}.admin-email-verify-smtp__title{font-size:.82rem;font-weight:700;color:#334155;margin-bottom:.55rem}.admin-email-verify-smtp__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .75rem;margin-bottom:.75rem}.admin-email-verify-smtp__wide{grid-column:1 / -1}@media (max-width: 720px){.admin-email-verify-smtp__grid{grid-template-columns:1fr}}.announcement-stack{display:flex;flex-direction:column;gap:.45rem;padding:.75rem 1.25rem 0;width:100%;max-width:none;margin:0;box-sizing:border-box;flex:0 0 auto}.announcement-banner{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem .9rem;border-radius:10px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a}.announcement-banner--warning{border-color:#fde68a;background:#fffbeb;color:#92400e}.announcement-banner--critical{border-color:#fecaca;background:#fef2f2;color:#991b1b}.announcement-banner__title{display:block;font-size:.9rem;margin-bottom:.2rem}.announcement-banner__text{margin:0;font-size:.82rem;line-height:1.55;white-space:pre-wrap}.announcement-banner__close{margin-left:auto;border:none;background:transparent;font-size:1.2rem;line-height:1;cursor:pointer;color:inherit;opacity:.7}.admin-notify-section{margin:0 0 1.75rem;padding:1rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.admin-notify-section__title{margin:0 0 .35rem;font-size:1.05rem;color:#0f172a}.admin-notify-section__desc{margin:0 0 .85rem;font-size:.82rem;color:#64748b}.admin-notify-form{display:flex;flex-direction:column;gap:.55rem}.admin-notify-form__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}@media (max-width: 800px){.admin-notify-form__row{grid-template-columns:1fr}}.notify-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border-radius:8px;border:1px solid rgba(255,255,255,.4);background:#ffffff2e;color:#fff;cursor:pointer;transition:background .15s}.notify-bell:hover{background:#ffffff4d}.notify-bell--active{border-color:#fde047a6}.notify-bell__icon{display:block}.notify-bell__badge{position:absolute;top:-.3rem;right:-.35rem;min-width:1.15rem;height:1.15rem;padding:0 .28rem;border-radius:999px;background:#ef4444;color:#fff;font-size:.68rem;font-weight:700;line-height:1.15rem;text-align:center;box-shadow:0 0 0 2px #2563eb8c}.notify-page{max-width:720px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.notify-page__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.notify-page__kicker{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.12em;color:#64748b}.notify-page__title{margin:.2rem 0 .35rem;font-size:1.6rem;color:#0f172a}.notify-page__sub{margin:0;color:#64748b;font-size:.92rem}.notify-page__all-read{flex-shrink:0;border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:8px;padding:.45rem .85rem;font-size:.85rem;font-weight:600;cursor:pointer}.notify-page__all-read:hover:not(:disabled){background:#f8fafc}.notify-page__all-read:disabled{opacity:.6;cursor:default}.notify-page__empty,.notify-page__error{margin:1rem 0;color:#64748b}.notify-page__error{color:#b91c1c}.notify-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.notify-card{padding:1rem 1.1rem;border-radius:12px;border:1px solid #e2e8f0;background:#fff;border-left:4px solid #3b82f6}.notify-card--warning{border-left-color:#f59e0b;background:#fffbeb}.notify-card--critical{border-left-color:#ef4444;background:#fef2f2}.notify-card__meta{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:.35rem;font-size:.78rem;color:#64748b}.notify-card__level{font-weight:700;letter-spacing:.04em}.notify-card__title{margin:0 0 .4rem;font-size:1.05rem;color:#0f172a}.notify-card__body{margin:0;white-space:pre-wrap;color:#334155;line-height:1.55;font-size:.95rem}.notify-card__actions{margin-top:.75rem}.notify-card__read{border:none;background:#0f172a;color:#fff;border-radius:8px;padding:.4rem .85rem;font-size:.85rem;font-weight:600;cursor:pointer}.notify-card__read:hover:not(:disabled){background:#1e293b}.notify-card__read:disabled{opacity:.6;cursor:default}.user-plan-badge--plus,.user-plan-badge--starter,.user-plan-badge--standard{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.user-plan-badge--professional{background:#ede9fe;color:#6d28d9;border:1px solid #c4b5fd}.sett-danger{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #fecaca}.sett-danger-btn{margin-top:.75rem;background:#b91c1c;color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-weight:600;cursor:pointer}.sett-danger-btn:disabled{opacity:.6;cursor:default}.sett-danger-btn:hover:not(:disabled){background:#991b1b}.sett-cancel-box{margin:0 0 1rem}.sett-cancel-box .sett-danger-btn{margin-top:.35rem}.sett-cancel-pending{margin:0 0 1rem;padding:.75rem .85rem;border:1px solid #fcd34d;background:#fffbeb;border-radius:10px}@media (max-width: 1200px){.app-shell:has(.app-body--compact-read){height:100dvh;max-height:100dvh;min-height:0}.app-body--compact-read .sidebar{display:flex;width:auto;min-width:0;max-width:none;flex:none;max-height:none}.compact-read-scroll{min-width:0;min-height:0}.compact-read-scroll .app-main{flex:none;overflow:visible;min-width:0}.app-body--compact-read .study-sidebar,.app-body--compact-read .study-sidebar.study-sidebar--lab{display:flex;width:auto;min-width:0;max-width:none;flex:none;border-left:none;border-top:1px solid var(--border);background:var(--bg)}.exercise-float,.exercise-float-backdrop,.exercise-restore-fab,.sim-outcome-bar{display:none!important}.study-markdown-area{overflow-x:auto;-webkit-overflow-scrolling:touch}.markdown-body table{width:max-content;min-width:100%;max-width:none}.markdown-body pre,.markdown-body .code-block{max-width:100%}.markdown-body .mermaid-diagram-canvas svg{max-width:none}.viewer-title,.viewer-course-label{overflow-wrap:anywhere}.chapter-range-play-controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end}.chapter-range-play-field{min-width:0;flex:1 1 10rem}.chapter-range-play-field select,.compact-read-scroll .app-main,.compact-read-scroll .study-sidebar{max-width:100%}}@media (min-width: 768px) and (max-width: 1200px){.app-body--compact-read{display:grid;grid-template-columns:minmax(200px,232px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);overflow:hidden;min-height:0}.app-body--compact-read:not(:has(.sidebar)){grid-template-columns:minmax(0,1fr)}.app-body--compact-read .app-nav{grid-column:1 / -1;grid-row:1;width:auto;min-width:0;max-width:none;flex:none;flex-direction:row;align-items:center;border-right:none;border-bottom:1px solid rgba(148,163,184,.18);padding:.45rem .7rem;overflow:hidden}.app-body--compact-read .app-nav-label{display:none}.app-body--compact-read .app-nav-list{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:.35rem;width:100%}.app-body--compact-read .app-nav-list li{flex:0 0 auto}.app-body--compact-read .app-nav-text,.app-body--compact-read .app-nav-soon{display:inline}.app-body--compact-read .app-nav-link{justify-content:flex-start;white-space:nowrap;padding:.45rem .7rem}.app-body--compact-read .sidebar{grid-column:1;grid-row:2;align-self:stretch;min-height:0;overflow:hidden}.app-body--compact-read .compact-read-scroll{grid-column:2;grid-row:2;overflow:auto;-webkit-overflow-scrolling:touch;padding-bottom:4.75rem}.app-body--compact-read:not(:has(.sidebar)) .compact-read-scroll{grid-column:1}.app-body--compact-read .study-sidebar{flex-direction:column;width:100%;max-height:none;overflow:visible;padding:.85rem .85rem 1.25rem}}@media (max-width: 767px){.app-body--compact-read{display:flex;flex-direction:column;overflow:hidden}.app-body--compact-read .app-nav,.compact-toc-btn{flex:none}.app-body--compact-read .compact-read-scroll{flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch}.app-body--compact-read .sidebar{position:fixed;z-index:240;top:0;bottom:0;left:0;width:min(88vw,20rem)!important;max-height:none!important;overflow:hidden;transform:translate(-105%);transition:transform .2s ease;box-shadow:none;padding-top:env(safe-area-inset-top);background:var(--surface)}.app-body--compact-read.is-toc-open .sidebar{transform:none;box-shadow:8px 0 28px #0f172a38}.app-body--compact-read .study-sidebar{flex-direction:column;width:100%;max-height:none;overflow:visible;padding:.85rem .75rem calc(4.5rem + env(safe-area-inset-bottom))}.compact-toc-btn{align-items:center;gap:.35rem;margin:.65rem .75rem 0;align-self:flex-start;position:static;z-index:30;border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:999px;padding:.5rem .9rem;font:inherit;font-size:.85rem;font-weight:700;line-height:1.2;cursor:pointer;box-shadow:0 2px 10px #0f172a1a}.compact-toc-close{flex-shrink:0;align-self:flex-end;margin:.55rem .75rem .35rem;border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:999px;padding:.4rem .75rem;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}.compact-toc-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:230;border:0;padding:0;background:#0f172a73;cursor:pointer}.app-shell:has(.is-toc-open) .ai-chat-fab-wrap{visibility:hidden}.app-header{height:auto;min-height:52px;flex-wrap:wrap;row-gap:.35rem;padding:.4rem .7rem}.app-header-left{min-width:0}.app-header-actions{flex-wrap:wrap;justify-content:flex-end}.atlas-logo--header .atlas-logo-text{font-size:.95rem}.viewer-wrapper{padding:.85rem .75rem 1.5rem}}@media (max-width: 900px){.app-header{height:auto;min-height:52px;flex-wrap:wrap;row-gap:.35rem}.app-header-actions{flex-wrap:wrap;justify-content:flex-end}}.compact-toc-btn,.compact-toc-close,.compact-toc-backdrop{display:none}@media (max-width: 767px){.compact-toc-btn,.app-body--compact-read .compact-toc-close,.app-body--compact-read.is-toc-open .compact-toc-backdrop{display:inline-flex}.app-body--compact-read.is-toc-open .compact-toc-backdrop{display:block}}@media (max-width: 767px){.app-body--compact-read .app-nav{padding:.3rem .4rem}.app-body--compact-read .app-nav-list{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:.25rem;width:100%;-webkit-overflow-scrolling:touch}.app-body--compact-read .app-nav-list li{flex:0 0 auto}.app-body--compact-read .app-nav-link{flex-direction:column;justify-content:center;gap:.1rem;min-width:4.4rem;padding:.3rem .45rem;font-size:.7rem;line-height:1.2}.app-body--compact-read .app-nav-icon{font-size:1.05rem}.app-body--compact-read .app-nav-text{display:inline;white-space:nowrap}}@media (prefers-reduced-motion: reduce){.app-body--compact-read .sidebar{transition:none}}.sim-hub-desc+.compact-pc-only-note{margin-top:.85rem}.compact-pc-only-note{margin:0;font-size:.86rem;line-height:1.6;color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:.7rem .8rem}html[data-theme=dark] .compact-toc-btn,html[data-theme=dark] .compact-toc-close{background:#111827;color:#e2e8f0;border-color:#334155}html[data-theme=dark] .compact-pc-only-note{color:#fde68a;background:#422006;border-color:#b45309}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}.markdown-body .editorial-color-red{color:#b91c1c}.markdown-body .editorial-color-blue{color:#1d4ed8}.markdown-body .editorial-color-green{color:#047857}.markdown-body .editorial-color-purple{color:#7e22ce}.markdown-body .editorial-color-orange{color:#9a3412}.markdown-body [class*=editorial-color-] a,.markdown-body [class*=editorial-color-] .editor-link-preview{color:inherit}.markdown-body .editorial-size-small{font-size:.875rem}.markdown-body .editorial-size-normal{font-size:1rem}.markdown-body .editorial-size-large{font-size:1.25rem}.markdown-body .editorial-size-xlarge{font-size:1.5rem}.ubuntu-lab{margin:24px 0;padding:24px;border:1px solid #7b91ab;border-radius:14px;background:#f5f8fc;color:#16283b;font:15px/1.65 system-ui,sans-serif;isolation:isolate}.ubuntu-lab h3{margin:6px 0 10px;color:#123453}.ubuntu-lab p{margin:8px 0}.ul-kicker{font-size:12px;font-weight:750;letter-spacing:.08em;color:#245a85}.ul-topology{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.ul-topology span{flex:1;min-width:160px;background:#e3edf7;border:1px solid #adbfce;border-radius:8px;padding:12px;text-align:center}.ul-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.ubuntu-lab fieldset{min-width:0;border:1px solid #b0bfce;border-radius:10px;padding:16px;margin:0}.ubuntu-lab legend{font-weight:750;padding:0 6px}.ubuntu-lab label{display:block;margin:10px 0;font-weight:600}.ubuntu-lab input:not([type=checkbox]),.ubuntu-lab select{box-sizing:border-box;display:block;width:100%;padding:9px;margin-top:5px;color:#172b3e;background:#fff;border:1px solid #7a8fa1;border-radius:5px;font:inherit}.ubuntu-lab .ul-check{display:flex;align-items:center;gap:8px}.ubuntu-lab input[type=checkbox]{width:18px;height:18px;flex-shrink:0}.ubuntu-lab button{font:inherit;font-weight:650;border:1px solid #667e91;border-radius:6px;padding:8px 12px;cursor:pointer;background:#fff;color:#133a5b;white-space:normal}.ubuntu-lab button:disabled{opacity:.5;cursor:not-allowed}.ubuntu-lab button:focus-visible,.ubuntu-lab input:focus-visible,.ubuntu-lab select:focus-visible{outline:3px solid #008daa;outline-offset:2px}.ubuntu-lab .ul-primary{background:#175f8f;color:#fff}.ul-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.ul-pending{padding:14px;border:2px solid #b67700;background:#fff4d4;margin-top:16px}.ul-results>div{padding:12px;margin-top:10px;border-left:4px solid}.ul-pass{background:#e3f4e9;border-color:#287648}.ul-fail{background:#fff0ec;border-color:#b44831}.ul-complete{padding:14px;background:#155c3a;color:#fff;font-weight:700}.ul-warning{color:#794400;font-weight:650}.ubuntu-lab details{margin:16px 0;border-top:1px solid #c3cdd7;padding-top:12px}.ubuntu-lab summary{cursor:pointer;font-weight:650}.ubuntu-lab pre{white-space:pre-wrap!important;overflow-wrap:anywhere;background:#152b40!important;color:#edf5fa!important;padding:14px;border-radius:7px}.ul-log{max-height:190px;overflow:auto;padding-left:24px;font-size:13px}@media (max-width:600px){.ubuntu-lab{padding:14px}.ul-grid{display:block}.ubuntu-lab fieldset{margin-bottom:14px}}.content-editor{max-width:1280px;margin:2rem auto;padding:1rem;color:var(--text-color,#202938);background:var(--bg-color,#fff);line-height:1.7}.content-editor small{font-size:.8rem;font-weight:400}.content-editor fieldset{border:1px solid #cbd5e1;border-radius:8px;margin:1rem 0;padding:1rem}.content-editor label{display:block}.content-editor button,.content-editor select,.content-editor input{padding:.5rem;margin:.4rem;border:1px solid #94a3b8;border-radius:6px}.content-editor button{cursor:pointer}.content-editor button:disabled{opacity:.5;cursor:not-allowed}.editor-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.editor-columns textarea{width:100%;height:28rem;resize:vertical;box-sizing:border-box;font:14px/1.7 monospace;padding:.7rem;border:1px solid #94a3b8}.editor-error{color:#991b1b;background:#fee2e2;padding:1rem}.editor-note{background:#fef3c7;color:#713f12;padding:1rem}.editor-preview{border:2px solid #94a3b8;padding:1rem;margin:1rem 0}.editor-body{max-width:780px;margin:auto;overflow-wrap:anywhere}.editor-body pre{overflow:auto}.editor-body table{border-collapse:collapse}.editor-body td,.editor-body th{border:1px solid #94a3b8;padding:.3rem}.editor-script{white-space:pre-wrap;overflow-wrap:anywhere}.content-editor mark{background:#dbeafe;color:#1e40af}@media (max-width:700px){.editor-columns{grid-template-columns:1fr}}.editor-selector{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.editor-selector select{max-width:min(28rem,80vw)}.editor-steps{display:flex;gap:2rem;flex-wrap:wrap;margin:1rem 0 1rem 1.2rem}.editor-toolbar{padding:1rem;border:1px solid #cbd5e1;border-radius:8px;background:var(--surface,#f8fafc)}.editor-lesson{max-width:900px;margin:1.5rem auto}.editor-lesson[hidden]{display:none}.editor-inline-text[contenteditable]{border-radius:3px;cursor:text}.editor-inline-text[contenteditable]:hover{outline:1px dashed #0d9488;background:#0d948810}.editor-inline-text[contenteditable]:focus{outline:2px solid #0d9488;background:#0d948810}.editor-script-editable{min-height:10rem;padding:1rem;border:1px solid #cbd5e1;font:inherit;line-height:1.9}.editor-script-editable[contenteditable=true]{outline:2px solid #0d9488}.editor-tabs button[aria-pressed=true]{background:#0f766e;color:#fff}.editor-review{padding:1rem;border:1px solid #0d9488;margin:1rem 0}.editor-link-preview{color:var(--accent,#0f766e);text-decoration:underline}.editor-inline-text[contenteditable]{white-space:pre-wrap}.editor-paragraph[contenteditable=true]{white-space:normal;outline-offset:4px}.editor-paragraph[contenteditable=true]:focus{outline:2px solid #0d9488}.editor-paragraph .editor-inline-text{white-space:pre-wrap}.content-editor{width:100%;min-width:0;overflow-wrap:anywhere}.content-editor fieldset{min-width:0;max-width:100%}.content-editor input:not([type=checkbox]),.content-editor select{max-width:calc(100% - .8rem);font-size:16px}.editor-lesson{min-width:0;overflow-x:auto}.editor-tabs{display:flex;flex-wrap:wrap;position:relative}@media (max-width:700px){.content-editor{margin:1rem auto;padding:.75rem}.editor-selector{display:block}.editor-steps{gap:.5rem 1.5rem}.content-editor button{min-height:44px}}.content-editor .editor-format-floating{position:fixed;z-index:2000;width:min(440px,calc(100vw - 16px));max-height:240px;overflow:auto;box-sizing:border-box;margin:0;padding:8px;background:var(--bg-color,#fff);box-shadow:0 4px 20px #0004;border:2px solid #0f766e;display:flex;flex-wrap:wrap;align-items:center;gap:2px}.editor-format-floating p{display:none}.editor-format-floating label{display:inline-flex;align-items:center}.content-editor .editor-format-floating button,.content-editor .editor-format-floating select{margin:2px;padding:5px;min-height:36px}.editor-paragraph .editor-inline-text:empty{display:inline-block;min-width:.35em;min-height:1em}
