.class-main{max-width:1100px;margin:auto;padding:42px 24px 70px}.class-title{margin:18px 0 26px}.class-title h1{font-size:clamp(34px,6vw,56px);line-height:1.08;margin:12px 0}.class-title p{max-width:760px}.class-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px}.class-tabs a{border:1px solid #d4deda;border-radius:30px;padding:11px 18px;text-decoration:none;color:#123345}.class-tabs a[aria-current]{background:#123345;color:#fff}.class-grid,.start-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}.panel{margin-bottom:20px;padding:26px;border:1px solid #d4deda;border-radius:20px;background:#fff}.class-grid .panel,.start-grid .panel{margin:0}details>summary{cursor:pointer;font-weight:700;font-size:18px;padding:4px 0;min-height:28px}details[open]>summary{margin-bottom:18px}.class-main h2{font-size:24px;line-height:1.25;margin:14px 0}.class-main p{line-height:1.65}.class-main form{display:grid;gap:16px}.class-main .field{margin:0}.class-main textarea{resize:vertical;min-height:140px}.class-main input,.class-main textarea,.class-main select{max-width:100%;box-sizing:border-box}.badge{display:inline-block;border-radius:24px;background:#e8f0e9;color:#17494a;padding:7px 12px;font-size:12px}.muted,.fine{color:#526c78}.fine{font-size:13px;line-height:1.6}.back-link{display:inline-block;margin:0 0 15px;color:#123345}.work-card{display:flex;gap:16px;justify-content:space-between;text-decoration:none;color:#123345;align-items:center}.work-card h2{margin:12px 0}.work-card p{margin:8px 0}.work-card:hover,.note-card:hover{border-color:#b9470d}.note-card{color:#123345;text-decoration:none}.due{color:#925120;font-size:14px}.due-summary{background:#fff2db;border-radius:14px;padding:16px}.prose{line-height:1.8;overflow-wrap:anywhere;white-space:normal}.reading h2{font-size:clamp(26px,4vw,38px)}.join-code{font-size:clamp(22px,5vw,34px);letter-spacing:.12em;font-weight:800;color:#123345}.member-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid #e0e8e3}.member-row small{display:block;margin-top:8px}.member-row form{display:flex;flex-wrap:wrap;gap:10px}.answer{border-top:1px solid #dae3df;padding:18px 0}.answer summary{font-size:15px}.pagination{display:flex;justify-content:space-between;gap:20px}.class-main .quiet{border:1px solid #c8d5d0;background:#fff;border-radius:24px;padding:12px 17px;font:inherit;color:#123345;cursor:pointer;min-height:44px}.class-main .button{justify-self:start}.class-main .button.small{padding:10px 15px}.class-main *{overflow-wrap:anywhere}.class-main .check{align-items:flex-start}.class-main .check input{flex-shrink:0;margin-top:4px}.class-intro-video{width:100%;border-radius:14px;background:#123345}.class-main :focus-visible{outline:3px solid #d45b13;outline-offset:4px}@media(max-width:600px){.class-main{padding:24px 16px 50px}.class-grid,.start-grid{grid-template-columns:1fr}.panel{padding:20px;border-radius:16px}.member-row{align-items:flex-start;flex-direction:column}.class-tabs a{padding:10px 14px;font-size:14px}.account-header nav a:first-child{display:inline}.account-header .brand{width:130px}.account-header{gap:12px;flex-wrap:wrap}.account-header nav{gap:12px;font-size:12px}.class-main .button{max-width:100%;white-space:normal}.join-code{letter-spacing:.06em}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.class-main textarea{font:inherit;line-height:1.65;padding:14px;border:1px solid #bccdc5;border-radius:12px;width:100%;background:#fff;color:#123345}.class-main .join-code{font-size:clamp(20px,5vw,30px);letter-spacing:.08em}

.feedback-panel{border-top:1px solid #ccd9d4;margin-top:20px;padding-top:18px}.feedback-panel h3{font-size:1.15rem}.feedback-score{font-size:1.35rem;font-weight:700;color:#234c36}.feedback-points{display:grid;grid-template-columns:1fr 1fr;gap:14px}.feedback-pending{padding:12px;background:#fff1d4;border-radius:10px}.feedback-editor{margin:18px 0}.attempt-history{margin:18px 0}.grade-scroll{max-width:100%;overflow:auto}.grade-table{border-collapse:collapse;min-width:700px;width:100%;text-align:left}.grade-table th,.grade-table td{padding:14px;border-bottom:1px solid #ccd9d4;vertical-align:top}.grade-table th small{display:block;font-weight:400;margin-top:4px}.grade-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}.grade-cards .panel{min-width:0}.grade-cards h3{font-size:1.1rem}[data-invite-url]{width:100%;box-sizing:border-box}@media(max-width:600px){.feedback-points{grid-template-columns:1fr}.feedback-panel .button{max-width:100%;white-space:normal}}
