@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Work+Sans:wght@400;500;600&display=swap";:root{--text:#aab8cc;--text-h:#f2f4f8;--bg:#0a0f1c;--bg-panel:#121a2b;--border:#d4af6a29;--code-bg:#14223a;--accent:#d4af6a;--accent-bg:#d4af6a1f;--accent-border:#d4af6a66;--pine:#3f7a5e;--berry:#a63a3a;--social-bg:#14223a99;--shadow:#00000073 0 10px 15px -3px, #0000004d 0 4px 6px -2px;--sans:"Work Sans", system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Cormorant Garamond", system-ui, "Segoe UI", Roboto, serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}#social .button-icon{filter:invert()brightness(2)}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;background:var(--bg);flex-direction:column;width:1826px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{background:var(--bg);margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:600}h1{letter-spacing:-.6px;margin:28px 0 8px;font-size:40px}@media (width<=1024px){h1{margin:20px 0 8px;font-size:30px}}h2{letter-spacing:-.2px;margin:0 0 8px;font-size:22px;line-height:118%}@media (width<=1024px){h2{font-size:19px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}a{color:var(--accent)}.page.adminscreen{max-width:920px}.adminscreen__sectiontitle{text-align:left;margin-bottom:14px}.adminscreen__addbtn{width:100%;margin-top:12px}.adminbox{flex-direction:row;align-items:flex-start;gap:24px;display:flex}.studentlist{text-align:left;flex:60%}.adminscreen__side{flex-direction:column;flex:35%;gap:24px;min-width:220px;display:flex}.inputs{margin-top:14px}@media (width<=760px){.adminbox{flex-direction:column}.studentlist,.adminscreen__side{width:100%}}.scheduleroll{text-align:left;flex:35%;min-width:220px}.scheduleroll__title{margin-bottom:4px}.scheduleroll__wants{color:var(--text);margin:0 0 16px;font-size:13px}.scheduleroll__label{color:var(--text);margin-bottom:16px;font-size:13px}.scheduleroll__grid{flex-direction:column;gap:14px;margin-bottom:20px;display:flex}.scheduleroll__unit{justify-content:space-between;align-items:center;display:flex}.scheduleroll__unitlabel{text-transform:uppercase;letter-spacing:.06em;color:var(--text);font-size:12px}.scheduleroll__number{box-sizing:border-box;text-align:center;width:64px;font-family:var(--heading);color:var(--text-h);font-size:18px}.scheduleroll__submit{width:100%}@media (width<=760px){.scheduleroll{width:100%}}.scheduleroll__countdown{border:1px solid var(--border);background:#d4af6a0f;border-radius:12px;flex-direction:column;align-items:center;gap:2px;margin:4px 0 20px;padding:14px;display:flex}.scheduleroll__countdownlabel{text-transform:uppercase;letter-spacing:.08em;color:var(--text);font-size:11px}.scheduleroll__countdowntime{font-family:var(--heading);color:var(--text-h);font-size:24px}.scheduleroll__cancel{width:100%}.optionbox{text-align:left;flex:35%;min-width:220px}.optionbox__title{margin-bottom:16px}.optionbox__danger{width:100%}.optionbox__ghost{width:100%;margin-top:12px}@media (width<=760px){.optionbox{width:100%}}.eventsscreen{max-width:1100px}.eventsscreen__content{grid-template-columns:minmax(0,1fr) minmax(250px,300px);grid-template-areas:"list filter";align-items:start;gap:24px;display:grid}.filterbox{text-align:left;grid-area:filter;margin-bottom:0;padding:18px 20px}.filterbox__title{margin:0 0 14px;font-size:16px}.filterbox__options{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.filterbox__option{color:var(--text);cursor:pointer;align-items:center;gap:9px;font-size:14px;display:flex}.filterbox__option input{width:16px;height:16px;accent-color:var(--accent);flex:none;margin:0}.filterbox__option input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.eventsscreen__list{flex-direction:column;grid-area:list;align-items:flex-start;display:flex}@media (width<=760px){.eventsscreen__content{grid-template-columns:minmax(0,1fr);grid-template-areas:"filter""list"}}.auctionendbox{text-align:left}.auctionendbox__title{margin:0 0 16px}.auctionendbox__field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.auctionendbox__dates{gap:12px;margin:0;display:grid}.auctionendbox__dates div{justify-content:space-between;gap:16px;display:flex}.auctionendbox__dates dt{color:var(--text);font-size:13px}.auctionendbox__dates dd{color:var(--text-h);margin:0;font-weight:600}.auctionendbox__loading{color:var(--text-muted);margin:0}.limitbox{text-align:left}.limitbox__title{margin-bottom:16px}.limitbox .field{margin-bottom:14px}.limitbox__submit{width:100%;margin-top:4px}.memberrow{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;align-items:center;gap:14px;margin-bottom:8px;padding:10px 14px;transition:background .2s,border-color .2s;display:flex}.memberrow--yellow{border-color:var(--accent-border);background:linear-gradient(#d4af6a24 0%,#d4af6a0d 100%)}.memberrow__number{width:28px;font-family:var(--mono);color:var(--text);text-align:center;flex-shrink:0;font-size:13px}.memberrow__admin-mark{color:var(--accent);font-family:var(--sans);margin-left:4px;font-weight:700}.memberrow__reroll-mark,.memberrow__gift-mark{font-family:var(--sans);margin-left:4px;font-weight:700}.memberrow__reroll-mark{color:#f28c28}.memberrow__gift-mark{color:#74d1ac}.memberrow__name{color:var(--text-h);text-align:left;flex:1;margin:0;font-size:16px;font-weight:500}.membergift{color:#74d1ac}.memberroll{color:var(--accent)}.loginscreen{box-sizing:border-box;background:radial-gradient(at top,#132238 0%,#0a0f1c 55%,#060910 100%);justify-content:center;align-items:center;width:100%;min-height:100svh;padding:24px;font-family:Work Sans,sans-serif;display:flex;position:relative;overflow:hidden}.loginscreen__snow{pointer-events:none;z-index:0;position:absolute;inset:0}.loginscreen__snowflake{color:#eef2f8;-webkit-user-select:none;user-select:none;animation-name:loginscreen-fall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-8%}@keyframes loginscreen-fall{to{transform:translateY(120vh)}}.loginscreen__card{z-index:1;box-sizing:border-box;background:linear-gradient(#14223a 0%,#0e1830 100%);border:1px solid #d4af6a2e;border-radius:18px;width:100%;max-width:400px;padding:60px 40px 40px;position:relative;box-shadow:0 30px 60px -20px #000000a6,0 0 0 1px #ffffff05}.loginscreen__lights{z-index:2;justify-content:space-between;display:flex;position:absolute;top:-13px;left:28px;right:28px}.loginscreen__lights:before{content:"";background:#e8ecf124;height:1px;position:absolute;top:50%;left:0;right:0}.loginscreen__lights span{border-radius:50%;width:9px;height:9px;animation:2.6s ease-in-out infinite loginscreen-twinkle;position:relative}.loginscreen__lights span:nth-child(3n+1){background:#d4af6a;box-shadow:0 0 8px 2px #d4af6ad9}.loginscreen__lights span:nth-child(3n+2){background:#3f7a5e;box-shadow:0 0 8px 2px #3f7a5ed9}.loginscreen__lights span:nth-child(3n){background:#a63a3a;box-shadow:0 0 8px 2px #a63a3ad9}.loginscreen__lights span:nth-child(odd){animation-delay:0s}.loginscreen__lights span:nth-child(2n){animation-delay:1.1s}@keyframes loginscreen-twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.82)}}.loginscreen__ornament{text-align:center;color:#d4af6a;text-shadow:0 0 12px #d4af6a8c;-webkit-user-select:none;user-select:none;margin-bottom:10px;font-size:18px;display:block}.loginscreen__title{text-align:center;color:#f2f4f8;letter-spacing:.4px;margin:0 0 6px;font-family:Cormorant Garamond,serif;font-size:42px;font-weight:600}.loginscreen__subtitle{text-align:center;color:#8fa3bf;margin:0 0 32px;font-size:14px;font-weight:400}.loginscreen__fields{flex-direction:column;gap:22px;margin-bottom:32px;display:flex}.loginscreen__field{flex-direction:column;gap:6px;display:flex}.loginscreen__label{text-transform:uppercase;letter-spacing:.09em;color:#8fa3bf;font-size:11px;font-weight:500}.loginscreen__class-toggle{gap:8px;margin-bottom:4px;display:flex}.loginscreen__class-toggle-button{color:#8fa3bf;cursor:pointer;background:0 0;border:1px solid #8fa3cc4d;border-radius:6px;padding:6px 10px;font-family:Work Sans,sans-serif;font-size:12px}.loginscreen__class-toggle-button[aria-pressed=true]{color:#f4e6c2;border-color:#d4af6a}.loginscreen__class-toggle-button:focus-visible{outline-offset:2px;outline:2px solid #d4af6a}.loginscreen__input{color:#f2f4f8;background:0 0;border:none;border-bottom:1px solid #8fa3cc4d;padding:8px 2px;font-family:Work Sans,sans-serif;font-size:16px;transition:border-color .25s,box-shadow .25s}.loginscreen__input::placeholder{color:#8fa3cc73}.loginscreen__input:focus{border-bottom-color:#d4af6a;outline:none;box-shadow:0 1px #d4af6a}.loginscreen__submit{color:#f4e6c2;letter-spacing:.03em;cursor:pointer;background:linear-gradient(135deg,#2f6b54,#1f4d3d);border:none;border-radius:10px;width:100%;padding:14px;font-family:Work Sans,sans-serif;font-size:15px;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s}.loginscreen__submit:hover{background:linear-gradient(135deg,#3a8065,#2a5c47);transform:translateY(-1px);box-shadow:0 10px 24px -8px #d4af6a66}.loginscreen__submit:active{transform:translateY(0)}.loginscreen__submit:focus-visible{outline-offset:3px;outline:2px solid #d4af6a}@media (width<=480px){.loginscreen__card{padding:52px 26px 32px}.loginscreen__title{font-size:34px}}@media (prefers-reduced-motion:reduce){.loginscreen__snowflake,.loginscreen__lights span{animation:none}}.loginscreen__input--error{border-bottom-color:var(--berry);box-shadow:0 1px 0 0 var(--berry)}.loginscreen__input--error::placeholder{color:#a63a3a80}.loadingscreen{min-height:100svh;color:var(--text);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.loadingscreen__spinner{border:3px solid #d4af6a33;border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;animation:.9s linear infinite loadingscreen-spin}.loadingscreen__text{font-family:var(--heading);color:var(--text-h);margin:0;font-weight:500}@keyframes loadingscreen-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loadingscreen__spinner{animation:none}}.namescreen{box-sizing:border-box;justify-content:center;align-items:center;min-height:100svh;padding:32px 20px;display:flex}.namescreen__card{text-align:center;width:100%;max-width:460px}.namescreen__eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:11px}.namescreen__title{margin:0 0 6px}.namescreen__recipient{color:var(--text);margin-bottom:20px;font-size:15px}.namescreen__recipient strong{color:var(--text-h)}.namescreen__roll{border:1px solid var(--border);background:#d4af6a0f;border-radius:12px;flex-direction:column;align-items:center;gap:2px;margin:20px 0 16px;padding:14px;display:flex}.namescreen__rolllabel{text-transform:uppercase;letter-spacing:.08em;color:var(--text);font-size:11px}.namescreen__rolltime{font-family:var(--heading);color:var(--text-h);font-size:24px}.namescreen__rollcard{grid-template-columns:1fr 7fr;gap:10px;width:80%;display:grid}.namescreen__rollbtn{width:100%;height:100%}.btn.btn--ghost.namescreen__rollbtn--orange,.btn.btn--ghost.namescreen__rollbtn--orange:hover{background:0 0;border-color:#f28c28}.btn.btn--ghost.namescreen__rollbtn--green,.btn.btn--ghost.namescreen__rollbtn--green:hover{background:0 0;border-color:#74d1ac}.namescreen__hint{color:var(--text);margin:10px 0 24px;font-size:12px}.namescreen__actions{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:24px;padding-bottom:24px;display:flex}.namescreen__footer{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}@media (width<=480px){.namescreen__actions,.namescreen__footer{flex-direction:column}}.changepasswordscreen{box-sizing:border-box;justify-content:center;align-items:center;min-height:100svh;padding:32px 20px;display:flex}.changepasswordscreen__card{text-align:left;width:100%;max-width:400px}.changepasswordscreen__title{text-align:center;margin:0 0 4px}.changepasswordscreen__subtitle{text-align:center;color:var(--text);margin-bottom:24px;font-size:14px}.changepasswordscreen__actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.requestsscreen__addbtn{margin-bottom:20px}.requestsscreen__form{text-align:left;margin-bottom:20px}.requestsscreen__list,.weightsscreen__list{flex-direction:column;display:flex}.announcementsscreen__addbtn{margin-bottom:20px}.announcementsscreen__form{text-align:left;margin-bottom:20px}.announcementsscreen__inputgrid{grid-template-columns:minmax(0,1fr)}.announcementsscreen__form input[type=number]{appearance:textfield}.announcementsscreen__form input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.announcementsscreen__form input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.announcementsscreen__nego-toggle{border:1px solid var(--border);min-height:40px;color:var(--text);font:500 14px/1 var(--sans);cursor:pointer;background:0 0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;transition:border-color .2s,color .2s;display:inline-flex}.announcementsscreen__nego-toggle:hover,.announcementsscreen__nego-toggle[aria-pressed=true]{border-color:var(--accent);color:var(--text-h)}.announcementsscreen__nego-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.announcementsscreen__nego-track{background:var(--border);border-radius:999px;width:30px;height:16px;transition:background .2s;position:relative}.announcementsscreen__nego-toggle[aria-pressed=true] .announcementsscreen__nego-track{background:var(--accent-bg)}.announcementsscreen__nego-thumb{background:var(--text);border-radius:50%;width:10px;height:10px;transition:transform .2s,background .2s;position:absolute;top:3px;left:3px}.announcementsscreen__nego-toggle[aria-pressed=true] .announcementsscreen__nego-thumb{background:var(--accent);transform:translate(14px)}.announcementsscreen__list{flex-direction:column;display:flex}.tipsscreen__addbtn{margin-bottom:20px}.tipsscreen__form{text-align:left;margin-bottom:20px}.tipsscreen__list{flex-direction:column;display:flex}.tipsscreen__tip-value{color:var(--accent);letter-spacing:.04em;margin-top:8px;font-size:12px;font-weight:600;display:block}.rowcard.tipsscreen__tip--self{background:#d4af6a1f;border-color:#d4af6a}.rowcard.tipsscreen__tip--myself{background:#b86ad41f;border-color:#9d6ad4}.tipsscreen__tip--self .rowcard__body,.tipsscreen__tip--self .rowcard__body strong{color:#f4e6c2}.absolutescreen__list{flex-direction:column;gap:4px;width:100%;display:flex}.absolutescreen__form{text-align:left;box-sizing:border-box;flex-direction:column;gap:14px;width:100%;margin-top:8px;display:flex}.absolutescreen__form .input{box-sizing:border-box;width:100%}.absolutescreen__date-field{flex-direction:column;gap:6px;display:flex}.absolutescreen__addbtn{width:100%;margin-top:8px}.absolutescreen__list>.classrow{box-sizing:border-box;width:100%}.weightrow{flex-wrap:wrap}.weightrow__info{align-items:center;gap:12px;display:flex}.weightrow__name{margin:0;font-size:16px}.weightrow__actions{gap:8px;display:flex}.weightrow__square{appearance:none;border:1px solid var(--border);background:var(--bg-panel);width:34px;height:34px;color:var(--text);font-family:var(--sans);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:14px;font-weight:600;line-height:1;transition:border-color .2s,color .2s,background .2s,box-shadow .2s;display:flex}.weightrow__square:hover{border-color:var(--accent-border);color:var(--text-h)}.weightrow__square:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.weightrow__square--active{background:linear-gradient(135deg, #e2c07f, var(--accent));border-color:var(--accent);color:#241a05;box-shadow:0 6px 16px -8px #d4af6a99}.popup-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#060910b8;justify-content:center;align-items:center;padding:24px;animation:.15s popup-fade-in;display:flex;position:fixed;inset:0}.popup{text-align:center;width:100%;max-width:360px;animation:.18s popup-pop-in}.popup__icon{color:#e08585;background:#a63a3a29;border:1px solid #a63a3a66;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto 14px;font-size:20px;display:inline-flex}.popup__title{margin:0 0 10px}.popup__message{color:var(--text);margin-bottom:22px;font-size:14px;line-height:150%}.popup__actions{justify-content:center;display:flex}@keyframes popup-fade-in{0%{opacity:0}to{opacity:1}}@keyframes popup-pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.popup-overlay,.popup{animation:none}}.popup--error .popup__icon{color:#e08585;background:#a63a3a29;border:1px solid #a63a3a66}.popup--warning .popup__icon{color:var(--accent);background:#d4af6a24;border:1px solid #d4af6a59}.popup--success .popup__icon{color:#74d1ac;background:#3f7a5e2e;border:1px solid #3f7a5e66}.popup--areyousure .popup__icon{color:var(--accent);background:#d4af6a24;border:1px solid #d4af6a66}.popup--areyousure .popup__actions{gap:10px}.snackbar-region{left:0;right:0;bottom:max(24px, env(safe-area-inset-bottom));pointer-events:none;z-index:110;justify-content:center;padding:0 16px;display:flex;position:fixed}.snackbar{pointer-events:auto;box-sizing:border-box;background:linear-gradient(180deg, var(--bg-panel) 0%, #0e1830 100%);border:1px solid var(--border);border-left-width:3px;border-radius:12px;align-items:center;gap:12px;width:100%;max-width:440px;padding:12px 14px;animation:.2s snackbar-slide-in;display:flex;box-shadow:0 20px 40px -18px #000000bf}.snackbar__icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:700;line-height:1;display:inline-flex}.snackbar__message{color:var(--text-h);text-align:left;flex:1;margin:0;font-size:14px;line-height:145%}.snackbar__close{appearance:none;width:28px;height:28px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;transition:color .2s,background .2s;display:inline-flex}.snackbar__close:hover{color:var(--text-h);background:#aab8cc1f}.snackbar__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.snackbar--success{border-color:#3f7a5e99}.snackbar--success .snackbar__icon{color:#74d1ac;background:#3f7a5e2e;border:1px solid #3f7a5e66}.snackbar--fail{border-color:#a63a3a8c}.snackbar--fail .snackbar__icon{color:#e08585;background:#a63a3a29;border:1px solid #a63a3a66}.snackbar--warning{border-color:var(--accent-border)}.snackbar--warning .snackbar__icon{color:var(--accent);background:#d4af6a24;border:1px solid #d4af6a59}@keyframes snackbar-slide-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.snackbar{animation:none}}.page.graphscreen{width:min(1700px,100vw - 48px);max-width:none;margin:0 auto}.historybox{text-align:left;flex-direction:column;gap:12px;min-width:0;display:flex}.historybox__title{margin:0;font-size:16px}.historybox__position{color:var(--text-muted);margin:0;font-size:13px}.historybox__actions{grid-template-columns:repeat(1,minmax(0,1fr));gap:8px;display:grid}.historybox__actions .btn{padding-left:8px;padding-right:8px}.graphscreen__card{aspect-ratio:1;box-sizing:border-box;justify-content:center;align-items:center;width:100%;padding:24px;display:flex}.graphscreen__content{grid-template-columns:minmax(170px,210px) minmax(0,1fr) 280px;align-items:start;gap:20px;display:grid}.graphscreen__sidebar{flex-direction:column;gap:20px;min-width:0;display:flex}.graphscreen__toggles{gap:8px;display:flex}.graphscreen__svg{width:100%;max-width:none;height:100%}.graphscreen__layout-toggle{border:1px solid var(--border);color:var(--text);font:500 12px/1 var(--sans);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:5px 8px 5px 10px;transition:border-color .2s,color .2s;display:inline-flex}.graphscreen__layout-toggle:hover,.graphscreen__layout-toggle[aria-pressed=true]{border-color:var(--accent);color:var(--text-h)}.graphscreen__layout-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.graphscreen__layout-toggle-label{text-transform:uppercase;letter-spacing:.06em}.graphscreen__layout-toggle-track{background:var(--border);border-radius:999px;width:30px;height:16px;transition:background .2s;position:relative}.graphscreen__layout-toggle[aria-pressed=true] .graphscreen__layout-toggle-track{background:var(--accent-bg)}.graphscreen__layout-toggle-thumb{background:var(--text);border-radius:50%;width:10px;height:10px;transition:transform .2s,background .2s;position:absolute;top:3px;left:3px}.graphscreen__layout-toggle[aria-pressed=true] .graphscreen__layout-toggle-thumb{background:var(--accent);transform:translate(14px)}.graphscreen__edge{stroke:var(--accent);stroke-width:1.5px;stroke-opacity:.55;fill:none}.graphscreen__edge--bought{stroke:var(--pine)}.graphscreen__arrowhead{fill:var(--accent);fill-opacity:.75}.graphscreen__arrowhead--bought{fill:var(--pine)}.graphscreen__node{fill:var(--bg-panel);stroke:var(--border);stroke-width:1.5px;transition:fill .2s,stroke .2s}.graphscreen__node--bought{fill:#3f7a5e59;stroke:var(--pine)}.graphscreen__label{font-family:var(--sans);fill:var(--text-h);font-size:11px}.graphscreen__weight-badge{transition:none}.graphscreen__weight-backplate{fill:var(--bg-panel)}.graphscreen__weight-value{font-family:var(--sans);fill:var(--text-h);pointer-events:none;font-size:15px;font-weight:700}.weightsgraph{text-align:left;min-width:0}.weightsgraph__title{margin:0 0 16px;font-size:16px}.weightsgraph__chart{align-items:stretch;gap:8px;height:180px;display:flex;overflow-x:auto}.weightsgraph__column{text-align:center;flex-direction:column;flex:1 0 32px;min-width:32px;display:flex}.weightsgraph__count,.weightsgraph__value{font-size:12px;line-height:1.2}.weightsgraph__count{color:var(--text)}.weightsgraph__bar-area{border-bottom:1px solid var(--border);flex:1;justify-content:center;align-items:flex-end;min-height:0;display:flex}.weightsgraph__bar{background:var(--accent);border-radius:4px 4px 0 0;width:min(28px,80%);min-height:3px}.weightsgraph__value{color:var(--text-h);padding-top:6px}.graphscreen__reroll-mark{font-family:var(--sans);fill:#e58a3a;pointer-events:none;font-size:22px;font-weight:800}@media (width<=1040px){.graphscreen__content{grid-template-columns:1fr}}@media (width<=760px){.graphscreen__card{aspect-ratio:1}}.graphscreen__node--draggable{cursor:grab;touch-action:none}.graphscreen__node--dragging{cursor:grabbing;stroke:var(--accent);stroke-width:2.5px}.graphscreen__node--swap-first{fill:#a63a3a80;stroke:var(--berry);stroke-width:3px}.graphscreen__node--swap-second{fill:#4d84ba73;stroke:#4d84ba;stroke-width:3px}.swapbox{text-align:left;flex-direction:column;gap:14px;display:flex}.swapbox__title{margin:0}.swapbox__selected-user{font-weight:700}.swapbox__field .swapbox__selected-user--first{color:var(--berry)}.swapbox__field .swapbox__selected-user--second{color:#4d84ba}.swapbox__weight-change{color:var(--text);font-size:13px}.swapbox__weight-change--increase{color:#74d1ac}.swapbox__weight-change--decrease{color:#e08585}.swapbox__field{flex-direction:column;gap:6px;display:flex}.swapbox__field .input{box-sizing:border-box;width:100%}.swapbox__fixed-value{min-height:36px;color:var(--text-h);align-items:center;font-size:14px;display:flex}.page.studentpanel{width:min(1100px,100vw - 48px);max-width:none}.studentpanel__content{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px;display:grid}.studentpanel__content>.card{min-width:0}@media (width<=760px){.studentpanel__content{grid-template-columns:1fr}}.fixscreen__addbtn{margin-bottom:20px}.fixscreen__form{text-align:left;margin-bottom:20px}.fixscreen__list{flex-direction:column;display:flex}.fixrow__arrow{color:var(--accent);margin:0 8px}.fixrow__delete{appearance:none;color:#d96a6a;cursor:pointer;background:0 0;border:1px solid #a63a3a8c;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;padding:7px;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.fixrow__delete:hover{border-color:var(--berry);color:#f08b8b;background:#a63a3a26}.fixrow__delete:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fixrow__delete svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:18px;height:18px}.classrow__info{align-items:center;gap:12px;display:flex}.classrow__name{margin:0;font-size:16px}.classrow>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.rowcard--event{box-sizing:border-box;flex-wrap:wrap;width:fit-content;max-width:100%}.rowcard--event>.rowcard__event-time{text-align:right;flex-basis:100%}.rowcard--event .rowcard__actions{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:8px 14px;display:flex}.rowcard__event-time{color:var(--text-muted);white-space:nowrap;font-size:11px}.page{text-align:left;box-sizing:border-box;max-width:720px;margin:0 auto;padding:32px 24px 56px}.page__header{align-items:center;gap:14px;margin-bottom:20px;display:flex}.page__header h1{flex:1;margin:0}.backbtn{appearance:none;border:1px solid var(--border);background:var(--bg-panel);color:var(--text);font-family:var(--sans);letter-spacing:.02em;cursor:pointer;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:500;transition:border-color .2s,color .2s,background .2s}.backbtn:hover{border-color:var(--accent-border);color:var(--text-h)}.backbtn:before{content:"←";margin-right:6px}.btn{appearance:none;font-family:var(--sans);letter-spacing:.02em;cursor:pointer;border:none;border-radius:9px;padding:11px 20px;font-size:14px;font-weight:600;transition:transform .15s,box-shadow .2s,background .2s,opacity .2s}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn--primary{background:linear-gradient(135deg, var(--pine), #1f4d3d);color:#f4e6c2}.btn--primary:hover{box-shadow:0 10px 22px -10px #d4af6a73}.btn--gold{background:linear-gradient(135deg, #e2c07f, var(--accent));color:#241a05}.btn--gold:hover{box-shadow:0 10px 22px -10px #d4af6a8c}.btn--ghost{border:1px solid var(--border);color:var(--text);background:0 0}.btn--ghost:hover{border-color:var(--accent-border);color:var(--text-h)}.btn:disabled{color:#c3c8cf;cursor:not-allowed;opacity:.65;background:#5a627071;border-color:#5a6270}.btn--danger{background:linear-gradient(135deg, #b24545, var(--berry));color:#f8e6e6}.btn--small{border-radius:7px;padding:6px 12px;font-size:12px}.card{background:linear-gradient(180deg, var(--bg-panel) 0%, #0e1830 100%);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 20px 40px -24px #0009}.field{flex-direction:column;gap:6px;margin-bottom:18px;display:flex}.field:last-of-type{margin-bottom:0}.label{text-transform:uppercase;letter-spacing:.08em;color:var(--text);font-size:11px;font-weight:500}.weight-radius__controls{align-items:center;gap:12px;display:inline-flex}.weight-radius__value{min-width:2ch;color:var(--text-h);text-align:center;font-size:18px;font-weight:600}.input{color:var(--text-h);font-size:16px;font-family:var(--sans);background:0 0;border:none;border-bottom:1px solid #aab8cc4d;padding:8px 2px;transition:border-color .25s,box-shadow .25s}.input::placeholder{color:#aab8cc73}.input:focus{border-bottom-color:var(--accent);box-shadow:0 1px 0 0 var(--accent);outline:none}.password-input{align-items:center;display:flex;position:relative}.password-input__field{box-sizing:border-box;width:100%;padding-right:34px}.password-input__toggle{width:28px;height:28px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:4px;display:inline-flex;position:absolute;right:2px}.password-input__toggle:hover,.password-input__toggle[aria-pressed=true]{color:var(--accent)}.password-input__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.password-input__toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:18px;height:18px}.inputgrid{grid-template-columns:1fr 1fr;gap:16px 20px;margin:20px 0;display:grid}@media (width<=560px){.inputgrid{grid-template-columns:1fr}}.formactions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.rowcard{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;padding:14px 18px;display:flex}.rowcard__body{color:var(--text);font-size:14px;line-height:145%}.rowcard__body strong{color:var(--text-h)}.rowcard--request{flex-wrap:wrap;width:fit-content;max-width:100%}.rowcard--request .rowcard__actions{flex-basis:100%;justify-content:center;gap:10px;display:flex}.rowcard--request-declined,.rowcard--request-canceled{border-color:#a63a3a8c}.rowcard--request-expired{border-color:var(--border);opacity:.68}.rowcard--request-accepted{border-color:#3f7a5e99}.rowcard__status{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:700}.rowcard--request-declined .rowcard__status,.rowcard--request-canceled .rowcard__status{color:#e08585}.rowcard--request-accepted .rowcard__status{color:#74d1ac}.pill{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.pill--gold{color:var(--accent);background:#d4af6a24;border:1px solid #d4af6a59}.pill--pine{color:#74d1ac;background:#3f7a5e2e;border:1px solid #3f7a5e66}.pill--berry{color:#e08585;background:#a63a3a29;border:1px solid #a63a3a66}.emptystate{text-align:center;color:var(--text);border:1px dashed var(--border);border-radius:12px;padding:32px 12px;font-size:14px}
