@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700&family=Bodoni+Moda:opsz,wght@6..96,400..900&family=Archivo:wght@400;500;600&display=swap";:root{--color-ink:#0a0a0a;--color-paper:#faf9f6;--color-ruby:#b10f2e;--color-gold:#a8875c;--color-lead:#6e6e6e;--color-pearl:#e4e1da;--font-display:"Fraunces", serif;--font-ui:"Archivo", sans-serif;--font-logo:"Bodoni Moda", serif;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:40px}*{box-sizing:border-box}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0}button{font-family:var(--font-ui);cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--color-ruby);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.page{max-width:640px;margin:0 auto;padding:0 20px 64px}.page-narrow{max-width:380px;margin:0 auto;padding:24px 20px 64px}.auth-shell{flex-direction:column;justify-content:center;min-height:100vh;display:flex}@media (width<=640px){.auth-shell{justify-content:flex-start;padding-top:8vh}}.auth-shell .page-narrow{padding-top:0;padding-bottom:0}.auth-shell .heading-display{margin-bottom:var(--space-4)}.auth-shell .field{margin-bottom:var(--space-3)}.auth-shell .field-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-lead);font-size:12px}.section{margin-top:var(--space-4)}.section+.section{border-top:1px solid var(--color-pearl);padding-top:var(--space-4)}.heading-display{font-family:var(--font-display);margin:0 0 var(--space-3);letter-spacing:.01em;font-size:clamp(26px,4.5vw,36px);font-weight:600}.text-muted{color:var(--color-lead);font-size:14px;line-height:1.5}.field{margin-bottom:var(--space-2);display:block}.field-label{color:var(--color-lead);margin-bottom:6px;font-size:13px;display:block}.input{width:100%;font-family:var(--font-ui);border:1px solid var(--color-pearl);background:var(--color-paper);color:var(--color-ink);border-radius:2px;padding:11px 12px;font-size:15px;transition:border-color .15s;display:block}.input:focus-visible{border-color:var(--color-ink);outline:none}.input-underline{width:100%;font-family:var(--font-ui);border:none;border-bottom:1px solid var(--color-pearl);color:var(--color-ink);background:0 0;border-radius:0;padding:10px 2px;font-size:17px;transition:border-color .15s;display:block}.input-underline:focus-visible{border-bottom-color:var(--color-ink);outline:none}.form-row{gap:var(--space-2);flex-wrap:wrap;align-items:flex-end;display:flex}.form-row .field{flex:160px;margin-bottom:0}.form-row+.field{margin-top:var(--space-2)}.btn{font-family:var(--font-ui);letter-spacing:.02em;border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-paper);white-space:nowrap;border-radius:2px;justify-content:center;align-items:center;padding:11px 22px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--color-paper);color:var(--color-ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-outline{color:var(--color-ink);background:0 0}.btn-outline:hover:not(:disabled){background:var(--color-ink);color:var(--color-paper)}.btn-danger{border-color:var(--color-ruby);background:var(--color-ruby);color:var(--color-paper)}.btn-danger:hover:not(:disabled){background:var(--color-paper);color:var(--color-ruby)}.alert{border-left:3px solid var(--color-ruby);color:var(--color-ruby);margin:var(--space-2) 0;background:#b10f2e0f;padding:10px 14px;font-size:14px}.notice{border-left:3px solid var(--color-gold);margin:var(--space-2) 0;background:#a8875c1a;padding:14px 16px;font-size:14px}.notice strong{letter-spacing:.02em;font-family:Courier New,monospace;font-size:15px}.list-editorial{margin:0;padding:0;list-style:none}.list-editorial li{border-bottom:1px solid var(--color-pearl);font-family:var(--font-display);padding:20px 0;font-size:18px}.list-editorial li:first-child{border-top:1px solid var(--color-pearl)}.list-editorial a{color:var(--color-ink);justify-content:space-between;align-items:baseline;gap:var(--space-2);text-decoration:none;display:flex}.list-editorial a:hover{color:var(--color-ruby)}.list-link-meta{color:var(--color-lead);font-family:var(--font-ui);letter-spacing:.02em;font-size:13px}.list-editorial .list-row{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=640px){.list-editorial .list-row{flex-direction:column;align-items:flex-start;gap:10px}.list-editorial .list-row>.row-actions{width:100%}}.row-actions{align-items:center;gap:var(--space-3);font-family:var(--font-ui);flex-wrap:wrap;display:flex}.btn-text{font-family:var(--font-ui);color:var(--color-lead);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;margin:-10px 0;padding:10px 0;font-size:13px;text-decoration:underline}.btn-text:hover:not(:disabled){color:var(--color-ink)}.btn-text:disabled{opacity:.5;cursor:not-allowed}.btn-text-danger{color:var(--color-ruby)}.btn-text-danger:hover:not(:disabled){color:var(--color-ruby);opacity:.7}.password-copy{margin:0 var(--space-2);letter-spacing:.08em;color:var(--color-ink);border:1px dashed var(--color-lead);cursor:pointer;-webkit-user-select:all;user-select:all;background:0 0;border-radius:4px;padding:6px 10px;font-family:monospace;font-size:1.15em;font-weight:700;display:inline-block}.password-copy:hover{background:#0000000d}.credenziali p{margin:0 0 var(--space-2)}.credenziali-riga{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.credenziali-label{min-width:5.5em;font-family:var(--font-ui);color:var(--color-lead);font-size:13px}.credenziali .password-copy{margin:0}.password-copy-hint{font-family:var(--font-ui);color:var(--color-lead);font-size:12px}.subject-layout{gap:var(--space-3);flex-wrap:wrap;align-items:flex-start;display:flex}.subject-photo{aspect-ratio:3/4;object-fit:cover;border:1px solid var(--color-pearl);background:var(--color-pearl);flex-shrink:0;width:140px}.subject-info{flex:220px;min-width:0}.topnav{justify-content:center;gap:var(--space-4);border-bottom:1px solid var(--color-pearl);flex-wrap:wrap;padding:14px 20px;display:flex}.topnav a,.topnav button{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--color-lead);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:12px;text-decoration:none;position:relative}.topnav a:after{content:"";background:var(--color-ink);height:1px;transition:right .2s;position:absolute;bottom:-2px;left:0;right:100%}.topnav a:hover:after,.topnav a.active:after{right:0}.topnav a:hover,.topnav button:hover,.topnav a.active{color:var(--color-ink)}.points-hero{gap:var(--space-4);text-align:left;flex-wrap:wrap;display:flex}.badge{font-family:var(--font-ui);letter-spacing:.04em;text-transform:uppercase;border:1px solid;border-radius:2px;padding:3px 10px;font-size:12px;display:inline-block}.badge-pagata{color:#1f7a4d;background:#1f7a4d1a}.badge-in_corso{color:#9a6a00;background:#d69e0024}.badge-non_pagata{color:var(--color-ruby);background:#b10f2e14}.filter-chips{margin:var(--space-2) 0;flex-wrap:wrap;gap:8px;display:flex}.chip{font-family:var(--font-ui);border:1px solid var(--color-pearl);background:var(--color-paper);color:var(--color-ink);cursor:pointer;padding:6px 14px;font-size:13px}.chip[aria-pressed=true]{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}.semester-row{border-bottom:1px solid var(--color-pearl);font-family:var(--font-display);padding:14px 0;font-size:18px}.semester-row:first-child{border-top:1px solid var(--color-pearl)}.semester-row summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;list-style:none;display:flex}.semester-row summary::-webkit-details-marker{display:none}.list-editorial .list-row-stacked{flex-direction:column;align-items:flex-start;gap:10px}.list-editorial .list-row-stacked>.row-actions{width:100%}a.btn{text-decoration:none}.icon-whatsapp{color:#063b1b;background:#25d366;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex}.icon-whatsapp:hover{background:#1ebe5a}.btn-whatsapp{color:#063b1b;background:#25d366;border-color:#25d366;font-weight:600}.btn-whatsapp:hover:not(:disabled){color:#063b1b;background:#1ebe5a;border-color:#1ebe5a}.phone-field{align-items:stretch;display:inline-flex}.phone-prefix{font-family:var(--font-ui);border:1px solid var(--color-pearl);background:var(--color-pearl);color:var(--color-ink);border-right:0;align-items:center;padding:0 12px;font-size:15px;display:inline-flex}
