/* TeamTales typography system: type only, intentionally no layout primitives. */
body{font-size:var(--type-body);line-height:1.55}
p,li{line-height:1.55}
.button,button{font-size:var(--type-button);line-height:1.25}
input,select,textarea{font-size:var(--type-body);line-height:1.35}
input::placeholder,textarea::placeholder{font-size:var(--type-body)}
.eyebrow{font-size:var(--type-caption);line-height:1.3;letter-spacing:.12em}

/* Public navigation and approved landing composition. */
.site-nav a,.site-text-button,.play-link{font-size:var(--type-button);line-height:1.25}
.hero-badge{font-size:var(--type-caption)}
.marketing-copy h1{font-size:clamp(3.4rem,5vw,5.8rem);line-height:.97}
.marketing-copy>p{font-size:var(--type-body-lg);line-height:1.58}
.hero-journey-strip b{font-size:var(--type-caption)}
.hero-journey-strip strong{font-size:var(--type-body-lg);line-height:1.1}
.hero-journey-strip small{font-size:var(--type-body-sm);line-height:1.45}
.hero-proof b{font-size:var(--type-button)}
.hero-proof small{font-size:var(--type-body-sm);line-height:1.45}
.trust-strip p{font-size:var(--type-button);line-height:1.45}
.fake-textarea{font-size:var(--type-body-sm);line-height:1.5}
.privacy-line{font-size:var(--type-caption);line-height:1.45}
.center-heading h2,.feature-copy h2,.planner-feature-copy h2,.responsible-copy h2,.faq-heading h2{font-size:var(--type-display-lg);line-height:1.02}
.pricing-section .pricing-intro-title{font-size:clamp(2.4rem,1.75rem + 2.1vw,4.2rem)}
.final-cta h2{font-size:var(--type-display-xl);line-height:.98}
.center-heading>p:last-child,.feature-copy>p:not(.eyebrow),.planner-feature-copy>p:not(.eyebrow),.responsible-copy>p:not(.eyebrow),.final-cta>p:not(.eyebrow){font-size:var(--type-body);line-height:1.58}

/* Marketing cards and explanatory content. */
.value-card>span,.value-card small,.journey-number,.format-card small,.ad-label,.popular-flag,.value-flag{font-size:var(--type-caption);line-height:1.3}
.value-card h3,.catalogue-card h3{font-size:clamp(1.5rem,1.35rem + .45vw,1.875rem);line-height:1.1}
.value-card p,.catalogue-card p{font-size:var(--type-body);line-height:1.55}
.feature-copy li{font-size:var(--type-body-sm);line-height:1.5}
.feature-copy li span,.steps-grid article>span,.responsible-grid span{font-size:var(--type-caption)}
.steps-grid h3{font-size:var(--type-h3);line-height:1.12}
.steps-grid p,.responsible-grid p,.ad-policy-card>p{font-size:var(--type-body-sm);line-height:1.55}
.responsible-grid h3{font-size:var(--type-body);line-height:1.35}
.sample-sponsor small,.sample-sponsor span{font-size:var(--type-caption);line-height:1.4}
.responsible-copy>.text-link,.ad-policy-card .text-link{font-size:var(--type-body-sm);line-height:1.4}
.journey-grid h3{font-size:clamp(1.5rem,1.35rem + .45vw,1.875rem);line-height:1.1}
.journey-grid h4{font-size:var(--type-body-lg);line-height:1.25}
.journey-grid article>p{font-size:var(--type-body-sm);line-height:1.55}
.journey-grid article>small,.planner-example small,.play-example span,.planner-journey span,.catalogue-card footer,.catalogue-card footer small,.catalogue-card footer b{font-size:var(--type-caption);line-height:1.4}
.planner-example strong{font-size:var(--type-caption)}
.catalogue-card h4{font-size:var(--type-label);line-height:1.35}

/* Pricing, FAQ, footer, cookies, authentication and legal copy. */
.billing-toggle button{font-size:var(--type-label)}
.billing-toggle span,.price span,.pricing-note{font-size:var(--type-caption);line-height:1.4}
.price-card>p:not(.eyebrow),.price-card li,.faq-heading>p:last-child,.faq-list details p{font-size:var(--type-body-sm);line-height:1.55}
.faq-list summary{font-size:var(--type-body-lg);line-height:1.35}
.footer-brand p,.footer-links a,.footer-links button{font-size:var(--type-body-sm);line-height:1.5}
.footer-links strong{font-size:var(--type-label);line-height:1.3}
.footer-bottom{font-size:var(--type-caption);line-height:1.45}
.cookie-banner p{font-size:var(--type-body-sm);line-height:1.5}
.cookie-banner .button,.auth-socials button{font-size:var(--type-button)}
.auth-divider{font-size:var(--type-label)}
.auth-switch,.forgot-row button,.legal-copy p,.legal-copy li{font-size:var(--type-body-sm);line-height:1.55}
.lobby-ad small{font-size:var(--type-caption)}
.language-picker select{font-size:var(--type-button)}

/* Organizer page, sidebar, headings and modals. */
.main-content>.view:not(#playView):not(#questView) .page-head h1,.planner-page-head h1,.collect-page-head h1{font-size:var(--type-h1);line-height:1.08}
.main-content>.view:not(#playView):not(#questView) .section-title h2,.planner-section-head h2,.collect-section-head h2,.collect-invite h2,.collect-next h2{font-size:var(--type-h2);line-height:1.1}
.main-content>.view:not(#playView):not(#questView) .card-heading h3{font-size:var(--type-h3);line-height:1.12}
.side-nav button{font-size:var(--type-button)}
.side-nav b{font-size:var(--type-caption)}
.side-card strong{font-size:var(--type-body-sm)}
.side-card small,.profile-button small,.upgrade-card small{font-size:var(--type-caption);line-height:1.4}
.upgrade-card strong{font-size:var(--type-label);line-height:1.35}
.profile-button strong{font-size:var(--type-button)}
.event-library-card small,.event-library-card>b,.event-meta,.status-pill{font-size:var(--type-caption);line-height:1.4}
.overview-stage-strip button>span,.overview-stage-strip button>small{font-size:var(--type-caption);line-height:1.4}
.overview-activity-list strong,.overview-activity-list p,.overview-empty-state p{font-size:var(--type-body-sm);line-height:1.5}
.readiness-steps button>span,.readiness-steps small,.mix-legend span,.tone-note p,.answer-person small,.answer-topic,.invite-stats span,.privacy-card li,.toggle-row strong,.toggle-row small,.quiet-label,.prompt-card small,.person-cell small,.response-state,.row-actions button{font-size:var(--type-label);line-height:1.45}
.prompt-heading-actions .button,.filter-pills button{font-size:var(--type-body-sm)}
.modal-head h2{font-size:var(--type-h2);line-height:1.1}
.modal-head p{font-size:var(--type-body);line-height:1.5}
.field>span,.field>small,.form-note,.consent-box{font-size:var(--type-label);line-height:1.45}
.field>span small{font-size:var(--type-label)}
.field input,.field select,.field textarea{font-size:var(--type-body)}
.file-upload-button,.file-name{font-size:var(--type-body-sm)}

/* Question Studio and participant collection forms. */
.question-copy h3{font-size:var(--type-body-lg);line-height:1.4}
.type-pill,.state-pill,.studio-preview>span,.preview-answer small,.collection-category,.prompt-library-list section h3{font-size:var(--type-caption);line-height:1.3}
.question-copy p,.prompt-library-list strong{font-size:var(--type-label);line-height:1.5}
.question-actions button,.question-order button{font-size:var(--type-body-sm)}
.summary-copy p:last-child{font-size:var(--type-body-sm);line-height:1.5}
.summary-numbers span{font-size:var(--type-caption);line-height:1.4}
.studio-preview>div>p,.preview-answer p,.collection-safety p,.share-check,.number-response span,.uploaded-file span,.uploaded-file button,.library-toolbar span,.library-toolbar button,.prompt-library-list small,.review-list small,.review-list span{font-size:var(--type-label);line-height:1.5}
.studio-preview>h3{font-size:var(--type-h3);line-height:1.15}
.collection-field .field>span{font-size:var(--type-body);line-height:1.4}
.upload-drop strong{font-size:var(--type-body-sm)}
.upload-drop small{font-size:var(--type-label)}
.response-delete{font-size:var(--type-body-sm)}
.experience-card p,.experience-card>strong,.quest-sample b{font-size:var(--type-body-sm);line-height:1.5}

/* Planner and Collect detail hierarchy. */
.planner-shell,.share-shell,.participant-plan-modal,.collect-shell{font-size:var(--type-body)}
.planner-shell small,.share-shell small,.participant-plan-modal small{font-size:var(--type-caption);line-height:1.45}
.planner-shell label,.participant-plan-modal label{font-size:var(--type-body-sm)}
.planner-shell button,.share-shell button,.participant-plan-modal button{font-size:var(--type-button)}
.planner-shell input,.planner-shell select,.planner-shell textarea,.participant-plan-modal input,.participant-plan-modal select,.participant-plan-modal textarea{font-size:var(--type-body)}
.planner-view .planner-option-copy>strong,.planner-best-result>strong{font-size:var(--type-body-lg);line-height:1.35}
.planner-view .planner-option-copy>span,.planner-vote-summary,.planner-no-votes,.planner-best-result>span,.planner-best-result p,.planner-settings-summary>div,.planner-view .planner-person p{font-size:var(--type-body-sm);line-height:1.5}
.planner-status,.planner-orientation li,.vote-bars span,.vote-choice span{font-size:var(--type-label);line-height:1.35}
.collect-stats span,.collect-person-copy small,.collect-person-status,.collect-waiting-note,.collect-story-row small,.collect-preview-note,.collect-reminder span,.collect-privacy p:not(.eyebrow){font-size:var(--type-label);line-height:1.45}
.collect-person-copy strong,.collect-story-row strong,.collect-invite>strong,.collect-privacy strong{font-size:var(--type-button);line-height:1.4}
.collect-story-row p,.collect-invite>p:not(.eyebrow),.collect-next>p:not(.eyebrow){font-size:var(--type-body);line-height:1.5}

/* Account, Admin, Team Quest and live host controls. */
.account-section-copy,.account-profile-card>div>p:last-child,.account-privacy-card div>p:last-child{font-size:var(--type-body-sm);line-height:1.5}
.account-profile-card h2{font-size:var(--type-h3);line-height:1.15}
.admin-safety-note p,.admin-panel p,.admin-panel small,.admin-list{font-size:var(--type-body-sm);line-height:1.5}
.admin-metric span,.admin-metric small,.admin-panel-head>span,.admin-list-item small,.admin-list-item time{font-size:var(--type-caption);line-height:1.4}
.admin-list-item strong{font-size:var(--type-body-sm);line-height:1.4}
.quest-head p,.quest-section>p,.quest-entitlement p,.quest-team-card-main>p,.quest-answer-option,.quest-match-row,.quest-order-row,.quest-feedback{font-size:var(--type-button);line-height:1.55}
.quest-phase-strip span,.quest-team-card small,.quest-challenge-card small,.quest-status{font-size:var(--type-caption);line-height:1.4}
.quest-challenge-card h3{font-size:var(--type-body-lg);line-height:1.35}
.quest-card-actions button,.quest-control-actions button{font-size:var(--type-body-sm)}
.control-context small{font-size:var(--type-caption);line-height:1.3}
.host-controls button{font-size:var(--type-body-sm);line-height:1.25}
.round-label span,.round-label strong,.question-kicker,.score-row b,.mode-badge,.completion-stats span{font-size:var(--type-caption);line-height:1.4}
.question-intro p,.conversation-win p{font-size:var(--type-body-sm);line-height:1.5}

@media(max-width:760px){
  input,select,textarea,.field input,.field select,.field textarea,.planner-shell input,.planner-shell select,.planner-shell textarea,.participant-plan-modal input,.participant-plan-modal select,.participant-plan-modal textarea{font-size:var(--type-body)}
  .marketing-copy>p{font-size:var(--type-body);line-height:1.6}
  .mobile-nav button,.mobile-nav .nav-label{font-size:var(--type-caption);line-height:1.25}
  .quest-team-card-main>p,.quest-answer-option,.quest-match-row,.quest-order-row,.quest-feedback{font-size:var(--type-button)}
  .host-controls button{font-size:var(--type-body-sm)}
}
