:root{--ink:#191816;--paper:#f4f0e6;--cream:#fffaf0;--acid:#d9ff43;--purple:#7756ff;--coral:#ff6f59;--line:#19181633;--muted:#6f6a61}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}body.drawer-open{overflow:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--purple);outline-offset:3px}.site-header{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;height:76px;padding:0 clamp(24px,5vw,76px);display:flex}.brand{color:var(--ink);letter-spacing:-.04em;align-items:center;gap:10px;font-size:18px;font-weight:900;text-decoration:none;display:inline-flex}.brand em{color:var(--purple);font-style:normal}.brand-mark{background:var(--acid);border:1px solid var(--ink);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-family:Georgia,serif;font-size:22px;line-height:1;display:inline-flex}.header-note{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-family:Courier New,monospace;font-size:12px}.header-links{align-items:center;gap:28px;display:flex}.header-link{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700;text-decoration:none}.header-link:hover{color:var(--purple)}.hero{grid-template-columns:1.35fr .65fr;min-height:480px;padding:70px clamp(24px,7vw,110px) 78px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";background-image:radial-gradient(#19181626 1px,#0000 1px);background-size:17px 17px;height:72px;position:absolute;inset:auto 0 0;-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.hero-copy{z-index:1;max-width:780px;position:relative}.eyebrow{color:var(--purple);letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px;font-family:Courier New,monospace;font-size:12px;font-weight:700;display:block}.hero h1{letter-spacing:-.075em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(64px,8.8vw,132px);font-weight:500;line-height:.78}.hero-copy p{color:#4f4a42;max-width:650px;margin:42px 0 0;font-size:clamp(16px,1.5vw,20px);line-height:1.55}.hero-orbit{aspect-ratio:1;place-self:center;width:100%;max-width:350px;position:relative}.orbit{border:1px solid var(--ink);border-radius:50%;position:absolute;inset:12%}.orbit-one{transform:rotate(24deg)scaleX(.52)}.orbit-two{border-color:var(--purple);transform:rotate(-55deg)scaleX(.52)}.orbit-center{background:var(--acid);border:1px solid var(--ink);border-radius:50%;justify-content:center;align-items:center;width:118px;height:118px;font-family:Georgia,serif;font-size:64px;display:flex;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.orbit-label{background:var(--cream);border:1px solid var(--ink);border-radius:100px;padding:8px 12px;font-family:Courier New,monospace;font-size:13px;position:absolute}.orbit-label--one{top:18%;right:2%;transform:rotate(8deg)}.orbit-label--two{bottom:16%;left:3%;transform:rotate(-8deg)}.orbit-label--three{background:var(--coral);bottom:4%;right:10%}.catalog{background:var(--cream);border-top:1px solid var(--ink);min-height:700px;padding:0 clamp(24px,5vw,76px) 100px}.catalog-controls{background:var(--cream);border-bottom:1px solid var(--ink);z-index:10;grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:20px;padding:22px 0;display:grid;position:sticky;top:0}.search-box{border:1px solid var(--ink);align-items:center;max-width:620px;height:52px;padding:0 16px;display:flex}.search-box>span{margin-right:12px;font-size:28px;line-height:1;transform:rotate(-20deg)}.search-box input{color:var(--ink);background:0 0;border:0;outline:0;width:100%;height:100%;font-size:15px}.search-box button{cursor:pointer;background:0 0;border:0;font-size:22px}.view-switcher,.difficulty-filter,.completion-filter{display:flex}.view-switcher{border:1px solid var(--ink);padding:4px}.view-switcher button,.difficulty-filter button,.completion-filter button{cursor:pointer;letter-spacing:.05em;text-transform:uppercase;background:0 0;border:0;padding:12px 16px;font-size:12px;font-weight:700}.view-switcher button.active{background:var(--ink);color:#fff}.filter-row{align-items:center;gap:14px;min-height:75px;padding:15px 0;display:flex}.difficulty-filter,.completion-filter{gap:6px}.difficulty-filter button,.completion-filter button{border:1px solid var(--line);border-radius:30px;padding:9px 14px}.difficulty-filter button.active,.completion-filter button.active{background:var(--acid);border-color:var(--ink)}.completion-filter{border-left:1px solid var(--line);padding-left:14px}.active-topic{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:30px;padding:10px 14px;font-size:12px;font-weight:700}.active-topic span{margin-left:8px}.surprise-button{background:var(--ink);border:1px solid var(--ink);color:#fff;cursor:pointer;letter-spacing:.05em;text-transform:uppercase;margin-left:auto;padding:11px 16px;font-size:12px;font-weight:700}.surprise-button span{color:var(--acid);margin-right:6px}.surprise-button:hover:not(:disabled){background:var(--purple)}.surprise-button:disabled{cursor:wait;opacity:.45}.results-heading{justify-content:space-between;align-items:end;padding:38px 0 24px;display:flex}.results-heading .eyebrow{margin-bottom:9px}.results-heading h2{letter-spacing:-.04em;margin:0;font-family:Georgia,serif;font-size:clamp(34px,4vw,54px);font-weight:500}.results-heading>p{color:var(--muted);text-align:right;max-width:330px;font-size:13px}.sort-button{border:0;border-bottom:1px solid var(--ink);cursor:pointer;background:0 0;padding:8px 0;font-family:Courier New,monospace;font-size:12px}.problem-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.problem-card{background:var(--paper);border:1px solid var(--ink);color:var(--ink);cursor:pointer;text-align:left;flex-direction:column;min-height:244px;padding:18px;transition:background-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative}.problem-card--done{background:#eee9ff}.problem-card--done:after{background:var(--purple);border:1px solid var(--ink);color:#fff;content:"✓";border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:900;display:flex;position:absolute;top:-7px;right:-7px}.problem-card__open{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;flex:1;width:100%;padding:0;display:flex}.problem-card:hover{background:var(--acid);box-shadow:5px 5px 0 var(--ink);transform:translate(-3px,-3px)}.problem-card__topline,.problem-card__footer{justify-content:space-between;align-items:center;display:flex}.problem-number{font-family:Courier New,monospace;font-size:13px;font-weight:700}.problem-kind{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.difficulty-dot{letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.difficulty-dot:before{background:var(--acid);border:1px solid var(--ink);content:"";border-radius:50%;width:9px;height:9px}.difficulty-dot--medium:before{background:var(--coral)}.difficulty-dot--hard:before{background:var(--purple)}.problem-card__title{letter-spacing:-.035em;margin:24px 0 16px;font-family:Georgia,serif;font-size:25px;line-height:1.05}.problem-card__tags{flex-wrap:wrap;gap:5px;display:flex}.problem-card__tags span,.drawer-tags span{border:1px solid var(--line);color:var(--muted);text-transform:uppercase;border-radius:30px;padding:6px 8px;font-size:10px}.problem-card__footer{border-top:1px solid var(--line);color:var(--muted);text-transform:uppercase;margin-top:auto;padding-top:14px;font-family:Courier New,monospace;font-size:10px}.problem-card__footer>span{color:var(--muted);font-size:10px}.card-done-button{color:var(--ink);cursor:pointer;letter-spacing:.03em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:6px;padding:2px 0;font-size:10px;font-weight:700;display:flex}.card-done-button span{font-size:16px;line-height:1}.card-done-button.active{color:var(--purple)}.load-more{background:var(--ink);border:1px solid var(--ink);color:#fff;cursor:pointer;letter-spacing:.05em;text-transform:uppercase;margin:36px auto 0;padding:16px 24px;font-size:13px;font-weight:700;display:block}.load-more:hover{background:var(--purple)}.load-more span{margin-left:16px}.loading-state,.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:360px;display:flex}.loading-state span,.empty-state>span{color:var(--purple);font-family:Georgia,serif;font-size:64px}.empty-state h3{margin:12px 0 4px;font-family:Georgia,serif;font-size:34px}.empty-state p,.loading-state p{color:var(--muted)}.topic-groups>.results-heading{border-bottom:1px solid var(--ink)}.topic-lane{border-bottom:1px solid var(--ink);padding:30px 0 44px}.topic-heading{grid-template-columns:56px 1fr auto;align-items:center;gap:20px;margin-bottom:22px;display:grid}.topic-index{color:var(--purple);font-family:Courier New,monospace;font-size:13px}.topic-heading h3{letter-spacing:-.04em;margin:0 0 4px;font-family:Georgia,serif;font-size:34px;font-weight:500}.topic-heading p{color:var(--muted);margin:0;font-size:13px}.topic-heading button{border:0;border-bottom:1px solid var(--ink);cursor:pointer;text-transform:uppercase;background:0 0;padding:9px 0;font-size:12px;font-weight:700}.topic-heading button span{margin-left:10px}.drawer-layer{z-index:50;position:fixed;inset:0}.drawer-backdrop{background:#191816ad;border:0;width:100%;position:absolute;inset:0}.problem-drawer{background:var(--cream);border-left:1px solid var(--ink);width:min(92vw,780px);max-width:780px;padding:34px clamp(24px,5vw,64px) 40px;animation:.22s ease-out both drawer-in;position:absolute;top:0;bottom:0;right:0;overflow-y:auto}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:start;padding-bottom:26px;display:flex}.drawer-header .eyebrow{margin-bottom:12px}.drawer-header h2{letter-spacing:-.055em;max-width:600px;margin:0;font-family:Georgia,serif;font-size:clamp(42px,6vw,72px);font-weight:500;line-height:.92}.close-button{background:var(--acid);border:1px solid var(--ink);cursor:pointer;border-radius:50%;flex:none;width:42px;height:42px;margin-left:20px;font-size:27px;line-height:1}.drawer-meta,.drawer-tags{flex-wrap:wrap;align-items:center;gap:9px 16px;display:flex}.drawer-meta{color:var(--muted);text-transform:uppercase;padding:20px 0 12px;font-family:Courier New,monospace;font-size:11px}.difficulty-pill{background:var(--acid);border:1px solid var(--ink);color:var(--ink);border-radius:20px;padding:7px 10px;font-weight:700}.difficulty-pill--medium{background:var(--coral)}.difficulty-pill--hard{background:var(--purple);color:#fff}.drawer-tags{margin:22px 0 32px}.statement{border-left:4px solid var(--acid);padding-left:24px;font-family:Georgia,Times New Roman,serif;font-size:clamp(18px,2.2vw,23px);line-height:1.65}.statement p{margin:0 0 1em}.statement img{max-width:100%;height:auto;margin:24px auto;display:block}.statement .center,.statement center{text-align:center}.statement ul,.statement ol{margin:1em 0;padding-left:1.4em}.statement li{margin-bottom:.45em}.statement table{border-collapse:collapse;width:max-content;max-width:100%;margin:24px 0;font-family:Arial,Helvetica,sans-serif;font-size:14px;display:block;overflow-x:auto}.statement td,.statement th{border:1px solid var(--line);text-align:center;padding:7px 10px}.statement pre{background:var(--paper);border:1px solid var(--line);padding:14px;font-family:Courier New,monospace;font-size:13px;overflow-x:auto}.statement .katex-display{padding:5px 0;overflow:auto hidden}.statement .katex{font-size:1em}.drawer-source{border-bottom:1px solid var(--ink);border-top:1px solid var(--ink);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:38px;padding:18px 0;font-size:11px;display:flex}.drawer-source a{color:var(--ink);font-weight:700}.drawer-done-button{background:var(--acid);border:1px solid var(--ink);color:var(--ink);cursor:pointer;text-transform:uppercase;border-radius:30px;padding:10px 14px;font-size:11px;font-weight:800}.drawer-done-button.active{background:var(--purple);color:#fff}.drawer-nav{grid-template-columns:1fr 1fr;gap:10px;padding-top:22px;display:grid}.drawer-nav button{background:var(--paper);border:1px solid var(--ink);cursor:pointer;justify-content:space-between;align-items:center;padding:16px;display:flex}.drawer-nav button:last-child{flex-direction:row-reverse}.drawer-nav button:disabled{cursor:default;opacity:.35}.drawer-nav span{text-transform:uppercase;font-size:11px}.drawer-nav strong{font-family:Courier New,monospace}footer{background:var(--ink);color:#fff;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:24px;min-height:160px;padding:38px clamp(24px,5vw,76px);display:grid}.brand--footer,footer a{color:#fff}footer p{color:#aaa59c;text-align:center;margin:0;font-size:11px;line-height:1.5}footer p a{color:#d9ff43}footer>a{justify-self:end;font-size:12px}.about-layout{grid-template-columns:minmax(0,.9fr) minmax(320px,.75fr);gap:clamp(48px,8vw,130px);min-height:calc(100vh - 236px);padding:clamp(70px,10vw,140px) clamp(24px,7vw,110px);display:grid}.about-intro h1{letter-spacing:-.07em;max-width:820px;margin:22px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(58px,7.2vw,112px);font-weight:400;line-height:.88}.about-copy{border-top:1px solid var(--ink);align-self:end}.about-copy section{border-bottom:1px solid var(--ink);padding:28px 0 32px}.about-copy h2{letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;font-family:Courier New,monospace;font-size:12px}.about-copy p{color:var(--muted);margin:0;font-size:18px;line-height:1.55}.about-copy p a{color:var(--ink);-webkit-text-decoration-color:var(--purple);text-decoration-color:var(--purple);text-underline-offset:4px}.maker-link{background:var(--acid);border:1px solid var(--ink);color:var(--ink);justify-content:space-between;align-items:center;margin-top:36px;padding:22px 24px;text-decoration:none;display:flex}.maker-link span{letter-spacing:.08em;text-transform:uppercase;font-family:Courier New,monospace;font-size:11px}.maker-link strong{font-size:18px}.maker-link:hover{background:var(--coral)}@media (max-width:1000px){.hero{grid-template-columns:1fr .52fr}.problem-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.problem-grid--lane .problem-card:nth-child(4){display:none}}@media (max-width:760px){.site-header{height:66px}.header-note{display:none}.header-links{gap:16px}.hero{min-height:510px;padding-top:58px;display:block}.hero h1{font-size:clamp(60px,20vw,92px)}.hero-copy p{margin-top:34px}.hero-orbit{display:none}.catalog-controls{grid-template-columns:1fr;position:static}.search-box{max-width:none}.view-switcher button{flex:1}.view-switcher{display:flex}.filter-row{flex-direction:column;align-items:flex-start}.surprise-button{margin-left:0}.difficulty-filter,.completion-filter{max-width:100%;overflow-x:auto}.completion-filter{border-left:0;padding-left:0}.results-heading{align-items:flex-start;gap:20px}.results-heading>p{display:none}.problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.problem-grid--lane .problem-card:nth-child(3){display:none}.problem-card{min-height:220px}.problem-card__title{font-size:21px}.topic-heading{grid-template-columns:35px 1fr}.topic-heading button{grid-column:2;justify-self:start}footer{text-align:left;grid-template-columns:1fr}footer p{text-align:left}footer>a{justify-self:start}.about-layout{grid-template-columns:1fr;min-height:auto}.about-copy{align-self:auto}}@media (max-width:480px){.brand{font-size:16px}.about-intro h1{font-size:16vw}.about-layout{padding-left:20px;padding-right:20px}.about-copy p{font-size:16px}.maker-link{flex-direction:column;align-items:flex-start;gap:8px}.hero{min-height:470px}.hero h1{font-size:18vw;line-height:.84}.hero-copy p{font-size:15px}.catalog{padding-left:16px;padding-right:16px}.problem-grid{grid-template-columns:1fr}.problem-grid--lane .problem-card:nth-child(3){display:flex}.results-heading h2{font-size:36px}.sort-button{font-size:10px}.problem-card{min-height:205px}.problem-drawer{width:100vw;padding:24px 20px 30px}.drawer-header h2{font-size:42px}.drawer-meta{flex-direction:column;align-items:flex-start}.statement{padding-left:16px;font-size:18px}.drawer-source{flex-direction:column;align-items:flex-start;gap:12px}.drawer-nav{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.problem-card{transition:none}.problem-drawer{animation:none}}
