:root{color-scheme:light;font-family:"Space Grotesk","Segoe UI",system-ui,sans-serif;--bg:#0f1115;--card:#161b24;--card-soft:#1f2634;--accent:#ffb703;--text:#ecf0f5;--muted:#9ea8ba}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#1d2942 0%,#0b0c11 60%);color:var(--text)}body,button,input,textarea{font:inherit}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;padding:4rem clamp(1.5rem,4vw,4rem)0;align-items:end}.hero__content h1{font-size:clamp(2.5rem,5vw,4rem);margin:0 0 0.75rem;line-height:1.1}.lede{color:var(--muted);max-width:45ch}.hero__actions{display:flex;gap:0.75rem;margin-top:1.5rem}.btn{background:var(--accent);color:#09111a;border:none;padding:0.85rem 1.5rem;border-radius:999px;text-decoration:none;font-weight:600;transition:transform 0.2s ease}.btn:hover{transform:translateY(-2px)}.btn--ghost{border:1px solid rgba(255,255,255,0.3);background:transparent;color:var(--text)}.reveal-btn{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.2);color:var(--text);border-radius:999px;padding:0.35rem 1rem;cursor:pointer;font-weight:600;letter-spacing:0.02em;text-transform:uppercase;font-size:0.75rem;transition:background 0.2s ease,border-color 0.2s ease}.reveal-btn:hover,.reveal-btn:focus-visible{background:rgba(255,255,255,0.15);border-color:var(--accent);outline:none}.reveal-target{margin-top:0.75rem;display:none !important}.reveal-target.is-visible{display:block !important}.question-body,.hint-body,.answer-body{margin-top:0.5rem}.mini-grid-wrapper,.kakurasu-wrapper{margin-top:0.75rem}.mini-grid,.kakurasu-grid{width:100%;border-collapse:collapse;margin:0 auto}.mini-grid td,.kakurasu-grid td,.kakurasu-grid th{border:1px solid rgba(255,255,255,0.15);text-align:center;padding:0.35rem;font-size:0.95rem}.mini-grid td.empty{color:rgba(255,255,255,0.35)}.mini-grid td.filled{font-weight:600}.kakurasu-grid .total{font-weight:600}.kakurasu-cell{width:2rem;height:2rem}.kakurasu-cell.lit{background:rgba(255,255,255,0.1)}.grid-label{font-size:0.85rem;color:var(--muted);margin-top:0.5rem;text-align:center}.hero__card{background:var(--card);padding:1.5rem;border-radius:1rem;border:1px solid rgba(255,255,255,0.1);backdrop-filter:blur(16px);display:block;color:inherit;text-decoration:none}.hero__card-question{font-size:1.1rem;line-height:1.6}.hero__card-answer{margin-top:1rem;color:var(--accent);font-weight:500}.hero__card-label{font-size:0.75rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted)}main{padding:clamp(2rem,6vw,4rem);display:flex;flex-direction:column;gap:3rem}.stack{background:rgba(255,255,255,0.01);border-radius:1.5rem;border:1px solid rgba(255,255,255,0.05);padding:clamp(1.5rem,4vw,2.5rem)}.section-heading h2{margin:0.2rem 0}.section-heading p:last-of-type{color:var(--muted);max-width:60ch}.card-grid{margin-top:1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem}.card{background:var(--card-soft);border-radius:1rem;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,0.08);transition:transform 0.2s ease,border-color 0.2s ease}.card h3{margin-top:0}.answer{margin-top:1rem;color:var(--muted);font-size:0.9rem}.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin-top:1.25rem}.split__card{background:var(--card);border-radius:1rem;padding:1.25rem;border:1px solid rgba(255,255,255,0.1)}.logic-grid{margin-top:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.logic-grid article{padding:1rem 1.25rem;border-radius:1rem;background:var(--card-soft);border:1px solid rgba(255,255,255,0.08)}.category-grid{margin-top:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.category-grid article{background:var(--card);border-radius:1rem;padding:1.25rem;border:1px solid rgba(255,255,255,0.08)}.card-link{display:block;color:inherit;text-decoration:none}.card-link:hover{transform:translateY(-4px);border-color:rgba(255,255,255,0.25)}.card-link.is-hidden{display:none}.category-filters{margin-top:1rem;display:flex;flex-wrap:wrap;gap:0.75rem}.category-filter{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.3);color:var(--text);padding:0.5rem 1rem;border-radius:999px;font-size:0.75rem;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;transition:border-color 0.2s ease,background 0.2s ease}.category-filter:hover,.category-filter:focus-visible{border-color:var(--accent);background:rgba(255,255,255,0.15);outline:none}.category-filter--active{border-color:var(--accent);background:var(--accent);color:#09111a;font-weight:600}.puzzle-page{padding:clamp(2rem,6vw,4rem);max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.puzzle-page header{background:var(--card);border-radius:1.5rem;padding:1.75rem;border:1px solid rgba(255,255,255,0.08)}.puzzle-page header h1{margin:0.4rem 0;font-size:clamp(2rem,4vw,3rem)}.puzzle-page article{background:var(--card-soft);border-radius:1.25rem;padding:1.5rem;border:1px solid rgba(255,255,255,0.08)}.puzzle-page h2{margin-top:0}.puzzle-page .back-link{display:inline-flex;align-items:center;gap:0.35rem;color:var(--accent);font-weight:600;text-decoration:none;letter-spacing:0.05em;text-transform:uppercase;font-size:0.75rem}.puzzle-page code{display:block;margin-top:0.5rem;padding:0.75rem 1rem;border-radius:0.75rem;background:rgba(255,255,255,0.05);font-family:\"Space Grotesk\",\"Courier New\",Courier,monospace}footer{margin:0;padding:2rem clamp(1.5rem,4vw,4rem);text-align:center;color:var(--muted);border-top:1px solid rgba(255,255,255,0.08)}.footer-links{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin:1rem 0}.footer-links a{color:var(--muted);text-decoration:none;font-size:0.9rem;transition:color 0.2s ease}.footer-links a:hover{color:var(--accent)}.catalog-pagination{margin-top:1.5rem;display:flex;flex-wrap:wrap;justify-content:center;gap:0.75rem}.pagination-link{border:1px solid rgba(255,255,255,0.3);padding:0.5rem 1rem;border-radius:999px;text-decoration:none;color:var(--text);background:rgba(255,255,255,0.02);transition:border-color 0.2s ease,transform 0.2s ease}.pagination-link:hover{border-color:var(--accent);transform:translateY(-2px)}.pagination-link--active{border-color:var(--accent);color:#09111a;background:var(--accent);font-weight:600}.eyebrow{text-transform:uppercase;letter-spacing:0.3em;font-size:0.75rem;color:var(--muted);margin:0}@media (max-width:600px){.hero__actions{flex-direction:column}}.puzzle-actions-row{display:flex;align-items:center;gap:1.5rem;margin-top:1rem;flex-wrap:wrap}.favorite-btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.15);border-radius:999px;color:rgba(255,255,255,0.8);cursor:pointer;font-size:0.9rem;transition:all 0.2s ease;position:relative}.favorite-btn:hover{background:rgba(251,191,36,0.1);border-color:rgba(251,191,36,0.3)}.favorite-btn.is-favorited{background:rgba(251,191,36,0.15);border-color:rgba(251,191,36,0.4);color:#fbbf24}.favorite-btn .favorite-icon{font-size:1.1rem;color:#fbbf24}.favorite-feedback{position:absolute;bottom:-2rem;left:50%;transform:translateX(-50%);padding:0.25rem 0.75rem;background:rgba(0,0,0,0.8);border-radius:0.25rem;font-size:0.75rem;white-space:nowrap;animation:fadeInOut 2s ease forwards}@keyframes fadeInOut{0%{opacity:0;transform:translateX(-50%)translateY(10px)}20%{opacity:1;transform:translateX(-50%)translateY(0)}80%{opacity:1}100%{opacity:0}}.share-buttons{display:flex;align-items:center;gap:0.75rem;margin-top:1rem}.share-label{font-size:0.85rem;color:rgba(255,255,255,0.5)}.share-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.15);color:rgba(255,255,255,0.8);text-decoration:none;font-size:0.9rem;font-weight:600;cursor:pointer;transition:all 0.2s ease}.share-btn:hover{transform:translateY(-2px)}.share-btn--twitter:hover{background:rgba(29,161,242,0.2);border-color:#1da1f2;color:#1da1f2}.share-btn--facebook:hover{background:rgba(24,119,242,0.2);border-color:#1877f2;color:#1877f2}.share-btn--copy:hover{background:rgba(139,92,246,0.2);border-color:#8b5cf6;color:#8b5cf6}.breadcrumb{margin-bottom:1.5rem}.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem;list-style:none;padding:0;margin:0;font-size:0.9rem}.breadcrumb li{display:flex;align-items:center}.breadcrumb li:not(:last-child)::after{content:'›';margin-left:0.5rem;color:rgba(255,255,255,0.3)}.breadcrumb a{color:rgba(255,255,255,0.6);text-decoration:none;transition:color 0.2s ease}.breadcrumb a:hover{color:#8b5cf6}.breadcrumb li[aria-current="page"]{color:rgba(255,255,255,0.9);font-weight:500}.puzzle-meta-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:0.5rem}.difficulty-badge{display:inline-flex;align-items:center;gap:0.25rem;padding:0.35rem 0.75rem;border-radius:999px;font-size:0.8rem;font-weight:600;letter-spacing:0.02em}.difficulty-easy{background:rgba(34,197,94,0.15);color:#22c55e;border:1px solid rgba(34,197,94,0.3)}.difficulty-medium{background:rgba(251,191,36,0.15);color:#fbbf24;border:1px solid rgba(251,191,36,0.3)}.difficulty-hard{background:rgba(239,68,68,0.15);color:#ef4444;border:1px solid rgba(239,68,68,0.3)}.difficulty-expert{background:rgba(139,92,246,0.15);color:#8b5cf6;border:1px solid rgba(139,92,246,0.3)}@media print{:root{--bg:#fff;--card:#fff;--text:#000;--muted:#333;--accent:#000}body{background:#fff !important;color:#000 !important;font-size:12pt;line-height:1.5}.hero__actions,.btn,.reveal-btn,.back-link,footer,.recommendations-section,.category-filters,.pagination-link,.catalog-pagination,#daily-challenge-container,.search-box,.filters{display:none !important}.reveal-target{display:block !important;opacity:1 !important;max-height:none !important}.reveal-target[aria-hidden="true"]{display:block !important}.card,.hero__card,.recommendation-card{background:#fff !important;border:1px solid #ccc !important;box-shadow:none !important;break-inside:avoid;page-break-inside:avoid}.puzzle-page{max-width:100% !important;padding:0 !important}.puzzle-page header{text-align:left;margin-bottom:1rem;border-bottom:2px solid #000;padding-bottom:1rem}.puzzle-page h1{font-size:18pt;margin:0.5rem 0}.puzzle-page article{margin:1.5rem 0;padding:0;border:none}.puzzle-page h2{font-size:14pt;margin:1rem 0 0.5rem;border-bottom:1px solid #ccc;padding-bottom:0.25rem}.question-body{font-size:12pt;background:#f5f5f5 !important;padding:1rem;border-left:3px solid #000}.answer,#*-answer{font-weight:bold;background:#f0f0f0;padding:0.5rem;margin-top:0.5rem}a[href]:after{content:"(" attr(href)")";font-size:0.8em;color:#666}a.card-link[href]:after,a.recommendation-card[href]:after,footer a[href]:after{content:none}h1,h2,h3{page-break-after:avoid}article{page-break-inside:avoid}@page{margin:2cm}}