@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--primary: #00834a;--primary-light: #00a85a;--primary-dark: #045c36;--btn-brand: #00874a;--pink: #f0287f;--pink-ink: #c4126b;--pink-soft: #ffe3f0;--gold: #d97706;--gold-ink: #8a5a00;--gold-light: #f59e0b;--gold-solid: #b45309;--streak: #dc4a00;--success: #2c8210;--error: #dc2626;--warning: #d97706;--info: #0a7f9d;--bg: #f8fafc;--bg-chrome: #ffffff;--bg-card: #ffffff;--bg-elev: #f1f5f9;--bg-hover: #eef2f7;--bg-input: #ffffff;--bg-active: #e2f6cd;--text: #1e293b;--text-muted: #475569;--text-light: #64748b;--border: rgba(15, 23, 42, .12);--border-strong: #7b8aa3;--radius: 14px;--radius-sm: 9px;--radius-lg: 20px;--shadow-sm: 0 1px 2px rgba(15,23,42,.06), 0 1px 3px rgba(15,23,42,.08);--shadow: 0 4px 24px rgba(15,23,42,.12);--shadow-lg: 0 12px 32px rgba(15,23,42,.18);--font: "Inter", sans-serif;--fab-bottom-base: 1.5rem;--surface-info-bg: #d6ecff;--surface-info-border: #5bb4f5;--surface-info-text: #0b3a63;--surface-info-text-soft: #0a68b0;--surface-success-bg: #e4f7cf;--surface-success-border: #9ddc63;--surface-success-text: #234d10;--surface-success-text-soft: #3a7a14;--surface-warning-bg: #fff0c2;--surface-warning-border: #f0b429;--surface-warning-text: #6b4a00;--surface-warning-text-soft: #8a5a00;--surface-error-bg: #ffe0e4;--surface-error-border: #f66a85;--surface-error-text: #7f1230;--surface-error-text-soft: #be1a3f;--surface-purple-bg: #dff8f3;--surface-purple-border: #7fe3d3;--surface-purple-text: #0b4a45;--surface-purple-text-soft: #0b7a70;--surface-neutral-bg: #f8fafc;--surface-neutral-border: #e2e8f0;--surface-neutral-text: #1e293b;--surface-cyan-bg: #d2f6ff;--surface-cyan-border: #22b8d8;--surface-cyan-text: #0a4a5e;--surface-cyan-text-soft: #0a6f8a}@media (max-width: 768px){:root{--fab-bottom-base: calc(62px + env(safe-area-inset-bottom, 0px) + 1rem) }}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);background-color:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%}button{cursor:pointer;font-family:var(--font)}input,textarea,select{font-family:var(--font)}h1{font-size:1.5rem;font-weight:800;line-height:1.25;color:var(--text)}h2{font-size:1.25rem;font-weight:700;line-height:1.3;color:var(--text)}h3{font-size:1.0625rem;font-weight:700;line-height:1.35;color:var(--text)}h4{font-size:.9375rem;font-weight:600;line-height:1.4;color:var(--text)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.flex{display:flex}.items-center{align-items:center}.gap-1{gap:.5rem}.gap-2{gap:1rem}.text-muted{color:var(--text-muted)}.font-bold{font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9375rem;border:none;transition:all .18s;cursor:pointer;white-space:nowrap}.btn-primary{background:var(--btn-brand);color:#fff;box-shadow:0 2px 8px #00a85a4d}.btn-primary:hover{background:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow)}.btn-secondary{background:var(--bg-card);color:var(--text);border:1.5px solid var(--border)}.btn-secondary:hover{background:var(--bg-elev)}.btn-gold{background:var(--gold-solid);color:#fff}.btn-gold:hover{background:#92400e}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--bg-elev);color:var(--text)}.btn-danger{background:var(--error);color:#fff}.btn-sm{padding:.375rem .875rem;font-size:.875rem}.btn-lg{padding:.875rem 1.75rem;font-size:1.0625rem}.btn-full{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important}.card{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.card-body{padding:1.5rem}.card-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border);font-weight:600}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge-primary{background:#cfe5ff;color:#1d4ed8}.badge-success{background:#dcf3bd;color:#2d6a0c}.badge-warning{background:#ffeaa8;color:#7a4f00}.badge-error{background:#ffd3da;color:#a3122f}.badge-gold{background:#ffeaa8;color:#8a5200}.badge-purple{background:#cdf5ee;color:#0b7a70}.badge-indigo{background:#d1fae5;color:#065f46}.badge-pink{background:#fde7f1;color:#a3165a}.badge-cyan{background:#c3f3ff;color:#0a6a85}.badge-rose{background:#ffe4e6;color:#be123c}.badge-teal{background:#ccfbf1;color:#0f766e}.badge-neutral{background:#f1f5f9;color:#475569}.badge-outline{background:transparent;border:1.5px solid var(--border);color:var(--text-muted)}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.875rem;font-weight:600;color:var(--text)}.form-input{padding:.625rem .875rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.9375rem;color:var(--text);background:var(--bg-card);transition:border .15s}.form-input:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 3px #07875629}::selection{background:#f472b64d}.form-input.error{border-color:var(--error)}.form-error{font-size:.8125rem;color:var(--error)}.progress-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--primary-light);border-radius:3px;transition:width .4s ease}.progress-fill.gold{background:var(--gold)}.progress-fill.success{background:var(--success)}.alert{padding:.875rem 1rem;border-radius:var(--radius-sm);font-size:.9rem;display:flex;gap:.5rem;align-items:flex-start}.alert-error{background:var(--surface-error-bg);color:var(--surface-error-text);border-left:3px solid var(--error)}.alert-success{background:var(--surface-success-bg);color:var(--surface-success-text);border-left:3px solid var(--success)}.alert-info{background:var(--surface-info-bg);color:var(--surface-info-text);border-left:3px solid var(--info)}.alert-warning{background:#fbf2d9;color:#5a4418;border-left:3px solid #e0b64a}html.dark .alert-warning{background:#eee3c4;color:#46361a}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:1.5rem;height:1.5rem;border:2.5px solid var(--border);border-top-color:var(--primary-light);border-radius:50%;animation:spin .7s linear infinite}.spinner-sm{width:1rem;height:1rem;border-width:2px}.spinner-lg{width:2.5rem;height:2.5rem}.spinner-center{display:flex;justify-content:center;align-items:center;padding:3rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes pulse-live{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes flashGreen{0%{background:#16a34a4d}to{background:transparent}}@keyframes flashRed{0%{background:#dc26264d}to{background:transparent}}@keyframes bossShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.widget-enter{animation:fadeInUp .3s ease both}.shake-anim{animation:shake .5s ease}.avatar{width:2rem;height:2rem;background:var(--gold-solid);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8125rem;color:#fff}.page{min-height:calc(100vh - 3.75rem)}.page-hero{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--btn-brand) 60%,#be185d 100%);color:#fff;padding:4rem 0 3rem}.page-hero h1{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;line-height:1.2}.page-hero p{font-size:1.0625rem;opacity:.85;max-width:560px;margin-top:.75rem}.grid-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}.grid-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.course-card{transition:transform .18s,box-shadow .18s;cursor:pointer}.course-card-header{padding:1.25rem 1.25rem .75rem}.course-card-title{font-size:1rem;font-weight:700;line-height:1.35}.course-card-desc{font-size:.8125rem;color:var(--text-muted);margin-top:.375rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-card-footer{padding:.75rem 1.25rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;color:var(--text-muted)}.lesson-content{font-size:1rem;line-height:1.8;color:var(--text)}.lesson-content h2{font-size:1.375rem;font-weight:700;margin:1.75rem 0 .875rem;color:var(--primary)}.lesson-content h3{font-size:1.125rem;font-weight:600;margin:1.25rem 0 .625rem}.lesson-content p{margin-bottom:1rem}.lesson-content ul,.lesson-content ol{margin:.75rem 0 1rem 1.5rem}.lesson-content li{margin-bottom:.375rem}.lesson-content table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.9375rem}.lesson-content th{background:var(--btn-brand);color:#fff;padding:.625rem .875rem;text-align:left}.lesson-content td{padding:.5rem .875rem;border-bottom:1px solid var(--border)}.lesson-content tr:nth-child(2n) td{background:var(--bg)}.lesson-content blockquote{border-left:3px solid var(--gold);padding:.75rem 1rem;background:var(--surface-warning-bg);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:1rem 0}.lesson-content code{background:var(--bg);padding:.125rem .375rem;border-radius:4px;font-size:.875rem}.lesson-content strong{font-weight:700}.lesson-content li:has(>span[style*="border:1.5px"]){list-style:none}@media print{.lesson-content [style*="border:1.5px solid #3b82f6"]{border-color:#000!important}.lesson-content [style*="background:#f0fdf4"],.lesson-content [style*="background:#fffbeb"],.lesson-content [style*="background:linear-gradient"]{background:#f8f8f8!important}}.quiz-option{padding:.875rem 1rem;border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:.75rem;font-size:.9375rem}.quiz-option:hover:not(.disabled){border-color:var(--primary-light);background:var(--bg-active)}.quiz-option.selected{border-color:var(--primary-light);background:var(--bg-active)}.quiz-option.correct{border-color:var(--success);background:var(--surface-success-bg)}.quiz-option.wrong{border-color:var(--error);background:var(--surface-error-bg)}.quiz-option.disabled{cursor:not-allowed}.plan-card{border:2px solid var(--border);border-radius:var(--radius-lg);padding:2rem;text-align:center;transition:all .2s;position:relative}.plan-card:hover{border-color:var(--primary-light);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.plan-card.featured{border-color:var(--gold);background:linear-gradient(135deg,var(--surface-warning-bg) 0%,var(--bg-card) 100%)}.plan-card.featured:before{content:"⭐ Phổ Biến Nhất";position:absolute;top:-14px;left:50%;transform:translate(-50%);background:var(--gold-solid);color:#fff;padding:.25rem 1rem;border-radius:999px;font-size:.8125rem;font-weight:700;white-space:nowrap}.plan-price{font-size:2.5rem;font-weight:800;color:var(--primary)}.plan-price span{font-size:1rem;font-weight:400;color:var(--text-muted)}.plan-feature{display:flex;align-items:center;gap:.5rem;padding:.375rem 0;font-size:.9rem;text-align:left}.plan-feature:before{content:"✓";color:var(--success);font-weight:700;flex-shrink:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem}.modal{background:var(--bg-card);border-radius:var(--radius-lg);max-width:500px;width:100%;box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;gap:.75rem;justify-content:flex-end}.modal-close{background:none;border:none;font-size:1.25rem;color:var(--text-muted);cursor:pointer;padding:.25rem;line-height:1}.tabs{display:flex;gap:.25rem;padding:.3125rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.tab-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.625rem 1.125rem;font-size:.9375rem;font-weight:600;color:var(--text-muted);background:none;border:none;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.tab-btn:hover{color:var(--text);background:var(--bg-card)}.tab-btn.active{color:#fff;background:var(--btn-brand);box-shadow:var(--shadow-sm)}.tab-btn.active:hover{color:#fff;background:var(--btn-brand)}.btn-social{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;border-radius:var(--radius-sm);border:none;font-size:.9375rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.btn-social:hover:not(:disabled):not([style*=not-allowed]){opacity:.88;transform:translateY(-1px)}.btn-social:active{transform:translateY(0)}.btn-google{background:#fff;color:#1f2937;border:1px solid #d1d5db}.btn-facebook{background:#1877f2;color:#fff}.layout-sidebar{display:grid;grid-template-columns:260px 1fr;gap:1.5rem;align-items:start}.sidebar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;position:sticky;top:5rem;max-height:calc(100vh - 6.5rem);display:flex;flex-direction:column}.sidebar-list{overflow-y:auto}.sidebar-toggle-icon{display:none}.sidebar-item{padding:.75rem 1rem;display:flex;align-items:center;gap:.625rem;font-size:.9rem;cursor:pointer;transition:background .15s;border-left:3px solid transparent}.sidebar-item:hover{background:var(--bg)}.sidebar-item.active{background:var(--bg-active);border-left-color:var(--primary-light);color:var(--primary);font-weight:600}.sidebar-item .check{color:var(--success)}.stat-card{text-align:center;padding:1.5rem}.stat-number{font-size:2.25rem;font-weight:800;color:var(--primary)}.stat-label{font-size:.875rem;color:var(--text-muted);margin-top:.25rem}.cat-pill{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border-radius:999px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s;border:1.5px solid transparent}.cat-pill:hover{transform:translateY(-1px)}.cat-pill.active{border-color:var(--primary-light)}.cat-chip-row{scrollbar-width:thin;scrollbar-color:var(--border) transparent;scroll-behavior:smooth}.cat-chip-row::-webkit-scrollbar{height:6px}.cat-chip-row::-webkit-scrollbar-track{background:transparent}.cat-chip-row::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.cat-chip-row::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.level-beginner{background:#d1fae5;color:#065f46}.level-intermediate{background:#fef3c7;color:#92400e}.level-advanced{background:#fee2e2;color:#991b1b}@media (max-width: 768px){.layout-sidebar{grid-template-columns:1fr}.sidebar{position:static;max-height:none}.sidebar-toggle-icon{display:inline}.sidebar-list{max-height:0;overflow:hidden}.sidebar-list.open{max-height:60vh;overflow-y:auto}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.plan-card{padding:1.5rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .4s cubic-bezier(.22,1,.36,1) forwards}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 2s infinite}@keyframes bounceIn{0%{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}.bounce-in{animation:bounceIn .45s cubic-bezier(.22,1,.36,1)}@keyframes dotBounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.slide-in-right{animation:slideInRight .3s ease forwards}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--border) 25%,var(--bg) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.card-glow:hover{box-shadow:0 0 0 2px var(--primary-light),var(--shadow-lg);transition:box-shadow .2s}.gradient-header{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--btn-brand) 60%,#be185d 100%);color:#fff}@keyframes confettiDrop{0%{opacity:1;transform:translateY(-10px) rotate(0)}to{opacity:0;transform:translateY(80px) rotate(720deg)}}.confetti-piece{position:absolute;width:8px;height:8px;border-radius:2px;animation:confettiDrop .9s ease-out forwards}@keyframes ring{0%{box-shadow:0 0 #05966966}70%{box-shadow:0 0 0 14px #05966900}to{box-shadow:0 0 #05966900}}.ring-success{animation:ring 1s ease-out}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#047857}.btn-error{background:var(--error);color:#fff}.btn-error:hover{background:#b91c1c}html.dark{color-scheme:dark;--primary: #2ee89a;--primary-light: #6df5b9;--primary-dark: #064e3b;--pink: #ff5fae;--pink-ink: #ffa6d2;--pink-soft: #4a1631;--gold: #fbbf24;--gold-ink: #ffd24d;--gold-light: #fcd34d;--gold-solid: #b45309;--streak: #ff8f3f;--success: #a8e07a;--error: #f87171;--warning: #fbbf24;--info: #2de6ff;--bg: #0f0f1a;--bg-chrome: #1a1a2e;--bg-card: #1e1e35;--bg-elev: #252545;--bg-hover: #2d2d52;--bg-input: #16162b;--bg-active: #22371e;--text: #e8e8f0;--text-muted: #9999bb;--text-light: #8686b4;--border: rgba(255, 255, 255, .08);--border-strong: #6b6b99;--shadow-sm: 0 1px 2px rgba(0,0,0,.45);--shadow: 0 4px 24px rgba(0,0,0,.4);--shadow-lg: 0 12px 28px rgba(0,0,0,.55);--surface-info-bg: #20405c;--surface-info-border: #3f76a3;--surface-info-text: #d6e9fa;--surface-info-text-soft: #93c8f2;--surface-success-bg: #34492b;--surface-success-border: #6f9f4e;--surface-success-text: #e4f4d6;--surface-success-text-soft: #aae07c;--surface-warning-bg: #4d4330;--surface-warning-border: #9c8650;--surface-warning-text: #f7ecd2;--surface-warning-text-soft: #efca70;--surface-error-bg: #4d2735;--surface-error-border: #a8526a;--surface-error-text: #fbdee5;--surface-error-text-soft: #f59fb0;--surface-purple-bg: #214a4c;--surface-purple-border: #44908f;--surface-purple-text: #d4f3f1;--surface-purple-text-soft: #85ddd6;--surface-neutral-bg: #1e1e35;--surface-neutral-border: #33335a;--surface-neutral-text: #e8e8f0;--surface-cyan-bg: #214659;--surface-cyan-border: #4189aa;--surface-cyan-text: #d4eff9;--surface-cyan-text-soft: #88d6f1}html.dark body{background-color:var(--bg);color:var(--text)}html.dark .form-input{background:var(--bg-input);color:var(--text);border-color:var(--border-strong)}html.dark .form-input:focus{border-color:var(--primary-light)}html.dark .badge-primary{background:#2552d9;color:#e4eeff}html.dark .badge-success{background:#4a722d;color:#effadf}html.dark .badge-warning{background:#8f5c00;color:#fff2c8}html.dark .badge-error{background:#c02248;color:#ffe6ea}html.dark .badge-gold{background:#8f5c00;color:#fff2c8}html.dark .badge-purple{background:#0b7a76;color:#dafcf7}html.dark .badge-indigo{background:#4a722d;color:#effadf}html.dark .badge-pink{background:#831843;color:#fbcfe8}html.dark .badge-cyan{background:#0a7392;color:#d6f8ff}html.dark .badge-rose{background:#881337;color:#fecdd3}html.dark .badge-teal{background:#0b7a76;color:#dafcf7}html.dark .badge-neutral{background:#3a3a62;color:#e8e8f6}html.dark .badge-outline{border-color:var(--border);color:var(--text-muted)}html.dark .level-beginner{background:#4a722d;color:#effadf}html.dark .level-intermediate{background:#2552d9;color:#e4eeff}html.dark .level-advanced{background:linear-gradient(90deg,#0f766e,#14b8a6);color:#fff}.surface-popover{background:var(--bg-card);color:var(--text)}.surface-hover:hover{background:var(--bg)}html.dark .cat-tint-tile{background:var(--bg-card)!important}html.dark .lesson-content code{background:var(--bg-elev)}html.dark .lesson-content tr:nth-child(2n) td{background:var(--bg-input)}html.dark .btn-secondary{background:var(--bg-elev);color:var(--text);border-color:var(--border)}html.dark .btn-secondary:hover{background:var(--bg-hover)}html.dark .btn-primary{background:#00874a}html.dark .btn-primary:hover{background:#00703f}html.dark .btn-success{background:#059669}html.dark .btn-error,html.dark .btn-danger{background:#dc2626}html.dark .tts-btn.playing{background:#078756;border-color:#078756}html.dark .btn-ghost:hover{background:var(--bg-elev);color:var(--text)}html.dark .btn-social.btn-google{background:var(--bg-elev);color:var(--text);border-color:var(--border)}.tts-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:999px;border:1.5px solid var(--border);background:var(--bg-card);color:var(--text);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.tts-btn:hover{border-color:var(--primary-light)}.tts-btn.playing{background:var(--btn-brand);color:#fff;border-color:var(--btn-brand)}.tts-btn:disabled{opacity:.6;cursor:not-allowed}.inline-note-trigger{position:fixed;z-index:60;background:var(--gold-solid);color:#fff;border:none;border-radius:999px;padding:.375rem .75rem;font-weight:700;font-size:.8125rem;cursor:pointer;box-shadow:var(--shadow);transform:translate(-50%,-120%)}.inline-note-popover{position:fixed;z-index:61;background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.75rem;width:280px;max-width:calc(100vw - 2rem);transform:translate(-50%,-100%)}.inline-note-popover textarea{width:100%;min-height:70px;padding:.5rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:inherit;font-size:.875rem;resize:vertical;box-sizing:border-box}.inline-note-popover .preview{background:var(--bg);border-left:3px solid var(--gold);padding:.375rem .5rem;font-size:.75rem;color:var(--text-muted);border-radius:var(--radius-sm);margin-bottom:.5rem;max-height:56px;overflow:hidden;line-height:1.4}.inline-note-list{margin-top:1rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.inline-note-list-header{background:var(--bg);padding:.625rem 1rem;font-weight:700;font-size:.875rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.inline-note-item{padding:.75rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-card)}.inline-note-item:last-child{border-bottom:none}.inline-note-item .selection{background:#fef3c7;color:#92400e;border-radius:4px;padding:.125rem .375rem;font-size:.8125rem;display:inline-block;margin-bottom:.375rem}html.dark .inline-note-item .selection{background:#78350f;color:#fde68a}.inline-note-item .note-text{font-size:.875rem;color:var(--text);line-height:1.5;white-space:pre-wrap}.inline-note-item .actions{display:flex;gap:.5rem;margin-top:.5rem;font-size:.75rem;color:var(--text-muted);align-items:center}.inline-note-item .delete{background:none;border:none;color:var(--error);cursor:pointer;font-size:.75rem;margin-left:auto}@keyframes slideUpIn{0%{opacity:0;transform:translateY(16px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.mobile-bottom-nav{display:none}@media (max-width: 768px){.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:62px;background:var(--bg-chrome, var(--bg-card));border-top:1px solid var(--border);align-items:stretch;z-index:400;box-shadow:0 -2px 12px #0000001a;padding-bottom:env(safe-area-inset-bottom,0)}.mobile-bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;background:none;border:none;font-size:10px;transition:color .15s;padding:0 2px;min-width:0}.mobile-bottom-nav__icon{font-size:20px;line-height:1;display:block}.mobile-bottom-nav__label{font-size:10px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.mobile-bottom-nav__badge{position:absolute;top:-4px;right:-8px;min-width:16px;height:16px;border-radius:999px;background:var(--error, #dc2626);color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1}.app-shell-content{padding-bottom:calc(62px + env(safe-area-inset-bottom,0))!important}.offline-indicator{bottom:calc(62px + env(safe-area-inset-bottom,0) + 1rem)!important}}.dash-hero{background:linear-gradient(135deg,#1a3a6b,#2563eb);color:#fff;padding:1.75rem 1.5rem 2rem;border-radius:var(--radius-lg);margin-bottom:1.5rem;position:relative;overflow:hidden}.dash-hero:before{content:"";position:absolute;top:-40px;right:-40px;width:200px;height:200px;background:#ffffff0f;border-radius:50%}.dash-hero:after{content:"";position:absolute;bottom:-60px;right:60px;width:140px;height:140px;background:#ffffff0a;border-radius:50%}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.125rem 1.25rem;display:flex;align-items:center;gap:1rem;transition:transform .15s,box-shadow .15s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.stat-card-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.course-card{transition:transform .18s,box-shadow .18s;cursor:pointer;display:flex;flex-direction:column}.course-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.course-card-header{padding:1.125rem 1.25rem .875rem;flex:1}.course-card-icon{font-size:2rem;margin-bottom:.5rem}.course-card-title{font-weight:700;font-size:.9375rem;line-height:1.4;margin-bottom:.375rem;color:var(--text)}.course-card-desc{font-size:.8125rem;color:var(--text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-card-footer{padding:.625rem 1.25rem;border-top:1px solid var(--border);display:flex;gap:1rem;font-size:.75rem;color:var(--text-muted)}.lesson-prose{line-height:1.8;font-size:1rem}.lesson-prose h2{font-size:1.25rem;font-weight:700;margin:1.75rem 0 .75rem;color:var(--primary);border-bottom:2px solid var(--border);padding-bottom:.375rem}.lesson-prose h3{font-size:1.0625rem;font-weight:700;margin:1.25rem 0 .5rem;color:var(--text)}.lesson-prose h4{font-size:.9375rem;font-weight:700;margin:1rem 0 .375rem;color:var(--text-muted)}.lesson-prose p{margin-bottom:.875rem}.lesson-prose ul,.lesson-prose ol{margin:.625rem 0 .875rem 1.375rem}.lesson-prose li{margin-bottom:.3rem}.lesson-prose strong{font-weight:700;color:var(--text)}.lesson-prose em{font-style:italic}.lesson-prose blockquote{border-left:3px solid var(--primary-light);padding:.5rem 1rem;background:var(--bg-active);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:.875rem 0;color:var(--text);font-style:italic}.lesson-prose table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.875rem}.lesson-prose th{background:var(--btn-brand);color:#fff;padding:.5rem .75rem;text-align:left;font-weight:600}.lesson-prose td{padding:.5rem .75rem;border-bottom:1px solid var(--border)}.lesson-prose tr:nth-child(2n) td{background:var(--bg)}.lesson-prose code{background:var(--bg-elev);border:1px solid var(--border);border-radius:4px;padding:.125rem .375rem;font-size:.875em;font-family:JetBrains Mono,monospace;color:#be185d}.lesson-prose pre{background:#0f172a;color:#e2e8f0;padding:1rem 1.25rem;border-radius:var(--radius-sm);overflow-x:auto;margin:1rem 0}.lesson-prose pre code{background:none;border:none;padding:0;color:inherit;font-size:.875rem}.badge-advanced{background:linear-gradient(90deg,#0f766e,#14b8a6);color:#fff}.cat-pill{padding:.375rem .875rem;border-radius:999px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.grid-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.grid-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}.grid-4{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}@media print{aside,nav.mobile-bottom-nav,.no-print{display:none!important}body{background:#fff!important}.competency-passport-page{padding:0!important;max-width:100%!important}@page{size:A4 portrait;margin:18mm 15mm}}.level-beginner{background:#dcfce7;color:#166534}.level-intermediate{background:#dbeafe;color:#1e40af}.level-advanced{background:linear-gradient(90deg,#0f766e,#14b8a6);color:#fff}html.dark .skeleton{background:linear-gradient(90deg,var(--border) 25%,#1e2d4a 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@media (max-width: 640px){.btn{min-height:44px;padding-top:.625rem;padding-bottom:.625rem}.btn-sm{min-height:36px}.container{padding-left:1rem;padding-right:1rem}.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}.hide-mobile{display:none!important}.modal{max-width:100%!important;border-radius:var(--radius) var(--radius) 0 0!important;margin-top:auto!important}.modal-backdrop{align-items:flex-end;padding:0}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}}@media (max-width: 480px){.page-hero h1{font-size:1.5rem}.page-hero{padding:1.75rem 0 1.5rem}.cat-pill{font-size:.75rem;padding:.3rem .7rem}.dash-hero{padding:1.25rem 1rem 1.5rem;border-radius:var(--radius)}}:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}a{transition:color .15s,opacity .15s}img[loading=lazy]{transition:filter .3s ease}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.card-enter{animation:cardFadeIn .28s ease both}:root{--shell-sidebar-w: 260px;--brand-name: #00a85a;--shell-topbar-h: 60px;--shell-grad: linear-gradient(120deg, #a8e66f 0%, #c9e8c0 46%, #d99ae8 100%);--shell-glow: 0 4px 14px rgba(200, 140, 230, .3);--shell-ink: #10261b;--hero-grad: linear-gradient(120deg, #b9ef86 0%, #a6e66e 55%, #94dd5f 100%);--hero-border: rgba(255, 255, 255, .35);--hero-ink: #1c3a0e;--hero-sub: rgba(28, 58, 14, .88);--hero-kicker: #2c5412;--hero-box: rgba(255, 255, 255, .4);--hero-track: rgba(28, 58, 14, .2);--silk-display: block}html.dark{--brand-name: #2ee89a;--shell-glow: 0 4px 14px rgba(200, 140, 230, .26)}.shell{display:flex;min-height:100vh}.shell-sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--shell-sidebar-w);background:var(--bg-chrome, var(--bg-card));border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:300;transition:transform .25s ease}.shell-main{flex:1;min-width:0;min-height:100vh;margin-left:var(--shell-sidebar-w);display:flex;flex-direction:column;transition:margin-left .25s ease}.shell-content{flex:1;min-width:0}.shell-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:299}.shell--hidden .shell-sidebar{transform:translate(-100%)}.shell--hidden .shell-main{margin-left:0}.shell-brand{display:flex;align-items:center;gap:8px;padding:18px 16px 16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.shell-brand-logo{display:flex;align-items:center;gap:12px;flex:1;min-width:0;color:var(--text)}.shell-brand-img{width:40px;height:40px;border-radius:10px;object-fit:cover;flex-shrink:0;box-shadow:0 2px 8px #0000002e}.shell-brand-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}.shell-brand-name{font-weight:800;font-size:19px;letter-spacing:.01em;color:var(--brand-name)}.shell-brand-sub{font-size:11px;color:var(--text-light);letter-spacing:.4px;white-space:nowrap}.shell-close-tab{position:relative;width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:8px;cursor:pointer}.shell-close-tab:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.shell-close-tab:hover{background:var(--bg)}.shell-close-tri{width:0;height:0;border-style:solid;border-width:7px 10px 7px 0;border-color:transparent var(--primary-light) transparent transparent}.shell-nav{flex:1;overflow-y:auto;padding:12px;scrollbar-width:thin}.shell-nav-section{margin-bottom:6px}.shell-nav-label{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 8px 4px;background:none;border:none;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-light)}.shell-nav-label-static{cursor:default}.shell-nav-caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;transition:transform .15s}.shell-nav-caret.closed{transform:rotate(-90deg)}.shell-nav-item{position:relative;display:flex;align-items:center;gap:12px;padding:8px 12px;margin-bottom:1px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--text-muted);transition:transform .18s ease,background .2s ease,color .2s ease;white-space:nowrap;overflow:hidden}.shell-nav-item:hover{background:var(--border);color:var(--text);transform:translate(3px)}.shell-nav-item:active{transform:translate(3px) scale(.99)}.shell-nav-item.active{background:var(--shell-grad);color:var(--shell-ink);font-weight:700;box-shadow:var(--shell-glow)}.shell-nav-item.active .shell-nav-icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}@media (prefers-reduced-motion: reduce){.shell-nav-item:hover,.shell-nav-item:active{transform:none}}.shell-nav-icon{width:20px;text-align:center;font-size:17px;flex-shrink:0;line-height:1}.shell-nav-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.shell-nav-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#f43f5e;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.shell-nav-section-admin{margin-top:10px;padding-top:6px;border-top:1px dashed var(--border)}.shell-nav-item-admin{color:var(--gold-ink)}.shell-user{padding:12px 16px;border-top:1px solid var(--border);flex-shrink:0}.shell-user-card{display:flex;align-items:center;gap:12px;padding:8px;border-radius:var(--radius-sm);color:var(--text);transition:background .15s}.shell-user-card:hover{background:var(--bg)}.shell-user-avatar{width:38px;height:38px;border-radius:50%;background:var(--shell-grad);color:var(--shell-ink);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}.shell-user-info{display:flex;flex-direction:column;min-width:0;line-height:1.3}.shell-user-name{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-user-plan{font-size:11px;color:var(--text-light)}.shell-topbar{position:sticky;top:0;z-index:100;height:var(--shell-topbar-h);display:flex;align-items:center;gap:12px;padding:0 24px;background:var(--bg-chrome, var(--bg-card));border-bottom:1px solid var(--border)}.shell-topbar-title{flex:1;min-width:0;font-weight:700;font-size:17px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-topbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.shell-menu-btn,.shell-icon-btn{position:relative;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:16px;line-height:1;cursor:pointer;transition:background .15s,border-color .15s}.shell-menu-btn{font-size:18px;flex-shrink:0}.shell-menu-btn:hover,.shell-icon-btn:hover{background:var(--bg-card)}.shell-icon-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#f43f5e;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.shell-back-btn{flex-shrink:0;padding:6px 12px;background:var(--bg);border:1px solid var(--border);border-radius:999px;color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.shell-back-btn:hover{background:var(--border)}.shell-streak{display:inline-flex;align-items:center;gap:4px;height:36px;padding:0 12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;font-size:14px;color:var(--streak)}.shell-streak b{font-weight:700}.shell-content .page-hero{background:transparent;color:var(--text);padding:1.5rem 0 .5rem}.shell-content .page-hero h1{font-size:1.5rem;color:var(--text)}.shell-content .page-hero p{font-size:.9375rem;color:var(--text-muted);opacity:1;margin-top:.375rem}@media (max-width: 768px){.shell-sidebar{transform:translate(-100%);box-shadow:none}.shell--drawer .shell-sidebar{transform:translate(0);box-shadow:8px 0 32px #00000059;z-index:450}.shell--drawer .shell-overlay{display:block;z-index:449}.shell-sidebar{padding-bottom:env(safe-area-inset-bottom,0)}.shell-main{margin-left:0}.shell-topbar{padding:0 12px;gap:8px}.shell-topbar-title{font-size:15px}.shell-streak{padding:0 8px}.mobile-bottom-nav__item{color:var(--text-light);font-weight:500;border-top:2px solid transparent}.mobile-bottom-nav__item.active{color:var(--primary);font-weight:700;border-top-color:var(--primary-light)}}@media (max-width: 480px){.shell-back-text{display:none}.shell-back-btn{padding:6px 10px}.shell-topbar-actions{gap:6px}}@media (prefers-reduced-motion: reduce){.shell-sidebar,.shell-main{transition:none}}.hub-tabs{position:sticky;top:var(--shell-topbar-h);z-index:60;display:flex;gap:6px;padding:10px 20px;overflow-x:auto;background:var(--bg);border-bottom:1px solid var(--border);scrollbar-width:none}.hub-tabs::-webkit-scrollbar{display:none}.hub-tab{flex-shrink:0;padding:7px 14px;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-size:13.5px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.hub-tab:hover{color:var(--text);border-color:var(--primary-light)}.hub-tab.active{background:var(--shell-grad);background-origin:border-box;border-color:transparent;color:var(--shell-ink);box-shadow:var(--shell-glow)}.hub-tab.active:hover,.courses-chip.active:hover{color:var(--shell-ink);border-color:var(--primary-light);box-shadow:0 0 0 3px var(--hv-ring),var(--shell-glow)}.hub-embed .page{min-height:0}.hub-embed .page-hero{display:none}@media (max-width: 480px){.hub-tabs{padding:8px 12px}}.dash-wrap{max-width:1000px;margin:0 auto;padding:20px 20px 48px;display:flex;flex-direction:column;gap:16px}.dash-greet h1{font-size:1.375rem}.dash-greet p{margin-top:2px;font-size:.875rem;color:var(--text-muted)}.dash-resume{position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 22px;border-radius:20px;color:var(--hero-ink);background:var(--hero-grad);border:1px solid var(--hero-border);box-shadow:var(--shadow-sm)}.dash-resume>:not(.silk-band){position:relative;z-index:1}.dash-resume-kicker{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--hero-kicker);margin-bottom:4px}.dash-resume-title{font-size:1.125rem;font-weight:800;color:var(--hero-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-resume-sub{font-size:.8125rem;color:var(--hero-sub);margin:2px 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-resume-bar{height:6px;background:var(--hero-track);border-radius:999px;overflow:hidden}.dash-resume-bar>div{height:100%;background:var(--hero-ink);border-radius:999px;transition:width .5s}.dash-resume-cta{flex-shrink:0;padding:10px 22px;border-radius:999px;background:#fff;color:#2c5412;font-weight:800;font-size:.9375rem;box-shadow:0 4px 12px #2c541240;transition:transform .15s,box-shadow .15s}.dash-resume-cta:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2c541257}.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dash-stats-4{grid-template-columns:repeat(4,1fr)}.dash-mini-bar{height:5px;margin-top:6px;background:var(--border);border-radius:999px;overflow:hidden}.dash-mini-bar i{display:block;height:100%;background:var(--shell-grad);border-radius:999px}.dash-week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;height:110px}.dash-week-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}.dash-week-n{font-size:.6875rem;font-weight:700;color:var(--text-muted);min-height:14px}.dash-week-bar{flex:1;width:100%;max-width:34px;display:flex;align-items:flex-end;background:var(--bg-elev);border-radius:6px;overflow:hidden}.dash-week-bar i{display:block;width:100%;background:var(--primary-light);border-radius:6px 6px 0 0}.dash-week-col.today .dash-week-bar i{background:var(--primary-light)}.dash-week-d{font-size:.6875rem;color:var(--text-light)}.dash-week-col.today .dash-week-d{color:var(--primary);font-weight:700}.dash-tile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 8px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm)}.dash-tile b{font-size:1.5rem;font-weight:800;line-height:1.2;color:var(--pf-ink)}.dash-tile b small{font-size:.8125rem;font-weight:600;color:var(--pf-sub)}.dash-tile span{font-size:.75rem;color:var(--pf-sub)}.dash-card{background:var(--bg-card);border:1px solid var(--border);border-radius:18px;padding:14px 16px 6px;box-shadow:var(--shadow-sm)}.dash-card-title{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);margin-bottom:4px}.dash-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border);color:var(--text)}.dash-card-title+.dash-row{border-top:none}.dash-row-link:hover .dash-go{transform:translate(3px);color:var(--primary)}.dash-row-icon{font-size:1.375rem;width:28px;text-align:center;flex-shrink:0}.dash-row-main{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}.dash-row-main b{font-size:.9375rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-row-main span{font-size:.8125rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-btn{flex-shrink:0;padding:6px 14px;border-radius:999px;border:1.5px solid var(--primary-light);background:transparent;color:var(--primary);font-size:.8125rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s}.dash-btn:hover{background:var(--btn-brand);color:#fff}.dash-chip{display:inline-block;padding:0 7px;border-radius:999px;background:var(--surface-info-bg);color:var(--surface-info-text-soft);font-size:.6875rem;font-weight:700;vertical-align:1px}.dash-go{flex-shrink:0;color:var(--text-light);font-weight:700;transition:transform .15s,color .15s}.dash-links{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;font-size:.875rem;font-weight:600}.dash-links a{color:var(--primary)}.dash-links a:hover{text-decoration:underline}@media (max-width: 480px){.dash-wrap{padding:14px 12px 32px;gap:12px}.dash-resume{padding:14px 16px}.dash-resume-cta{width:100%;text-align:center}.dash-tile b{font-size:1.25rem}.dash-stats-4{grid-template-columns:repeat(2,1fr)}}.profile-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.profile-head-text{flex:1 1 180px;min-width:0}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}.profile-h{font-size:1rem;font-weight:700;margin:0}.profile-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border);font-size:.875rem}.profile-row>span{color:var(--text-muted)}.profile-row>b{font-weight:600;text-align:right;overflow-wrap:anywhere}.profile-danger{background:transparent;color:var(--error);border:1.5px solid var(--error)}.profile-danger:hover{background:var(--surface-error-bg)}.profile-danger-solid{background:#dc2626;color:#fff;border:none}.profile-danger-solid:hover{background:#b91c1c}.profile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:998}.profile-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(480px,95vw);max-height:90vh;overflow-y:auto;background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:999}.profile-modal-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:var(--bg-card);border-bottom:1px solid var(--border);z-index:1}.profile-modal-head h2{font-size:1.0625rem;font-weight:800;margin:0}.profile-modal-head button{background:none;border:none;font-size:1.25rem;color:var(--text-muted);cursor:pointer}.profile-modal-body{padding:20px;display:flex;flex-direction:column;gap:14px}.seg{display:flex;gap:4px;padding:4px;background:var(--bg-elev);border-radius:var(--radius-sm)}.seg-btn{flex:1;padding:8px 6px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.seg-btn:hover{color:var(--text)}.seg-btn.active{background:var(--bg-card);color:var(--primary);box-shadow:var(--shadow-sm)}.profile-switch-row{display:flex;align-items:center;gap:12px;width:100%;padding:0;background:none;border:none;text-align:left;color:var(--text);cursor:pointer}.profile-switch-row b{display:block;font-size:.875rem}.profile-switch-row small{display:block;font-size:.75rem;color:var(--text-muted);margin-top:2px}.switch{position:relative;width:44px;height:24px;flex-shrink:0;border-radius:12px;background:var(--border-strong);transition:background .2s}.switch i{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:left .2s}.switch.on{background:var(--primary-light)}.switch.on i{left:23px}@media (max-width: 640px){.profile-stats{grid-template-columns:repeat(2,1fr)}}.courses-back{display:inline-block;margin-bottom:6px;padding:2px 0;background:none;border:none;color:var(--text-muted);font-size:.8125rem;font-weight:600;cursor:pointer}.courses-back:hover{color:var(--primary)}.courses-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}.courses-filters .form-input{flex:1 1 220px;min-width:0}.courses-chips{display:flex;gap:6px;flex-wrap:wrap}.courses-chip{padding:7px 14px;border-radius:999px;border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.courses-chip:hover{border-color:var(--primary-light);color:var(--text)}.courses-chip.active{background:var(--shell-grad);background-origin:border-box;border-color:transparent;color:var(--shell-ink)}@media (max-width: 520px){.courses-chips{flex-wrap:nowrap;overflow-x:auto;width:100%;scrollbar-width:none}.courses-chips::-webkit-scrollbar{display:none}.courses-chip{flex-shrink:0;padding:7px 12px}}.courses-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.courses-group{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);text-align:center;color:var(--text);cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.courses-group:hover{transform:translateY(-2px);border-color:var(--primary-light);box-shadow:var(--shadow)}.courses-group-icon{font-size:1.75rem;line-height:1}.courses-group-name{font-size:.8125rem;font-weight:700;line-height:1.3}.courses-group-count{font-size:.6875rem;color:var(--text-muted)}.btn-wrap{white-space:normal;text-align:center;line-height:1.35}.course-page .course-head{margin-bottom:14px}.course-crumb{display:inline-block;font-size:.8125rem;color:var(--text-muted);margin-bottom:8px}.course-crumb:hover{color:var(--primary)}.course-title{font-size:clamp(1.25rem,2.6vw,1.625rem);font-weight:800;line-height:1.25;margin:0}.course-desc{color:var(--text-muted);font-size:.9375rem;line-height:1.65;margin:8px 0 0}.course-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.course-hint{padding:10px 14px;margin-bottom:14px;border-radius:var(--radius-sm);border:1px solid #e8d7a6;background:#fbf2d9;color:#5a4418;font-size:.875rem;line-height:1.55}.course-hint a{color:#7a5712;font-weight:700;text-decoration:underline}.course-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.course-main,.course-aside{display:flex;flex-direction:column;gap:14px;min-width:0}.course-bar{height:8px;border-radius:4px;background:var(--border);overflow:hidden}.course-bar i{display:block;height:100%;border-radius:4px;background:var(--shell-grad);transition:width .5s ease}.course-bar i.done{background:var(--success)}.course-upsell{border-color:#e8d7a6;background:#fbf2d9;color:#5a4418}.course-upsell h2{color:#4a3810}.course-upsell p{font-size:.875rem;margin:0 0 .875rem;color:#6b5320}html.dark .course-hint,html.dark .course-upsell{background:#eee3c4;border-color:#d3c08a;color:#46361a}.course-lesson{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:none;border-bottom:1px solid var(--border);background:var(--bg-card);color:var(--text);text-align:left;cursor:pointer;transition:background .15s}.course-lesson:last-child{border-bottom:none}.course-lesson:hover:not(:disabled){background:var(--bg-elev)}.course-lesson:disabled{cursor:default;opacity:.6}.course-lesson.done{background:var(--surface-success-bg)}.course-lesson.done:hover:not(:disabled){background:var(--surface-success-bg);filter:brightness(.97)}.course-lesson-no{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-elev);color:var(--text-muted);font-size:.8125rem;font-weight:700}.course-lesson.done .course-lesson-no{background:var(--success);color:#fff}.course-lesson-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.course-lesson-title{font-size:.9375rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-lesson.done .course-lesson-title{color:var(--surface-success-text-soft)}.course-lesson-sub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.75rem;color:var(--text-muted)}.course-lesson-go{flex-shrink:0;color:var(--text-light);font-size:1.25rem}.course-objectives{list-style:none;display:flex;flex-direction:column;gap:10px;padding:14px 16px}.course-objectives li{display:flex;gap:10px;align-items:flex-start;font-size:.875rem;line-height:1.5}.course-objectives li>span:first-child{color:var(--success);font-weight:700;flex-shrink:0}@media (max-width: 900px){.course-grid{grid-template-columns:minmax(0,1fr)}}.pf-0{--pf-bg: #eaf3de;--pf-ink: #3b6d11;--pf-line: #d3e5bf}.pf-1{--pf-bg: #fceeee;--pf-ink: #a32d2d;--pf-line: #f3d5d5}.pf-2{--pf-bg: #e8f4fd;--pf-ink: #1a5276;--pf-line: #cfe6f7}.pf-3{--pf-bg: #faeeda;--pf-ink: #854f0b;--pf-line: #efdcb8}.pf-4{--pf-bg: #f0ebff;--pf-ink: #5b2d8c;--pf-line: #ddd3f7}.pf-5{--pf-bg: #ecfeff;--pf-ink: #155e75;--pf-line: #cbeff4}.pf-6{--pf-bg: #fdf2f8;--pf-ink: #9d174d;--pf-line: #f6d5e5}.pf-7{--pf-bg: #fffbeb;--pf-ink: #92400e;--pf-line: #f3e8c3}.pf-8{--pf-bg: #eff6ff;--pf-ink: #1e40af;--pf-line: #d4e3fa}.pf-9{--pf-bg: #f4fbe1;--pf-ink: #3f6212;--pf-line: #e0efba}.pf-10{--pf-bg: #f5f5f4;--pf-ink: #57534e;--pf-line: #e2e0dc}.pf{--pf-sub: color-mix(in srgb, var(--pf-ink) 88%, var(--pf-bg));--pf-accent: color-mix(in srgb, var(--pf-ink) 50%, var(--pf-bg));--text: var(--pf-ink);--text-muted: var(--pf-sub);--text-light: var(--pf-sub);background:var(--pf-bg);border-color:var(--pf-line);color:var(--pf-ink)}html .pf .btn-secondary{background:color-mix(in srgb,var(--pf-ink) 9%,#ffffff);color:var(--pf-ink);border:1px solid var(--pf-line)}html .pf .btn-secondary:hover{background:color-mix(in srgb,var(--pf-ink) 15%,#ffffff)}html .pf .btn-secondary:disabled{opacity:.9}html .pf .badge-neutral{background:color-mix(in srgb,var(--pf-ink) 10%,#ffffff);color:var(--pf-ink)}.pf .course-crumb{color:var(--pf-sub)}.pf .course-crumb:hover{color:var(--pf-ink);text-decoration:underline}.pf .course-card-footer{border-top-color:var(--pf-line)}.path-head{border-bottom:1px solid var(--pf-line)}.path-head .path-title{color:var(--pf-ink)}.path-head .path-role{color:var(--pf-sub)}.path-badge{background:color-mix(in srgb,var(--pf-ink) 12%,#ffffff);color:var(--pf-ink)}.path-btn{background:var(--pf-bg);color:var(--pf-ink);border:1px solid var(--pf-line);font-weight:700}.path-btn:hover{background:color-mix(in srgb,var(--pf-ink) 10%,var(--pf-bg))}.dash-resume,.hero-green,[style*="gradient("]{background-origin:border-box}.admin-head{box-shadow:inset 0 0 0 2px transparent;transition:box-shadow .22s var(--ease-out, ease)}@media (hover: hover) and (pointer: fine){.admin-head:hover{box-shadow:inset 0 0 0 2px var(--primary-light)}}:root{--hz-tick-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.9 13.2 L9.6 17.9 L19.1 6.4' fill='none' stroke='%23078756' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}html.dark{--hz-tick-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.9 13.2 L9.6 17.9 L19.1 6.4' fill='none' stroke='%2334d399' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.hz-tick{display:inline-block;flex:none;width:1em;height:1em;vertical-align:-.14em;background:var(--hz-tick-svg) no-repeat center / contain}body.hz-co-phong,body.hz-co-phong #root,body.hz-co-phong .shell,body.hz-co-phong .shell-main,body.hz-co-phong .shell-content,body.hz-co-phong .page{background-color:transparent!important}body.hz-co-phong .auth-main{background:transparent!important}html[data-theme] body,html[data-theme] .shell-sidebar,html[data-theme] .shell-topbar,html[data-theme] .card,html[data-theme] .shell-nav-item,html[data-theme] .shell-icon-btn{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.ts-page{max-width:880px;margin:0 auto;padding:12px 12px 48px}.ts-page h1{font-size:24px;font-weight:800;text-align:center;margin:16px 0 4px;color:var(--text)}.ts-page .sub{font-size:13px;color:var(--text-muted);text-align:center;margin-bottom:20px}.ts-nhom-lbl{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-light);margin:18px 0 8px;font-weight:600}.ts-nhom-lbl:first-of-type{margin-top:4px}.ts-macdinh{display:flex;align-items:center;gap:12px;margin:4px 0 14px;padding:12px 14px;border:1.5px solid var(--border);border-radius:14px;background:var(--bg-card);transition:border-color .15s,background .15s}.ts-macdinh:hover{border-color:var(--primary-light)}.ts-macdinh.dang-dung{border-color:var(--primary-light);background:var(--bg-active)}.ts-macdinh-icon{font-size:24px;line-height:1;flex:0 0 auto}.ts-macdinh-chu{min-width:0;flex:1}.ts-macdinh-chu b{display:block;font-size:14px;font-weight:700;color:var(--text)}.ts-macdinh-chu span{display:block;font-size:12px;color:var(--text-light);line-height:1.55;margin-top:3px}.ts-macdinh.dang-dung .ts-macdinh-chu span{color:var(--text-muted)}.ts-macdinh-trangthai{flex:0 0 auto;font-size:12px;font-weight:700;padding:5px 12px;border-radius:99px;background:var(--border);color:var(--text-muted);border:none;font-family:inherit;cursor:pointer}.ts-macdinh-trangthai:hover{filter:brightness(1.08)}.ts-macdinh.dang-dung .ts-macdinh-trangthai{background:var(--btn-brand);color:#fff;cursor:default}.ts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));gap:14px;align-items:stretch}.ts-card{position:relative;background:var(--bg-card);border:2px solid var(--border);border-radius:16px;padding:18px;transition:border-color .15s,transform .1s}.ts-card:hover{border-color:var(--primary-light);transform:translateY(-2px)}.ts-card.ts-active{border-color:var(--primary-light)}.ts-card-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.ts-card-emoji{font-size:24px}.ts-card-name{font-size:14px;font-weight:700;color:var(--text);line-height:1.25;min-height:18px}.ts-badge{position:absolute;top:10px;right:10px;font-size:18px}.ts-apply-btn{display:block;width:100%;padding:10px;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;border:none;background:var(--btn-brand);color:#fff;margin-top:2px}.ts-apply-btn:hover{filter:brightness(1.08)}.hero-green{position:relative;overflow:hidden;background:var(--hero-grad);color:var(--hero-ink)}.hero-green>:not(.silk-band){position:relative;z-index:1}.silk-band{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;display:var(--silk-display, block);--sb-a: #ffffff;--sb-ao: .3;--sb-b: #ff9ccb;--sb-bo: .78;--sb-edge: rgba(255, 90, 170, .85);--sb-edge2: rgba(255, 255, 255, .7)}.silk-b1{stop-color:var(--sb-a);stop-opacity:var(--sb-ao)}.silk-b2{stop-color:var(--sb-b);stop-opacity:var(--sb-bo)}.silk-b-edge{stroke:var(--sb-edge);stroke-width:1.6}.silk-b-edge2{stroke:var(--sb-edge2);stroke-width:1}.silk-band-sway{position:absolute;left:0;width:100%;height:56%;will-change:transform;animation:silk-band-sway 14s ease-in-out infinite alternate}.silk-band-flow{position:absolute;left:0;top:0;width:200%;height:100%;will-change:transform;animation:silk-band-flow 50s linear infinite}.silk-band-flow svg{display:block;width:100%;height:100%}@keyframes silk-band-flow{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@keyframes silk-band-sway{0%{transform:translateY(calc(var(--sy, 6px) * -1)) rotate(calc(var(--sd, 1deg) * -1))}to{transform:translateY(var(--sy, 6px)) rotate(var(--sd, 1deg))}}@media (prefers-reduced-motion: reduce){.silk-band-sway,.silk-band-flow{animation:none}}.av{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;flex:none;vertical-align:middle;font-weight:800;line-height:1}.av svg{width:100%;height:100%;display:block}.av img{width:100%;height:100%;object-fit:cover;display:block}.av-letter{background:var(--shell-grad);color:var(--shell-ink)}.hz-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#080a148c;display:flex;align-items:center;justify-content:center;padding:16px;animation:hz-dlg-fade .15s ease-out}.hz-dialog{position:relative;width:100%;max-height:calc(100vh - 32px);overflow-y:auto;background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:18px;padding:22px 20px 18px;box-shadow:0 24px 60px #00000059;outline:none;animation:hz-dlg-pop .18s ease-out}.hz-dialog-title{margin:0 28px 10px 0;font-size:1.0625rem;font-weight:800;line-height:1.3}.hz-dialog-x{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);font-size:15px;cursor:pointer}.hz-dialog-x:hover{background:var(--bg-elev);color:var(--text)}.hz-dialog-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}.hz-dialog-actions.row{flex-direction:row;justify-content:flex-end}.hz-dialog-actions .btn{justify-content:center}@keyframes hz-dlg-fade{0%{opacity:0}to{opacity:1}}@keyframes hz-dlg-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.hz-dialog-backdrop,.hz-dialog{animation:none}}.page-head{margin:4px 0 16px}.page-head h1{margin:0;font-size:1.5rem;font-weight:800;line-height:1.25}.page-head p{margin:4px 0 0;color:var(--text-muted);font-size:.9375rem}.soc-wrap{max-width:900px;margin:0 auto;padding:1.25rem 1rem 3rem}.fr-search{display:flex;gap:8px}.fr-search input{flex:1;min-width:0}.fr-mycode{margin:10px 0 0;font-size:.8125rem;color:var(--text-muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fr-mycode b{font-variant-numeric:tabular-nums;letter-spacing:1px;color:var(--text);font-size:.9375rem}.fr-sr-title{margin:14px 0 6px;font-size:.8125rem;font-weight:700;color:var(--text-muted)}.fr-empty{padding:16px;text-align:center;color:var(--text-muted);font-size:.875rem}.fr-h3{margin:22px 0 8px;font-size:1rem;font-weight:800}.fr-count{font-size:.78rem;color:var(--text-muted);font-weight:400;margin-left:6px}.fr-card{margin:14px 0;border:1px solid var(--border);border-radius:16px;background:var(--bg-card);overflow:hidden}.fr-card-head{padding:11px 16px;font-size:.875rem;font-weight:700}.fr-card-sub{font-size:.75rem;color:var(--text-muted);margin:2px 0 10px;font-weight:400}.fr-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--border);border-radius:14px;background:var(--bg-card);margin-bottom:8px}.fr-av-btn{border:none;background:none;padding:0;cursor:pointer;border-radius:50%;flex:none}.fr-mid{flex:1;min-width:0}.fr-mid-click{cursor:pointer}.fr-name{font-size:.9375rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fr-mid-click:hover .fr-name{text-decoration:underline}.fr-last{font-size:.78rem;color:var(--streak);font-weight:700;font-variant-numeric:tabular-nums}.fr-nostreak{font-size:.78rem;color:var(--text-muted);font-weight:400}.fr-code{font-size:.72rem;color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:2px}.fr-pill{font-size:.75rem;font-weight:700;padding:5px 12px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted);background:transparent;white-space:nowrap}.fr-pill.on{color:var(--surface-success-text-soft);background:var(--surface-success-bg);border-color:var(--surface-success-border)}.fr-menu-btn{padding:6px 10px;border-radius:9px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;font-size:.875rem;font-weight:700;flex:none;line-height:1}.fr-reqs{border-color:color-mix(in srgb,var(--info) 38%,var(--border));background:color-mix(in srgb,var(--info) 6%,var(--bg-card))}.fr-reqs .fr-card-head{color:var(--info)}.fr-req-row{display:flex;align-items:center;gap:10px;padding:9px 16px;border-top:1px solid color-mix(in srgb,var(--info) 18%,var(--border))}.fr-req-actions{display:flex;gap:6px;flex:none}.fr-sent,.fr-blocked{border-color:var(--border);background:color-mix(in srgb,var(--text-muted) 6%,var(--bg-card))}.fr-sent .fr-card-head,.fr-blocked .fr-card-head{color:var(--text-muted)}.fr-sent .fr-req-row,.fr-blocked .fr-req-row{border-top-color:var(--border)}.fr-rank-head{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 16px;background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 16%,transparent),color-mix(in srgb,var(--primary-light) 10%,transparent))}.fr-rank-head b{font-size:.9375rem;line-height:1.3}.fr-rank-head span{font-size:.72rem;color:var(--text-muted);line-height:1.45}.fr-rank-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--border)}.fr-rank-row.me{background:color-mix(in srgb,var(--primary-light) 10%,transparent)}.fr-rank-no{width:26px;text-align:center;font-weight:800;font-size:.875rem;color:var(--text-muted);flex:none}.fr-rank-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.fr-rank-name{font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fr-rank-sub{display:flex;align-items:center;gap:8px;font-size:.72rem;color:var(--text-muted);flex-wrap:wrap}.fr-rank-streak{font-size:.78rem;font-weight:700;color:var(--streak);font-variant-numeric:tabular-nums;flex:none}.fr-rank-badges{display:inline-flex;gap:5px;vertical-align:middle}.fr-badge{display:inline-grid;place-items:center;width:22px;height:22px;text-align:center;border:none;font:inherit;cursor:pointer;border-radius:6px;font-size:12px;line-height:1;padding:0 0 1.7px;background:color-mix(in srgb,var(--ac, var(--primary-light)) 22%,transparent)}.fr-badge.t2{box-shadow:0 0 0 1.5px #94a3b8}.fr-badge.t3{box-shadow:0 0 0 2px #d97706,0 0 5px 1px #d9770659}.fr-badge.t4{box-shadow:0 0 0 1.5px #fffbeb,0 0 0 3px #f59e0b,0 0 8px 1.5px #f59e0b66}.fr-badge.t5{box-shadow:0 0 0 1.5px #fffbeb,0 0 0 3.5px #f59e0b,0 0 11px 2px #f59e0b80}.fr-priv{margin:14px 0;padding:12px 16px;border:1px solid var(--border);border-radius:16px;background:var(--bg-card)}.fr-priv-head{font-size:.875rem;font-weight:700}.fr-priv-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--border);font-size:.8125rem}.fr-priv-head+.fr-card-sub+.fr-priv-row{border-top:none}.fr-toggle{padding:5px 14px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;font-size:.75rem;font-weight:700;min-width:54px}.fr-toggle.on{color:var(--surface-success-text-soft);background:var(--surface-success-bg);border-color:var(--surface-success-border)}.fr-lock{margin:14px 0;padding:18px 16px;border:1px solid var(--border);border-radius:16px;background:var(--bg-card)}.fr-lock-head{font-weight:700;font-size:.9375rem;margin-bottom:6px}.fr-prof{text-align:center}.fr-prof .av{margin-bottom:8px}.fr-prof-name{font-size:1.125rem;font-weight:800;margin:0 0 12px}.fr-prof-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--border);font-size:.8125rem;text-align:left}.fr-prof-row:first-of-type{border-top:none}.fr-prof-locked{padding:8px 10px;text-align:center;color:var(--text-muted);font-size:.78rem;background:var(--bg-elev);border-radius:10px;margin:6px 0}.fr-prof-badges{margin-top:10px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.fr-reasons{display:flex;flex-direction:column;gap:8px;margin-top:10px}@media (max-width: 520px){.fr-search{flex-wrap:wrap}.fr-row{padding:9px 10px;gap:9px}.fr-req-row{flex-wrap:wrap;padding:9px 12px}.fr-req-actions{width:100%;justify-content:flex-end}}.ach-page{max-width:1000px;margin:0 auto;padding:1.25rem 1rem 3rem}.ach-hero{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:20px 22px;margin-bottom:18px;border-radius:18px;border:1px solid var(--border);background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 14%,var(--bg-card)),color-mix(in srgb,var(--primary-light) 9%,var(--bg-card)))}.ach-hero-ring{width:92px;height:92px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--primary-light) calc(var(--p) * 1%),var(--border) 0)}.ach-hero-num{width:74px;height:74px;border-radius:50%;background:var(--bg-card);display:flex;align-items:center;justify-content:center;gap:1px;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap;padding:0 2px}.ach-hero-num b{font-size:26px;color:var(--text);line-height:1}.ach-hero-num span{font-size:13px;color:var(--text-muted);line-height:1}.ach-hero-txt{flex:1;min-width:240px}.ach-hero-txt h1{margin:0 0 4px;font-size:1.5rem;font-weight:800}.ach-hero-txt p{margin:0 0 10px;color:var(--text-muted);font-size:.875rem}.ach-next{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ach-next-lbl{font-size:.75rem;color:var(--text-muted)}.ach-next-item{font-size:.75rem;padding:3px 10px;border-radius:999px;cursor:pointer;background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);font-family:inherit}.ach-next-item i{font-style:normal;font-weight:700;opacity:.75;margin-left:2px;font-variant-numeric:tabular-nums}.ach-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.ach-chips-cat{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:stretch}.ach-chips-cat .ach-chip{width:100%;justify-content:space-between;text-align:left}.ach-chips-cat .ach-chip i{flex-shrink:0;margin-left:8px}@media (max-width: 380px){.ach-chips-cat{grid-template-columns:repeat(2,1fr)}}.ach-filter-lbl{font-size:.75rem;color:var(--text-muted);margin-right:2px}.ach-chip{padding:7px 13px;border-radius:999px;cursor:pointer;font-size:.78rem;background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-weight:600}.ach-chip i{font-style:normal;font-size:.6875rem;opacity:.7;font-variant-numeric:tabular-nums}.ach-chip.on{background:var(--btn-brand);border-color:transparent;color:#fff}.ach-chip.on i{opacity:.85}.ach-pin-hint{margin:-4px 0 14px;font-size:.78rem;color:var(--text-muted)}.ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:12px}.ach-empty{grid-column:1 / -1;text-align:center;padding:28px 12px;color:var(--text-muted)}.ach-card{position:relative;background:var(--bg-card);border:1.5px solid var(--border);border-radius:14px;padding:16px 12px 13px;text-align:center;overflow:visible;cursor:pointer;font-family:inherit;color:inherit;width:100%}.ach-icon{width:46px;height:46px;border-radius:13px;margin:0 auto 9px;font-size:24px;background:var(--bg-elev);color:var(--text-muted);display:grid;place-items:center;text-align:center;line-height:1;padding-bottom:4px}.ach-name{font-size:.84rem;font-weight:700;color:var(--text);line-height:1.3}.ach-desc{font-size:.72rem;color:var(--text-muted);margin-top:4px;line-height:1.4;min-height:32px}.ach-done,.ach-lock{margin-top:8px;font-size:.656rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 0;border-radius:6px}.ach-done{color:var(--surface-success-text-soft);background:var(--surface-success-bg)}.ach-lock{color:var(--text-muted);background:var(--bg-elev);display:flex;align-items:center;justify-content:center}.ach-lock.has-prog{justify-content:space-between;padding:3px 8px;font-size:.5625rem;letter-spacing:.01em;gap:6px;flex-wrap:nowrap}.ach-lock.has-prog>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ach-prog{font-variant-numeric:tabular-nums;opacity:.9;white-space:nowrap;flex-shrink:0}.ach-lock-badge{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;background:#0000008c;display:flex;align-items:center;justify-content:center;font-size:11px;z-index:2}.ach-pin{position:absolute;top:6px;left:6px;width:24px;height:24px;border-radius:50%;border:1px solid var(--border);background:var(--bg-card);font-size:12px;cursor:pointer;line-height:1;padding:0;z-index:2;opacity:.75}.ach-pin.on{opacity:1;background:var(--surface-warning-bg);border-color:var(--gold)}.ach-card.locked .ach-icon{background:color-mix(in srgb,var(--ac) 14%,var(--bg-elev));color:var(--ac)}.ach-card.t1.done .ach-icon{background:color-mix(in srgb,var(--ac) 16%,transparent);color:var(--ac)}.ach-card.t2.done{border-color:color-mix(in srgb,var(--primary-light) 34%,var(--border))}.ach-card.t2.done .ach-icon{background:linear-gradient(145deg,color-mix(in srgb,var(--ac) 32%,transparent),color-mix(in srgb,var(--ac) 10%,transparent));color:var(--ac)}.ach-card.t3.done{border-color:color-mix(in srgb,var(--primary-light) 44%,var(--border));box-shadow:0 0 14px -6px color-mix(in srgb,var(--primary-light) 55%,transparent)}.ach-card.t3.done .ach-icon{background:linear-gradient(150deg,color-mix(in srgb,var(--ac) 60%,white 10%),color-mix(in srgb,var(--ac) 25%,transparent));color:#fff;box-shadow:0 0 0 2.5px #d97706,0 0 7px 1px #d9770659,inset -2px -2px 4px #00000040,inset 2px 2px 3px #ffffff4d}.ach-card.t4.done{border:1.5px solid transparent;background:linear-gradient(var(--bg-card),var(--bg-card)) padding-box,conic-gradient(from 180deg,color-mix(in srgb,var(--primary-light) 75%,white),color-mix(in srgb,var(--primary-light) 35%,#000 12%),color-mix(in srgb,var(--primary-light) 75%,white)) border-box;animation:achBreathe 5s ease-in-out infinite;animation-delay:var(--fx-delay, 0s)}.ach-card.t4.done .ach-icon{background:linear-gradient(150deg,color-mix(in srgb,var(--ac) 68%,white 12%),color-mix(in srgb,var(--ac) 32%,transparent));color:#fff;box-shadow:0 0 0 2px #fffbeb,0 0 0 4px #f59e0b,0 0 11px 2px #f59e0b66,inset -2px -2px 4px #00000047,inset 2px 2px 3px #ffffff52}.ach-card.t5.done{border:1.5px solid transparent;background:linear-gradient(160deg,color-mix(in srgb,var(--primary-light) 13%,var(--bg-card)),var(--bg-card)) padding-box,conic-gradient(from 0deg,color-mix(in srgb,var(--primary-light) 90%,white),#fff,color-mix(in srgb,var(--primary-light) 65%,#000 15%),color-mix(in srgb,var(--primary-light) 90%,white)) border-box;animation:achBreatheStrong 4.5s ease-in-out infinite;animation-delay:var(--fx-delay, 0s)}.ach-card.t5.done .ach-icon{background:linear-gradient(150deg,color-mix(in srgb,var(--ac) 78%,white 15%),color-mix(in srgb,var(--ac) 42%,transparent));color:#fff;box-shadow:0 0 0 2px #fffbeb,0 0 0 4.5px #f59e0b,0 0 15px 3px #f59e0b80,inset -2px -2px 5px #0000004d,inset 2px 2px 4px #ffffff59}.ach-card.t5.done:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:13px;pointer-events:none;overflow:hidden;background:linear-gradient(100deg,transparent 42%,color-mix(in srgb,var(--primary-light) 45%,white) 50%,transparent 58%);background-size:250% 100%;background-position:-150% 0;opacity:.32;animation:achShimmer 6s ease-in-out infinite;animation-delay:var(--fx-delay, 0s)}@keyframes achBreathe{0%,to{box-shadow:0 0 color-mix(in srgb,var(--primary-light) 20%,transparent)}50%{box-shadow:0 0 12px 2px color-mix(in srgb,var(--primary-light) 30%,transparent)}}@keyframes achBreatheStrong{0%,to{box-shadow:0 0 color-mix(in srgb,var(--primary-light) 26%,transparent)}50%{box-shadow:0 0 18px 3px color-mix(in srgb,var(--primary-light) 38%,transparent)}}@keyframes achShimmer{0%{background-position:-150% 0}55%,to{background-position:200% 0}}@media (prefers-reduced-motion: reduce){.ach-card.t4.done,.ach-card.t5.done,.ach-card.t5.done:before{animation:none}}@media (max-width: 520px){.ach-grid{grid-template-columns:repeat(2,1fr)}.ach-hero{padding:16px;gap:16px}}.ach-detail{text-align:center}.ach-detail-ic{font-size:48px;margin-bottom:8px}.ach-detail h3{margin:0 0 4px;font-size:1.125rem}.ach-detail-tier{font-size:.75rem;color:var(--text-muted);margin-bottom:10px}.ach-detail p{font-size:.84rem;color:var(--text-muted);margin:0 0 8px}.ach-detail-bar{background:var(--bg-elev);border-radius:999px;height:8px;margin:14px 0 6px;overflow:hidden}.ach-detail-bar>div{height:100%;border-radius:999px;background:var(--info)}.ach-detail-bar>div.done{background:var(--primary-light)}.ach-detail-pct{font-size:.75rem;color:var(--text-muted)}.prof-card{padding:0;overflow:hidden}.prof-avatar-section{padding:22px 20px 18px;text-align:center;border-bottom:1px solid var(--border)}.prof-avatar-big{position:relative;border:none;background:none;padding:0;cursor:pointer;border-radius:50%;display:inline-block}.prof-avatar-edit{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;background:var(--bg-card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;box-shadow:var(--shadow-sm)}.prof-name{font-size:1.25rem;font-weight:800;margin-top:10px;overflow-wrap:anywhere}.prof-email{color:var(--text-muted);font-size:.875rem;overflow-wrap:anywhere}.prof-code{margin-top:6px;font-size:.78rem;color:var(--text-muted);display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.prof-code b{color:var(--text);letter-spacing:.5px;font-variant-numeric:tabular-nums;font-size:.875rem}.prof-badges{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:10px}.prof-badges a.badge{text-decoration:none}.prof-avatar-picker{margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--bg-elev)}.prof-avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:8px;max-height:262px;overflow-y:auto;margin-bottom:10px;padding:3px}.prof-avatar-opt{border:2px solid transparent;background:none;border-radius:50%;padding:2px;cursor:pointer;justify-self:center;line-height:0}.prof-avatar-opt.on{border-color:var(--primary-light)}.set-section{border-bottom:1px solid var(--border)}.set-section-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;background:none;border:none;color:var(--text);font-size:.9375rem;font-weight:700;cursor:pointer;text-align:left;font-family:inherit}.set-chevron{transition:transform .2s;color:var(--text-muted)}.set-section-head[aria-expanded=true] .set-chevron{transform:rotate(180deg)}.set-section-body{padding:0 20px 18px}.set-static{padding:14px 20px;border-bottom:1px solid var(--border)}.set-static:last-child{border-bottom:none}.set-static-title{font-weight:700;font-size:.8125rem;margin-bottom:4px}.set-static-sub{font-size:.75rem;color:var(--text-muted);margin-bottom:8px;line-height:1.5}.prof-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.prof-info-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--border);font-size:.875rem}.prof-info-row>span{color:var(--text-muted)}.prof-info-row>b{font-weight:600;text-align:right;overflow-wrap:anywhere}.prof-sep{border:none;border-top:1px solid var(--border);margin:16px 0}.prof-btnrow{display:flex;gap:10px;flex-wrap:wrap}.prof-btnrow>.btn{flex:1 1 150px;justify-content:center;text-align:center;text-decoration:none}.prof-hint{font-size:.75rem;color:var(--text-muted);line-height:1.5;margin-top:8px}.prof-danger{background:transparent;color:var(--error);border:1.5px solid var(--error);font-weight:700}.prof-danger:hover:not(:disabled){background:var(--surface-error-bg)}.pw-input-wrap{position:relative}.pw-input-wrap .form-input{width:100%;box-sizing:border-box;padding-right:44px}.set-section-body .form-group:not(:last-child){margin-bottom:12px}.set-section-body .prof-two{margin-bottom:12px}.set-section-body .prof-two>.form-group{margin-bottom:0}.set-section-body .form-group+.btn,.set-section-body .prof-two+.btn{margin-top:6px}.pw-toggle-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:transparent;cursor:pointer;font-size:16px;padding:6px 8px;line-height:1}@media (max-width: 520px){.prof-two{grid-template-columns:1fr}.set-section-head,.set-static{padding-left:14px;padding-right:14px}.set-section-body{padding:0 14px 16px}}.prof-acc-list{display:flex;flex-direction:column;gap:8px}.prof-acc-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:12px}.prof-acc-row.cur{background:var(--bg-active);border-color:var(--primary-light)}.prof-acc-mid{flex:1;min-width:0;display:flex;flex-direction:column}.prof-acc-mid b{font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prof-acc-mid span{font-size:.72rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prof-tickets{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow-y:auto}.prof-ticket{border:1px solid var(--border);border-radius:12px;padding:10px 12px}.prof-ticket-head{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.875rem}.prof-ticket-msg{font-size:.8125rem;color:var(--text-muted);margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere}.prof-ticket-reply{margin-top:8px;padding:8px 10px;border-radius:10px;background:var(--surface-success-bg);color:var(--surface-success-text);font-size:.8125rem;white-space:pre-wrap}.prof-ticket-date{margin-top:6px;font-size:.6875rem;color:var(--text-muted)}.md-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin:14px 0}.md-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--bg-card)}.md-item .md-ic{font-size:1.4rem;flex:none}.md-item b{display:block;font-size:1.125rem;font-variant-numeric:tabular-nums;line-height:1.2}.md-item span{font-size:.75rem;color:var(--text-muted)}.md-block{margin:14px 0;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--bg-card)}.md-block h2{margin:0 0 8px;font-size:.9375rem;font-weight:800}.md-note{font-size:.8125rem;color:var(--text-muted);line-height:1.6}.legal-card h2{font-size:1.0625rem;margin:1.5rem 0 .5rem}.legal-card ol,.legal-card ul{padding-left:1.25rem;line-height:1.8}.legal-card p,.legal-card li{line-height:1.75}.legal-card .legal-lede{font-size:.975rem;color:var(--text)}.legal-card .legal-meta{color:var(--text-muted);font-size:.875rem;margin-bottom:1.25rem}.legal-card .legal-box{background:var(--bg-elev);border:1px solid var(--border);border-left:4px solid var(--btn-brand);border-radius:var(--radius-sm);padding:.85rem 1.1rem;margin:1rem 0}.legal-card .legal-box p:last-child{margin-bottom:0}.legal-card .legal-note{background:var(--surface-error-bg);border:1px solid var(--surface-error-border);border-radius:var(--radius-sm);padding:.85rem 1.1rem;margin:1rem 0}.legal-card .legal-scroll{overflow-x:auto;margin:.75rem 0 1rem;-webkit-overflow-scrolling:touch}.legal-card .legal-table{width:100%;border-collapse:collapse;font-size:.875rem;min-width:560px}.legal-card .legal-table th,.legal-card .legal-table td{border:1px solid var(--border);padding:.55rem .7rem;text-align:left;vertical-align:top;line-height:1.6}.legal-card .legal-table thead th{background:var(--bg-elev);font-weight:700}.legal-card .legal-table.kv{min-width:0}.legal-card .legal-table.kv th{width:34%;background:var(--bg-elev);font-weight:600}.legal-card code{font-size:.85em;padding:0 .25em;border-radius:4px;background:var(--bg-elev)}.sub-wrap{max-width:1100px;margin:0 auto;padding:1.25rem 1rem 3rem}.sub-head{text-align:center;margin-bottom:1.25rem}.sub-head p{max-width:640px;margin:.5rem auto 0;color:var(--text-muted);line-height:1.6}.sub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.sub-owned{max-width:640px;margin:0 auto;padding:24px 24px 26px}.sub-owned-top{text-align:center;margin-bottom:14px}.sub-owned-icon{font-size:36px;line-height:1.1;margin-bottom:2px}.sub-owned-top h2{font-size:1.1875rem;font-weight:800;margin:0;color:var(--gold-ink)}html.dark .sub-owned-top h2{color:var(--gold)}.sub-info{background:var(--surface-warning-bg);border:1px solid var(--surface-warning-border);border-radius:var(--radius);padding:14px 16px;margin-bottom:16px;display:flex;flex-direction:column;gap:8px;color:var(--surface-warning-text)}html.dark .sub-info{background:#3a3220;border-color:#6b5a2a;color:#f3e3b3}.sub-info-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.84rem}.sub-info-row>span{opacity:.8}.sub-info-solo{text-align:center;font-weight:700;font-size:.875rem}.sub-features{text-align:left;margin-bottom:18px}.sub-feature{display:flex;align-items:flex-start;gap:8px;padding:5px 0;font-size:.9rem;line-height:1.5}.sub-check{color:var(--success);font-weight:700;flex-shrink:0}.sub-check-muted{color:var(--text-muted)}.sub-hint{font-size:.72rem;color:var(--text-muted);line-height:1.5;margin-top:8px}.sub-section{margin-top:28px}.sub-section h3{font-size:1rem;font-weight:800;margin:0 0 6px}.sub-sub{font-size:.8125rem;color:var(--text-muted);margin:0 0 12px;line-height:1.6}.sub-chips{display:flex;flex-wrap:wrap;gap:8px}.sub-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text);font-size:.8125rem;font-weight:600;text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub-note{max-width:700px;margin:0 auto 1.25rem;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border);font-size:.8125rem;line-height:1.6;color:var(--text-muted)}.sub-note-gold{background:var(--surface-warning-bg);border-color:var(--surface-warning-border);color:var(--surface-warning-text)}html.dark .sub-note-gold{background:#3a3220;border-color:#6b5a2a;color:#f3e3b3}.sub-note-title{font-weight:700;margin-bottom:4px;font-size:.875rem}.sub-card{max-width:700px;margin:22px auto 0;padding:18px 20px}.sub-card h3{font-size:.9375rem;font-weight:800;margin:0 0 6px}.sub-card p{font-size:.8125rem;color:var(--text-muted);line-height:1.75;margin:0 0 8px}.sub-card p:last-child{margin-bottom:0}.sub-card a{color:var(--primary);font-weight:600}.sub-faq{margin-bottom:14px}.sub-faq:last-child{margin-bottom:0}.sub-faq-q{font-weight:600;font-size:.875rem;margin-bottom:4px}.sub-faq-a{font-size:.8125rem;color:var(--text-muted);line-height:1.65}@media (max-width: 520px){.sub-owned{padding:18px 16px 20px}.sub-card{padding:16px}}.sub-free{margin:0 auto 22px}.adm-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.adm-head h1{margin:0;font-size:1.5rem;font-weight:800;line-height:1.25}.adm-head p{margin:4px 0 0;color:var(--text-muted);font-size:.9375rem}.adm-role-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-size:.8125rem;font-weight:700;background:var(--surface-warning-bg);color:var(--surface-warning-text);border:1px solid var(--surface-warning-border)}html.dark .adm-role-badge{background:#3a3220;color:#f3e3b3;border-color:#6b5a2a}.adm-h3{font-size:1rem;font-weight:800;margin:0 0 12px}.adm-muted{font-size:.75rem;color:var(--text-muted);font-weight:400}.adm-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:.875rem}.adm-attn{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.adm-attn-card{display:flex;flex-direction:column;gap:4px;text-align:left;padding:16px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:inherit;cursor:pointer}.adm-attn-card b{font-size:1.75rem;font-weight:800;line-height:1.1}.adm-attn-card span{font-size:.8125rem;color:var(--text);font-weight:600}.adm-attn-card small{font-size:.72rem;color:var(--text-muted)}.adm-attn-card.adm-red{border-color:#dc262673;background:linear-gradient(135deg,var(--bg-card) 0%,rgba(220,38,38,.07) 100%),var(--bg-card)}.adm-attn-card.adm-red b{color:var(--error)}.adm-attn-card.adm-gold{border-color:#d9770673;background:linear-gradient(135deg,var(--bg-card) 0%,rgba(217,119,6,.08) 100%),var(--bg-card)}.adm-attn-card.adm-gold b{color:var(--gold)}.adm-attn-card.adm-blue{border-color:#2563eb66;background:linear-gradient(135deg,var(--bg-card) 0%,rgba(37,99,235,.06) 100%),var(--bg-card)}.adm-attn-card.adm-blue b{color:#2563eb}html.dark .adm-attn-card.adm-blue b{color:#60a5fa}.adm-hbar-list{max-height:480px;overflow-y:auto;display:flex;flex-direction:column;gap:3px}.adm-hbar-row{display:flex;align-items:center;gap:10px}.adm-hbar-label{flex:0 0 108px;font-size:.78rem;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.adm-hbar-track{flex:1;height:16px;background:var(--bg);border-radius:4px;overflow:hidden}.adm-hbar-fill{height:100%;min-width:3px;border-radius:4px;background:var(--primary-light);transition:width .3s ease}.adm-hbar-value{flex:0 0 34px;text-align:right;font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.adm-reports{display:flex;flex-direction:column;gap:8px}.adm-report{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;font-size:.875rem}.adm-report.done{opacity:.6}.tabs.adm-tabs{flex-wrap:wrap;overflow:visible}.tabs.adm-tabs .tab-btn{white-space:nowrap}.sub-price{margin-top:.625rem;font-size:1.25rem;font-weight:800;color:var(--pf-ink, var(--text))}.sub-price.sub-price-none{font-size:.8125rem;font-weight:600;color:var(--pf-sub, var(--text-muted))}.sub-combo-focus{box-shadow:0 0 0 3px var(--primary-light),0 8px 24px #00000024}.cs-page{padding-bottom:2rem}.cs-body{margin-top:1rem}.cs-grid{display:grid;gap:1rem}.cs-grid.g4{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.cs-grid.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.cs-grid.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.cs-mb{margin-bottom:1.5rem}.cs-mb-s{margin-bottom:.75rem}.cs-h3{font-size:1rem;font-weight:800;margin:0 0 .75rem}.cs-h3 small{font-weight:400;color:var(--text-muted);font-size:.75rem;margin-left:6px}.cs-muted{color:var(--text-muted)}.cs-small{font-size:.75rem}.cs-nowrap{white-space:nowrap}.cs-stat{display:flex;flex-direction:column;gap:3px;text-align:left;padding:16px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:inherit}button.cs-stat{cursor:pointer}.cs-stat b{font-size:1.75rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}.cs-stat b small{font-size:1rem;font-weight:700}.cs-stat>span{font-size:.8125rem;font-weight:600}.cs-stat>small{font-size:.72rem;color:var(--text-muted);line-height:1.5}.cs-stat.green{border-color:#05966966}.cs-stat.green b{color:var(--success)}.cs-stat.blue{border-color:#2563eb66}.cs-stat.blue b{color:#2563eb}html.dark .cs-stat.blue b{color:#60a5fa}.cs-stat.gold{border-color:#d9770673;background:linear-gradient(135deg,var(--bg-card) 0%,rgba(217,119,6,.08) 100%),var(--bg-card)}.cs-stat.gold b{color:var(--gold)}.cs-stat.red{border-color:#dc262673;background:linear-gradient(135deg,var(--bg-card) 0%,rgba(220,38,38,.07) 100%),var(--bg-card)}.cs-stat.red b{color:var(--error)}.cs-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.cs-box{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.cs-empty{padding:28px 16px;text-align:center;color:var(--text-muted);font-size:.875rem}.cs-empty .emoji{font-size:2rem;margin-bottom:6px}.cs-skeleton{height:220px;border-radius:var(--radius);background:linear-gradient(90deg,var(--bg-elev) 25%,var(--bg-card) 50%,var(--bg-elev) 75%);background-size:200% 100%;animation:cs-shine 1.2s linear infinite}@keyframes cs-shine{to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.cs-skeleton{animation:none}}.cs-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.cs-filter .form-input{width:auto;font-size:.75rem;padding:6px 8px}.cs-filter .grow{flex:1 1 220px;max-width:320px}.cs-filter .cs-count{font-size:.75rem;color:var(--text-muted)}.cs-tablewrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card)}.cs-topscroll{overflow-x:auto;overflow-y:hidden;height:10px;margin-bottom:2px}.cs-topscroll>div{height:1px}.cs-table{width:100%;border-collapse:collapse;font-size:.8125rem}.cs-table th{text-align:left;padding:.6rem .75rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--bg-elev);border-bottom:1px solid var(--border);white-space:nowrap}.cs-table td{padding:.55rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.cs-table tr:last-child td{border-bottom:none}.cs-table tbody tr:hover td{background:color-mix(in srgb,var(--bg-elev) 55%,transparent)}.cs-table tr.dim td{opacity:.6}.cs-table .r{text-align:right}.cs-name{max-width:230px}.cs-name strong,.cs-name .em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-name .em{color:var(--text-muted);font-size:.75rem}.cs-copy{background:none;border:none;cursor:pointer;padding:0 4px;font-size:.75rem;color:var(--text-muted)}.cs-copy:hover{color:var(--text)}.cs-tag{display:inline-block;margin-left:4px;padding:1px 6px;border-radius:999px;font-size:.5625rem;font-weight:700;vertical-align:middle}.cs-tag.founder{background:var(--surface-warning-bg);color:var(--surface-warning-text)}.cs-tag.admin{background:var(--surface-info-bg);color:var(--surface-info-text)}.cs-pager{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;flex-wrap:wrap;font-size:.75rem;color:var(--text-muted)}.cs-pager.between{justify-content:space-between}.cs-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:.8125rem}.cs-row>span{color:var(--text-muted)}.cs-row>b,.cs-row>strong{text-align:right;max-width:62%;word-break:break-word}.cs-sect{margin-top:14px;padding-top:10px;border-top:1px solid var(--border)}.cs-sect-t{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:4px}.cs-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}.cs-danger{display:flex;flex-direction:column;gap:8px;border:1px solid var(--error);border-radius:10px;padding:10px}.cs-note{font-size:.75rem;color:var(--text-muted);background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:9px 11px;line-height:1.6}.cs-warn{font-size:.75rem;color:var(--error);background:#e5484d14;border-radius:8px;padding:8px 10px}.cs-req{color:var(--error)}.cs-presence{font-size:.75rem;font-weight:600;white-space:nowrap}.cs-presence.online{color:var(--success)}.cs-presence.recent{color:var(--gold)}.cs-presence.offline,.cs-presence.never{color:var(--text-muted);font-weight:500}.cs-presence small{display:block;font-weight:400;color:var(--text-muted);font-size:.6875rem}.cs-hbar-blue .adm-hbar-fill{background:#3b82f6}.cs-hbar-gold .adm-hbar-fill{background:var(--gold)}.cs-hbar-label-wide .adm-hbar-label{flex-basis:170px;overflow:hidden;text-overflow:ellipsis}.cs-compose{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.cs-icon-input{max-width:110px;text-align:center;font-size:1.25rem}.cs-audience{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.cs-audience .form-input{min-width:0;font-size:.8125rem}.cs-card .form-group,.cs-box .form-group,.cs-dlg-body .form-group{margin-bottom:12px}.cs-btn-xs{padding:2px 8px;font-size:.6875rem}.cs-dlg-body{display:flex;flex-direction:column}.cs-code-box{display:flex;justify-content:space-between;align-items:center;gap:12px}.cs-code-box strong{font-size:1rem;letter-spacing:.5px}.cs-temp-pw{font-family:Courier New,monospace;font-size:1.25rem;letter-spacing:2px;text-align:center;padding:10px;background:var(--bg-elev);border:1px dashed var(--border);border-radius:8px;-webkit-user-select:all;user-select:all}@media (max-width: 640px){.cs-stat b{font-size:1.5rem}.cs-row>b,.cs-row>strong{max-width:55%}}.pr-page{max-width:980px;margin:0 auto;padding:20px 20px 48px;display:flex;flex-direction:column;gap:18px}.pr-loading{padding:40px 0;text-align:center;color:var(--text-muted)}.pr-muted{color:var(--text-muted);font-size:.8125rem}.pr-center{text-align:center;justify-content:center}.pr-row-gap{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.pr-ic{flex-shrink:0;vertical-align:middle}.pr-ic.rot{transform:rotate(180deg)}.pr-h2{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:800;color:var(--text);margin:0 0 10px}.pr-note{margin:8px 0 0;font-size:.75rem;line-height:1.6;color:var(--text-muted);text-align:center}.pr-cross{margin:0;font-size:.8125rem;color:var(--text-muted);text-align:center}.pr-cross a,.pr-links a,.pr-link{color:var(--primary);font-weight:600}.pr-hero{display:flex;align-items:center;gap:16px;padding:18px 22px;border-radius:18px;border:1px solid var(--hero-border, transparent);box-shadow:var(--shadow-sm)}.pr-hero-ic{width:58px;height:58px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:16px;background:var(--hero-box);color:var(--hero-ink)}.pr-hero-txt{min-width:0}.pr-hero-txt h1{margin:0 0 4px;font-size:1.3125rem;font-weight:800;color:var(--hero-ink)}.pr-hero-txt p{margin:0;font-size:.8125rem;line-height:1.55;color:var(--hero-sub)}.pr-hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.pr-hero-chips span{padding:4px 10px;border-radius:999px;background:var(--hero-box);color:var(--hero-ink);font-size:.75rem;font-weight:700}.pr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:14px}.pr-card{position:relative;display:flex;align-items:center;gap:15px;min-height:112px;padding:18px 20px;border-radius:16px;border:1px solid var(--pf-line);text-decoration:none;transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s}.pr-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.pr-card.is-off{opacity:.62;cursor:default}.pr-card.is-off:hover{transform:none;box-shadow:none}.pr-card-ic{width:52px;height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:14px;background:color-mix(in srgb,#ffffff 70%,var(--pf-bg));color:var(--pf-ink);box-shadow:0 1px 0 var(--pf-line),0 4px 12px #0000000f}.pr-card-txt{flex:1;min-width:0}.pr-card-n{font-weight:800;font-size:1rem;color:var(--pf-ink)}.pr-card-d{margin-top:3px;font-size:.8125rem;line-height:1.45;color:var(--pf-sub)}.pr-card-td{margin-top:8px;display:inline-block;padding:3px 9px;border-radius:999px;font-size:.75rem;font-weight:700;background:color-mix(in srgb,var(--pf-ink) 10%,#ffffff);color:var(--pf-ink)}.pr-card-arrow{color:var(--pf-ink);opacity:0;transform:translate(-6px);transition:.16s}.pr-card:hover .pr-card-arrow{opacity:1;transform:none}.pr-how{padding:16px 18px;border-radius:14px;background:var(--bg-card);border:1px solid var(--border)}.pr-how ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:.875rem;line-height:1.55;color:var(--text)}.pr-seg{display:inline-flex;margin-top:12px;padding:3px;border-radius:10px;background:var(--bg-elev);border:1px solid var(--border)}.pr-seg button{border:none;background:none;padding:7px 14px;border-radius:8px;font:inherit;font-size:.8125rem;font-weight:700;color:var(--text-muted);cursor:pointer}.pr-seg button.on{background:var(--btn-brand);color:#fff}.pr-section{display:flex;flex-direction:column}.pr-list{display:flex;flex-direction:column;gap:10px}.pr-row{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:14px;border:1px solid var(--pf-line, var(--border))}.pr-row:not(.pf){background:var(--bg-card)}.pr-row.plain,.pr-today .pr-row,.pr-row.pr-feature{flex-direction:row;align-items:center;justify-content:space-between}.pr-today-cta{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.pr-row-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.pr-list>.pr-row:not(.pr-row-line):not(.plain)>.pr-row-main:first-child{width:100%}.pr-row-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.pr-row-title{display:flex;align-items:center;gap:6px;font-weight:800;font-size:.9375rem;color:var(--text)}.pr-row-title.sm{font-size:.875rem;font-weight:700}.pr-row-sub{font-size:.8125rem;color:var(--text-muted)}.pr-row-act{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}.pr-list>.pr-row.pf:not(.open){flex-direction:row;align-items:center;justify-content:space-between}.pr-list>.pr-row.pf:has(.pr-row-line){flex-direction:column;align-items:stretch}.pr-sublist{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px dashed var(--pf-line, var(--border))}.pr-subrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,#ffffff 55%,var(--pf-bg, var(--bg-card)))}.pr-pill{flex-shrink:0;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--surface-neutral-bg);color:var(--surface-neutral-text);border:1px solid var(--surface-neutral-border)}.pr-pill.s-2{background:var(--surface-info-bg);color:var(--surface-info-text);border-color:var(--surface-info-border)}.pr-pill.s-3{background:var(--surface-success-bg);color:var(--surface-success-text);border-color:var(--surface-success-border)}.pr-mastery{display:flex;align-items:center;gap:10px;max-width:360px}.pr-mastery-track{flex:1;height:7px;border-radius:999px;background:color-mix(in srgb,var(--text) 10%,transparent);overflow:hidden}.pr-mastery-fill{height:100%;border-radius:999px;transition:width .4s;background:var(--text-muted)}.pr-mastery-fill.b-start{background:#e0a43a}.pr-mastery-fill.b-growing{background:#3b9ad9}.pr-mastery-fill.b-solid{background:#1f9d55}.pr-band{font-size:.75rem;font-weight:700;color:var(--text-muted);white-space:nowrap}.pr-today{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:22px;padding:18px 22px;border-radius:16px;background:var(--bg-card);border:1px solid var(--border)}.pr-today-num{display:flex;flex-direction:column}.pr-today-num b{font-size:2rem;line-height:1;font-weight:800;color:var(--primary)}.pr-today-num span{margin-top:4px;font-size:.75rem;color:var(--text-muted)}.pr-today-cta{align-items:flex-end}.pr-offline{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;font-size:.8125rem;font-weight:600;background:var(--surface-warning-bg);color:var(--surface-warning-text);border:1px solid var(--surface-warning-border)}.pr-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 20px;border-radius:16px;text-align:center;background:var(--bg-card);border:1px dashed var(--border-strong)}.pr-empty-ic{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:var(--surface-success-bg);color:var(--surface-success-text)}.pr-empty h3{margin:4px 0 0;font-size:1rem;font-weight:800;color:var(--text)}.pr-empty p{margin:0 0 6px;max-width:520px;font-size:.875rem;line-height:1.6;color:var(--text-muted)}.pr-icbtn{width:38px;height:38px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);transition:color .15s,background .15s,border-color .15s}.pr-icbtn:hover:not(:disabled){color:var(--primary);border-color:var(--primary-light)}.pr-icbtn.on{color:#fff;background:var(--btn-brand);border-color:transparent}.pr-icbtn.plain{border-color:transparent;background:transparent}.pr-icbtn:disabled{opacity:.45;cursor:default}.pr-icbtn:focus-visible,.pr-opt:focus-visible,.pr-match-item:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}.pr-session{display:flex;flex-direction:column;gap:0;border-radius:18px;background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.pr-session-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 10px 18px}.pr-session-title{display:flex;align-items:center;gap:8px;min-width:0;font-weight:800;color:var(--text)}.pr-session-title>span:first-of-type{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pr-chip{padding:2px 9px;border-radius:999px;font-size:.6875rem;font-weight:700;background:var(--surface-success-bg);color:var(--surface-success-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.pr-session-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.pr-count{font-size:.8125rem;font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums}.pr-timer{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:.8125rem;font-weight:800;font-variant-numeric:tabular-nums;background:var(--surface-info-bg);color:var(--surface-info-text)}.pr-timer.low{background:var(--surface-error-bg);color:var(--surface-error-text)}.pr-progress{height:4px;background:color-mix(in srgb,var(--text) 8%,transparent)}.pr-progress>div{height:100%;background:var(--btn-brand);transition:width .3s}.pr-stage{padding:18px 20px 0}.pr-retry{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--surface-warning-bg);color:var(--surface-warning-text)}.pr-card-body{display:flex;flex-direction:column;gap:14px}.pr-source{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;max-width:100%;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--bg-elev);color:var(--text-muted)}.pr-source span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-q{margin:0;font-size:1.0625rem;line-height:1.5;font-weight:700;color:var(--text)}.pr-kicker{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--primary)}.pr-tag{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;padding:3px 9px;border-radius:999px;font-size:.6875rem;font-weight:800;background:var(--surface-success-bg);color:var(--surface-success-text)}.pr-tag.bad{background:var(--surface-warning-bg);color:var(--surface-warning-text)}.pr-rich{font-size:.9375rem;line-height:1.7;color:var(--text)}.pr-rich p{margin:0 0 8px}.pr-rich p:last-child{margin-bottom:0}.pr-rich ul{margin:0 0 8px;padding-left:20px}.pr-rich li{margin-bottom:4px}.pr-situation{padding:14px 16px;border-radius:12px;background:var(--bg-elev);border:1px solid var(--border)}.pr-think{display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px;border-radius:12px;text-align:center;background:var(--surface-info-bg);border:1px dashed var(--surface-info-border)}.pr-think p{display:flex;align-items:center;gap:8px;margin:0;font-size:.875rem;color:var(--surface-info-text)}.pr-options{display:flex;flex-direction:column;gap:10px}.pr-opt{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 14px;border-radius:12px;text-align:left;cursor:pointer;font:inherit;background:var(--bg-card);border:1.5px solid var(--border);color:var(--text);transition:border-color .15s,background .15s}.pr-opt:hover:not(:disabled){border-color:var(--primary-light)}.pr-opt.selected{border-color:var(--primary-light);background:var(--surface-success-bg)}.pr-opt.correct{border-color:#1f9d55;background:var(--surface-success-bg)}.pr-opt.wrong{border-color:#d94848;background:var(--surface-error-bg)}.pr-opt:disabled{cursor:default}.pr-opt-key{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:.8125rem;font-weight:800;background:var(--bg-elev);color:var(--text-muted)}.pr-opt.selected .pr-opt-key,.pr-opt.correct .pr-opt-key{background:var(--btn-brand);color:#fff}.pr-opt.wrong .pr-opt-key{background:#d94848;color:#fff}.pr-opt-text{flex:1;font-size:.9375rem;line-height:1.5}.pr-opt-mark{color:inherit}.pr-opt.correct .pr-opt-mark{color:#1f9d55}.pr-opt.wrong .pr-opt-mark{color:#d94848}.pr-steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px;font-size:.9375rem;line-height:1.55;color:var(--text)}.pr-step-hidden{color:var(--primary);font-weight:700}.pr-blank{display:inline-block;min-width:160px;padding:2px 10px;border-radius:6px;border:1.5px dashed var(--primary-light);color:var(--text-muted);font-weight:600;font-size:.8125rem}.pr-mistake{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:12px;background:var(--surface-warning-bg);border:1px solid var(--surface-warning-border)}.pr-mistake p{margin:0;font-size:.9375rem;line-height:1.55;color:var(--surface-warning-text)}.pr-mistake .pr-muted{color:var(--surface-warning-text-soft)}.pr-flash{display:flex;flex-direction:column;border-radius:14px;border:1.5px solid var(--border);overflow:hidden}.pr-flash-front{position:relative;display:flex;flex-direction:column;gap:10px;padding:18px 18px 20px;background:var(--bg-elev);min-height:120px}.pr-flash-tools{position:absolute;top:12px;right:12px}.pr-flash-front .pr-q{padding-right:44px}.pr-flash-back{padding:16px 18px;border-top:1.5px dashed var(--border);background:var(--bg-card);animation:pr-in .22s ease}.pr-flash-label{margin-bottom:8px;font-size:.6875rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.pr-example{margin-top:10px;padding:10px 12px;border-radius:10px;font-size:.875rem;line-height:1.6;background:var(--surface-info-bg);color:var(--surface-info-text)}@keyframes pr-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.pr-flash-back{animation:none}.pr-card,.pr-card-arrow{transition:none}}.pr-match{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px}.pr-match-col{display:flex;flex-direction:column;gap:8px}.pr-match-item{display:flex;align-items:center;gap:10px;min-height:48px;padding:9px 12px;border-radius:12px;text-align:left;cursor:pointer;font:inherit;font-size:.875rem;line-height:1.45;background:var(--bg-card);border:1.5px solid var(--border);color:var(--text);transition:border-color .15s,background .15s}.pr-match-item:hover:not(:disabled){border-color:var(--primary-light)}.pr-match-item.picking{border-color:var(--btn-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--btn-brand) 18%,transparent)}.pr-match-item.linked{background:var(--surface-success-bg)}.pr-match-item.correct{border-color:#1f9d55}.pr-match-item.wrong{border-color:#d94848;background:var(--surface-error-bg)}.pr-match-item:disabled{cursor:default}.pr-match-no{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:7px;font-size:.75rem;font-weight:800;background:var(--btn-brand);color:#fff}.pr-table{width:100%;border-collapse:collapse;font-size:.875rem}.pr-table th,.pr-table td{padding:7px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;line-height:1.5}.pr-table th{width:38%;font-weight:700}.pr-feedback{border-radius:14px;border:1.5px solid;overflow:hidden;animation:pr-in .2s ease}.pr-feedback.ok{border-color:var(--surface-success-border);background:var(--surface-success-bg)}.pr-feedback.bad{border-color:var(--surface-error-border);background:var(--surface-error-bg)}.pr-feedback.neutral{border-color:var(--surface-info-border);background:var(--surface-info-bg)}.pr-feedback-head{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 14px}.pr-feedback-head strong{flex:1;font-size:.9375rem;color:var(--text)}.pr-feedback.ok .pr-feedback-ic{background:#1f9d55}.pr-feedback.bad .pr-feedback-ic{background:#d94848}.pr-feedback.neutral .pr-feedback-ic{background:var(--info)}.pr-feedback-ic{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:999px;color:#fff}.pr-feedback-tools{display:flex;gap:2px}.pr-feedback-body{padding:0 16px 14px 52px;font-size:.875rem;line-height:1.65;color:var(--text)}.pr-feedback-body p{margin:0 0 6px}.pr-actions{position:sticky;bottom:0;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin:4px -20px 0;padding:14px 20px;background:color-mix(in srgb,var(--bg-card) 92%,transparent);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.pr-actions-hint{margin-right:auto;font-size:.8125rem;font-weight:600;color:var(--text-muted)}.pr-actions .btn{min-height:42px}.pr-main{min-width:140px}.pr-grade.g-again{color:var(--surface-error-text)}.pr-case{display:flex;flex-direction:column;gap:12px;padding:18px 20px;border-radius:16px;background:var(--bg-card);border:1px solid var(--border)}.pr-write{display:flex;flex-direction:column;gap:14px;padding:18px 20px 0;border-radius:16px;background:var(--bg-card);border:1px solid var(--border)}.pr-write>.pr-actions{margin-top:0}.pr-field{display:flex;flex-direction:column;gap:4px}.pr-field-label{font-weight:700;font-size:.9375rem;color:var(--text)}.pr-field-hint{font-size:.75rem;color:var(--text-muted)}.pr-field textarea{resize:vertical;min-height:64px;line-height:1.55}.pr-req{color:var(--error)}.pr-hint{padding:14px 16px;border-radius:12px;background:var(--surface-info-bg);border:1px solid var(--surface-info-border);font-size:.875rem;line-height:1.65;color:var(--text)}.pr-hint ul{margin:6px 0 0;padding-left:20px}.pr-rate{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pr-chipbtn{padding:7px 13px;border-radius:999px;font:inherit;font-size:.8125rem;font-weight:700;cursor:pointer;background:var(--bg-card);color:var(--text);border:1.5px solid var(--border)}.pr-chipbtn.on{background:var(--btn-brand);border-color:transparent;color:#fff}.pr-goals{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:none}.pr-check{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:10px;border:1px solid var(--border);font-size:.875rem;line-height:1.5;cursor:pointer}.pr-check.on{border-color:var(--primary-light);background:var(--surface-success-bg)}.pr-check input{margin-top:3px}.pr-newplan select{flex:1;min-width:0}.pr-plan{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:14px;background:var(--bg-card);border:1px solid var(--border)}.pr-plan-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.pr-plan-action{margin:0;font-size:.875rem;line-height:1.6;color:var(--text);white-space:pre-wrap}.pr-plan .pr-row-gap .pr-muted{margin-right:auto}.pr-report{display:flex;flex-direction:column;gap:8px}.pr-radio{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);font-size:.875rem;cursor:pointer}.pr-report textarea{resize:vertical}.pr-summary{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 20px;border-radius:18px;text-align:center;background:var(--bg-card);border:1px solid var(--border)}.pr-summary h1{margin:0;font-size:1.25rem;font-weight:800;color:var(--text)}.pr-summary-ic{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:18px;background:var(--surface-success-bg);color:var(--surface-success-text)}.pr-summary-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:560px;margin-top:6px}.pr-summary-stats>div{display:flex;flex-direction:column;gap:4px;padding:12px 8px;border-radius:12px;background:var(--bg-elev)}.pr-summary-stats b{font-size:1.375rem;font-weight:800;color:var(--primary)}.pr-summary-stats span{font-size:.75rem;color:var(--text-muted)}.pr-panel{padding:16px 18px;border-radius:16px;background:var(--bg-card);border:1px solid var(--border)}.pr-panel.warn{border-color:var(--surface-warning-border);background:var(--surface-warning-bg)}.pr-panel>p{margin:-4px 0 10px}.pr-links{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:.875rem}.pr-review{border-top:1px solid var(--border)}.pr-review:first-of-type{border-top:none}.pr-review-head{display:flex;align-items:center;gap:10px;width:100%;padding:10px 2px;border:none;background:none;text-align:left;cursor:pointer;font:inherit;font-size:.875rem;color:var(--text)}.pr-review-head>span{flex:1;line-height:1.45}.pr-review.ok .pr-review-head>.pr-ic:first-child{color:#1f9d55}.pr-review.bad .pr-review-head>.pr-ic:first-child{color:#d94848}.pr-review.skip .pr-review-head>.pr-ic:first-child{color:var(--text-muted)}.pr-review-body{padding:0 2px 12px 26px;font-size:.875rem;line-height:1.6;color:var(--text)}.pr-review-body p{margin:0 0 6px}.pr-link{display:inline-flex;align-items:center;gap:5px;margin-top:4px;font-size:.8125rem}.pr-entry{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--bg-card);border:1px solid var(--border)}.pr-entry-main{flex:1;min-width:220px;display:flex;flex-direction:column;gap:3px}.pr-entry-title{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--text)}.pr-entry-sub{font-size:.8125rem;color:var(--text-muted)}@media (max-width: 560px){.pr-page{padding:12px 12px 40px;gap:14px}.pr-hero{padding:14px 16px;gap:12px}.pr-hero-ic{width:46px;height:46px;border-radius:13px}.pr-grid{grid-template-columns:1fr 1fr;gap:10px}.pr-card{flex-direction:column;align-items:center;text-align:center;gap:9px;min-height:0;padding:14px 10px}.pr-card-arrow{display:none}.pr-card-d{font-size:.75rem}.pr-grid>.pr-card:last-child:nth-child(odd){grid-column:1 / -1}.pr-today{grid-template-columns:1fr 1fr;gap:14px;padding:16px}.pr-today-cta{grid-column:1 / -1;align-items:stretch}.pr-list>.pr-row.pf:not(.open),.pr-row-line,.pr-subrow,.pr-row.pr-feature{flex-direction:column;align-items:stretch}.pr-row-act{justify-content:flex-start}.pr-stage{padding:14px 14px 0}.pr-actions{margin:4px -14px 0;padding:12px 14px}.pr-actions-hint{width:100%}.pr-actions .btn{flex:1}.pr-match,.pr-summary-stats{grid-template-columns:1fr}.pr-feedback-body{padding:0 14px 12px}.pr-chip{display:none}}:root{--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-soft: cubic-bezier(.4, 0, .2, 1);--hv-ring: rgba(0, 168, 90, .3);--hv-shadow: 0 10px 26px rgba(15, 23, 42, .14);--hv-shadow-sm: 0 6px 16px rgba(15, 23, 42, .16)}html.dark{--hv-ring: rgba(46, 232, 154, .28);--hv-shadow: 0 12px 30px rgba(0, 0, 0, .45);--hv-shadow-sm: 0 8px 20px rgba(0, 0, 0, .5)}.btn{transition:transform .18s var(--ease-out),box-shadow .22s var(--ease-out),background .2s var(--ease-soft),border-color .2s var(--ease-soft),color .2s var(--ease-soft)}.card,.dash-card{transition:transform .22s var(--ease-out),box-shadow .25s var(--ease-out),border-color .2s var(--ease-soft)}.dash-tile,.dash-resume,.courses-group,.course-card,.plan-card,.ts-card{transition:transform .22s var(--ease-out),box-shadow .25s var(--ease-out),border-color .2s var(--ease-soft),background .2s var(--ease-soft)}.course-lesson,.sidebar-item,.dash-row,.quiz-option,.cat-pill,.tab-btn,.hub-tab,.courses-chip,.courses-back,.shell-icon-btn,.shell-menu-btn,.shell-back-btn,.shell-user-card,.dash-btn,.seg-btn{transition:transform .18s var(--ease-out),background .2s var(--ease-soft),border-color .2s var(--ease-soft),color .2s var(--ease-soft),box-shadow .22s var(--ease-out)}.form-input,input,textarea,select{transition:border-color .2s var(--ease-soft),box-shadow .2s var(--ease-soft),background .2s var(--ease-soft)}.form-input:focus,input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--primary-light);box-shadow:0 0 0 3px var(--hv-ring)}@media (hover: hover) and (pointer: fine){.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 18px #00000038}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary:hover:not(:disabled){box-shadow:0 8px 22px #00a85a61;filter:brightness(1.04)}.card:hover,.dash-card:hover{border-color:color-mix(in srgb,var(--primary-light) 45%,var(--border));box-shadow:var(--hv-shadow)}.dash-tile:hover,.courses-group:hover,.course-card:hover,.plan-card:hover,.ts-card:hover,.card[style*="cursor: pointer"]:hover,a.card:hover,button.card:hover{transform:translateY(-4px);border-color:var(--primary-light);box-shadow:var(--hv-shadow),0 0 0 1px var(--hv-ring)}.dash-tile:active,.courses-group:active,.course-card:active,.plan-card:active,.ts-card:active,.card[style*="cursor: pointer"]:active,a.card:active,button.card:active{transform:translateY(-2px) scale(.992)}.dash-resume:hover{transform:translateY(-2px);box-shadow:0 10px 26px #3c6e1447}.course-lesson:hover:not(:disabled),.sidebar-item:hover,.dash-row-link:hover,.quiz-option:hover:not(.disabled){transform:translate(3px)}.hub-tab:not(.active):hover,.courses-chip:not(.active):hover,.cat-pill:not(.active):hover,.tab-btn:not(.active):hover,.seg-btn:not(.active):hover{transform:translateY(-2px);border-color:var(--primary-light);box-shadow:var(--hv-shadow-sm),0 0 0 2px var(--hv-ring)}.hub-tab.active:hover,.courses-chip.active:hover{transform:translateY(-2px)}.shell-icon-btn:hover,.shell-menu-btn:hover,.shell-back-btn:hover,.dash-btn:hover{transform:translateY(-1px)}}@media (prefers-reduced-motion: reduce){[data-hv]{--hv-dy: 0 !important}.btn:hover,.btn:active,.dash-tile:hover,.courses-group:hover,.course-card:hover,.plan-card:hover,.ts-card:hover,.dash-resume:hover,.course-lesson:hover,.sidebar-item:hover,.dash-row-link:hover,.quiz-option:hover,.hub-tab:hover,.courses-chip:hover,.cat-pill:hover,.tab-btn:hover,.seg-btn:hover,.shell-icon-btn:hover,.shell-menu-btn:hover,.shell-back-btn:hover,.dash-btn:hover,.shell-user-card:hover,.shell-nav-item:hover{transform:none!important}}@media (hover: hover) and (pointer: fine){:where([data-hv]){transition:transform .22s var(--ease-out),box-shadow .25s var(--ease-out),border-color .2s var(--ease-soft),background-color .2s var(--ease-soft)}[data-hvl="1"]{--hv-dy: -1}[data-hvl="2"]{--hv-dy: -2}[data-hvl="3"]{--hv-dy: -3}[data-hvl="4"]{--hv-dy: -4}[data-hv=f][data-hvh]{transform:translateY(calc(var(--hv-dy, 0) * 1px))!important;box-shadow:var(--hv-shadow),0 0 0 1px var(--hv-ring)!important}[data-hv=f][data-hvh]:not([data-hvb="0"]){border-color:var(--primary-light)!important}[data-hv=f][data-hvb="0"][data-hvh]{box-shadow:var(--hv-shadow),0 0 0 2px var(--hv-ring)!important}[data-hv=p][data-hvh]:not(.hub-tab.active):not(.courses-chip.active){transform:translateY(calc(var(--hv-dy, 0) * 1px))!important;box-shadow:var(--hv-shadow-sm),0 0 0 2px var(--hv-ring)!important}[data-hv=p][data-hvh]:not(.hub-tab.active):not(.courses-chip.active):not([data-hvb="0"]){border-color:var(--primary-light)!important}[data-hv][data-hvh]:active{transform:translateY(calc(var(--hv-dy, 0) * .5px)) scale(.992)!important}}
