*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--color-cream);color:var(--color-text);font-family:"M PLUS Rounded 1c",sans-serif;font-weight:400}button{font-family:inherit}body[data-screen=top],body[data-screen=result]{background:linear-gradient(180deg,var(--color-gradient-top),var(--color-gradient-bottom))}body[data-screen=question]{background:var(--color-cream)}#app{min-height:100vh}.screen{max-width:480px;margin:0 auto;min-height:100vh;padding:var(--spacing-xxl) var(--spacing-xl);display:flex;flex-direction:column}.screen-top{align-items:center;justify-content:center;text-align:center;gap:var(--spacing-sm)}.app-title{font-weight:800;font-size:26px;color:var(--color-heading);margin:0}.app-subtitle{font-weight:400;font-size:13px;color:var(--color-caption-muted);margin:0}.mascot{margin-top:var(--spacing-xl);display:flex;justify-content:center}.mascot img{max-width:100%;height:auto}.mascot-caption{font-weight:700;font-size:14px;color:var(--color-body-muted);margin:0}.app-footer,.ad-disclosure{font-weight:400;font-size:12px;color:var(--color-faint-muted);text-align:center}.ad-disclosure{margin-top:var(--spacing-xl)}.btn{display:block;box-sizing:border-box;width:100%;min-height:48px;padding:14px var(--spacing-lg);border-radius:var(--radius-pill);border:none;font-weight:800;font-size:17px;text-align:center;text-decoration:none;cursor:pointer}.btn-primary{background:var(--color-accent);color:var(--color-white);margin-top:var(--spacing-xl)}.btn-secondary{background:var(--color-white);color:var(--color-accent-text);border:2px solid var(--color-accent);margin-top:var(--spacing-xl)}.share-buttons{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%;margin-top:var(--spacing-xl)}.share-buttons .btn{margin-top:0}.back-link{align-self:flex-start;background:none;border:none;padding:0;font-weight:700;font-size:14px;color:var(--color-caption-muted);cursor:pointer;min-height:44px}.progress-row{display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.progress-track{flex:1;height:10px;border-radius:var(--radius-pill);background:var(--color-primary-light);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-pill);background:var(--color-accent);transition:width .2s ease}.progress-label{font-weight:800;font-size:13px;color:var(--color-caption-muted);white-space:nowrap}.question-text{font-weight:800;font-size:22px;line-height:32px;color:var(--color-heading);margin-top:var(--spacing-xxl)}.choice-group{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.choice-button{background:var(--color-white);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:20px var(--spacing-lg);min-height:44px;font-weight:700;font-size:16px;color:var(--color-heading);text-align:left;cursor:pointer}.choice-button--selected{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-white)}.next-button{margin-top:var(--spacing-xl)}.hint{font-weight:400;font-size:12px;color:var(--color-faint-muted);text-align:center;margin-top:auto;padding-top:var(--spacing-lg)}.screen-result{align-items:center;text-align:center}.result-label{font-weight:700;font-size:13px;color:var(--color-accent-text);background:var(--color-white);padding:var(--spacing-xs) var(--spacing-lg);border-radius:var(--radius-pill);margin:0}.result-name{font-weight:800;font-size:24px;color:var(--color-heading);margin:var(--spacing-sm) 0 0}.result-animal{font-weight:700;font-size:13px;color:var(--color-caption-muted);margin:2px 0 0}.result-catchphrase{font-weight:800;font-size:17px;color:var(--color-accent-text);margin:var(--spacing-md) 0 0}.card{width:100%;background:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-top:var(--spacing-xl);text-align:left}.card-heading{font-weight:800;font-size:14px;color:var(--color-heading);margin:0}.card-body{font-weight:400;font-size:13.5px;line-height:22px;color:var(--color-body-muted);margin:var(--spacing-sm) 0 0}.section-heading{align-self:flex-start;font-weight:800;font-size:15px;color:var(--color-heading);margin-top:var(--spacing-xl)}.license-list{width:100%;display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.license-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:left}.license-card--surprise{background:var(--color-surprise-card-bg);border:1px solid var(--color-surprise-border)}.license-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm)}.license-card__name{flex:1;font-weight:800;font-size:16px;color:var(--color-heading);margin:0}.badge{border-radius:var(--radius-pill);padding:4px var(--spacing-md);font-weight:800;font-size:11px;white-space:nowrap}.badge--primary{background:var(--color-highlight-badge-bg);color:var(--color-white)}.badge--surprise{background:var(--color-surprise-badge-bg);color:var(--color-surprise-badge-text)}.license-card__meta{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-sm);font-weight:400;font-size:12.5px;color:var(--color-faint-muted)}.cta{display:block;width:100%;min-height:44px;margin-top:var(--spacing-md);padding:13px var(--spacing-lg);border-radius:var(--radius-pill);text-align:center;text-decoration:none;font-weight:800;font-size:14.5px;box-sizing:border-box}.cta--primary{background:var(--color-accent);color:var(--color-white)}.cta--secondary{background:var(--color-white);color:var(--color-accent-text);border:2px solid var(--color-accent)}.cta--surprise{background:var(--color-white);color:var(--color-surprise-badge-text);border:2px solid var(--color-surprise-border)}.license-more{margin-top:var(--spacing-md)}.license-more summary{font-weight:800;font-size:14px;color:var(--color-accent-text);cursor:pointer;min-height:44px;display:flex;align-items:center}.license-more p{font-weight:400;font-size:13px;line-height:20px;color:var(--color-body-muted);margin:var(--spacing-sm) 0 0}.license-more__good-for{font-weight:400!important;color:var(--color-caption-muted)!important}.external-notice{font-weight:400;font-size:11.5px;color:var(--color-faint-muted);text-align:center;margin-top:var(--spacing-md)}.empty-state{font-weight:400;font-size:13.5px;color:var(--color-body-muted)}
