:root{color-scheme:dark;--bg-primary: #16181d;--bg-secondary: #1e2127;--bg-card: rgba(26, 29, 36, .92);--bg-elevated: rgba(33, 37, 45, .92);--bg-input: #11141a;--text-primary: #f5efe2;--text-secondary: #d4c8b1;--text-muted: #a89982;--emerald-500: #30b36f;--emerald-600: #27955d;--amber-500: #e2a43b;--coral-500: #de7462;--easy-bg: rgba(48, 179, 111, .14);--easy-text: #7de0a9;--easy-border: rgba(48, 179, 111, .3);--medium-bg: rgba(226, 164, 59, .16);--medium-text: #ffcf73;--medium-border: rgba(226, 164, 59, .34);--hard-bg: rgba(222, 116, 98, .14);--hard-text: #ffb0a4;--hard-border: rgba(222, 116, 98, .3);--border-subtle: rgba(237, 191, 92, .18);--border-default: rgba(237, 191, 92, .3);--border-strong: rgba(237, 191, 92, .5);--shadow-sm: 0 10px 18px rgba(0, 0, 0, .18);--shadow-md: 0 18px 40px rgba(0, 0, 0, .28);--shadow-lg: 0 30px 70px rgba(0, 0, 0, .36);--progress-bg: rgba(255, 202, 109, .18);--progress-fill: linear-gradient(90deg, #c7852b 0%, #e6a53d 55%, #f6d36f 100%);--xp-color: #f3c25c;--streak-color: #f4b03d;--belt-white: #e3ddd3;--belt-yellow: #e9bb46;--belt-orange: #db9556;--belt-green: #52af83;--belt-blue: #679bd1;--belt-purple: #a28bcc;--belt-brown: #8d6b4d;--belt-red: #be645a;--belt-black: #25282d;--belt-master: #d6a144;font-family:Inter,sans-serif}[data-theme=light]{color-scheme:light;--bg-primary: #efe5d2;--bg-secondary: #f6efe1;--bg-card: rgba(248, 245, 239, .92);--bg-elevated: rgba(240, 236, 229, .96);--bg-input: #ece4d7;--text-primary: #1d1f25;--text-secondary: #484f58;--text-muted: #7d7a72;--border-subtle: rgba(33, 31, 25, .08);--border-default: rgba(33, 31, 25, .12);--border-strong: rgba(33, 31, 25, .22);--shadow-sm: 0 10px 20px rgba(96, 76, 30, .08);--shadow-md: 0 20px 50px rgba(96, 76, 30, .12);--shadow-lg: 0 34px 80px rgba(96, 76, 30, .14);--progress-bg: rgba(202, 151, 69, .18)}*{box-sizing:border-box}html,body,#root{min-height:100%;background-color:var(--bg-primary)}body{margin:0;color:var(--text-primary);background-color:var(--bg-primary);background:radial-gradient(circle at 12% 12%,rgba(236,192,109,.22),transparent 30%),radial-gradient(circle at 85% 16%,rgba(88,130,98,.18),transparent 26%),linear-gradient(140deg,var(--bg-secondary),var(--bg-primary) 55%)}body,button,input,textarea,select{font:inherit}button,input,textarea,select{transition:box-shadow .18s ease,transform .18s ease,opacity .18s ease}a{color:var(--emerald-500)}h1,h2,h3,p,ul,ol,pre{margin:0}button{cursor:pointer}.app-shell{min-height:100vh;padding:24px}.screen-center,.modal-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.modal-shell{position:fixed;inset:0;z-index:20;align-items:center;justify-items:center;overflow-y:auto;background:linear-gradient(#0a0c1099,#0a0c1099),radial-gradient(circle at top,rgba(255,206,120,.08),transparent 42%)}[data-theme=light] .modal-shell{background:linear-gradient(#382e182e,#382e182e),radial-gradient(circle at top,rgba(225,182,102,.12),transparent 42%)}.modal-card{width:min(var(--modal-width, 920px),calc(100vw - 120px));max-height:calc(100vh - 96px);overflow-y:auto;overflow-x:hidden;outline:none}.modal-card--sm{--modal-width: 460px}.modal-card--md{--modal-width: 760px}.modal-card--lg{--modal-width: 920px}.panel,.auth-modal,.api-key-setup,.settings-panel,.exercise-list,.exercise-manager,.admin-dashboard,.leaderboard,.user-profile{background:var(--bg-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md)}.panel.subtle{background:color-mix(in srgb,var(--bg-elevated) 82%,transparent)}.auth-modal,.api-key-setup,.settings-panel,.exercise-list,.exercise-manager,.admin-dashboard,.leaderboard,.user-profile{border-radius:18px;padding:26px}.panel,.modal-card,.theme-choice,.exercise-card,.stat-card,.history-card,.field input,.field textarea,.field select,.password-field input,.table-shell,.example-block,.hint-box,.solution-box,.tag,.timer,.icon-button,.rail-button,.bookmark-button,.admin-pill{transition:box-shadow .22s ease,transform .18s ease,opacity .18s ease}.loading-panel{width:min(460px,100%);padding:36px;border-radius:18px;text-align:center}.eyebrow{display:inline-block;color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.topbar{min-height:64px;display:grid;grid-template-columns:220px minmax(280px,1fr) auto;align-items:center;gap:24px;padding:14px 18px;border-radius:20px;margin-bottom:14px}.topbar-brand,.topbar-progress,.topbar-actions,.topbar-controls,.progress-copy,.detail-label-row,.exercise-status-line,.exercise-subtitle,.meta-row,.tag-row,.controls,.inline-actions,.tab-row,.section-heading,.detail-footer,.editor-toolbar,.feedback-header,.console-label,.table-shell,.setup-stepper,.profile-layout,.profile-stats-grid,.manager-grid{display:flex;align-items:center;gap:12px}.topbar-brand,.topbar-progress{padding-right:16px;border-right:1px solid var(--border-subtle)}.brand-mark,.user-avatar,.icon-button,.rail-button,.setup-step span{display:grid;place-items:center}.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(180deg,#232932f5,#12141af5);box-shadow:inset 0 1px #ffffff14;font-size:24px}[data-theme=light] .brand-mark{background:linear-gradient(180deg,#fff,#ece6da)}.brand-copy{display:grid;gap:2px}.brand-copy strong{font-size:20px;font-weight:700}.topbar-progress{min-width:0}.level-badge{padding:5px 10px;border-radius:10px;background:color-mix(in srgb,var(--belt-color) 22%,var(--bg-elevated));border:1px solid color-mix(in srgb,var(--belt-color) 45%,var(--border-default));color:var(--text-primary);font-size:13px;font-weight:700;box-shadow:0 0 18px color-mix(in srgb,var(--belt-color) 18%,transparent)}.rank-hover{position:relative;display:inline-flex}.rank-hover-trigger{cursor:default}.rank-hover-card{position:absolute;top:calc(100% + 12px);left:0;width:min(320px,calc(100vw - 32px));padding:14px;border-radius:16px;border:1px solid var(--border-default);background:color-mix(in srgb,var(--bg-card) 94%,var(--bg-input));color:var(--text-primary);box-shadow:var(--shadow-md);display:none;gap:10px;z-index:25}.rank-hover:hover .rank-hover-card,.rank-hover:focus-within .rank-hover-card{display:grid}.rank-hover-header,.rank-hover-row,.rank-hover-rank{display:flex;align-items:center}.rank-hover-header,.rank-hover-row{justify-content:space-between;gap:12px}.rank-hover-header strong,.rank-hover-rank{font-size:13px;font-weight:700}.rank-hover-header span,.rank-hover-copy,.rank-hover-xp{color:var(--text-secondary);font-size:12px}.rank-hover-copy{line-height:1.45}.rank-hover-list{display:grid;gap:6px}.rank-hover-row{padding:8px 10px;border-radius:12px;border:1px solid transparent;background:color-mix(in srgb,var(--bg-elevated) 82%,transparent)}.rank-hover-row.current{border-color:color-mix(in srgb,var(--belt-color) 42%,var(--border-default));background:color-mix(in srgb,var(--belt-color) 14%,var(--bg-elevated));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--belt-color) 18%,transparent)}.rank-hover-emoji{display:inline-flex;width:20px;justify-content:center;font-size:14px}.progress-cluster{flex:1;min-width:0}.progress-copy{justify-content:space-between;margin-bottom:6px;color:var(--text-muted);font-size:12px}.progress-track{width:100%;height:12px;border-radius:999px;overflow:hidden;background:var(--progress-bg);border:1px solid color-mix(in srgb,var(--border-subtle) 70%,transparent)}.progress-fill{height:100%;background:var(--progress-fill)}.shimmer{position:relative}.shimmer:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);animation:shimmer 2.2s linear infinite}.today-xp{color:var(--xp-color);font-size:13px;font-weight:700;white-space:nowrap}.topbar-actions{justify-content:flex-end}.user-chip{display:flex;align-items:center;gap:10px}.user-chip>div:last-child{display:grid;gap:4px}.user-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(180deg,#f5b85a33,#25252ce6);border:1px solid var(--border-subtle);font-weight:700}.streak-badge{color:var(--streak-color);font-size:14px;font-weight:700;animation:pulse 2s ease-in-out infinite}.topbar-controls{gap:8px}.icon-button,.rail-button,.bookmark-button{width:38px;height:38px;border-radius:10px;border:1px solid var(--border-default);background:transparent;color:var(--text-secondary);position:relative;overflow:visible}.icon-button:after,.rail-button:after,.bookmark-button:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at center,rgba(255,255,255,.14),transparent 65%);opacity:0;transition:opacity .18s ease}.icon-button[data-tooltip]:before,.rail-button[data-tooltip]:before,.bookmark-button[data-tooltip]:before{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,8px);padding:7px 10px;border-radius:9px;border:1px solid var(--border-default);background:color-mix(in srgb,var(--bg-input) 90%,var(--bg-card));color:var(--text-primary);font-size:11px;font-weight:600;letter-spacing:.01em;white-space:nowrap;pointer-events:none;opacity:0;box-shadow:var(--shadow-sm);transition:opacity .16s ease,transform .16s ease;z-index:30}.icon-button:hover,.rail-button:hover,.bookmark-button:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-strong);transform:translateY(-1px) scale(1.02);box-shadow:0 14px 24px #0000002e}.icon-button:hover:after,.rail-button:hover:after,.bookmark-button:hover:after,.icon-button:focus-visible:after,.rail-button:focus-visible:after,.bookmark-button:focus-visible:after{opacity:1}.icon-button[data-tooltip]:hover:before,.rail-button[data-tooltip]:hover:before,.bookmark-button[data-tooltip]:hover:before,.icon-button[data-tooltip]:focus-visible:before,.rail-button[data-tooltip]:focus-visible:before,.bookmark-button[data-tooltip]:focus-visible:before{opacity:1;transform:translate(-50%)}.icon-button:focus-visible,.rail-button:focus-visible,.bookmark-button:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-ghost:focus-visible,.tab-button:focus-visible,.theme-choice:focus-visible,.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible,.password-field input:focus-visible{outline:none;box-shadow:0 0 0 3px #1fba8429}.admin-pill{border:1px solid var(--border-default);border-radius:999px;padding:9px 14px;background:transparent;color:var(--text-primary);font-size:13px;font-weight:600;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.admin-pill:hover{transform:translateY(-1px);background:var(--bg-elevated);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.workspace-shell{display:grid;grid-template-columns:60px minmax(0,1fr);gap:14px}.sidebar-rail{display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px 10px;border-radius:18px}.rail-button.active{background:var(--bg-elevated);color:var(--emerald-500);border-color:var(--emerald-500)}.split-layout{--workspace-panel-min-height: clamp(620px, calc(100vh - 220px) , 760px);display:grid;grid-template-columns:minmax(320px,40%) minmax(420px,60%);gap:16px;align-items:stretch}.workspace-main-panels{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;min-height:var(--workspace-panel-min-height);align-items:stretch}.exercise-detail,.editor-panel{border-radius:20px}.exercise-detail,.editor-panel,.review-panel{min-height:var(--workspace-panel-min-height)}.exercise-detail{padding:16px;overflow:visible;max-height:none}.detail-block{display:grid;gap:10px;margin-bottom:12px}.detail-title{display:flex;justify-content:space-between;align-items:center}.detail-label-row{justify-content:flex-start}.detail-icon{color:var(--text-muted);font-size:15px}.exercise-title{font-size:24px;line-height:1.2;margin-bottom:10px}.detail-divider{height:1px;margin-bottom:12px;background:var(--border-subtle)}.points-value{font-size:18px;font-weight:700;color:var(--xp-color)}.detail-copy{color:var(--text-primary);font-size:14px;line-height:1.55}.tag-row{flex-wrap:wrap;align-items:flex-start}.tag{padding:5px 12px;border-radius:999px;background:color-mix(in srgb,var(--emerald-500) 20%,var(--bg-elevated));border:1px solid color-mix(in srgb,var(--emerald-500) 36%,var(--border-default));color:var(--text-primary);font-size:12px}[data-theme=light] .tag{background:#f3eee4;border-color:#20251d1f;color:var(--text-secondary)}.example-block,.hint-box,.solution-box{padding:12px;border-radius:12px;background:var(--bg-elevated);border:1px solid var(--border-subtle)}.example-block{font-size:13px;line-height:1.55;white-space:pre-wrap;font-family:Menlo,Monaco,Courier New,monospace}.hint-box.warning{border-color:var(--amber-500);background:color-mix(in srgb,var(--amber-500) 10%,var(--bg-elevated))}.constraint-list{padding-left:18px;color:var(--text-secondary);font-size:13px;line-height:1.6}.timer{justify-content:space-between;padding:10px 14px;border-radius:14px;border:1px solid var(--border-subtle);background:var(--bg-elevated);margin-bottom:12px}.timer>div{display:grid;gap:4px}.timer strong{font-size:22px}.timer.success{border-color:#30b36f47}.timer.warning{border-color:#e2a43b57}.timer.danger{border-color:#de746257}.detail-footer{justify-content:flex-start;flex-wrap:wrap}.detail-bookmark.active{color:var(--coral-500)}.btn-primary,.btn-secondary,.btn-ghost,.tab-button,.file-button{border-radius:10px;padding:10px 18px;font-size:14px;font-weight:600}.btn-primary{border:none;background:var(--emerald-500);color:#fff}.btn-primary:hover:not(:disabled){background:var(--emerald-600)}.btn-primary.muted{opacity:.78}.btn-secondary{background:transparent;color:var(--emerald-500);border:2px solid var(--emerald-500)}.btn-secondary:hover:not(:disabled),.btn-secondary.accent{background:transparent;color:var(--emerald-500)}.btn-secondary.accent:hover:not(:disabled){background:var(--emerald-500);color:#fff}.btn-ghost,.tab-button,.file-button{background:transparent;color:var(--text-secondary);border:1px solid var(--border-default)}.btn-ghost:hover:not(:disabled),.tab-button:hover:not(:disabled),.file-button:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--border-strong)}.btn-ghost.danger,.message.error{color:var(--coral-500)}button:disabled{opacity:.55;cursor:not-allowed;transform:none}.editor-panel,.review-panel{padding:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}.editor-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle)}.editor-header h2{font-size:14px;font-weight:600;color:var(--text-secondary)}.editor-surface{display:grid;grid-template-rows:auto minmax(240px,1fr);min-height:100%}.editor-toolbar{justify-content:space-between;padding:12px 16px 0}.window-dots{display:flex;gap:8px}.dot{width:10px;height:10px;border-radius:50%}.dot.red{background:#f56c53}.dot.yellow{background:#f5b943}.dot.green{background:#49c86d}.copy-button{width:34px;height:34px}.code-editor-wrapper{min-height:0;margin:0 16px;overflow:hidden;border-radius:14px;border:1px solid var(--border-subtle);background:var(--bg-input)}.cm-editor,.cm-scroller{min-height:240px;font-family:Menlo,Monaco,Courier New,monospace;font-size:14px;background:var(--bg-input)}.console-panel{border-top:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-input) 80%,var(--bg-card));padding:14px 16px 16px;overflow-y:auto}.review-surface{height:100%;min-height:0}.console-label{color:var(--text-muted);font-size:13px;margin-bottom:10px}.console-history{display:grid;gap:10px}.feedback-card{display:grid;gap:16px}.feedback-header{align-items:center}.score-ring{--score-value: 0%;width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at center,var(--bg-card) 58%,transparent 59%),conic-gradient(var(--ring-color) var(--score-value),var(--border-default) 0)}.score-ring.excellent{--ring-color: var(--emerald-500)}.score-ring.warning{--ring-color: var(--amber-500)}.score-ring.danger{--ring-color: var(--coral-500)}.score-ring strong{font-size:32px;line-height:1}.score-ring span{color:var(--text-muted);font-size:12px}.xp-earned{color:var(--xp-color);font-size:18px;font-weight:700}.markdown-body,.stack-md,.auth-form{display:grid;gap:16px}.markdown-body{color:var(--text-secondary);line-height:1.7}.markdown-body p,.markdown-body ul,.markdown-body ol{margin-bottom:10px}.markdown-body code{padding:2px 6px;border-radius:4px;background:var(--bg-elevated)}.auth-modal,.api-key-setup{max-width:420px;border-radius:16px}.modal-header,.modal-subheader{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.modal-header{margin-bottom:24px}.modal-subheader{margin-bottom:18px}.modal-heading{display:grid;gap:8px;min-width:0}.modal-heading h2{font-size:2rem;line-height:1.06;letter-spacing:-.04em}.modal-heading h3{font-size:1.1rem;line-height:1.25}.modal-section+.modal-section{margin-top:22px}.modal-body{min-height:0}.modal-close-button{white-space:nowrap}.auth-header,.auth-brand{display:grid;gap:10px}.auth-brand{justify-items:start}.auth-header h1{font-size:40px;line-height:1.02;letter-spacing:-.04em}.auth-header p,.message,.meta-row,.setup-steps,.exercise-subtitle{color:var(--text-secondary)}.tab-row{gap:24px;align-items:stretch;border-bottom:1px solid var(--border-subtle);padding-bottom:4px;margin-bottom:18px}.tab-button{padding:0 0 10px;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--text-muted)}.tab-button.active{color:var(--text-primary);border-bottom-color:var(--emerald-500)}.field,.checkbox-field{display:grid;gap:8px}.field span,.checkbox-field span{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.field input,.field textarea,.field select,.password-field input{width:100%;padding:12px 14px;border-radius:8px;border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-primary)}.field input:focus,.field textarea:focus,.field select:focus,.password-field input:focus{outline:none;border-color:var(--emerald-500);box-shadow:0 0 0 3px #1fba8426}.field input::placeholder,.field textarea::placeholder{color:var(--text-muted)}.password-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.checkbox-field{align-self:end;grid-auto-flow:column;grid-auto-columns:max-content;align-items:center;gap:10px;padding-bottom:4px}.checkbox-field input{width:16px;height:16px;margin:0}.checkbox-field span{font-size:12px}.password-toggle{padding:0 14px}.setup-stepper{gap:10px;justify-content:space-between;margin-bottom:14px}.setup-step{display:grid;justify-items:center;gap:8px;flex:1;text-align:center}.setup-step span{width:34px;height:34px;border-radius:50%;background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border-default);font-weight:700}.setup-step.current span,.setup-step.done span{background:var(--emerald-500);border-color:var(--emerald-500);color:#fff}.setup-step strong{font-size:12px;color:var(--text-secondary)}.setup-step-line{align-self:start;height:2px;flex:.5;margin-top:16px;background:var(--border-default)}.setup-steps{display:grid;gap:10px;padding-left:18px;margin-bottom:16px;line-height:1.6}.exercise-list{--modal-width: 840px;display:grid;grid-template-rows:auto auto minmax(0,1fr);max-height:calc(100vh - 104px);overflow:hidden}.exercise-manager,.admin-dashboard,.leaderboard,.user-profile,.settings-panel{--modal-width: 940px}.user-profile.modal-card{height:fit-content;align-self:start;margin-block:24px}.settings-panel,.leaderboard{--modal-width: 760px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-card{display:grid;gap:14px}.theme-choice-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.theme-choice{display:grid;gap:6px;text-align:left;padding:16px;border-radius:12px;border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-primary)}.theme-choice span{color:var(--text-secondary);font-size:12px}.theme-choice.active{border-color:var(--emerald-500);box-shadow:inset 0 0 0 1px var(--emerald-500)}.theme-choice:hover:not(:disabled){transform:translateY(-1px);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.admin-import-card{margin-bottom:0}.exercise-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 14px;align-items:end}.profile-stats-grid{flex-wrap:wrap}.exercise-browser-header{margin-bottom:28px}.exercise-browser-filters{padding-bottom:20px;border-bottom:1px solid var(--border-subtle);margin-bottom:20px}.exercise-browser-body{overflow-y:auto;padding-right:8px}.exercise-card,.stat-card,.history-card{padding:16px;border-radius:12px;border:1px solid var(--border-subtle);background:var(--bg-elevated)}.exercise-card:hover,.stat-card:hover,.history-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.exercise-card.selected{border-color:var(--emerald-500);box-shadow:var(--shadow-sm)}.exercise-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.exercise-link{border:none;background:transparent;color:inherit;padding:0;width:100%;text-align:left}.exercise-link-copy{display:grid;gap:8px}.exercise-status-line{gap:10px}.status-icon{color:var(--text-muted)}.exercise-subtitle{flex-wrap:wrap;font-size:12px}.difficulty-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 14px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.difficulty-pill.easy{background:var(--easy-bg);color:var(--easy-text);border:1px solid var(--easy-border)}.difficulty-pill.medium{background:var(--medium-bg);color:var(--medium-text);border:1px solid var(--medium-border)}.difficulty-pill.hard{background:var(--hard-bg);color:var(--hard-text);border:1px solid var(--hard-border)}.meta-row{flex-wrap:wrap;gap:14px;font-size:12px}.history-card.compact{padding:12px 14px}.profile-layout,.manager-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.profile-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stat-card{text-align:center}.stat-card strong{display:block;margin-top:8px;font-size:28px}.stat-card--rank{position:relative}.stat-rank-trigger{width:100%;border:none;padding:0;background:transparent;color:inherit}.stat-rank-trigger strong{margin-top:8px}.profile-info-card{min-height:92px;display:grid;align-content:start;gap:8px}.profile-info-card h3{font-size:14px;line-height:1.2}.profile-info-copy{font-size:13px;line-height:1.45}.profile-info-card .tag-row{align-content:start}.profile-history-section{display:grid;gap:12px}.profile-history-list{gap:12px}.profile-history-empty{min-height:0;padding:0 2px;font-size:13px;line-height:1.45}.manager-actions{margin-top:4px;padding-bottom:10px;border-bottom:1px solid var(--border-subtle)}.manager-list{margin-top:18px}.table-shell{display:block;overflow:auto;border-radius:14px;border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-elevated) 82%,transparent)}table{width:100%;border-collapse:collapse}th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border-subtle)}th{background:var(--bg-elevated);color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}tbody tr{cursor:pointer;transition:background-color .18s ease,box-shadow .18s ease,color .18s ease}tbody tr:hover{background:#1fba840f}.current-row{background:#1fba8414;box-shadow:inset 3px 0 0 var(--emerald-500)}.message.success{color:var(--emerald-500)}.message.warning{color:var(--amber-500)}.guided-solution-modal{--modal-width: 860px}.guided-solution-section,.guided-solution-grid{display:grid;gap:12px}.guided-solution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guided-solution-copy{font-size:14px;line-height:1.6}.guided-solution-list{margin:0;padding-left:18px;color:var(--text-secondary);line-height:1.7}.guided-solution-code{margin-top:4px}@keyframes shimmer{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@media(max-width:1200px){.topbar{grid-template-columns:1fr}.topbar-brand,.topbar-progress{border-right:none;padding-right:0}.topbar-actions{justify-content:space-between}}@media(max-width:900px){.app-shell,.screen-center,.modal-shell{padding:16px}.workspace-shell{grid-template-columns:1fr}.sidebar-rail{flex-direction:row;justify-content:center}.split-layout,.workspace-main-panels,.settings-grid,.profile-layout,.manager-grid{grid-template-columns:1fr}.exercise-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-surface{grid-template-rows:auto minmax(240px,1fr);min-height:0}.exercise-detail,.editor-panel,.review-panel{height:auto}.exercise-detail{max-height:none}}@media(max-width:640px){.topbar-actions,.topbar-progress,.editor-header,.feedback-header,.timer,.detail-title,.modal-header,.modal-subheader{flex-direction:column;align-items:flex-start}.topbar-controls{flex-wrap:wrap}.exercise-detail,.auth-modal,.api-key-setup,.settings-panel,.exercise-list,.exercise-manager,.admin-dashboard,.leaderboard,.user-profile{padding:18px}.modal-card{width:min(var(--modal-width, 920px),calc(100vw - 32px));max-height:calc(100vh - 32px)}.exercise-filters{grid-template-columns:1fr}.icon-button[data-tooltip]:before,.rail-button[data-tooltip]:before,.bookmark-button[data-tooltip]:before{bottom:auto;top:calc(100% + 10px)}.rank-hover-card{left:50%}.rank-hover:hover .rank-hover-card,.rank-hover:focus-within .rank-hover-card{display:grid}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.today-xp{color:var(--xp-color);font-size:13px;font-weight:700;white-space:nowrap;text-shadow:0 0 8px rgba(242,188,88,.4);animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{text-shadow:0 0 8px rgba(242,188,88,.4)}50%{text-shadow:0 0 16px rgba(242,188,88,.7),0 0 32px rgba(242,188,88,.3)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
