:root{--text-color:#1e293b;--text-muted:#64748b;--card-bg:#ffffff;--card-border:#e2e8f0;--nt-color:#8B5CF6;--nf-color:#10B981;--sj-color:#3B82F6;--sp-color:#F59E0B}body{color:var(--text-color)}.custom-card{background:var(--card-bg);border-color:var(--card-border)}.btn-answer{background:var(--card-bg);border-color:var(--card-border);color:var(--text-color);transition:.2s cubic-bezier(.4,0,.2,1)}.btn-answer:hover{background:rgba(79,70,229,.05);transform:translateY(-2px);box-shadow:0 4px 12px rgba(79,70,229,.1)}.btn-answer:active{transform:scale(.98) translateY(0);box-shadow:none}.btn-answer.active{background:rgba(79,70,229,.1);transform:scale(.98);box-shadow:0 0 0 3px rgba(79,70,229,.2)}.encourage-toast{background:linear-gradient(135deg,#4f46e5,#7c3aed);padding:1rem 2rem;font-size:1rem;font-weight:700;z-index:9999;box-shadow:0 8px 24px rgba(79,70,229,.35)}.type-grid-preview{max-width:320px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;padding:1rem}.type-mini-card{text-align:center;padding:.5rem .25rem;border-radius:.5rem;font-size:.625rem;font-weight:700;letter-spacing:.02em;color:#fff;opacity:.85}.type-mini-card.nt{background:var(--nt-color)}.type-mini-card.nf{background:var(--nf-color)}.type-mini-card.sj{background:var(--sj-color)}.type-mini-card.sp{background:var(--sp-color)}.type-badge-area{text-align:center;margin-bottom:1.5rem}.type-code-badge{display:inline-block;font-size:2.5rem;font-weight:900;letter-spacing:.08em;padding:.5rem 1.5rem;border-radius:1rem;color:#fff;margin-bottom:.5rem;box-shadow:0 10px 25px -5px rgba(0,0,0,.2);position:relative;overflow:hidden}.type-code-badge::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right,rgba(255,255,255,0) 0,rgba(255,255,255,.3) 50%,rgba(255,255,255,0) 100%);transform:skewX(-25deg);animation:3s infinite shine}@keyframes shine{0%{left:-100%}100%,20%{left:200%}}.type-code-badge.nt{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.type-code-badge.nf{background:linear-gradient(135deg,#10b981,#059669)}.type-code-badge.sj{background:linear-gradient(135deg,#3b82f6,#2563eb)}.type-code-badge.sp{background:linear-gradient(135deg,#f59e0b,#d97706)}.type-identity-badge{display:inline-block;font-size:1rem;font-weight:600;padding:.125rem .5rem;border-radius:.375rem;margin-left:.25rem;vertical-align:super;color:#fff;opacity:.8}.type-nickname{font-size:1.5rem;font-weight:800;margin-bottom:.25rem}.type-group-label{font-size:.875rem;font-weight:600;color:#64748b;margin-bottom:.25rem}.type-emoji{font-size:2rem;margin-bottom:.5rem}.type-summary{font-size:.9375rem;color:#475569;line-height:1.6;max-width:500px;margin:0 auto 1.5rem}.dimension-bars{margin-bottom:2rem}.dimension-bar-wrap{margin-bottom:1rem}.dimension-labels{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.dimension-label-left{font-size:.8125rem;font-weight:700}.dimension-label-right{font-size:.8125rem;font-weight:500;color:#94a3b8}.dimension-label-left.active-dim{color:var(--primary-color)}.dimension-label-right.active-dim{color:var(--primary-color);font-weight:700}.dimension-bar{height:.625rem;background:#e2e8f0;border-radius:1rem;overflow:hidden;position:relative}.dimension-fill{height:100%;border-radius:1rem;transition:width .8s;background:var(--primary-color)}.dimension-fill.nt{background:var(--nt-color)}.dimension-fill.nf{background:var(--nf-color)}.dimension-fill.sj{background:var(--sj-color)}.dimension-fill.sp{background:var(--sp-color)}.dimension-fill.default-fill{background:var(--primary-color)}.dimension-tooltip{display:flex;justify-content:space-between;margin-top:.25rem;font-size:.6875rem;color:#94a3b8;line-height:1.4}.dimension-tooltip span{max-width:48%}.lucky-item-section{margin-top:-.5rem}.lucky-item-box{padding:0 .5rem}.lucky-item-row{display:flex;gap:.75rem}.lucky-card{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem .75rem;border-radius:1rem;background:var(--card-bg);border:1px solid var(--card-border);box-shadow:0 2px 8px rgba(0,0,0,.04);animation:.4s lucky-pop}@keyframes lucky-pop{0%{opacity:0;transform:scale(.9) translateY(8px)}100%{opacity:1;transform:scale(1) translateY(0)}}.lucky-card-icon{width:2.25rem;height:2.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff}.lucky-card-icon svg{width:1.125rem;height:1.125rem}.lucky-card-label{font-size:.6875rem;font-weight:700;color:#f59e0b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.lucky-card-value{font-size:.9375rem;font-weight:600;color:var(--text-color);line-height:1.4}@media (prefers-color-scheme:dark){:root{--primary-color:#818cf8;--secondary-color:#a5b4fc;--bg-color:#0f172a;--text-color:#f8fafc;--text-muted:#94a3b8;--card-bg:#1e293b;--card-border:#334155;--nt-color:#a78bfa;--nf-color:#34d399;--sj-color:#60a5fa;--sp-color:#fbbf24}.lucky-card-label{color:#fbbf24}}.preview-item{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(99,102,241,.1)}.preview-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.preview-label{font-size:.75rem;font-weight:700;color:#4f46e5;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.03em}.preview-teaser{font-size:.9375rem;color:#64748b;margin-bottom:0;line-height:1.5}@keyframes bounce-subtle{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.loading-step.active{animation:1s ease-in-out infinite bounce-subtle}.ai-markdown.typing-effect{opacity:1}.ai-overlay-card{background:var(--card-bg)}.ai-thank-you-title{color:var(--text-color)}.ai-thank-you-sub,.pay-product-brand{color:var(--text-muted)}.pay-product-name{color:var(--text-color)}.pay-product-price-label,.pay-section-label{color:var(--text-muted)}.pay-method-btn{border-color:var(--card-border);background:var(--card-bg);color:var(--text-color)}.pay-method-name{color:var(--text-color)}.pay-method-sub{color:var(--text-muted)}@media (prefers-color-scheme:dark){.ai-progress-bar{background:#374151}}@keyframes thank-you-enter{from{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width:767px){.type-code-badge{font-size:2rem}.type-nickname{font-size:1.25rem}.type-grid-preview{gap:.375rem}.type-mini-card{font-size:.5625rem;padding:.375rem .125rem}}