:root{--ui-bg:#f5f6f3;--ui-surface:#fff;--ui-surface-subtle:#edf1ee;--ui-ink:#242321;--ui-muted:#66716d;--ui-quiet:#89938f;--ui-border:#d9dfdc;--ui-brand:#008784;--ui-brand-strong:#006b69;--ui-brand-soft:#e1f1ef;--ui-yellow:#ffc20d;--ui-yellow-soft:#fff5c7;--ui-route-blue:#3979a3;--ui-community:#c75b4d;--ui-field:#607b65;--ui-danger:#b5473c;--ui-danger-soft:#f7e8e5;--ui-warning:#8a6429;--ui-warning-soft:#f6edde;--ui-success:#2d7355;--ui-success-soft:#e6f4ec;--ui-shadow-float:0 12px 32px #2423211f;--ui-ease:cubic-bezier(.2, .8, .2, 1);--ui-ease-locator:cubic-bezier(.16, 1, .3, 1);--ui-page-max:1180px;--ui-admin-max:1440px;--color-bg:var(--ui-bg);--color-bg-subtle:var(--ui-surface-subtle);--color-surface:var(--ui-surface);--color-surface-soft:#ffffffe0;--color-text:var(--ui-ink);--color-text-muted:var(--ui-muted);--color-text-quiet:var(--ui-quiet);--color-brand:var(--ui-brand);--color-brand-hover:var(--ui-brand-strong);--color-brand-soft:var(--ui-brand-soft);--color-info:var(--ui-route-blue);--color-info-soft:#e8f0f5;--color-success:var(--ui-success);--color-success-soft:var(--ui-success-soft);--color-warning:var(--ui-warning);--color-warning-soft:var(--ui-warning-soft);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--page-max:var(--ui-page-max);--shadow-soft:var(--ui-shadow-float)}body{color:var(--ui-ink);background:var(--ui-bg)}.qq-group-float[hidden]{display:none}:focus-visible{outline:2px solid var(--ui-brand);outline-offset:2px;filter:none}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.button{border:1px solid var(--ui-border);min-height:42px;color:var(--ui-ink);background:var(--ui-surface);box-shadow:none;border-radius:6px;padding-inline:16px}.button:hover{border-color:var(--ui-ink);background:var(--ui-surface);transform:none}.button-primary{border-color:var(--ui-ink);color:#fff;background:var(--ui-ink)}.button-primary:hover{color:#fff;background:#000;border-color:#000}.button-primary img{filter:invert(78%)sepia(99%)saturate(969%)hue-rotate(352deg)brightness(104%)contrast(101%)}.button-soft{color:var(--ui-brand-strong);background:var(--ui-brand-soft);border-color:#0000}.button-soft:hover{border-color:var(--ui-brand);background:var(--ui-brand-soft)}.button:active,.button-primary:active,.button-soft:active{transform:none}.status-badge{border-radius:4px;min-height:26px;padding:5px 8px}.page-menu-button{display:none}@media (max-width:620px){body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}.qq-group-float{--qq-float-bottom:calc(76px + env(safe-area-inset-bottom))}.qq-group-float--auth{--qq-float-bottom:calc(12px + env(safe-area-inset-bottom))}.qq-group-float--right-fab,.qq-group-float--campus{--qq-float-bottom:calc(124px + env(safe-area-inset-bottom))}.qq-group-float--campus-card,.qq-group-float--bottom-bar{--qq-float-bottom:calc(142px + env(safe-area-inset-bottom))}}
@keyframes ui-spin{to{transform:rotate(360deg)}}@keyframes ui-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes ui-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes ui-dialog-enter{0%{opacity:0;transform:translateY(8px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ui-sheet-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.operation-modal-backdrop{animation:.16s ease-out both ui-backdrop-enter}.operation-modal-panel{transform-origin:bottom;animation:ui-dialog-enter .22s var(--ui-ease-locator) both}@media (max-width:620px){.operation-modal-panel{animation-name:ui-sheet-enter}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
