*{box-sizing:border-box}.account-page{margin:0;min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 15% 10%,#e5e1ff,transparent 60%),#f5f7fc;padding:24px;font-family:system-ui,sans-serif;color:#26304a}.account-card{width:100%;max-width:450px;border:1px solid #fff;border-radius:28px;padding:36px;background:#ffffffef;box-shadow:0 20px 80px #62559a15}.brand{color:#7559ed;font-weight:800;font-size:20px;margin-bottom:28px}.account-card h1{font-size:28px;margin:0 0 10px}.intro,.account-note{color:#73798c;font-size:14px;line-height:1.8}.account-tabs{display:flex;background:#f2f0fa;padding:5px;border-radius:14px;margin:24px 0}.account-tabs button{flex:1;border:0;background:none;padding:12px;border-radius:10px;font:inherit;cursor:pointer}.account-tabs .selected{background:white;color:#7052e6;box-shadow:0 2px 8px #4433660b}.account-card label{display:block;font-size:14px;margin:16px 0}.account-card label[hidden]{display:none}.account-card input{display:block;width:100%;border:1px solid #dce0eb;border-radius:12px;padding:13px;margin-top:8px;font:inherit}.account-card input:focus{outline:2px solid #ae9cff;border-color:transparent}.primary{width:100%;background:#7456ee;border:0;border-radius:12px;color:white;padding:14px;font:inherit;font-weight:600;cursor:pointer}.primary:disabled{opacity:.6;cursor:wait}#accountError{color:#be3853;font-size:14px;min-height:20px}.account-note{margin:22px 0 0}.account-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.account-table{width:100%;border-collapse:collapse}.account-table th,.account-table td{text-align:left;padding:12px;border-bottom:1px solid #e8eaf0}.account-scroll{overflow:auto}.account-settings{max-width:460px;margin:20px auto}.account-settings label{display:block;margin:15px 0}.account-settings input{display:block;width:100%;padding:12px;margin-top:6px;border:1px solid #ddd;border-radius:10px}@media(max-width:450px){.account-card{padding:25px}.account-card h1{font-size:25px}}
.account-table{min-width:650px}.account-table th,.account-table td{white-space:nowrap}.account-scroll{max-width:100%;-webkit-overflow-scrolling:touch}
.parent-reward-row{display:grid;grid-template-columns:70px 1fr 100px 2fr auto;gap:8px;margin:12px 0}.parent-reward-row input{min-width:0}#parentContent{margin-top:24px}#parentContent h3{margin-top:24px}#parentMessage{color:#6550b6}@media(max-width:650px){.parent-reward-row{grid-template-columns:60px 1fr 85px}.parent-reward-row input[data-field=desc]{grid-column:1/3}}
.parent-reward-row input.input{padding:10px;width:100%}.parent-reward-row button{padding:10px;white-space:nowrap}.parent-reward-row input[data-field=icon]{text-align:center}#parentTabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}#parentTabs .btn{padding:12px;min-width:0}#parentUser{margin-top:8px}
.account-mobile-entry{display:none}.up-name{white-space:nowrap}.up-user-info{min-width:0}.up-stats{flex-shrink:0}@media(max-width:768px){.account-mobile-entry{display:flex}}
.account-page-shell{width:100%;max-width:520px;margin:24px auto 40px;padding:0 12px}.account-back{border:0;background:transparent;color:#74798b;font:inherit;font-size:14px;padding:0;margin-bottom:18px;cursor:pointer}.account-profile-card{background:#fff;border:1px solid #e8eaf3;border-radius:24px;overflow:hidden;box-shadow:0 6px 28px #32235805}.account-profile-header{display:flex;gap:16px;align-items:center;padding:28px 30px;border-bottom:1px solid #eef0f6}.account-profile-avatar{display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:18px;background:#f1ecff;font-size:32px}.account-profile-header h1{font-size:23px;margin:0 0 6px;color:#252b3b}.account-profile-header p{font-size:14px;color:#7b8191;margin:0}.account-password-section{padding:26px 30px 28px}.account-password-section h2{font-size:17px;margin:0 0 8px}.account-help{font-size:13px;color:#858b9b;line-height:1.7;margin:0 0 22px}#passwordForm label{display:block;font-size:14px;color:#4c5365;margin:17px 0 8px}#passwordForm input{display:block;width:100%;min-width:0;box-sizing:border-box;border:1px solid #e0e3ed;border-radius:12px;padding:13px 14px;font:inherit;font-size:14px;background:#fcfcfe;transition:border-color .15s}#passwordForm input:focus{outline:3px solid #ede8ff;border-color:#9676ef}#passwordForm input::placeholder{color:#adb2c0}#passwordMessage{font-size:13px;color:#bd4a64;margin:12px 0;line-height:1.6}#passwordMessage:empty{display:none}#passwordMessage.success{color:#288455}#saveAccountPassword{width:100%;padding:13px;margin-top:22px;font-size:15px;border-radius:12px}#saveAccountPassword:disabled{opacity:.6}.account-profile-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 30px;background:#fafbfe;border-top:1px solid #eef0f6;font-size:13px;color:#8b91a0}.account-profile-footer button{border:0;background:none;color:#b64e65;font:inherit;cursor:pointer;font-weight:600}.account-menu.user-panel{position:fixed;top:82px;right:16px;left:auto;width:260px;max-width:calc(100vw - 32px);border:1px solid #e9ebf3;border-radius:18px;padding:0;overflow:hidden;box-shadow:0 12px 36px #30344c16;z-index:2000;background:white}.account-menu-profile{display:flex;gap:12px;align-items:center;padding:20px;border-bottom:1px solid #eff0f5}.account-menu-avatar{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:14px;background:#f1edff;font-size:26px}.account-menu-name{font-size:15px;color:#303648}.account-menu-id{margin:5px 0 0;font-size:12px;color:#9298a7}.account-menu-actions{padding:8px}.account-menu-actions button{display:block;width:100%;border:0;text-align:left;background:transparent;padding:12px 14px;border-radius:10px;font:inherit;font-size:14px;color:#525a6e;cursor:pointer}.account-menu-actions button:hover{background:#f5f2fd;color:#7753d3}.account-menu-actions .account-menu-logout{color:#b75a6f}@media(max-width:768px){.account-page-shell{margin:12px auto 24px;padding:0 4px}.account-profile-header{padding:24px}.account-password-section{padding:22px 24px}.account-profile-footer{padding:18px 24px}.account-menu.user-panel{display:none!important}}
/* Responsive learning pages: compact cards, safe-area navigation, touch targets. */
@media(max-width:1024px){.dashboard-home .dash-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dashboard-home .dash-card{min-width:0;max-width:100%}}
@media(max-width:768px){.dashboard-home .dashboard-hero{padding:18px 4px}.dashboard-home .dash-cards{gap:12px;margin:16px 0}.dashboard-home .dash-card{display:flex;flex-direction:column;align-items:center;padding:20px 10px;gap:10px}.dashboard-home .dash-card-icon{width:56px;height:56px;font-size:34px;margin:0}.dashboard-home .dash-card-name{font-size:19px}.dashboard-home .dash-card-btn{padding:11px 12px;font-size:14px;width:100%;min-height:42px}.dashboard-home .dash-card-desc{font-size:12px;margin:0;grid-column:auto}.dashboard-home .dash-stats-bar{margin-top:20px;gap:12px;flex-wrap:wrap}.bottom-nav{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}.main-container{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}.poem-detail-card{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:24px 18px;overscroll-behavior:contain}.poem-detail-overlay{padding:12px}.poem-detail-close{min-width:44px;min-height:44px}.poem-line-play-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.poem-detail-header{padding:24px 12px}.exam-answer-btn{min-height:72px}.account-mobile-entry .btn{padding:10px 14px;font-size:13px}}
#saveStatus{position:fixed;right:16px;bottom:16px;z-index:900;border:1px solid #e3e7ef;background:#fffffff2;border-radius:20px;padding:7px 12px;font:inherit;font-size:12px;color:#788294;box-shadow:0 2px 8px #18244808;max-width:calc(100vw - 32px)}#saveStatus[data-state=error]{color:#ae3e55;background:#fff4f5;cursor:pointer}#saveStatus[data-state=saving]{color:#7457bb}.account-forgot{display:block;margin:16px auto 0;background:none;border:0;color:#7760bd;cursor:pointer;font:inherit;font-size:13px}#recoveryCode{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f2ff;padding:14px;border-radius:12px}#recoveryForm label,.reset-password-dialog label{display:block;margin:16px 0;font-size:14px}#recoveryForm input,.reset-password-dialog input{width:100%;padding:12px;margin-top:8px;border:1px solid #ddd;border-radius:10px}.reset-password-dialog{max-width:440px;width:calc(100vw - 32px);border:0;border-radius:20px;padding:28px}.reset-password-dialog::backdrop{background:#2226}.reset-password-dialog p{font-size:14px;line-height:1.6}#recoverMessage,.reset-message{color:#b64860}#recoverAccountForm[hidden],#accountForm[hidden]{display:none}@media(max-width:768px){#saveStatus{bottom:calc(88px + env(safe-area-inset-bottom,0px));right:10px;font-size:11px}}
