*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#f0f4ff;--color-surface:#ffffff;--color-primary:#5b6cfc;--color-primary-dark:#3b4fcb;--color-accent:#a78bfa;--color-text:#1e1e2e;--color-muted:#6b7280;--color-border:#e5e7eb;--radius-card:20px;--radius-btn:14px;--shadow-card:0 4px 24px rgba(91,108,252,0.10);--shadow-btn:0 2px 10px rgba(91,108,252,0.20)}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,Yu Gothic,sans-serif;background:linear-gradient(135deg,#e8ecff,#f3e8ff);min-height:100dvh;color:var(--color-text);line-height:1.6;padding-bottom:env(safe-area-inset-bottom,0)}.main-container{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:24px 16px}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.fade-in{animation:fadeIn .28s ease both}.fade-out{animation:fadeOut .18s ease both;pointer-events:none}.start-wrapper{width:100%;max-width:480px;padding-top:12px}.start-card{background:var(--color-surface);border-radius:var(--radius-card);padding:36px 28px 32px;box-shadow:var(--shadow-card);text-align:center}.start-badge{display:inline-block;background:linear-gradient(135deg,#5b6cfc,#a78bfa);color:#fff;font-size:.78rem;font-weight:700;padding:4px 14px;border-radius:99px;letter-spacing:.04em;margin-bottom:20px}.start-title{font-size:clamp(1.6rem,6vw,2rem);font-weight:800;line-height:1.35;margin-bottom:16px;color:var(--color-text)}.start-title-accent{background:linear-gradient(135deg,#5b6cfc,#a78bfa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.start-description{font-size:.92rem;color:var(--color-muted);margin-bottom:20px;line-height:1.65}.privacy-notice{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.82rem;color:#059669;background:#ecfdf5;border-radius:10px;padding:10px 16px;margin-bottom:24px;font-weight:600}.privacy-icon{font-size:1rem}.start-btn{display:block;width:100%;background:linear-gradient(135deg,#5b6cfc,#818cf8);color:#fff;border:none;border-radius:var(--radius-btn);font-size:1.1rem;font-weight:800;padding:18px;cursor:pointer;box-shadow:var(--shadow-btn);transition:transform .12s ease,box-shadow .12s ease;letter-spacing:.03em}.start-btn:active{transform:scale(.97);box-shadow:none}.type-preview{margin-top:28px;text-align:left}.type-preview-label{font-size:.8rem;color:var(--color-muted);margin-bottom:10px;font-weight:600}.type-chips{display:flex;flex-wrap:wrap;gap:8px}.type-chip{background:#f3f4f6;border-radius:99px;font-size:.78rem;padding:5px 12px;color:var(--color-text);font-weight:500}.quiz-wrapper{width:100%;max-width:480px;padding-top:4px}.quiz-header{margin-bottom:20px}.progress-bar-track{width:100%;height:8px;background:#e5e7eb;border-radius:99px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#5b6cfc,#a78bfa);border-radius:99px;transition:width .3s ease}.progress-label{font-size:.82rem;color:var(--color-muted);text-align:right;margin-top:6px;font-weight:600}.question-card{background:var(--color-surface);border-radius:var(--radius-card);padding:28px 24px;box-shadow:var(--shadow-card)}.question-emoji{font-size:2.4rem;margin-bottom:12px;line-height:1}.question-text{font-size:clamp(1.05rem,4.5vw,1.2rem);font-weight:700;margin-bottom:20px;line-height:1.5}.options-list{display:flex;flex-direction:column;gap:12px}.option-btn{display:block;width:100%;background:#f9fafb;border:2px solid #e5e7eb;border-radius:var(--radius-btn);font-size:clamp(.9rem,3.8vw,1rem);font-weight:600;padding:16px 18px;cursor:pointer;text-align:left;color:var(--color-text);line-height:1.45;transition:border-color .12s,background .12s,transform .1s;font-family:inherit}.option-btn:active:not(:disabled){background:#ede9fe;border-color:var(--color-primary);transform:scale(.98)}.option-btn:disabled{opacity:.5;cursor:not-allowed}.result-wrapper{width:100%;max-width:480px;padding-top:4px}.result-card{background:var(--color-surface);border-radius:var(--radius-card);padding:32px 24px 28px;box-shadow:var(--shadow-card)}.result-type-emoji{font-size:3rem;line-height:1;margin-bottom:10px;text-align:center}.result-type-name{font-size:clamp(1.1rem,4.5vw,1.3rem);font-weight:800;text-align:center;margin-bottom:6px;line-height:1.4;background:linear-gradient(135deg,#5b6cfc,#a78bfa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.result-tagline{font-size:.92rem;color:var(--color-muted);text-align:center;margin-bottom:20px;font-weight:600}.speed-meter{background:#f9fafb;border-radius:14px;padding:14px 16px;margin-bottom:20px}.speed-meter-label{font-size:.78rem;font-weight:700;color:var(--color-muted);margin-bottom:8px;letter-spacing:.04em}.speed-track{width:100%;height:10px;background:#e5e7eb;border-radius:99px;overflow:hidden;margin-bottom:6px}.speed-fill{height:100%;border-radius:99px;transition:width .8s cubic-bezier(.34,1.56,.64,1)}.speed-values{display:flex;justify-content:space-between;align-items:center}.speed-score-text{font-size:1rem;font-weight:800}.speed-label-badge{font-size:.82rem;font-weight:700;background:#f3f4f6;padding:3px 10px;border-radius:99px}.result-description{font-size:.93rem;line-height:1.75;margin-bottom:24px;color:var(--color-text)}.result-grid{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.result-item{display:flex;align-items:flex-start;gap:12px;background:#f9fafb;border-radius:12px;padding:12px 14px}.result-item-icon{font-size:1.3rem;line-height:1;flex-shrink:0;margin-top:1px}.result-item-label{font-size:.75rem;font-weight:700;color:var(--color-muted);margin-bottom:3px;letter-spacing:.03em}.result-item-text{font-size:.9rem;font-weight:500;line-height:1.5;color:var(--color-text)}.tip-box{background:linear-gradient(135deg,#ede9fe,#e0e7ff);border-radius:14px;padding:16px 18px;margin-bottom:24px}.tip-header{font-size:.85rem;font-weight:800;color:#5b6cfc;margin-bottom:8px}.tip-text{font-size:.9rem;line-height:1.65;color:#3730a3;font-weight:500}.share-section{margin-bottom:20px}.share-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:#0f172a;color:#fff;border:none;border-radius:var(--radius-btn);font-size:1rem;font-weight:700;padding:16px;cursor:pointer;font-family:inherit;transition:transform .1s,opacity .1s}.share-btn:active{transform:scale(.97);opacity:.9}.disclaimer-box{background:#f9fafb;border-left:3px solid #d1d5db;border-radius:0 8px 8px 0;padding:12px 14px;margin-bottom:20px;font-size:.75rem;color:var(--color-muted);line-height:1.6;display:flex;flex-direction:column;gap:4px}.retry-btn{display:block;width:100%;background:transparent;border:2px solid #e5e7eb;border-radius:var(--radius-btn);font-size:.95rem;font-weight:700;padding:14px;cursor:pointer;color:var(--color-muted);font-family:inherit;transition:border-color .12s,color .12s}.retry-btn:active{border-color:var(--color-primary);color:var(--color-primary)}@media (min-width:600px){.main-container{padding:40px 24px}.question-card,.result-card,.start-card{padding:44px 40px 36px}.option-btn{padding:18px 22px}}