:root{--portal-font-ui: "Inter", "Segoe UI", Arial, sans-serif;--portal-font-display: "Fraunces", Georgia, serif;--portal-ink: #202058;--portal-text: #3f4457;--portal-text-muted: #666a7b;--portal-accent: #c07818;--portal-accent-soft: rgba(192, 120, 24, .12);--portal-primary-hover: #3a3c86;--portal-success: #256b4f;--portal-danger: #b42318;--portal-warning: #80500c;--portal-surface: #ffffff;--portal-surface-subtle: #f7f7fa;--portal-line: rgba(32, 32, 88, .12);--portal-line-strong: rgba(32, 32, 88, .24);--portal-radius-sm: .4rem;--portal-radius-md: .6rem;--portal-radius-lg: .85rem;--portal-control-height: 2.75rem;--portal-touch-target: 2.75rem;--portal-space-1: .25rem;--portal-space-2: .5rem;--portal-space-3: .75rem;--portal-space-4: 1rem;--portal-space-5: 1.5rem;--portal-space-6: 2rem;--portal-focus: 0 0 0 3px rgba(192, 120, 24, .18)}body.portal-theme{background:var(--portal-surface);color:var(--portal-text);color-scheme:light;font-family:var(--portal-font-ui)}.portal-theme .font-display,.portal-theme h1,.portal-theme h2{font-family:var(--portal-font-display)}.portal-theme .site-header{box-shadow:none;color:var(--portal-ink)}.portal-theme .header-bar{background:var(--portal-surface);border-bottom:1px solid var(--portal-line)}.portal-theme .site-header .brand-lockup .font-display{color:var(--portal-ink)}.portal-theme .site-header #whoami{color:var(--portal-accent)}.portal-theme .brand-crest{filter:none}.portal-theme .portal-back{border-color:var(--portal-line-strong);color:var(--portal-ink);min-height:var(--portal-touch-target)}.portal-theme .portal-back:hover{background:var(--portal-surface-subtle)}.portal-theme .btn{border-radius:var(--portal-radius-sm);min-height:var(--portal-control-height);padding:.6rem 1.1rem}.portal-theme .btn:hover{transform:none}.portal-theme .btn-gold,.portal-theme .btn-blue,.portal-theme .btn-outline-dark{background:transparent;border:1px solid var(--portal-line-strong);color:var(--portal-ink)}.portal-theme .btn-gold:hover,.portal-theme .btn-blue:hover,.portal-theme .btn-outline-dark:hover{background:var(--portal-surface-subtle);border-color:var(--portal-ink);box-shadow:none;color:var(--portal-ink)}.portal-primary-btn,.portal-theme .btn.portal-primary-btn{background:var(--portal-ink);border-color:var(--portal-ink);color:#fff}.portal-primary-btn:hover,.portal-theme .btn.portal-primary-btn:hover{background:var(--portal-primary-hover);border-color:var(--portal-primary-hover);color:#fff}.portal-return-btn{margin-top:var(--portal-space-5)}.portal-theme .btn:disabled{opacity:.52}.portal-theme :is(a,button,input,select,textarea):focus-visible{box-shadow:var(--portal-focus);outline:2px solid transparent;outline-offset:2px}.portal-theme .field input,.portal-theme .field select,.portal-theme .field textarea{background-color:var(--portal-surface);border-color:var(--portal-line);border-radius:var(--portal-radius-sm);min-height:var(--portal-control-height);padding:.6rem .85rem}.portal-theme select:not([multiple]):not([size]){-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23202058' 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 1rem center;background-repeat:no-repeat;background-size:.9rem .9rem;padding-right:2.75rem}.portal-theme .field input:focus,.portal-theme .field select:focus,.portal-theme .field textarea:focus{border-color:var(--portal-accent);box-shadow:var(--portal-focus)}.portal-theme .field>span:first-child{color:var(--portal-ink);font-size:.78rem;font-weight:700}.portal-theme :is(.staff-panel,.portal-choice,.portal-card,.login-card,.result-sheet,.notices-block){box-shadow:none}.portal-theme :is(.portal-choice,.portal-card):hover{border-color:var(--portal-line-strong);box-shadow:none;transform:none}.portal-theme .feature-icon{background:transparent;border:1px solid var(--portal-line-strong);color:var(--portal-accent);box-shadow:none}.portal-theme .status-pill{background:transparent;border:1px solid currentColor}.portal-theme .staff-panel,.portal-theme .result-sheet{background:transparent;border:0;border-radius:0;padding:0}.portal-theme .staff-panel{margin-bottom:3rem}.portal-theme .staff-panel:last-child{margin-bottom:0}.portal-theme .staff-panel-head{border-bottom:1px solid var(--portal-line);margin-bottom:var(--portal-space-5);padding-bottom:var(--portal-space-4)}.portal-theme .result-table th,.portal-theme .marks-table th{background:transparent;border-bottom:1px solid var(--portal-line)}.portal-theme .eyebrow{display:none}.portal-theme .portal-dash-title{margin-top:0}.viewer-task-nav{background:#fffffff7;border-bottom:1px solid var(--portal-line);position:sticky;top:4.25rem;z-index:40}.viewer-task-nav a{align-items:center;border-bottom:2px solid transparent;color:var(--portal-text);display:inline-flex;flex:0 0 auto;font-size:.82rem;font-weight:700;gap:var(--portal-space-2);min-height:var(--portal-touch-target);padding:.65rem .85rem;white-space:nowrap}.viewer-task-nav a:hover,.viewer-task-nav a:focus-visible{border-bottom-color:var(--portal-accent);color:var(--portal-ink)}#resultSheet,#noticesBlock{scroll-margin-top:8rem}.result-table-wrap{overscroll-behavior-inline:contain;scrollbar-color:var(--portal-line-strong) transparent;scrollbar-width:thin}.portal-session-overlay{align-items:center;background:#12143a85;display:flex;inset:0;justify-content:center;padding:var(--portal-space-4);position:fixed;z-index:120}.portal-session-overlay[hidden]{display:none}.portal-session-dialog{background:var(--portal-surface);border-radius:var(--portal-radius-lg);box-shadow:0 24px 70px #12143a47;max-width:28rem;padding:var(--portal-space-6);width:100%}.portal-session-dialog h2{color:var(--portal-ink);font-size:1.55rem;margin-top:var(--portal-space-4)}.portal-session-dialog>p{line-height:1.6;margin-top:var(--portal-space-3)}.portal-session-note{background:var(--portal-accent-soft);border-radius:var(--portal-radius-sm);color:var(--portal-warning);font-size:.84rem;padding:var(--portal-space-3)}.portal-session-actions{display:flex;flex-wrap:wrap;gap:var(--portal-space-3);margin-top:var(--portal-space-5)}@media(max-width:640px){.portal-app-main{padding-top:var(--portal-space-6)}.portal-dash-head{align-items:stretch;margin-bottom:1.4rem}.portal-dash-head .btn{justify-content:center;width:100%}.child-picker,.term-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.35rem}.child-chip,.term-tab{flex:0 0 auto}.result-sheet{padding:1.25rem}.result-table th:first-child,.result-table td:first-child{background:var(--portal-surface);left:0;position:sticky;z-index:1}.result-table th:first-child{z-index:2}}@media print{.viewer-task-nav{display:none!important}}@media(prefers-reduced-motion:reduce){.portal-theme *,.portal-theme *:before,.portal-theme *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.ps-header{align-items:center;background:var(--portal-surface);border-bottom:1px solid var(--portal-line);display:flex;gap:var(--portal-space-4);height:4rem;padding:0 var(--portal-space-5);position:sticky;top:0;z-index:60}.ps-brand{align-items:center;color:var(--portal-ink);display:flex;gap:var(--portal-space-3);min-width:0;text-decoration:none}.ps-brand img{height:2.5rem;width:auto}.ps-brand-name{display:block;font-family:var(--portal-font-display);font-size:1.125rem;font-weight:600;line-height:1.5rem}.ps-brand-sub{color:var(--portal-text-muted);display:block;font-size:.75rem;font-weight:500;line-height:1rem}.ps-header-meta{align-items:center;display:flex;gap:var(--portal-space-4);margin-left:auto}.ps-term{color:var(--portal-text-muted);font-size:.75rem;font-weight:500;white-space:nowrap}.ps-term:empty{display:none}.ps-account{position:relative}.ps-btn{align-items:center;background:var(--portal-surface);border:1px solid var(--portal-line-strong);border-radius:var(--portal-radius-sm);color:var(--portal-ink);cursor:pointer;display:inline-flex;font:inherit;font-size:.875rem;font-weight:600;gap:var(--portal-space-2);height:2.25rem;padding:0 .75rem;text-decoration:none;white-space:nowrap}.ps-btn:hover{border-color:var(--portal-ink)}.ps-btn svg{flex-shrink:0}.ps-account-name{max-width:12rem;overflow:hidden;text-overflow:ellipsis}.ps-account-menu{background:var(--portal-surface);border:1px solid var(--portal-line);border-radius:var(--portal-radius-lg);box-shadow:0 8px 24px #2020581f;min-width:13rem;padding:var(--portal-space-2);position:absolute;right:0;top:calc(100% + var(--portal-space-2))}.ps-account-role{color:var(--portal-text-muted);font-size:.75rem;padding:var(--portal-space-2) var(--portal-space-3)}.ps-menu-item{align-items:center;background:none;border:0;border-radius:var(--portal-radius-sm);color:var(--portal-ink);cursor:pointer;display:flex;font:inherit;font-size:.875rem;gap:var(--portal-space-2);min-height:2.5rem;padding:0 var(--portal-space-3);text-align:left;text-decoration:none;width:100%}.ps-menu-item:hover{background:var(--portal-surface-subtle)}.ps-menu-btn{display:none}.ps-body{display:grid;gap:2.5rem;grid-template-columns:15rem minmax(0,1fr);margin:0 auto;max-width:90rem;padding:2.5rem var(--portal-space-5) 4rem}.ps-nav{align-self:start;position:sticky;top:6.5rem}.ps-nav-head,.ps-nav-account{display:none}.ps-nav ul{display:grid;gap:var(--portal-space-1);list-style:none;margin:0;padding:0}.ps-nav-label{color:var(--portal-text-muted);font-size:.6875rem;font-weight:700;letter-spacing:.08em;margin:0 0 var(--portal-space-2);text-transform:uppercase}.ps-nav-label-spaced{margin-top:var(--portal-space-5)}.ps-nav-item{align-items:center;color:var(--portal-text-muted);display:flex;font-size:.875rem;gap:.625rem;min-height:2.5rem;text-decoration:none}.ps-nav-item:before{background:transparent;border-radius:3px;content:"";flex-shrink:0;height:6px;width:6px}.ps-nav-item:hover{color:var(--portal-ink)}.ps-nav-item[aria-current=page]{color:var(--portal-ink);font-weight:600}.ps-nav-item[aria-current=page]:before{background:var(--portal-ink)}.ps-nav-extra{border-top:1px solid var(--portal-line);margin-top:var(--portal-space-4);padding-top:var(--portal-space-4)}.ps-backdrop{display:none}.ps-main{min-width:0}.ps-view-head{margin-bottom:var(--portal-space-6)}.ps-view-title{color:var(--portal-ink);font-family:var(--portal-font-display);font-size:2rem;font-weight:600;line-height:2.5rem;margin:0}@media(max-width:1023px){.ps-header{padding:0 var(--portal-space-4)}.ps-menu-btn{display:inline-flex;height:2.75rem}.ps-body{grid-template-columns:minmax(0,1fr);padding:var(--portal-space-5) var(--portal-space-4) 3rem}.ps-nav{background:var(--portal-surface);bottom:0;display:flex;flex-direction:column;left:0;overflow-y:auto;position:fixed;top:0;align-self:stretch;transform:translate(-100%);transition:transform .2s ease,visibility 0s linear .2s;visibility:hidden;width:min(19.5rem,85vw);z-index:80}.ps-nav.is-open{transform:none;transition:transform .2s ease,visibility 0s;visibility:visible}.ps-nav-head{align-items:center;border-bottom:1px solid var(--portal-line);display:flex;flex-shrink:0;height:4rem;justify-content:space-between;padding:0 var(--portal-space-4)}.ps-nav ul,.ps-nav-label{padding:0 var(--portal-space-4)}.ps-nav-label:first-of-type{margin-top:var(--portal-space-4)}.ps-nav-item{font-size:1rem;min-height:3rem}.ps-nav-extra{margin:0 var(--portal-space-4)}.ps-nav-account{align-items:center;border-top:1px solid var(--portal-line);display:flex;gap:var(--portal-space-3);justify-content:space-between;margin-top:auto;padding:var(--portal-space-4);flex-shrink:0}.ps-nav-account strong{color:var(--portal-ink);display:block;font-size:.875rem;font-weight:600}.ps-nav-account span{color:var(--portal-text-muted);font-size:.75rem}.ps-nav-account{align-items:flex-start;flex-direction:column}.ps-nav-account-actions{display:flex;gap:var(--portal-space-2);width:100%}.ps-nav-account .ps-btn{flex:1;height:2.75rem;justify-content:center}.ps-backdrop{background:#20205873;display:block;inset:0;position:fixed;z-index:70}.ps-backdrop[hidden]{display:none}.ps-view-title{font-size:1.5rem;line-height:2rem}.ps-view-head{margin-bottom:var(--portal-space-5)}}@media(max-width:699px){.ps-header .ps-brand-sub{display:none}.ps-brand img{height:2.25rem}.ps-header-meta{display:none}}@media(prefers-reduced-motion:reduce){.ps-nav{transition:none}}
