@font-face{font-family:"Atlas Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2")}@font-face{font-family:"Atlas Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2")}@font-face{font-family:"Atlas Serif";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2")}@font-face{font-family:"Atlas Serif";font-style:italic;font-weight:700;font-display:swap;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2")}:root{color-scheme:light dark;--field: #173e70;--on-field: #eef3fb;--on-field-dim: rgb(238 243 251 / .62);--on-field-line: rgb(238 243 251 / .34);--accent: #f4b740;--on-accent: #10213b;--paper: #ffffff;--ink: #0d1b33;--gray: #5a6478;--rule: #dfe3ea;--wash: #f1f4f9;--link: #1f4f94;--focus: var(--link);--font: "Atlas Serif", "Latin Modern Roman", "CMU Serif", Georgia, serif;--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 .26 0 0 0 -.08'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}@media(prefers-color-scheme:dark){:root{--paper: #0d2140;--ink: #e4ebf6;--gray: #9eb0cb;--rule: #233c62;--wash: #142b4f;--link: #a9c8f5}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--paper)}body{margin:0;min-width:20rem;background:var(--paper);color:var(--ink);font:1.125rem/1.6 var(--font);font-synthesis:none;-webkit-font-smoothing:antialiased}h1,h2,h3,p,ol,ul,figure{margin:0}ol,ul{padding:0;list-style:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:color-mix(in srgb,var(--accent) 45%,transparent)}.field{--focus: var(--accent);background:var(--grain) var(--field);color:var(--on-field)}.field ::selection{background:#f4b74066}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:10;left:1rem;top:-4rem;padding:.5rem 1rem;background:var(--accent);color:var(--on-accent)}.skip-link:focus{top:1rem}.quiet{color:var(--gray);font-size:.9375rem}.field .quiet{color:var(--on-field-dim)}.text-button{display:inline-flex;align-items:center;gap:.35em;padding:0;border:0;background:none;color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.field .text-button{color:var(--on-field)}.text-button:disabled{color:var(--gray);text-decoration:none;cursor:default}.accent-button{display:inline-flex;align-items:center;gap:.45em;padding:.35rem 1rem .35rem .8rem;border:0;border-radius:999px;background:var(--accent);color:var(--on-accent);white-space:nowrap;box-shadow:0 1px #ffffff59 inset,0 6px 18px -8px #f4b740b3;transition:transform .12s ease,box-shadow .12s ease}.accent-button:hover{transform:translateY(-1px);box-shadow:0 1px #ffffff59 inset,0 10px 22px -8px #f4b740d9}.accent-button:active{transform:translateY(0)}.accent-button:disabled{opacity:.45;transform:none;box-shadow:none;cursor:default}kbd{font:inherit;font-size:.875em;padding:0 .35em;border:1px solid currentColor;border-radius:4px;opacity:.8}.math{white-space:pre-line;overflow-wrap:break-word}.math .katex{font-size:1em}.math-nowrap{white-space:nowrap}.math-display{display:block;overflow-x:auto;overflow-y:hidden;margin:.6em 0;padding:.1em 0}.math-display .katex-display{margin:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.practice{display:grid;gap:2.25rem;padding-top:.5rem}.practice-settings{display:grid;gap:1.5rem}.practice fieldset{min-width:0;margin:0;padding:0;border:0}.practice legend,.history h2{padding:0;margin-bottom:.6rem;font-size:.8125rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--on-field-dim)}.chips{display:flex;flex-wrap:wrap;gap:.45rem}.chip{position:relative;display:inline-flex;align-items:baseline;gap:.45em;padding:.22rem .8rem;border:1px solid var(--on-field-line);border-radius:999px;font-size:1rem;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.chip input,.option input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.chip:hover{border-color:var(--on-field-dim);background:#eef3fb0f}.chip:has(input:checked){border-color:var(--on-field);background:var(--on-field);color:var(--field)}.chip:has(input:focus-visible),.option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.chip-note{font-size:.875em;opacity:.7;font-variant-numeric:tabular-nums}.chips .more{padding:.22rem .4rem;font-size:1rem;color:var(--on-field-dim)}.chips .more:hover{color:var(--on-field)}.years{display:flex;align-items:baseline;gap:.85rem;color:var(--on-field-dim)}.years input{width:5ch;padding:.2rem 0;border:0;border-bottom:1px solid var(--on-field-line);border-radius:0;background:none;appearance:textfield;font-size:1.3125rem;text-align:center;color:var(--on-field);font-variant-numeric:tabular-nums;transition:border-color .15s ease}.years input::-webkit-inner-spin-button,.years input::-webkit-outer-spin-button{appearance:none;margin:0}.years input::placeholder{color:var(--on-field-dim);opacity:1}.years input:hover{border-bottom-color:var(--on-field-dim)}.years input:focus{outline:none;border-bottom-color:var(--accent)}.options{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem}.option{position:relative;display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.option i{width:.8rem;height:.8rem;border:1px solid var(--on-field-dim);border-radius:2px;transition:background-color .2s ease,box-shadow .4s ease}.option:hover i{border-color:var(--on-field)}.option:has(input:checked) i{border-color:var(--on-field);background:var(--on-field);box-shadow:0 0 10px -2px #eef3fba6}.roll{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem 1.5rem;padding:1.5rem 0;border-block:1px solid var(--on-field-line)}.pool{display:grid;gap:.35rem;color:var(--on-field-dim);font-size:1rem}.pool-count{font-size:clamp(3.25rem,2rem + 2.6vw,4.5rem);line-height:.85;letter-spacing:-.03em;color:var(--on-field);font-variant-numeric:tabular-nums}.roll-action{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.1rem}.roll-button{gap:.55em;padding:.75rem 1.7rem .75rem 1.35rem;font-size:1.375rem}.dice.tumble{animation:tumble .52s cubic-bezier(.2,.9,.3,1.2)}@keyframes tumble{0%{transform:rotate(-270deg) scale(.6)}}.roll.stage{display:block;max-width:42rem;padding:clamp(3.5rem,15vh,9rem) 0 0;border:0}.stage .pool{display:block;color:var(--ink)}.stage .pool-count{display:block;margin-left:-.06em;font-size:clamp(7rem,2rem + 10vw,13rem);line-height:.8;letter-spacing:-.045em;color:var(--ink)}.stage .pool-of{display:block;margin-top:1.5rem;font-size:1.5rem}.pool-description{margin-top:.4rem;font-size:1.25rem;color:var(--gray)}.pool-description .text-button{margin-left:.35em}.stage .roll-action{margin-top:2.75rem}.stage .roll-button{padding:.9rem 2.1rem .9rem 1.7rem;font-size:1.5rem}.history-head{display:flex;align-items:baseline;justify-content:space-between}.history-head .text-button{font-size:.9375rem;color:var(--on-field-dim)}.history ol{margin:0 -.6rem}.history li+li{box-shadow:0 -1px #eef3fb1f}.history a{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.5rem .6rem;border-radius:4px;text-decoration:none;transition:background-color .12s ease}.history a:hover{background:#eef3fb12}.history a[aria-current=page]{background:#eef3fb14;box-shadow:inset 2px 0 0 var(--accent)}.history a[aria-current=page] .history-label{color:var(--accent)}.history-label{font-size:1.125rem;white-space:nowrap;font-variant-numeric:tabular-nums}.history-subjects{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-style:italic;color:var(--on-field-dim)}.history time{font-size:.875rem;white-space:nowrap;color:var(--on-field-dim)}.mark{width:.85rem;height:.85rem;border:1px solid var(--on-field-line);border-radius:2px;background:#eef3fb0d}.mark.attempted{border-color:var(--on-field-dim);background-image:repeating-linear-gradient(135deg,var(--on-field-dim) 0 1.5px,transparent 1.5px 4px)}.mark.solved{border-color:var(--on-field);background:var(--on-field);box-shadow:0 0 10px -2px #eef3fba6}@media not (min-width:64rem){.practice{gap:2rem}.chip{padding:.18rem .65rem;font-size:.9375rem}.roll-button{font-size:1.25rem}}.problem-grid{width:calc(100% + .44rem);margin:0 -.22rem;table-layout:fixed;border-collapse:separate;border-spacing:.22rem}.problem-grid th{font-weight:400;color:var(--on-field-dim);font-variant-numeric:tabular-nums}.problem-grid thead th{position:sticky;top:0;z-index:1;padding:.7rem 0 .35rem;background:var(--grain) var(--field);font-size:.875rem}.problem-grid thead th:first-child,.problem-grid tbody th{width:3.75rem;text-align:left}.problem-grid tbody th{font-size:.9375rem;white-space:nowrap}.problem-grid tr.decade>th{color:var(--on-field)}.problem-grid td{padding:0}.problem-grid .session-gap{width:.75rem}.problem-grid tr.new-decade>*{padding-top:.9rem}.cell{position:relative;display:block;width:100%;aspect-ratio:1;border:1px solid var(--on-field-line);border-radius:3px;background-color:#eef3fb0d;scroll-margin:3rem 0 1rem;transition:background-color .35s ease,border-color .2s ease,box-shadow .7s ease,transform .12s ease}a.cell:hover{border-color:var(--on-field);background-color:#eef3fb24;transform:scale(1.08)}.cell.attempted{border-color:var(--on-field-dim);background-image:repeating-linear-gradient(135deg,var(--on-field-dim) 0 1.5px,transparent 1.5px 5px)}.cell.solved{border-color:var(--on-field);background-color:var(--on-field);box-shadow:0 0 14px -3px #eef3fba6}a.cell.solved:hover{background-color:#fff}.cell.saved:after{content:"";position:absolute;top:14%;right:14%;width:32%;height:32%;border-radius:50%;background:var(--accent);box-shadow:0 0 0 1.5px var(--field)}.cell.outside{border-style:dotted;opacity:.3;background-color:transparent}a.cell[aria-current=page]{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 18px -2px #f4b74099}a.cell:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes develop{0%{opacity:0;transform:scale(.4)}}.problem-grid.developing .cell{animation:develop .52s cubic-bezier(.2,.75,.25,1) both;animation-delay:calc(var(--sweep, 0) * 16ms + 80ms)}@media not (min-width:64rem){.problem-grid .session-gap{width:.4rem}.problem-grid thead th:first-child,.problem-grid tbody th{width:3.1rem}.problem-grid thead th{font-size:.75rem}.problem-grid tbody th{font-size:.875rem}}.grid-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;color:var(--on-field-dim);font-size:.875rem}.grid-legend span{display:inline-flex;align-items:center;gap:.45rem}.grid-legend .cell{width:.95rem;transition:none}.picker{position:relative;display:inline-block;white-space:nowrap}.picker>span{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .75rem;border:1px solid var(--on-field-line);border-radius:999px;font-size:1rem;color:var(--on-field);transition:border-color .12s ease,background-color .12s ease}.picker:hover>span{border-color:var(--on-field-dim);background:#eef3fb0f}.picker.is-set>span{border-color:var(--on-field);background:var(--on-field);color:var(--field)}.picker select{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer;appearance:none}.picker:has(select:focus-visible){outline:2px solid var(--focus);outline-offset:2px;border-radius:999px}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.25rem 1.5rem;padding:1.75rem 0 1.25rem}.brand{display:inline-flex;align-items:center;gap:.55rem;font-size:1.625rem;line-height:1;letter-spacing:-.01em;text-decoration:none;white-space:nowrap}.brand:before{content:"";width:.62em;height:.62em;border-radius:2px;background:var(--accent);box-shadow:0 0 14px -2px #f4b740bf;transform:translateY(-.04em)}.views{grid-column:2;grid-row:1;display:flex;padding:3px;border:1px solid var(--on-field-line);border-radius:999px}.views a{padding:.2rem .85rem;border-radius:999px;font-size:1rem;text-decoration:none;color:var(--on-field-dim);transition:background-color .15s ease,color .15s ease}.views a:hover{color:var(--on-field)}.views a[aria-current=page]{background:var(--on-field);color:var(--field)}.finder{grid-column:1 / -1;display:grid;gap:.85rem}.search{position:relative;display:block}.search svg{position:absolute;left:0;top:50%;transform:translateY(-50%);color:var(--on-field-dim);pointer-events:none}.search input{width:100%;padding:.45rem 0 .45rem 1.85rem;border:0;border-bottom:1px solid var(--on-field-line);border-radius:0;background:none;appearance:none;font-size:1.3125rem;color:var(--on-field);transition:border-color .15s ease}.search input::placeholder{color:var(--on-field-dim);opacity:1}.search input:hover{border-bottom-color:var(--on-field-dim)}.search input:focus{outline:none;border-bottom-color:var(--accent)}.search input::-webkit-search-cancel-button{filter:invert(1) brightness(1.5)}.pickers{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.matches{display:inline-flex;gap:.75rem;margin-left:.5rem;color:var(--on-field-dim);font-size:1rem}@media not (min-width:64rem){.topbar{padding:1.25rem 0 1rem;gap:1rem}.brand{font-size:1.375rem}.views a{padding:.15rem .7rem;font-size:.9375rem}.search input{font-size:1.1875rem}.pickers{gap:.4rem}.pickers .picker>span{padding:.15rem .6rem;font-size:.9375rem}}.workspace{display:grid;grid-template-columns:clamp(31rem,41vw,44rem) minmax(0,1fr);min-height:100dvh}.index-pane{padding:0 clamp(1.75rem,3vw,3rem) 5rem}.table-pane>.grid-legend{margin-bottom:.35rem}.problem-pane{position:sticky;top:0;height:100dvh;overflow-y:auto;padding:0 clamp(2rem,5vw,5.5rem) 5rem;box-shadow:inset 1px 0 0 var(--rule)}.problem-pane>.running-head{position:sticky;top:0;z-index:2;margin:0 calc(-1*clamp(2rem,5vw,5.5rem));padding:0 clamp(2rem,5vw,5.5rem);background:var(--paper)}.pane-body{max-width:46rem;padding-top:2.25rem}.welcome{max-width:40rem;padding-top:clamp(4rem,18vh,11rem)}.welcome h1{font-size:clamp(3.5rem,1.5rem + 4.6vw,6.5rem);font-weight:400;line-height:.95;letter-spacing:-.03em;margin-left:-.04em}.welcome p{margin-top:1.5rem;font-size:1.25rem;max-width:34rem}.welcome p:has(.accent-button){display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;margin-top:2.25rem}.welcome .accent-button{font-size:1.125rem;padding:.55rem 1.3rem .55rem 1.05rem}.welcome p.quiet{margin-top:3rem;font-size:1rem}.table-message{padding:1.5rem 0}.index-screen{min-height:100dvh;padding:0 1.25rem 4rem}.problem-screen{width:min(100% - 2.5rem,46rem);margin:0 auto;padding:2.25rem 0 5rem}.running-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.5rem;padding:0 1.25rem;border-bottom:1px solid var(--rule);font-size:1rem}.running-head.field{border-bottom:0}.running-head a{display:inline-flex;align-items:center;gap:.3rem;text-decoration:none;white-space:nowrap}.running-head a:hover{text-decoration:underline}.running-head nav{display:flex;gap:1.25rem;font-variant-numeric:tabular-nums}.running-head:not(.field) a{color:var(--gray)}.running-head:not(.field) a:hover{color:var(--ink)}.running-head .roll-again{padding:.25rem .85rem .25rem .7rem;font-size:.9375rem}.roll-count{margin-left:.15em;opacity:.6;font-variant-numeric:tabular-nums}.drawn{animation:dealt .42s cubic-bezier(.2,.8,.3,1)}@keyframes dealt{0%{opacity:0;transform:translateY(1rem)}}
