/* TTC Design System v26 — tokens, responsividade e acessibilidade */
:root{--ttc-space-1:4px;--ttc-space-2:8px;--ttc-space-3:12px;--ttc-space-4:16px;--ttc-space-5:20px;--ttc-space-6:24px;--ttc-space-8:32px;--ttc-radius-sm:8px;--ttc-radius-md:12px;--ttc-radius-lg:18px;--ttc-shadow:0 4px 22px #5636160a;--ttc-focus:#a65a16}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid var(--ttc-focus);outline-offset:3px}
:where(button,input,select,textarea){min-width:0}
:where(.split-action,.lesson-toolbar,.topline-actions){column-gap:var(--ttc-space-3);row-gap:var(--ttc-space-4)}
:where(.card,.list-row,.form,.field,.cols,.grid){min-width:0}
:where(.card,.question){overflow-wrap:anywhere}
:where(audio){max-width:100%}
@media(max-width:720px){.main{padding-inline:var(--ttc-space-4);padding-bottom:calc(105px + env(safe-area-inset-bottom,0px))}.topline{flex-wrap:wrap;gap:var(--ttc-space-3)}.split-action>*{max-width:100%}.form-grid{grid-template-columns:minmax(0,1fr)}.btn{min-height:44px}}
@media(max-width:390px){.cards{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.topline h1{overflow-wrap:anywhere}.list-row{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* V27 — interaction and layout guarantees */
:root{--ttc-control-height:44px;--ttc-content-width:1200px;--ttc-line-height:1.5;--ttc-border:#d8d2c7}
html{overflow-x:clip;-webkit-text-size-adjust:100%}body{overflow-x:clip}
:where(button,a,input,select,textarea){touch-action:manipulation}
:where(button,.btn){min-height:var(--ttc-control-height)}
:where(input,select,textarea){max-width:100%;font-size:16px}
:where(.main,.card,.field,.list-row,.question){min-width:0}
:where(.card,.list-row,.question){overflow-wrap:break-word}
:where(.split-action,.lesson-toolbar,.topline-actions,.stack-actions){display:flex;flex-wrap:wrap;gap:var(--ttc-space-4);align-items:center}
:where(.form,.form-grid){row-gap:var(--ttc-space-4)}
:where(button,a):disabled{cursor:not-allowed;opacity:.6}
:where(.field label){display:block;margin-bottom:var(--ttc-space-2)}
:where(.field textarea)+:where(button,.btn){margin-top:var(--ttc-space-4)}
@media(max-width:720px){.main{max-width:100vw}.topline-actions{margin-top:var(--ttc-space-2)}.split-action>.btn,.stack-actions>.btn{flex:1 1 160px}.list-row{gap:var(--ttc-space-3)}}
@media(max-width:360px){.main{padding-inline:var(--ttc-space-3)}.cards{grid-template-columns:minmax(0,1fr)}}
