:root{color-scheme:light;--ink:#162237;--muted:#5a687a;--accent:#2669cf;--sub:#dce9fc;--line:#dfE6ef;--bg:#f5f8fc;--card:#fff;--radius:20px;--shadow:0 12px 50px rgba(15,35,68,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}a{color:var(--accent)}a:hover{text-decoration-thickness:2px}button,input,textarea,select{font:inherit}button{cursor:pointer;transition:transform .12s,background .12s}button:active{transform:translateY(1px)}.topbar{background:var(--card);border-bottom:1px solid var(--line)}.wrap{max-width:1140px;margin:auto;padding:0 28px}.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:15px;padding-bottom:15px}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);font-weight:800;text-decoration:none;letter-spacing:-.03em}.logo{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--accent);color:#fff;font-size:21px;box-shadow:0 4px 12px rgba(0,0,0,.10)}.topbar nav{display:flex;gap:22px;font-weight:600;font-size:14px}.topbar nav a{color:#405169;text-decoration:none}.hero{padding:62px 0 44px;background:radial-gradient(circle at 85% 15%,var(--sub),transparent 42%),linear-gradient(110deg,#fff,var(--bg))}.eyebrow{font-weight:800;font-size:12px;color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px}h1{font-size:clamp(32px,5vw,56px);line-height:1.1;letter-spacing:-.05em;margin:0 0 18px;max-width:850px}h2{letter-spacing:-.035em;font-size:clamp(24px,3vw,30px);line-height:1.2;margin:0 0 14px}.lead{color:var(--muted);max-width:780px;font-size:18px;margin:0}.tag{display:inline-block;background:var(--sub);color:var(--accent);border-radius:50px;padding:5px 11px;font-weight:700;font-size:12px;margin-top:20px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:24px;margin-top:38px;margin-bottom:50px}.card{border-radius:var(--radius);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);padding:30px;min-width:0}.card h2{font-size:24px}.card p:first-child{margin-top:0}.aside{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:24px}.aside ul{padding-left:19px;font-size:14px;color:var(--muted)}.aside li{margin-bottom:10px}.aside h3{margin-top:0;font-size:17px}.aside p{font-size:14px;color:var(--muted)}.inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:end;margin-bottom:17px}.inputs label, label.block{display:grid;gap:8px;font-weight:650;font-size:14px}.inputs .wide{grid-column:1/-1}.inputs input,.inputs select,.inputs textarea,label.block textarea,textarea{border:1px solid #cbd6e3;min-height:46px;border-radius:11px;width:100%;background:#fff;color:var(--ink);padding:11px 13px;outline:none;font-size:16px}.inputs textarea,label.block textarea{resize:vertical;min-height:120px}.inputs input:focus,.inputs select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--sub)}button{border:1px solid var(--line);border-radius:10px;padding:12px 18px;font-weight:750;background:#f3f6fa;color:#1d344d;min-height:46px}.primary{color:#fff;background:var(--accent);border-color:var(--accent)}.primary:hover{filter:brightness(.9)}.secondary:hover{background:var(--sub)}.tool-buttons{display:flex;gap:10px;flex-wrap:wrap}.result{display:block;white-space:pre-wrap;background:var(--bg);border:1px solid var(--line);border-radius:13px;padding:22px;min-height:84px;margin:17px 0 0;color:#1f334c;font-size:19px;font-weight:550;overflow-wrap:anywhere}.result p{font-size:15px;font-weight:400}.result small{display:block;color:var(--muted);margin:6px 0;font-weight:400}.hint{font-size:13px;color:var(--muted);line-height:1.6}.stat-grid,.forecast-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-grid>div{display:flex;flex-direction:column;padding:14px;border:1px solid var(--line);border-radius:12px;font-size:14px;font-weight:500}.stat-grid strong{font-size:23px;color:var(--accent);letter-spacing:-.03em}.forecast-grid article{border:1px solid var(--line);border-radius:12px;padding:15px;display:flex;gap:7px;flex-direction:column;font-size:14px;background:#fff}.forecast-grid b{font-size:24px;color:var(--accent)}.forecast-grid small{color:var(--muted)}.quote{border:1px dashed #b5c8e0;padding:22px;border-radius:12px;font-size:19px;margin-bottom:17px;line-height:1.8}.clock-face{font-size:clamp(40px,8vw,70px);letter-spacing:-.05em;font-weight:800;text-align:center;color:var(--accent);padding:20px 0}.rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;font-size:15px}.rows div{display:flex;justify-content:space-between;background:#fff;padding:8px;border-radius:8px;border:1px solid var(--line)}#game{max-width:100%;border-radius:12px;display:block;margin:15px auto}.game-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:16px}.controls{display:grid;place-items:center;gap:8px;margin:8px 0}.controls>div{display:flex;gap:8px}.controls button{min-width:52px}.sudoku{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));width:min(100%,500px);margin:12px auto 20px;border:3px solid #35405e;aspect-ratio:1}.sudoku input{width:100%;height:100%;min-width:0;padding:0;text-align:center;font-size:clamp(15px,3vw,25px);font-weight:700;border-radius:0;border:1px solid #c2cedd}.sudoku input:nth-child(3n){border-right:2px solid #35405e}.sudoku input:nth-child(n+19):nth-child(-n+27),.sudoku input:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid #35405e}.sudoku input.clue{background:#e7effa;color:#334860}.tiles,.ttt{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:420px;margin:auto}.tiles button{aspect-ratio:1;font-size:27px;background:var(--sub);color:var(--accent)}.tiles button.empty{background:#e6ebf2;opacity:.65}.ttt{grid-template-columns:repeat(3,1fr);max-width:330px}.ttt button{aspect-ratio:1;font-size:44px}.chess-board,.checker-board{display:grid;grid-template-columns:repeat(8,1fr);width:min(100%,560px);margin:auto;aspect-ratio:1}.chess-board button,.checker-board button{border:0;border-radius:0;padding:0;min-height:0;aspect-ratio:1;display:grid;place-items:center;font-size:clamp(21px,4.5vw,44px)}.chess-board .light,.checker-board .light{background:#e8e8df}.chess-board .dark,.checker-board .dark{background:#72919a}.chess-board button.target,.checker-board button.target{box-shadow:inset 0 0 0 5px #ffc34d}.chess-board button.chosen,.checker-board button.chosen{background:#f2cd67}.checker{border-radius:100%;display:grid;place-items:center;width:75%;height:75%;box-shadow:0 3px 7px #3336;font-size:26px;color:#fff}.checker.red{background:#c44b4f}.checker.black{background:#1d273d}#solitaire{background:#1b7457;padding:15px;border-radius:15px;color:white;min-height:330px}.sol-top{display:flex;gap:7px;overflow-x:auto}.pile{flex:1;min-width:60px;background:#1e8966;color:#fff;border:1px solid #b5d6c8;border-radius:8px;padding:6px;min-height:70px;font-size:12px}.playing-card{display:block;background:#fff;border-radius:6px;color:#1c2737;padding:10px 3px;font-weight:700;font-size:17px}.playing-card.red{color:#bf2e36}.sol-tableau{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:20px}.col-pile{background:#156648;border:1px solid #97b7a8;min-width:0;height:330px;position:relative;padding:0;border-radius:8px;color:white}.solcard{position:absolute;left:2px;right:2px;height:70px;background:#fff;border:1px solid #71869a;border-radius:6px;color:#26334c;font-size:18px;display:block;padding:3px;text-align:left;box-shadow:0 2px 4px #0002}.solcard.red{color:#d23b4f}.solcard.back{background:#3564a1;color:#fff}.empty-pile{font-size:11px}.section{padding:24px 0 48px}.prose{max-width:800px}.prose h3{margin:30px 0 5px;font-size:18px}.prose p,.prose li{color:#4a596e}.footer{border-top:1px solid var(--line);background:#fff;padding:28px 0;color:var(--muted);font-size:13px}.footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px}.footer a{color:var(--muted)}.pill{background:var(--sub);color:var(--accent);border-radius:30px;padding:4px 10px;font-weight:700;font-size:12px}.error{color:#9b2121}
@media(max-width:850px){.layout{grid-template-columns:1fr}.aside{order:2}.hero{padding:40px 0 28px}.card{padding:20px}.topbar nav{gap:12px}.wrap{padding:0 18px}}
@media(max-width:460px){.inputs,.stat-grid,.forecast-grid{grid-template-columns:1fr}.game-head{align-items:flex-start;flex-wrap:wrap}.topbar .wrap{align-items:flex-start}.topbar nav a{font-size:12px}.solcard{font-size:12px}.pile{font-size:10px}.logo{width:36px;height:36px}.brand{font-size:13px}}

/* Expanded content and accessibility */
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.skip-link{position:absolute;left:-999px;top:10px;z-index:200;background:#fff;color:var(--ink);padding:10px 14px;border:2px solid var(--accent)}.skip-link:focus{left:10px}
.topic-nav{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 25px}.topic-nav a{display:inline-block;background:#fff;border:1px solid var(--line);text-decoration:none;padding:9px 14px;border-radius:100px;font-weight:650;font-size:14px}.topic-nav a:hover{background:var(--sub)}
.article-card{background:white;border:1px solid var(--line);border-radius:15px;padding:22px;margin:12px 0}.article-card h3{margin:0 0 8px}.article-card p{margin:0}.examples-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:13px}.examples-list article{background:#fff;border:1px solid var(--line);padding:16px;border-radius:12px}.examples-list h3{margin:0 0 8px;font-size:16px}.examples-list p{margin:0;font-size:14px}.site-notice{border-left:4px solid var(--accent);padding:15px;background:var(--sub);margin:16px 0;border-radius:6px;font-size:14px}.badge-note{display:inline-block;background:var(--sub);border-radius:20px;padding:3px 9px;font-size:12px}.actionbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}.actionbar button{font-size:13px;padding:9px 12px;min-height:40px}.calculator-report{white-space:pre-wrap}.attribution{font-size:12px;color:var(--muted)}@media(max-width:600px){.examples-list{grid-template-columns:1fr}.topic-nav{gap:6px}.topic-nav a{font-size:12px}}
