:root{--color-primary: #0170B9;--color-primary-hover: #01598f;--color-primary-light: #e8f4fc;--color-text: #4B4F58;--color-text-muted: #6b7280;--color-heading: #3a3a3a;--color-surface: #ffffff;--color-border: #d1d5db;--color-error: #dc2626}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;font-family:Arial,Helvetica,Verdana,sans-serif;font-size:16px;font-weight:400;color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.question-card{display:flex;flex-direction:column;align-items:center;gap:1.5rem;animation:fadeIn .3s ease-out}.question-step{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.question-text{font-size:1.35rem;font-weight:400;font-family:Helvetica,Verdana,Arial,sans-serif;line-height:1.2;color:var(--color-heading);text-align:center}.question-options{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:400px}.option-button{width:100%;padding:.875rem 1.25rem;font-size:1rem;font-weight:400;color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border);border-radius:2px;cursor:pointer;transition:all .15s ease}.option-button:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.option-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.back-button{margin-top:.5rem;padding:.5rem 1rem;font-size:.9rem;color:var(--color-text-muted);background:none;border:none;cursor:pointer;transition:color .15s ease}.back-button:hover{color:var(--color-heading)}.back-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.age-input-group{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:400px}.date-mask-container{position:relative;width:100%;padding:.875rem 1.25rem;background:var(--color-surface);border:2px solid var(--color-border);border-radius:2px;cursor:text;transition:border-color .15s ease}.date-mask-container.date-mask-focused{border-color:var(--color-primary)}.date-mask-hidden-input{position:absolute;inset:0;opacity:0;border:none;padding:0;width:100%;height:100%;cursor:text}.date-mask-display{position:relative;display:flex;justify-content:center;font-family:SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:1.25rem;letter-spacing:.15em;line-height:1.4;-webkit-user-select:none;user-select:none}.date-mask-char{position:relative;display:inline-block;width:1ch;text-align:center}.date-mask-digit,.date-mask-slash{color:var(--color-text)}.date-mask-placeholder{color:var(--color-border)}.date-mask-cursor{position:absolute;left:-1px;top:0;width:2px;height:100%;background:var(--color-primary);animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.age-input-error{font-size:.875rem;color:var(--color-error)}.age-submit-button{width:100%;padding:10px 40px;font-size:1rem;font-weight:inherit;font-family:inherit;color:#fff;background:var(--color-primary);border:none;border-radius:2px;cursor:pointer;line-height:1;transition:background .15s ease}.age-submit-button:hover{background:var(--color-primary-hover)}.age-submit-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.result-card{display:flex;flex-direction:column;align-items:center;gap:1rem;animation:fadeIn .3s ease-out}.result-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.result-level{font-size:2rem;font-weight:400;font-family:Helvetica,Verdana,Arial,sans-serif;color:var(--color-primary)}.result-description{font-size:1.05rem;line-height:1.6;color:var(--color-text);text-align:center;max-width:440px}.start-over-button{margin-top:1rem;padding:10px 40px;font-size:1rem;font-weight:inherit;font-family:inherit;color:#fff;background:var(--color-primary);border:none;border-radius:2px;cursor:pointer;line-height:1;transition:background .15s ease}.start-over-button:hover{background:var(--color-primary-hover)}.start-over-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app{max-width:600px;margin:0 auto;padding:2rem 1.5rem}.app-title{text-align:center;font-size:1.6rem;font-weight:400;font-family:Helvetica,Verdana,Arial,sans-serif;color:var(--color-heading);margin-bottom:.25rem}.app-subtitle{text-align:center;font-size:1rem;color:var(--color-text-muted);margin-bottom:2.5rem}.app-content{display:flex;flex-direction:column;align-items:center}
