:root{--color-white:#fff;--color-background:#fcf4f8;--color-text:#333;--color-primary:#e91e63;--color-primary-light:#f8bbd9;--color-primary-dark:#c2185b;--color-secondary:#9c27b0;--color-error:#f44336;--color-warning:#ff9800;--color-success:#4caf50;--color-border:#e0e0e0;--color-border-light:#f0f0f0;--color-bar-full:#e91e63;--color-bar-67:#9c27b0;--color-bar-50:#ff9800;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:24px;--font-size-2xl:32px;--line-height-tight:1.4;--line-height-base:1.6;--line-height-relaxed:1.8;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--border-radius:8px;--border-radius-sm:4px;--border-radius-lg:12px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 2px 4px #0000001a;--shadow-lg:0 4px 8px #00000026}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;overflow-x:hidden}body{color:var(--color-text);background:var(--color-background);font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.main-container{min-height:100vh;padding:var(--spacing-lg)0}.main-content{max-width:800px;padding:0 var(--spacing-lg);margin:0 auto}.content-wrapper{max-width:1200px;padding:0 var(--spacing-lg);margin:0 auto}.results-container{animation:.6s ease-out fadeInUp}.intro-section{text-align:center;margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)var(--spacing-lg);border-radius:var(--border-radius-lg);background:linear-gradient(135deg,#fdf2f8 0%,#fce7f3 100%)}.intro-section h2{font-size:var(--font-size-2xl);color:var(--color-primary);margin-bottom:var(--spacing-md)}.intro-text{font-size:var(--font-size-lg);color:#555;margin:var(--spacing-md)0 var(--spacing-xl);line-height:var(--line-height-relaxed)}.features{justify-content:center;gap:var(--spacing-lg);flex-wrap:wrap;display:flex}.feature-item{align-items:center;gap:var(--spacing-xs);color:var(--color-primary);font-weight:600;display:flex}.feature-icon{font-size:var(--font-size-lg)}section{background-color:var(--color-white);border-radius:var(--border-radius);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-md)}@media (max-width:767px){section{padding:var(--spacing-md);margin-bottom:var(--spacing-md)}}h1,h2,h3,h4,h5,h6{line-height:var(--line-height-tight);margin:0}h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);border-bottom:2px solid var(--color-primary);padding-bottom:var(--spacing-sm);color:var(--color-primary)}h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm);color:var(--color-text)}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-dark);text-decoration:underline}button{cursor:pointer;font-family:inherit;font-size:inherit;border-radius:var(--border-radius);background:0 0;border:none;transition:all .2s}.button-primary{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-primary-dark)100%);color:var(--color-white);padding:var(--spacing-sm)var(--spacing-md);font-weight:600}.button-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-dark)0%,var(--color-secondary)100%)}label{margin-bottom:var(--spacing-xs);color:var(--color-text);font-weight:600;display:block}input[type=number],input[type=text],input[type=date],select{width:100%;padding:var(--spacing-sm)var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--border-radius);font-size:var(--font-size-base);background-color:var(--color-white);font-family:inherit;transition:border-color .2s}input[type=number]:focus,input[type=text]:focus,input[type=date]:focus,select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #e91e631a}input[type=radio]{margin-right:var(--spacing-xs);accent-color:var(--color-primary)}.error-message{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);line-height:var(--line-height-tight)}.error-message.error{color:var(--color-error)}.error-message.warning{color:var(--color-warning)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.content-wrapper{padding:0 var(--spacing-md)}.main-container{padding:var(--spacing-md)0}.main-content,.container{padding:0 var(--spacing-md)}.features{align-items:center;gap:var(--spacing-sm);flex-direction:column}.intro-section{padding:var(--spacing-lg)var(--spacing-md)}section{padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.footer-content{gap:var(--spacing-lg);grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.results-container{animation:none}*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}button:focus,input:focus,select:focus,textarea:focus{outline:2px solid var(--color-primary);outline-offset:2px}.detailed-results,.getting-started{margin-top:var(--spacing-xl)}.steps{gap:var(--spacing-lg);margin-top:var(--spacing-lg);flex-direction:column;display:flex}.step{align-items:flex-start;gap:var(--spacing-md);background:var(--color-white);padding:var(--spacing-lg);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);display:flex}.step-number{background:var(--color-primary);color:var(--color-white);width:40px;height:40px;font-weight:700;font-size:var(--font-size-lg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.step-content h3{margin-bottom:var(--spacing-xs);color:var(--color-primary)}.step-content p{color:#666;margin:0}.app{flex-direction:column;min-height:100vh;display:flex}.container{max-width:1200px;padding:var(--spacing-lg);margin:0 auto}@media (max-width:767px){.container{padding:var(--spacing-md)}}header{color:var(--color-white);padding:var(--spacing-lg)0;text-align:center;box-shadow:var(--shadow-md);background-color:#eb4664}header h1{font-size:var(--font-size-2xl);margin:0;font-weight:700}@media (max-width:767px){header h1{font-size:var(--font-size-xl)}}footer{background:var(--color-text);color:var(--color-white);padding:var(--spacing-xl)0 var(--spacing-lg);margin-top:auto}.footer-content{gap:var(--spacing-xl);margin-bottom:var(--spacing-lg);grid-template-columns:1fr 1fr;display:grid}.footer-section h3{color:var(--color-primary);margin-bottom:var(--spacing-sm);font-size:var(--font-size-lg)}.footer-section p{line-height:var(--line-height-relaxed);margin:0}.footer-bottom{text-align:center;padding-top:var(--spacing-lg);color:#ccc;font-size:var(--font-size-sm);border-top:1px solid #555}header .subtitle{font-size:var(--font-size-lg);margin:var(--spacing-xs)0 var(--spacing-md)0;opacity:.95;font-weight:500}.header-nav{margin-top:var(--spacing-md);justify-content:center;display:flex}.header-nav-button{align-items:center;gap:var(--spacing-xs);color:#fff;padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--border-radius);font-size:var(--font-size-sm);cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.header-nav-button:before{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.header-nav-button:hover:before{left:100%}.header-nav-button:hover{background:#fff3;border-color:#fff6;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.header-nav-button:focus{outline-offset:2px;outline:2px solid #ffffff80}.header-nav-button svg{opacity:.8;transition:transform .2s}.header-nav-button:hover svg{transform:translate(2px)}@media (max-width:767px){header .subtitle{font-size:var(--font-size-base)}.header-nav-button{font-size:var(--font-size-xs);padding:var(--spacing-xs)var(--spacing-sm)}}.text-center{text-align:center}.text-right{text-align:right}.font-bold{font-weight:700}.text-muted{color:#666}.text-primary{color:var(--color-primary)}
