*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0d0d0d;--bg2:#141414;--bg3:#1c1c1c;--text:#f0ece4;--text-muted:#888;--accent:#e8c4a0;--accent2:#c9956e;--border:rgba(255,255,255,0.08);--radius:12px;--font-serif:'Shippori Mincho','Noto Serif JP',serif;--font-body:'Noto Serif JP',serif;--transition:0.3s cubic-bezier(.4,0,.2,1)}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.8;min-height:100vh;overflow-x:hidden}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:80px 24px;background:radial-gradient(ellipse at 50% 60%,#1e1010 0%,#0d0d0d 70%)}.hero-bg{position:absolute;inset:0;pointer-events:none;z-index:0}.petal{position:absolute;top:-40px;left:var(--x);width:calc(12px * var(--s));height:calc(18px * var(--s));background:radial-gradient(ellipse at 40% 30%,#f2bfcf,#d4687a66);border-radius:60% 40% 60% 40%;animation:fall 8s linear infinite;animation-delay:var(--d);opacity:0.6}@keyframes fall{0%{transform:translateY(-50px) rotate(0deg);opacity:0}10%{opacity:0.6}90%{opacity:0.4}100%{transform:translateY(110vh) rotate(360deg);opacity:0}}.hero-content{position:relative;z-index:1}.hero-sub{font-size:0.9rem;letter-spacing:.25em;color:var(--accent);margin-bottom:24px;opacity:0;animation:fadeUp .8s .2s forwards}.hero-title{font-family:var(--font-serif);font-weight:800;line-height:1.3;margin-bottom:32px}.hero-title-line{display:block;font-size:clamp(2rem,6vw,4rem);opacity:0;animation:fadeUp .8s forwards}.hero-title-line:nth-child(1){animation-delay:.4s}.hero-title-line:nth-child(2){animation-delay:.6s}.hero-title-line:nth-child(3){animation-delay:.8s}.hero-title-line.accent{color:var(--accent2)}.hero-desc{font-size:1rem;color:var(--text-muted);margin-bottom:40px;opacity:0;animation:fadeUp .8s 1s forwards}.hero-btn{display:inline-block;padding:14px 40px;background:linear-gradient(135deg,var(--accent2),#b07040);color:#fff;border-radius:50px;text-decoration:none;font-family:var(--font-serif);font-size:1rem;letter-spacing:.1em;cursor:pointer;border:none;transition:transform var(--transition),box-shadow var(--transition);opacity:0;animation:fadeUp .8s 1.2s forwards}.hero-btn:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(200,120,70,.4)}.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);font-size:1.4rem;color:var(--accent);animation:bounce 2s infinite}@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}.app-section{background:var(--bg2);padding:80px 24px 120px;min-height:100vh}.container{max-width:860px;margin:0 auto}.step{animation:fadeUp .5s forwards}.hidden{display:none!important}.fade-in{animation:fadeUp .5s forwards}.step-badge{display:inline-block;font-size:.7rem;letter-spacing:.2em;background:var(--accent2);color:#fff;padding:4px 14px;border-radius:50px;margin-bottom:16px}.step-title{font-family:var(--font-serif);font-size:clamp(1.4rem,3vw,2rem);margin-bottom:36px;color:var(--text)}.input-group{display:flex;flex-direction:column;gap:20px;max-width:440px;margin-bottom:36px}.input-wrap label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:8px;letter-spacing:.05em}.input-wrap input{width:100%;background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:12px 16px;border-radius:var(--radius);font-family:var(--font-body);font-size:1rem;transition:border-color var(--transition);outline:none}.input-wrap input:focus{border-color:var(--accent2)}.input-wrap input::placeholder{color:#555}.btn-next,.btn-back,.btn-retry{padding:12px 32px;border-radius:50px;font-family:var(--font-serif);font-size:.95rem;cursor:pointer;border:none;transition:transform var(--transition),opacity var(--transition)}.btn-next{background:linear-gradient(135deg,var(--accent2),#b07040);color:#fff}.btn-next:hover{transform:translateY(-2px)}.btn-back{background:transparent;border:1px solid var(--border);color:var(--text-muted);margin-top:24px}.btn-back:hover{color:var(--text)}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-bottom:36px}.category-card{background:var(--bg3);border:1.5px solid var(--border);border-radius:var(--radius);padding:20px 16px;cursor:pointer;text-align:center;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition);position:relative;overflow:hidden}.category-card::before{content:"";position:absolute;inset:0;background:var(--cat-color);opacity:0;transition:opacity var(--transition)}.category-card:hover{transform:translateY(-4px);border-color:var(--cat-color);box-shadow:0 8px 24px rgba(0,0,0,.4)}.category-card:hover::before{opacity:.1}.cat-name{position:relative;z-index:1;font-family:var(--font-serif);font-size:.95rem;color:var(--text);line-height:1.5}.experience-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:36px}.experience-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;cursor:pointer;text-align:left;font-family:var(--font-body);font-size:.9rem;color:var(--text);line-height:1.6;transition:transform var(--transition),border-color var(--transition),background var(--transition)}.experience-card:hover{transform:translateY(-2px);border-color:var(--cat-color);background:color-mix(in srgb,var(--cat-color) 10%,var(--bg3))}.result{animation:fadeUp .5s forwards}.result-inner{background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:48px 40px;text-align:center;max-width:600px;margin:0 auto}.result-label{font-size:.9rem;color:var(--text-muted);margin-bottom:16px;letter-spacing:.03em}.result-exp-name{font-family:var(--font-serif);font-size:clamp(1.1rem,3vw,1.5rem);font-weight:600;color:var(--accent);margin-bottom:6px;line-height:1.6}.result-exp-sub{font-size:.85rem;color:var(--text-muted);letter-spacing:.15em;margin-bottom:20px}.result-number-wrap{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:24px}.result-number{font-family:var(--font-serif);font-size:clamp(4rem,12vw,7rem);font-weight:800;color:var(--accent);line-height:1}.result-unit{font-family:var(--font-serif);font-size:2rem;color:var(--text-muted)}.result-message{font-size:1rem;color:var(--text);margin-bottom:32px;line-height:2}.result-message strong{color:var(--accent)}.result-bar-wrap{background:rgba(255,255,255,.06);border-radius:50px;height:8px;overflow:hidden;margin-bottom:12px}.result-bar{height:100%;background:var(--cat-color,var(--accent2));border-radius:50px;width:0%;transition:width 1.2s cubic-bezier(.4,0,.2,1)}.result-bar-desc{font-size:.8rem;color:var(--text-muted);margin-bottom:36px}.result-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.btn-share{padding:12px 28px;background:linear-gradient(135deg,#e45c8a,#c0395f);color:#fff;border:none;border-radius:50px;font-family:var(--font-serif);font-size:.95rem;cursor:pointer;transition:transform var(--transition)}.btn-share:hover{transform:translateY(-2px)}.btn-retry{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:12px 28px}.btn-retry:hover{color:var(--text)}.about-section{background:var(--bg);padding:80px 24px;border-top:1px solid var(--border)}.about-title{font-family:var(--font-serif);font-size:1.6rem;margin-bottom:24px;color:var(--accent)}.about-text{max-width:680px;font-size:1rem;color:var(--text-muted);line-height:2}.footer{background:#080808;padding:32px 24px;text-align:center;font-size:.8rem;color:#444;border-top:1px solid var(--border)}.footer-note{margin-top:8px;font-size:.75rem;color:#333}@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.result-inner{padding:32px 20px}.category-grid{grid-template-columns:repeat(2,1fr)}.experience-grid{grid-template-columns:1fr}.result-btns{flex-direction:column}}@keyframes questionPulse{0%,100%{opacity:.9;transform:scale(1)}50%{opacity:.25;transform:scale(.93)}}.result-number.is-loading{animation:questionPulse .85s ease-in-out infinite;color:var(--text-muted);letter-spacing:.18em}.loading-dots{display:flex;justify-content:center;gap:10px;margin:2px 0 18px}.loading-dot{width:9px;height:9px;background:var(--accent);border-radius:50%;animation:dotPop 1.1s ease-in-out infinite}.loading-dot:nth-child(2){animation-delay:.18s}.loading-dot:nth-child(3){animation-delay:.36s}@keyframes dotPop{0%,80%,100%{transform:scale(.5);opacity:.25}40%{transform:scale(1.25);opacity:1}}#flash-overlay{position:fixed;inset:0;background:radial-gradient(ellipse at center,rgba(232,196,160,.95) 0%,rgba(255,240,220,.6) 50%,transparent 100%);opacity:0;pointer-events:none;z-index:9999}@keyframes flashBurst{0%{opacity:0}18%{opacity:1}100%{opacity:0}}#flash-overlay.active{animation:flashBurst .6s ease-out forwards}@keyframes numberSlam{0%{opacity:0;transform:scale(3) translateY(-10px);filter:blur(14px)}55%{transform:scale(.9);filter:blur(0)}75%{transform:scale(1.07)}100%{opacity:1;transform:scale(1)}}.result-number.slam-in{animation:numberSlam .75s cubic-bezier(.22,1,.36,1) forwards}@keyframes numberGlow{0%,100%{text-shadow:0 0 12px rgba(232,196,160,.2)}50%{text-shadow:0 0 48px rgba(232,196,160,1),0 0 96px rgba(201,149,110,.6)}}.result-number.glowing{animation:numberGlow 2.2s ease-in-out infinite}#petal-burst{position:fixed;inset:0;pointer-events:none;z-index:9998;overflow:hidden}.burst-petal{position:absolute;width:calc(10px * var(--s));height:calc(15px * var(--s));background:radial-gradient(ellipse at 40% 30%,#f2bfcf,#d4687a88);border-radius:60% 40% 60% 40%;animation:petalFly var(--dur) ease-out forwards}@keyframes petalFly{0%{opacity:1;transform:translate(0,0) rotate(0deg) scale(1)}100%{opacity:0;transform:translate(var(--tx),var(--ty)) rotate(var(--rot)) scale(.15)}}