:root{--c-concrete: #8e9194;--c-concrete-light: #c9cbcc;--c-ink: #1a1a1a;--c-ivory: #f2ede4;--c-plum: #4a1e3a;--font-en: "Cormorant Garamond", serif;--font-ja-heading: "Shippori Mincho", serif;--font-ja-body: "Noto Sans JP", sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--c-ivory);color:var(--c-ink);font-family:var(--font-ja-body);font-weight:300;font-size:14px;line-height:1.9;letter-spacing:.02em}a{color:var(--c-plum)}.page-header{display:flex;align-items:center;justify-content:space-between;padding:24px}.brand-mark{font-family:var(--font-en);font-size:20px;letter-spacing:.1em;color:var(--c-ink);text-decoration:none}.back-link{font-size:12px;letter-spacing:.05em;text-decoration:none}.quiz{max-width:560px;margin:0 auto;padding:24px 24px 120px;min-height:60vh}.eyebrow{font-family:var(--font-en);font-style:italic;font-size:13px;letter-spacing:.28em;color:var(--c-plum);margin:40px 0 20px}.panel{display:none}.panel.is-active{display:block}.quiz-title{font-family:var(--font-ja-heading);font-weight:500;font-size:24px;letter-spacing:.06em;margin:0 0 28px}.quiz-lead{font-size:14px;margin:0 0 40px}.quiz-progress{font-family:var(--font-en);font-size:13px;letter-spacing:.1em;color:var(--c-concrete);margin-bottom:8px}.quiz-progress-bar{height:1px;background:var(--c-concrete-light);margin-bottom:40px;position:relative}.quiz-progress-bar span{position:absolute;inset:0 auto 0 0;height:1px;background:var(--c-plum);transition:width .5s ease}.question-text{font-family:var(--font-ja-heading);font-weight:500;font-size:19px;letter-spacing:.04em;margin:0 0 32px;min-height:2.6em}.option-list{display:flex;flex-direction:column}.option-button{display:flex;align-items:center;gap:16px;text-align:left;width:100%;padding:16px 4px;border:none;border-top:1px solid var(--c-concrete-light);background:none;font-family:var(--font-ja-body);font-size:14px;color:var(--c-ink);cursor:pointer;transition:padding-left .3s ease,color .3s ease}.option-list .option-button:last-child{border-bottom:1px solid var(--c-concrete-light)}.option-button:hover{padding-left:14px;color:var(--c-plum)}.option-visual{flex:none;width:40px;height:40px;object-fit:cover;background:var(--c-concrete-light);border:1px solid var(--c-concrete-light)}.option-label{flex:1}.back-step{margin-top:32px;font-size:12px;color:var(--c-concrete);background:none;border:none;cursor:pointer;padding:0;letter-spacing:.05em}.quiz-button{display:inline-block;padding:16px 36px;border:1px solid var(--c-ink);background:none;font-family:var(--font-en);font-size:14px;letter-spacing:.1em;color:var(--c-ink);text-decoration:none;cursor:pointer;transition:background .3s ease,color .3s ease}.quiz-button:hover{background:var(--c-ink);color:var(--c-ivory)}.loading-panel{display:none;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center}.loading-panel.is-active{display:flex}.loading-flower{width:88px;height:auto;margin-bottom:28px}.loading-flower path{fill:none}.loading-stem,.loading-petal,.loading-spadix{transition:stroke-dashoffset .5s ease}.loading-petal{transition-delay:.15s}.loading-spadix{transition-delay:.45s}.loading-panel.is-drawing .loading-stem,.loading-panel.is-drawing .loading-petal,.loading-panel.is-drawing .loading-spadix{stroke-dashoffset:0}.loading-text{font-family:var(--font-ja-heading);font-size:14px;letter-spacing:.14em;color:var(--c-concrete);margin:0}.loading-dots span{opacity:0;animation:loading-dot 1.4s infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes loading-dot{0%,20%{opacity:0}50%{opacity:1}to{opacity:0}}.result-reveal{opacity:0;transform:translateY(16px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}#result-content.is-in .result-reveal{opacity:1;transform:translateY(0)}.result-name{font-family:var(--font-en);font-style:italic;font-size:44px;letter-spacing:.03em;margin:0 0 4px;color:var(--result-accent, var(--c-ink))}.result-flourish{width:90px;height:20px;display:block;margin:0 0 20px;overflow:visible}.result-flourish path{fill:none;stroke:var(--result-accent, var(--c-plum));stroke-width:1.3;stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.22,1,.36,1) .2s}#result-content.is-in .result-flourish path{stroke-dashoffset:0!important}.result-sub{font-family:var(--font-ja-heading);font-size:14px;letter-spacing:.14em;color:var(--c-concrete);margin:0 0 28px}.result-image-frame{width:100%;aspect-ratio:2 / 3;margin-bottom:28px;background:var(--c-concrete-light);overflow:hidden;clip-path:inset(0 0 100% 0);transition:clip-path 1.1s cubic-bezier(.22,1,.36,1) .1s}#result-content.is-in .result-image-frame{clip-path:inset(0 0 0% 0)}.result-image{width:100%;height:100%;object-fit:cover;display:block}.result-tagline{font-family:var(--font-ja-heading);font-size:16px;letter-spacing:.05em;margin:0 0 20px}.result-desc{font-size:14px;margin:0 0 28px}.result-scores{margin:0 0 28px}.result-score-row{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:12px;margin-bottom:10px}.result-score-label{font-family:var(--font-en);font-style:italic;font-size:13px;color:var(--c-concrete)}.result-score-row.is-winner .result-score-label{color:var(--result-accent, var(--c-ink))}.result-score-track{height:3px;background:var(--c-concrete-light);position:relative}.result-score-fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--result-accent, var(--c-plum));transition:width 1s cubic-bezier(.22,1,.36,1) .3s}#result-content.is-in .result-score-fill{width:var(--fill, 0%)}.result-materials{font-size:12px;letter-spacing:.04em;color:var(--c-concrete);border-top:1px solid var(--c-concrete-light);border-bottom:1px solid var(--c-concrete-light);padding:16px 0;margin:0 0 20px}.result-materials strong{display:block;color:var(--c-ink);font-weight:500;margin-bottom:6px}.result-work-link{display:inline-block;font-size:12px;margin-bottom:40px}.result-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.quiz-link{background:none;border:none;padding:0;font-size:12px;letter-spacing:.05em;color:var(--c-plum);text-decoration:underline;cursor:pointer}.page-footer{text-align:center;padding:40px 24px 80px;font-size:12px}.page-footer a{text-decoration:none}@media(min-width:700px){.quiz-title{font-size:30px}.result-name{font-size:56px}.result-image-frame{max-width:320px}}@media(prefers-reduced-motion:reduce){.result-reveal,.result-image-frame,.result-score-fill,.result-flourish path{transition-duration:.01ms!important}}
