@import url('/theme.css');
* { box-sizing:border-box; }
html { background:var(--color-bg); color:var(--color-text); }
body { max-width:880px; margin:auto; padding:24px; background:var(--color-bg); color:var(--color-text); font:16px/1.7 var(--font-sans); }
h1,h2,h3 { color:var(--color-text); line-height:1.25; }h1 { font:400 clamp(30px,5vw,44px)/1.15 var(--font-editorial); letter-spacing:-1px; margin:36px 0 20px; }h2 { font-family:var(--font-editorial); font-weight:400; font-size:25px; margin-top:30px; }h3 {font-weight:600;}
a {color:var(--color-accent);text-underline-offset:3px;}a:hover{text-decoration:underline;}
nav { display:flex; align-items:center; flex-wrap:wrap; gap:8px 24px; border-bottom:1px solid var(--color-border); padding:0 0 18px; margin-bottom:30px; font-size:14px; }nav a {min-height:44px;display:inline-flex;align-items:center;text-decoration:none;}nav a:first-child {font-weight:700;color:var(--color-text);}nav .sep{display:none;}
footer {margin-top:48px;padding:20px 0;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:13px;}footer a {line-height:2;}
.subtitle,.puzzle-id {color:var(--color-text-muted);}.step,.card,.mini,.faq-item,.tip,.callout {background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);border-radius:12px;}.step,.card,.tip,.callout{padding:18px;}.mini{padding:0;background:transparent;}.grid{color:var(--color-clue);}.cell{background:var(--color-surface);color:var(--color-clue);}.cards{gap:18px;}
a:focus-visible,button:focus-visible {outline:2px solid var(--color-accent);outline-offset:3px;}
@media(max-width:520px){body{padding:16px;}nav{gap:4px 16px;}h1{margin-top:25px;}}
