.student-page{max-width:1240px;margin:0 auto}.student-bar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-8)}.student-bar b{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:19px}.student-bar .cycle{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-45)}.student-profile{margin-left:auto;display:flex;align-items:center;gap:var(--space-3)}.student-profile .name{font-size:13px;color:var(--ink-55)}.student-avatar{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--color-text);display:grid;place-items:center;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px}.student-main{padding:var(--space-6) var(--space-8) var(--space-8)}.assign-head{display:flex;align-items:flex-end;gap:var(--space-6);margin-bottom:var(--space-8)}.assign-head h1{font-size:40px;margin:0 0 var(--space-1)}.assign-head .sub{margin:0;font-size:14.5px;line-height:1.6;font-style:italic;color:color-mix(in srgb,var(--color-text) 58%,transparent)}.assign-level{margin-left:auto;text-align:right}.assign-level .value{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:22px}.assign-level .value .dot{color:var(--color-process-yellow)}.assign-level .value .from{font-size:14px;font-weight:400;font-style:italic;color:var(--ink-55)}.assign-list{display:flex;flex-direction:column;gap:var(--space-2)}.assign-row{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-6);border:1px solid color-mix(in srgb,var(--color-text) 16%,transparent);border-radius:var(--app-radius)}.assign-plate{flex:none;width:52px;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:26px;color:color-mix(in srgb,var(--color-text) 32%,transparent)}.assign-body{flex:1 1;min-width:0}.assign-titles{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.assign-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;color:var(--ink-70)}.assign-state{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-45)}.assign-state-dot{margin:0 .5em}.assign-level{color:var(--color-text);font-weight:600}.assign-unread{display:inline-flex;align-items:center;gap:5px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.assign-unread:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--color-process-yellow)}.assign-meta{margin:3px 0 0;font-size:13px;color:color-mix(in srgb,var(--color-text) 50%,transparent)}.assign-action{flex:none}.assign-row.is-progress{padding:var(--space-6);border:1.5px solid var(--color-text);box-shadow:0 3px 18px color-mix(in srgb,var(--color-text) 9%,transparent)}.assign-row.is-progress .assign-plate,.assign-row.is-progress .assign-state,.assign-row.is-progress .assign-title{color:var(--color-text)}.assign-row.is-progress .assign-title{font-size:19px}.assign-row.is-progress .assign-meta{margin-top:4px;font-size:13.5px;color:color-mix(in srgb,var(--color-text) 62%,transparent)}.assign-ticks{display:flex;gap:5px;align-items:flex-end;height:8px;margin-top:var(--space-2)}.assign-ticks span{width:44px;height:2px;background:color-mix(in srgb,var(--color-text) 18%,transparent)}.assign-ticks span.done{height:3px;background:var(--color-text)}.assign-ticks span.current{height:5px;background:var(--color-process-yellow)}.assign-go{padding:var(--space-3) var(--space-6)}.assign-row.is-unlocked{border-color:color-mix(in srgb,var(--color-text) 30%,transparent)}.assign-row.is-unlocked .assign-plate{color:color-mix(in srgb,var(--color-text) 60%,transparent)}.assign-row.is-unlocked .assign-title{color:var(--color-text)}.assign-row.is-unlocked .assign-meta,.assign-row.is-unlocked .assign-state{color:var(--ink-55)}.assign-start{border-color:var(--color-text)}.assign-review{border-color:color-mix(in srgb,var(--color-text) 35%,transparent)}.assign-row.is-locked{border-style:dashed;border-color:color-mix(in srgb,var(--color-text) 20%,transparent);background:none}.assign-row.is-locked .assign-plate{color:var(--ink-22)}.assign-row.is-locked .assign-title{color:color-mix(in srgb,var(--color-text) 40%,transparent)}.assign-row.is-locked .assign-state{color:color-mix(in srgb,var(--color-text) 35%,transparent)}.assign-row.is-locked .assign-meta{font-style:italic;color:color-mix(in srgb,var(--color-text) 40%,transparent)}.assign-locked-word{flex:none;font-size:13.5px;color:color-mix(in srgb,var(--color-text) 32%,transparent)}.assign-footer{margin:var(--space-8) 0 0;font-size:13.5px;line-height:1.7;font-style:italic;color:color-mix(in srgb,var(--color-text) 50%,transparent)}.study-column{max-width:820px}.study-head{margin-bottom:var(--space-6)}.study-head h1{font-size:32px;margin:var(--space-1) 0 var(--space-2)}.study-head .sub{margin:0;font-size:14.5px;line-height:1.7;font-style:italic;color:color-mix(in srgb,var(--color-text) 58%,transparent)}.study-block{padding:var(--space-6);border:1px solid var(--ink-14);border-top:2px solid var(--color-process-yellow);border-radius:var(--app-radius);box-shadow:0 3px 18px color-mix(in srgb,var(--color-text) 9%,transparent)}.study-block-head{display:flex;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-2)}.study-block-head h2{font-size:19px;margin:0}.study-block-head .spacer{margin-left:auto}.study-note{margin:0 0 var(--space-4);font-size:13px;line-height:1.7;font-style:italic;color:var(--ink-55)}.study-rows{display:flex;flex-direction:column}.study-row{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid color-mix(in srgb,var(--color-text) 10%,transparent)}.study-row:last-child{border-bottom:0;padding-bottom:0}.study-row:first-child{padding-top:0}.study-row .body{flex:1 1;min-width:0}.study-row .title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:15px;margin-bottom:4px}.study-row p{margin:0;font-size:13px;line-height:1.7;color:color-mix(in srgb,var(--color-text) 68%,transparent)}.study-copy{flex:none;font-size:12.5px;padding:5px 14px;border-color:color-mix(in srgb,var(--color-text) 35%,transparent)}.study-copy[data-copied=true]{border-color:var(--color-process-yellow)}.study-actions{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-6)}.study-empty{margin:0;font-size:13.5px;line-height:1.7;font-style:italic;color:var(--ink-55)}@media (max-width:900px){.student-bar,.student-main{padding-left:var(--space-4);padding-right:var(--space-4)}.assign-head,.assign-row{flex-wrap:wrap}.assign-level{margin-left:0;text-align:left}.assign-body{flex-basis:100%}}.assign-skeleton{display:flex;flex-direction:column;gap:var(--space-2)}.assign-skeleton span{display:block;height:70px;border-radius:var(--app-radius);background:var(--ink-08)}.student-identity{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:inherit;border-radius:calc(var(--radius-lg) * 3)}.student-identity:hover .name{color:var(--color-text)}.student-identity:hover .student-avatar{background:color-mix(in srgb,var(--color-process-yellow) 22%,transparent)}.profile-head{margin-bottom:var(--space-6)}.profile-head h1{font-size:40px;margin:0 0 var(--space-2)}.profile-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:var(--space-5);gap:var(--space-5);max-width:760px;padding:var(--space-5) 0;border-top:1px solid color-mix(in srgb,var(--color-text) 14%,transparent);border-bottom:1px solid color-mix(in srgb,var(--color-text) 14%,transparent)}.profile-fact .kicker{display:block;margin-bottom:6px}.profile-fact b{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:19px}.profile-fact .none{font-style:italic;color:var(--ink-55);font-size:15px}.profile-progress{max-width:760px;margin-top:var(--space-6)}.profile-progress h2{font-size:19px;margin:0 0 var(--space-3)}.profile-progress ul{list-style:none;margin:0;padding:0}.profile-progress li{display:grid;grid-template-columns:28px minmax(0,1fr) 7.5rem 7.5rem;align-items:baseline;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid color-mix(in srgb,var(--color-text) 10%,transparent)}.profile-progress li:last-child{border-bottom:0}.profile-progress .plate{font-family:var(--font-heading);font-weight:var(--font-heading-weight);color:var(--ink-45);min-width:28px}.profile-progress .what{min-width:0}.profile-progress .level,.profile-progress .state{font-size:13px;color:var(--ink-55)}.profile-progress .level{color:var(--color-text);font-weight:600}.profile-actions{margin-top:var(--space-7);display:flex;gap:var(--space-4);align-items:center}