:root,html[data-theme=dark]{--color-bg:#0b0f19;--color-bg-elevated:#141a2e;--color-gold:#f5c563;--color-gold-dim:#d4a853;--color-violet:#c084fc;--color-violet-dim:#a855f7;--color-text:#e8e4dc;--color-text-muted:#9a958a;--color-border:#f5c56326;--color-surface:#ffffff0a;--color-surface-strong:#ffffff0f;--color-glass:#ffffff0d;--color-error-bg:#c8505026;--color-error-border:#c850504d;--color-error-text:#e8a0a0;--color-cta-text:#0b0f19;--color-overlay:#0b0f19eb;--color-share-bg:#111;--color-share-text:#fff;--color-share-border:#fff3;--color-affiliate-cta:linear-gradient(135deg, #2a1a4a, #1a1040);--color-glow-top:#a855f726;--color-glow-bottom:#00e5a31f;--color-track:#ffffff14;--color-hp:#00e5a3;--color-fatigue:#e8a87c;--color-fortune:#c084fc;--radius-md:8px;--radius-lg:16px;--font-display:var(--font-shippori), "Shippori Mincho", serif;--font-body:var(--font-noto), "Noto Sans JP", sans-serif;--max-width:480px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=light]{--color-bg:#f3efe6;--color-bg-elevated:#fffaf2;--color-gold:#9a6b1f;--color-gold-dim:#7a5720;--color-violet:#7c3aed;--color-violet-dim:#6d28d9;--color-text:#1a2433;--color-text-muted:#5c6570;--color-border:#7c3aed2e;--color-surface:#1a24330a;--color-surface-strong:#1a24330f;--color-glass:#ffffffb3;--color-error-bg:#b43c3c1a;--color-error-border:#b43c3c40;--color-error-text:#a04040;--color-cta-text:#fffaf2;--color-overlay:#f3efe6f0;--color-share-bg:#1a2433;--color-share-text:#fff;--color-share-border:#1a24334d;--color-affiliate-cta:linear-gradient(135deg, #4a2a6b, #2a1a4a);--color-glow-top:#7c3aed1f;--color-glow-bottom:#2dd4bf1a;--color-track:#1a24331a;--color-hp:#2dd4bf;--color-fatigue:#c4783a;--color-fortune:#7c3aed;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);background-image:radial-gradient(ellipse 80% 50% at 50% -20%, var(--color-glow-top), transparent), radial-gradient(ellipse 60% 40% at 100% 100%, var(--color-glow-bottom), transparent);min-height:100dvh;line-height:1.6;transition:background-color .4s,color .4s}a{color:inherit}button{font-family:inherit}main{flex-direction:column;min-height:100dvh;display:flex}.container{width:100%;max-width:var(--max-width);flex-direction:column;flex:1;margin:0 auto;padding:1.5rem 1.25rem 2rem;display:flex}.brand{font-family:var(--font-display);letter-spacing:.06em;color:var(--color-gold);text-align:center;font-size:clamp(2.5rem,12vw,3.5rem);font-weight:700;line-height:1.1;animation:.8s ease-out brandReveal}.brandCompact{font-size:clamp(1.75rem,8vw,2.25rem)}.brandSub{letter-spacing:.2em;color:var(--color-text-muted);margin-top:.25rem;font-size:.35em;font-weight:500;display:block}@keyframes brandReveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.headline{font-family:var(--font-display);text-align:center;margin:1.25rem 0 .5rem;font-size:1.25rem;font-weight:600;line-height:1.5}.subheadline{color:var(--color-text-muted);text-align:center;margin-bottom:1.5rem;font-size:.875rem;line-height:1.7}.ctaButton{background:linear-gradient(135deg, var(--color-gold), #b8922e);border-radius:var(--radius-md);width:100%;color:var(--color-cta-text);cursor:pointer;border:none;justify-content:center;align-items:center;margin-top:1.25rem;padding:1rem 1.5rem;font-size:1.0625rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:flex}html[data-theme=light] .ctaButton{background:linear-gradient(135deg,#b8922e,#8a6a1a)}.ctaButton:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #d4a85359}.ctaButton:disabled{opacity:.5;cursor:not-allowed}.errorMessage{background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-md);color:var(--color-error-text);text-align:center;margin-top:1rem;padding:.75rem 1rem;font-size:.875rem}.retryLink{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-gold);justify-content:center;align-items:center;margin-top:1.5rem;padding:.875rem;font-weight:600;text-decoration:none;transition:border-color .2s;display:inline-flex}.retryLink:hover{border-color:var(--color-gold)}.butlerMessage{background:var(--color-surface);border-left:3px solid var(--color-gold);color:var(--color-text-muted);margin-top:1.5rem;padding:1.25rem;font-size:.9375rem;line-height:1.8}.butlerMessage strong{color:var(--color-gold);font-weight:600}.commentBlock{color:var(--color-text-muted);margin-top:1rem;font-size:.9375rem;line-height:1.8}.commentLabel{color:var(--color-gold-dim);letter-spacing:.08em;margin-bottom:.25rem;font-size:.75rem}.demoNote{color:var(--color-text-muted);text-align:center;margin-top:.75rem;font-size:.75rem}.modeTabs{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);gap:.5rem;margin-bottom:1.25rem;padding:.25rem;display:flex}.modeTab{border-radius:calc(var(--radius-lg) - 4px);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex:1;padding:.75rem .5rem;font-size:.8125rem;font-weight:600;transition:background .2s,color .2s,box-shadow .2s}.modeTabActive{background:var(--color-glass);color:var(--color-gold);box-shadow:0 4px 16px color-mix(in srgb, var(--color-violet) 12%, transparent)}.modeTab:hover:not(.modeTabActive):not(:disabled){color:var(--color-text)}.modeTab:disabled{opacity:.5;cursor:not-allowed}.tapFeedback:active:not(:disabled){transform:scale(.97)}.resultHero{background:var(--color-glass);border:1px solid var(--color-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);box-shadow:0 12px 40px color-mix(in srgb, var(--color-violet) 10%, transparent);margin:1rem 0;padding:1.5rem}.resultHeroScores{text-align:center;grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.resultHeroItem{flex-direction:column;gap:.25rem;display:flex}.resultHeroLabel{letter-spacing:.06em;color:var(--color-text-muted);font-size:.6875rem}.resultHeroValue{font-family:var(--font-display);font-size:1.75rem;font-weight:700;line-height:1}.resultHeroValueFatigue{color:var(--color-fatigue)}.resultHeroValueHp{color:var(--color-hp)}.resultHeroValueFortune{color:var(--color-fortune)}.resultHeroUnit{color:var(--color-text-muted);font-size:.75rem}.prescriptionEmphasis{box-shadow:0 0 0 1px color-mix(in srgb, var(--color-gold) 30%, transparent), 0 12px 40px color-mix(in srgb, var(--color-gold) 15%, transparent);position:relative;border-color:var(--color-gold)!important}.prescriptionEmphasis:before{content:"執事おすすめ";background:var(--color-gold);color:var(--color-cta-text);letter-spacing:.08em;border-radius:4px;padding:.125rem .5rem;font-size:.625rem;font-weight:700;position:absolute;top:-.625rem;left:1rem}.articlesLink{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-violet);justify-content:center;align-items:center;margin-top:1rem;padding:.875rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:border-color .2s;display:inline-flex}.trustBadges{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.trustBadge{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-gold);letter-spacing:.04em;border-radius:9999px;align-items:center;padding:.25rem .625rem;font-size:.6875rem;font-weight:500;display:inline-flex}.homeArticlesSection{border-top:1px solid var(--color-border);margin-top:2rem;padding-top:1.5rem}.homeArticlesHeader{justify-content:space-between;align-items:baseline;margin-bottom:.75rem;display:flex}.homeArticlesTitle{font-family:var(--font-display);color:var(--color-gold);font-size:1rem;font-weight:600}.homeArticlesMore{color:var(--color-violet);font-size:.75rem;text-decoration:none}.homeArticlesMore:hover{text-decoration:underline}.homeArticlesList{flex-direction:column;gap:.75rem;display:flex}.homeArticleCard{background:var(--color-glass);border:1px solid var(--color-border);border-radius:var(--radius-md);color:inherit;padding:.875rem 1rem;text-decoration:none;transition:border-color .2s,transform .2s;display:block}.homeArticleCard:hover{border-color:var(--color-violet);transform:translateY(-1px)}.homeArticleCardTitle{margin-bottom:.25rem;font-size:.875rem;font-weight:600;line-height:1.4}.homeArticleCardDesc{color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;line-height:1.5;display:-webkit-box;overflow:hidden}
