.member-page{min-height:100dvh;display:flex;flex-direction:column}.member-header{height:91px;max-width:1360px;width:100%;padding:0 5%;margin:auto;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.member-header .brand{font-size:20px;letter-spacing:2px}.desk-label{font-size:9px;letter-spacing:1.8px;color:var(--muted);border-left:1px solid var(--line);padding-left:27px}#account-tools{margin-left:auto;display:flex;align-items:center;gap:20px;font-size:11px}#member-main{flex:1}.member-footer{padding:28px 5%;border-top:1px solid var(--line);display:flex;gap:25px;align-items:center;font-size:11px;color:var(--muted)}.member-footer>span{font:italic 23px var(--serif);margin-right:auto}.member-footer button{background:none;font-size:11px}.member-footer a{text-decoration:none}.login-layout{max-width:1190px;margin:0 auto;display:grid;grid-template-columns:1fr 420px;gap:110px;padding:95px 40px 100px;align-items:center}.login-copy h1,.desk-heading h1{font-family:var(--serif);font-weight:400;font-size:72px;line-height:1.02;letter-spacing:-1.6px;margin:23px 0}.login-copy h1 em{font-weight:400}.login-copy>p{font-size:15px;color:#657366;line-height:1.8;max-width:410px}.login-steps{margin:40px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.login-steps li{display:flex;align-items:center;gap:24px;padding:17px 0;border-bottom:1px solid var(--line);font-size:13px}.login-steps span{font-family:var(--serif);font-size:24px;color:#879976}.login-card{padding:37px;background:#fffef9;border:1px solid var(--line);border-radius:9px;box-shadow:0 15px 45px #203b3206}.login-card h2{font:38px var(--serif);margin:15px 0}.login-card p{font-size:12px;line-height:1.8;color:#677564}.lock-mark{width:48px;height:48px;background:var(--sage);border-radius:50%;display:grid;place-items:center;font:27px var(--serif)}.portal-form label{display:block;font-size:12px;font-weight:500;margin:21px 0 8px}.portal-form input,.portal-form textarea,.portal-form select{display:block;width:100%;background:#fffef9;border:1px solid #bac6b3;border-radius:4px;padding:12px 13px;color:var(--ink);font-size:13px}.portal-form textarea{resize:vertical;line-height:1.7;min-height:95px}.portal-form input:focus,.portal-form textarea:focus,.portal-form select:focus{outline:2px solid #a8bc85;outline-offset:2px}.portal-form .button{margin-top:22px}.portal-form .help{font-size:11px;color:var(--muted);line-height:1.7;margin:8px 0}.login-card .button{width:100%;justify-content:center}.form-message{font-size:12px;line-height:1.7;margin:17px 0 0;white-space:pre-line}.form-message.error{color:#974632}.form-message:empty{display:none}.login-note{padding-top:20px;border-top:1px solid var(--line);margin-top:24px!important}.loading-state,.empty-state{text-align:center;padding:65px 25px;color:var(--muted);font-size:14px;line-height:1.8}.empty-state h3{font:32px var(--serif);color:var(--ink);margin:0 0 10px}.empty-state p{margin:0 auto;max-width:440px}.desk{max-width:1280px;margin:auto;padding:44px 5% 80px}.desk-heading{display:flex;justify-content:space-between;align-items:center;gap:25px}.desk-heading h1{font-size:56px;margin:13px 0 15px}.desk-heading p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}.desk-actions{display:flex;gap:10px}.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);margin:30px 0;border:1px solid var(--line);background:#eeefe6;border-radius:6px}.stat{padding:22px 28px;border-right:1px solid var(--line);display:flex;align-items:center;gap:18px}.stat:last-child{border:0}.stat strong{font:37px var(--serif)}.stat span{font-size:11px;color:var(--muted)}.desk-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin:26px 0}.desk-tabs button{background:none;padding:14px 0;font-size:12px;border-bottom:2px solid transparent}.desk-tabs button[aria-pressed=true]{border-bottom-color:var(--ink);font-weight:600}.filter-bar{display:flex;gap:14px;align-items:center;margin:0 0 22px}.filter-bar label{font-size:11px}.filter-bar select{width:auto;min-width:180px;background:var(--paper)}.assignment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.assignment-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid var(--line);background:#fffef8;border-radius:6px;padding:26px;width:100%;min-height:222px;transition:border .2s,transform .2s}.assignment-card:hover{border-color:#a2b68b;transform:translateY(-2px)}.card-top{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%}.card-kicker{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.assignment-card h2{font:32px var(--serif);margin:23px 0 14px;line-height:1.1}.assignment-card p{font-size:12px;color:var(--muted);line-height:1.6;margin:0 0 20px}.card-bottom{margin-top:auto;display:flex;justify-content:space-between;width:100%;align-items:center;font-size:11px;color:var(--muted)}.card-bottom b{font-size:22px;color:var(--ink);font-weight:400}.badge{font-size:9px;line-height:1.5;border:1px solid #d3dcc6;padding:5px 8px;border-radius:20px;white-space:nowrap;background:#f1f3e9}.badge.submitted{background:#e5ecf0;border-color:#ccdce0;color:#3f626b}.badge.revision{background:#f4e9d6;border-color:#e3d1ac;color:#82632a}.badge.completed{background:#e5edd9;color:#45622e}.unread{display:inline-block;width:6px;height:6px;background:#a97126;border-radius:100%;margin-right:5px}.back-button{background:none;font-size:12px;padding:5px 0;margin-bottom:26px}.task-title h1{font:49px var(--serif);margin:14px 0}.task-meta{display:flex;align-items:center;gap:14px;font-size:11px;color:var(--muted);flex-wrap:wrap}.task-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:38px;margin-top:35px}.task-panel{min-width:0}.task-brief{background:#e9eddf;border-radius:6px;padding:24px;margin-bottom:24px}.task-brief h2,.answer-panel h2,.feedback-box h3{font:29px var(--serif);margin:0 0 12px}.task-brief p,.answer-text{font-size:13px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}.task-brief p{margin:0}.position-area{max-width:510px;margin:auto}.member-board{aspect-ratio:1;display:grid;grid-template-columns:repeat(8,1fr);border:6px solid #e0e5d7;border-radius:4px;overflow:hidden}.member-board .square{aspect-ratio:1;border-radius:0;padding:0;position:relative;display:grid;place-items:center;min-width:0;background:#e8eadd}.member-board .square.dark{background:#8fa78f}.member-board .square.selected{box-shadow:inset 0 0 0 4px #d8da70}.member-board .piece{font-size:clamp(26px,4vw,50px);font-family:Georgia,'Times New Roman',serif;line-height:1}.member-board .white-piece{color:#fffef3;text-shadow:0 1px 1px #1a3125,1px 0 #1a3125,-1px 0 #1a3125}.member-board .black-piece{color:#20382c;text-shadow:0 1px #dde7d3}.square .coord{position:absolute;left:3px;bottom:2px;font-size:8px;color:#2e4833}.board-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;margin:11px 0}.board-toolbar button{background:none;font-size:11px;padding:8px}.board-status{font-size:11px;color:var(--muted);text-align:center;line-height:1.8}.analysis-line{font-size:11px;line-height:1.8;overflow-wrap:anywhere;color:#62735a;min-height:23px}.answer-panel{border:1px solid var(--line);border-radius:6px;padding:27px;background:#fffef9}.answer-actions{display:flex;gap:13px;flex-wrap:wrap;align-items:center}.answer-actions .button{margin-top:16px}.feedback-box{padding:24px;background:#e7eddd;border-left:3px solid #90a76f;border-radius:3px;margin:22px 0}.feedback-box .eyebrow{margin-bottom:13px}.feedback-box p{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.feedback-box h4{font-size:11px;margin:19px 0 6px}.history{margin-top:25px;border-top:1px solid var(--line)}.history summary{cursor:pointer;padding:18px 0;font-size:12px}.submission{padding:20px 0;border-bottom:1px solid var(--line)}.submission h3{font-size:11px;margin:0 0 18px}.submission h4{font-size:11px;color:var(--muted);margin:18px 0 5px}.submission p{margin:0;font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.submission pre{max-height:140px;overflow:auto;white-space:pre-wrap;font-size:11px;padding:13px;background:#edf0e7}.roster-row{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:22px 0}.roster-row h3{font:26px var(--serif);margin:0 0 5px}.roster-row p{font-size:11px;color:var(--muted);margin:5px 0;overflow-wrap:anywhere}.roster-row .row-actions{display:flex;gap:12px;align-items:center}.row-actions button{font-size:11px;background:var(--sage);padding:9px 12px;border-radius:4px}.section-title{font:33px var(--serif);margin:32px 0 10px}.notice{padding:16px 20px;border:1px solid #dfd0ac;background:#f4eedf;font-size:12px;line-height:1.8;border-radius:5px;margin:20px 0}.muted-copy{font-size:12px;color:var(--muted);line-height:1.8}#portal-dialog{width:min(660px,94vw);padding:38px;max-height:90dvh}#portal-dialog h2{font:38px var(--serif);margin:8px 35px 15px 0}#portal-dialog .dialog-close{position:absolute;right:15px;top:15px}#portal-dialog .intro{font-size:13px;line-height:1.8;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid>div{min-width:0}.button:disabled{opacity:.55;cursor:wait}.text-button:disabled{opacity:.55}.promote-choices{display:flex;gap:10px}.promote-choices button{padding:12px;background:var(--sage)}#member-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--ink);color:var(--paper);font-size:12px;padding:13px 22px;border-radius:5px;box-shadow:0 7px 25px #18302422;z-index:150;max-width:90vw}#member-toast:empty{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:focus-visible,a:focus-visible{outline:2px solid #839a68;outline-offset:4px}
@media(max-width:900px){.login-layout{gap:45px;grid-template-columns:1fr 360px;padding:65px 30px}.login-copy h1{font-size:62px}.login-card{padding:29px}.task-layout{gap:25px}.desk-heading h1{font-size:48px}.desk-actions{flex-direction:column}.stat{padding:19px}.desk-label{display:none}.member-header{height:78px}.assignment-card h2{font-size:29px}}@media(max-width:650px){.member-header{padding:0 22px}.member-header .brand{font-size:16px;gap:8px}.member-header img{width:27px;height:27px}#account-tools{gap:12px}#account-tools .account-name{display:none}.login-layout{display:flex;flex-direction:column;gap:30px;padding:42px 24px 55px}.login-copy h1{font-size:61px}.login-copy>p{font-size:14px}.login-steps{display:none}.login-card{width:100%;max-width:420px;padding:28px}.desk{padding:32px 22px 50px}.desk-heading{align-items:flex-start}.desk-heading h1{font-size:42px}.desk-heading p{font-size:12px}.desk-actions .button{padding:10px 12px;font-size:10px;gap:7px}.stat-strip{margin:26px 0 18px}.stat{padding:17px 12px;display:block}.stat strong{font-size:30px;display:block}.stat span{font-size:9px}.desk-tabs{gap:22px}.assignment-list{grid-template-columns:1fr}.assignment-card{min-height:200px;padding:22px}.task-layout{grid-template-columns:1fr;gap:24px;margin-top:25px}.task-title h1{font-size:40px}.answer-panel{padding:22px}.member-board .piece{font-size:clamp(28px,10vw,49px)}.filter-bar{flex-wrap:wrap}.filter-bar select{min-width:140px;max-width:100%}.roster-row{align-items:flex-start;flex-wrap:wrap}.roster-row .row-actions{margin-left:auto}.member-footer{padding:25px 22px;gap:17px;flex-wrap:wrap;font-size:10px}.member-footer>span{width:100%;font-size:22px}.member-footer button{font-size:10px}#portal-dialog{padding:31px 23px}.form-grid{grid-template-columns:1fr;gap:0}}
.auth-links{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:22px}.auth-links .text-button,.password-toggle{font-size:12px;background:none;padding:0;text-align:left;text-decoration:underline;text-underline-offset:3px}.password-toggle{display:block;margin-top:12px}#account-tools .text-button{white-space:nowrap}@media(max-width:650px){#account-tools{gap:10px}#account-tools .text-button{font-size:10px}.member-header{gap:12px}}@media(min-width:651px) and (max-width:1000px){.member-header .account-name{display:none}}

.core-method{margin:18px 0;padding:15px 17px;background:#edf0e5;border:1px solid #c7d0bc;border-radius:5px;font-size:12px;line-height:1.75}.core-method summary{cursor:pointer;font-weight:600}.core-method ol{padding-left:19px}.core-method li{margin:12px 0}.core-method p{margin:12px 0}.core-method a{color:inherit}
