/* A calendar folio: one bold week, a perforated edge and a navigable strip. */
.week-desk{grid-template-columns:240px minmax(0,1fr);gap:45px;align-items:center;padding-top:36px}.course-picks button{font-size:18px;padding:19px 0}.course-picks button[aria-pressed=true]{padding-left:0}.week-choice>.mono{font-size:8px;line-height:1.8}.week-sheet{position:relative;border:0;min-height:420px;padding:31px 31px 28px 200px;background:#f4b49a;clip-path:polygon(0 0,calc(100% - 20px) 0,calc(100% - 20px) 12px,100% 12px,100% calc(100% - 20px),calc(100% - 12px) calc(100% - 20px),calc(100% - 12px) 100%,0 100%);box-shadow:none;transition:background-color .35s}.week-sheet::before{content:'';display:block;position:absolute;top:22px;bottom:22px;left:175px;width:0;height:auto;border-left:1px dashed #24231f65;background:none;transform:none;clip-path:none}.week-sheet::after{content:'';display:block;position:absolute;width:24px;height:24px;border:0;background:var(--page-tint);border-radius:50%;top:-12px;left:163px;inset:auto auto auto 163px;top:-12px;z-index:auto}.week-sheet>.mono{font-size:8px;letter-spacing:.06em}.week-leaf{position:absolute;left:22px;top:29px;bottom:28px;width:132px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:17px}.week-leaf>.mono{font-size:9px}.week-number{font-family:'Handjet',sans-serif;font-weight:800;font-size:154px;letter-spacing:-6px;line-height:.8}.week-leaf .week-range{font-family:'IBM Plex Mono',monospace;font-size:10px;line-height:1.8;text-align:center;border-top:1px solid #24231f50;padding-top:16px;min-width:90px}.week-leaf .week-year{font-size:8px;margin-top:auto}.week-leaf .week-number{margin-top:auto}.week-sheet h3{font-size:34px;line-height:1.03;max-width:calc(100% - 80px);margin:24px 0 15px;min-height:68px;letter-spacing:-1.4px}.week-sheet p{font-size:14px;line-height:1.55;max-width:calc(100% - 45px);min-height:43px;margin:12px 0 21px}.course-sketch{width:85px;right:19px;top:53px;transform:rotate(9deg)}.week-selection{grid-template-columns:1fr auto;align-items:center;margin:10px 0 21px;gap:9px 16px}.week-selection label{font-size:8px}.week-selection select{width:165px;border:0;border-bottom:1px solid var(--ink);padding:8px 20px 8px 0;font-size:11px;background:none;cursor:pointer}.week-selection>span{display:none}.week-strip{display:flex;gap:6px;align-items:center;grid-column:1/-1}.week-strip button{flex:1;min-width:0;max-width:55px;height:42px;background:none;border:1px solid #24231f40;font-family:'IBM Plex Mono',monospace;font-size:12px;transition:background .2s,color .2s,transform .2s}.week-strip button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:translateY(-4px);box-shadow:0 4px 0 #24231f25}.week-strip button:hover{background:#f8f5ed80}.week-strip button[aria-pressed=true]:hover{background:var(--ink)}.week-strip .week-step{border:0;font-size:23px;flex:0 0 27px}.week-strip button:disabled{opacity:.3;cursor:default}.week-sheet #week-open{background:var(--ink);color:var(--paper);padding:13px 17px;border:0;min-height:48px;gap:30px}.week-sheet #week-open:hover{background:#f8f5ed;color:var(--ink)}.sheet-footer{border-top-color:#24231f45;gap:13px;justify-content:start;font-size:10px;margin-top:24px;padding-top:13px}#week-resume{font-size:10px;padding-bottom:13px}.week-section .section-heading{margin-bottom:28px}.week-section .calendar-note{box-shadow:none;transform:rotate(2deg);padding:17px 20px}.week-section .section-heading h2{font-size:clamp(40px,4.7vw,65px)}.week-section .section-heading .hand{font-size:28px}.sheet-changing{animation:calendar-turn .35s cubic-bezier(.2,.75,.2,1)}@keyframes calendar-turn{from{transform:translateX(12px) rotate(1deg);opacity:.65}to{transform:none;opacity:1}}
@media(max-width:1050px){.week-desk{grid-template-columns:200px minmax(0,1fr);gap:30px}.week-sheet{padding-left:165px;padding-right:23px}.week-sheet::before{left:145px}.week-sheet::after{left:133px}.week-leaf{left:15px;width:110px}.week-number{font-size:135px}.week-sheet h3{font-size:29px}.week-strip{gap:4px}.course-sketch{width:70px;right:13px}.week-sheet p{max-width:100%}.course-picks button{font-size:16px}}
@media(max-width:760px){.week-desk{grid-template-columns:1fr;gap:22px}.course-picks{grid-template-columns:1fr 1fr;gap:0 15px}.course-picks button{font-size:13px;padding:15px 0;gap:5px}.week-sheet{padding:25px 21px 24px 106px;min-height:420px;clip-path:polygon(0 0,calc(100% - 14px) 0,calc(100% - 14px) 10px,100% 10px,100% calc(100% - 14px),calc(100% - 10px) calc(100% - 14px),calc(100% - 10px) 100%,0 100%)}.week-sheet::before{left:89px;top:18px;bottom:18px}.week-sheet::after{left:77px}.week-leaf{left:8px;width:71px;top:27px;bottom:25px;gap:14px}.week-number{font-size:90px;letter-spacing:-3px}.week-leaf>.mono{font-size:7px}.week-leaf .week-range{font-size:8px;min-width:0;width:100%;padding-top:12px}.week-leaf .week-year{font-size:6px}.week-sheet h3{font-size:25px;max-width:100%;min-height:0;margin-top:22px}.week-sheet p{font-size:12px;max-width:100%;min-height:0;margin-top:17px}.course-sketch{display:none}.week-selection{display:flex;flex-wrap:wrap;margin:20px 0;gap:11px}.week-selection label{width:100%}.week-strip{width:100%;gap:3px}.week-strip button{height:40px;font-size:10px}.week-strip .week-step{flex-basis:17px;font-size:19px}.week-selection select{width:100%;font-size:10px}.sheet-footer{font-size:9px;gap:8px 12px;margin-top:19px}.week-sheet #week-open{font-size:12px;padding:12px 14px;gap:16px}.week-section .section-heading h2{font-size:36px}.week-section .calendar-note{padding:12px}.week-section .section-heading{gap:18px}.week-section .calendar-note>.mono{font-size:7px}#week-resume{font-size:9px;line-height:1.6}}
@media(prefers-reduced-motion:reduce){.sheet-changing{animation:none}.week-strip button{transition:none}}
@media(max-width:760px){.week-strip button{min-width:24px}.week-strip .week-step{flex-basis:24px}.week-selection label{font-size:7px}}
@media(max-width:380px){.week-sheet{padding-left:94px;padding-right:16px}.week-sheet::before{left:78px}.week-sheet::after{left:66px}.week-leaf{left:7px;width:61px}.week-number{font-size:80px}.week-sheet h3{font-size:23px}.week-section .section-heading h2{font-size:32px}}
