@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAn4ABMAAAAAEwQAAAmOAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjQbgnQcLj9IVkFSgQEGYD9TVEFUgQIAgQovahEICok0h0ULIAAwhzoBNgIkAzwEIAWHJgeBDgwHG6QQUdRKTmoBFD8K42bniObKrG3LZFcMWZzFmrjTFhQ6TVTqPJcInrfrvzq3b2PGn1wwMiNYGTy9ViREYARlL1zAGcPdPqBt3gNWrfKthv4xnM+b9caw+wmjgEUVRjHXhS6jgCK6zf5HiWQacJpGdAgdrbV6g/Rf1BfxRqZVQnrxRVWSJb6RLFnyu0elilmjeoSQCKnxsmwLaddUMjnksriSYuuPl06EAl7KfAiWQjCUETz0zNZ3EII94CDQtzkMfZ/9IkkY8tZRZTDky5ZVwBAM+GYpdd4ZVAWYImnLkiTg48l79gGx3D+VBtLeyg8u7bJAd4uo0pFuQBFysE9C95l0W4Fkiao6GfrDbu77lVU7wk9cV3uqOsXmQiMkhVKl1ugjzUAJBSIkkVWHijkpkVSyUFsgVBuJMA0N+ZnXtyUv5yMigGdfQRmwL1AAjQ3YXG6iIFNSUdPQo8+AISPGAltBMDQRAtyf4ZspLlZkpyOVoMZPvFGWzvk8p5SUC/NWPMj6T2/Yas2EdlON5GkfdkeFwVGjta825H89NIenlLWAPAp5h1KDtRhCaAQWMsFKtEvOKpIhgLHlXPARokkgEGEOAkqxJRQpKYq4ezahIiLHP6hZpqMbV0pUF2vdvEimLEQ/iIUYLgYWs0VXGVlLTOPdaPmFfCC/XrtzqVo1ez7vz6+Kd2+7o11ZJ+4MreLbB5BKVGxobAq4jZYalZ5aX2CKJiwUuc9GNJyi4M8bGyKcdjSRrG4JohdF8buJfmQefbYYREnMFsOoiNliFDVxmRgL0XUmUMLqzW0A4gCQAhWGYCQpFNukwXhIkPMsbRI19ewtw8Cp2Wj/Ro5cM2OTAbJAvZ/L4opBXb9+UHscYuOKM/W8isgwN26Exexjizmfnlp9dE3hOSqdZ/F5QqbckIlPb+oKfXxd6hftJ7Sm/uyPYpONza84CRlMNk/uhOrLpyf53982++zRkXNu3g3VF8qFbx1+7fbHZ9DrB3VXWNSmhnT2vrwS1+1Z+kHGBaZIhnnvuLBTNDeA340D1DWu5/jEa9pVfl6+Jij+yo3EELNixXCLjr173Q5eDP7Y7/L4iQFHbjpaJLFoP4cCsYP6sAPL7gMHNg53yYjqxqTDrYqLDl5DzW/eTLjYxCvucprjI3yl2ykKowKUC2Ox2FJLFo6Fa1HBWLC2jMCIIBEmklkYhmkpmBhTm/LCvJAH5oGcMKcgFEP1xUdho8ANPa6RFD99/PN60fjj9eXy2Eex4B5MpmRapXidzFk1p4uLk3+hn6jAP9ovJcXPPwk8o/0ltizbdbnTprvx4PSxT0VZ3Xc772aN7RflgbXRYwc3hLNO+k878nxGwfuVM8m8Gs7WEoVGWLHwSpx4vNSHBCMNqJ4m15Kp/TfHHVkQd++eY7PGN4W5byTs+6Ft8Ozvb/D60btv37de8ER0mS3P/0sLW84qGjEVkwztPzz06eGUWwKLwPb0D/WFd3vltl2aP276KpM0JNz6AfnAnZ5ADlF2zVyZ2OkxHSMxWPMnSZLbbDR3F1UjPVqp4d68da13F1YZujdWw7271iecO2l9+/4p47Oztjck355/75wFOI+VdGDqbNGs+ISgxg3iB2jb2r+b0CWsNLHIM4sdv8SDSFBP/Oromz6FNCWw2iMTxV0R8QLyBTkpe0j5+pSSJOOTB5Mck/gh3IopuNQnhKj02t3FL80gGbEh89SZcwTxcYt5cZT/nMnB3uXfPy8BSpVMBuRx+ZhACGzDBmwHsJRAjhotOnzuj2wDz3ug2wOUAY2NgZln9/TK/enG/oE4rO1wxvGUFMAxsZ0qNjRC7hl9d17e7imbgDt6uJXhUobDg7v3RX/yRCKxgMhfyiKcZfbpk0wmCcdQlIAOHeakXLvCNt++WfKiozNqSZxxJotn+c0a7DdPsx7DPYgKIDxwwYUZDg9aJbxocTjcwovr9WAsVV32mQoiiIOCHc60Oltst9qCQYuCqN1yHo0Kj60OgI2OqmiuBUWrNA0NDhYCDcdpmMrs1fZZ0xdTzMr1HdPtIHstYhqaPDDA5YxUDx7J4fJiisBSDI/L6G/bn34GNy8Q2g044ZTulAdFLb0tI6NNxfj3DzLjWiNGxje1pz7aXOcNV68lDPEd2SXl6VfBuwmHzdf1gxFy1HvA7pD8I2BnnmyGw852Cg5XbgIdEEGE5UCzen5jTlG6JCU5iajlxVcsXvbcS0SAcg1dcesWJLVK8+hYHOYQ+Pjy+EyVGXP0aPTFagrV9E03hCQvYx+g47KGq+1GsLj8uBIyihNw33YUe8PNC4BOJ3Lm1AglLV3nCuvUdIP+v15tVGbWIwgxLVpPkfpthCGpTKG+oA/DQfsKKvxhScqaN6FuElAUtTKv2UYgOmQegsN/n7njHUju8wM4VTcm+Q8xfX9SFwjTzdVqu95UOWSIGOabH8OGBEba//8Yxl3GcPdP/dMBOoSX/0z5SZmBoLbaPs+9asaMpb36yknKaw6FqWZa6A5vDa02mhkOba1q6KtLV208xrkwmW5C4VD6n2fvRjADy2qDYYnNy+H10Fq0LMbNzS863gkO7iQ8eC48/Ny5m59tOcEso3u7Qg3yrqDL6eKXwJAuWnhylfbWrRObe66rzX59+XDtzusnL66dI/86ArmtLlzED860Ef3bFPV78OX/zFTA11fcBn2Vntb7qiGBSgLBHyuv/uEaqqoTgSpOyjlzh86me1Vriv7i9rLPLvtghWmSnblRbAsBJL/4dScSQTBxOivHMO5QvBBY0iheJvfwWLxLOGzYKZyM4zVc2Cll46zEpeUV4MqGEWZj22SdOxhGAjgs9AEnfT+RoiMfcDb0GS5NncKVxju4Nt/mRk13O9Gz3FLct5oCD6wkwUNrCfHIUg6SMf8LwQGyVaBUqpLPW5BaMpRshEpl8nS1qw5dgnzlik8QBXmdy5UrIH74heTKZKMSilQso4hsRiGraQZRzxpNGqlEJMsXuAU7GlcR8mWSykUpVkWGyIf0a8v4qEQp5CtGsMiZa+4ESYQy+WilCiguHzxMXO54ogShooTV2bj2z1zL6DYSoImoQ8lFUWxMLBNQQgLkV2tHYgUoIbkuREz+fJHKxxWBcnvu3KQppFCxLkguB1NyVSp/TknRvNwYlCdbblWu3ze6owHdWluhE5tgQ6ej2SV65CijijoaRfSiH4Nqz1OpfEW+WeI/oU0ly60zkV9YzOQSYtZVEGYmrysTZAJkY4qZtIBD9/LYTIK7Nww3vMiYBwA=)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,ol{margin:0}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}svg{stroke-width:1.8px;vertical-align:middle;flex-shrink:0}button:disabled{cursor:not-allowed}}@layer theme{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f6f4eb;--forest:#102f27;--lime:#d9f56a;--sage:#e2e9de;--muted:#58645e;--line:#d5dbd0;--urgent:#b64b35;--white:#fff;--radius:16px;--control-radius:10px;--instant:80ms;--press:.12s;--feedback:.16s;--enter:.22s;--sheet:.28s;--exit:.14s;--ease-out:cubic-bezier(.22,1,.36,1);--ease-in:cubic-bezier(.4,0,1,1);color:var(--forest);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Manrope Variable,sans-serif;font-size:16px;line-height:1.5}body{min-width:280px}:focus-visible{outline:3px solid var(--forest);outline-offset:4px;border-radius:3px}.dark-panel :focus-visible{outline-color:var(--lime)}h1,.course-code,.course-masthead,.quiet-panel h2{font-variation-settings:"opsz" 48, "SOFT" 0, "WONK" 0;font-family:Fraunces Variable,Georgia,serif;font-weight:550}h1{letter-spacing:-.045em;overflow-wrap:anywhere;font-size:2.55rem;line-height:1.08}h2,h3{line-height:1.3}p{overflow-wrap:anywhere}[tabindex="-1"]:focus:not(:focus-visible){outline:none}.eyebrow{letter-spacing:.13em;text-transform:uppercase;font-size:.6875rem;font-weight:750}.small{font-size:.8125rem}.urgent-text,.deadline-date{color:var(--urgent)}}@layer layout{.app-shell{min-height:100vh;min-height:100dvh}.page-column{width:100%;max-width:680px;padding:0 24px calc(6.5rem + env(safe-area-inset-bottom));margin:0 auto}.header{justify-content:space-between;align-items:center;gap:12px;min-height:92px;padding:20px 0 16px;display:flex}.header-course{min-height:68px;padding:12px 0}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand>div{min-width:0}.emblem{object-fit:contain;flex-shrink:0;width:35px;height:46px}.wordmark{letter-spacing:.18em;font-family:Fraunces Variable,Georgia,serif;font-size:20px;font-weight:600;line-height:1.35}.brand-caption{letter-spacing:.17em;text-transform:uppercase;max-width:225px;font-size:.48rem;font-weight:750;line-height:1.65}.page-intro{margin:10px 0 22px}.page-intro .eyebrow{color:var(--muted);margin-bottom:10px}.intro-subtitle{color:var(--muted);margin-top:9px;font-size:.9375rem;line-height:1.45}.section{margin-top:22px}.section-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.section-heading h2{text-transform:uppercase;letter-spacing:.14em;font-size:.6875rem;font-weight:800}.section-heading>span{color:var(--muted);font-size:.6875rem}.section-heading>.urgent-text{color:var(--urgent);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.page-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:20px;padding-top:16px;font-size:.75rem}.page-footer>span{letter-spacing:.08em;text-transform:uppercase;margin-top:10px;font-size:.625rem;display:block}.navigation{background:var(--paper);border-top:1px solid var(--line);width:100%;padding:7px 12px calc(7px + env(safe-area-inset-bottom));z-index:20;position:fixed;bottom:0;left:0}.navigation nav{grid-template-columns:repeat(var(--nav-count,4), 1fr);gap:6px;max-width:632px;margin:auto;display:grid;position:relative}.navigation nav:before{content:"";background:var(--lime);pointer-events:none;width:calc(25% - 4.5px);transition:transform .18s var(--ease-out);transform:translateX(calc(var(--tab,0) * (100% + 6px)));border-radius:10px;position:absolute;inset:0 auto 0 0}.navigation[data-active=false] nav:before{opacity:0}.nav-item{background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:56px;font-size:.6875rem;display:flex;position:relative}.nav-item>span{overflow-wrap:anywhere;max-width:100%}.nav-item svg{width:22px;height:22px}.nav-item.selected{font-weight:800}.nav-item:disabled:not(.selected){color:var(--muted)}.rail-brand,.rail-note{display:none}.skip-link{z-index:100;background:var(--lime);border-radius:8px;padding:12px 18px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:not(:focus){clip-path:inset(50%)}.skip-link:focus{clip-path:none;transform:none}.login-page{width:min(100%,448px);padding:max(32px, env(safe-area-inset-top)) 24px max(32px, env(safe-area-inset-bottom));margin:0 auto}.login-copy{margin:48px 0 30px}.login-copy h1{margin:14px 0;font-size:3.1rem}.login-copy>p:last-child{color:var(--muted)}.login-form{flex-direction:column;display:flex}.login-form h2{margin-bottom:18px;font-family:Fraunces Variable,Georgia,serif;font-size:1.5rem;font-weight:550}.login-form label{margin:0 0 7px;font-size:.875rem;font-weight:650}.login-form input{width:100%;min-width:0;min-height:50px;color:var(--forest);border-radius:var(--control-radius);background:#fffdf6;border:1px solid #87968c;margin-bottom:18px;padding:11px 14px}.privacy-note,.demo-access{color:var(--muted);margin-top:24px;font-size:.8125rem}.demo-access summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:700}.demo-access p+p{margin-top:10px}.demo-roles{margin:12px 0;padding:0;list-style:none}.demo-roles li{border-bottom:1px solid var(--line);padding:10px 0}.demo-roles strong,.demo-roles span{overflow-wrap:anywhere;display:block}.demo-roles span{margin-top:4px}.form-error{color:var(--urgent);margin:0 0 16px}.resource-state{margin:44px 0}.resource-state h1{margin:12px 0 24px}.resource-state>p:last-child{align-items:center;gap:10px;display:flex}@media (max-width:359px){.page-column{padding-inline:18px}.wordmark{font-size:18px}.brand-caption{letter-spacing:.1em;font-size:.43rem}h1{font-size:2.15rem}.course-code{font-size:2.4rem}.course-masthead{font-size:3.05rem}.dark-panel{padding:16px}.class-meta{gap:8px 12px}.schedule-row{grid-template-columns:48px minmax(0,1fr)}.schedule-venue{text-align:left;grid-column:2;max-width:none;margin-top:-5px}.check-confirmed{flex-wrap:wrap}.reset-time{max-width:80px}}@media (min-width:768px){.navigation{border-top:0;border-right:1px solid var(--line);flex-direction:column;width:206px;padding:32px 20px;display:flex;top:0;bottom:0}.rail-brand{margin-bottom:54px;display:block}.rail-brand .brand{gap:7px}.rail-brand .emblem{width:26px}.rail-brand .wordmark{letter-spacing:.1em;font-size:15px}.rail-brand .brand-caption{letter-spacing:.06em;font-size:.4rem}.navigation nav{grid-template-columns:1fr;grid-template-rows:repeat(var(--nav-count,4), 1fr);gap:10px;width:100%;margin:0}.navigation nav:before{width:100%;height:calc(25% - 7.5px);transform:translateY(calc(var(--tab,0) * (100% + 10px)));bottom:auto}.nav-item{flex-direction:row;justify-content:flex-start;gap:14px;padding:12px 16px;font-size:.875rem}.rail-note{margin-top:auto;padding:24px 10px;font-family:Fraunces Variable,Georgia,serif;font-size:1.5rem;line-height:1.3;display:block}.app-shell{padding-left:206px}.page-column{max-width:700px;padding:0 32px 60px}.header{min-height:110px}.header-course{min-height:88px}.course-masthead{font-size:4rem}.page-intro{margin-top:12px;margin-bottom:28px}h1{font-size:3rem}.dark-panel{padding:24px}.section{margin-top:28px}.course-name{font-size:1.125rem}.schedule-row{grid-template-columns:90px minmax(0,1fr) auto}.schedule-time{flex-direction:row;align-items:baseline;gap:6px}.schedule-time>span:before{content:"– "}.notice{padding:16px}.login-page{padding-top:64px}}}@layer components{.document-list{margin:20px 0;padding:0;list-style:none}.document-list li{border-bottom:1px solid var(--line);align-items:flex-start;gap:16px;padding:20px 0;display:flex}.document-list li>div{flex:1;min-width:0}.document-list h2{overflow-wrap:anywhere;font-size:1rem}.document-list h2 .inline-link{font-size:inherit}.document-list p{color:var(--muted);font-size:.8125rem}.folio-number{color:var(--muted);min-width:32px;padding-top:8px;font-family:Fraunces Variable,Georgia,serif;font-size:1.5rem}.document-actions{flex-wrap:wrap;gap:12px;display:flex}.document-actions .button{flex:180px}.document-preview{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow-wrap:anywhere;padding:12px}.document-preview iframe{border:0;width:100%;min-height:420px}.document-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:70vh;font-size:.875rem;overflow:auto}.install-steps h2{margin-bottom:12px;font-size:1rem}.install-steps ol{margin-bottom:16px;padding-left:24px}.install-steps li+li{margin-top:12px}.install-steps summary{cursor:pointer;min-height:48px;padding:12px 0;font-weight:700}.update-prompt{z-index:30;bottom:calc(88px + env(safe-area-inset-bottom));background:var(--forest);max-width:460px;color:var(--paper);border-radius:var(--radius);margin-left:auto;padding:16px 20px;font-size:.875rem;position:fixed;left:16px;right:16px}.update-prompt>div{gap:24px;display:flex}.update-prompt :focus-visible{outline-color:var(--lime)}.button{border-radius:var(--control-radius);border:0;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:12px 16px;font-weight:750;line-height:1.4;display:flex}.button>svg:last-child{margin-left:auto}.button.primary{background:var(--lime);color:var(--forest)}.button:disabled{opacity:.75}.icon-button{background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.avatar{box-sizing:content-box;border:1px solid #bdc7bb;width:38px;height:38px;margin:-3px;padding:3px}.text-button,.inline-link,.back-button{background:0 0;border:0;align-items:center;gap:8px;min-height:44px;padding:6px 0;font-size:.8125rem;font-weight:700;display:inline-flex}.inline-link{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.back-button{gap:7px;padding-right:12px;font-size:.875rem}.account{position:relative}.avatar-initials{letter-spacing:.02em;font-size:.8125rem;font-weight:800}.account-panel{z-index:40;border:1px solid var(--line);background:var(--paper);width:min(320px,100vw - 32px);animation:sheet-in var(--sheet) var(--ease-out);border-radius:20px;padding:6px;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 18px 40px -12px #102f2738,0 2px 6px #102f2712}.account-identity{background:var(--forest);color:var(--paper);border-radius:15px;align-items:center;gap:12px;padding:16px 12px 16px 14px;display:flex;position:relative}.account-identity :focus-visible{outline-color:var(--lime)}.account-monogram{background:var(--lime);width:46px;height:46px;color:var(--forest);letter-spacing:.01em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Fraunces Variable,Georgia,serif;font-size:1.15rem;font-weight:600;display:inline-flex}.account-who{flex:1;min-width:0;display:grid}.account-who strong{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-family:Fraunces Variable,Georgia,serif;font-size:1.125rem;font-weight:550;line-height:1.25;overflow:hidden}.account-who span{color:#c9d3cb;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.account-close{width:36px;height:36px;color:var(--paper);align-self:flex-start;margin:-6px -4px 0 0}.account-close:hover{background:#ffffff14}.account-menu{gap:2px;padding:8px 0 6px;display:grid}.account-row{min-height:56px;transition:background var(--feedback) var(--ease-out);border-radius:12px;align-items:center;gap:12px;padding:8px 10px;display:flex}.account-row:hover,.account-row:focus-visible{background:var(--sage)}.account-row>svg{color:var(--muted)}.account-row-icon{background:var(--sage);width:36px;height:36px;color:var(--forest);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.account-row:hover .account-row-icon{background:var(--paper)}.account-row-text{flex:1;min-width:0;line-height:1.3;display:grid}.account-row-text strong{font-size:.9063rem;font-weight:700}.account-row-text span{color:var(--muted);font-size:.75rem}.account-signout{border:0;border-top:1px solid var(--line);width:100%;min-height:46px;color:var(--urgent);transition:background var(--feedback) var(--ease-out);background:0 0;border-radius:0 0 14px 14px;justify-content:center;align-items:center;gap:8px;margin-top:2px;font-size:.875rem;font-weight:700;display:flex}.account-signout:hover{background:#b64b350f}.dark-panel{background:var(--forest);color:var(--paper);border-radius:var(--radius);padding:18px}.next-class{display:block}.panel-eyebrow{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-eyebrow .eyebrow{align-items:center;gap:8px;font-size:.625rem;display:inline-flex}.countdown-label,.reset-time{letter-spacing:.07em;color:#c7d5ca;text-align:right;font-size:.625rem;font-weight:650}.next-course-row{justify-content:space-between;align-items:center;gap:12px;margin:7px 0 0;display:flex}.course-code{letter-spacing:-.04em;font-size:2.7rem;line-height:1.1}.countdown{background:var(--lime);min-width:80px;color:var(--forest);font-variant-numeric:tabular-nums;text-align:center;border-radius:6px;padding:5px 10px;font-size:1.35rem;font-weight:800;line-height:1.25}.course-name{margin-top:5px;font-size:1rem}.class-meta{flex-wrap:wrap;gap:9px 18px;margin-top:13px;font-size:.8125rem;line-height:1.6;display:flex}.class-meta>span{font-variant-numeric:tabular-nums;align-items:center;gap:7px;display:inline-flex}.live-dot{background:var(--lime);border-radius:50%;width:10px;height:10px;margin-right:5px}.venue-update{background:var(--lime);color:var(--forest);border-radius:var(--control-radius);align-items:center;gap:10px;margin-top:16px;padding:11px 12px;font-size:.8125rem;line-height:1.4;display:flex}.venue-update>div{flex:1}.venue-update strong,.venue-update span{display:block}.open-course{color:var(--lime);border-top:1px solid #52705c;justify-content:space-between;align-items:center;margin-top:15px;padding-top:12px;font-size:.8125rem;display:flex}.quiet-panel{border-block:1px solid var(--line);padding:18px 0}.quiet-panel h2{margin-bottom:8px;font-size:1.75rem}.quiet-panel p{color:var(--muted);font-size:.9375rem}.overlap-note{color:var(--muted);margin-top:10px;font-size:.8125rem}.schedule{padding:0 0 0 15px;list-style:none}.schedule li{position:relative}.schedule li:before{content:"";background:#89998a;width:1px;position:absolute;top:21px;bottom:-21px;left:-10px}.schedule li:last-child:before{display:none}.schedule li:after{content:"";border:1.5px solid var(--forest);background:var(--paper);border-radius:50%;width:9px;height:9px;position:absolute;top:17px;left:-14px}.schedule li.active:after{background:var(--lime)}.schedule li.ended:after{background:#a5b09f;border-color:#a5b09f}.schedule-row{grid-template-columns:60px minmax(0,1fr) auto;align-items:start;gap:9px;min-height:62px;padding:10px 0;font-size:.8125rem;display:grid}.schedule-time{color:var(--muted);font-variant-numeric:tabular-nums;flex-direction:column;line-height:1.6;display:flex}.schedule-time>span{font-size:.6875rem}.schedule-detail>strong{font-size:.9375rem;font-weight:800;line-height:1.35;display:block}.schedule-detail>span{margin-top:3px;line-height:1.4;display:block}.schedule-detail>.schedule-status{color:var(--muted);letter-spacing:.035em;font-size:.625rem;font-weight:700;display:inline-block}.schedule-detail>.urgent-text{color:var(--urgent)}.schedule-venue{color:var(--muted);text-align:right;overflow-wrap:anywhere;align-items:center;gap:5px;max-width:76px;font-size:.75rem;display:flex}.schedule-day{margin:20px 0}.schedule-day h3{margin-bottom:8px;font-size:.8125rem}.notice{background:#edeee4;border-radius:10px;align-items:flex-start;gap:10px;padding:13px 12px;display:flex}.notice-icon{color:var(--forest);padding-top:2px}.notice-copy{flex:1;min-width:0}.notice-byline{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:.8125rem;display:flex}.official{background:#dce4d9;border-radius:12px;padding:1px 7px;font-size:.625rem;font-weight:700;display:inline-block}.notice-meta{color:var(--muted);margin:3px 0 6px;font-size:.8125rem;line-height:1.5}.notice h3{margin-bottom:3px;font-size:1rem;font-weight:750;line-height:1.4}.notice-body{font-size:.9375rem;line-height:1.5}.notice-list{gap:10px;display:grid}.notice-urgent{background:#f1e5d9}.notice-urgent .notice-icon{color:var(--urgent)}.deadline-section{border-top:1px solid var(--line);padding-top:18px}.deadline-row{align-items:flex-start;gap:12px;padding:5px 0;display:flex}.deadline-row>svg{color:var(--urgent);margin-top:4px}.deadline-title{font-size:.875rem}.deadline-date{font-variant-numeric:tabular-nums;margin-top:4px;font-size:.8125rem}.empty-state{color:var(--muted);padding:14px 0;font-size:.875rem}.course-rows{margin:0;padding:0;list-style:none}.course-rows a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:12px 0;display:flex}.course-rows strong,.course-rows span>span{display:block}.course-rows span>span{color:var(--muted);font-size:.875rem}.course-intro{margin-top:8px}.course-masthead{letter-spacing:-.035em;font-size:3.6rem;line-height:1.04}.hub-course-name{margin-top:8px;font-size:1.25rem;line-height:1.4}.course-intro .class-meta{margin-top:16px}.hub-tabs{border-bottom:1px solid var(--line);margin:24px 0 16px;display:flex;position:relative}.hub-tabs button{background:0 0;border:0;flex:1;min-height:48px;font-size:.875rem}.hub-tabs [aria-selected=true]{font-weight:800}.tab-indicator{background:var(--forest);width:50%;height:2px;transition:transform .18s var(--ease-out);position:absolute;bottom:-1px;left:0}.tab-indicator.at-schedule{transform:translate(100%)}.waiting-count{align-items:baseline;gap:10px;margin:13px 0;display:flex}.count-value{font-variant-numeric:tabular-nums;min-width:1.4ch;font-family:Fraunces Variable,Georgia,serif;font-size:2.75rem;font-weight:500;line-height:1;display:inline-grid}.count-current,.count-previous{grid-area:1/1}.count-current{animation:count-in var(--feedback) var(--ease-out)}.count-previous{animation:count-out var(--feedback) var(--ease-in) forwards}.waiting-count>span{font-size:.875rem}.check-status{min-height:48px}.check-button{text-align:left;justify-content:flex-start;width:100%}.check-confirmed{background:var(--lime);min-height:48px;color:var(--forest);border-radius:var(--control-radius);animation:check-success .2s var(--ease-out);align-items:center;gap:8px;padding:12px;font-size:.875rem;display:flex}.check-privacy{color:#c7d5ca;margin-top:10px;font-size:.8125rem;line-height:1.5}.window-message{border-radius:var(--control-radius);border:1px solid #789583;align-items:center;gap:9px;min-height:48px;padding:10px 12px;font-size:.8125rem;line-height:1.5;display:flex}.check-error{color:#ffcec0;padding:12px 0 0;font-size:.8125rem}.check-error .text-button{color:var(--lime)}.feedback{border-left:3px solid var(--urgent);background:#f1e5d9;border-radius:4px;gap:10px;margin-bottom:14px;padding:13px;font-size:.8125rem;display:flex}.feedback>svg{margin-top:2px}.feedback .text-button{min-height:44px}.snapshot-notes{margin-top:24px}.sync-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.clock-note{color:var(--muted);font-size:.625rem;line-height:1.7}.clock-note>span{font-variant-numeric:tabular-nums;display:block}.refresh-button:disabled{opacity:.5}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:17px;height:17px;animation:.8s linear infinite spin;display:inline-block}.refreshing{animation:1s linear infinite spin}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.search-field{border-radius:var(--control-radius);background:#fffdf6;border:1px solid #87968c;align-items:center;gap:10px;min-height:50px;padding:10px 12px;display:flex}.search-field input{width:100%;min-width:0;color:var(--forest);font:inherit;background:0 0;border:0}.search-field:focus-within{outline:2px solid var(--forest);outline-offset:3px}.search-field input:focus{outline:none}.week-range{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.week-range p{font-size:.875rem}.week-range>div{flex-shrink:0;display:flex}.day-strip{margin:-5px -2px 14px;padding:5px 2px;overflow-x:auto}.week-days{grid-template-columns:repeat(7,minmax(44px,1fr));gap:4px;min-width:332px;display:grid;position:relative}.week-days:before{content:"";background:var(--lime);width:calc(14.2857% - 3.42857px);transform:translateX(calc(var(--day) * (100% + 4px)));transition:transform .16s var(--ease-out);border-radius:8px;position:absolute;inset:0 auto 0 0}.day-button{border:1px solid var(--line);background:0 0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:44px;min-height:70px;padding:8px 2px;display:flex;position:relative}.day-button>span{text-transform:uppercase;letter-spacing:.05em;font-size:.625rem}.day-button>strong{font-size:1rem}.day-button>i{border-radius:50%;width:5px;height:5px}.day-button>i.has-classes{background:var(--muted)}.day-button[aria-pressed=true]{border-color:var(--lime)}.course-filter{border:1px solid #a8b6a7;border-radius:8px;margin:14px 0 20px;font-size:.875rem}.course-filter summary{cursor:pointer;min-height:48px;padding:12px;font-weight:650}.course-filter fieldset{border:0;margin:0;padding:0 8px 8px}.course-filter label{min-height:48px;transition:background var(--feedback);border-radius:6px;align-items:center;gap:10px;padding:8px;display:flex}.course-filter label:has(input:checked){background:var(--sage)}.course-filter input{width:18px;height:18px;accent-color:var(--forest);flex-shrink:0}.week-timeline .schedule-row{grid-template-columns:52px minmax(0,1fr);gap:8px;padding-block:10px}.week-timeline .schedule-detail{background:var(--sage);border-left:4px solid var(--forest);border-radius:0 8px 0 0;min-height:76px;padding:12px 12px 8px}.week-timeline .schedule-venue{background:var(--sage);border-left:4px solid var(--forest);border-radius:0 0 8px;grid-column:2;max-width:none;margin-top:-8px;padding:0 12px 12px}.week-timeline .cancelled .schedule-detail,.week-timeline .cancelled .schedule-venue{border-left-color:var(--urgent)}.week-timeline .schedule-status{font-size:.75rem}.course-list-heading{border-bottom:1px solid var(--line);margin-bottom:0;padding-top:24px;padding-bottom:12px}.course-catalog{margin:0;padding:0;list-style:none}.course-catalog>li{border-bottom:1px solid var(--line);padding:16px 0}.course-catalog>li>a{display:block}.catalog-masthead{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.catalog-masthead h2{letter-spacing:-.035em;font:550 2.25rem/1.15 Fraunces Variable,Georgia,serif}.catalog-masthead>svg{margin-left:auto}.role-badge{background:var(--lime);border-radius:6px;padding:3px 8px;font-size:.6875rem;font-weight:750;display:inline-block}.course-catalog li>a>p{margin-top:5px}.catalog-next{background:#edf1d4;border-radius:8px;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;font-size:.8125rem;display:flex}.catalog-next>div{flex:1}.catalog-next strong,.catalog-next span{display:block}.catalog-next span{font-variant-numeric:tabular-nums;margin-top:2px}@media (prefers-reduced-motion:reduce){.week-days:before{transition:none}}.notice-types{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.notice-types button{border-radius:var(--control-radius);background:0 0;border:1px solid #87968c;min-height:44px;padding:8px 12px;font-size:.8125rem}.notice-types [aria-pressed=true]{background:var(--lime);border-color:var(--forest);font-weight:750}.notice-course-filter{gap:6px;font-size:.8125rem;font-weight:650;display:grid}.notice-course-filter select{width:100%;min-width:0;min-height:48px;font:inherit;color:var(--forest);background:var(--paper);border-radius:var(--control-radius);border:1px solid #87968c;padding:10px}.notice-results{margin:20px 0 8px;font-size:.875rem}.notice-feed{animation:count-in var(--press) var(--ease-out)}.notice-group{margin:12px 0 10px}.notice-title-link{overflow-wrap:anywhere;min-height:44px;padding-block:10px;display:block}.notice-title-link:hover{text-underline-offset:4px;text-decoration:underline}mark{background:var(--lime);color:var(--forest)}.notice-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:18px;font-size:.8125rem;display:flex}.notice-detail{margin-top:28px}.notice-detail-labels{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.notice-detail-labels .eyebrow{margin:0}.notice-detail h1{overflow-wrap:anywhere}.notice-attribution{border-block:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:start;gap:12px;padding:16px 0;font-size:.875rem;display:flex}.notice-attribution p,.notice-attribution time{color:var(--muted);font-size:.8125rem}.notice-attribution time{font-variant-numeric:tabular-nums}.notice-reading{white-space:pre-wrap;max-width:65ch;padding:22px 0}.notice-edit-note{color:var(--muted);margin-bottom:16px;font-size:.8125rem}.notice-due{border-block:1px solid var(--line);margin-bottom:12px;padding:16px 0}.notice-due>p+p{font-variant-numeric:tabular-nums;margin-top:8px}.notice-share{gap:12px;margin-top:24px;display:grid}.button.secondary{background:0 0;border:1px solid #87968c;justify-content:flex-start}.button.secondary>svg{margin:0}.notice-share .small{color:var(--muted)}.manual-copy{gap:8px;font-size:.875rem;display:grid}.manual-copy textarea{resize:vertical;border-radius:var(--control-radius);background:var(--paper);width:100%;min-width:0;color:var(--forest);font:inherit;border:1px solid #87968c;padding:12px}.notice-actions{flex-wrap:wrap;align-items:center;gap:8px 24px;margin-top:16px;display:flex}.notice-actions p{flex-basis:100%}.notice-success{background:var(--sage);border-radius:var(--control-radius);margin-top:16px;padding:12px}.composer-author{color:var(--muted);margin-bottom:20px}.notice-form fieldset{border:0;min-width:0;margin:0;padding:0}.notice-form>fieldset{gap:10px;display:grid}.notice-form label,.notice-form legend{font-size:.875rem;font-weight:650}.notice-form input:not([type=checkbox]):not([type=radio]),.notice-form textarea,.notice-form select{width:100%;min-width:0;min-height:48px;font:inherit;color:var(--forest);border-radius:var(--control-radius);background:#fffdf6;border:1px solid #87968c;padding:11px 12px}.notice-form textarea{resize:vertical}.notice-form input[type=datetime-local]{max-width:100%}.notice-form .composer-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0;display:grid}.composer-types legend{padding:0 0 10px}.composer-types label{border-radius:var(--control-radius);cursor:pointer;overflow-wrap:anywhere;border:1px solid #87968c;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:72px;padding:12px 6px;display:flex;position:relative}.composer-types label:has(:checked){background:var(--lime);border-color:var(--forest)}.composer-types label:has(:focus-visible){outline:3px solid var(--forest);outline-offset:3px}.composer-types input{opacity:0;width:1px;height:1px;position:absolute}.composer-pin{align-items:center;gap:8px;min-height:48px;margin:8px 0;display:flex}.composer-pin input{width:20px;height:20px;accent-color:var(--forest);flex-shrink:0}.composer-buttons{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.composer-buttons>button{flex:160px}.draft-status{color:var(--muted);min-height:1.5em;margin-top:16px}.composer-preview{border-block:1px solid var(--line);padding:20px 0}.composer-preview h2{margin-bottom:16px;font-size:1.25rem}.composer-preview h3{overflow-wrap:anywhere;margin-top:16px;font:550 1.75rem/1.2 Fraunces Variable,Georgia,serif}.composer-preview .small{color:var(--muted);margin-top:16px}@media (min-width:430px){.notice-form .composer-types{grid-template-columns:repeat(4,minmax(0,1fr))}}.notice-compose-link{margin-bottom:18px}.course-access{color:var(--muted);margin-top:12px;font-size:.8125rem}.course-access .role-badge{color:var(--forest)}.course-tools{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.course-tools>a,.course-tools>button{flex:160px}.course-tools>p{color:var(--muted);flex-basis:100%}.schedule-edit{margin:0 0 12px 16px}.occurrence-scope{border-radius:var(--radius);background:var(--sage);margin-bottom:16px;padding:16px}.occurrence-scope p{margin-top:6px}.class-comparison{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin-block:16px;display:grid}.class-summary{border:1px solid var(--line);border-radius:var(--radius);padding:16px}.class-summary h3,.notification-preview h3{margin:0 0 8px;font:750 .8125rem/1.5 Manrope Variable,sans-serif}.class-summary p{margin-top:6px}.class-summary svg{margin-right:8px}.class-summary.cancelled{border-color:var(--urgent)}.occurrence-attribution{color:var(--muted);margin-bottom:16px}.time-fields{flex-wrap:wrap;gap:12px;display:flex}.time-fields label{flex:140px;gap:8px;min-width:0;display:grid}.notification-preview{background:var(--sage);border-radius:var(--radius);margin-top:16px;padding:16px}.occurrence-form .composer-types{grid-template-columns:repeat(2,minmax(0,1fr))}.deadline-list{padding:0;list-style:none}.deadline-list li{border-bottom:1px solid var(--line);align-items:start;gap:16px;padding:20px 0;display:flex}.deadline-list li>div:last-child{min-width:0}.deadline-list h2{overflow-wrap:anywhere;font-size:1.1rem}.deadline-stamp{color:var(--urgent);gap:8px;min-width:62px;font-size:.6875rem;display:grid}.profile-summary{background:var(--sage);border-radius:var(--radius);align-items:start;gap:16px;margin-bottom:24px;padding:20px;display:flex}.profile-summary>div{min-width:0}.profile-summary p{margin-top:5px;font-size:.875rem}.settings-heading{align-items:center;gap:8px;margin-bottom:10px;font-size:1rem;display:flex}.preference-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.preference-row>span{min-width:0}.preference-row span span,.preference-row small{color:var(--muted);overflow-wrap:anywhere;font-weight:400;display:block}.preference-row input[type=checkbox]{width:24px;height:24px;accent-color:var(--forest);flex-shrink:0}.settings-form{margin-bottom:20px}.section-heading:has(.inline-link){flex-wrap:wrap}.confirm-dialog{background:var(--paper);width:min(360px,100vw - 32px);color:var(--forest);border:0;border-radius:22px;padding:0;overflow:visible;box-shadow:0 30px 60px -20px #102f2766,0 8px 20px -6px #102f272e}.confirm-dialog[open]{animation:.26s cubic-bezier(.2,1.2,.35,1) confirm-in}.confirm-dialog[open]::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0b221cb3;animation:.22s ease-out confirm-fade}.confirm-dialog.is-closing{animation:.16s ease-in forwards confirm-out}.confirm-dialog.is-closing::backdrop{animation:.16s ease-in reverse forwards confirm-fade}.confirm-body{text-align:center;justify-items:center;padding:26px 22px 20px;display:grid}.confirm-icon{background:var(--sage);width:56px;height:56px;color:var(--forest);border-radius:50%;justify-content:center;align-items:center;margin-bottom:12px;animation:.42s cubic-bezier(.2,1.4,.4,1) 80ms both confirm-icon;display:inline-flex}.confirm-dialog.is-danger .confirm-icon{color:var(--urgent);background:#f8e2dc}.confirm-dialog h2{letter-spacing:-.02em;margin:0 0 8px;font:600 1.5rem/1.2 Fraunces Variable,Georgia,serif}.confirm-text{color:var(--muted);font-size:.875rem}.confirm-text p+p{margin-top:6px}.confirm-text strong{color:var(--forest)}.confirm-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:20px;display:grid}.confirm-actions .button{justify-content:center;min-height:48px;font-size:.875rem}.confirm-no{background:var(--sage);color:var(--forest)}.confirm-yes{background:var(--forest);color:var(--paper)}.confirm-dialog.is-danger .confirm-yes{background:var(--urgent);color:#fff}@keyframes confirm-in{0%{opacity:0;transform:translateY(18px)scale(.9)}to{opacity:1;transform:none}}@keyframes confirm-out{to{opacity:0;transform:translateY(10px)scale(.95)}}@keyframes confirm-fade{0%{opacity:0}to{opacity:1}}@keyframes confirm-icon{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.confirm-dialog[open],.confirm-dialog.is-closing,.confirm-icon{animation-duration:1ms}.confirm-dialog[open]::backdrop{animation-duration:1ms}}}@layer refinements{.auth-page{min-height:100vh;min-height:100dvh;padding:0 22px max(24px, env(safe-area-inset-bottom))}.auth-layout{max-width:520px;margin:0 auto}.auth-intro{min-width:0;padding-top:max(32px, env(safe-area-inset-top))}.auth-brand{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.auth-brand .emblem{width:42px;height:52px}.auth-brand .brand{gap:13px}.auth-brand .wordmark{letter-spacing:.19em;font-size:22px}.auth-brand .brand-caption{letter-spacing:.16em;overflow-wrap:anywhere;max-width:270px;margin-top:3px;font-size:.5rem}.auth-margin-note{display:none}.auth-editorial{margin:35px 0 34px}.auth-editorial h1,.auth-editorial h2{font-variation-settings:"opsz" 60, "SOFT" 0, "WONK" 0;letter-spacing:-.055em;overflow-wrap:anywhere;font-family:Fraunces Variable,Georgia,serif;font-size:clamp(2.65rem,11.8vw,3.6rem);font-weight:550;line-height:1.04}.auth-editorial>p{color:var(--muted);max-width:27em;margin-top:15px;font-size:1rem;line-height:1.55}.auth-wide-break{display:none}.auth-panel{min-width:0;scroll-margin-top:20px}.auth-section-label{text-transform:uppercase;letter-spacing:.2em;align-items:center;gap:20px;font-size:.625rem;font-weight:750;display:flex}.auth-section-label>span{background:#a7b2a5;flex:1;min-width:20px;height:1px}.auth-form-intro>h1,.auth-form-intro>h2{font-variation-settings:"opsz" 48, "SOFT" 0, "WONK" 0;letter-spacing:-.045em;overflow-wrap:anywhere;margin:20px 0 12px;font-family:Fraunces Variable,Georgia,serif;font-size:2.5rem;font-weight:550;line-height:1.06}.auth-form-intro-signin>h2{display:none}.auth-form-intro>p:last-child{color:var(--muted);margin-top:14px;font-size:.9375rem;line-height:1.55}.auth-form-intro{margin-bottom:24px}.auth-panel .login-form{gap:0}.auth-panel .login-form label{margin-bottom:8px;font-size:.875rem}.auth-panel .login-form input{background:#fffdf6;border-color:#9ba99e;min-height:52px;margin-bottom:0;padding:12px 14px}.auth-panel input::placeholder{color:#748178;opacity:1}.auth-field{margin-bottom:18px}.auth-field>label{display:block}.auth-password-label{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 16px;margin-top:-2px;display:flex}.auth-panel .auth-password-label label{margin:0}.auth-password-label .inline-link{padding:10px 0;font-size:.8125rem;font-weight:500}.auth-field-error{color:var(--urgent);margin:7px 0 0;font-size:.8125rem}.auth-panel input[aria-invalid=true]{border-color:var(--urgent)}.auth-panel .login-form>.button{margin-top:6px}.auth-panel .button{text-align:left;min-height:54px;padding:14px 20px;font-size:1rem}.auth-panel .button>svg:last-child{margin-left:auto}.auth-panel .button.secondary{border-color:var(--forest)}.auth-panel .form-error{margin:0 0 14px;font-size:.875rem}.auth-panel .notice-success{margin:10px 0 18px;font-size:.875rem}.auth-signup{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.auth-signup-inner{border-radius:var(--control-radius);background:var(--sage);padding:19px 18px 18px}.auth-signup h2{text-transform:uppercase;letter-spacing:.2em;margin-bottom:15px;font-family:Manrope Variable,sans-serif;font-size:.625rem;font-weight:750}.auth-signup .button{text-align:center;justify-content:center}.auth-privacy{color:var(--muted);align-items:flex-start;gap:9px;margin:24px 0 0;font-size:.75rem;line-height:1.7;display:flex}.auth-privacy>svg{margin-top:1px}.auth-edition{display:none}.auth-panel>.inline-link{width:-moz-fit-content;width:fit-content;margin-top:12px;display:flex}.auth-panel .demo-access{border-top:1px solid var(--line);margin-top:20px;padding-top:6px}.auth-fieldbook{display:none}@media (min-width:600px) and (max-width:1023px){.auth-page{padding-top:32px}.auth-layout{border:1px solid var(--line);border-radius:var(--radius);padding:0 36px 32px}}@media (min-width:1024px){.auth-page{padding:clamp(30px,5.5vh,64px) 32px 24px}.auth-layout{border-radius:var(--radius);background:#f9f7ef;border:1px solid #dfe2d4;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);column-gap:clamp(32px,4vw,64px);max-width:1232px;padding:48px;display:grid;box-shadow:0 3px 18px #102f2708}.auth-intro{flex-direction:column;padding-top:0;display:flex}.auth-brand .emblem{width:50px;height:64px}.auth-brand .brand{gap:16px}.auth-brand .wordmark{letter-spacing:.2em;font-size:24px}.auth-margin-note{text-align:right;text-transform:uppercase;letter-spacing:.15em;padding:5px 0 0 8px;font-size:.5rem;font-weight:650;line-height:2;display:block}.auth-margin-note span{display:block}.auth-margin-note:after{content:"";border-top:1px solid var(--muted);width:26px;margin:10px 0 0 auto;display:block}.auth-editorial{margin:40px 0 0}.auth-editorial h1,.auth-editorial h2{font-size:clamp(3.65rem,5.25vw,4.8rem)}.auth-editorial>p{max-width:25em;margin-top:19px;font-size:1.125rem}.auth-wide-break{display:initial}.auth-panel{border-left:1px solid #c6cec0;padding:54px 0 10px clamp(32px,4vw,62px)}.auth-form-intro-signin>h2{display:block}.auth-form-intro>h1,.auth-form-intro>h2{margin-top:25px;font-size:clamp(2.7rem,3.55vw,3.35rem)}.auth-form-intro>p:last-child{font-size:1rem}.auth-form-intro{margin-bottom:30px}.auth-panel .login-form input{min-height:54px}.auth-panel .button{min-height:56px}.auth-signup{margin-top:26px;padding-top:26px}.auth-signup-inner{padding:22px}.auth-privacy{margin-top:28px}.auth-edition{max-width:1232px;color:var(--muted);letter-spacing:.16em;text-transform:uppercase;justify-content:space-between;margin:18px auto 0;font-size:.5rem;display:flex}.auth-fieldbook{pointer-events:none;flex:1;min-height:306px;margin:22px -16px -4px -18px;display:block;position:relative}.fieldbook-art{height:304px;position:relative;overflow:hidden}.fieldbook-cover{background:#d5deca;border:1px solid #b0bca8;border-radius:5px;width:81%;height:240px;position:absolute;top:54px;left:4%;transform:rotate(-8deg)}.fieldbook-page{background:#faf8ed;border:1px solid #d5dacb;border-radius:5px;width:88%;height:330px;display:flex;position:absolute;top:45px;left:3%;transform:rotate(-8deg);box-shadow:0 5px 12px #102f270b}.fieldbook-margin{letter-spacing:.16em;text-transform:uppercase;width:21%;color:var(--muted);border-right:1px solid #d7dccf;flex-direction:column;flex-shrink:0;justify-content:space-between;padding:29px 12px 65px;font-size:8px;line-height:2;display:flex}.fieldbook-margin>span:first-child{letter-spacing:.14em;font-size:11px}.fieldbook-leaf{flex:1;padding:18px 18px 12px 12px}.fieldbook-kicker{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);justify-content:space-between;gap:6px;padding-bottom:10px;font-size:7px;font-weight:650;display:flex}.fieldbook-entry{border-top:1px solid var(--line);align-items:center;gap:9px;min-height:43px;display:flex}.fieldbook-day{letter-spacing:.14em;width:33px;font-size:8px}.fieldbook-entry>div{flex:1;min-width:0;padding:6px 9px}.fieldbook-entry strong{font-size:10px;font-weight:600;display:block}.fieldbook-entry-0>div{background:#edf2d2;border-radius:4px}.fieldbook-entry-2>div{background:#e9ece0;border-radius:4px}.fieldbook-rule{background:#bbc5ae;width:70%;height:1px;margin-top:5px;display:block}.fieldbook-bottom{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);border-top:1px solid var(--line);padding-top:9px;font-size:7px}.fieldbook-clip{border:1.5px solid #8eaa41;border-radius:5px;width:9px;height:44px;position:absolute;top:-9px;right:15px;transform:rotate(-3deg)}.fieldbook-clip:after{content:"";border:1px solid #8eaa41;border-radius:5px;width:5px;height:26px;position:absolute;top:7px;left:2px}.fieldbook-sprig{width:120px;height:255px;position:absolute;top:0;right:-6px;transform:rotate(8deg)}.fieldbook-sprig path{stroke:#647a60;stroke-width:1.3px}.fieldbook-sprig path+path{fill:#c2cfb6}.auth-fieldbook figcaption{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:9px 0 0 26px;font-size:.5rem}}@media (max-width:359px){.auth-page{padding-inline:20px}.auth-brand .wordmark{letter-spacing:.16em;font-size:19px}.auth-brand .emblem{width:36px;height:48px}.auth-brand .brand{gap:10px}.auth-editorial{margin-top:29px}.auth-password-label{gap:0 8px}.auth-password-label .inline-link{font-size:.75rem}}.today-content{display:block}.today-dateline{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.today-dateline>span{color:var(--muted)}.today-view .page-intro{margin:0 0 12px}.today-view .page-intro .eyebrow{letter-spacing:.13em;margin-bottom:4px;font-size:.625rem}.today-view h1{letter-spacing:-.05em;font-size:2.5rem;line-height:1.02}.today-view .intro-subtitle{margin-top:5px;font-size:.875rem}.today-view .dark-panel{border-radius:9px;padding:12px 16px}.today-view .course-code{font-size:2.75rem}.today-view .next-course-row{flex-wrap:wrap;margin-top:3px}.today-view .course-name{margin-top:2px;font-size:1rem;line-height:1.35}.today-view .class-meta{gap:5px 14px;margin-top:9px;font-size:.75rem}.today-view .class-meta>span{gap:6px}.today-view .class-meta svg{width:16px;height:16px}.today-view .countdown-label{text-transform:uppercase;letter-spacing:.12em;font-size:.625rem}.today-view .countdown{min-width:82px;padding:5px 9px;font-size:1.25rem}.today-view .venue-update{border-radius:6px;gap:9px;margin-top:12px;padding:9px 11px;font-size:.8125rem;line-height:1.35}.today-view .open-course{margin-top:10px;padding-top:8px;font-size:.8125rem}.today-view .section{margin-top:8px}.today-view .today-schedule{margin-top:0}.today-view .section-heading{align-items:center;min-height:26px;margin-bottom:3px}.today-view .section-heading h2{letter-spacing:.14em;font-size:.625rem}.today-view .section-heading .inline-link{letter-spacing:.075em;text-transform:uppercase;min-height:44px;font-size:.5625rem;font-weight:750;text-decoration:none}.today-view .schedule{padding-left:14px}.today-view .schedule-row{grid-template-columns:5.4375rem minmax(0,1fr) auto;gap:8px;min-height:46px;padding:4px 0}.today-view .schedule-time{white-space:nowrap;flex-direction:row;gap:3px;padding-top:2px;font-size:.6875rem}.today-view .schedule-time>span{font-size:inherit}.today-view .schedule-time>span:before{content:"– "}.today-view .schedule-detail>strong{overflow-wrap:anywhere;font-size:1rem}.today-view .schedule-detail>span{overflow-wrap:anywhere;margin-top:1px;font-size:.75rem}.today-view .schedule-detail>.schedule-status{font-size:.625rem}.today-view .schedule-venue{max-width:50px;padding-top:2px;font-size:.6875rem}.today-view .schedule-venue>svg{display:none}.today-updates{min-width:0}.today-updates>.section:first-child{border-top:1px solid var(--line);padding-top:4px}.today-view .section-heading time{color:var(--muted);font-size:.625rem}.today-notice{background:#dfe5d7;border-radius:7px;align-items:center;gap:10px;padding:7px 10px;display:flex}.today-notice-icon{width:36px;height:36px;color:var(--urgent);background:#f8ece3;border-radius:6px;flex:0 0 36px;place-items:center;display:grid}.today-notice-copy{flex:1;min-width:0;display:block}.today-view .notice-byline{gap:4px 8px;font-size:.75rem}.today-view .official{padding:1px 7px;font-size:.625rem;line-height:1.3}.today-notice-title{overflow-wrap:anywhere;margin-top:3px;font-size:.8125rem;line-height:1.35;display:block}.today-notice-body{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;margin-top:2px;font-size:.8125rem;line-height:1.35;display:-webkit-box;overflow:hidden}.today-view .deadline-section{border-top:0;padding-top:0}.today-view .deadline-row{background:#faf8f1;border-radius:7px;align-items:center;gap:12px;min-height:48px;padding:6px 10px}.today-view .deadline-row>span{flex:1;min-width:0}.today-view .deadline-row>svg:last-child{color:var(--forest)}.today-view .deadline-title{font-size:.8125rem;display:block}.today-view .deadline-date{margin-top:1px;font-size:.8125rem;display:block}.today-view .deadline-section>.inline-link{min-height:44px;font-size:.6875rem}.today-view .section-heading>.urgent-text{font-size:.625rem}@media (max-width:767px){.page-column:has(.today-view){padding-inline:16px}.page-column:has(.today-view) .header{min-height:64px;padding:8px 8px 10px}.today-view .page-intro{margin-bottom:8px;padding-inline:8px}.today-view .page-intro .eyebrow{margin-bottom:3px}.today-view h1{line-height:1}.today-view .intro-subtitle{margin-top:3px}.today-view .dark-panel{padding-block:10px}.today-view .course-code{font-size:2.625rem}.today-view .class-meta{margin-top:7px}.today-view .venue-update{margin-top:9px;padding-block:8px}.today-view .schedule-row{min-height:44px;padding-block:3px}.today-view .today-schedule .section-heading{margin-bottom:0}.today-view .today-updates>.section{margin-top:4px}.today-view .today-notice{padding-block:5px}.today-view .today-updates .section-heading{min-height:24px}.page-column:has(.today-view) .emblem{width:32px;height:42px}.page-column:has(.today-view) .wordmark{font-size:18px}.today-view .next-class{margin-inline:0}.app-shell:has(.today-view)>.navigation{padding:4px 16px calc(4px + env(safe-area-inset-bottom))}.app-shell:has(.today-view) .nav-item{gap:3px;min-height:50px;font-size:.625rem}.app-shell:has(.today-view) .navigation nav:before{border-radius:7px;width:calc(25% - 20.5px);inset-inline-start:8px;transform:none}.app-shell:has(.today-view) .nav-item.selected>svg{fill:var(--forest)}}.catalog-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:8px;font-size:.6875rem;display:flex}.catalog-meta>span{align-items:center;gap:5px;display:flex}.enrollment-link{align-items:center;gap:10px;min-height:48px;padding:16px 0;font-size:.8125rem;font-weight:700;display:flex}.enrollment-link>svg:last-child{margin-left:auto}.course-list-heading{padding-top:18px;padding-bottom:8px}.course-catalog>li{padding:13px 0}.catalog-masthead h2{font-size:2.6rem;line-height:1.05}.course-catalog li>a>p{margin-top:3px;font-size:.875rem}.catalog-next{border-radius:6px;margin-top:10px;padding:9px 11px;font-size:.6875rem}.week-timeline .schedule-row{grid-template-columns:62px minmax(0,1fr);row-gap:0}.week-timeline .schedule-time{flex-direction:column;font-size:.6875rem}.week-timeline .schedule-time>span:before{content:""}.week-timeline .schedule-time>span{font-size:inherit}.week-timeline .schedule-detail{border-left-color:#5b7e43;min-height:0;padding:10px 12px 6px}.week-timeline .schedule-detail>strong{font-size:1rem}.week-timeline .schedule-detail>span{font-size:.75rem}.week-timeline .schedule-venue{border-left-color:#5b7e43;margin-top:0;padding:0 12px 10px;font-size:.6875rem}.week-timeline .schedule li:after{top:23px}.week-timeline .schedule li:before{top:27px}.week-timeline .schedule-edit{margin-left:78px;font-size:.6875rem}.week-range{margin-top:5px}@media (max-width:359px){.today-view .schedule-row{grid-template-columns:63px minmax(0,1fr)}.today-view .schedule-venue{text-align:left;grid-column:2;max-width:none;margin-top:-3px}.today-view .schedule-time{font-size:.5625rem}.today-view h1{font-size:2.1rem}.catalog-masthead h2{font-size:2.35rem}}@media (min-width:1100px){:is(.page-column:has(.today-view),.page-column:has(.course-catalog)){max-width:1100px}.today-content{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:start;gap:26px;display:grid}.today-view h1{font-size:3rem}.today-updates>.section:first-child{border-top:0;margin-top:0;padding-top:0}.today-view .dark-panel{padding:20px}.today-view .course-code{font-size:3rem}.today-view .course-name{font-size:1rem}.today-view .class-meta{font-size:.8125rem}.today-view .schedule-row{padding-block:10px}.today-view .schedule-time{font-size:.6875rem}.today-view .schedule-detail>strong{font-size:1rem}.today-view .schedule-detail>span,.today-view .notice-body{font-size:.8125rem}.today-view .notice h3{font-size:.9375rem}.today-view .notice-byline{font-size:.8125rem}.today-view .notice-meta{font-size:.6875rem}.today-view .deadline-title,.today-view .deadline-date{font-size:.8125rem}.today-view .section-heading h2{font-size:.625rem}}.today-view .today-update-section{min-width:0;margin-top:8px}.today-venue-guide{align-items:center;gap:6px;min-height:44px;font-size:.6875rem;font-weight:750;display:inline-flex}.today-update-section>.section-heading{margin-bottom:7px}.today-tile-stack{isolation:isolate;padding:3px 5px 10px 2px}.today-tile{background:#fbfaf3;border:1px solid #d4d9cb;border-radius:11px;min-width:0;transition:transform .17s cubic-bezier(.22,1,.36,1),box-shadow .17s cubic-bezier(.22,1,.36,1),background-color .17s;position:relative;overflow:hidden;box-shadow:0 3px 9px #102f2713}.today-tile+.today-tile{margin-top:-3px}.today-tile.is-active{z-index:5;background:#f9f8ee;border-color:#a6b99c;box-shadow:0 8px 20px #102f2721}.today-tile.is-active:before{content:"";background:var(--lime);width:4px;position:absolute;inset-block:0;inset-inline-start:0}.today-tile.is-collapsed{z-index:calc(4 - var(--tile-depth));transform:translateX(calc(var(--tile-depth) * 2px)) scale(calc(1 - var(--tile-depth) * .004))}.today-tile:hover{box-shadow:0 8px 19px #102f2726}.today-tile h3{font:inherit;margin:0}.today-tile-trigger{border-radius:inherit;width:100%;min-height:66px;color:var(--forest);text-align:left;cursor:pointer;background:0 0;border:0;padding:9px 13px 10px 15px;transition:transform .12s,background-color .12s;display:block}.today-tile-trigger:active{transform:scale(.985)}.today-tile-trigger:focus-visible{outline:3px solid var(--forest);outline-offset:-4px}.today-tile-top{justify-content:space-between;align-items:baseline;gap:8px;font-family:Manrope,sans-serif;font-size:.625rem;line-height:1.4;display:flex}.today-tile-kind{text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:5px;font-weight:800;display:inline-flex}.today-tile-alert{background:var(--urgent);color:#fff;letter-spacing:0;border-radius:50%;place-items:center;width:15px;height:15px;font-size:.65rem;display:inline-grid}.today-tile-time{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.today-tile-name{align-items:baseline;gap:7px;min-width:0;margin-top:2px;font-size:.8125rem;line-height:1.35;display:flex}.today-tile-name strong{flex:none;font-family:Fraunces,Georgia,serif;font-size:1.06rem;font-weight:600}.today-tile-name>span{overflow-wrap:anywhere;min-width:0;font-weight:700}.today-tile.is-urgent .today-tile-kind{color:var(--urgent)}.today-tile-body{padding:0 15px 12px}.today-tile-body>p{border-top:1px solid var(--line);color:var(--forest);overflow-wrap:anywhere;margin:0 0 10px;padding-top:9px;font-size:.8125rem;line-height:1.48}.today-tile-byline{color:var(--muted);align-items:flex-start;gap:7px;font-size:.6875rem;line-height:1.4;display:flex}.today-tile-byline svg{flex:none}.today-tile-body .inline-link{min-height:44px;margin-top:5px;font-size:.75rem;font-weight:800}.today-more-updates{color:var(--muted);margin:0 2px;font-size:.6875rem}.today-deadlines-link{min-height:44px;font-size:.6875rem;font-weight:750}.today-tile-stack.single-tile .today-tile{transform:none}@media (max-width:767px){.today-view .today-update-section{margin-top:4px}.today-tile-stack{padding-bottom:4px}.today-tile-trigger{min-height:62px;padding-block:7px}.today-tile.is-active .today-tile-trigger{min-height:62px}}@media (prefers-reduced-motion:reduce){.today-tile,.today-tile-trigger{transition-duration:0s!important}.today-tile.is-collapsed,.today-tile-trigger:active{transform:none}}.schedule-flags{flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;display:flex}.schedule-detail .schedule-status{letter-spacing:.08em;text-transform:uppercase;min-height:18px;color:var(--muted);background:#e9ece3;border-radius:999px;align-items:center;padding:1px 7px;font-size:.5625rem;font-weight:800;line-height:1.4;display:inline-flex}.schedule-detail .schedule-status.is-active{background:var(--lime);color:var(--forest)}.schedule-detail .schedule-status.is-next{background:var(--forest);color:var(--paper)}.schedule-detail .schedule-status.is-ended{color:#7d8a82;background:0 0;padding-inline:0}.schedule-detail .schedule-status.is-cancelled{color:var(--urgent);background:#f7e1da}.schedule-detail .schedule-change{color:#8a5a1f;margin:0;font-size:.625rem;font-weight:700;display:inline}.rep-class-actions{flex-wrap:wrap;gap:8px;margin:0 0 10px;display:flex}.rep-pill{min-height:36px;color:var(--forest);transition:background var(--feedback) var(--ease-out), border-color var(--feedback) var(--ease-out);background:#fbfaf4;border:1px solid #c8d0c3;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:700;text-decoration:none;display:inline-flex}.rep-pill:hover{background:var(--sage)}.rep-pill.is-cancel{color:var(--urgent);border-color:#e2bcb1}.rep-pill.is-cancel:hover{background:#fbebe6}.today-view .schedule{padding-left:22px;position:relative}.today-view .schedule li{position:relative}.today-view .schedule li:before{background:repeating-linear-gradient(#9fae9f 0 3px,#0000 3px 6px);width:1px;top:19px;bottom:-19px;left:-15px}.today-view .schedule li.ended:before{background:#48685a}.today-view .schedule li.active:before{background:linear-gradient(#48685a,#9fae9f)}.today-view .schedule li:after{border:1.25px solid var(--forest);background:var(--paper);box-sizing:border-box;width:10px;height:10px;top:14.5px;left:-19.5px}.today-view .schedule li.ended:after{background:#48685a;border-color:#48685a}.today-view .schedule li.is-next:after{background:var(--forest);box-shadow:0 0 0 3px #102f2718}.today-view .schedule li.active:after{background:var(--lime);border-color:var(--forest);animation:2.4s ease-in-out infinite schedule-pulse;box-shadow:0 0 0 4px #d9f56a66}.today-view .schedule li.cancelled:after{border-color:var(--urgent);background:var(--paper)}.today-view .schedule li.ended .schedule-row{opacity:.58}.today-view .schedule li.active .schedule-row{background:linear-gradient(90deg,#d9f56a33,#0000 85%);border-radius:10px;margin-inline:-8px;padding-inline:8px}.today-view .schedule li.cancelled .schedule-detail>strong{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}.today-view .schedule li.cancelled .schedule-venue{text-decoration:line-through}.today-view .schedule-row{padding-block:9px}.today-view .schedule-time{color:var(--forest);font-weight:600}.today-view .rep-class-actions{margin-left:calc(5.4375rem + 8px)}@keyframes schedule-pulse{50%{box-shadow:0 0 0 7px #d9f56a22}}@media (prefers-reduced-motion:reduce){.today-view .schedule li.active:after{animation:none}}@media (max-width:359px){.today-view .rep-class-actions{margin-left:71px}}.today-view .later-class h2{font-size:1.5rem}.today-view .later-class p{color:var(--muted);margin-bottom:8px;font-size:.875rem}.today-view .later-class strong{color:var(--forest)}.today-view .today-tile{background:color-mix(in srgb, #fbfaf3, var(--sage) calc(var(--tile-depth,0) * 28%));border-color:#c9d1c0;box-shadow:inset 0 1px #ffffffb0,0 6px 14px -8px #102f2740,0 1px 3px #102f2714}.today-view .today-tile.is-active{background:linear-gradient(#fdfcf7 0%,#f1f1e3 100%);border-color:#93a88b;box-shadow:inset 0 1px #fff,0 18px 32px -14px #102f2759,0 4px 10px -2px #102f271f}.today-view .today-tile.is-active:before{background:linear-gradient(var(--lime), #b9d84a);width:5px}.today-view .today-tile.is-collapsed{border-color:color-mix(in srgb, #c9d1c0, var(--forest) calc(var(--tile-depth,1) * 6%))}.today-view .today-tile:hover{box-shadow:inset 0 1px #fff,0 14px 26px -12px #102f2759,0 2px 6px #102f271a}.editorial-page{max-width:680px}.editorial-page .header{min-height:82px;padding-block:16px 12px}.editorial-page .header-course{min-height:50px;padding-block:4px}.editorial-page .header-course .back-button span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.editorial-page h1{letter-spacing:-.055em;font-size:2.5rem;line-height:1.07}.editorial-page .page-intro{margin:8px 0 16px}.editorial-page .page-intro .eyebrow{color:var(--forest);margin-bottom:6px}.editorial-page .intro-subtitle{margin-top:7px;font-size:.9375rem;line-height:1.4}.editorial-motto{border-left:1px solid var(--line);text-transform:uppercase;letter-spacing:.12em;width:58px;margin:-3px 0 0 auto;padding:3px 0 1px 14px;font-size:.4375rem;font-weight:800;line-height:1.9}.editorial-motto:after{content:"";border-bottom:1px solid var(--muted);width:20px;margin-top:7px;display:block}@media (max-width:360px){.noticeboard-page .editorial-motto,.detail-masthead .editorial-motto{display:none}.detail-page .notice-attribution{flex-wrap:wrap}.detail-page .notice-attribution time{text-align:left;width:100%;margin-left:46px}}.noticeboard-page .page-intro,.deadlines-page .page-intro{margin-top:-5px}.editorial-page .search-field{border-color:var(--line);background:#fffdf780;border-radius:12px;gap:12px;min-height:44px;padding:8px 12px}.editorial-page .search-field input{font-size:.8125rem}.editorial-page .notice-types,.course-chips{scrollbar-width:none;flex-wrap:nowrap;gap:8px;margin:9px 0 12px;padding:2px 1px;display:flex;overflow-x:auto}.editorial-page .notice-types button,.course-chips button{border:1px solid var(--line);background:0 0;border-radius:13px;flex-shrink:0;min-height:36px;padding:7px 14px;font-size:.6875rem}.editorial-page .notice-types [aria-pressed=true],.course-chips [aria-pressed=true]{border-color:var(--lime);background:var(--lime);font-weight:800}.noticeboard-page .notice-feed{gap:8px;margin-inline:-8px}.editorial-notice{background:#fffdf780;border-radius:9px;padding:10px 14px;display:block;position:relative}.editorial-notice.is-pinned{background:#e4e8de}.editorial-notice.notice-urgent{background:#f1e5d9}.notice-card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;margin-bottom:6px;display:flex}.notice-kind{text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:6px;font-size:.625rem;font-weight:800;display:flex}.notice-card-top time{color:var(--muted);font-size:.6875rem}.notice-card-heading{align-items:baseline;gap:14px;padding-right:13px;display:flex}.notice-course-code{letter-spacing:-.04em;flex-shrink:0;font:550 1.5rem/1.15 Fraunces Variable,Georgia,serif}.editorial-notice h3{margin:0;font-size:.9375rem;font-weight:600;line-height:1.28}.editorial-notice h3 a{min-height:0;padding:0}.editorial-notice h3 a:after{content:"";border-radius:inherit;position:absolute;inset:0}.editorial-notice h3 a:focus-visible:after{outline:3px solid var(--forest);outline-offset:2px}.editorial-notice.is-pinned .notice-card-heading{display:block}.editorial-notice.is-pinned .notice-course-code{margin-bottom:3px;display:block}.notice-card-author{align-items:center;gap:10px;margin-top:7px;padding-right:12px;font-size:.6875rem;line-height:1.35;display:flex}.notice-card-author strong{font-weight:650}.notice-card-author p{color:var(--muted);text-transform:capitalize}.author-avatar{width:34px;height:34px;color:var(--forest);background:#cfd8cc;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font:750 .8125rem/1 Manrope Variable,sans-serif;display:inline-flex}.notice-chevron{position:absolute;top:52%;right:11px}.notice-supplementary{gap:12px;margin-top:24px;display:grid}.notice-supplementary>a{justify-content:space-between;align-items:center;min-height:44px;font-size:.8125rem;display:flex}.notice-supplementary .notice-compose-link{margin:0}.editorial-notice .notice-body{-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:4px 16px 0 48px;font-size:.8125rem;line-height:1.4;display:-webkit-box;overflow:hidden}.search-page .notice-results{margin:0 0 10px;font-size:.8125rem}.search-page .search-type-filters{margin-top:5px}.detail-masthead{justify-content:space-between;align-items:flex-start;gap:10px;margin:8px 0 24px;display:flex}.detail-masthead .editorial-motto{margin:5px 0 0}.detail-page .notice-detail{margin-top:0}.detail-page .notice-detail-labels{justify-content:space-between;margin-bottom:10px}.detail-page .role-badge{background:var(--lime);text-transform:uppercase;border:0;font-size:.625rem}.detail-page .notice-attribution{border-top:0;flex-wrap:nowrap;align-items:center;gap:12px;padding:16px 0 20px}.detail-page .notice-attribution>div{flex:1;min-width:0;font-size:.8125rem}.detail-page .notice-attribution p{text-transform:capitalize;font-size:.6875rem}.detail-page .notice-attribution time{text-align:right;font-size:.6875rem}.detail-page .notice-reading{border-bottom:1px solid var(--line);padding:17px 0;font-size:.9375rem;line-height:1.55}.notice-course-reference{align-items:flex-start;gap:16px;padding:18px 0 2px;font-size:.8125rem;display:flex}.notice-course-reference span{flex:1}.notice-course-reference small{color:var(--muted);margin-bottom:3px;display:block}.notice-course-reference strong{display:block}.detail-page .notice-share{gap:10px;margin-top:20px}.detail-page .notice-share .button{font-size:.875rem}.detail-page .notice-share .small{font-size:.6875rem}.editorial-back{gap:16px;margin-bottom:8px;font-size:1rem;font-weight:500;display:flex}.editor-page .page-intro{margin:0 0 18px}.editor-page .notice-form>fieldset{gap:6px}.editor-page .notice-form input:not([type=radio]):not([type=checkbox]),.editor-page .notice-form textarea,.editor-page .notice-form select{border-color:var(--line);background:#fffdf760;border-radius:6px;min-height:44px;padding:8px 12px;font-size:.8125rem}.editor-page .notice-form label{font-size:.8125rem;font-weight:500}.editor-page .notice-form label[for=notice-scope],.editor-page .notice-form legend,.editor-page .notice-form label[for=notice-due],.editor-page .notice-form .form-section-label,.editor-page .venue-picker>label{letter-spacing:.13em;text-transform:uppercase;font-size:.625rem;font-weight:800}.editor-page .notice-form .composer-types{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.editor-page .composer-types legend{padding-bottom:8px}.editor-page .composer-types label{border-color:var(--line);border-radius:6px;gap:5px;min-height:64px;padding:8px 2px;font-size:.625rem}.editor-page .composer-types label:has(:checked){background:var(--lime);border-color:var(--lime)}.editor-page .form-section-label{margin-top:3px}.editor-page #notice-body{min-height:74px}.editor-page .composer-pin{gap:7px;min-height:40px;margin:0}.editor-page .composer-pin svg{display:none}.composer-author-card{border:1px solid var(--line);border-radius:6px;align-items:center;gap:14px;margin:2px 0;padding:9px;font-size:.8125rem;display:flex}.composer-author-card .author-avatar{background:#c3dfad;width:40px;height:40px}.composer-author-card p{color:var(--muted);font-size:.6875rem}.editor-page .composer-buttons{flex-wrap:nowrap;gap:12px;margin:6px 0 0}.editor-page .composer-buttons>button{flex:1 1 0;padding-inline:9px;font-size:.8125rem}.editor-page .composer-buttons>button.primary{flex-grow:1.5}.editor-page .draft-status{min-height:0;margin-top:8px;font-size:.6875rem}.editor-page #notice-timezone{font-size:.625rem}.occurrence-context{gap:7px;margin-bottom:16px;display:grid}.occurrence-context .eyebrow{font-size:.625rem}.scoped-course{border:1px solid var(--line);background:#fffdf760;border-radius:6px;align-items:baseline;gap:10px;margin-bottom:10px;padding:11px;font-size:.75rem;display:flex}.scoped-course strong{flex-shrink:0;font-size:.875rem}.occurrence-date{background:#eeeee4;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:10px;font-size:.6875rem;display:flex}.venue-change{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:end;gap:12px;display:grid}.venue-change>svg{margin-bottom:12px}.venue-change .eyebrow{margin-bottom:6px;font-size:.625rem}.current-location{border:1px solid var(--line);background:#eeeee4;border-radius:6px;align-items:center;gap:8px;min-height:44px;padding:9px;font-size:.8125rem;display:flex}.venue-picker{min-width:0;position:relative}.venue-picker>label{margin-bottom:6px;display:block}.venue-picker-field{align-items:center;display:flex;position:relative}.venue-picker-field>svg:first-child{pointer-events:none;position:absolute;left:10px}.venue-picker-field>svg:last-child{pointer-events:none;position:absolute;right:10px}.notice-form .venue-picker-field input{padding-inline:34px}.venue-picker .venue-options{border:1px solid var(--line);background:var(--paper);border-radius:8px;max-height:280px;margin-top:6px;padding:8px;position:relative;overflow-y:auto}.venue-change:has(.venue-options){grid-template-columns:1fr}.venue-change:has(.venue-options)>svg{display:none}.venue-location-note{color:var(--muted);font-size:.6875rem;line-height:1.35;display:block}.venue-guide-link{align-items:center;min-height:44px;font-size:.75rem;font-weight:750;text-decoration:underline;display:inline-flex}@media (max-width:430px){.venue-change{grid-template-columns:1fr}.venue-change>svg{display:none}}.change-page .notice-form .composer-types{grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0 8px}.change-page .composer-types label{flex-direction:row;justify-content:flex-start;min-height:40px;padding:8px;font-size:.75rem}.change-page .occurrence-scope{border-radius:6px;align-items:center;gap:13px;margin:6px 0;padding:11px 13px;font-size:.8125rem;display:flex}.change-page .occurrence-scope p{color:var(--muted);margin:0}.original-schedule{margin-block:10px;font-size:.75rem}.original-schedule summary{cursor:pointer;min-height:44px;padding-block:10px}.editorial-deadlines{margin-top:24px}.editorial-deadlines li{border:0;padding:0 0 16px;display:block;position:relative}.editorial-deadlines li:before{content:"";border-left:1px dashed #bbc8b9;position:absolute;top:20px;bottom:-8px;left:10px}.editorial-deadlines li:last-child:before{bottom:18px}.deadline-day{margin-bottom:8px;font-size:.6875rem}.deadline-timeline-card{background:#fffdf760;border:1px solid #e5e6db;border-radius:10px;margin-left:32px;padding:11px 12px 9px;position:relative}.deadline-timeline-card:before{content:"";background:var(--paper);border:1px solid var(--forest);outline:6px solid var(--lime);border-radius:50%;width:10px;height:10px;position:absolute;top:17px;left:-28px}.deadline-card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;display:flex}.deadline-card-top strong{letter-spacing:-.04em;font:550 1.5rem/1.2 Fraunces Variable,Georgia,serif}.deadline-card-top time{font-size:.6875rem}.editorial-deadlines h2{margin-top:2px;font-size:.9375rem;font-weight:600}.deadline-description{color:var(--muted);margin-top:5px;font-size:.8125rem;line-height:1.4}.deadline-reminder{align-items:center;gap:8px;min-height:44px;margin-top:8px;font-size:.6875rem;display:flex}.deadline-reminder>span:last-child{border:1px solid var(--line);border-radius:6px;align-items:center;gap:10px;margin-left:auto;padding:8px;display:flex}.deadline-filter-tools{margin-top:20px}@media (max-width:359px){.editorial-page{padding-inline:18px}.editorial-page h1{font-size:2.25rem}.notice-course-code{font-size:1.25rem}.notice-card-heading{gap:8px}.editor-page .notice-form .composer-types{gap:4px}.editor-page .composer-buttons{gap:8px}}@media (min-width:768px){.editorial-page{max-width:850px;padding-inline:44px}.editorial-page h1{font-size:3rem}.editorial-motto{margin-top:12px}.noticeboard-page .notice-feed{margin:0}.editorial-notice{padding:16px 20px}.editorial-page .search-type-filters{display:flex}.editorial-page .page-body{max-width:680px;margin-inline:auto}}.editorial-page h1{font-weight:450}.editorial-page h1[tabindex="-1"]:focus{outline:none}.management-page>.header{min-height:88px}.management-page>.header .back-button{display:none}.management-page:has(.academic-tree)>.header .brand{display:flex}.management-page .page-intro{margin-top:26px}.management-title{align-items:center;gap:8px;display:flex}.management-title h1{flex:1;font-size:2.1rem}.management-title .role-badge{background:var(--lime);border-radius:12px;padding:4px 10px;font-size:.6875rem}.institution-record{margin-top:24px}.institution-record>button{text-align:left;background:#e4e8df;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:5px;padding:12px 14px;display:flex}.institution-record>button span{font:450 1.15rem/1.3 Fraunces Variable,Georgia,serif}.tree-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:8px;display:flex}.tree-heading .text-button{border:1px solid #acb8aa;border-radius:8px;min-height:34px;margin-block:8px;padding:4px 10px}.tree-step{align-items:center;gap:12px;min-height:50px;padding:4px 0;display:flex;position:relative}.tree-step:before{content:"";border-left:1px solid #acb8aa;position:absolute;top:0;bottom:0;left:13px}.tree-step:last-child:before{bottom:50%}.tree-number{z-index:1;background:var(--forest);width:28px;height:28px;color:var(--paper);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font:450 1rem/1 Fraunces Variable,Georgia,serif;display:flex;position:relative}.tree-record{text-align:left;background:0 0;border:0;flex:1;padding:8px 0;font:500 1.05rem/1.3 Fraunces Variable,Georgia,serif}.tree-select{flex:1;min-width:0}.tree-select select{width:100%;min-height:44px;color:var(--forest);background:0 0;border:0;padding:5px 0;font:500 1.05rem/1.3 Fraunces Variable,Georgia,serif}.tree-step>.icon-button{width:36px;height:44px}.tree-course-heading h2{background:#e4e8df;border-radius:6px 6px 0 0;flex:1;padding:10px 12px;font:500 1.1rem/1.3 Fraunces Variable,Georgia,serif}.tree-course-heading h2 span{font:400 .8125rem/1.3 Manrope Variable,sans-serif}.tree-course-heading .tree-number{color:var(--forest);background:#e4e8df;border:1px solid #a6b4a8}.management-records{margin:0;padding:0;list-style:none}.management-records li{border-bottom:1px solid #e5e6db;align-items:center;gap:12px;min-height:48px;padding:5px 10px;display:flex}.course-records{border:1px solid #e1e3d8;border-radius:6px}.management-records li>div{flex-wrap:wrap;flex:1;align-items:baseline;gap:2px 12px;min-width:0;font-size:.6875rem;display:flex}.management-records li strong{font-size:.875rem;font-weight:700}.management-records li small{color:var(--muted);flex-basis:100%;display:block}.management-records .record-draft{color:#74511c}.management-records .icon-button{width:32px;height:38px}.add-structure-record{border-bottom:1px solid var(--line);width:100%;padding-inline:12px}.management-tools{border-top:1px solid var(--line);margin-top:16px;padding-top:13px}.management-tools>a{border:1px solid #e1e3d8;border-radius:6px;align-items:center;gap:14px;margin-top:7px;padding:10px 12px;display:flex}.management-tools>a>span{flex:1;min-width:0}.management-tools strong,.management-tools small{font-size:.75rem;display:block}.management-tools small{color:var(--muted);font-size:.6875rem}.manage-directory{margin-block:22px 10px}.manage-directory>label{margin-bottom:6px;display:block}.roles-page .page-intro{margin-top:0}.roles-page .management-title h1{font-size:2.4rem}.member-search{margin:18px 0 12px}.member-search>label,.role-form>.eyebrow,.role-form legend,.role-form label[for=member-course]{letter-spacing:.13em;text-transform:uppercase;font-size:.625rem;font-weight:800}.member-search-field{border:1px solid var(--line);border-radius:6px;align-items:center;margin-top:4px;padding-left:10px;display:flex}.editor-page .member-search-field input{flex:1;min-width:0;background:0 0!important;border:0!important}.selected-member{border:1px solid var(--line);border-radius:6px;align-items:center;gap:16px;margin:5px 0 16px;padding:9px;font-size:1rem;display:flex}.selected-member .author-avatar{background:#c3dfad;width:44px;height:44px}.notice-form .course-role-choices{margin-top:12px}.course-role-choices>label{cursor:pointer;align-items:flex-start;gap:14px;min-height:44px;padding:8px 4px;display:flex}.course-role-choices input{width:18px;height:18px;accent-color:var(--forest);flex-shrink:0;margin:3px 0 0}.course-role-choices input:checked{outline:4px solid var(--lime);outline-offset:0;border-radius:50%}.course-role-choices input:focus-visible{outline:3px solid var(--forest);outline-offset:5px}.course-role-choices strong,.course-role-choices small{display:block}.course-role-choices small{color:var(--muted);font-size:.75rem;line-height:1.4}.role-scope{background:var(--sage);border-radius:6px;align-items:flex-start;gap:16px;margin:4px 0 6px;padding:12px 14px;font-size:.8125rem;display:flex}.role-scope p{color:var(--muted);font-size:.75rem}.role-removal{margin-block:8px;font-size:.75rem}.role-removal summary{cursor:pointer;min-height:44px;padding-block:12px}.role-removal label{align-items:center;gap:10px;display:flex}.member-assignments{margin-top:16px}.member-assignments p{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding-block:10px;font-size:.8125rem;display:flex}.member-assignments p span{text-transform:capitalize;color:var(--muted)}.change-draft-preview{margin:8px 0 2px}.change-draft-preview>div{background:#eaf1cf;border-radius:6px;margin-top:8px;padding:12px 14px;font-size:.75rem}.change-draft-preview p{margin-top:3px}.preview-footnote{text-align:center;color:var(--muted);padding:20px 24px 100px;font-size:12px}.occurrence-form .venue-change{align-items:start}.occurrence-form .venue-change>svg{align-self:start;margin:37px 0 0}.occurrence-form .venue-change .eyebrow,.occurrence-form .venue-change .venue-picker>label{align-items:flex-end;min-height:15px;margin:0 0 8px;line-height:1.2;display:flex}.occurrence-form .current-location{min-height:48px}.occurrence-form .venue-picker-field input{text-overflow:ellipsis;min-height:48px;padding-left:38px!important;padding-right:36px!important}.occurrence-form .venue-picker-field>svg:first-child{z-index:1;left:12px}.occurrence-form .venue-guide-link{margin-top:8px;font-size:.75rem;display:inline-flex}@media (max-width:430px){.occurrence-form .venue-change>svg{display:none}}.resource-page{padding-inline:20px}.resource-page .header{min-height:76px;padding:18px 0 10px}.resource-page .header-editorial{gap:8px}.resource-page .header-editorial .back-button{width:32px;min-width:32px;min-height:44px;padding:0}.resource-page .header-editorial .back-button span{display:none}.resource-page .header-editorial .brand{flex:1;justify-content:center}.resource-page .header-editorial .wordmark{font-size:18px}.resource-page .header-editorial .brand-caption{max-width:180px;font-size:6px}.resource-page .avatar{width:36px;min-width:44px;height:36px;min-height:44px}.resource-page .page-intro{margin:0 0 18px}.resource-page #page-heading:focus{outline:none}.resource-page h1{letter-spacing:-.055em;font-size:2.35rem;line-height:1.08}.resource-eyebrow{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.resource-page .resource-eyebrow .eyebrow{color:var(--forest);margin:0;font-size:.625rem}.resource-eyebrow>span{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);white-space:nowrap;font-size:.625rem}.document-shelf .resource-eyebrow{margin-bottom:22px}.document-shelf h1{font-size:2.6rem}.resource-page .intro-subtitle{color:var(--forest);font-size:1rem}.shelf-course-meta{flex-wrap:wrap;align-items:center;gap:9px;margin-top:10px;font-size:.8125rem;display:flex}.shelf-course-meta>span,.shelf-course-meta>a{align-items:center;gap:7px;display:inline-flex}.shelf-course-meta>span+span,.shelf-course-meta>a{border-left:1px solid var(--line);padding-left:9px}.shelf-course-meta>a{margin-block:-10px;padding-block:10px}.document-shelf .shelf-tabs{border-bottom:1px solid var(--line);flex-wrap:nowrap;justify-content:space-between;gap:10px;margin:20px 0 14px;padding-bottom:9px;display:flex;overflow-x:auto}.document-shelf .shelf-tabs .filter-chip{white-space:nowrap;background:0 0;border:0;border-radius:8px;flex:none;min-height:44px;padding:8px 9px;font-size:.8125rem;position:relative}.document-shelf .shelf-tabs .filter-chip[aria-pressed=true]{background:var(--lime)}.document-shelf .shelf-tabs .filter-chip[aria-pressed=true]:after{content:"";bottom:-9px;background:var(--forest);height:2px;position:absolute;inset-inline:0}.document-shelf .shelf-list{margin:8px 0 6px;position:relative}.document-shelf .shelf-list:before{content:"";border-left:1px solid var(--line);position:absolute;top:18px;bottom:30px;left:16px}.document-shelf .shelf-document{border:0;align-items:flex-start;gap:12px;margin-bottom:12px;padding:0;display:flex;position:relative}.document-shelf .folio-number{width:32px;min-width:32px;height:32px;color:var(--forest);background:#dce3d6;border-radius:11px;flex:none;place-items:center;padding:0;font:750 .875rem/1 Manrope Variable,sans-serif;display:grid}.document-shelf .folio-number.is-saved{background:var(--lime)}.document-shelf .shelf-document-card{background:#fcfaf3;border-radius:10px;grid-template-columns:42px minmax(0,1fr) 25px;align-items:start;gap:10px;min-height:102px;padding:10px 7px 10px 11px;display:grid;position:relative}.document-file-icon{color:#b23e22;background:#fae8df;border-radius:7px;flex:none;place-items:center;width:42px;height:58px;display:grid}.shelf-document-copy{min-width:0}.document-shelf .shelf-list h2{margin-bottom:5px;font-family:Fraunces Variable,Georgia,serif;font-size:1.2rem;font-weight:550;line-height:1.18}.document-shelf .shelf-list h2 a{min-height:0;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0;text-decoration:none;display:block}.shelf-document-copy h2 a:after{content:"";border-radius:10px;position:absolute;inset:0}.document-shelf .shelf-list p{font-size:.75rem;line-height:1.4}.document-shelf .shelf-list .document-file-meta{color:var(--forest);flex-wrap:wrap;gap:5px;display:flex}.document-shelf .document-uploaded{margin-top:3px}.document-offline-badge{background:var(--lime);border-radius:20px;align-items:center;gap:5px;margin-top:8px;padding:5px 8px;font-size:.625rem;font-weight:750;display:inline-flex}.shelf-document-action{z-index:1;min-width:32px;min-height:44px;margin:-6px -4px 0;position:relative}.shelf-document-menu{z-index:2;border-top:1px solid var(--line);grid-column:1/-1;padding:8px 0 0;position:relative}.shelf-document-menu button,.shelf-document-menu a{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:7px;font-size:.75rem;display:flex}.resource-history-link{align-items:center;gap:14px;min-height:48px;margin:20px 0;font-size:.8125rem;display:flex}.resource-history-link span{flex:1}.shelf-history summary{cursor:pointer;min-height:44px;margin:4px 0}.shelf-history ul{margin:0;padding:0 0 10px 44px;list-style:none}.shelf-history a{justify-content:space-between;align-items:center;gap:10px;min-height:44px;font-size:.8125rem;display:flex}.shelf-history a>span{align-items:center;gap:7px;font-size:.6875rem;display:flex}.shelf-downloads-link{min-height:44px;margin-top:10px;font-size:.6875rem}.document-detail-page .page-intro{margin-bottom:16px}.document-detail-page h1{font-size:2.5rem}.document-detail-page .intro-subtitle{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:.9375rem;display:flex}.document-detail-page .intro-subtitle strong{font-weight:600}.document-file-section{margin-top:10px}.document-detail-page .document-preview{background:0 0;border:0;border-radius:10px;margin:0;padding:0}.document-detail-page .document-preview pre{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:220px;padding:18px}.pdf-placeholder{justify-content:center;align-items:center;gap:12px;min-height:350px;display:flex;border:1px solid var(--line)!important;background:#fff!important}.pdf-placeholder p{font-size:.8125rem}.pdf-reader{border:1px solid var(--line);color:var(--forest);background:#fff;border-radius:10px;overflow:hidden}.pdf-toolbar{border-bottom:1px solid #edf0e8;justify-content:space-between;align-items:center;min-height:44px;padding:2px 5px;display:flex}.pdf-toolbar .icon-button{width:38px;min-height:40px}.pdf-zoom{display:flex}.pdf-page-count{background:#f7f8f6;border-radius:5px;justify-content:center;align-items:center;gap:4px;min-height:32px;font-size:.75rem;display:flex}.pdf-page-count input{text-align:right;width:32px;min-width:0;color:var(--forest);appearance:textfield;background:0 0;border:0;padding:2px}.pdf-page-count input::-webkit-inner-spin-button{appearance:none}.pdf-page-count input::-webkit-outer-spin-button{appearance:none}.pdf-page-count>span:last-child{padding-right:9px}.pdf-scroller{overscroll-behavior:contain;background:#fff;height:min(40dvh,360px);min-height:240px;padding:12px;position:relative;overflow:auto}.pdf-scroller canvas{background:#fff;border:1px solid #edf0e8;display:block;box-shadow:0 1px 6px #102f270a}.pdf-loading,.pdf-error{padding:20px;font-size:.8125rem}.pdf-loading{background:#ffffffe6;position:absolute;inset:10px}.pdf-page-nav{border-top:1px solid #edf0e8;justify-content:space-between;align-items:center;gap:6px;padding:0 7px;font-size:.625rem;display:flex}.pdf-page-nav .text-button{gap:1px;min-height:36px;font-size:.625rem}.pdf-page-text{border-top:1px solid #edf0e8;font-size:.6875rem}.pdf-page-text summary{cursor:pointer;min-height:32px;padding:6px 12px}.pdf-page-text p{padding:0 12px 12px;line-height:1.5}.pdf-search{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:7px;padding:8px 10px;font-size:.75rem;display:flex}.pdf-search input{border:1px solid var(--line);border-radius:5px;flex:1;width:100px;min-width:0;min-height:36px;padding:6px}.pdf-search>button{background:0 0;border:0;min-height:36px;padding:6px}.pdf-search p{width:100%;font-size:.6875rem}.pdf-search p button{background:0 0;border:0;margin-left:8px;text-decoration:underline}.document-detail-meta{align-items:center;gap:11px;margin:14px 0;display:flex}.document-detail-meta .document-file-icon{width:34px;height:43px}.document-detail-meta h2{font-family:Fraunces Variable,Georgia,serif;font-size:1rem;font-weight:550}.document-detail-meta p{color:var(--muted);font-size:.6875rem;line-height:1.4}.document-detail-page .document-actions{flex-wrap:nowrap;gap:8px}.document-detail-page .document-actions .primary{flex:1;gap:8px;min-width:0;padding:10px;font-size:.8125rem}.document-detail-page .document-actions .document-more{border:1px solid var(--line);background:0 0;flex:0 0 44px;padding:8px}.document-export-actions{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-top:5px;display:flex}.document-export-actions .text-button,.document-export-actions .inline-link{min-height:36px;font-size:.6875rem}.document-export-note{color:var(--muted);font-size:.625rem}.document-detail-menu{border:1px solid var(--line);background:#fffdf7;border-radius:9px;margin-top:9px;padding:8px 12px;box-shadow:0 5px 13px #102f2712}.document-detail-menu button,.document-detail-menu a{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:7px 0;font-size:.75rem;display:flex}.document-detail-menu p{color:var(--muted);padding-block:5px;font-size:.625rem}.document-history{border-top:1px solid var(--line);margin-top:12px}.document-history summary{cursor:pointer;align-items:center;gap:13px;min-height:48px;font-size:.8125rem;display:flex}.document-history summary span{flex:1}.document-history .notice-form{padding:10px 0}.profile-page h1{font-size:2.125rem}.profile-page .intro-subtitle{color:var(--muted);font-size:.875rem}.profile-page .profile-identity{background:#fcfaf3;border:1px solid #efeee5;border-radius:10px;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;margin-bottom:16px;padding:14px;display:grid;position:relative;box-shadow:0 2px 10px #102f2706}.profile-identity .author-avatar{background:#deef91;width:64px;height:64px;font-family:Fraunces Variable,Georgia,serif;font-size:1.8rem;font-weight:500}.profile-identity>div{flex:1}.profile-identity h2{overflow-wrap:anywhere;padding-right:20px;font-family:Fraunces Variable,Georgia,serif;font-size:1.125rem;font-weight:550}.profile-identity p{color:var(--muted);margin-top:5px;font-size:.75rem;line-height:1.4}.profile-identity .icon-button{min-width:32px;position:absolute;top:12px;right:8px}.profile-page .settings-form>fieldset{display:block}.profile-page .settings-form .eyebrow{margin-bottom:6px;font-size:.625rem}.settings-description{color:var(--muted);margin-bottom:6px;font-size:.6875rem}.profile-page .preference-row{gap:12px;min-height:44px;margin:0;padding:9px 0}.profile-page .preference-row>span:first-child{flex-wrap:wrap;align-items:baseline;gap:3px 10px;display:flex}.profile-page .preference-row strong{font-size:.875rem}.profile-page .preference-row span span{font-size:.6875rem}.profile-page .settings-form .preference-switch{appearance:none;cursor:pointer;background:#cbd0cb;border:1px solid #b4bbb3;border-radius:20px;flex:none;width:43px;min-width:43px;height:24px;min-height:24px;margin:0;transition:background-color .12s;position:relative}.profile-page .preference-switch:before{content:"";background:#fff;border-radius:50%;width:19px;height:19px;transition:transform .12s;position:absolute;top:1px;left:1px;box-shadow:0 1px 3px #102f2726}.profile-page .preference-switch:checked{background:#aad32f;border-color:#aad32f}.profile-page .preference-switch:checked:before{transform:translate(19px)}.institution-preference>span:first-child{display:block!important}.profile-page .institution-preference small{font-size:.625rem;line-height:1.4;display:block}.institution-subscribed{color:#597d22;flex:none;align-items:center;gap:4px;display:inline-flex}.institution-subscribed span{font-size:.625rem!important}.settings-explanation{color:var(--muted);margin-top:3px;font-size:.625rem}.settings-explanation summary{cursor:pointer;min-height:32px;padding:6px 0}.settings-explanation p{padding:4px 0 10px}.profile-reminders{margin-top:14px}.settings-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:11px;width:100%;min-height:54px;padding:8px 3px;display:flex}.settings-row>span:first-of-type,.settings-row>label{flex:1;min-width:0}.settings-row strong,.settings-row small{display:block}.settings-row strong{font-size:.8125rem;font-weight:700}.settings-row small{color:var(--muted);margin-top:2px;font-size:.625rem;font-weight:450;line-height:1.35}.profile-page .reminder-row{background:#fcfaf3;border:0;border-radius:8px;padding:10px}.profile-page .reminder-row label{font-size:inherit;margin:0}.profile-installation{margin-top:14px}.profile-installation>h2{margin-bottom:5px;font-size:.625rem}.settings-row-status{text-align:right;overflow-wrap:anywhere;max-width:84px;font-size:.6875rem;flex:none!important}.profile-signout{color:#b33d22;background:#fff2e7;border:0;border-radius:8px;margin-top:6px;padding-inline:8px}.profile-page .profile-edit-fields{border:1px solid var(--line);background:#fcfaf3;border-radius:9px;margin:0 0 20px;padding:14px}.profile-edit-fields h2{margin-bottom:12px;font-family:Fraunces Variable,Georgia,serif;font-size:1.1rem}.profile-page .profile-edit-fields label{margin-top:12px;display:block}.profile-page .profile-edit-fields input{width:100%;margin-top:5px}.profile-edit-fields .inline-link{min-height:44px;font-size:.75rem}.profile-page .profile-save{width:100%;margin-top:16px}.profile-page .deadline-setting-detail{margin-top:6px}.profile-extra-links{border-top:1px solid var(--line);margin-top:26px;padding-top:10px}.profile-extra-links .section{margin-top:8px}.profile-extra-links a{min-height:44px;font-size:.75rem}.resource-page.guide-page h1{font-size:2.5rem}.resource-page.guide-page .page-intro{margin:0 0 18px}.resource-page.guide-page .resource-eyebrow{margin-bottom:8px}.resource-page.guide-page .guide-pickers{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 16px}.guide-picker-label{text-transform:uppercase;letter-spacing:.13em;margin-bottom:5px;font-size:.625rem;font-weight:800}.guide-place-trigger{text-align:left;background:#fffdf7;border:1px solid #b8c5b8;border-radius:7px;align-items:center;gap:7px;width:100%;min-height:50px;padding:8px 10px;font-size:.75rem;display:flex}.guide-place-trigger>span{overflow-wrap:anywhere;flex:1;min-width:0;line-height:1.35}.guide-place-dialog{z-index:15;background:#fffdf7;border:1px solid #a9b8a9;border-radius:9px;width:min(360px,100vw - 48px);margin-top:5px;position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 12px 25px #102f272e}.guide-place-search:last-child .guide-place-dialog{left:auto;right:0}.guide-place-dialog-search{border-bottom:1px solid var(--line);align-items:center;gap:7px;padding:5px 8px;display:flex}.guide-place-dialog-search input{width:100%;min-width:0;min-height:44px;color:var(--forest);background:0 0;border:0;font-size:.8125rem}.guide-place-dialog-search .icon-button{min-width:32px}.guide-page .guide-search-results{max-height:280px;box-shadow:none;border:0;border-radius:0;position:static}.guide-page .campus-map-wrap{isolation:isolate;border-radius:14px}.resource-page .campus-map{height:280px}.resource-page .campus-map .leaflet-tile-pane{filter:saturate(.55)contrast(.96)}.guide-page .campus-map-caption{padding:7px 10px;font-size:.625rem}.guide-page .guide-map-note{background:#fff0cc;border-radius:8px;margin:10px 0 0;font-size:.6875rem}.guide-map-note strong{font-weight:700}.guide-page .guide-place-detail{border-radius:9px;padding:13px}.guide-page .guide-place-detail h2{font-size:1.4rem}.guide-page .guide-place-detail .eyebrow{font-size:.625rem}.guide-page .guide-location-status{font-size:.75rem}.guide-place-more{margin-top:5px}.guide-place-more summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:44px;font-size:.75rem;display:flex}.guide-place-more p{font-size:.75rem}.guide-page .guide-route-unmapped h2{font-size:1.3rem}.guide-page .guide-route-reviewed{background:0 0;border:0;padding:12px 0 0}.guide-route-reviewed h2{font-family:Manrope Variable,sans-serif;font-size:.875rem}.guide-page .guide-route-reviewed ol{counter-reset:route-step;margin:12px 0;padding:0;list-style:none}.guide-route-reviewed li{counter-increment:route-step;min-height:48px;padding:3px 0 10px 49px;position:relative}.guide-route-reviewed li:before{content:counter(route-step);background:var(--lime);width:30px;height:30px;color:var(--forest);border-radius:50%;place-items:center;font-size:.75rem;font-weight:800;display:grid;position:absolute;inset:0 auto auto 3px}.guide-page .guide-privacy{align-items:center;gap:13px;margin-top:18px;padding:12px 0;font-size:.6875rem;display:flex}.guide-privacy strong{color:var(--forest);font-size:.75rem}@media (max-width:599px){.resource-page.guide-page .guide-pickers{grid-template-columns:1fr;gap:10px}.guide-place-trigger{font-size:.8125rem}.guide-place-dialog,.guide-place-search:last-child .guide-place-dialog{width:auto;left:0;right:0}.guide-page .guide-search-results{max-height:min(280px,46dvh)}.resource-page .campus-map{height:clamp(260px,72vw,340px)}}.campus-map-touch-hint{display:none}@media (pointer:coarse){.campus-map-touch-hint{display:inline}}.guide-page .campus-map .leaflet-control-zoom a{width:36px;height:36px;line-height:36px}@media (max-width:360px){.resource-page .header-editorial .wordmark{font-size:15px}.resource-page .header-editorial .emblem{width:28px}.resource-page .header-editorial .brand{gap:7px}.document-shelf .shelf-document-card{grid-template-columns:34px minmax(0,1fr) 25px;gap:7px;padding-left:9px}.document-shelf .document-file-icon{width:34px}.profile-page .profile-identity{grid-template-columns:52px minmax(0,1fr);gap:9px;padding:12px}.profile-identity .author-avatar{width:52px;height:52px}}@media (min-width:1100px){.resource-page .header-editorial .brand{justify-content:flex-start}.resource-page .page-intro{margin-top:30px}.resource-page .campus-map{height:430px}.resource-page .pdf-scroller{height:550px;max-height:65dvh}.document-shelf .shelf-document-card{padding:18px}}@media (prefers-reduced-motion:reduce){.profile-page .preference-switch,.profile-page .preference-switch:before{transition:none}}.profile-explore{margin-top:24px}.profile-explore h2{letter-spacing:-.035em;margin-bottom:7px;font:550 1.6rem/1.2 Fraunces Variable,Georgia,serif}.profile-explore-row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:63px;color:var(--forest);text-align:left;background:0 0;border-radius:0;align-items:center;gap:18px;padding:10px 0;display:flex}.profile-explore-icon{background:#e5e9d9;border-radius:13px;flex:0 0 41px;justify-content:center;align-items:center;width:41px;height:41px;display:flex}.profile-explore-copy{flex:1;min-width:0}.profile-explore-copy strong{font-size:.8125rem;font-weight:750;line-height:1.4;display:block}.profile-explore-copy small{color:var(--muted);margin-top:2px;font-size:.6875rem;line-height:1.5;display:block}.profile-explore-row>svg{flex-shrink:0}.profile-explore-signout{color:#bf351b;margin-top:13px}.profile-explore-signout .profile-explore-icon{background:#f8e9df}.course-breadcrumb{letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:12px;margin:-6px 0 8px;font-size:.6875rem;font-weight:750;display:flex}.course-breadcrumb .inline-link{font-size:inherit;color:var(--muted);min-height:44px;text-decoration:none}.course-title{letter-spacing:-.045em;font-size:clamp(2.1rem,5vw,2.9rem);line-height:1.06}.course-hub .hub-course-name{color:var(--muted);margin-top:10px;font-size:1rem}.course-hub .course-access{margin-top:9px;font-size:.6875rem}.course-hub .hub-tabs{margin:18px 0 16px}.course-hub .tab-indicator{width:33.3333%;transform:translateX(calc(var(--course-tab) * 100%))}.course-hub .hub-tabs button{overflow-wrap:anywhere;min-width:0;min-height:48px;padding:10px 6px;font-size:.8125rem}.course-hub .check-in{border-radius:10px;padding:18px}.course-hub .waiting-count{margin:12px 0 14px}.course-hub .count-value{font-size:3.5rem}.course-hub .check-privacy{font-size:.6875rem}.course-hub .reset-time{font-size:.625rem}.course-hub .panel-eyebrow h2{letter-spacing:.12em;gap:9px}.course-schedule-heading{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding-top:18px;display:flex}.course-schedule-heading h2,.course-documents-intro h2{letter-spacing:-.03em;font:550 1.65rem/1.2 Fraunces Variable,Georgia,serif}.course-schedule-heading p{color:var(--muted);margin-top:4px;font-size:.625rem}.course-schedule-heading .weekly-edit{gap:8px;min-height:44px;padding:9px 12px;font-size:.6875rem;font-weight:700}.course-timeline{--rail-x:69px;margin:0;padding:0;list-style:none;position:relative}.course-timeline:before{content:"";left:var(--rail-x);pointer-events:none;background:linear-gradient(#9a9 0% 65%,#99aa9980 90%,#9a90 100%);width:1px;position:absolute;top:25px;bottom:18px}.course-timeline>li{grid-template-columns:62px minmax(0,1fr);gap:18px;padding-bottom:18px;display:grid;position:relative}.course-timeline>li:after{content:"";top:20px;left:calc(var(--rail-x) - 5px);background:var(--paper);border:1.5px solid var(--forest);border-radius:50%;width:11px;height:11px;position:absolute}.course-timeline>li.is-next:after{background:var(--forest)}.course-timeline>li.cancelled:after{border-color:var(--urgent)}.course-date{text-transform:uppercase;flex-direction:column;padding-top:16px;font-size:.625rem;font-weight:750;line-height:1.7;display:flex}.course-date strong{font-size:.625rem}.course-class{background:#faf8f0;border:1px solid #dfe2d6;border-radius:10px;min-width:0;padding:16px;container:course-class/inline-size}.course-class-time{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.6875rem;display:flex}.class-marker,.class-cancelled{text-transform:uppercase;letter-spacing:.02em;border-radius:12px;padding:4px 8px;font-size:.5625rem;font-weight:800}.class-marker{color:var(--forest);background:var(--lime)}.class-cancelled{color:var(--urgent);background:#f1e5d9}.course-class h3{letter-spacing:-.025em;overflow-wrap:anywhere;margin:8px 0;font:550 1.35rem/1.2 Fraunces Variable,Georgia,serif}.course-class-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:.6875rem;display:flex}.course-class-meta>span{align-items:center;gap:6px;display:flex}.course-class-meta .schedule-venue{max-width:none;font-size:inherit;text-align:left}.course-class-footer{margin-top:13px}.course-pattern{background:var(--sage);border-radius:6px;min-width:0;padding:10px}.course-pattern-description{align-items:center;gap:9px;display:flex}.course-pattern-description>span{min-width:0}.course-pattern-description strong,.course-pattern-description>span>span{overflow-wrap:anywhere;font-size:.625rem;line-height:1.5;display:block}.course-pattern-description>span>span{color:var(--muted);margin-top:2px}.course-class-action{border-top:1px solid var(--line);margin-top:10px;padding-top:3px}.course-class-action .schedule-edit{width:-moz-fit-content;width:fit-content;max-width:100%;min-height:48px;margin:0;font-size:.6875rem;display:flex}@container course-class (width>=30rem){.course-class-footer{background:var(--sage);border-radius:6px;align-items:stretch;display:flex}.course-pattern{flex:1;align-items:center;display:flex}.course-class-action{border-top:0;border-left:1px solid #bdc8b8;align-items:center;margin-top:0;padding:3px 12px;display:flex}}.course-change-note{margin-top:12px;font-size:.625rem;line-height:1.5}.course-documents-intro .intro-subtitle{font-size:.8125rem}@media (min-width:768px){.page-column:has(.course-hub){max-width:1000px}.course-hub .check-in{padding:22px}.course-timeline>li{grid-template-columns:76px minmax(0,1fr);gap:22px}.course-timeline{--rail-x:82px}.course-date,.course-date strong{font-size:.6875rem}.course-class{padding:18px 20px}.course-class h3{font-size:1.5rem}}@media (max-width:359px){.course-timeline>li{grid-template-columns:47px minmax(0,1fr);gap:16px}.course-timeline{--rail-x:51px}.course-class{padding:12px}.course-class h3{font-size:1.2rem}}.pilot-timetable h1,.student-week h1{color:#061e20;font-size:clamp(2.15rem,10.8vw,2.65rem);font-weight:550;line-height:1.08}.pilot-timetable .intro-subtitle,.student-week .intro-subtitle{margin-top:8px;font-size:1rem}.rep-sections{border:1px solid #bec7b9;border-radius:7px;grid-template-columns:1fr 1fr;margin:18px 0 16px;font-size:.8125rem;display:grid}.rep-sections>*{justify-content:center;align-items:center;min-height:44px;padding:8px;display:flex}.rep-sections [aria-current]{background:var(--lime);border-radius:6px;font-weight:750}.rep-week-form{border-top:1px solid var(--line);gap:0;padding-top:13px}.rep-week-form h2,.rep-review>h2,.rep-live-preview>h2{letter-spacing:-.035em;font:600 1.45rem/1.2 Fraunces Variable,Georgia,serif}.rep-form-description,.rep-live-preview>p,.rep-review>p{color:var(--muted);margin:4px 0 12px;font-size:.75rem}.rep-week-form>fieldset{gap:8px}.rep-field{grid-template-columns:88px minmax(0,1fr);align-items:center;gap:8px;display:grid}.rep-field>label,.rep-week-form .venue-picker>label{margin:0;font-size:.75rem;font-weight:600}.rep-field-control{align-items:center;min-width:0;display:flex;position:relative}.rep-field-control>svg{pointer-events:none;position:absolute;left:10px}.rep-week-form input,.rep-week-form select{background:#fbfaf5;border-color:#ccd2c7;border-radius:7px;min-height:44px;padding:8px 9px;font-size:.8125rem}.rep-field-control input,.rep-field-control select{width:100%;min-width:0;padding-left:36px}.rep-week-form .venue-picker{grid-template-columns:88px minmax(0,1fr);align-items:center;gap:3px 8px;display:grid}.rep-week-form .venue-picker-field{min-width:0}.rep-week-form .venue-picker-field input{min-height:44px;padding-block:8px}.rep-week-form .venue-guide-link{grid-column:2;min-height:30px;margin:0;font-size:.625rem}.rep-week-form .venue-options,.rep-week-form .venue-picker>p{grid-column:1/-1}.rep-term{padding:4px 0;font-size:.75rem}.rep-term summary{cursor:pointer;min-height:32px;font-weight:700}.rep-term .rep-field{margin-top:8px}.rep-live-preview{border-top:1px solid var(--line);margin-top:8px;padding-top:12px}.rep-preview-card{background:#fcfaf3;border:1px solid #e0e3d8;border-radius:8px;grid-template-columns:65px minmax(0,1fr) auto;align-items:stretch;display:grid;overflow:hidden}.rep-preview-date{border-right:1px solid var(--line);flex-direction:column;gap:4px;padding:12px 9px;font-size:.6875rem;font-weight:750;display:flex;position:relative}.rep-preview-date:after{content:"";background:var(--forest);border-radius:50%;width:10px;height:10px;position:absolute;top:15px;right:-6px}.rep-preview-card>div:nth-child(2){min-width:0;padding:12px 4px 12px 16px}.rep-preview-time{color:var(--muted);align-items:center;gap:12px;font-size:.6875rem;display:flex}.rep-preview-time strong{color:var(--forest);border-left:1px solid var(--line);padding-left:12px}.rep-preview-card h3{letter-spacing:-.03em;margin:5px 0 8px;font:600 1.15rem/1.25 Fraunces Variable,Georgia,serif}.rep-preview-meta,.student-class-meta{color:var(--muted);flex-wrap:wrap;gap:7px 14px;font-size:.6875rem;display:flex}.rep-preview-meta>span,.student-class-meta>span{align-items:center;gap:7px;display:flex}.rep-add-another{margin-top:5px;justify-content:center!important}.rep-publish{justify-content:space-between;min-height:45px;margin-top:6px;font-size:.8125rem;background:var(--forest)!important;color:var(--paper)!important}.rep-history-note{color:var(--muted);margin-top:9px;font-size:.6875rem}.rep-entry-list{margin-top:16px;padding:0;list-style:none}.rep-entry-list>li,.review-week-entry{border:1px solid var(--line);background:#fcfaf4;border-radius:8px;margin-bottom:12px;padding:14px}.rep-entry-list h2,.review-week-entry h3{margin-bottom:7px;font:600 1.2rem/1.3 Fraunces Variable,Georgia,serif}.rep-entry-list p,.review-week-entry p{color:var(--muted);font-size:.75rem}.rep-entry-actions{flex-wrap:wrap;justify-content:space-between;display:flex}.rep-entry-actions button{font-size:.6875rem}.rep-import{margin:12px 0;font-size:.75rem}.rep-import summary{cursor:pointer;align-items:center;min-height:44px;font-weight:700;display:flex}.rep-import textarea{width:100%;font:inherit;color:var(--forest);border:1px solid var(--line);background:#fffdf8;border-radius:7px;margin:9px 0;padding:9px}.rep-warning{background:#fff0cd;border-radius:6px;margin:10px 0;padding:10px;font-size:.75rem;color:#7a4924!important}.draft-class-tabs{flex-wrap:wrap;gap:6px;font-size:.6875rem;display:flex}.draft-class-tabs button,.draft-class-tabs>span{border:1px solid var(--line);background:var(--sage);border-radius:5px;min-height:44px;padding:7px}.student-week .day-strip{border-bottom:1px solid var(--line);margin-top:16px;padding-bottom:10px}.student-week .week-days{grid-template-columns:repeat(7,minmax(56px,1fr));gap:4px;min-width:416px}.student-week .day-button{box-shadow:none;border:0;border-radius:8px;gap:0;min-height:57px}.student-week .day-button>strong{font:600 1.2rem/1.2 Fraunces Variable,Georgia,serif}.student-week .day-button>i{display:none}.student-week .week-days:before{width:calc(14.2857% - 3.42857px)}.student-week .course-filter{margin:13px 0 16px}.student-week .course-filter summary{align-items:center;gap:13px;min-height:43px;padding:9px 13px;list-style:none;display:flex}.student-week .course-filter summary::-webkit-details-marker{display:none}.student-week .course-filter summary>span{flex:1}.student-week-schedule{padding:0;list-style:none}.student-week-schedule>li{grid-template-columns:56px minmax(0,1fr);gap:8px;padding-bottom:10px;display:grid;position:relative}.student-week-schedule>li:before{content:"";background:#789386;width:1px;position:absolute;top:18px;bottom:-17px;left:51px}.student-week-schedule>li:last-child:before{background:linear-gradient(#789386,#78938660);bottom:0}.student-week-schedule>li:after{content:"";border:1.5px solid var(--forest);background:var(--paper);border-radius:50%;width:11px;height:11px;position:absolute;top:15px;left:46px}.student-week-schedule>li.is-next:after{background:var(--forest)}.student-week-schedule>li.cancelled:after{border-color:var(--urgent)}.student-week-time{font-variant-numeric:tabular-nums;flex-direction:column;padding-top:11px;font-size:.8125rem;font-weight:750;line-height:1.5;display:flex}.student-week-card{background:#fcfaf4;border:1px solid #e0e3d8;border-radius:8px;min-width:0;padding:10px;box-shadow:inset 0 1px #fffdf8}.student-class-link{display:block}.student-class-heading{align-items:center;gap:10px;font-size:.8125rem;display:flex}.student-class-heading>svg{margin-left:auto}.student-week-card h3{letter-spacing:-.025em;overflow-wrap:anywhere;margin:5px 0 9px;font:600 1.08rem/1.22 Fraunces Variable,Georgia,serif}.student-class-pattern{background:var(--sage);border-radius:6px;align-items:center;gap:12px;margin-top:10px;padding:10px;font-size:.6875rem;display:flex}.student-class-pattern strong,.student-class-pattern span{display:block}.student-class-pattern span{color:var(--muted);margin-top:2px;font-size:.625rem}.student-class-change{color:#82431c;background:#fff0cd;border-radius:6px;align-items:flex-start;gap:8px;margin-top:7px;padding:8px;font-size:.6875rem;display:flex}.student-class-change small{margin-top:4px;font-size:.625rem;display:block}.student-class-change.is-cancelled{color:#972f24;background:#fbe4de}.student-week-card .schedule-edit{margin:5px 0 0;font-size:.6875rem}.full-week{margin-top:3px}.full-week>summary{cursor:pointer;border:1px solid #496458;border-radius:7px;justify-content:center;align-items:center;gap:12px;min-height:44px;font-size:.8125rem;font-weight:700;list-style:none;display:flex}.full-week>summary>svg:last-child,.full-week>summary>svg:first-child{margin-left:auto}.full-week>section{margin-top:18px}.full-week h2{margin-bottom:12px;font:600 1.3rem/1.3 Fraunces Variable,Georgia,serif}.student-week .week-range{margin-top:14px}.student-week .week-range p{color:var(--muted);font-size:.6875rem}.student-week .week-range small{margin-top:2px;display:block}@media (min-width:768px){.student-week .week-days{min-width:0}.student-week-schedule>li{grid-template-columns:80px minmax(0,1fr);gap:18px}.student-week-schedule>li:before{left:79px}.student-week-schedule>li:after{left:74px}.rep-field{grid-template-columns:125px minmax(0,1fr)}}@media (max-width:359px){.rep-field,.rep-week-form .venue-picker{grid-template-columns:75px minmax(0,1fr)}.student-week-schedule>li{grid-template-columns:58px minmax(0,1fr);gap:10px}.student-week-schedule>li:before{left:54px}.student-week-schedule>li:after{left:49px}}.pilot-timetable .rep-week-form .rep-term{margin-top:8px}.pilot-timetable .rep-sections a{text-decoration:none}.pilot-timetable .rep-live-preview{margin-top:9px}.pilot-timetable .rep-preview-card h3{font-size:1.05rem}.pilot-timetable .rep-form-description{margin-bottom:8px}.pilot-timetable .rep-week-form>fieldset{gap:6px}.pilot-timetable .rep-week-form>h2{margin:0}.pilot-timetable .header,.student-week .header{min-height:64px;padding-block:8px}.pilot-timetable .page-intro{margin-bottom:14px}.pilot-timetable .rep-sections{margin-top:12px;margin-bottom:12px}.pilot-timetable .rep-week-form{padding-top:10px}.pilot-timetable .rep-live-preview>p{margin-bottom:6px}.rep-week-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23102f27' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:18px 18px;padding-right:36px}.rep-week-form input:is([type=date],[type=time])::-webkit-calendar-picker-indicator{cursor:pointer;width:18px;height:18px;margin:0 1px 0 8px;padding:0}.rep-week-form .venue-picker-field>svg:last-child{width:18px;height:18px;right:10px}.header .back-compact{border-radius:50%;justify-content:center;width:40px;height:44px;min-height:44px;margin-left:-10px;padding:0}.pilot-timetable .rep-field>label,.pilot-timetable .rep-week-form .venue-picker>label{color:var(--forest);font-size:.8125rem;font-weight:500}.rep-picker{cursor:pointer}.rep-picker>svg{z-index:1}.rep-picker>input{color:#0000;caret-color:#0000;cursor:pointer;position:relative}.rep-picker>input::-webkit-datetime-edit{color:#0000}.rep-picker>input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:auto;height:auto;margin:0;position:absolute;inset:0}.rep-picker>input:focus-visible+.rep-picker-value{text-underline-offset:3px;text-decoration:underline}.rep-picker-value{pointer-events:none;color:var(--forest);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;font-size:.8125rem;position:absolute;left:36px;right:36px;overflow:hidden}.rep-field-control.has-chevron>input{padding-right:36px}.rep-field-control>.rep-field-chevron{pointer-events:none;color:var(--forest);position:absolute;left:auto;right:10px}.rep-week-form input[list]::-webkit-calendar-picker-indicator{opacity:0;display:none!important}.pilot-timetable .rep-preview-date{text-transform:uppercase;letter-spacing:.02em}.pilot-timetable .rep-preview-card h3{letter-spacing:-.02em;margin:4px 0 7px;font-size:.95rem}.pilot-timetable .rep-preview-card>div:nth-child(2){padding-left:14px;padding-right:0}.pilot-timetable .rep-preview-meta{flex-wrap:nowrap;gap:12px}.pilot-timetable .rep-preview-meta>span{white-space:nowrap;min-width:0}.rep-preview-chevron{color:var(--forest);align-self:center;margin-right:10px}.pilot-timetable .rep-add-another{gap:10px;min-height:44px;font-size:.8125rem;font-weight:600}.pilot-timetable .rep-publish{justify-content:center;position:relative}.pilot-timetable .rep-publish>svg{position:absolute;right:16px}.course-picker{gap:7px;min-width:0;font-size:.875rem;display:grid}.course-picker>label{font-weight:650}.course-picker-trigger{text-align:left;border-radius:var(--control-radius);background:var(--paper);border:1px solid #87968c;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:54px;padding:13px 16px;font-weight:500;line-height:1.5;display:flex}.course-picker-trigger>span{overflow-wrap:anywhere;min-width:0}.course-picker-trigger[aria-expanded=true]{border-color:var(--forest);background:#faf8f0}.course-picker-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.course-picker-popup{z-index:60;border-radius:var(--radius);background:#faf8f0;border:1px solid #bbc5b7;flex-direction:column;display:flex;position:fixed;overflow:hidden;box-shadow:0 5px 18px #102f271a}.course-choice-list{overscroll-behavior:contain;outline:none;padding:6px 0;scroll-padding:6px;overflow:auto}.course-choice{border-bottom:1px solid var(--line);cursor:pointer;min-height:64px;color:var(--forest);align-items:center;gap:16px;padding:14px 20px;line-height:1.5;display:flex;position:relative}.course-choice:last-child{border-bottom:0}.course-choice-code{letter-spacing:.055em;overflow-wrap:anywhere;border-right:1px solid #bdc8b3;flex:0 0 5.2em;padding:3px 14px 3px 0;font-size:.8125rem;font-weight:750}.course-choice-name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:.9375rem}.course-choice-check{flex:0 0 24px;justify-content:flex-end;display:flex}.course-choice-institution{background:#e8ece1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.course-choice[aria-selected=true]{background:#eef4cd}.course-choice[aria-selected=true]:before{content:"";background:var(--forest);border-radius:3px;width:5px;position:absolute;top:0;bottom:0;left:0}.course-choice.is-focused{background:var(--sage)}.course-choice.is-focused[aria-selected=true]{background:#e8f0bf}.course-choice-list:focus-visible .course-choice.is-focused{outline:2px solid var(--forest);outline-offset:-4px;border-radius:7px}.course-picker-sheet{padding:0 0 env(safe-area-inset-bottom);width:100%;max-width:none;max-height:85vh;border:1px solid var(--line);max-height:85dvh;color:var(--forest);background:#faf8f0;border-bottom:0;border-radius:24px 24px 0 0;margin:0;position:fixed;inset:auto 0 0;overflow:hidden;box-shadow:0 -6px 32px #102f2710}.course-picker-sheet[open]{flex-direction:column;display:flex}.course-picker-sheet::backdrop{background:#102f2766}.course-picker-sheet header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:16px 22px 22px;display:flex}.course-picker-sheet header h2{letter-spacing:-.04em;overflow-wrap:anywhere;font-family:Fraunces Variable,Georgia,serif;font-size:1.75rem;font-weight:550}.course-picker-sheet .icon-button{width:48px;height:48px}.course-sheet-handle{background:#bec4b6;border-radius:4px;flex-shrink:0;width:40px;height:5px;margin:12px auto 0}.course-picker-sheet .course-choice-list{padding-bottom:12px}.course-picker-sheet .course-choice{min-height:72px}@media (max-width:359px){.course-choice{gap:10px;padding:14px 16px}.course-choice-code{flex-basis:4.7em;padding-right:8px}.course-choice-name{font-size:.875rem}.course-choice-institution{width:34px;height:34px}.course-picker-sheet header{padding-inline:18px}}@media (max-width:767px){.course-choice{flex-wrap:wrap}.course-choice-name{flex-basis:7em}}.choice-picker{flex:none;position:relative}.choice-trigger{min-width:104px;min-height:40px;box-shadow:none;color:var(--forest);cursor:pointer;transition:border-color var(--press) ease, background-color var(--press) ease, box-shadow var(--press) ease;background:#fffdf7;border:1px solid #c9d2c6;border-radius:999px;justify-content:space-between;align-items:center;gap:8px;padding:0 10px 0 13px;font-size:.75rem;font-weight:700;display:inline-flex}.choice-trigger svg{color:var(--muted);transition:transform var(--feedback) var(--ease-out);flex:none}.choice-trigger:hover{background:#fff;border-color:#9fb09d}.choice-trigger:focus-visible{outline:2px solid var(--forest);outline-offset:2px}.choice-picker.open .choice-trigger{border-color:var(--forest);background:#fff;box-shadow:0 0 0 3px #d9f56a8c}.choice-picker.open .choice-trigger svg{transform:rotate(180deg)}.choice-trigger:disabled{opacity:.55;cursor:not-allowed}.choice-list{z-index:40;transform-origin:100% 0;width:max(100%,184px);max-height:min(320px,60dvh);animation:choice-in var(--enter) var(--ease-out);background:#fffdf7;border:1px solid #cdd5ca;border-radius:14px;outline:0;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 18px 38px #102f2724,0 2px 6px #102f2714}.choice-list.above{transform-origin:100% 100%;top:auto;bottom:calc(100% + 8px)}.choice-list li{min-height:44px;color:var(--forest);cursor:pointer;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:8px 11px;font-size:.8125rem;display:flex}.choice-list li strong{font-weight:650;display:block}.choice-list li small{color:var(--muted);margin-top:1px;font-size:.6875rem;display:block}.choice-list li.active{background:var(--sage)}.choice-list li[aria-selected=true]{background:var(--lime)}.choice-list li[aria-selected=true] strong{font-weight:800}.choice-list li+li{margin-top:2px}.choice-list.keyboard li.active{box-shadow:inset 0 0 0 2px var(--forest)}.choice-picker.block{width:100%;margin-top:6px}.choice-picker.block .choice-trigger{border-radius:var(--control-radius);width:100%;min-height:48px;font-size:.8125rem}.choice-picker.block .choice-list{transform-origin:0 0;width:100%;left:0;right:auto}@keyframes choice-in{0%{opacity:0;transform:translateY(-4px)scale(.97)}}.choice-list.above{animation-name:choice-in-above}@keyframes choice-in-above{0%{opacity:0;transform:translateY(4px)scale(.97)}}@media (prefers-reduced-motion:reduce){.choice-list,.choice-list.above{animation:none}.choice-trigger svg{transition:none}}.guide-page .page-intro{margin:12px 0 18px}.guide-page h1{font-size:clamp(2.5rem,8vw,3.7rem)}.guide-pickers{z-index:9;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid;position:relative}.guide-place-search{min-width:0;position:relative}.guide-place-search label{text-transform:uppercase;letter-spacing:.13em;font-size:.6875rem;font-weight:800;display:block}.guide-search-input{background:#fffdf7;border:1px solid #b8c5b8;border-radius:8px;align-items:center;gap:8px;min-height:48px;margin-top:6px;padding:0 10px;display:flex}.guide-search-input svg{flex:none}.guide-search-input input{width:100%;min-width:0;color:var(--forest);background:0 0;border:0;outline:0;font-size:.8125rem}.guide-search-input:focus-within{outline:2px solid var(--forest)}.guide-search-results{top:100%;z-index:12;background:#fffdf7;border:1px solid #a9b8a9;border-radius:8px;max-height:280px;position:absolute;inset-inline:0;overflow:auto;box-shadow:0 12px 25px #102f272e}.guide-search-results button{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;width:100%;min-height:48px;padding:8px 11px;display:block}.guide-search-results button:hover,.guide-search-results button:focus-visible{background:var(--sage)}.guide-search-results small{color:var(--muted);font-size:.6875rem;display:block}.guide-search-results p{padding:12px;font-size:.8125rem}.guide-grid{gap:16px;display:grid}.campus-map-wrap{border:1px solid var(--line);background:var(--sage);border-radius:13px;overflow:hidden}.campus-map{width:100%;height:clamp(255px,54vw,390px)}.campus-map .leaflet-control-attribution{background:#fffdf7eb;font-size:10px}.campus-map-caption{color:var(--muted);background:#f5f7ed;padding:8px 11px;font-size:.6875rem;line-height:1.4}.campus-map-caption a,.guide-place-detail a{font-weight:700;text-decoration:underline}.campus-map-fallback{background:#fff1d5;padding:10px 12px;font-size:.75rem}.campus-map-empty{border:1px solid var(--line);background:var(--sage);text-align:center;border-radius:12px;place-items:center;min-height:180px;padding:24px;display:grid}.guide-note{background:#eef1e5;border-radius:8px;align-items:flex-start;gap:9px;margin:10px 0;padding:11px 12px;font-size:.75rem;line-height:1.45;display:flex}.guide-note svg{flex:none}.guide-place-detail{border:1px solid var(--line);background:#fffdf7;border-radius:11px;padding:15px}.guide-place-detail h2{margin:4px 0 9px;font-family:Fraunces Variable,Georgia,serif;font-size:1.65rem;font-weight:550;line-height:1.12}.guide-place-detail p+p{margin-top:8px}.guide-place-detail p{font-size:.8125rem}.guide-place-detail strong{margin-right:5px}.guide-location-status{color:var(--urgent);font-weight:750}.guide-route{border-left:4px solid var(--lime);background:var(--sage);border-radius:8px;margin-top:14px;padding:16px}.guide-route h2{align-items:center;gap:8px;margin-bottom:6px;font-family:Fraunces Variable,Georgia,serif;font-size:1.4rem;font-weight:550;display:flex}.guide-route p,.guide-route li{font-size:.8125rem;line-height:1.5}.guide-route ol{margin:13px 0;padding-left:24px}.guide-route li+li{margin-top:10px}.guide-directory-search{border:1px solid var(--line);background:#fffdf7;border-radius:8px;align-items:center;gap:8px;min-height:48px;padding:0 12px;display:flex}.guide-directory-search input{background:0 0;border:0;outline:0;width:100%;min-width:0}.guide-directory ul,.guide-admin ul{margin:9px 0 0;padding:0;list-style:none}.guide-directory li,.guide-admin li{border-bottom:1px solid var(--line)}.guide-directory li button{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:57px;padding:10px 4px;display:flex}.guide-directory li button:hover{background:var(--sage)}.guide-directory li strong,.guide-directory li small{display:block}.guide-directory li strong{font-family:Fraunces Variable,Georgia,serif;font-size:1rem}.guide-directory li small{color:var(--muted);font-size:.6875rem}.guide-privacy{border-top:1px solid var(--line);color:var(--muted);margin-top:26px;padding:12px 0;font-size:.75rem}.guide-admin{border-top:1px solid var(--line);padding-top:15px}.guide-admin>p{color:var(--muted);font-size:.8125rem}.guide-admin-actions{flex-wrap:wrap;gap:8px 20px;display:flex}.guide-admin-actions button{align-items:center;gap:6px;min-height:44px;display:flex}.guide-admin details{margin-top:15px}.guide-admin summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:800}.guide-admin li{justify-content:space-between;align-items:center;gap:8px;min-height:44px;font-size:.75rem;display:flex}.guide-admin li button{background:0 0;border:0;min-width:44px;min-height:44px}.guide-admin li small{color:var(--muted)}.guide-admin-form{border:1px solid var(--line);background:#fffdf7;border-radius:12px;margin:16px 0;padding:16px}.guide-admin-form h3{margin-bottom:12px;font-family:Fraunces Variable,Georgia,serif;font-size:1.35rem}.guide-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.guide-form-grid label{min-width:0;font-size:.75rem;font-weight:750;display:block}.guide-form-grid input,.guide-form-grid select,.guide-form-grid textarea{width:100%;min-width:0;min-height:44px;color:var(--forest);background:#fff;border:1px solid #aebcaf;border-radius:7px;margin-top:4px;padding:9px 11px;font-weight:450;display:block}.guide-form-grid textarea{resize:vertical}.guide-active{align-items:center;gap:8px;min-height:48px;margin-top:12px;font-size:.75rem;display:flex}.guide-admin-form>.small{color:var(--muted);margin:0 0 12px}.guide-admin-form>.button{width:100%}@media (max-width:600px){.guide-pickers,.guide-form-grid{grid-template-columns:1fr}}@media (min-width:1100px){.page-column.guide-page{max-width:1180px}.guide-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start}.guide-pickers{max-width:650px}.campus-map{height:430px}}:root{--surface-edge:#c5cfbe;--surface-shadow:inset 0 1px 0 #fffc, 0 2px 0 #102f2709, 0 5px 13px #102f270e;--control-shadow:inset 0 1px 0 #ffffffbf, 0 2px 4px #102f2712;font-weight:500}h1,.course-code,.course-masthead,.catalog-masthead h2,.course-class h3,.document-shelf .shelf-list h2,.document-detail-meta h2,.profile-identity h2,.guide-place-detail h2,.quiet-panel h2,.course-documents-intro h2{font-weight:600}.intro-subtitle,.notice-reading,.notice-body,.class-meta,.course-class-meta,.notice-card-author,.document-uploaded,.document-detail-meta p,.preference-row span span,.preference-row small,.settings-row small{font-weight:500}.nav-item{font-weight:650}.navigation{padding-top:5px;padding-bottom:calc(5px + env(safe-area-inset-bottom))}.navigation .nav-item{min-height:50px}.navigation{border-top-color:#c5cfbe;box-shadow:inset 0 1px #fffdf7,0 -5px 18px #102f2713}.navigation nav:before{box-shadow:inset 0 1px #f0ffaf,inset 0 -1px #102f271f,0 3px 7px #102f271f}.hub-tabs{border:1px solid var(--surface-edge);box-shadow:var(--surface-shadow);background:#fbfaf3;border-bottom-color:#a6b69c;border-radius:10px;padding:4px}.hub-tabs button{z-index:1;border-radius:7px;font-weight:650;position:relative}.hub-tabs button[aria-selected=true]{background:0 0;font-weight:800}.course-hub .hub-tabs .tab-indicator{background:var(--lime);width:calc(33.3333% - 2.66667px);height:auto;box-shadow:var(--control-shadow);pointer-events:none;border-radius:7px;top:4px;bottom:4px;left:4px}.week-days:before{box-shadow:var(--control-shadow)}.day-button{font-weight:650;box-shadow:inset 0 1px #ffffffbf,0 2px 3px #102f270b}.day-button[aria-pressed=true]{background:var(--lime);border-color:#b8cd69}.filter-chip,.notice-types button,.course-chips button{font-weight:650;box-shadow:inset 0 1px #fff9,0 2px 3px #102f2709}.filter-chip[aria-pressed=true],.notice-types button[aria-pressed=true],.course-chips button[aria-pressed=true]{box-shadow:var(--control-shadow)}.document-shelf .shelf-tabs .filter-chip{font-weight:600}.dark-panel{box-shadow:inset 0 1px #daefcb38,inset 0 0 0 1px #071f182e,0 3px #102f271c,0 8px 18px #102f271f}.notice,.editorial-notice,.course-class,.shelf-document-card,.profile-page .profile-identity,.guide-place-detail,.deadline-timeline-card,.composer-author-card,.institution-choice,.catalog-next,.course-filter,.profile-page .reminder-row{box-shadow:var(--surface-shadow)}.today-tile{box-shadow:inset 0 1px #fffef8,0 2px #102f270e,0 5px 11px #102f2717}.today-tile.is-active{box-shadow:inset 0 1px #fffef8,0 3px #102f270e,0 9px 20px #102f2724}.button.primary{box-shadow:inset 0 1px #ffffff8c,inset 0 -1px #102f2721,0 3px 6px #102f2718}.button.secondary,.guide-place-trigger,.course-picker-trigger,.venue-combobox,.search-field,.profile-page .profile-edit-fields input{box-shadow:var(--control-shadow)}.button:active:not(:disabled){box-shadow:inset 0 2px 4px #102f2724}.button.cancel-editing{color:#972f24;border-radius:var(--control-radius);box-shadow:var(--control-shadow);background:#fbe4de;border:1px solid #cc8273;justify-content:center;margin-top:16px;padding:10px 16px}.button.cancel-editing:hover:not(:disabled){background:#f7d5cc;border-color:#b64b35}.wordmark{font-weight:650}.demo-data-banner{background:var(--sage);border:1px solid #bac8ae;border-radius:6px;margin-bottom:14px;padding:7px 10px;font-size:.75rem;font-weight:750}.settings-row strong,.profile-page .preference-row strong{font-weight:750}.settings-row-status{font-weight:650}@media (min-width:1100px){.navigation{box-shadow:inset -1px 0 #fffdf7,4px 0 18px #102f270b}}}@layer motion{button,.next-class{transition:transform var(--press) var(--ease-out), opacity var(--feedback)}button:not(:disabled):active,.next-class:active{transform:scale(.98)}.entry-one,.entry-two,.entry-three{animation:entry-in var(--enter) var(--ease-out) both}.entry-two{animation-delay:30ms}.entry-three{animation-delay:60ms}.route-forward:has(.course-intro){animation:route-in var(--enter) var(--ease-out)}.route-back{animation:route-back var(--enter) var(--ease-out)}@keyframes entry-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes route-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}@keyframes route-back{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}@keyframes tab-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes count-in{0%{opacity:.2}to{opacity:1}}@keyframes count-out{0%{opacity:1}to{opacity:0}}@keyframes check-success{0%{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:80ms!important;animation-duration:80ms!important;animation-delay:0s!important}.entry-one,.entry-two,.entry-three,.route-forward,.route-back,.tab-content,.check-confirmed,.account-panel{animation-name:count-in!important}button:not(:disabled):active,.next-class:active{transform:none}.spinner,.refreshing{animation:none!important}.navigation nav:before,.tab-indicator{transition:none!important}}.auth-layout{animation:entry-in var(--enter) var(--ease-out) both}.auth-panel input{transition:border-color var(--feedback), background-color var(--feedback), box-shadow var(--feedback)}.auth-panel input:focus-visible{outline:2px solid var(--forest);outline-offset:3px;border-color:var(--forest);box-shadow:0 0 0 5px #d9f56a38}.auth-panel .button{transition:transform var(--press) var(--ease-out), background-color var(--feedback), box-shadow var(--feedback)}.auth-panel a.button:active{transform:scale(.98)}@media (hover:hover){.auth-panel .button.primary:not(:disabled):hover{background:#d0ec61}.auth-panel .button.secondary:hover{background:#d5dfd0}}@media (prefers-reduced-motion:reduce){.auth-layout{animation:none!important}.auth-panel .button:active{transform:none!important}}.course-picker-trigger{transition:border-color var(--feedback), background-color var(--feedback)}.course-picker-trigger>svg{transition:transform var(--feedback) var(--ease-out)}.course-picker-popup{animation:entry-in var(--feedback) var(--ease-out)}.course-picker-sheet[open]{animation:sheet-in var(--sheet) var(--ease-out)}.course-choice{transition:background-color var(--press)}@media (prefers-reduced-motion:reduce){.course-picker-popup,.course-picker-sheet[open]{animation:none!important}.course-picker-trigger>svg{transition:none!important}}:root{--press:.12s;--feedback:.2s;--enter:.28s;--sheet:.3s;--exit:.16s;--selection:.2s;--reorder:.28s;--page-motion:.32s;--ease-out:cubic-bezier(.22,1,.36,1)}.entry-one,.entry-two,.entry-three,.route-forward,.route-back{animation:none}.navigation nav:before{display:none}.nav-item{isolation:isolate}.nav-pill{z-index:0;opacity:0;background:var(--lime);pointer-events:none;width:0;height:0;transition:transform .36s var(--ease-out), width .36s var(--ease-out), height .36s var(--ease-out), opacity var(--selection);border-radius:10px;position:absolute;top:0;left:0;box-shadow:inset 0 1px #f0ffaf,inset 0 -1px #102f271f,0 3px 7px #102f271f}.navigation .nav-item{z-index:1}.nav-item.selected svg{animation:nav-icon-settle .22s var(--ease-out)}.tab-indicator{transition:transform var(--selection) var(--ease-out)}.tab-content{animation:contained-change var(--selection) var(--ease-out)}.hub-tabs button,.filter-chip,.notice-types button,.course-chips button,.day-button,.institution-card,.composer-types label{transition:background-color var(--selection), border-color var(--selection), transform var(--press) var(--ease-out)}.profile-page .preference-switch,.profile-page .preference-switch:before{transition-duration:var(--selection);transition-timing-function:var(--ease-out)}.today-tile{transition:transform var(--reorder) var(--ease-out), box-shadow var(--selection), background-color var(--selection)}.today-tile-body{animation:state-settle var(--selection) var(--ease-out)}.venue-update{transform-origin:50% 0;animation:attached-strip var(--enter) var(--ease-out)}.next-class:active{transform:translateY(1px)scale(.99)}.next-class-info{animation:contained-change var(--enter) var(--ease-out)}.today-schedule .schedule:before{transform-origin:50% 0;animation:timeline-draw var(--enter) var(--ease-out)}.schedule-status,.class-cancelled,.class-marker{transition:color var(--selection), background-color var(--selection)}.document-offline-badge,.notice-success,.notice-detail-confirmation,.role-badge{animation:state-settle var(--selection) var(--ease-out)}.document-detail-menu,.shelf-document-menu,.guide-place-dialog,.account-panel,.document-history[open]>.notice-form,.shelf-history[open]>ul{animation:focused-open var(--sheet) var(--ease-out)}.document-shelf .shelf-tabs .filter-chip[aria-pressed=true]{animation:selection-settle var(--selection) var(--ease-out)}.check-button:active{transform:translateY(1px)scale(.975)}.check-confirmed{animation:check-settle .26s var(--ease-out)}.check-confirmed.just-checked{position:relative}.check-confirmed.just-checked:after{content:"";border-radius:inherit;pointer-events:none;animation:check-ripple .9s var(--ease-out) 80ms both;position:absolute;inset:0;box-shadow:0 0 #d9f56acc}.notice-success{animation:save-settle .36s var(--ease-out)}.count-current{animation:count-rise var(--feedback) var(--ease-out)}.count-previous{animation:count-leave var(--feedback) var(--ease-out) forwards}.onboarding-steps li>span:first-child{transition:background-color var(--selection), border-color var(--selection), box-shadow var(--selection)}.profile-signout:active{transform:none}::view-transition{pointer-events:none}::view-transition-group(*){pointer-events:none}::view-transition-image-pair(*){pointer-events:none}::view-transition-old(*){pointer-events:none}::view-transition-new(*){pointer-events:none}.navigation{view-transition-name:app-nav}::view-transition-group(app-nav){animation:none}::view-transition-new(app-nav){animation:none}::view-transition-old(app-nav){display:none}::view-transition-group(root){animation-duration:.42s}::view-transition-old(root){animation-duration:.42s;animation-timing-function:var(--ease-out);mix-blend-mode:normal;animation-fill-mode:both}::view-transition-new(root){animation-duration:.42s;animation-timing-function:var(--ease-out);mix-blend-mode:normal;animation-fill-mode:both}[data-navigation-direction=forward]::view-transition-old(root){animation-name:sheet-recede}[data-navigation-direction=forward]::view-transition-new(root){animation-name:sheet-arrive;box-shadow:-14px 0 32px #102f2724}[data-navigation-direction=back]::view-transition-old(root){z-index:1;animation-name:sheet-lift;animation-duration:.36s;box-shadow:-14px 0 32px #102f2724}[data-navigation-direction=back]::view-transition-new(root){animation-name:sheet-rise;animation-duration:.36s}[data-navigation-direction=tab]::view-transition-old(root){animation:tab-leave .15s var(--ease-in) both}[data-navigation-direction=tab]::view-transition-new(root){animation:tab-enter .3s var(--ease-out) 40ms both}[data-navigation-direction=tab][data-motion-sign="-1"]::view-transition-old(root){animation-name:tab-leave-back}[data-navigation-direction=tab][data-motion-sign="-1"]::view-transition-new(root){animation-name:tab-enter-back}::view-transition-group(morph){z-index:2;animation-duration:.42s;animation-timing-function:cubic-bezier(.2,.9,.25,1)}::view-transition-old(morph){animation-duration:.3s}::view-transition-new(morph){animation-duration:.3s}[data-morph],[data-morph-target]{width:-moz-fit-content;width:fit-content;max-width:100%}@keyframes sheet-arrive{0%{transform:translate(100%)}to{transform:none}}@keyframes sheet-recede{to{filter:brightness(.9);transform:translate(-8%)scale(.965)}}@keyframes sheet-lift{to{transform:translate(100%)}}@keyframes sheet-rise{0%{filter:brightness(.9);transform:translate(-8%)scale(.965)}to{filter:none;transform:none}}@keyframes tab-leave{to{opacity:0;transform:translate(-14px)}}@keyframes tab-enter{0%{opacity:0;transform:translate(18px)}}@keyframes tab-leave-back{to{opacity:0;transform:translate(14px)}}@keyframes tab-enter-back{0%{opacity:0;transform:translate(-18px)}}@keyframes check-ripple{0%{box-shadow:0 0 #d9f56acc}to{box-shadow:0 0 0 18px #d9f56a00}}@keyframes save-settle{0%{opacity:0;transform:translateY(6px)scale(.98)}70%{opacity:1;transform:scale(1.01)}to{transform:none}}@keyframes nav-icon-settle{0%,to{transform:translateY(0)}45%{transform:translateY(-2px)}}@keyframes contained-change{0%{opacity:.88;transform:translate(6px)}to{opacity:1;transform:none}}@keyframes state-settle{0%{opacity:.75;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes attached-strip{0%{opacity:.7;transform:scaleY(.92)}to{opacity:1;transform:scaleY(1)}}@keyframes timeline-draw{0%{opacity:.6;transform:scaleY(.92)}to{opacity:1;transform:scaleY(1)}}@keyframes focused-open{0%{opacity:.8;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes selection-settle{0%{transform:scale(.96)}to{transform:scale(1)}}@keyframes check-settle{0%{opacity:.8;transform:translateY(2px)scale(.97)}65%{opacity:1;transform:scale(1.015)}to{transform:none}}@keyframes count-rise{0%{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes count-leave{to{opacity:0;transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}.nav-pill{transition:none!important}*,:before,:after{transition-duration:0s!important;animation-duration:1ms!important;animation-delay:0s!important}.entry-one,.entry-two,.entry-three,.route-forward,.route-back,.tab-content,.check-confirmed,.account-panel{animation-name:count-in!important}.nav-item.selected svg,.today-tile.is-collapsed{transform:none!important}.nav-item.selected svg,.venue-update,.next-class-info,.count-current,.count-previous,.check-confirmed.just-checked:after,.document-offline-badge,.notice-success,.document-detail-menu,.shelf-document-menu,.guide-place-dialog,.today-tile-body,.today-schedule .schedule:before{animation:none!important}button:active,.next-class:active{transform:none!important}}}.institution-page{max-width:470px;min-height:100svh;padding:max(28px, env(safe-area-inset-top)) 24px 32px;color:var(--forest);margin:auto}.institution-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.institution-header .wordmark{letter-spacing:.18em;font-size:1.15rem}.institution-header .brand-caption{font-size:.55rem}.institution-header .emblem{width:39px}.onboarding-steps{margin:38px 0 42px;padding:0;list-style:none;display:flex}.onboarding-steps li{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:9px;font-size:.58rem;font-weight:750;display:flex;position:relative}.onboarding-steps li:before{content:"";background:linear-gradient(90deg,#102f272c,#102f2710);height:1px;position:absolute;top:6px;left:-50%;right:50%}.onboarding-steps li:first-child:before{display:none}.onboarding-steps li>span:first-child{background:var(--paper);z-index:1;border:1px solid #102f2740;border-radius:50%;width:13px;height:13px}.onboarding-steps .reached{color:var(--forest)}.onboarding-steps .reached>span:first-child{background:var(--forest);border-color:var(--forest)}.onboarding-steps .reached:before{background:var(--forest);height:2px}.onboarding-steps li[aria-current=step]{font-weight:850}.onboarding-steps li[aria-current=step]>span:first-child{box-shadow:0 0 0 2px var(--paper), 0 0 0 3.5px var(--forest)}.onboarding-steps li[aria-current=step]+li:before{clip-path:polygon(0 0,100% 35%,100% 65%,0 100%);background:linear-gradient(90deg,#102f27d9,#102f271a);height:3px;top:5px}.auth-page.auth-onboarding{padding:0 24px max(28px, env(safe-area-inset-bottom))}.auth-onboarding .auth-layout{max-width:422px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;display:block}.auth-onboarding .auth-intro{padding-top:max(28px, env(safe-area-inset-top))}.auth-onboarding .auth-editorial,.auth-onboarding .auth-fieldbook,.auth-onboarding .auth-margin-note,.auth-onboarding .auth-edition{display:none}.auth-onboarding .auth-panel{border:0;padding:0}.auth-onboarding .auth-brand .wordmark{letter-spacing:.18em;font-size:1.15rem}.auth-onboarding .auth-brand .emblem{width:39px;height:46px}.auth-onboarding .auth-brand .brand-caption{font-size:.55rem}.institution-intro .eyebrow{letter-spacing:.16em;font-size:.62rem}.institution-intro h1{letter-spacing:-.045em;margin:14px 0 18px;font-size:clamp(2.8rem,12vw,3.6rem);line-height:1.05}.institution-intro>p:last-child{color:var(--muted);margin-bottom:30px;font-size:.98rem;line-height:1.6}.institution-choices{border:0;gap:12px;min-width:0;margin:0;padding:0;display:grid}.institution-choice{cursor:pointer;display:block;position:relative}.institution-choice input{opacity:0;z-index:1;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.institution-card{background:#e8ecdf;border:1px solid #b9c5b5;border-radius:13px;grid-template-columns:62px 1fr 21px;align-items:center;gap:13px;min-height:150px;padding:22px 20px;transition:background .15s,border-color .15s,transform .12s;display:grid}.institution-card-copy{gap:10px;min-width:0;display:grid}.institution-card-copy strong{font-size:1.02rem;font-weight:750;line-height:1.4}.institution-card-copy>span{color:#536350;font-size:.77rem}.institution-logo{background:#fff;border-radius:8px;justify-content:center;align-items:center;width:62px;height:66px;padding:4px;display:flex}.institution-logo img{object-fit:contain;width:100%;height:auto}.institution-check{border:1.5px solid #879a83;border-radius:50%;place-items:center;width:21px;height:21px;display:grid}.institution-check svg{opacity:0}.institution-choice input:checked+.institution-card{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest);background:#e2e9d8}.institution-choice input:checked+.institution-card .institution-check{background:var(--lime);border-color:var(--forest)}.institution-choice input:checked+.institution-card .institution-check svg{opacity:1}.institution-choice input:focus-visible+.institution-card{outline:3px solid var(--forest);outline-offset:5px}.institution-choice:active .institution-card{transform:scale(.985)}.institution-availability{color:#52624e;text-align:center;margin:15px 0 28px;font-size:.72rem;line-height:1.6}.institution-continue{justify-content:space-between;width:100%;min-height:54px;margin-top:20px}.institution-availability+.institution-continue{margin-top:0}.institution-footnote{color:var(--muted);text-align:center;margin:15px 8px 0;font-size:.7rem;line-height:1.65}.institution-signin{text-align:center;margin-top:32px;font-size:.8rem}.institution-signin a{text-underline-offset:4px;margin-left:4px;text-decoration:underline}.institution-search{align-items:center;gap:8px;margin-bottom:20px;display:flex}.institution-search input{width:100%;min-width:0}.signup-institution{border:1px solid var(--line);border-radius:8px;align-items:center;gap:12px;margin-bottom:22px;padding:14px;font-size:.83rem;display:flex}.signup-institution img{object-fit:contain;width:34px;height:34px}.signup-institution a{margin-left:auto;text-decoration:underline}.academic-setup .onboarding-steps{margin:6px 0 34px}.academic-setup h1{letter-spacing:-.045em;font-size:clamp(2rem,8vw,2.7rem)}.academic-setup .page-intro{margin-bottom:24px}.academic-setup .notice-form>fieldset>label:not(.preference-row){text-transform:uppercase;letter-spacing:.15em;margin-top:18px;font-size:.64rem;font-weight:800}.academic-setup .notice-form input:not([type=checkbox]),.academic-setup .notice-form select{min-height:44px}.academic-institution{border:1px solid var(--line);border-radius:7px;align-items:center;gap:12px;padding:13px 14px;font-size:.85rem;display:flex}.academic-institution img{object-fit:contain;width:25px;height:25px}.academic-setup .preference-row{background:#e2e7d9;border:0;border-radius:7px;gap:12px;margin-top:6px;padding:12px}.academic-setup .preference-row input{order:-1}.academic-setup .preference-row strong{font-size:1.1rem;display:block}.academic-setup .preference-row small{font-size:.8rem;display:block}.academic-wait{background:#e2e7d9;border-radius:10px;padding:22px;line-height:1.6}.academic-wait h2{margin:0 0 10px}.catalogue-import{border:1px solid var(--line);border-radius:10px;margin-top:24px;padding:18px}.catalogue-import summary{cursor:pointer;font-weight:750}.venue-options{border:1px solid var(--line);border-radius:8px;max-height:280px;padding:12px;overflow-y:auto}.venue-options fieldset{border:0;margin:10px 0;padding:0}.venue-options legend{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:800}.venue-option{cursor:pointer;border-radius:5px;align-items:center;gap:10px;min-height:44px;padding:8px;display:flex}.venue-option:has(input:checked){background:#e2e7d9}.venue-option input{width:18px;height:18px}@media (prefers-reduced-motion:reduce){.institution-card{transition:none}.institution-choice:active .institution-card{transform:none}}@media (min-width:900px){.institution-page{padding-top:50px}}
