:root{--ink:#1d2530;--muted:#68717d;--line:#dde0e3;--paper:#fbfaf8;--white:#fff;--blue:#315bf4;--blue-dark:#2448cf;--lavender:#edeaff;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{min-width:320px;background:var(--paper)}body{margin:0;color:var(--ink);background:radial-gradient(circle at 72% 30%,rgba(230,226,255,.7),transparent 23rem),var(--paper);font-family:var(--sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-shell{min-height:100svh;display:flex;flex-direction:column;padding:28px clamp(24px,7vw,108px) 24px}.site-footer,.site-header{display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:9px;font-size:18px;font-weight:700;letter-spacing:-.045em}.brand-mark{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:var(--ink);color:var(--white);font-family:var(--serif);font-size:21px;font-weight:400}.header-note,.site-footer{color:var(--muted);font-size:13px}.hero{width:min(100%,770px);margin:auto;padding:92px 0 70px}.solver-hero{width:min(100%,1280px)}.eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 22px;color:#4a43b5;font-size:13px;font-weight:700;letter-spacing:.025em}.eyebrow span{font-size:16px}h1{max-width:680px;margin:0;font-family:var(--serif);font-size:clamp(49px,7.2vw,82px);font-weight:400;letter-spacing:-.065em;line-height:.95}.hero-copy{max-width:555px;margin:28px 0 34px;color:var(--muted);font-size:clamp(17px,2vw,19px);line-height:1.55}.problem-search{position:relative;display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px;padding:11px;background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 36px rgba(30,36,47,.07)}.problem-search:focus-within{border-color:#9caefd;box-shadow:0 0 0 4px rgba(49,91,244,.12),0 14px 36px rgba(30,36,47,.07)}textarea{width:100%;min-height:60px;padding:9px 12px;resize:vertical;border:0;outline:none;color:var(--ink);background:transparent;line-height:1.45}textarea::placeholder{color:#9098a2}button{align-self:end;display:inline-flex;align-items:center;gap:11px;min-height:46px;padding:0 18px;border:0;border-radius:10px;background:var(--blue);color:var(--white);cursor:pointer;font-size:14px;font-weight:700;white-space:nowrap;transition:background .15s ease}button:hover{background:var(--blue-dark)}a:focus-visible,button:focus-visible{outline:3px solid #9caefd;outline-offset:4px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9caefd;outline-offset:2px}.form-notice{grid-column:1/-1;margin:-1px 12px 2px;min-height:0;color:var(--muted);font-size:13px}.form-notice-error{color:#a5382f}.input-guidance{margin:-8px 12px 0;color:var(--muted);font-size:13px;line-height:1.55}.input-guidance code{padding:1px 3px;border-radius:4px;background:rgba(49,91,244,.08);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}button:disabled,textarea:disabled{cursor:wait;opacity:.7}.solver-experience{display:grid;grid-gap:20px;gap:20px}.solver-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,340px);grid-gap:clamp(24px,4vw,52px);gap:clamp(24px,4vw,52px);align-items:start}.solver-main{display:grid;min-width:0;grid-gap:20px;gap:20px}.solver-tool-panel{min-width:0}.solver-tool-panel .table-toggle,.solver-tool-panel:empty{display:none}.solver-toolbox{position:-webkit-sticky;position:sticky;top:24px;max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.solver-toolbox-drawer{padding:16px;border:1px solid #d9d6ef;border-radius:14px;background:rgba(255,255,255,.76);box-shadow:0 12px 30px rgba(30,36,47,.05)}.solver-toolbox-drawer summary{cursor:pointer;color:var(--ink);font-family:var(--serif);font-size:24px;font-weight:400;letter-spacing:-.025em}.solver-toolbox-intro{margin:10px 0 16px;color:var(--muted);font-size:13px;line-height:1.45}.solver-tool-category+.solver-tool-category{margin-top:16px;padding-top:16px;border-top:1px solid #eceaf2}.solver-tool-category h2{margin:0 0 8px;color:#4a43b5;font-size:12px;letter-spacing:.05em;text-transform:uppercase}.solver-tool-category ul{display:grid;grid-gap:3px;gap:3px;margin:0;padding:0;list-style:none}.solver-tool-button{width:100%;min-height:0;padding:7px 8px;border-radius:7px;background:transparent;color:#35456e;font-size:13px;font-weight:600;line-height:1.35;text-align:left;white-space:normal}.solver-tool-button:hover{background:#f1f2ff;color:var(--blue-dark)}.solver-tool-button[aria-pressed=true]{background:var(--lavender);color:#342b97;box-shadow:inset 3px 0 0 #6257d9}.table-entry{display:grid;grid-gap:10px;gap:10px}.sequential-entry{padding:12px;border:1px solid #cfd5fa;border-radius:12px;background:rgba(243,246,255,.46)}.row-button,.table-add,.table-toggle{align-self:start;min-height:36px;padding:6px 4px;background:transparent;color:#35456e;text-decoration:underline;font-size:13px}.row-button:hover,.table-add:hover,.table-toggle:hover{background:transparent;color:var(--blue-dark)}.table-form{display:grid;grid-gap:14px;gap:14px;padding:16px;border:1px solid #d9d6ef;border-radius:12px;background:rgba(255,255,255,.55)}.table-actions,.table-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.table-controls label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:13px;font-weight:700}.graph-fields{display:flex;flex-wrap:wrap;gap:10px}.graph-fields label{display:grid;flex:1 1 120px;grid-gap:5px;gap:5px;color:var(--muted);font-size:13px;font-weight:700}.graph-fields input{min-height:36px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--ink)}.sequential-draw-fields{display:grid;grid-gap:10px;gap:10px;min-width:0;margin:0;padding:12px;border:1px solid #e1def0;border-radius:9px}.sequential-draw-fields legend{padding:0 5px;color:var(--ink);font-size:14px;font-weight:700}.sequential-category-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,.7fr) auto;grid-gap:10px;gap:10px;align-items:end}.sequential-category-row label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:13px;font-weight:700}.sequential-category-row input,.sequential-draw-fields select{min-height:36px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--ink)}.field-help{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.manual-table input,.table-controls select{min-height:36px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--ink)}.manual-table-wrap{overflow-x:auto}.manual-table{width:100%;border-collapse:collapse;font-size:14px}.manual-table td,.manual-table th{padding:6px;text-align:left;border-bottom:1px solid #e8e6ed}.manual-table th{color:var(--muted);font-size:12px}.manual-table input{width:100%;min-width:90px}.row-button{color:#775060}.table-actions{justify-content:space-between}.solution-card{padding:clamp(22px,4vw,32px);border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 14px 36px rgba(30,36,47,.08);scroll-margin-top:24px}.solution-card-header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line)}.solution-label{margin:0 0 7px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.submitted-problem{margin:0;font-family:var(--serif);font-size:clamp(20px,3vw,25px);line-height:1.25;overflow-wrap:anywhere}.status-badge{flex:0 0 auto;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:700}.status-verified{background:#e5f6ea;color:#1c6b3a}.status-conditionally_verified,.status-inconclusive{background:#fff1cf;color:#875500}.status-unsupported{background:#f3edf0;color:#775060}.answer-block{margin:24px 0 12px;padding:16px 18px;border-radius:12px;background:linear-gradient(135deg,#f2f3ff,#fbfaff)}.answer-value{margin:0;color:#2448cf;font-family:var(--serif);font-size:clamp(32px,5vw,44px);letter-spacing:-.03em;overflow-wrap:anywhere}.solution-message{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.solution-message-unsupported{color:#775060}.steps-section{margin-top:28px}.steps-section h2{margin:0 0 14px;font-family:var(--serif);font-size:27px;font-weight:400;letter-spacing:-.025em}.solution-steps{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none;counter-reset:solution-step}.solution-steps li{position:relative;padding:15px 16px 15px 52px;border:1px solid #e8e6ed;border-radius:11px;background:rgba(255,255,255,.55);counter-increment:solution-step}.solution-steps li:before{position:absolute;top:16px;left:16px;display:grid;width:23px;height:23px;place-items:center;border-radius:50%;background:var(--lavender);color:#4a43b5;content:counter(solution-step);font-size:12px;font-weight:700}.solution-steps p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.solution-steps .step-transformation{margin-bottom:4px;color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.35}.solution-details{margin-top:16px;color:var(--muted);font-size:13px;line-height:1.5}.solution-details summary{color:var(--ink);cursor:pointer;font-weight:700}.solution-details p{margin:8px 0 0}.solution-details ul{margin:8px 0 0;padding-left:20px}.solution-limitations{margin-top:20px;padding:13px 15px;border-left:3px solid #b6abe8;border-radius:0 8px 8px 0;background:#f6f4ff;color:#514b72;font-size:14px;line-height:1.5}.solution-limitations p{margin:3px 0 0}.solution-limitations ul{margin:6px 0 0;padding-left:20px}.solution-interpretation{margin-top:20px;padding:13px 15px;border-left:3px solid #7f9cff;border-radius:0 8px 8px 0;background:#f3f6ff;color:#35456e;font-size:14px;line-height:1.5}.solution-interpretation p{margin:3px 0 8px}.solution-interpretation code{display:inline-block;max-width:100%;overflow-wrap:anywhere;padding:2px 5px;border-radius:4px;background:rgba(49,91,244,.1);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}.interpreted-table-wrap{max-width:100%;margin:10px 0;overflow-x:auto}.interpreted-table{width:100%;border-collapse:collapse;color:var(--ink);font-size:13px}.interpreted-table caption{padding-bottom:5px;color:var(--muted);text-align:left;font-weight:700}.interpreted-table td,.interpreted-table th{padding:5px 7px;border:1px solid #dce2f3;text-align:left;white-space:nowrap}.supporting-copy{margin:16px 12px 0;color:var(--muted);font-size:13px;line-height:1.5}.topic-strip{width:min(100%,940px);margin:0 auto;padding:24px 0;border-top:1px solid var(--line)}.topic-strip p{margin:0 0 13px;color:var(--muted);font-size:13px}.topic-strip ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.topic-strip li{padding:7px 11px;border:1px solid #d9d6ef;border-radius:999px;background:rgba(255,255,255,.55);color:#4b4866;font-size:13px}.site-footer{margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}.footer-links{display:flex;flex-wrap:wrap;gap:14px}.footer-links a{text-decoration:underline;text-underline-offset:3px}.footer-links a:hover{color:var(--ink)}.policy-shell{gap:28px}.policy-content{width:min(100%,760px);margin:auto;padding:46px 0 58px}.policy-content h1{max-width:none;font-size:clamp(44px,6vw,66px)}.policy-content h2{margin:36px 0 10px;font-family:var(--serif);font-size:28px;font-weight:400;letter-spacing:-.025em}.policy-content p{max-width:700px;color:var(--muted);font-size:16px;line-height:1.65}.policy-content .policy-intro{margin-top:26px;color:var(--ink);font-size:18px}.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}@media (max-width:1024px){.solver-workspace{grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:26px}.solver-toolbox{top:16px;max-height:calc(100dvh - 32px)}}@media (max-width:699px){.solver-hero{width:min(100%,770px)}.solver-workspace{grid-template-columns:minmax(0,1fr);gap:18px}.solver-main{display:contents}.input-guidance,.problem-search{order:1}.solution-card{order:2}.solver-toolbox{position:static;order:3;max-height:none;overflow:visible;padding:0}.solver-tool-panel{order:4}.solver-toolbox-drawer{padding:12px 14px}.solver-toolbox-drawer summary{font-size:20px}.solver-toolbox-drawer:not([open]) .solver-toolbox-intro,.solver-toolbox-drawer:not([open]) nav{display:none}}@media (max-width:620px){.site-shell{padding:20px 20px 18px}.header-note{display:none}.hero{padding:70px 0 52px}h1{font-size:clamp(46px,14vw,62px)}.problem-search{grid-template-columns:1fr;gap:5px}button{width:100%;justify-content:center}.solver-tool-button{justify-content:flex-start}.sequential-category-row{grid-template-columns:1fr}.solution-card{padding:20px}.solution-card-header{flex-direction:column}.status-badge{align-self:flex-start}.site-footer{gap:10px;align-items:flex-start;flex-direction:column}.policy-content{padding:26px 0 38px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}