:root{background:var(--cike-surface-muted)}
body{margin:0;color:var(--cike-text);background:var(--cike-surface-muted)}
.account-shell{width:min(620px,100%);margin:0 auto;padding:var(--cike-space-5)}
.account-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--cike-space-5)}
.back{min-height:var(--cike-control-height);display:inline-flex;align-items:center;padding:0 10px;border:1px solid var(--cike-control-line);border-radius:var(--cike-radius-control);background:var(--cike-surface);color:var(--cike-text);text-decoration:none;cursor:pointer}.back:hover{background:var(--cike-surface-soft)}.brand{font-weight:700;color:var(--cike-brand)}
.account-top-right{display:flex;align-items:center;gap:6px}.account-page-nav{display:flex;align-items:center;gap:6px;line-height:0}.account-nav-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--cike-control-line);border-radius:var(--cike-radius-control);background:var(--cike-surface);color:var(--cike-text);text-decoration:none;box-sizing:border-box}.account-nav-icon:hover{background:var(--cike-surface-soft)}.account-nav-icon svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.account-brand-icon{border-color:transparent;background:transparent}.account-brand-icon img{display:block;width:20px;height:20px}.account-brand-icon:hover{background:transparent}
.account-card{background:var(--cike-surface);border:1px solid var(--cike-line);border-radius:var(--cike-radius-card);padding:22px;box-shadow:none}
form{display:grid;gap:14px}.account-card form[hidden]{display:none}label,.field{display:grid;gap:6px;font-weight:600}.field>label{display:block}
input,button{font:inherit;border-radius:var(--cike-radius-control);border:1px solid var(--cike-control-line);padding:9px 11px;background:var(--cike-surface);color:var(--cike-text)}input{min-height:var(--cike-control-height-comfortable)}button{min-height:var(--cike-control-height);cursor:pointer}button:hover{background:var(--cike-surface-soft)}
.primary{background:var(--cike-primary);color:#fff;border-color:var(--cike-primary)}.primary:hover{background:var(--cike-primary-hover);border-color:var(--cike-primary-hover)}.danger{color:var(--cike-danger);border-color:#e6c4c4;background:var(--cike-surface)}.danger:hover{background:var(--cike-danger-soft)}
.muted{font-weight:400;color:var(--cike-muted);font-size:13px;line-height:1.6}.message{min-height:1.4em;color:var(--cike-muted);font-size:13px}
.profile-head,.auth-intro{display:flex;align-items:center;gap:14px}.auth-intro{margin-bottom:22px}.auth-intro h1,.profile-head h1{margin:0;font-size:21px;font-weight:600}.auth-intro p{margin:.28rem 0 0;color:var(--cike-muted);font-size:13px;line-height:1.55}
.account-mark{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--cike-brand);color:#fff;flex:none}.account-mark::before{content:"";display:block;width:29px;height:29px;background:currentColor;-webkit-mask:url("./brand-mark.svg") center/contain no-repeat;mask:url("./brand-mark.svg") center/contain no-repeat}.auth-account-mark{width:46px;height:46px}.auth-account-mark::before{width:25px;height:25px}.identity{margin:.25rem 0 0;color:var(--cike-muted);font-size:13px}
dl{margin:22px 0;display:grid;gap:14px}dl div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--cike-line);padding-bottom:10px}dt{color:var(--cike-muted);font-size:13px}dd{margin:0;text-align:right;font-size:13px}
.account-actions,.auth-actions{display:grid;gap:10px}.auth-actions{grid-template-columns:1fr 1fr}.auth-actions.single-action{grid-template-columns:1fr}.auth-subform .muted{margin:0}.profile-password-form{margin:18px 0;padding-top:18px;border-top:1px solid var(--cike-line)}.profile-password-form .muted,.profile-password-form .message{margin:0}.link-button{min-height:auto;padding:3px 0;border:0;background:transparent;color:var(--cike-brand);justify-self:center;font-size:13px}.link-button:hover{background:transparent;text-decoration:underline}
.input-shell{position:relative;display:block;font-weight:400}.input-shell input{width:100%;position:relative;z-index:1;background:transparent}.password-shell input{padding-right:44px}.password-toggle{position:absolute;z-index:2;right:5px;top:50%;transform:translateY(-50%);width:34px;height:34px;min-height:34px;padding:0;border:0;background:transparent;border-radius:var(--cike-radius-control);color:var(--cike-muted);display:grid;place-items:center}.password-toggle:hover{background:var(--cike-surface-soft)}.password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.password-toggle .eye-closed{display:none}.password-toggle.is-visible .eye-open{display:none}.password-toggle.is-visible .eye-closed{display:block}
.suffix-ghost{position:absolute;z-index:2;top:50%;transform:translateY(-50%);left:var(--ghost-left,11px);pointer-events:auto;touch-action:manipulation;cursor:pointer;color:var(--cike-muted-soft);white-space:pre;font:inherit}.field-hint{margin:0 2px;font-weight:400;font-size:12px;line-height:1.35;color:var(--cike-muted)}.field-hint.is-recognized{color:#47704f}
.settings-section{margin-top:22px}.settings-section h2{margin:0 0 8px 4px;font-size:13px;color:var(--cike-muted);font-weight:600}.settings-list{overflow:hidden;background:var(--cike-surface);border:1px solid var(--cike-line);border-radius:var(--cike-radius-card)}.settings-row{min-height:58px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--cike-text);text-decoration:none}.settings-row+.settings-row{border-top:1px solid var(--cike-line)}.settings-row:hover{background:var(--cike-surface-soft)}.settings-row>span:first-child{display:grid;gap:3px}.settings-row strong{font-size:14px;font-weight:600}.settings-row small{font-size:12px;color:var(--cike-muted);font-weight:400}.settings-row>span:last-child{font-size:22px;line-height:1;color:var(--cike-muted-soft)}
.settings-toggle-row{cursor:pointer}.settings-toggle-row>span:last-child{font-size:inherit}
.settings-switch{position:relative;display:inline-flex;align-items:center;flex:none;width:42px;height:24px}
.settings-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.settings-switch i{width:42px;height:24px;border-radius:999px;background:var(--cike-control-line);transition:background var(--cike-motion-control) var(--cike-ease-standard);pointer-events:none}
.settings-switch i::after{content:"";display:block;width:18px;height:18px;margin:3px;border-radius:50%;background:var(--cike-surface);box-shadow:0 1px 3px #17283a2b;transition:transform var(--cike-motion-control) var(--cike-ease-standard)}
.settings-switch input:checked+i{background:var(--cike-primary)}
.settings-switch input:checked+i::after{transform:translateX(18px)}
.settings-switch input:focus-visible+i{outline:2px solid var(--cike-primary);outline-offset:2px}.settings-switch input:disabled+i{opacity:.45}.settings-note{min-height:1.35em;margin:7px 4px 0;color:var(--cike-muted);font-size:12px;line-height:1.45}
.reminder-center-list:empty::before{content:"暂无课程提醒";min-height:58px;padding:0 16px;display:flex;align-items:center;color:var(--cike-muted);font-size:13px}.reminder-center-row{padding:11px 12px 11px 16px}.reminder-center-row button{min-height:34px;padding:6px 10px;color:var(--cike-danger);border-color:#e6c4c4;flex:none}.reminder-center-row button:disabled{opacity:.55;cursor:default}

dialog{border:0;padding:0;background:transparent;max-width:min(420px,calc(100vw - 28px));width:100%}dialog::backdrop{background:#17283a52}.dialog-card{background:var(--cike-surface);border:1px solid var(--cike-control-line);border-radius:var(--cike-radius-dialog);padding:20px;box-shadow:var(--cike-shadow-dialog);display:block}.dialog-card h2{margin:0 0 10px;font-size:18px;font-weight:600}.dialog-card p{margin:0;color:var(--cike-muted);line-height:1.55;white-space:pre-line;font-size:13px}.dialog-actions{display:grid;gap:9px;margin-top:18px}.dialog-actions .secondary{background:var(--cike-surface-soft)}.dialog-actions .quiet{border-color:transparent;color:var(--cike-muted)}
@media(max-width:600px){.account-shell{padding:14px}.account-card{padding:18px}.account-top-right,.account-page-nav{gap:4px}.account-nav-icon{width:44px;height:44px}dialog{max-width:calc(100vw - 24px)}}
