forked from wangziqi/gongxue-base
2309 lines
40 KiB
CSS
2309 lines
40 KiB
CSS
.student-page {
|
||
min-height: 100vh;
|
||
padding: 28px;
|
||
background: var(--tiku-page);
|
||
}
|
||
|
||
.login-page {
|
||
display: grid;
|
||
min-height: 100vh;
|
||
align-content: center;
|
||
gap: 20px;
|
||
background:
|
||
linear-gradient(to right, rgba(15, 23, 42, 0.032) 1px, transparent 1px),
|
||
linear-gradient(to bottom, rgba(15, 23, 42, 0.032) 1px, transparent 1px),
|
||
#f4f6f9;
|
||
background-size: 40px 40px;
|
||
}
|
||
|
||
.login-hero {
|
||
position: relative;
|
||
overflow: hidden;
|
||
min-height: 310px;
|
||
padding: 34px 30px;
|
||
border-radius: 24px;
|
||
background: linear-gradient(135deg, #1152d4 0%, #2563eb 58%, #60a5fa 100%);
|
||
box-shadow: var(--tiku-shadow-blue);
|
||
}
|
||
|
||
.login-hero::after {
|
||
content: "";
|
||
position: absolute;
|
||
right: -52px;
|
||
bottom: -72px;
|
||
width: 220px;
|
||
height: 220px;
|
||
border-radius: 999px;
|
||
background: rgba(255, 255, 255, 0.14);
|
||
}
|
||
|
||
.login-avatar,
|
||
.login-kicker,
|
||
.login-title,
|
||
.login-subtitle {
|
||
position: relative;
|
||
z-index: 1;
|
||
}
|
||
|
||
.login-avatar {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
width: 72px;
|
||
height: 72px;
|
||
border: 3px solid rgba(255, 255, 255, 0.54);
|
||
border-radius: 18px;
|
||
background: #fff;
|
||
}
|
||
|
||
.login-avatar-mark {
|
||
color: var(--tiku-primary);
|
||
font-size: 36px;
|
||
font-weight: 950;
|
||
}
|
||
|
||
.login-kicker {
|
||
display: block;
|
||
margin-top: 22px;
|
||
color: rgba(255, 255, 255, 0.82);
|
||
font-size: 18px;
|
||
font-weight: 850;
|
||
}
|
||
|
||
.login-title {
|
||
display: block;
|
||
margin-top: 10px;
|
||
color: #fff;
|
||
font-size: 42px;
|
||
font-weight: 950;
|
||
line-height: 1.12;
|
||
}
|
||
|
||
.login-subtitle {
|
||
display: block;
|
||
margin-top: 12px;
|
||
color: rgba(255, 255, 255, 0.84);
|
||
font-size: 21px;
|
||
line-height: 1.45;
|
||
}
|
||
|
||
.login-card {
|
||
padding: 24px;
|
||
border: 1px solid #f1f5f9;
|
||
border-radius: 16px;
|
||
background: #fff;
|
||
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
|
||
}
|
||
|
||
.login-card .row-main {
|
||
font-size: 25px;
|
||
font-weight: 900;
|
||
}
|
||
|
||
.login-card .row-meta {
|
||
font-size: 19px;
|
||
}
|
||
|
||
.login-card .toolbar {
|
||
align-items: center;
|
||
overflow-x: visible;
|
||
}
|
||
|
||
.login-card .toolbar .input {
|
||
flex: 1;
|
||
min-width: 0;
|
||
}
|
||
|
||
.login-page-admin {
|
||
background:
|
||
linear-gradient(to right, rgba(15, 23, 42, 0.035) 1px, transparent 1px),
|
||
linear-gradient(to bottom, rgba(15, 23, 42, 0.035) 1px, transparent 1px),
|
||
#f4f6f9;
|
||
background-size: 40px 40px;
|
||
}
|
||
|
||
.login-page-admin .login-hero {
|
||
background: #111827;
|
||
box-shadow: 0 16px 34px rgba(15, 23, 42, 0.18);
|
||
}
|
||
|
||
.login-page-admin .login-hero::after {
|
||
background: rgba(37, 99, 235, 0.26);
|
||
}
|
||
|
||
.login-page-admin .login-avatar {
|
||
border-color: rgba(255, 255, 255, 0.18);
|
||
background: #1e293b;
|
||
}
|
||
|
||
.login-page-admin .login-avatar-mark {
|
||
color: #fff;
|
||
}
|
||
|
||
.login-page-admin .login-kicker {
|
||
color: #93c5fd;
|
||
}
|
||
|
||
.login-page-admin .login-card {
|
||
border-color: #e5e7eb;
|
||
}
|
||
|
||
.login-page-admin .login-card .row-main {
|
||
color: #111827;
|
||
}
|
||
|
||
.login-page-admin .login-card .row-meta {
|
||
color: #64748b;
|
||
}
|
||
|
||
.student-topbar {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
gap: 18px;
|
||
margin-bottom: 24px;
|
||
}
|
||
|
||
.student-title-block {
|
||
min-width: 0;
|
||
}
|
||
|
||
.student-kicker {
|
||
display: block;
|
||
color: var(--tiku-primary);
|
||
font-size: 22px;
|
||
font-weight: 800;
|
||
}
|
||
|
||
.student-title {
|
||
display: block;
|
||
margin-top: 6px;
|
||
color: var(--tiku-text);
|
||
font-size: 38px;
|
||
font-weight: 900;
|
||
line-height: 1.2;
|
||
}
|
||
|
||
.student-subtitle {
|
||
display: block;
|
||
margin-top: 8px;
|
||
color: var(--tiku-muted);
|
||
font-size: 24px;
|
||
line-height: 1.45;
|
||
}
|
||
|
||
.toolbar {
|
||
display: flex;
|
||
gap: 12px;
|
||
overflow-x: auto;
|
||
padding-bottom: 8px;
|
||
}
|
||
|
||
.toolbar.wrap {
|
||
flex-wrap: wrap;
|
||
overflow-x: visible;
|
||
}
|
||
|
||
.pill-button,
|
||
.primary-button,
|
||
.secondary-button,
|
||
.danger-button {
|
||
min-width: 120px;
|
||
height: 64px;
|
||
border-radius: 16px;
|
||
font-size: 24px;
|
||
font-weight: 820;
|
||
line-height: 64px;
|
||
}
|
||
|
||
.primary-button {
|
||
border: 0;
|
||
background: linear-gradient(135deg, var(--tiku-primary), #2563eb);
|
||
color: #fff;
|
||
box-shadow: 0 10px 20px rgba(17, 82, 212, 0.18);
|
||
}
|
||
|
||
.secondary-button,
|
||
.pill-button {
|
||
border: 1px solid var(--tiku-border);
|
||
background: #fff;
|
||
color: var(--tiku-primary);
|
||
}
|
||
|
||
.secondary-button.active {
|
||
border-color: var(--tiku-primary);
|
||
background: var(--tiku-primary-soft);
|
||
color: var(--tiku-primary);
|
||
}
|
||
|
||
.danger-button {
|
||
border: 1px solid #fecaca;
|
||
background: #fff1f2;
|
||
color: #be123c;
|
||
}
|
||
|
||
.pill-button.active {
|
||
border-color: var(--tiku-primary);
|
||
background: var(--tiku-primary-soft);
|
||
color: var(--tiku-primary);
|
||
}
|
||
|
||
.pill-button.warn {
|
||
border-color: #f59e0b;
|
||
background: #fffbeb;
|
||
color: #92400e;
|
||
}
|
||
|
||
.section-block {
|
||
margin-top: 30px;
|
||
}
|
||
|
||
.section-heading {
|
||
display: block;
|
||
margin-bottom: 16px;
|
||
color: var(--tiku-text);
|
||
font-size: 30px;
|
||
font-weight: 800;
|
||
}
|
||
|
||
.quiet-panel {
|
||
padding: 28px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: var(--tiku-radius);
|
||
background: #fff;
|
||
box-shadow: var(--tiku-shadow);
|
||
}
|
||
|
||
.student-page > .quiet-panel:first-of-type:not(.login-card) {
|
||
border-color: #bfdbfe;
|
||
background: linear-gradient(135deg, #eff6ff 0%, #fff 72%);
|
||
}
|
||
|
||
.list-stack > .quiet-panel:first-child {
|
||
border-radius: 28px;
|
||
}
|
||
|
||
.list-stack > .quiet-panel:first-child .row-meta:first-child {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
min-height: 38px;
|
||
padding: 0 14px;
|
||
border-radius: 999px;
|
||
background: var(--tiku-primary-soft);
|
||
color: var(--tiku-primary);
|
||
font-weight: 800;
|
||
}
|
||
|
||
.report-panel {
|
||
padding: 28px;
|
||
border: 1px solid #bfdbfe;
|
||
border-radius: var(--tiku-radius);
|
||
background: linear-gradient(135deg, #eff6ff, #fff);
|
||
box-shadow: var(--tiku-shadow);
|
||
}
|
||
|
||
.report-panel .metric,
|
||
.quiet-panel .metric {
|
||
box-shadow: none;
|
||
}
|
||
|
||
.learning-report-panel {
|
||
background: #f8fbff;
|
||
}
|
||
|
||
.profile-card {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 22px;
|
||
padding: 24px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: var(--tiku-radius);
|
||
background: #fff;
|
||
box-shadow: var(--tiku-shadow);
|
||
}
|
||
|
||
.profile-avatar {
|
||
flex: 0 0 116px;
|
||
width: 116px;
|
||
height: 116px;
|
||
border: 1px solid #bfdbfe;
|
||
border-radius: 24px;
|
||
background: linear-gradient(135deg, #1152d4, #60a5fa);
|
||
color: #fff;
|
||
text-align: center;
|
||
}
|
||
|
||
.profile-avatar.female {
|
||
border-color: #fbcfe8;
|
||
background: linear-gradient(135deg, #ec4899, #f472b6);
|
||
color: #fff;
|
||
}
|
||
|
||
.profile-avatar-mark {
|
||
display: block;
|
||
font-size: 48px;
|
||
font-weight: 850;
|
||
line-height: 116px;
|
||
}
|
||
|
||
.profile-card-main {
|
||
flex: 1;
|
||
min-width: 0;
|
||
}
|
||
|
||
.avatar-choice-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||
gap: 12px;
|
||
margin-top: 18px;
|
||
}
|
||
|
||
.avatar-choice {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 12px;
|
||
min-width: 0;
|
||
min-height: 88px;
|
||
padding: 14px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 16px;
|
||
background: #f8fafc;
|
||
}
|
||
|
||
.avatar-choice.active {
|
||
border-color: var(--tiku-primary);
|
||
background: var(--tiku-primary-soft);
|
||
}
|
||
|
||
.avatar-choice.busy {
|
||
opacity: 0.72;
|
||
}
|
||
|
||
.avatar-choice-icon {
|
||
flex: 0 0 54px;
|
||
width: 54px;
|
||
height: 54px;
|
||
border-radius: 16px;
|
||
background: #dbeafe;
|
||
color: var(--tiku-primary);
|
||
text-align: center;
|
||
}
|
||
|
||
.avatar-choice-icon.female {
|
||
background: #fce7f3;
|
||
color: #be185d;
|
||
}
|
||
|
||
.avatar-choice-mark {
|
||
display: block;
|
||
font-size: 28px;
|
||
font-weight: 850;
|
||
line-height: 54px;
|
||
}
|
||
|
||
.avatar-choice-copy {
|
||
min-width: 0;
|
||
}
|
||
|
||
.avatar-choice-title {
|
||
display: block;
|
||
color: var(--tiku-text);
|
||
font-size: 24px;
|
||
font-weight: 780;
|
||
line-height: 1.25;
|
||
}
|
||
|
||
.avatar-choice-meta {
|
||
display: block;
|
||
margin-top: 4px;
|
||
color: var(--tiku-muted);
|
||
font-size: 20px;
|
||
line-height: 1.25;
|
||
}
|
||
|
||
.list-stack {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 14px;
|
||
}
|
||
|
||
.list-row {
|
||
padding: 22px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 22px;
|
||
background: #fff;
|
||
box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
|
||
}
|
||
|
||
.list-row:nth-child(3n + 1) {
|
||
border-color: #dbeafe;
|
||
}
|
||
|
||
.list-row:nth-child(3n + 2) {
|
||
border-color: #dcfce7;
|
||
}
|
||
|
||
.list-row:nth-child(3n) {
|
||
border-color: #fef3c7;
|
||
}
|
||
|
||
.list-row.active {
|
||
border-color: var(--tiku-primary);
|
||
background: var(--tiku-primary-soft);
|
||
box-shadow: 0 8px 20px rgba(17, 82, 212, 0.12);
|
||
}
|
||
|
||
.notification-row.active {
|
||
border-color: #93c5fd;
|
||
}
|
||
|
||
.split-row {
|
||
display: flex;
|
||
align-items: flex-start;
|
||
justify-content: space-between;
|
||
gap: 16px;
|
||
}
|
||
|
||
.split-row .row-main {
|
||
flex: 1;
|
||
min-width: 0;
|
||
}
|
||
|
||
.composite-subquestion {
|
||
margin-top: 0;
|
||
}
|
||
|
||
.sub-option-list {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 12px;
|
||
margin-top: 16px;
|
||
}
|
||
|
||
.sub-explanation {
|
||
margin-top: 16px;
|
||
padding-top: 14px;
|
||
border-top: 1px solid var(--tiku-border);
|
||
}
|
||
|
||
.option-line {
|
||
display: flex;
|
||
align-items: flex-start;
|
||
gap: 14px;
|
||
min-width: 0;
|
||
}
|
||
|
||
.option-prefix {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
flex: 0 0 44px;
|
||
width: 44px;
|
||
height: 44px;
|
||
border-radius: 14px;
|
||
background: #f1f5f9;
|
||
color: #475569;
|
||
font-size: 26px;
|
||
font-weight: 850;
|
||
line-height: 44px;
|
||
}
|
||
|
||
.list-row.active .option-prefix {
|
||
background: #dbeafe;
|
||
color: var(--tiku-primary);
|
||
}
|
||
|
||
.option-rich {
|
||
flex: 1;
|
||
min-width: 0;
|
||
}
|
||
|
||
.answer-detail {
|
||
margin-top: 16px;
|
||
padding: 18px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 18px;
|
||
background: #f8fafc;
|
||
}
|
||
|
||
.answer-detail-label {
|
||
display: block;
|
||
margin-bottom: 8px;
|
||
color: var(--tiku-primary);
|
||
font-size: 22px;
|
||
font-weight: 850;
|
||
}
|
||
|
||
.row-main {
|
||
display: block;
|
||
color: var(--tiku-text);
|
||
font-size: 28px;
|
||
font-weight: 750;
|
||
line-height: 1.35;
|
||
}
|
||
|
||
.row-meta {
|
||
display: block;
|
||
margin-top: 8px;
|
||
color: var(--tiku-muted);
|
||
font-size: 22px;
|
||
line-height: 1.45;
|
||
}
|
||
|
||
.notification-message {
|
||
color: #334155;
|
||
}
|
||
|
||
.notification-action-text {
|
||
align-self: center;
|
||
color: var(--tiku-primary);
|
||
font-weight: 760;
|
||
}
|
||
|
||
.grid-two {
|
||
display: grid;
|
||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||
gap: 16px;
|
||
}
|
||
|
||
.metric {
|
||
padding: 22px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 22px;
|
||
background: #fff;
|
||
box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
|
||
}
|
||
|
||
.compact-metric {
|
||
padding: 18px;
|
||
}
|
||
|
||
.metric-value {
|
||
display: block;
|
||
color: var(--tiku-text);
|
||
font-size: 34px;
|
||
font-weight: 800;
|
||
}
|
||
|
||
.metric-label {
|
||
display: block;
|
||
margin-top: 8px;
|
||
color: var(--tiku-muted);
|
||
font-size: 22px;
|
||
}
|
||
|
||
.report-summary-line {
|
||
margin-top: 18px;
|
||
}
|
||
|
||
.empty-state {
|
||
padding: 38px 26px;
|
||
border: 1px dashed var(--tiku-border-strong);
|
||
border-radius: 22px;
|
||
background: #fff;
|
||
color: var(--tiku-muted);
|
||
font-size: 24px;
|
||
line-height: 1.5;
|
||
}
|
||
|
||
.input {
|
||
width: 100%;
|
||
height: 72px;
|
||
padding: 0 20px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 16px;
|
||
background: #fff;
|
||
color: #111827;
|
||
font-size: 26px;
|
||
}
|
||
|
||
.textarea {
|
||
width: 100%;
|
||
min-height: 140px;
|
||
padding: 18px 20px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 16px;
|
||
background: #fff;
|
||
color: #111827;
|
||
font-size: 26px;
|
||
line-height: 1.45;
|
||
}
|
||
|
||
.error-text {
|
||
display: block;
|
||
margin-top: 14px;
|
||
color: #be123c;
|
||
font-size: 22px;
|
||
line-height: 1.4;
|
||
}
|
||
|
||
.success-text {
|
||
display: block;
|
||
margin-top: 14px;
|
||
color: #047857;
|
||
font-size: 22px;
|
||
line-height: 1.4;
|
||
}
|
||
|
||
.muted-text {
|
||
color: var(--tiku-muted);
|
||
}
|
||
|
||
.video-frame {
|
||
width: 100%;
|
||
min-height: 360px;
|
||
border: 0;
|
||
border-radius: 24px;
|
||
background: #0f172a;
|
||
}
|
||
|
||
.student-page .toolbar + .quiet-panel,
|
||
.student-page .toolbar + .report-panel,
|
||
.student-page .section-block + .quiet-panel {
|
||
margin-top: 18px;
|
||
}
|
||
|
||
.checkout-toolbar {
|
||
align-items: center;
|
||
overflow-x: visible;
|
||
}
|
||
|
||
.checkout-toolbar .input {
|
||
flex: 1;
|
||
min-width: 0;
|
||
}
|
||
|
||
.checkout-actions {
|
||
margin-top: 18px;
|
||
}
|
||
|
||
.compact-toolbar {
|
||
margin-top: 14px;
|
||
padding-bottom: 0;
|
||
}
|
||
|
||
.notification-toolbar {
|
||
margin-top: 16px;
|
||
}
|
||
|
||
.notification-summary-grid {
|
||
margin-top: 6px;
|
||
}
|
||
|
||
.notifications-page .notification-filterbar,
|
||
.notifications-page .notification-typebar {
|
||
gap: 10px;
|
||
}
|
||
|
||
.notifications-page .notification-typebar {
|
||
margin-top: 12px;
|
||
}
|
||
|
||
.notifications-page .pill-button {
|
||
min-width: 132px;
|
||
}
|
||
|
||
.notification-actions {
|
||
flex-wrap: wrap;
|
||
overflow-x: visible;
|
||
}
|
||
|
||
.compact-toolbar .primary-button,
|
||
.compact-toolbar .secondary-button {
|
||
min-width: 104px;
|
||
height: 56px;
|
||
font-size: 22px;
|
||
line-height: 56px;
|
||
}
|
||
|
||
.amount-row {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
gap: 16px;
|
||
margin-bottom: 12px;
|
||
}
|
||
|
||
.amount-text {
|
||
display: block;
|
||
margin-top: 8px;
|
||
color: #0f172a;
|
||
font-size: 40px;
|
||
font-weight: 850;
|
||
line-height: 1.15;
|
||
}
|
||
|
||
.status-badge {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
min-height: 40px;
|
||
padding: 0 14px;
|
||
border-radius: 999px;
|
||
background: #ecfdf5;
|
||
color: #047857;
|
||
font-size: 22px;
|
||
font-weight: 750;
|
||
}
|
||
|
||
.status-badge.warning {
|
||
background: #fffbeb;
|
||
color: #92400e;
|
||
}
|
||
|
||
.status-badge.danger {
|
||
background: #fff1f2;
|
||
color: #be123c;
|
||
}
|
||
|
||
.trend-chart {
|
||
display: grid;
|
||
grid-template-columns: repeat(14, minmax(0, 1fr));
|
||
gap: 10px;
|
||
align-items: end;
|
||
padding: 22px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: var(--tiku-radius);
|
||
background: #fff;
|
||
box-shadow: var(--tiku-shadow);
|
||
}
|
||
|
||
.trend-column {
|
||
min-width: 0;
|
||
text-align: center;
|
||
}
|
||
|
||
.trend-value {
|
||
display: block;
|
||
min-height: 28px;
|
||
color: #334155;
|
||
font-size: 20px;
|
||
font-weight: 760;
|
||
line-height: 1.2;
|
||
}
|
||
|
||
.trend-bar-track {
|
||
display: flex;
|
||
align-items: flex-end;
|
||
justify-content: center;
|
||
height: 136px;
|
||
margin-top: 8px;
|
||
border-radius: 999px;
|
||
background: #f1f5f9;
|
||
}
|
||
|
||
.trend-bar-fill {
|
||
width: 100%;
|
||
max-width: 28px;
|
||
border-radius: 999px 999px 0 0;
|
||
background: var(--tiku-primary);
|
||
}
|
||
|
||
.trend-bar-fill.h-bucket-0 { height: 0; }
|
||
.trend-bar-fill.h-bucket-1 { height: 10px; }
|
||
.trend-bar-fill.h-bucket-2 { height: 20px; }
|
||
.trend-bar-fill.h-bucket-3 { height: 30px; }
|
||
.trend-bar-fill.h-bucket-4 { height: 40px; }
|
||
.trend-bar-fill.h-bucket-5 { height: 50px; }
|
||
.trend-bar-fill.h-bucket-6 { height: 62px; }
|
||
.trend-bar-fill.h-bucket-7 { height: 74px; }
|
||
.trend-bar-fill.h-bucket-8 { height: 86px; }
|
||
.trend-bar-fill.h-bucket-9 { height: 98px; }
|
||
.trend-bar-fill.h-bucket-10 { height: 110px; }
|
||
.trend-bar-fill.h-bucket-11 { height: 122px; }
|
||
.trend-bar-fill.h-bucket-12 { height: 132px; }
|
||
|
||
.trend-label {
|
||
display: block;
|
||
margin-top: 8px;
|
||
color: var(--tiku-muted);
|
||
font-size: 18px;
|
||
line-height: 1.2;
|
||
}
|
||
|
||
.progress-track {
|
||
width: 100%;
|
||
height: 12px;
|
||
margin-top: 16px;
|
||
overflow: hidden;
|
||
border-radius: 999px;
|
||
background: var(--tiku-border);
|
||
}
|
||
|
||
.progress-fill {
|
||
height: 100%;
|
||
border-radius: 999px;
|
||
background: var(--tiku-green);
|
||
}
|
||
|
||
.progress-fill.w-bucket-0 { width: 0; }
|
||
.progress-fill.w-bucket-1 { width: 10%; }
|
||
.progress-fill.w-bucket-2 { width: 20%; }
|
||
.progress-fill.w-bucket-3 { width: 30%; }
|
||
.progress-fill.w-bucket-4 { width: 40%; }
|
||
.progress-fill.w-bucket-5 { width: 50%; }
|
||
.progress-fill.w-bucket-6 { width: 60%; }
|
||
.progress-fill.w-bucket-7 { width: 70%; }
|
||
.progress-fill.w-bucket-8 { width: 80%; }
|
||
.progress-fill.w-bucket-9 { width: 90%; }
|
||
.progress-fill.w-bucket-10 { width: 100%; }
|
||
|
||
.handbook-entry-body {
|
||
margin-top: 14px;
|
||
}
|
||
|
||
.handbook-search-panel {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 12px;
|
||
margin-bottom: 16px;
|
||
}
|
||
|
||
.handbook-search-panel .input {
|
||
flex: 1;
|
||
min-width: 0;
|
||
}
|
||
|
||
.handbook-search-panel .secondary-button {
|
||
flex: 0 0 116px;
|
||
min-width: 116px;
|
||
}
|
||
|
||
.handbook-outline {
|
||
display: flex;
|
||
gap: 10px;
|
||
margin-bottom: 14px;
|
||
overflow-x: auto;
|
||
padding-bottom: 8px;
|
||
}
|
||
|
||
.handbook-outline-chip {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 8px;
|
||
flex: 0 0 auto;
|
||
max-width: 360px;
|
||
min-height: 58px;
|
||
padding: 0 16px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 999px;
|
||
background: #fff;
|
||
}
|
||
|
||
.handbook-outline-chip.active {
|
||
border-color: var(--tiku-primary);
|
||
background: var(--tiku-primary-soft);
|
||
}
|
||
|
||
.handbook-outline-index {
|
||
flex: 0 0 auto;
|
||
color: #94a3b8;
|
||
font-size: 20px;
|
||
font-weight: 820;
|
||
}
|
||
|
||
.handbook-outline-title {
|
||
min-width: 0;
|
||
color: #0f172a;
|
||
font-size: 22px;
|
||
font-weight: 760;
|
||
line-height: 1.3;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.handbook-entry-list {
|
||
margin-top: 16px;
|
||
}
|
||
|
||
.handbook-entry-row.active {
|
||
border-color: #93c5fd;
|
||
}
|
||
|
||
.handbook-search-snippet {
|
||
margin-top: 10px;
|
||
padding: 14px 16px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 18px;
|
||
background: var(--tiku-card-soft);
|
||
color: #475569;
|
||
font-size: 22px;
|
||
line-height: 1.55;
|
||
word-break: break-word;
|
||
}
|
||
|
||
.handbook-highlight {
|
||
border-radius: 6px;
|
||
background: #fef3c7;
|
||
color: #92400e;
|
||
font-weight: 820;
|
||
}
|
||
|
||
.report-sub-result {
|
||
margin-top: 14px;
|
||
padding-top: 12px;
|
||
border-top: 1px dashed var(--tiku-border-strong);
|
||
}
|
||
|
||
.answer-sheet {
|
||
display: grid;
|
||
grid-template-columns: repeat(5, minmax(0, 1fr));
|
||
gap: 12px;
|
||
}
|
||
|
||
.student-page > .answer-sheet,
|
||
.quiet-panel + .answer-sheet {
|
||
padding: 18px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 24px;
|
||
background: #fff;
|
||
box-shadow: var(--tiku-shadow);
|
||
}
|
||
|
||
.answer-card {
|
||
min-width: 0;
|
||
height: 58px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 16px;
|
||
background: #fff;
|
||
color: #334155;
|
||
font-size: 22px;
|
||
font-weight: 800;
|
||
line-height: 58px;
|
||
}
|
||
|
||
.answer-card.current {
|
||
border-color: var(--tiku-primary);
|
||
background: var(--tiku-primary-soft);
|
||
color: var(--tiku-primary);
|
||
}
|
||
|
||
.answer-card.answered {
|
||
border-color: #bbf7d0;
|
||
background: #ecfdf5;
|
||
color: #047857;
|
||
}
|
||
|
||
.answer-card.wrong {
|
||
border-color: #fecaca;
|
||
background: #fff1f2;
|
||
color: #be123c;
|
||
}
|
||
|
||
.break-text {
|
||
word-break: break-all;
|
||
overflow-wrap: anywhere;
|
||
}
|
||
|
||
.vocabulary-page .student-topbar {
|
||
margin-bottom: 20px;
|
||
}
|
||
|
||
.vocabulary-modebar {
|
||
margin-top: 18px;
|
||
}
|
||
|
||
.vocabulary-overview-panel {
|
||
border-color: #bbf7d0;
|
||
background: linear-gradient(135deg, #ecfdf5, #fff);
|
||
}
|
||
|
||
.vocabulary-stats-grid {
|
||
margin-top: 18px;
|
||
}
|
||
|
||
.vocabulary-plan-line {
|
||
margin-top: 16px;
|
||
}
|
||
|
||
.vocabulary-mastery-track {
|
||
margin-top: 18px;
|
||
}
|
||
|
||
.vocabulary-study {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 18px;
|
||
}
|
||
|
||
.vocabulary-progress {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 10px;
|
||
}
|
||
|
||
.vocabulary-progress-track {
|
||
width: 100%;
|
||
height: 12px;
|
||
overflow: hidden;
|
||
border-radius: 999px;
|
||
background: var(--tiku-border);
|
||
}
|
||
|
||
.vocabulary-progress-fill {
|
||
height: 100%;
|
||
border-radius: 999px;
|
||
background: var(--tiku-primary);
|
||
transition: width 180ms ease;
|
||
}
|
||
|
||
.vocabulary-card {
|
||
min-height: 560px;
|
||
padding: 32px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 30px;
|
||
background: #fff;
|
||
box-shadow: var(--tiku-shadow);
|
||
}
|
||
|
||
.vocabulary-card.revealed {
|
||
border-color: #bfdbfe;
|
||
background: linear-gradient(135deg, #eff6ff, #fff);
|
||
}
|
||
|
||
.vocabulary-word {
|
||
display: block;
|
||
margin-top: 36px;
|
||
color: #0f172a;
|
||
font-size: 64px;
|
||
font-weight: 850;
|
||
line-height: 1.05;
|
||
text-align: center;
|
||
word-break: break-word;
|
||
}
|
||
|
||
.vocabulary-phonetic {
|
||
display: block;
|
||
margin-top: 16px;
|
||
color: var(--tiku-muted);
|
||
font-size: 28px;
|
||
line-height: 1.3;
|
||
text-align: center;
|
||
}
|
||
|
||
.vocabulary-card-actions {
|
||
justify-content: center;
|
||
margin-top: 26px;
|
||
}
|
||
|
||
.vocabulary-answer {
|
||
margin-top: 34px;
|
||
padding: 24px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 22px;
|
||
background: #fff;
|
||
}
|
||
|
||
.vocabulary-actions {
|
||
justify-content: center;
|
||
}
|
||
|
||
.vocabulary-word-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||
gap: 12px;
|
||
}
|
||
|
||
.vocabulary-word-chip {
|
||
min-width: 0;
|
||
padding: 18px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 20px;
|
||
background: #fff;
|
||
}
|
||
|
||
.vocabulary-word-chip.active {
|
||
border-color: var(--tiku-primary);
|
||
background: var(--tiku-primary-soft);
|
||
}
|
||
|
||
.vocabulary-word-chip.favorite {
|
||
border-color: #f59e0b;
|
||
}
|
||
|
||
.vocabulary-chip-word {
|
||
display: block;
|
||
color: #0f172a;
|
||
font-size: 24px;
|
||
font-weight: 820;
|
||
line-height: 1.3;
|
||
word-break: break-word;
|
||
}
|
||
|
||
.vocabulary-chip-meta {
|
||
display: block;
|
||
margin-top: 6px;
|
||
color: #94a3b8;
|
||
font-size: 20px;
|
||
}
|
||
|
||
.assets-page .list-stack {
|
||
margin-top: 20px;
|
||
}
|
||
|
||
.asset-preview-panel {
|
||
padding: 24px;
|
||
border: 1px solid #bfdbfe;
|
||
border-radius: 24px;
|
||
background: #fff;
|
||
box-shadow: var(--tiku-shadow);
|
||
}
|
||
|
||
.asset-preview-frame {
|
||
position: relative;
|
||
min-height: 720px;
|
||
overflow: hidden;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 22px;
|
||
background: var(--tiku-card-soft);
|
||
}
|
||
|
||
.asset-preview-panel .toolbar {
|
||
flex-wrap: wrap;
|
||
overflow-x: visible;
|
||
}
|
||
|
||
.asset-preview-iframe {
|
||
width: 100%;
|
||
height: 720px;
|
||
border: 0;
|
||
background: #fff;
|
||
}
|
||
|
||
.asset-download-confirm {
|
||
padding: 60px 36px;
|
||
}
|
||
|
||
.asset-watermark {
|
||
position: absolute;
|
||
inset: 0;
|
||
z-index: 3;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
pointer-events: none;
|
||
color: #0f172a;
|
||
}
|
||
|
||
.asset-watermark.repeat {
|
||
align-items: stretch;
|
||
justify-content: stretch;
|
||
background-image:
|
||
repeating-linear-gradient(
|
||
-28deg,
|
||
transparent 0,
|
||
transparent 92px,
|
||
rgba(15, 23, 42, 0.08) 92px,
|
||
rgba(15, 23, 42, 0.08) 94px,
|
||
transparent 94px,
|
||
transparent 168px
|
||
);
|
||
}
|
||
|
||
.asset-watermark.diagonal .asset-watermark-text,
|
||
.asset-watermark.repeat .asset-watermark-text {
|
||
transform: rotate(-24deg);
|
||
}
|
||
|
||
.asset-watermark.bottom-right {
|
||
align-items: flex-end;
|
||
justify-content: flex-end;
|
||
padding: 24px;
|
||
}
|
||
|
||
.asset-watermark.center {
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
|
||
.asset-watermark-text {
|
||
max-width: 86%;
|
||
color: #0f172a;
|
||
font-size: 32px;
|
||
font-weight: 850;
|
||
line-height: 1.35;
|
||
text-align: center;
|
||
word-break: break-word;
|
||
}
|
||
|
||
.asset-security-strip {
|
||
margin-top: 16px;
|
||
padding: 18px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 18px;
|
||
background: var(--tiku-card-soft);
|
||
}
|
||
|
||
.scoreline-filter-panel {
|
||
padding: 24px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 24px;
|
||
background: #fff;
|
||
box-shadow: var(--tiku-shadow);
|
||
}
|
||
|
||
.scoreline-filter-group {
|
||
margin-top: 18px;
|
||
}
|
||
|
||
.scoreline-filter-label {
|
||
display: block;
|
||
margin-bottom: 10px;
|
||
color: #334155;
|
||
font-size: 22px;
|
||
font-weight: 820;
|
||
line-height: 1.25;
|
||
}
|
||
|
||
.scoreline-chip-row {
|
||
display: flex;
|
||
gap: 10px;
|
||
overflow-x: auto;
|
||
padding-bottom: 8px;
|
||
}
|
||
|
||
.scoreline-chip-row.compact {
|
||
flex-wrap: wrap;
|
||
overflow-x: visible;
|
||
padding-bottom: 0;
|
||
}
|
||
|
||
.scoreline-chip {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
flex: 0 0 auto;
|
||
max-width: 320px;
|
||
min-width: 112px;
|
||
height: 58px;
|
||
padding: 0 16px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 999px;
|
||
background: var(--tiku-card-soft);
|
||
}
|
||
|
||
.scoreline-chip.small {
|
||
min-width: 96px;
|
||
height: 52px;
|
||
padding: 0 14px;
|
||
}
|
||
|
||
.scoreline-chip.active {
|
||
border-color: var(--tiku-primary);
|
||
background: var(--tiku-primary-soft);
|
||
}
|
||
|
||
.scoreline-chip.warn {
|
||
border-color: #f59e0b;
|
||
background: #fffbeb;
|
||
}
|
||
|
||
.scoreline-chip-text {
|
||
min-width: 0;
|
||
color: #0f172a;
|
||
font-size: 22px;
|
||
font-weight: 760;
|
||
line-height: 1.25;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.scoreline-chip.active .scoreline-chip-text {
|
||
color: var(--tiku-primary);
|
||
}
|
||
|
||
.scoreline-field-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||
gap: 16px;
|
||
margin-top: 20px;
|
||
}
|
||
|
||
.scoreline-field-filter {
|
||
min-width: 0;
|
||
}
|
||
|
||
.scoreline-input {
|
||
box-sizing: border-box;
|
||
height: 64px;
|
||
font-size: 24px;
|
||
}
|
||
|
||
.scoreline-search-button {
|
||
margin-top: 20px;
|
||
}
|
||
|
||
.scoreline-trend-strip {
|
||
display: flex;
|
||
gap: 12px;
|
||
overflow-x: auto;
|
||
padding-bottom: 8px;
|
||
}
|
||
|
||
.scoreline-trend-item {
|
||
flex: 0 0 230px;
|
||
min-height: 116px;
|
||
padding: 18px;
|
||
border: 1px solid #bfdbfe;
|
||
border-radius: 22px;
|
||
background: linear-gradient(135deg, #eff6ff, #fff);
|
||
}
|
||
|
||
.scoreline-trend-year {
|
||
display: block;
|
||
color: var(--tiku-primary);
|
||
font-size: 24px;
|
||
font-weight: 850;
|
||
line-height: 1.25;
|
||
}
|
||
|
||
.scoreline-trend-value {
|
||
display: block;
|
||
margin-top: 8px;
|
||
color: #334155;
|
||
font-size: 20px;
|
||
line-height: 1.35;
|
||
word-break: break-word;
|
||
}
|
||
|
||
.scoreline-field-chip-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||
gap: 10px;
|
||
margin-top: 14px;
|
||
}
|
||
|
||
.scoreline-field-chip {
|
||
min-width: 0;
|
||
min-height: 74px;
|
||
padding: 12px 14px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 18px;
|
||
background: var(--tiku-card-soft);
|
||
}
|
||
|
||
.scoreline-field-name {
|
||
display: block;
|
||
color: var(--tiku-muted);
|
||
font-size: 19px;
|
||
line-height: 1.25;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.scoreline-field-value {
|
||
display: block;
|
||
margin-top: 4px;
|
||
color: #0f172a;
|
||
font-size: 23px;
|
||
font-weight: 820;
|
||
line-height: 1.25;
|
||
word-break: break-word;
|
||
}
|
||
|
||
@media (max-width: 640px) {
|
||
.scoreline-field-grid,
|
||
.scoreline-field-chip-grid {
|
||
grid-template-columns: minmax(0, 1fr);
|
||
}
|
||
}
|
||
|
||
.points-list {
|
||
gap: 16px;
|
||
}
|
||
|
||
.points-list .list-row {
|
||
border-color: #bfdbfe;
|
||
background: linear-gradient(135deg, #eff6ff, #fff);
|
||
}
|
||
|
||
.points-list .list-row:nth-child(2n) {
|
||
border-color: #bbf7d0;
|
||
background: linear-gradient(135deg, #ecfdf5, #fff);
|
||
}
|
||
|
||
.scoreline-page .student-topbar {
|
||
align-items: flex-start;
|
||
}
|
||
|
||
.scoreline-page .student-title {
|
||
font-size: 40px;
|
||
}
|
||
|
||
.scoreline-page .secondary-button {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
/* Legacy web visual polish shared by student sub-pages. */
|
||
.student-page:not(.login-page) {
|
||
background:
|
||
linear-gradient(to right, rgba(15, 23, 42, 0.032) 1px, transparent 1px),
|
||
linear-gradient(to bottom, rgba(15, 23, 42, 0.032) 1px, transparent 1px),
|
||
#f4f6f9;
|
||
background-size: 40px 40px;
|
||
}
|
||
|
||
.student-topbar {
|
||
padding: 4px 0 2px;
|
||
}
|
||
|
||
.student-kicker {
|
||
color: #1152d4;
|
||
font-size: 18px;
|
||
font-weight: 900;
|
||
}
|
||
|
||
.student-title {
|
||
color: #111827;
|
||
font-size: 36px;
|
||
font-weight: 950;
|
||
}
|
||
|
||
.student-subtitle {
|
||
max-width: 820px;
|
||
color: #64748b;
|
||
font-size: 22px;
|
||
}
|
||
|
||
.section-block,
|
||
.section {
|
||
margin-top: 28px;
|
||
}
|
||
|
||
.section-heading,
|
||
.section-title {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 10px;
|
||
margin-bottom: 14px;
|
||
color: #111827;
|
||
font-size: 26px;
|
||
font-weight: 920;
|
||
}
|
||
|
||
.section-heading::before,
|
||
.section-title::before {
|
||
content: "";
|
||
width: 8px;
|
||
height: 24px;
|
||
border-radius: 999px;
|
||
background: #1152d4;
|
||
}
|
||
|
||
.quiet-panel,
|
||
.report-panel,
|
||
.metric,
|
||
.list-row,
|
||
.profile-card,
|
||
.asset-preview-panel,
|
||
.scoreline-filter-panel,
|
||
.trend-chart {
|
||
border-color: #f1f5f9;
|
||
border-radius: 16px;
|
||
background: #fff;
|
||
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
|
||
}
|
||
|
||
.quiet-panel,
|
||
.report-panel {
|
||
padding: 24px;
|
||
}
|
||
|
||
.list-row {
|
||
position: relative;
|
||
padding: 18px 20px;
|
||
transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease;
|
||
}
|
||
|
||
.list-row:nth-child(3n + 1),
|
||
.list-row:nth-child(3n + 2),
|
||
.list-row:nth-child(3n) {
|
||
border-color: #f1f5f9;
|
||
}
|
||
|
||
.list-row.active {
|
||
border-color: #bfdbfe;
|
||
background: #eff6ff;
|
||
box-shadow: 0 8px 18px rgba(17, 82, 212, 0.08);
|
||
}
|
||
|
||
.row-main {
|
||
color: #111827;
|
||
font-size: 25px;
|
||
font-weight: 850;
|
||
}
|
||
|
||
.row-meta {
|
||
color: #64748b;
|
||
font-size: 20px;
|
||
}
|
||
|
||
.metric {
|
||
min-height: 116px;
|
||
padding: 20px;
|
||
}
|
||
|
||
.compact-metric {
|
||
min-height: 96px;
|
||
padding: 16px;
|
||
}
|
||
|
||
.metric-value {
|
||
color: #111827;
|
||
font-size: 31px;
|
||
font-weight: 950;
|
||
}
|
||
|
||
.metric-label {
|
||
color: #94a3b8;
|
||
font-size: 18px;
|
||
font-weight: 760;
|
||
}
|
||
|
||
.primary-button,
|
||
.secondary-button,
|
||
.pill-button,
|
||
.danger-button {
|
||
height: 56px;
|
||
border-radius: 12px;
|
||
font-size: 21px;
|
||
font-weight: 850;
|
||
line-height: 56px;
|
||
}
|
||
|
||
.primary-button {
|
||
background: #1152d4;
|
||
box-shadow: 0 8px 18px rgba(17, 82, 212, 0.16);
|
||
}
|
||
|
||
.secondary-button,
|
||
.pill-button {
|
||
border-color: #e5e7eb;
|
||
color: #475569;
|
||
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03);
|
||
}
|
||
|
||
.secondary-button.active,
|
||
.pill-button.active {
|
||
border-color: #1152d4;
|
||
background: #eff6ff;
|
||
color: #1152d4;
|
||
}
|
||
|
||
.danger-button {
|
||
border-color: #fecaca;
|
||
background: #fff1f2;
|
||
color: #dc2626;
|
||
}
|
||
|
||
.status-badge {
|
||
min-height: 32px;
|
||
padding: 0 10px;
|
||
border-radius: 8px;
|
||
font-size: 18px;
|
||
font-weight: 850;
|
||
}
|
||
|
||
.input,
|
||
.textarea {
|
||
border-color: #e5e7eb;
|
||
border-radius: 12px;
|
||
background: #fff;
|
||
font-size: 22px;
|
||
}
|
||
|
||
.empty-state {
|
||
border-color: #dbeafe;
|
||
border-radius: 16px;
|
||
background: rgba(255, 255, 255, 0.78);
|
||
color: #64748b;
|
||
font-size: 21px;
|
||
}
|
||
|
||
.catalog-page .toolbar {
|
||
padding: 14px;
|
||
border: 1px solid #f1f5f9;
|
||
border-radius: 16px;
|
||
background: #fff;
|
||
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
|
||
}
|
||
|
||
.catalog-page .grid-two .metric {
|
||
min-height: 156px;
|
||
border-left: 4px solid #1152d4;
|
||
}
|
||
|
||
.catalog-page .grid-two .metric:nth-child(2n) {
|
||
border-left-color: #10b981;
|
||
}
|
||
|
||
.catalog-page .list-row::after,
|
||
.review-page .list-row::after,
|
||
.assets-page .list-row::after,
|
||
.video-page .list-row::after {
|
||
content: "›";
|
||
position: absolute;
|
||
right: 18px;
|
||
top: 50%;
|
||
color: #cbd5e1;
|
||
font-size: 34px;
|
||
font-weight: 400;
|
||
transform: translateY(-50%);
|
||
}
|
||
|
||
.catalog-page .list-row,
|
||
.assets-page .list-row {
|
||
padding-right: 52px;
|
||
}
|
||
|
||
.practice-page {
|
||
max-width: 960px;
|
||
}
|
||
|
||
.practice-page .student-topbar {
|
||
align-items: flex-start;
|
||
}
|
||
|
||
.practice-page .student-title {
|
||
font-size: 32px;
|
||
}
|
||
|
||
.practice-page > .quiet-panel:first-of-type {
|
||
border-color: #bfdbfe;
|
||
background: linear-gradient(135deg, #eff6ff, #fff);
|
||
}
|
||
|
||
.practice-page .list-stack > .quiet-panel:first-child {
|
||
padding: 26px;
|
||
border-radius: 18px;
|
||
}
|
||
|
||
.practice-page .list-stack > .quiet-panel:first-child .rich-paragraph {
|
||
color: #111827;
|
||
font-size: 30px;
|
||
font-weight: 760;
|
||
line-height: 1.7;
|
||
}
|
||
|
||
.practice-page .list-row {
|
||
padding: 16px;
|
||
border-width: 2px;
|
||
border-color: #f3f4f6;
|
||
border-radius: 14px;
|
||
background: rgba(248, 250, 252, 0.72);
|
||
box-shadow: none;
|
||
}
|
||
|
||
.practice-page .list-row.active {
|
||
border-color: #bfdbfe;
|
||
background: rgba(239, 246, 255, 0.9);
|
||
}
|
||
|
||
.practice-page .option-prefix {
|
||
flex-basis: 36px;
|
||
width: 36px;
|
||
height: 36px;
|
||
border: 1px solid #e5e7eb;
|
||
border-radius: 999px;
|
||
background: #fff;
|
||
color: #64748b;
|
||
font-size: 18px;
|
||
line-height: 36px;
|
||
}
|
||
|
||
.practice-page .list-row.active .option-prefix {
|
||
border-color: #1152d4;
|
||
background: #1152d4;
|
||
color: #fff;
|
||
}
|
||
|
||
.practice-page .answer-detail,
|
||
.reports-page .answer-detail {
|
||
border-color: #bbf7d0;
|
||
background: linear-gradient(135deg, #ecfdf5, #fff);
|
||
}
|
||
|
||
.practice-page .answer-detail-label,
|
||
.reports-page .answer-detail-label {
|
||
color: #047857;
|
||
}
|
||
|
||
.answer-sheet {
|
||
gap: 10px;
|
||
padding: 16px;
|
||
border: 1px solid #f1f5f9;
|
||
border-radius: 16px;
|
||
background: #fff;
|
||
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
|
||
}
|
||
|
||
.answer-card {
|
||
height: 46px;
|
||
border-radius: 12px;
|
||
font-size: 18px;
|
||
line-height: 46px;
|
||
}
|
||
|
||
.reports-page .report-panel,
|
||
.checkout-page .quiet-panel,
|
||
.profile-page .profile-card {
|
||
border-color: #bfdbfe;
|
||
background: linear-gradient(135deg, #eff6ff, #fff 74%);
|
||
}
|
||
|
||
.reports-page .report-panel > .metric-value,
|
||
.checkout-page .amount-text {
|
||
color: #1152d4;
|
||
font-size: 42px;
|
||
font-weight: 950;
|
||
}
|
||
|
||
.checkout-page .list-row.active {
|
||
border-color: #1152d4;
|
||
background: linear-gradient(135deg, #eff6ff, #fff);
|
||
}
|
||
|
||
.checkout-page .list-row.active::before {
|
||
content: "推荐";
|
||
position: absolute;
|
||
right: 18px;
|
||
top: 16px;
|
||
padding: 3px 9px;
|
||
border-radius: 7px;
|
||
background: #facc15;
|
||
color: #1f2937;
|
||
font-size: 15px;
|
||
font-weight: 900;
|
||
}
|
||
|
||
.profile-page > .grid-two {
|
||
margin-top: 18px;
|
||
}
|
||
|
||
.profile-avatar {
|
||
border-radius: 999px;
|
||
}
|
||
|
||
.avatar-choice {
|
||
border-radius: 14px;
|
||
background: #fff;
|
||
}
|
||
|
||
.trend-chart {
|
||
gap: 8px;
|
||
padding: 18px;
|
||
}
|
||
|
||
.trend-bar-track {
|
||
height: 112px;
|
||
}
|
||
|
||
.assets-page .list-row {
|
||
min-height: 128px;
|
||
}
|
||
|
||
.asset-preview-frame {
|
||
border-color: #f1f5f9;
|
||
background: #f8fafc;
|
||
}
|
||
|
||
.asset-security-strip {
|
||
border-color: #dbeafe;
|
||
background: #eff6ff;
|
||
}
|
||
|
||
.notifications-page .notification-row.active,
|
||
.profile-page .notification-row.active {
|
||
border-color: #bfdbfe;
|
||
background: #eff6ff;
|
||
}
|
||
|
||
.notifications-page .notification-summary-grid .metric:first-child .metric-value,
|
||
.profile-page .notification-toolbar + .list-stack .notification-row.active .row-main {
|
||
color: #1152d4;
|
||
}
|
||
|
||
.vocabulary-card {
|
||
border-color: #f1f5f9;
|
||
border-radius: 20px;
|
||
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
|
||
}
|
||
|
||
.vocabulary-card.revealed {
|
||
border-color: #bfdbfe;
|
||
background: linear-gradient(135deg, #eff6ff, #fff);
|
||
}
|
||
|
||
.vocabulary-word {
|
||
color: #111827;
|
||
font-size: 58px;
|
||
font-weight: 950;
|
||
}
|
||
|
||
.vocabulary-answer {
|
||
border-color: #f1f5f9;
|
||
border-radius: 16px;
|
||
background: #f8fafc;
|
||
}
|
||
|
||
.home-page .topbar {
|
||
padding: 2px 0 0;
|
||
}
|
||
|
||
.home-page .brand {
|
||
color: #111827;
|
||
letter-spacing: 0;
|
||
}
|
||
|
||
.home-page .subline {
|
||
color: #94a3b8;
|
||
}
|
||
|
||
.home-page .hero-band {
|
||
border-radius: 24px;
|
||
}
|
||
|
||
.home-page .home-stat-grid {
|
||
gap: 16px;
|
||
}
|
||
|
||
.home-page .home-stat {
|
||
border-color: #f1f5f9;
|
||
border-radius: 16px;
|
||
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
|
||
}
|
||
|
||
.home-page .entry-tile {
|
||
border-radius: 24px;
|
||
}
|
||
|
||
.handbook-page .student-subtitle,
|
||
.ai-school-page .student-subtitle,
|
||
.order-detail-page .student-subtitle,
|
||
.region-page .student-subtitle {
|
||
max-width: 720px;
|
||
}
|
||
|
||
.handbook-page .handbook-search-panel,
|
||
.ai-school-page .list-stack,
|
||
.order-detail-page .quiet-panel,
|
||
.region-page .list-stack {
|
||
border: 1px solid #f1f5f9;
|
||
border-radius: 16px;
|
||
background: #fff;
|
||
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
|
||
}
|
||
|
||
.handbook-page .handbook-search-panel {
|
||
padding: 14px;
|
||
}
|
||
|
||
.handbook-page .handbook-outline {
|
||
gap: 10px;
|
||
margin: 16px 0;
|
||
padding: 14px;
|
||
border: 1px solid #f1f5f9;
|
||
border-radius: 16px;
|
||
background: #fff;
|
||
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
|
||
}
|
||
|
||
.handbook-page .handbook-outline-chip {
|
||
min-height: 44px;
|
||
border-radius: 12px;
|
||
background: #f8fafc;
|
||
color: #475569;
|
||
}
|
||
|
||
.handbook-page .handbook-outline-chip.active {
|
||
background: #1e293b;
|
||
color: #fff;
|
||
box-shadow: 0 4px 12px rgba(15, 23, 42, 0.15);
|
||
}
|
||
|
||
.handbook-page .handbook-outline-index {
|
||
color: inherit;
|
||
font-weight: 900;
|
||
}
|
||
|
||
.handbook-page .handbook-entry-row {
|
||
border-left: 4px solid #1152d4;
|
||
}
|
||
|
||
.handbook-page .handbook-entry-row.active {
|
||
border-left-color: #10b981;
|
||
}
|
||
|
||
.handbook-page .handbook-search-snippet {
|
||
margin-top: 10px;
|
||
padding: 12px 14px;
|
||
border-radius: 12px;
|
||
background: #f8fafc;
|
||
color: #64748b;
|
||
font-size: 20px;
|
||
line-height: 1.6;
|
||
}
|
||
|
||
.handbook-page .handbook-highlight {
|
||
border-radius: 5px;
|
||
background: #fef3c7;
|
||
color: #92400e;
|
||
font-weight: 900;
|
||
}
|
||
|
||
.handbook-page .handbook-entry-body {
|
||
margin-top: 14px;
|
||
padding-top: 14px;
|
||
border-top: 1px solid #f1f5f9;
|
||
}
|
||
|
||
.ai-school-page .list-stack {
|
||
padding: 12px;
|
||
}
|
||
|
||
.ai-school-page .list-row {
|
||
box-shadow: none;
|
||
}
|
||
|
||
.ai-school-page .list-row .taro-input,
|
||
.ai-school-page .list-row .taro-textarea {
|
||
color: #111827;
|
||
font-size: 22px;
|
||
}
|
||
|
||
.ai-school-page .hero-band {
|
||
min-height: 220px;
|
||
margin: 0 0 16px;
|
||
border-radius: 24px;
|
||
background: linear-gradient(135deg, #1152d4, #2563eb 58%, #60a5fa);
|
||
}
|
||
|
||
.ai-school-page .hero-title {
|
||
font-size: 42px;
|
||
}
|
||
|
||
.ai-school-page .hero-copy {
|
||
max-width: 760px;
|
||
}
|
||
|
||
.ai-school-page .toolbar.compact-toolbar {
|
||
margin: 14px 0;
|
||
padding: 14px;
|
||
border: 1px solid #f1f5f9;
|
||
border-radius: 16px;
|
||
background: #fff;
|
||
}
|
||
|
||
.ai-school-page .section:last-child .list-row::after,
|
||
.region-page .list-row::after {
|
||
content: "›";
|
||
position: absolute;
|
||
right: 18px;
|
||
top: 50%;
|
||
color: #cbd5e1;
|
||
font-size: 34px;
|
||
transform: translateY(-50%);
|
||
}
|
||
|
||
.order-detail-page .quiet-panel {
|
||
border-color: #bfdbfe;
|
||
background: linear-gradient(135deg, #eff6ff, #fff 72%);
|
||
}
|
||
|
||
.order-detail-page .amount-text {
|
||
color: #1152d4;
|
||
font-size: 44px;
|
||
font-weight: 950;
|
||
}
|
||
|
||
.order-detail-page .checkout-actions {
|
||
margin-top: 18px;
|
||
padding-top: 16px;
|
||
border-top: 1px solid #dbeafe;
|
||
}
|
||
|
||
.order-detail-page .list-row {
|
||
min-height: 106px;
|
||
}
|
||
|
||
.region-page {
|
||
max-width: 880px;
|
||
}
|
||
|
||
.region-page .list-stack {
|
||
padding: 12px;
|
||
}
|
||
|
||
.region-page .list-row {
|
||
min-height: 112px;
|
||
padding: 20px 56px 20px 18px;
|
||
border-left: 4px solid #1152d4;
|
||
}
|
||
|
||
.region-page .list-row:nth-child(2n) {
|
||
border-left-color: #10b981;
|
||
}
|
||
|
||
.region-page .list-row:nth-child(3n) {
|
||
border-left-color: #f59e0b;
|
||
}
|
||
|
||
.region-page .list-row.active {
|
||
border-color: #1152d4;
|
||
background: linear-gradient(135deg, #eff6ff, #fff);
|
||
}
|
||
|
||
.region-page .list-row.active::before {
|
||
content: "当前";
|
||
position: absolute;
|
||
right: 50px;
|
||
top: 16px;
|
||
padding: 3px 9px;
|
||
border-radius: 7px;
|
||
background: #facc15;
|
||
color: #1f2937;
|
||
font-size: 15px;
|
||
font-weight: 900;
|
||
}
|
||
|
||
.notifications-page .notification-row,
|
||
.review-page .list-row,
|
||
.video-page .list-row {
|
||
border-left: 4px solid #1152d4;
|
||
}
|
||
|
||
.notifications-page .notification-row:nth-child(2n),
|
||
.review-page .list-row:nth-child(2n),
|
||
.video-page .list-row:nth-child(2n) {
|
||
border-left-color: #10b981;
|
||
}
|
||
|
||
.notifications-page .notification-row:nth-child(3n),
|
||
.review-page .list-row:nth-child(3n),
|
||
.video-page .list-row:nth-child(3n) {
|
||
border-left-color: #f59e0b;
|
||
}
|
||
|
||
.checkout-page .quiet-panel,
|
||
.reports-page .report-panel,
|
||
.profile-page .profile-card,
|
||
.vocabulary-overview-panel,
|
||
.scoreline-filter-panel {
|
||
overflow: hidden;
|
||
}
|
||
|
||
.checkout-page .quiet-panel::before,
|
||
.reports-page .report-panel::before,
|
||
.profile-page .profile-card::before,
|
||
.vocabulary-overview-panel::before,
|
||
.scoreline-filter-panel::before {
|
||
content: "";
|
||
display: block;
|
||
width: 56px;
|
||
height: 4px;
|
||
margin-bottom: 16px;
|
||
border-radius: 999px;
|
||
background: #1152d4;
|
||
}
|
||
|
||
.assets-page .asset-preview-panel,
|
||
.scoreline-page .scoreline-filter-panel,
|
||
.vocabulary-page .vocabulary-card,
|
||
.handbook-page .handbook-search-panel {
|
||
border-top: 4px solid #1152d4;
|
||
}
|
||
|
||
.video-page .video-frame {
|
||
border-radius: 16px;
|
||
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
|
||
}
|
||
|
||
.student-page .toolbar::-webkit-scrollbar,
|
||
.scoreline-chip-row::-webkit-scrollbar,
|
||
.handbook-outline::-webkit-scrollbar {
|
||
height: 6px;
|
||
}
|
||
|
||
.student-page .toolbar::-webkit-scrollbar-thumb,
|
||
.scoreline-chip-row::-webkit-scrollbar-thumb,
|
||
.handbook-outline::-webkit-scrollbar-thumb {
|
||
border-radius: 999px;
|
||
background: #cbd5e1;
|
||
}
|
||
|
||
@media (min-width: 900px) {
|
||
.student-page {
|
||
width: 100%;
|
||
max-width: 1180px;
|
||
margin: 0 auto;
|
||
padding: 36px;
|
||
}
|
||
|
||
.student-topbar {
|
||
margin-bottom: 28px;
|
||
}
|
||
|
||
.student-title {
|
||
font-size: 42px;
|
||
}
|
||
|
||
.login-page {
|
||
grid-template-columns: minmax(0, 1fr) 430px;
|
||
align-items: stretch;
|
||
max-width: 1040px;
|
||
gap: 0;
|
||
padding: 56px;
|
||
}
|
||
|
||
.login-hero {
|
||
min-height: 620px;
|
||
border-radius: 24px 0 0 24px;
|
||
}
|
||
|
||
.login-title {
|
||
margin-top: 12px;
|
||
font-size: 48px;
|
||
}
|
||
|
||
.login-card {
|
||
justify-content: center;
|
||
min-height: 620px;
|
||
border-left: 0;
|
||
border-radius: 0 24px 24px 0;
|
||
padding: 40px;
|
||
}
|
||
|
||
.login-page-admin .login-hero {
|
||
border-radius: 24px 0 0 24px;
|
||
}
|
||
|
||
.login-card .input {
|
||
height: 52px;
|
||
font-size: 15px;
|
||
}
|
||
|
||
.login-card .primary-button,
|
||
.login-card .secondary-button {
|
||
height: 46px;
|
||
font-size: 14px;
|
||
line-height: 46px;
|
||
}
|
||
|
||
.student-topbar {
|
||
padding: 20px 24px;
|
||
border: 1px solid #f1f5f9;
|
||
border-radius: 18px;
|
||
background: rgba(255, 255, 255, 0.88);
|
||
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
|
||
}
|
||
|
||
.student-page > .toolbar,
|
||
.student-page > .section-block > .toolbar {
|
||
padding: 14px;
|
||
border: 1px solid var(--tiku-border);
|
||
border-radius: 16px;
|
||
background: #fff;
|
||
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
|
||
}
|
||
|
||
.quiet-panel,
|
||
.report-panel,
|
||
.scoreline-filter-panel,
|
||
.asset-preview-panel {
|
||
border-radius: 18px;
|
||
}
|
||
|
||
.answer-sheet {
|
||
grid-template-columns: repeat(10, minmax(0, 1fr));
|
||
}
|
||
|
||
.toolbar.wrap {
|
||
gap: 14px;
|
||
}
|
||
|
||
.student-page .section-block.grid-two,
|
||
.student-page > .grid-two {
|
||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||
}
|
||
|
||
.vocabulary-word-grid {
|
||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||
}
|
||
|
||
.asset-preview-panel {
|
||
padding: 30px;
|
||
}
|
||
|
||
.profile-page > .grid-two,
|
||
.reports-page .grid-two,
|
||
.notifications-page .notification-summary-grid,
|
||
.vocabulary-stats-grid {
|
||
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||
}
|
||
}
|
||
|
||
@media (max-width: 420px) {
|
||
.student-page {
|
||
padding: 20px;
|
||
}
|
||
|
||
.student-title {
|
||
font-size: 34px;
|
||
}
|
||
|
||
.student-subtitle,
|
||
.row-meta {
|
||
font-size: 21px;
|
||
}
|
||
|
||
.student-topbar,
|
||
.amount-row,
|
||
.split-row {
|
||
flex-direction: column;
|
||
align-items: stretch;
|
||
}
|
||
|
||
.toolbar,
|
||
.toolbar.wrap,
|
||
.checkout-toolbar,
|
||
.handbook-search-panel {
|
||
flex-wrap: wrap;
|
||
overflow-x: visible;
|
||
}
|
||
|
||
.grid-two,
|
||
.vocabulary-word-grid,
|
||
.avatar-choice-grid {
|
||
grid-template-columns: minmax(0, 1fr);
|
||
}
|
||
|
||
.primary-button,
|
||
.secondary-button,
|
||
.pill-button,
|
||
.danger-button {
|
||
min-width: 0;
|
||
flex: 1 1 150px;
|
||
}
|
||
|
||
.login-card .toolbar .secondary-button {
|
||
flex: 0 0 86px;
|
||
}
|
||
|
||
.asset-preview-frame,
|
||
.asset-preview-iframe {
|
||
min-height: 520px;
|
||
height: 520px;
|
||
}
|
||
|
||
.practice-page .toolbar.wrap {
|
||
gap: 10px;
|
||
}
|
||
|
||
.reports-page .report-panel > .metric-value,
|
||
.checkout-page .amount-text {
|
||
font-size: 36px;
|
||
}
|
||
}
|