
:root {
  --ink:#172033; --muted:#647089; --paper:#f6f8fb; --card:#fff; --line:#dfe5ee;
  --navy:#14213d; --navy2:#1d3157; --accent:#a51c30; --accent-soft:#f7eaed;
  --blue:#315f9c; --blue-soft:#eaf0f8; --green:#2f7d5a; --green-soft:#eaf5ef;
  --orange:#b86621; --orange-soft:#fff2e8; --shadow:0 14px 36px rgba(20,33,61,.08);
  --radius:18px; --content:1180px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-underline-offset:.16em} a:hover{color:var(--accent)}
.container{width:min(calc(100% - 32px),var(--content));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(20,33,61,.97);color:#fff;border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px)}
.nav-shell{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#fff;color:var(--navy);font-size:.86rem}.site-nav{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.site-nav a{color:rgba(255,255,255,.82);text-decoration:none;font-size:.9rem;font-weight:650;padding:8px 10px;border-radius:8px}.site-nav a:hover,.site-nav a.active{background:rgba(255,255,255,.1);color:#fff}
.hero{background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;padding:44px 0 40px}.hero .kicker{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;font-size:.73rem;font-weight:850;color:#e4c3c9}.hero h1{margin:0;font-size:clamp(2rem,4.8vw,3.6rem);letter-spacing:-.045em;line-height:1.03}.hero p{max-width:780px;color:rgba(255,255,255,.82);font-size:1.06rem;margin:16px 0 0}.pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.pill{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);padding:7px 10px;border-radius:999px;font-size:.84rem;font-weight:650}
main{padding:38px 0 72px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px rgba(20,33,61,.045)}.card{padding:24px}.card h2,.panel h2,.panel h3{color:var(--navy);margin-top:0}.card h2{font-size:1.28rem;margin-bottom:8px}.card p{color:var(--muted);margin:0 0 14px}.card .meta{font-size:.8rem;font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.card-link{display:inline-flex;text-decoration:none;background:var(--navy);color:#fff;padding:10px 14px;border-radius:10px;font-weight:750}.card-link:hover{color:#fff;background:var(--navy2)}
.activity-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:20px;align-items:start}.panel{padding:22px}.canvas-wrap{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.canvas-wrap canvas{display:block;width:100%;height:auto;touch-action:none}.controls{display:grid;gap:16px}.control{display:grid;gap:7px}.control label{font-weight:750;color:var(--navy)}.value{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:800}.control input[type=range]{width:100%;accent-color:var(--accent)}.control select,.control input[type=number]{width:100%;font:inherit;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}
.button-row{display:flex;gap:9px;flex-wrap:wrap}.btn{appearance:none;border:1px solid var(--line);background:#fff;color:var(--navy);font:inherit;font-weight:750;padding:10px 13px;border-radius:10px;cursor:pointer}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn:hover{filter:brightness(.98)}.btn:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(165,28,48,.22);outline-offset:2px}
.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px}.stat .label{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}.stat .num{display:block;margin-top:3px;font-size:1.25rem;font-weight:850;color:var(--navy);font-variant-numeric:tabular-nums}
.prompt{margin-top:16px;border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 12px 12px 0;padding:14px 15px}.prompt strong{color:var(--navy)}details.reveal{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 14px}details.reveal summary{cursor:pointer;font-weight:800;color:var(--navy);padding:12px 0}.reveal-body{padding:0 0 14px;color:var(--muted)}
.explain{margin-top:18px;padding:18px 20px;background:var(--blue-soft);border-radius:14px;color:#31435f}.explain h3{margin:0 0 7px;font-size:1rem;color:var(--navy)}.steps{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.step{font-size:.79rem;font-weight:800;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 10px}.step.active{background:var(--accent-soft);border-color:#e8bdc5;color:var(--accent)}
.legend{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0 0;font-size:.85rem;color:var(--muted)}.swatch{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px}.notice{background:var(--green-soft);border:1px solid #cfe7d9;border-radius:14px;padding:14px 16px;color:#315c48}.small{font-size:.86rem;color:var(--muted)}.footer{padding:24px 0 44px;color:var(--muted);font-size:.85rem}
.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{padding:8px 9px;border-bottom:1px solid var(--line);text-align:left}.table th{color:var(--navy)}
@media(max-width:850px){.activity-layout,.grid{grid-template-columns:1fr}.site-header{position:relative}.nav-shell{align-items:flex-start;padding:10px 0;flex-direction:column}.site-nav{justify-content:flex-start}.hero{padding-top:32px}.stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.container{width:min(calc(100% - 20px),var(--content))}.panel,.card{padding:16px}.stat-grid{grid-template-columns:1fr}.site-nav a{padding:7px 8px;font-size:.82rem}}

.example-note{padding:12px 14px;border:1px solid #f0d7bf;background:var(--orange-soft);border-radius:12px;color:#6b4827;font-size:.9rem}
.example-note strong{color:var(--navy)}
.preset-row{display:flex;gap:8px;flex-wrap:wrap}
.preset{appearance:none;border:1px solid var(--line);background:var(--paper);color:var(--navy);font:inherit;font-size:.82rem;font-weight:750;padding:8px 10px;border-radius:999px;cursor:pointer}
.preset:hover,.preset.active{border-color:#c9aab0;background:var(--accent-soft);color:var(--accent)}
.subtle-heading{margin:4px 0 -6px;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:850}
