:root{--color-primary: #c93f70;--color-primary-dark: #96284f;--color-primary-light: #fdeef2;--color-white: #ffffff;--color-beige: #f5efe3;--color-beige-dark: #e8dcc4;--color-pink: #f7dbe2;--color-pink-dark: #e8a9bb;--color-gold: #c9a24a;--color-gold-dark: #9c7a2e;--color-bg: #fdf6f5;--color-surface: #ffffff;--color-text: #2b2620;--color-text-muted: #6b6259;--color-border: #f0dbe1;--font-display: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-body: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;--radius-lg: 24px;--radius-md: 16px;--radius-sm: 10px;--shadow-soft: 0 12px 32px -12px rgba(150, 40, 79, .26);--shadow-card: 0 6px 20px -8px rgba(150, 40, 79, .16);--max-width: 720px;--transition-fast: .18s ease;--transition-medium: .32s ease}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}button{font-family:inherit}.app{min-height:100%}a:focus-visible,button:focus-visible,.option-card:focus-within{outline:3px solid var(--color-gold-dark);outline-offset:3px;border-radius:var(--radius-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:999px;padding:16px 32px;font-family:var(--font-body);font-size:17px;font-weight:700;line-height:1.4;cursor:pointer;text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);min-height:56px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:not(:disabled):hover{transform:translateY(-2px)}.btn-primary{background:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-soft)}.btn-primary:not(:disabled):hover{background:var(--color-primary-dark)}.btn-secondary{background:var(--color-white);color:var(--color-primary-dark);border:2px solid var(--color-primary)}.btn-secondary:hover{background:var(--color-primary-light)}.btn-detail{background:linear-gradient(135deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);color:var(--color-white);box-shadow:0 10px 24px -8px #9c7a2e8c}.btn-large{padding:18px 40px;font-size:18px;width:100%;max-width:420px}.top-screen{display:flex;flex-direction:column;align-items:center}.top-hero{position:relative;width:100%;min-height:31vh;display:flex;align-items:flex-end;background-image:url(/images/hero.jpg),linear-gradient(160deg,#7a3352,#d1557e 55%,#e0b968 130%);background-size:cover;background-position:center}.top-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#461e2d0d,#461e2d40 78%,#461e2d6b)}.top-hero-content{position:relative;color:var(--color-white);padding:28px 24px 24px;width:100%;max-width:var(--max-width);margin:0 auto;text-align:center}.eyebrow{font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--color-gold);margin:0 0 10px}.top-title{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,4.5vw,34px);line-height:1.4;margin:0 0 12px;text-shadow:0 4px 18px rgba(0,0,0,.35)}.top-subtitle{font-size:17px;line-height:1.7;margin:0;color:#f5efe3}.top-body{width:100%;max-width:var(--max-width);padding:40px 24px 56px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:32px}.top-description{font-size:17px;line-height:1.9;color:var(--color-text);margin:0}.quiz-screen{max-width:var(--max-width);margin:0 auto;padding:32px 20px 56px;display:flex;flex-direction:column;gap:28px}.progress-bar{display:flex;align-items:center;gap:14px}.progress-bar-track{flex:1;height:10px;border-radius:999px;background:var(--color-beige-dark);overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-gold) 100%);border-radius:999px;transition:width var(--transition-medium)}.progress-bar-label{font-variant-numeric:tabular-nums;font-weight:700;color:var(--color-primary-dark);font-size:15px;min-width:44px;text-align:right}.question-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:32px 24px;box-shadow:var(--shadow-card);border:1px solid var(--color-border);animation:fadeInUp var(--transition-medium) both}.question-number{font-family:var(--font-body);font-size:14px;font-weight:700;letter-spacing:.08em;color:var(--color-gold-dark);margin:0 0 8px}.question-text{font-family:var(--font-display);font-size:clamp(20px,4vw,26px);line-height:1.6;margin:0 0 24px;color:var(--color-primary-dark)}.options{display:flex;flex-direction:column;gap:14px}.option-card{position:relative;display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:var(--radius-md);border:2px solid var(--color-border);background:var(--color-bg);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.option-card:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.option-card-selected{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 0 0 3px #c93f702e}.option-input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.option-mark{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:700;font-size:15px;background:var(--color-white);border:2px solid var(--color-primary);color:var(--color-primary-dark)}.option-card-selected .option-mark{background:var(--color-primary);color:var(--color-white)}.option-label{font-size:16px;line-height:1.6;color:var(--color-text)}.quiz-nav{display:flex;justify-content:space-between;align-items:center;gap:16px}.quiz-nav .btn-primary{margin-left:auto}.result-screen{max-width:var(--max-width);margin:0 auto;padding:40px 20px 64px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;animation:fadeInUp var(--transition-medium) both}.result-kicker{font-size:14px;font-weight:700;letter-spacing:.16em;color:var(--color-gold-dark);margin:0}.result-type-name{font-family:var(--font-display);font-size:clamp(24px,5vw,34px);color:var(--color-primary-dark);margin:0;text-wrap:balance}.result-catch-copy{font-size:18px;color:var(--color-text-muted);margin:0 0 8px}.result-image{width:100%;max-width:560px;aspect-ratio:16 / 9;border-radius:var(--radius-lg);object-fit:cover;box-shadow:var(--shadow-card)}.result-image-fallback{width:100%}.gradient-paris{background:linear-gradient(135deg,#1b6e93,#4a9bc4 55%,#c9a24a)}.gradient-florence{background:linear-gradient(135deg,#a8542f,#c9803f 55%,#c9a24a)}.gradient-cruise{background:linear-gradient(135deg,#0f4a63,#1b6e93 55%,#4fb3d9)}.gradient-resort{background:linear-gradient(135deg,#1b6e93,#e8a9bb 60%,#f5d488)}.result-description{font-size:16px;line-height:1.9;color:var(--color-text);margin:0;max-width:560px}.result-experiences{width:100%;max-width:560px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px 28px;text-align:left}.result-experiences-title{font-family:var(--font-display);font-size:18px;color:var(--color-primary-dark);margin:0 0 14px}.result-experiences-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}.result-experiences-list li{position:relative;padding-left:28px;font-size:16px;line-height:1.7}.result-experiences-list li:before{content:"";position:absolute;left:0;top:8px;width:10px;height:10px;border-radius:50%;background:var(--color-gold)}.result-cta{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:12px;width:100%}.result-cta-guide{font-size:15px;color:var(--color-text-muted);margin:0}.result-screen>.btn-secondary{margin-top:8px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.question-card,.result-screen{animation:none}.btn:not(:disabled):hover{transform:none}}.app.reduced-motion .question-card,.app.reduced-motion .result-screen{animation:none}@media (min-width: 640px){.quiz-nav{justify-content:space-between}}@media (max-width: 420px){.btn-large{width:100%}.question-card{padding:26px 18px}.option-card{padding:16px}}
