.profile-page{background:radial-gradient(circle at 10% 15%,#2563eb14,#0000 30rem),radial-gradient(circle at 90% 85%,#06b6d414,#0000 30rem),#f8fafc;min-height:100svh;padding:120px 24px 64px;position:relative}.profile-shell{flex-direction:column;gap:2rem;max-width:1100px;margin:0 auto;display:flex}.profile-hero{color:#fff;background:linear-gradient(135deg,#0b2247 0%,#103b75 60%,#195cb0 100%);border-radius:24px;justify-content:space-between;align-items:center;padding:2.5rem;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 50px #0b234726}.profile-hero:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.profile-user-main{z-index:1;align-items:center;gap:1.75rem;display:flex;position:relative}.profile-avatar-large{color:#fff;background:linear-gradient(135deg,#38bdf8,#2563eb);border:3px solid #ffffff40;border-radius:22px;flex-shrink:0;place-items:center;width:84px;height:84px;font-family:Be Vietnam Pro,sans-serif;font-size:2.2rem;font-weight:800;display:grid;box-shadow:0 10px 25px #2563eb59}.profile-user-titles h1{color:#fff;letter-spacing:-.04em;margin:0 0 .35rem;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800}.profile-user-titles p{color:#93c5fd;margin:0 0 .75rem;font-size:.95rem}.profile-tags{flex-wrap:wrap;gap:.5rem;display:flex}.profile-badge{letter-spacing:.04em;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .8rem;font-size:.75rem;font-weight:700;display:inline-flex}.profile-badge.is-role-admin{color:#854d0e;background:#fef08a}.profile-badge.is-role-student{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff3}.profile-hero-actions{z-index:1;flex-direction:column;gap:.75rem;display:flex;position:relative}.profile-logout-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:0 1.25rem;font-size:.84rem;font-weight:700;transition:all .18s;display:inline-flex}.profile-logout-btn:hover{background:#ef4444d9;border-color:#0000;transform:translateY(-2px)}.profile-grid{grid-template-columns:1fr 1fr;gap:1.75rem;display:grid}.profile-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:2rem;box-shadow:0 10px 30px #0f172a0a}.profile-card-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.profile-card-header h2{color:#0f172a;margin:0;font-size:1.2rem;font-weight:800}.profile-edit-toggle{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;min-height:40px;padding:0 .9rem;font-size:.88rem;font-weight:700;transition:background .18s,border-color .18s}.profile-edit-toggle:hover,.profile-edit-toggle:focus-visible{background:#dbeafe;border-color:#60a5fa;outline:none}.profile-edit-form{gap:1rem;display:grid}.profile-edit-form label{color:#334155;gap:.4rem;font-size:.9rem;font-weight:700;display:grid}.profile-edit-form input,.profile-edit-form select{color:#0f172a;width:100%;min-height:46px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:0 .85rem}.profile-edit-form input:focus,.profile-edit-form select:focus{border-color:#2563eb;outline:3px solid #2563eb24}.profile-save-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#164bb9);border:0;border-radius:10px;min-height:46px;font-size:.92rem;font-weight:800}.profile-save-btn:hover:not(:disabled){filter:brightness(1.06)}.profile-save-btn:disabled{cursor:wait;opacity:.7}.profile-form-error,.profile-form-success{border-radius:10px;margin:1rem 0 0;padding:.75rem .9rem;font-size:.88rem;font-weight:700}.profile-form-error{color:#b91c1c;background:#fef2f2;margin:0}.profile-form-success{color:#047857;background:#ecfdf5}.profile-info-list{flex-direction:column;gap:1.2rem;display:flex}.profile-info-item{flex-direction:column;gap:.25rem;display:flex}.profile-info-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:700}.profile-action-links{flex-direction:column;gap:.85rem;margin-top:1rem;display:flex}.profile-shortcut-link{color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-size:.92rem;font-weight:700;transition:all .18s;display:flex}.profile-shortcut-link:hover{color:#2563eb;background:#eff6ff;border-color:#93c5fd;transform:translate(4px)}.profile-loading-box,.profile-empty-box{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:24px;max-width:600px;margin:0 auto;padding:4rem 2rem}.profile-loading-spinner{border:4px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;width:44px;height:44px;margin:0 auto 1.5rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:900px){.profile-hero{flex-direction:column;align-items:flex-start;gap:1.5rem}.profile-grid{grid-template-columns:1fr}}.profile-page{--profile-ink:#071d54;--profile-blue:#0c68eb;--profile-line:#dce8f7;--profile-muted:#64759a;color:var(--profile-ink);background:radial-gradient(circle at 10% 12%,#2891ff1f,#0000 28rem),radial-gradient(circle at 92% 78%,#2bb0ff17,#0000 30rem),linear-gradient(#f3f9ff 0%,#f9fcff 40%,#f2f9ff 100%);padding:108px 24px 72px}.profile-shell{gap:1.25rem;width:min(1480px,100%);max-width:none}.profile-hero{background:radial-gradient(circle at 69% 42%,#4ec3ff61,#0000 18rem),linear-gradient(118deg,#052c68 0%,#0755b2 48%,#116ad3 70%,#073c91 100%);border:1px solid #6cb8ff59;border-radius:22px;min-height:220px;padding:2.5rem 3rem;box-shadow:0 24px 64px #1b57a52e}.profile-hero:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:33rem;height:33rem;position:absolute;top:-9rem;right:10rem}.profile-user-main{gap:2rem}.profile-avatar-large{background:linear-gradient(145deg,#31c5f8,#1468ec 78%);border:4px solid #55c9ff;border-radius:28px;width:122px;height:122px;font-size:3.4rem;box-shadow:0 16px 36px #0020604d,inset 0 0 24px #fff3}.profile-hero-eyebrow{color:#b9dcff;letter-spacing:.12em;margin-bottom:.65rem;font-size:.75rem;font-weight:800;display:block}.profile-user-titles h1{margin-bottom:.28rem;font-size:clamp(2rem,3vw,2.7rem)}.profile-user-titles p{color:#fff;margin-bottom:.9rem;font-size:1.04rem}.profile-badge{letter-spacing:0;min-height:38px;padding:.48rem 1rem;font-size:.82rem}.profile-badge.is-role-student,.profile-badge.is-role-teacher{background:#ffffff21;border:1px solid #ffffff40}.profile-badge.is-verified{color:#0c744c;background:#eafff3}.profile-hero-quote{z-index:1;color:#ffffffe6;justify-items:center;display:grid;position:absolute;right:23%;transform:rotate(-2deg)}.profile-hero-quote svg{color:#7acbff7a;margin-bottom:-.8rem}.profile-hero-quote strong,.profile-hero-quote span{font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:500}.profile-hero-quote strong{font-size:1.45rem}.profile-hero-quote span{font-size:1.05rem}.profile-logout-btn{background:0 0;border-color:#ffffffbf;min-height:48px;font-size:.88rem}.profile-logout-btn:hover,.profile-logout-btn:focus-visible{background:#ffffff2e;border-color:#fff;outline:none;transform:translateY(-2px);box-shadow:0 10px 24px #00236033}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.profile-card,.profile-dashboard-card,.progress-dashboard-heading,.progress-stat-card{background:#fffffff5;border:1px solid #5f8ec830;box-shadow:0 16px 42px #1f529112}.profile-card{border-radius:20px;padding:1.35rem 1.5rem 1.5rem}.profile-card-header{border-bottom-color:#e8f0fa;min-height:58px;margin-bottom:.85rem;padding-bottom:.9rem}.profile-card-title{align-items:center;gap:.85rem;min-width:0;display:flex}.profile-card-icon{width:52px;height:52px;color:var(--profile-blue);background:linear-gradient(145deg,#eef7ff,#e5f1ff);border-radius:13px;flex:0 0 52px;place-items:center;display:inline-grid;box-shadow:0 8px 18px #2e78d51c}.profile-card-title h2{color:var(--profile-ink);margin:0;font-size:1.25rem}.profile-card-title small{color:var(--profile-muted);margin-top:.2rem;font-size:.78rem;font-weight:500;display:block}.profile-edit-toggle{background:#f5faff;border-color:#bcdcff;align-items:center;gap:.45rem;min-height:44px;padding-inline:1.1rem;display:inline-flex;box-shadow:0 7px 16px #2169cc14}.profile-info-list{gap:0}.profile-info-item{border-bottom:1px solid #e8eff8;grid-template-columns:minmax(190px,.72fr) minmax(0,1fr);align-items:center;gap:1.25rem;min-height:59px;display:grid}.profile-info-item:last-child{border-bottom:0}.profile-info-label{color:#63769b;letter-spacing:0;text-transform:none;align-items:center;gap:.7rem;font-size:.82rem;font-weight:600;display:inline-flex}.profile-info-label svg{color:#2459a5}.profile-info-value{color:var(--profile-ink);font-size:.9rem;font-weight:750}.profile-security-note{color:var(--profile-blue);background:#eff7ff;border-radius:10px;align-items:center;gap:.55rem;padding:.55rem .75rem;display:inline-flex}.profile-security-note span,.profile-security-note small{display:block}.profile-security-note b{font-size:.76rem}.profile-security-note small{color:var(--profile-muted);font-size:.62rem}.profile-password-form{gap:.75rem;display:grid}.profile-password-label{color:#27446f;gap:.35rem;font-size:.8rem;font-weight:750;display:grid}.profile-password-input{width:100%;min-height:48px;color:var(--profile-ink);background:#fff;border:1px solid #cfdbeb;border-radius:10px;outline:none;padding:0 .95rem;font-size:.86rem}.profile-password-input:focus{border-color:var(--profile-blue);box-shadow:0 0 0 3px #0c68eb1f}.profile-password-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2679f4,#1954c8);border:0;border-radius:10px;min-height:48px;margin-top:.2rem;font-size:.86rem;font-weight:800;box-shadow:0 10px 22px #1f63da33}.profile-password-submit:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px)}.profile-password-submit:disabled{cursor:wait;opacity:.7}.profile-card-learning{grid-column:1/-1}.profile-learning-note{color:var(--profile-blue);align-items:center;gap:.45rem;font-size:.78rem;font-weight:750;display:inline-flex}.profile-learning-copy{color:var(--profile-muted);margin:0 0 1rem;font-size:.88rem}.profile-action-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:0;display:grid}.profile-shortcut-link{color:#0b54c8;background:linear-gradient(145deg,#f3f9ff,#fff);border-color:#cce3ff;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:112px;padding:1rem;font-size:.82rem;display:grid}.profile-shortcut-link:nth-child(2){color:#ec650e;background:linear-gradient(145deg,#fff8ee,#fff);border-color:#ffd9ab}.profile-shortcut-link:nth-child(3){color:#7c2de1;background:linear-gradient(145deg,#fbf7ff,#fff);border-color:#e2ccff}.profile-shortcut-link:nth-child(4){color:#008d64;background:linear-gradient(145deg,#effcf7,#fff);border-color:#bdebdc}.profile-shortcut-link>svg:first-child{color:#fff;background:currentColor;border-radius:50%;width:46px;height:46px;padding:.65rem}.profile-shortcut-link b,.profile-shortcut-link small{display:block}.profile-shortcut-link b{line-height:1.35}.profile-shortcut-link small{color:var(--profile-muted);margin-top:.35rem;font-size:.67rem;font-weight:500;line-height:1.45}.profile-shortcut-link:hover{color:inherit;transform:translateY(-3px)}.learning-progress-dashboard{gap:1.15rem;margin-top:1.4rem;display:grid}.progress-dashboard-heading{background:radial-gradient(circle at 90% 10%,#3d97ff21,#0000 13rem),#fffffff5;border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:112px;padding:1.2rem 1.5rem;display:grid}.progress-dashboard-heading h2,.progress-dashboard-heading p{margin:0}.progress-dashboard-heading h2{letter-spacing:-.04em;font-size:clamp(1.7rem,3vw,2.25rem)}.progress-dashboard-heading p{color:var(--profile-muted);margin-top:.25rem;font-size:.88rem}.progress-dashboard-heading blockquote{color:#1452b4;text-align:center;margin:0;padding-inline:2rem;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-style:italic;line-height:1.5}.progress-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;display:grid}.progress-stat-card{border-radius:17px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:128px;padding:1rem 1.15rem;display:grid}.progress-stat-icon{color:#00a875;background:#e9faf3;border-radius:13px;place-items:center;width:50px;height:50px;display:grid}.progress-stat-card.is-orange .progress-stat-icon{color:#ff6f19;background:#fff1e4}.progress-stat-card.is-blue .progress-stat-icon{color:#0875ed;background:#eaf4ff}.progress-stat-card.is-purple .progress-stat-icon{color:#8a31e8;background:#f2eaff}.progress-stat-card div>small,.progress-stat-card div>strong,.progress-stat-card div>span{display:block}.progress-stat-card div>small{color:var(--profile-muted);font-size:.75rem}.progress-stat-card div>strong{margin:.2rem 0;font-size:clamp(1.35rem,2vw,1.75rem)}.progress-stat-card div>span{color:var(--profile-muted);font-size:.68rem}.progress-stat-card em{color:#00a66f;text-align:right;font-size:.76rem;font-style:normal;font-weight:800}.progress-stat-card em small{color:var(--profile-muted);font-size:.6rem;font-weight:500}.progress-main-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:1rem;display:grid}.profile-dashboard-card{border-radius:18px;min-width:0;overflow:hidden}.dashboard-card-heading{border-bottom:1px solid #e7eff9;justify-content:space-between;align-items:center;gap:1rem;min-height:58px;padding:1rem 1.2rem;display:flex}.dashboard-card-heading h3{align-items:center;gap:.55rem;margin:0;font-size:1rem;display:inline-flex}.dashboard-card-heading h3 svg{color:var(--profile-blue)}.dashboard-card-heading>span,.dashboard-card-heading>a{color:var(--profile-blue);align-items:center;gap:.35rem;font-size:.7rem;display:inline-flex}.dashboard-card-heading>a{font-weight:750;text-decoration:none}.dashboard-card-heading>a:hover{color:#084caf}.overall-progress-content{grid-template-columns:190px minmax(0,1fr);align-items:center;gap:1.5rem;padding:1.45rem;display:grid}.progress-ring{aspect-ratio:1;background:conic-gradient(#1a8ef6 0 var(--ring-progress,14%), #e7eef6 var(--ring-progress,14%) 100%);border-radius:50%;place-items:center;width:178px;display:grid}.progress-ring:before{content:"";position:absolute}.progress-ring>div{aspect-ratio:1;text-align:center;background:#fff;border-radius:50%;align-content:center;place-items:center;width:132px;display:grid}.progress-ring strong,.progress-ring span{display:block}.progress-ring strong{color:#0b50bd;font-size:2rem}.progress-ring span{color:var(--profile-muted);font-size:.72rem;line-height:1.4}.overall-progress-copy h4{color:#0b55c6;margin:0 0 .6rem;font-size:1.02rem}.overall-progress-copy p{color:var(--profile-muted);margin:0;font-size:.77rem;line-height:1.65}.overall-progress-copy>span{color:#1a65cf;background:#f0f8ff;border-radius:12px;align-items:center;gap:.65rem;margin-top:1rem;padding:.8rem;font-size:.7rem;line-height:1.5;display:flex}.track-progress-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;padding:1rem;display:grid}.track-progress-item{background:linear-gradient(145deg,#f5faff,#fff);border:1px solid #cfe2fa;border-radius:14px;padding:1rem;position:relative}.track-progress-item.is-cpp{background:linear-gradient(145deg,#fff8ef,#fff);border-color:#ffd6ac}.track-progress-item.is-ai{background:linear-gradient(145deg,#fbf7ff,#fff);border-color:#e2ccff}.track-title{align-items:center;gap:.6rem;display:flex}.track-title>span{color:#2385ed;background:#fff;border:2px solid #2385ed;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.track-title>span img{object-fit:contain;width:26px;height:26px}.is-cpp .track-title>span{color:#ff7628;border-color:#ff7628}.is-ai .track-title>span{color:#862ce6;border-color:#862ce6}.track-title b,.track-title small{display:block}.track-title b{font-size:.83rem}.track-title small{color:var(--profile-muted);margin-top:.15rem;font-size:.6rem;line-height:1.35}.track-progress-item>strong{margin-top:1rem;font-size:1.65rem;display:block}.track-progress-item>strong small{font-size:.85rem}.track-progress-item>p{color:var(--profile-muted);margin:.05rem 0 .7rem;font-size:.62rem}.track-meter{background:#e6edf5;border-radius:999px;height:9px;overflow:hidden}.track-meter span{width:var(--track-progress,29%);border-radius:inherit;background:#0875ed;height:100%;display:block}.is-cpp .track-meter span{background:#ff6f1d}.is-ai .track-meter span{background:#8a2be2}.track-progress-item>em{color:currentColor;text-align:right;margin:.3rem 0 .7rem;font-size:.68rem;font-style:normal;font-weight:800;display:block}.track-progress-item>button{width:100%;min-height:34px;color:inherit;cursor:pointer;background:#fff;border:1px solid;border-radius:8px;justify-content:center;align-items:center;gap:.3rem;font-size:.66rem;font-weight:800;display:flex}.track-progress-item>button:hover,.weekly-goal-button:hover{color:#fff;background:currentColor}.progress-lower-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(300px,.85fr);align-items:stretch;gap:1rem;display:grid}.ranking-list{padding:.35rem 1.1rem .8rem;display:grid}.ranking-row{min-height:58px;color:inherit;border-bottom:1px solid #e8eff8;grid-template-columns:30px 42px minmax(0,1fr) auto;align-items:center;gap:.6rem;text-decoration:none;display:grid}.ranking-row:last-child{border-bottom:0}.ranking-row>strong{color:var(--profile-muted);text-align:center;font-size:.78rem}.ranking-row>span{color:#0b61d4;background:#eaf4ff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:.68rem;font-weight:850;display:grid}.ranking-row b,.ranking-row small{display:block}.ranking-row b{font-size:.76rem}.ranking-row small{color:var(--profile-muted);margin-top:.15rem;font-size:.62rem}.ranking-row>svg{color:#c2cad7}.ranking-row.is-first>svg{color:#f4b400}.ranking-row.is-second>svg{color:#9aa7b8}.ranking-row.is-third>svg{color:#d78646}.ranking-row.is-current{background:#eff7ff;border:1px solid #abd3ff;border-radius:10px;margin-top:.25rem;padding:0 .6rem}.ranking-row.is-current>svg{color:var(--profile-blue)}.weekly-goals-card{padding-bottom:.75rem}.weekly-goal{border-bottom:1px solid #eef2f7;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:start;gap:.65rem;padding:.7rem 1.1rem;display:grid}.weekly-goal>svg{color:#08a86e}.goal-circle{border:1px solid #97acc8;border-radius:50%;width:20px;height:20px}.weekly-goal b{font-size:.72rem;font-weight:650;display:block}.weekly-goal div>span{background:#e7edf5;border-radius:999px;height:5px;margin-top:.45rem;display:block;overflow:hidden}.weekly-goal div>span i{width:var(--goal-progress,0);background:#1184ed;height:100%;display:block}.weekly-goal.is-complete div>span i{width:100%}.weekly-goal>em{color:var(--profile-muted);font-size:.67rem;font-style:normal}.weekly-goal-button{width:calc(100% - 2.2rem);min-height:48px;color:var(--profile-blue);cursor:pointer;background:#f1f8ff;border:1px solid #c7def8;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;margin:.8rem 1.1rem 0;font-size:.72rem;font-weight:750;display:flex}.profile-side-stack{gap:1rem;display:grid}.achievement-list{grid-template-columns:repeat(3,1fr);gap:.5rem;padding:1rem;display:grid}.achievement-list>div{text-align:center;justify-items:center;display:grid}.achievement-badge{clip-path:polygon(50% 0,92% 22%,92% 78%,50% 100%,8% 78%,8% 22%);color:#fff;background:linear-gradient(145deg,#2ba6ff,#0764e9);place-items:center;width:62px;height:68px;display:grid}.achievement-badge.is-green{background:linear-gradient(145deg,#18c88b,#009a67)}.achievement-badge.is-purple{background:linear-gradient(145deg,#9a45ee,#5c18bd)}.achievement-list b,.achievement-list small{display:block}.achievement-list b{margin-top:.45rem;font-size:.62rem}.achievement-list small{color:var(--profile-muted);margin-top:.2rem;font-size:.52rem;line-height:1.35}.activity-chart-card{min-height:185px}.activity-chart{justify-content:space-around;align-items:end;gap:.45rem;height:98px;padding:1rem 1rem 1.7rem;display:flex}.activity-chart>span{background:linear-gradient(#49adff,#1c7ee9);border-radius:5px 5px 0 0;width:28px;min-height:18px;display:block;position:relative}.activity-chart b{color:var(--profile-ink);font-size:.56rem;position:absolute;top:-1.15rem;left:50%;transform:translate(-50%)}.activity-chart i{color:var(--profile-muted);font-size:.56rem;font-style:normal;position:absolute;bottom:-1.2rem;left:50%;transform:translate(-50%)}@media (max-width:1180px){.profile-hero-quote{display:none}.profile-action-links,.progress-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-main-grid,.progress-lower-grid{grid-template-columns:1fr}.profile-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.profile-page{padding:92px 16px 56px}.profile-hero{padding:2rem}.profile-grid{grid-template-columns:1fr}.profile-card-learning{grid-column:auto}.profile-card-header,.progress-dashboard-heading{align-items:flex-start}.progress-dashboard-heading{grid-template-columns:auto 1fr}.progress-dashboard-heading blockquote{display:none}}@media (max-width:700px){.profile-page{padding-inline:10px}.profile-hero{padding:1.4rem}.profile-user-main{align-items:flex-start;gap:1rem}.profile-avatar-large{border-radius:20px;width:76px;height:76px;font-size:2.2rem}.profile-user-titles h1{font-size:1.45rem}.profile-user-titles p{overflow-wrap:anywhere;max-width:210px;font-size:.8rem}.profile-hero-actions,.profile-logout-btn{width:100%}.profile-card{padding:1rem}.profile-card-header{gap:.8rem;display:grid}.profile-security-note,.profile-edit-toggle{width:fit-content}.profile-info-item{grid-template-columns:1fr;gap:.35rem;padding:.75rem 0}.profile-action-links,.progress-stat-grid,.track-progress-list,.profile-side-stack{grid-template-columns:1fr}.profile-shortcut-link{min-height:98px}.progress-dashboard-heading{padding:1rem}.progress-dashboard-heading .profile-card-icon{flex-basis:44px;width:44px;height:44px}.progress-dashboard-heading h2{font-size:1.55rem}.overall-progress-content{text-align:center;grid-template-columns:1fr;justify-items:center}.overall-progress-copy>span{text-align:left}.dashboard-card-heading{align-items:flex-start}.dashboard-card-heading>span,.dashboard-card-heading>a{text-align:right}.achievement-list{gap:.25rem;padding-inline:.6rem}.achievement-badge{width:52px;height:58px}}@media (prefers-reduced-motion:reduce){.profile-shortcut-link,.profile-password-submit,.profile-edit-toggle,.profile-logout-btn{transition:none}}.profile-avatar-wrap{justify-items:center;gap:.5rem;display:grid;position:relative}.profile-avatar-photo{object-fit:cover;background:#e8eef7;border:3px solid #ffffffe6;border-radius:26px;width:122px;height:122px;box-shadow:0 14px 34px #09459138}.profile-avatar-edit{color:#fff;cursor:pointer;background:#ffffff2e;border:1px solid #ffffff8c;border-radius:999px;align-items:center;gap:.35rem;min-height:32px;padding:0 .7rem;font-size:.72rem;font-weight:700;display:inline-flex}.profile-avatar-edit:hover,.profile-avatar-edit:focus-visible{background:#ffffff4d}.profile-avatar-edit:disabled{cursor:not-allowed;opacity:.65}.profile-avatar-actions{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.profile-avatar-note{color:#ffffffd1;text-align:center;margin:0;font-size:.64rem}.profile-avatar-error,.profile-avatar-success{text-align:center;margin:0;font-size:.68rem;font-weight:650}.profile-avatar-error{color:#ffe2e2}.profile-avatar-success{color:#d9ffe9}.weekly-goal-form{border-bottom:1px solid #eef2f7;gap:.6rem;padding:.9rem 1.1rem 1.1rem;display:grid}.weekly-goal-form label{color:var(--profile-muted);gap:.3rem;font-size:.68rem;font-weight:650;display:grid}.weekly-goal-form input,.weekly-goal-form select{min-height:38px;color:var(--profile-ink);font:inherit;background:#fff;border:1px solid #d5e2f1;border-radius:10px;padding:0 .6rem;font-size:.78rem}.weekly-goal-form input:focus,.weekly-goal-form select:focus{border-color:#1184ed;outline:none}.weekly-goal-form-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.weekly-goal-form-actions{gap:.5rem;display:flex}.weekly-goal-form-actions button{color:#fff;cursor:pointer;background:#1184ed;border:1px solid #1184ed;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:.35rem;min-height:38px;font-size:.76rem;font-weight:700;display:inline-flex}.weekly-goal-form-actions button.is-ghost{color:var(--profile-muted);background:#fff;border-color:#d5e2f1}.weekly-goal-form-actions button:disabled{cursor:not-allowed;opacity:.6}.weekly-goal-delete{color:#c0392b;cursor:pointer;background:#fff;border:1px solid #f0d7d7;border-radius:8px;place-items:center;width:26px;height:26px;display:grid}.weekly-goal-delete:disabled{cursor:not-allowed;opacity:.5}.dashboard-state{text-align:center;background:#ffffffe6;border:1px dashed #cfdff2;border-radius:16px;justify-items:center;gap:.6rem;padding:2.4rem 1.2rem;display:grid}.dashboard-state p{color:var(--profile-muted);margin:0;font-size:.82rem}.dashboard-state button{color:#fff;cursor:pointer;background:#1184ed;border:1px solid #1184ed;border-radius:10px;min-height:36px;padding:0 1rem;font-size:.76rem;font-weight:700}.dashboard-state.is-inline{border-style:solid;padding:1rem}.achievement-list>div.is-locked{opacity:.5}.achievement-list>div>small>span{margin-top:.15rem;font-weight:700;display:block}.weekly-goal-empty{color:var(--profile-muted);border-bottom:1px solid #eef2f7;margin:0;padding:1rem 1.1rem;font-size:.72rem}.ranking-empty{color:var(--profile-muted);margin:0;padding:1rem 1.1rem;font-size:.75rem}.ranking-toggle{color:var(--profile-blue);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;font-size:.7rem;font-weight:750;display:inline-flex}.ranking-toggle:hover,.ranking-toggle:focus-visible{color:#084caf}.ranking-toggle svg{transition:transform .18s}.ranking-toggle svg.is-open{transform:rotate(180deg)}.ranking-list.is-scrollable{max-height:430px;overflow-y:auto}.track-progress-link{color:currentColor;background:#ffffffbf;border-radius:10px;justify-content:center;align-items:center;gap:.3rem;width:100%;min-height:34px;font-size:.7rem;font-weight:700;text-decoration:none;display:flex}.track-progress-link:hover,.track-progress-link:focus-visible{color:#fff;background:currentColor}.profile-page .exam-history-card{margin-top:1.25rem}.profile-page .exam-history-list{gap:.55rem;margin:.35rem 0 0;padding:0;list-style:none;display:grid}.profile-page .exam-history-row{background:#fbfdff;border:1px solid #e3edf8;border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.6rem;padding:.75rem .85rem;display:grid}.profile-page .exam-history-row__main{gap:.22rem;display:grid}.profile-page .exam-history-row__main a{color:#112b56;font-size:.84rem;font-weight:750;text-decoration:none}.profile-page .exam-history-row__main a:hover{color:#1265df}.profile-page .exam-history-row__main small{color:#6b7f99;align-items:center;gap:.3rem;font-size:.7rem;display:inline-flex}.profile-page .exam-history-row__score{color:#112b56;white-space:nowrap;font-size:.92rem;font-weight:800}.profile-page .exam-history-row__flag{white-space:nowrap;border-radius:999px;align-items:center;gap:.28rem;padding:.22rem .5rem;font-size:.64rem;font-weight:800;display:inline-flex}.profile-page .exam-history-row__flag.is-counted{color:#16794a;background:#f2fdf6;border:1px solid #bfe6cd}.profile-page .exam-history-row__flag.is-practice{color:#a35a0c;background:#fff6e8;border:1px solid #f5d09a}@media (max-width:720px){.profile-page .exam-history-row{grid-template-columns:minmax(0,1fr) auto}.profile-page .exam-history-row__flag{grid-column:1/-1;justify-self:start}}
