@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg-deep:#050507;--bg-primary:#0a0a0f;--bg-secondary:#111118;--bg-tertiary:#18181f;--bg-card:#12121a;--bg-card-hover:#1a1a24;--bg-elevated:#1e1e28;--border-subtle:#ffffff0a;--border-default:#ffffff12;--border-hover:#ffffff1f;--border-active:#7c3aed66;--text-primary:#eeeef0;--text-secondary:#8b8b9e;--text-muted:#55556a;--text-accent:#a78bfa;--accent-300:#c4b5fd;--accent-400:#a78bfa;--accent-500:#8b5cf6;--accent-600:#7c3aed;--accent-700:#6d28d9;--emerald-400:#34d399;--emerald-500:#10b981;--amber-400:#fbbf24;--success:#34d399;--warning:#fbbf24;--error:#f87171;--gradient-accent:linear-gradient(135deg, #7c3aed 0%, #a78bfa 100%);--gradient-hero:linear-gradient(135deg, #7c3aed 0%, #c084fc 50%, #7c3aed 100%);--gradient-card:linear-gradient(135deg, #7c3aed0f, #a78bfa08);--gradient-answer:linear-gradient(135deg, #7c3aed1a, #a78bfa0f);--gradient-border:linear-gradient(135deg, #7c3aed4d, #a78bfa26);--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 8px 30px #0009;--shadow-glow:0 0 30px #7c3aed14;--shadow-glow-strong:0 0 50px #7c3aed26;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--max-width:1180px;--header-height:64px;--transition:.15s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--bg-deep);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6;overflow-x:hidden}a{color:var(--accent-400);transition:color var(--transition);text-decoration:none}a:hover{color:var(--accent-300)}a:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px;border-radius:4px}img{max-width:100%;height:auto;display:block}button{cursor:pointer;font-family:inherit}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.025em;font-weight:700;line-height:1.2}h1{font-size:clamp(2rem,5vw,3rem)}h2{font-size:clamp(1.5rem,4vw,2rem)}h3{font-size:clamp(1.15rem,3vw,1.4rem)}p{color:var(--text-secondary);line-height:1.75}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1.25rem}@media (width>=768px){.container{padding:0 2rem}}.site-header{z-index:100;-webkit-backdrop-filter:blur(24px)saturate(180%);border-bottom:1px solid var(--border-subtle);background:#050507d9;position:sticky;top:0}.header-inner{height:var(--header-height);justify-content:space-between;align-items:center;display:flex}.site-logo{color:var(--text-primary);letter-spacing:-.025em;align-items:center;gap:.7rem;font-size:1.1rem;font-weight:800;text-decoration:none;display:flex}.site-logo:hover{opacity:.9;color:var(--text-primary)}.logo-icon{background:var(--gradient-accent);border-radius:var(--radius-sm);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.95rem;font-weight:900;display:flex}.nav-links{gap:.15rem;display:flex}.nav-links a{border-radius:var(--radius-sm);color:var(--text-muted);transition:all var(--transition);padding:.45rem .8rem;font-size:.85rem;font-weight:500;text-decoration:none}.nav-links a:hover{color:var(--text-primary);background:#ffffff0a}.nav-links a.active{color:var(--accent-400);background:#7c3aed14;font-weight:600}@media (width<=640px){.nav-links a{padding:.35rem .55rem;font-size:.8rem}.logo-text{font-size:.95rem}}.site-footer{border-top:1px solid var(--border-subtle);background:var(--bg-primary);margin-top:auto;padding:3.5rem 0 2rem}.footer-inner{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=768px){.footer-inner{grid-template-columns:2fr 1fr 1fr 1fr}}.footer-brand p{color:var(--text-muted);margin-top:.75rem;font-size:.85rem;line-height:1.7}.footer-section h4{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.875rem;font-size:.7rem;font-weight:600}.footer-section a{color:var(--text-secondary);transition:all var(--transition);padding:.25rem 0;font-size:.85rem;display:block}.footer-section a:hover{color:var(--accent-400);padding-left:4px}.footer-bottom{border-top:1px solid var(--border-subtle);text-align:center;color:var(--text-muted);margin-top:2rem;padding-top:1.25rem;font-size:.8rem}.card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:all var(--transition);padding:1.5rem}.card:hover{border-color:var(--border-hover)}.card-interactive{cursor:pointer;color:inherit;text-decoration:none;display:block}.card-interactive:hover{color:inherit;border-color:var(--border-active);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.hero{text-align:center;padding:4.5rem 0 3rem;position:relative}.hero:before{content:"";pointer-events:none;background:radial-gradient(#7c3aed1f 0%,#0000 60%);width:800px;height:600px;position:absolute;top:-40%;left:50%;transform:translate(-50%)}.hero>*{z-index:1;position:relative}.hero h1{margin-bottom:1rem}.hero h1 span{background:var(--gradient-hero);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--text-secondary);max-width:580px;margin:0 auto 2rem;font-size:1.1rem;line-height:1.7}.btn{border-radius:var(--radius-sm);transition:all var(--transition);letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:.5rem;min-height:40px;padding:.65rem 1.4rem;font-size:.875rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}.btn-primary{background:var(--gradient-accent);color:#fff;box-shadow:0 2px 12px #7c3aed40}.btn-primary:hover{color:#fff;transform:translateY(-1px);box-shadow:0 4px 20px #7c3aed66}.btn-secondary{color:var(--accent-300);border:1px solid var(--border-default);background:#7c3aed14}.btn-secondary:hover{border-color:var(--border-hover);color:var(--accent-300);background:#7c3aed26}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{color:var(--text-primary);background:#ffffff0a}.btn-sm{min-height:32px;padding:.35rem .8rem;font-size:.8rem}.btn-lg{min-height:46px;padding:.8rem 1.875rem;font-size:.95rem}.badge{border-radius:var(--radius-full);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:.2rem .6rem;font-size:.7rem;font-weight:700;display:inline-flex}.badge-primary{color:var(--accent-300);background:#7c3aed1f;border:1px solid #7c3aed33}.badge-success{color:var(--success);background:#34d3991a;border:1px solid #34d39933}.clues-list{flex-direction:column;gap:.6rem;list-style:none;display:flex}.clue-item{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:all var(--transition);align-items:flex-start;gap:.875rem;padding:.875rem 1.125rem;display:flex}.clue-item:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.clue-number{background:var(--gradient-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.775rem;font-weight:700;display:flex}.clue-text{color:var(--text-primary);padding-top:.2rem;font-size:.95rem;line-height:1.55}.answer-reveal-wrapper{margin:1.75rem 0}.answer-reveal-btn{background:var(--gradient-answer);border:1px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;width:100%;transition:all var(--transition);text-align:center;padding:1.75rem}.answer-reveal-btn:hover{border-color:var(--border-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.answer-reveal-btn .reveal-icon{width:44px;height:44px;color:var(--accent-400);transition:all var(--transition);background:#7c3aed1f;border:1px solid #7c3aed33;border-radius:50%;justify-content:center;align-items:center;margin:0 auto .6rem;display:inline-flex}.answer-reveal-btn:hover .reveal-icon{background:#7c3aed33;border-color:#7c3aed59}.answer-reveal-btn .reveal-text{color:var(--accent-300);font-size:.95rem;font-weight:600}.answer-reveal-btn .reveal-hint{color:var(--text-muted);margin-top:.3rem;font-size:.8rem}.answer-card{background:var(--gradient-answer);border-radius:var(--radius-lg);text-align:center;border:1px solid #7c3aed40;padding:1.75rem;position:relative}.answer-word{background:var(--gradient-hero);-webkit-text-fill-color:transparent;letter-spacing:-.03em;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,7vw,3.5rem);font-weight:900;position:relative}.answer-label{text-transform:uppercase;letter-spacing:.12em;color:var(--accent-400);margin-bottom:.375rem;font-size:.7rem;font-weight:700}.explanation-content h2{color:var(--text-primary);margin:1.75rem 0 .875rem;font-size:1.4rem}.explanation-content h3{color:var(--text-primary);margin:1.5rem 0 .625rem;font-size:1.2rem}.explanation-content p{color:var(--text-secondary);margin:.875rem 0;line-height:1.85}.explanation-content strong{color:var(--accent-300);font-weight:600}.explanation-content ul,.explanation-content ol{margin:.875rem 0;padding-left:1.5rem}.explanation-content li{color:var(--text-secondary);margin:.4rem 0;line-height:1.75}.explanation-content a{color:var(--accent-400);text-underline-offset:2px;-webkit-text-decoration:underline #7c3aed4d;text-decoration:underline #7c3aed4d}.solutions-grid{flex-wrap:wrap;gap:.4rem;display:flex}.solution-tag{border:1px solid var(--border-default);border-radius:var(--radius-full);color:var(--text-secondary);transition:all var(--transition);background:#7c3aed0d;padding:.35rem .8rem;font-size:.8rem}.solution-tag:hover{border-color:var(--border-hover);color:var(--accent-300);background:#7c3aed1a}.calendar{max-width:460px;margin:0 auto}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.5rem 0;display:flex}.calendar-header h3{font-size:1.05rem;font-weight:600}.calendar-nav-btn{border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-card);width:38px;height:38px;color:var(--text-primary);transition:all var(--transition);justify-content:center;align-items:center;display:flex}.calendar-nav-btn:hover{border-color:var(--border-hover);color:var(--accent-400);background:#7c3aed14}.calendar-nav-btn:disabled{opacity:.25;cursor:not-allowed}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.calendar-day-label{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:.4rem 0;font-size:.65rem;font-weight:700}.calendar-day{aspect-ratio:1;border-radius:var(--radius-sm);color:var(--text-muted);transition:all var(--transition);justify-content:center;align-items:center;font-size:.8rem;font-weight:500;display:flex;position:relative}.calendar-day.empty{pointer-events:none}.calendar-day.has-puzzle{cursor:pointer;color:var(--text-primary);border:1px solid var(--border-default);background:#7c3aed0d;font-weight:600}.calendar-day.has-puzzle:hover{border-color:var(--border-hover);color:var(--accent-400);background:#7c3aed1f}.calendar-day.has-puzzle.selected{background:var(--gradient-accent);color:#fff;border-color:#0000;font-weight:700;box-shadow:0 0 18px #7c3aed4d}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--accent-500)}.calendar-day.other-month{color:var(--text-muted);opacity:.3}.faq-section{padding:3rem 0;position:relative}.faq-section:before{content:"";pointer-events:none;background:radial-gradient(#7c3aed0f 0%,#0000 70%);width:500px;height:300px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.faq-list{z-index:1;flex-direction:column;gap:.5rem;max-width:760px;margin:0 auto;display:flex;position:relative}.faq-item{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:all var(--transition);overflow:hidden}.faq-item:hover{border-color:var(--border-hover)}.faq-item.open{box-shadow:var(--shadow-glow);border-color:#7c3aed40}.faq-question{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;transition:color var(--transition);background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;font-size:.925rem;font-weight:600;line-height:1.45;display:flex}.faq-question:hover{color:var(--accent-300)}.faq-chevron{width:18px;height:18px;transition:transform var(--transition);color:var(--text-muted);flex-shrink:0}.faq-item.open .faq-chevron{color:var(--accent-400);transform:rotate(180deg)}.faq-answer{max-height:0;transition:max-height .25s,padding .25s;overflow:hidden}.faq-item.open .faq-answer{max-height:400px;padding:0 1.25rem 1.125rem}.faq-answer p{color:var(--text-secondary);font-size:.9rem;line-height:1.75}.breadcrumbs{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.4rem;padding:.875rem 0;font-size:.8rem;display:flex}.breadcrumbs a{color:var(--text-secondary);transition:color var(--transition);text-decoration:none}.breadcrumbs a:hover{color:var(--accent-400)}.breadcrumbs .separator{color:var(--text-muted)}.breadcrumbs .current{color:var(--text-primary);font-weight:500}.section{padding:2.5rem 0;position:relative}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.625rem;margin-bottom:1.5rem;display:flex}.section-title{letter-spacing:-.02em;font-size:1.4rem;font-weight:700}.grid-2{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=768px){.grid-2{grid-template-columns:1fr 1fr}}.grid-3{grid-template-columns:1fr;gap:.875rem;display:grid}@media (width>=640px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.grid-3{grid-template-columns:repeat(3,1fr)}}.puzzle-number{color:var(--accent-400);border-radius:var(--radius-full);letter-spacing:.03em;background:#7c3aed14;border:1px solid #7c3aed1f;padding:.125rem .5rem;font-size:.675rem;font-weight:700}.feature-grid{grid-template-columns:1fr;gap:.875rem;display:grid}@media (width>=640px){.feature-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.feature-grid{grid-template-columns:repeat(3,1fr)}}.feature-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:all var(--transition);padding:1.375rem}.feature-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.feature-icon{border-radius:var(--radius-md);width:42px;height:42px;color:var(--accent-400);background:#7c3aed14;border:1px solid #7c3aed1f;justify-content:center;align-items:center;margin-bottom:.875rem;display:flex}.feature-card h3{letter-spacing:-.01em;margin-bottom:.375rem;font-size:.95rem}.feature-card p{color:var(--text-muted);font-size:.85rem;line-height:1.6}.skeleton{background:linear-gradient(90deg, var(--bg-tertiary) 25%, #7c3aed0a 50%, var(--bg-tertiary) 75%);border-radius:var(--radius-sm);background-size:200% 100%}.loading-spinner{border:3px solid var(--border-default);border-top-color:var(--accent-500);border-radius:50%;width:26px;height:26px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.error-state{text-align:center;padding:2.5rem 1rem}.error-state h3{color:var(--error);margin-bottom:.625rem}.error-state p{color:var(--text-secondary);margin-bottom:1.25rem}.page-content{min-height:calc(100vh - var(--header-height) - 280px)}.article-layout{grid-template-columns:1fr;gap:1.75rem;display:grid}@media (width>=1024px){.article-layout{grid-template-columns:1fr 280px}}.sidebar{order:2}.article-main{order:1}@media (width>=1024px){.sidebar{top:calc(var(--header-height) + 1.5rem);order:2;align-self:start;position:sticky}}.sidebar-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:1.125rem}.sidebar-card h3{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);letter-spacing:-.01em;margin-bottom:.75rem;padding-bottom:.5rem;font-size:.85rem;font-weight:600}.content-page{max-width:760px;margin:0 auto;padding:2.5rem 0}.content-page h1{margin-bottom:.625rem}.content-page .page-desc{color:var(--text-muted);margin-bottom:2rem;font-size:1.05rem;line-height:1.7}.content-page h2{margin:2.25rem 0 .875rem;font-size:1.35rem}.content-page h3{margin:1.5rem 0 .625rem;font-size:1.1rem}.content-page p{margin:.875rem 0;line-height:1.85}.content-page ul,.content-page ol{margin:.875rem 0;padding-left:1.5rem}.content-page li{color:var(--text-secondary);margin:.4rem 0;line-height:1.75}.content-page strong{color:var(--accent-300)}.content-page a{color:var(--accent-400);text-underline-offset:2px;-webkit-text-decoration:underline #7c3aed4d;text-decoration:underline #7c3aed4d}.contact-form{flex-direction:column;gap:1.125rem;max-width:540px;display:flex}.form-group label{color:var(--text-secondary);letter-spacing:.01em;margin-bottom:.3rem;font-size:.8rem;font-weight:600;display:block}.form-group input,.form-group textarea{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:all var(--transition);outline:none;padding:.7rem .875rem;font-size:.925rem}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-500);box-shadow:0 0 0 3px #7c3aed1f}.form-group textarea{resize:vertical;min-height:130px}.section-divider{background:linear-gradient(90deg, transparent, var(--border-default), transparent);border:none;height:1px;margin:0}::-webkit-scrollbar{width:7px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-center{text-align:center}.text-primary{color:var(--accent-400)}.text-secondary{color:var(--text-secondary)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.gap-2{gap:1rem}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.flex-wrap{flex-wrap:wrap}
