@layer theme,base,katex;@layer components{.final-page-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.final-page-head>:first-child{min-width:0}.mascot.final-page-art{margin-block:-28px -16px}.line-art.final-page-art{flex:none;width:72px;height:72px;margin-block:-8px}@media (max-width:479.98px){.mascot.final-page-art{--mascot-w:96px!important}.line-art.final-page-art{width:56px;height:56px}}.card.final-major{padding:8px 16px}.final-lessons{border-collapse:collapse;width:100%;font-size:15px}.final-lessons thead th{color:var(--ink-3);padding-block:8px 6px;font-size:12px;font-weight:500}.final-lessons th{text-align:start;font-weight:500}.final-lessons tbody tr{border-block-start:1px solid var(--line)}.final-lessons tbody th{padding-block:10px;padding-inline-end:8px}.final-lessons td,.final-lessons thead th:not(:first-child){text-align:end;white-space:nowrap;width:3.4em}.final-lessons td{color:var(--ink-2)}.final-lessons td:nth-child(2){color:var(--ink);font-weight:600}.final-lesson-note{color:var(--ink-3);font-size:12px;font-weight:400;display:block}.final-lesson-link{align-items:center;gap:4px;font-weight:700;display:flex}.final-lesson-link .final-lesson-note{color:var(--amber-ink)}.final-lesson-link svg{width:16px;height:16px;color:var(--ink-3);flex:none}.final-majors-note{color:var(--ink-3);font-size:13px;line-height:1.9}.card.final-list{padding:0;overflow:hidden}.final-list>li+li{border-block-start:1px solid var(--line)}.final-row{min-height:68px;transition:background-color var(--dur-2) var(--ease);align-items:center;gap:10px;padding-block:10px;padding-inline:16px 10px;display:flex;position:relative}.final-row:focus-visible,.final-qrow:focus-visible{outline-offset:-3px;border-radius:var(--r-md)}@media (hover:hover){.final-row:hover,.final-qrow:hover{background:var(--surface-hover)}}.final-row:active,.final-qrow:active{background:var(--canvas)}.final-pending{border-radius:inherit;background:var(--hl);opacity:0;pointer-events:none;animation:final-pending .9s var(--ease) .12s infinite alternate;position:absolute;inset:0}@keyframes final-pending{to{opacity:.3}}.final-row-main{flex:1;min-width:0}.final-row-name{font-weight:600;line-height:1.6;display:block}.final-row-meta{color:var(--ink-3);font-size:14px;line-height:1.6;display:block}.final-row-score{color:var(--amber-ink);animation:fade-in var(--dur-3) var(--ease);flex:none;font-size:14px;font-weight:600;line-height:1.6}.final-session{gap:24px;display:grid}.final-session-head{flex-direction:column;gap:16px;min-width:0;display:flex}@media (min-width:1100px){.final-session{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:56px}.final-session-head{position:sticky;top:100px}}.final-back{min-height:32px;color:var(--amber-ink);align-self:flex-start;align-items:center;gap:2px;margin-block-end:-8px;font-size:14px;font-weight:600;line-height:1.5;display:inline-flex}.final-back svg{width:16px;height:16px}.card.final-stats{flex-direction:column;gap:14px;display:flex;position:relative;overflow:hidden}.final-stats-row{z-index:1;grid-template-columns:1fr 1fr;gap:16px;display:grid;position:relative}.final-stat-label{color:var(--ink-3);font-size:14px;line-height:1.6;display:block}.final-stat-value{white-space:nowrap;font-size:22px;font-weight:700;line-height:1.5;display:block}.final-stat-value small{color:var(--ink-3);font-size:15px;font-weight:500}.final-stats[data-ended] .final-stat-value{animation:pop var(--dur-fill) var(--ease)}.final-stats[data-ended] .progress-fill{animation-duration:.9s}.final-bubbles{pointer-events:none;position:absolute;inset:0}.final-bubbles span{width:var(--size);height:var(--size);background:var(--bubble,var(--amber));opacity:0;animation:final-bubble 1.1s cubic-bezier(.3, .6, .4, 1) var(--wait) both;border-radius:50%;position:absolute;inset-block-end:16px;inset-inline-start:var(--x)}.final-bubbles span:first-child{--x:12%;--size:8px;--wait:.24s}.final-bubbles span:nth-child(2){--x:26%;--size:5px;--wait:.42s;--bubble:var(--green)}.final-bubbles span:nth-child(3){--x:38%;--size:10px;--wait:.32s}.final-bubbles span:nth-child(4){--x:52%;--size:6px;--wait:.52s;--bubble:var(--green)}.final-bubbles span:nth-child(5){--x:66%;--size:7px;--wait:.28s}.final-bubbles span:nth-child(6){--x:80%;--size:5px;--wait:.46s}@keyframes final-bubble{0%{opacity:0;transform:translateY(0)scale(.5)}25%{opacity:.85}to{opacity:0;transform:translateY(-84px)scale(1.1)}}.final-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.card.new-exam-options{gap:16px;display:grid}@media (min-width:600px){.new-exam-options{grid-template-columns:1fr 1fr}}@media (min-width:900px){.new-exam-options:has(>:nth-child(3)){grid-template-columns:repeat(3,1fr)}}.new-exam-options>div{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.new-exam-options p{color:var(--ink-3);font-size:13px;line-height:1.8}.final-qrow.final-qrow-plain{grid-template-columns:minmax(0,1fr) 20px}.exam-clock{background:var(--canvas-deep);font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;min-width:4.5em;padding:4px 10px;font-weight:700}.exam-clock[data-low]{background:color-mix(in srgb, var(--red) 15%, transparent);color:var(--red)}.final-actions>.btn-primary{flex:1 1 0;min-width:0;padding-inline:12px}.final-actions>.btn-secondary{flex:none;padding-inline:16px}.final-qrow{min-height:60px;transition:background-color var(--dur-2) var(--ease);grid-template-columns:22px 1.6em minmax(0,1fr) 76px;align-items:center;gap:8px;padding-block:10px;padding-inline:14px;display:grid;position:relative}.final-qrow-lock{width:22px;height:22px;color:var(--ink-3);place-items:center;display:grid}.final-qrow-lock svg{width:16px;height:16px}.final-qrow-n{color:var(--ink-2);text-align:center;font-size:15px;font-weight:600;line-height:1.5}.final-qrow-text{color:var(--ink-2);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.75;display:-webkit-box;overflow:hidden}.final-qrow-marks{color:var(--ink-3);text-align:end;white-space:nowrap;font-size:13px;line-height:1.5}.final-qrow-marks[data-status]{color:var(--amber-ink);font-weight:600}.final-qrow-marks[data-status=scored]{color:var(--green-ink)}.final-qrow-marks[data-status=incorrect]{color:var(--red-ink)}.final-head{align-items:center;gap:10px;min-height:36px;margin-block-end:8px;display:flex}.final-head-title{color:var(--ink-3);white-space:nowrap;font-size:14px;font-weight:500;line-height:1.6}.btn.final-head-table{flex:none;margin-inline:auto -8px;padding-inline:8px}.final-stem{margin-block-end:16px}.rich.final-stem-instruction{color:var(--ink-2);margin-block-end:6px;font-size:15px;font-weight:600;line-height:1.8;display:block}.rich.final-stem-note{color:var(--ink-3);margin-block-start:2px;font-size:14px;line-height:1.8;display:block}.final-parts{flex-direction:column;gap:12px;display:flex}.final-part{border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-card);padding:14px 16px 12px}@media (min-width:768px){.final-part{padding:18px 20px 14px}}.final-part-text{align-items:flex-start;gap:10px;display:flex}.final-part-text>.rich{flex:1;min-width:0}.final-part-label{background:var(--canvas);min-width:28px;height:28px;color:var(--ink-2);border-radius:999px;flex:none;place-items:center;margin-block-start:1px;padding-inline:7px;font-size:14px;font-weight:600;line-height:1;display:inline-grid}.final-part-missing{color:var(--ink-3);flex:1;font-size:14px;line-height:1.9}.final-part-foot{align-items:center;gap:8px;min-height:36px;margin-block-start:8px;display:flex}.final-part-text+.final-part-foot{padding-inline-start:38px}.btn.final-part-toggle{background:var(--canvas);color:var(--ink);gap:4px;margin-inline:auto -4px;padding-inline:14px 10px}@media (hover:hover){.btn.final-part-toggle:hover{background:var(--canvas-deep)}}.final-part-toggle svg{width:16px;height:16px;transition:transform var(--dur-2) var(--ease)}.final-part-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.final-mark-pop{animation:pop var(--dur-3) var(--ease)}.final-answer{border-block-start:1px solid var(--line);animation:final-open var(--dur-3) var(--ease);flex-direction:column;gap:12px;margin-block-start:10px;padding-block:12px 4px;scroll-margin-block:72px 104px;display:flex}.final-part-whole .final-answer{border:0;margin:0;padding-block-start:2px}@keyframes final-open{0%{opacity:0;transform:translateY(-4px)}}.final-alt-label{color:var(--ink-3);font-size:14px;font-weight:600;line-height:1.6;display:block}.rich.final-grader{color:var(--red-ink);font-size:14px;line-height:1.85}.final-marks{flex-wrap:wrap;align-items:center;gap:8px 10px;padding-block:2px;display:flex}.final-marks-label{color:var(--ink-2);font-size:14px;font-weight:500;line-height:1.6}.final-marks-options{flex-wrap:wrap;gap:8px 6px;display:flex}.final-mark{touch-action:manipulation}@media (hover:hover){button.chip.final-mark:hover:not([aria-pressed=true]){background:var(--canvas)}}button.chip.final-mark[aria-pressed=true][data-tone=green]{background:var(--green);color:var(--ink)}button.chip.final-mark[aria-pressed=true][data-tone=amber]{background:var(--amber);color:var(--ink)}button.chip.final-mark[aria-pressed=true][data-tone=red]{background:var(--red-soft);color:var(--red-ink)}.final-mark[data-fresh]{animation:pop var(--dur-3) var(--ease)}.final-mark[data-fresh][data-tone=green]:before{content:"";border-radius:inherit;animation:final-mark-ring .52s var(--ease) both;pointer-events:none;position:absolute;inset:0}@keyframes final-mark-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--green) 55%, transparent)}to{box-shadow:0 0 0 12px #0000}}.final-alts{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.final-alts>div{flex-direction:column;align-self:stretch;gap:8px;display:flex}.final-alts-toggle{margin-inline-start:-8px}.final-alts-toggle svg{transition:transform var(--dur-2) var(--ease)}.final-alts-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.final-links{flex-direction:column;align-items:stretch;gap:16px;margin-block-start:4px;display:flex}.final-links>.btn{align-self:flex-start;margin-block-start:-8px;margin-inline-start:-8px}@media (max-width:767.98px){.final-links{margin-inline:-16px}.final-links .excerpt-crop{border-radius:0}.final-links .excerpt-crop:after{box-shadow:inset 0 1px 0 var(--line), inset 0 -1px 0 var(--line)}.final-links .excerpt-foot{padding-inline:16px}.final-links>.btn{margin-inline-start:8px}}.final-sealed{border-radius:var(--r-md);background:var(--canvas-deep);color:var(--ink-2);margin-block-start:16px;padding:12px 16px;font-size:14px;line-height:1.8}.final-end{margin-block-start:12px;scroll-margin-block:72px 104px}.final-failed{border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:15px;display:flex}.final-rows{overscroll-behavior-x:contain;border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-card);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex-direction:column;gap:8px;padding:10px;scroll-margin-block:72px 104px;display:flex;overflow-x:auto}.final-rows img{mix-blend-mode:multiply;flex:none;width:100%;max-width:none;height:auto;display:block}@media (max-width:767.98px){.final-rows img{min-width:680px}}.final-rows+.final-rows{margin-block-start:12px}.ptp-board{grid-template-columns:repeat(40,minmax(0,1fr));gap:3px;display:grid}.ptp-cell,.ptp-guide-tile{background:var(--fill);min-width:0;color:var(--fill-ink);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding-block:6px;line-height:1;display:flex}.ptp-cell{grid-column:var(--mc) / span var(--ms);grid-row:var(--mr);transition:transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);animation:ptp-in .42s var(--ease) both;animation-delay:calc(var(--i) * 12ms);-webkit-tap-highlight-color:transparent;text-decoration:none}@keyframes ptp-in{0%{opacity:0;transform:translateY(6px)scale(.7)}}@media (hover:hover){.ptp-cell:hover{box-shadow:0 0 0 2px var(--fill-ink);transform:translateY(-2px)}}.ptp-cell:active{transform:scale(.94)}.ptp-cell:focus-visible{outline:2px solid var(--fill-ink);outline-offset:1px}.ptp-z,.ptp-mass{font-variant-numeric:tabular-nums;font-size:10px}.ptp-z{opacity:.8}.ptp-sym{font-size:15px;font-weight:700}.ptp-guide{border-radius:var(--r-md);background:var(--canvas);grid-area:1/6/auto/36;justify-content:center;align-items:center;min-width:0;padding:3px 8px;display:flex}.ptp-guide-card{gap:10px;display:flex}.ptp-guide-tile{flex:none;width:44px}.ptp-guide-labels{color:var(--ink-3);white-space:nowrap;flex-direction:column;justify-content:space-between;padding-block:4px;font-size:11px;line-height:1.2;display:flex}.ptp-guide-name{display:none}.ptp-strip-label{color:var(--ink-3);grid-area:5/1/auto/-1;padding-block:10px 2px;font-size:12px}.ptp-key{color:var(--ink-2);flex-wrap:wrap;gap:6px 14px;margin-block-start:14px;font-size:12px;display:flex}.ptp-key li{align-items:center;gap:6px;display:flex}.ptp-key-dot{background:var(--fill);width:10px;height:10px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--fill-ink) 30%, transparent);border-radius:3px}.ptp-note{color:var(--ink-3);margin-block-start:10px;font-size:12px;line-height:1.7}@media (max-width:359px){.ptp-board{gap:2px}.ptp-cell[data-d]{grid-column:var(--sc) / span 8;grid-row:var(--sr)}.ptp-z,.ptp-mass{font-size:8.5px}.ptp-sym{font-size:13px}}@media (min-width:768px){.sheet-panel.final-table-sheet{width:min(960px,100% - 24px);bottom:auto}.ptp-board{grid-template-columns:repeat(18,minmax(0,1fr));gap:4px}.ptp-cell{grid-column:var(--c);grid-row:var(--r);padding-block:8px}.ptp-sym{font-size:18px}.ptp-z,.ptp-mass{font-size:11px}.ptp-guide{grid-area:1/3/4/13;margin-inline:12px;padding:12px}.ptp-guide-card{gap:16px}.ptp-guide-tile{border-radius:var(--r-md);gap:6px;width:92px;padding-block:14px}.ptp-guide-tile .ptp-sym{font-size:30px}.ptp-guide-tile .ptp-z,.ptp-guide-tile .ptp-mass{font-size:14px}.ptp-guide-labels{padding-block:14px;font-size:13px}.ptp-guide-name{color:var(--ink);font-size:15px;font-weight:600;display:block}.ptp-strip-label{display:none}}.final-section-head{background:var(--canvas-deep);color:var(--ink-2);align-items:baseline;gap:8px;padding:12px 16px 6px;font-size:14px;font-weight:600;display:flex}.final-section-head span{color:var(--ink-3);font-size:12px;font-weight:400}}@layer utilities;
