:root{--bg-main: #fff8e6;--bg-secondary: #f1ffe7;--bg-soft: #eff8ff;--surface: #ffffff;--surface-soft: #fffef7;--text-main: #18222f;--text-muted: #4f6175;--primary: #ff5b2e;--primary-dark: #df4018;--secondary: #169670;--line: #d9e7f3;--focus: #0f9dff;--shadow: 0 18px 40px rgba(24, 34, 47, .14);font-family:Plus Jakarta Sans,Trebuchet MS,Segoe UI,sans-serif;line-height:1.45;font-weight:500;color:var(--text-main);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 8% 8%,#ffe1c9 0%,transparent 35%),radial-gradient(circle at 95% 20%,#e0ffe4 0%,transparent 32%),linear-gradient(135deg,var(--bg-main),var(--bg-soft))}button,input{font:inherit}#root{min-height:100vh}.app-shell{position:relative;display:grid;gap:18px;min-height:100vh;padding:24px;overflow-x:hidden}.bg-shape{position:absolute;z-index:0;border-radius:999px;filter:blur(2px)}.bg-shape-1{top:-100px;right:-90px;width:360px;height:360px;background:radial-gradient(circle,rgba(255,98,51,.25),transparent 70%)}.bg-shape-2{left:-80px;bottom:-80px;width:300px;height:300px;background:radial-gradient(circle,rgba(22,150,112,.2),transparent 70%)}.panel{position:relative;z-index:2;width:min(1120px,100%);margin:0 auto;padding:clamp(16px,2vw,28px);border-radius:24px;background:linear-gradient(160deg,#fffffff7,#fffbf2f7);border:1px solid rgba(217,231,243,.9);box-shadow:var(--shadow)}.panel-header{position:relative}.panel-header h1{margin:0;font-family:Plus Jakarta Sans,Verdana,sans-serif;font-weight:700;letter-spacing:.02em;font-size:clamp(1.75rem,3.4vw,2.8rem)}.reset-test-btn{position:absolute;top:0;right:0;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.85rem;padding:8px 14px}.reset-test-btn .reset-test-note{font-size:.65rem;color:#c53030;font-weight:600}.panel-header p{max-width:720px;margin:10px 0 0;color:var(--text-muted)}.badge{display:inline-block;margin-bottom:12px;padding:6px 10px;border-radius:999px;background:linear-gradient(90deg,#ffdac8,#f9f2c4);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.step-block{margin-top:22px}.step-instruction{margin-bottom:20px;padding:18px 20px;border-radius:16px;border-left:4px solid var(--primary);background:linear-gradient(135deg,#ff5b2e0f,#1696700d);box-shadow:0 2px 12px #18222f0f}.step-instruction--primary .step-instruction-title{margin:0 0 8px;font-size:clamp(1.35rem,2.2vw,1.75rem);font-weight:700;color:var(--text-main)}.step-instruction--primary .step-instruction-copy{margin:0;font-size:1rem;font-weight:500;color:var(--text-muted);line-height:1.5}.step-instruction-chip{display:inline-block;margin:0 2px;padding:4px 10px;border-radius:999px;background:#ff5b2e1f;color:var(--text-main);font-weight:700;font-size:.95em}.fade-in{animation:stepIn .2s ease-out}@keyframes stepIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.fade-in{animation:none}}h2,h3,h4{margin-top:0}h2{font-size:clamp(1.2rem,2.4vw,1.6rem);margin-bottom:10px}.facts-list{margin:14px 0 20px;padding-left:20px;color:var(--text-muted)}.facts-list li+li{margin-top:6px}.consent-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;padding:10px 12px;border-radius:12px;background:#fff8ef;border:1px solid #ffe2cb;color:#3f2f1f}.consent-row input{width:18px;height:18px;margin-top:2px}.actions-row{display:flex;flex-wrap:wrap;gap:10px}.btn{border:0;border-radius:12px;padding:10px 18px;font-weight:700;cursor:pointer;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn:not(:disabled):active{transform:translateY(0) scale(.98)}.btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn:not(:disabled):hover{transform:none}.btn:not(:disabled):active{transform:none}}.btn-primary{color:#fff;background:linear-gradient(120deg,var(--primary),#ff8b1a)}.btn-primary:not(:disabled):hover{filter:brightness(1.06)}.btn-secondary{color:#fff;background:linear-gradient(120deg,#129a70,#36c48b)}.btn-ghost{color:#274057;background:#eef4fb;border:1px solid #d0dfec}.saved-card{margin-top:18px;padding:14px;border-radius:14px;border:1px solid #dfebf5;background:#f8fcff}.saved-card h3{margin-bottom:8px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}@media(max-width:640px){.form-grid{grid-template-columns:1fr}}.field-group{display:grid;gap:8px;color:#324658;font-weight:700}.field-group span{font-size:.95rem}.field-group input,.field-group select{width:100%;min-height:44px;border:1px solid #d7e4ef;border-radius:12px;padding:11px 12px;background:#fff;color:#18222f;font-size:1rem;line-height:1.35;-webkit-appearance:none;appearance:none}.field-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%234f6175' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.field-group input[type=number]{-moz-appearance:textfield}.field-group input[type=number]::-webkit-inner-spin-button,.field-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field-group input:focus,.field-group select:focus{outline:3px solid rgba(15,157,255,.2);border-color:var(--focus)}.field-group-wide{grid-column:1 / -1}.field-age-row{display:flex;align-items:center;gap:8px}.field-group-age input{width:9.45ch;min-width:9.45ch;max-width:9.45ch;text-align:center}.field-age-suffix{color:var(--text-muted);font-weight:600;font-size:.95rem}.tree-canvas{width:min(100%,760px);margin-top:14px;margin-inline:auto;border-radius:20px;border:1px solid var(--line);overflow:hidden;background:linear-gradient(180deg,#f1f0ec,#e8e7e3)}.tree-stage{position:relative;width:100%;aspect-ratio:1;background:#e2e2e2}.tree-base-image{display:block;width:100%;height:100%;object-fit:contain}.tree-position-sprite{position:absolute;display:grid;place-items:center;margin:0;padding:0;border:0;background:transparent;transform:translate(-50%,-50%);cursor:pointer;transition:transform .16s ease,filter .16s ease}.tree-position-sprite:hover,.tree-position-sprite:focus-visible{transform:translate(-50%,-50%) scale(1.04)}.tree-position-sprite:focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:16px}.tree-position-image{width:100%;height:100%;object-fit:contain;display:block;-webkit-user-select:none;user-select:none;pointer-events:none;transition:filter .16s ease,transform .16s ease}.tree-position-sprite:hover .tree-position-image,.tree-position-sprite:focus-visible .tree-position-image{filter:drop-shadow(0 8px 12px rgba(0,0,0,.18))}.tree-position-sprite-active .tree-position-image{filter:drop-shadow(0 10px 14px rgba(31,144,52,.34)) saturate(1.1)}@media(prefers-reduced-motion:reduce){.tree-position-sprite{transition:none}.tree-position-sprite:hover,.tree-position-sprite:focus-visible{transform:translate(-50%,-50%)}.tree-position-image{transition:none}}.tree-position-fallback{display:inline-grid;place-items:center;width:100%;height:100%;border-radius:999px;border:2px solid #111;background:#fff;font-weight:800}.selection-hint{margin:12px 0;color:var(--text-muted)}.selection-dialog-overlay{position:fixed;inset:0;z-index:12;display:grid;place-items:center;padding:20px;background:#141a227a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media(prefers-reduced-transparency:reduce){.selection-dialog-overlay{background:#141a22d9;-webkit-backdrop-filter:none;backdrop-filter:none}}.selection-dialog{width:min(520px,100%);padding:20px;border-radius:22px;background:linear-gradient(180deg,#fffffffa,#fafff8fa);border:1px solid rgba(255,255,255,.5);box-shadow:0 22px 60px #18222f38,0 0 0 1px #bde3c399 inset}.selection-dialog-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}.selection-dialog-step-label{margin:0;color:var(--text-main);font-size:1rem;font-weight:500}.selection-dialog h3{margin-bottom:8px;font-size:clamp(1.35rem,2vw,1.7rem)}.selection-dialog-position-badge{display:inline-flex;margin:4px 0;padding:10px 20px;border-radius:999px;background:linear-gradient(135deg,#e8f4fd,#d6e9f8);color:#1a3a52;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:800;letter-spacing:.02em;border:1px solid rgba(15,157,255,.2);box-shadow:0 2px 8px #1a3a5214}.selection-dialog-copy{margin:0 0 14px;color:#334556}.selection-dialog-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.selection-dialog-tag{display:inline-flex;padding:7px 10px;border-radius:999px;background:#f0f6ff;color:#264766;font-size:.92rem;font-weight:700;transition:background .12s ease,box-shadow .12s ease}.selection-dialog-tag:hover,.selection-dialog-tag:focus-visible{background:#e0edff;box-shadow:0 2px 8px #2647661f}@media(prefers-reduced-motion:reduce){.selection-dialog-tag{transition:none}}.selection-dialog-actions{margin-top:6px}.prompt-copy{margin-bottom:14px;color:#4f6175}.prompt-preview-card{position:relative;display:grid;place-items:center}.prompt-preview-card .tree-canvas{filter:saturate(.92) brightness(.98)}.prompt-overlay{position:absolute;inset:0;z-index:2;display:grid;align-content:start;justify-items:center;gap:12px;padding:16px;border-radius:20px;background:#ffffffb8;-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);border:1px solid rgba(255,255,255,.4);box-shadow:0 14px 34px #18222f2e;text-align:center}@media(prefers-reduced-transparency:reduce){.prompt-overlay{background:#fffffff7;-webkit-backdrop-filter:none;backdrop-filter:none}}.prompt-overlay-block{display:grid;gap:14px;align-content:start;justify-items:center;padding:20px 24px;border-radius:16px;background:#ffffffd9;border:1px solid rgba(213,229,239,.9);box-shadow:0 8px 32px #18222f1f;max-width:380px}.prompt-overlay-block--fixed{position:fixed;top:clamp(16px,3vw,24px);left:50%;transform:translate(-50%);z-index:9999;isolation:isolate}.prompt-overlay p{margin:0;color:#314454;max-width:360px}.prompt-overlay .btn{width:auto}.result-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;min-height:280px;padding:32px 24px}.dancing-figures{display:flex;justify-content:center;align-items:flex-end;gap:12px;flex-shrink:0}.dancing-figures .dancing-figure{width:32px;height:56px;flex-shrink:0}.dancing-figure{transform-origin:center bottom}.dancing-figures .arm-left,.dancing-figures .arm-right{transform-origin:16px 20px;animation:waveArm .5s ease-in-out infinite}.dancing-figure-1 .arm-left{animation-delay:0s}.dancing-figure-1 .arm-right{animation-delay:.25s;animation-direction:reverse}.dancing-figure-2 .arm-left{animation-delay:.22s;animation-direction:reverse;animation-duration:.52s}.dancing-figure-2 .arm-right{animation-delay:0s;animation-duration:.48s}.dancing-figure-3 .arm-left{animation-delay:0s;animation-duration:.58s}.dancing-figure-3 .arm-right{animation-delay:.32s;animation-direction:reverse;animation-duration:.44s}.dancing-figure-4 .arm-left{animation-delay:.12s;animation-direction:reverse;animation-duration:.54s}.dancing-figure-4 .arm-right{animation-delay:.38s;animation-duration:.46s}.dancing-figure-5 .arm-left{animation-delay:.28s;animation-duration:.56s}.dancing-figure-5 .arm-right{animation-delay:0s;animation-direction:reverse;animation-duration:.5s}@keyframes waveArm{0%,to{transform:rotate(-22deg)}50%{transform:rotate(22deg)}}.dancing-figure-1{animation:danceBounce 1.2s ease-in-out infinite;animation-delay:0s}.dancing-figure-2{animation:danceSway 1.4s ease-in-out infinite;animation-delay:.2s}.dancing-figure-3{animation:danceStep 1.3s ease-in-out infinite;animation-delay:.4s}.dancing-figure-4{animation:danceSway 1.3s ease-in-out infinite;animation-delay:.15s}.dancing-figure-5{animation:danceBounce 1.25s ease-in-out infinite;animation-delay:.35s}@keyframes danceBounce{0%,to{transform:translate(0)}50%{transform:translateY(-6px)}}@keyframes danceSway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes danceStep{0%,to{transform:translate(0)}25%{transform:translate(2px,-3px)}75%{transform:translate(-2px,-3px)}}.result-loading-text{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-muted);text-align:center}.result-loading-bar-wrap{width:min(100%,320px);height:8px;border-radius:999px;background:#d9e7f380;overflow:hidden;box-shadow:inset 0 1px 2px #0000000f}.result-loading-bar{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--secondary));box-shadow:0 0 20px #ff5b2e59;animation:resultLoadingFill 12s linear forwards}@keyframes resultLoadingFill{0%{width:0%}to{width:100%}}@media(prefers-reduced-motion:reduce){.result-loading-bar{animation-duration:.5s}.dancing-figure-1,.dancing-figure-2,.dancing-figure-3,.dancing-figure-4,.dancing-figure-5,.dancing-figures .arm-left,.dancing-figures .arm-right{animation:none}}@keyframes staggerReveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}[data-testid=result-step] .summary-card{animation:staggerReveal .22s ease-out both;animation-delay:0ms}[data-testid=result-step] .result-card:nth-child(1){animation:staggerReveal .22s ease-out both;animation-delay:80ms}[data-testid=result-step] .result-card:nth-child(2){animation:staggerReveal .22s ease-out both;animation-delay:.16s}[data-testid=result-step] .consultation-card{animation:staggerReveal .22s ease-out both;animation-delay:.24s}[data-testid=result-step] .promo-card{animation:staggerReveal .22s ease-out both;animation-delay:.32s}@media(prefers-reduced-motion:reduce){[data-testid=result-step] .summary-card,[data-testid=result-step] .result-card,[data-testid=result-step] .consultation-card,[data-testid=result-step] .promo-card{animation:none}}.summary-card{display:grid;gap:8px;margin-bottom:16px;padding:16px;border-radius:16px;border:1px solid #dce7f6;background:linear-gradient(180deg,#f8fcff,#fdfefb)}.summary-card p{margin:0}.result-date{margin-top:0;color:#587186;font-size:.95rem}.result-grid,.advice-grid{display:grid;gap:12px}.result-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-bottom:14px}.result-card{border-radius:14px;border:1px solid #dbe8f3;background:#fdfefe;padding:14px;transition:transform .18s ease,box-shadow .18s ease}@media(hover:hover){.result-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #18222f1a}}@media(prefers-reduced-motion:reduce){.result-card{transition:none}.result-card:hover{transform:none}}.result-card-accent{background:linear-gradient(150deg,#fff3e8,#fffedb);border-color:#ffd9ac}.result-id{margin:0 0 8px;font-size:1.1rem;font-weight:800}.advice-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:8px}.advice-card{border-radius:14px;border:1px solid #dce7f6;padding:12px;background:#f6fbff}.consultation-card{border-radius:18px;padding:16px;border:1px solid #ffd7b3;background:linear-gradient(150deg,#fff5eb,#fffef1);transition:transform .18s ease,box-shadow .18s ease}@media(hover:hover){.consultation-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #18222f14}}@media(prefers-reduced-motion:reduce){.consultation-card{transition:none}.consultation-card:hover{transform:none}}.consultation-card p{margin-bottom:0}.consultation-note{font-weight:700;color:#8b4a10}.promo-card{margin-top:18px;padding:16px;border-radius:18px;border:1px solid #dce7f6;background:linear-gradient(180deg,#f8fcff,#fdfefb)}.promo-card h3{margin-top:0;margin-bottom:12px}.promo-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.promo-input{flex:1;min-width:160px;padding:10px 14px;border:1px solid #d7e4ef;border-radius:12px;font-size:1rem;background:#fff;color:var(--text-main)}.promo-input::placeholder{color:var(--text-muted)}.promo-input:focus{outline:3px solid rgba(15,157,255,.2);border-color:var(--focus)}.disclaimer{font-size:.93rem;color:#5f6f80}.footnote{position:relative;z-index:0;width:min(1120px,100%);margin:0 auto;color:#617588}@media(max-width:768px){.app-shell{padding:14px}.panel{border-radius:18px;padding:14px}.btn{width:100%;justify-content:center}.actions-row{flex-direction:column}.tree-canvas{width:min(100%,320px);border-radius:16px}.prompt-overlay{padding:14px;border-radius:16px}.prompt-overlay-block{width:min(calc(100vw - 32px),320px);max-width:320px;padding:16px 20px}.selection-dialog-overlay{padding:14px;align-items:end}.selection-dialog{border-radius:18px;padding:16px}.promo-row{flex-direction:column;align-items:stretch}.promo-row .promo-input{min-width:0}}
