:root{--pro-gold:#c39a45;--pro-ink:#173955}
.top{border-top:5px solid var(--pro-ink)!important;box-shadow:0 10px 32px #17395512!important}
.logo-mark img,.access-logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:15%}
.brand-text .app-edition{background:var(--pro-ink);color:#ffe0a0!important;border:1px solid #d3b56e;border-radius:6px;padding:2px 8px;letter-spacing:.09em}

.pro-detail,.pro-toolbar,.pro-advanced{margin:20px 0;border:1px solid #d3dee6;border-left:3px solid var(--pro-gold);border-radius:12px;padding:16px;background:#fff}
.pro-detail summary,.pro-advanced summary{cursor:pointer;font-weight:700;color:var(--pro-ink)}.pro-detail>.stack{margin-top:16px}
.pro-check{display:flex;gap:10px;align-items:center;margin:12px 0;font-weight:600}.pro-check input,.pro-criteria input{flex:0 0 auto;width:20px;height:20px;accent-color:var(--pro-ink)}
.pro-mandala{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.pro-mandala label{min-width:0;font-size:14px}.pro-mandala .field{min-height:110px;padding:9px}.pro-center .field{background:#fffae9;border:2px solid var(--pro-gold)}
.pro-criteria{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:16px 0}.pro-criteria label{display:flex;gap:8px;align-items:flex-start;font-weight:500;font-size:14px}
.pro-summary-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}.pro-summary-head span,.pro-pill{background:var(--pro-ink);color:#ffe0a0;padding:4px 10px;border-radius:7px;font-size:12px;letter-spacing:.06em}
.pro-command-row{display:flex;flex-wrap:wrap;gap:8px}.pro-goal-scope{display:block;font-size:12px;margin-top:8px}.pro-goal-scope .field{padding:6px;max-width:240px;font-size:13px}.pro-bank-tools{padding:12px 0}
#proDialog{width:min(780px,94vw)}.pro-advanced textarea[disabled]{opacity:.6}.error{color:#ac1724;font-weight:600}
[hidden]{display:none!important}.btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #bf8c2c;outline-offset:3px}
@media(max-width:600px){.pro-criteria{grid-template-columns:1fr}.pro-mandala{gap:5px}.pro-mandala .field{font-size:14px;min-height:115px}.pro-detail,.pro-toolbar{padding:12px}.pro-check{font-size:14px}.brand-text h1 .app-edition{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* The PRO wordmark needs its own measured column at desktop sizes. */
html .top{display:grid;grid-template-columns:minmax(330px,1fr) minmax(440px,1.15fr);gap:24px;align-items:center}
html .top .top-title{min-width:0;width:auto;margin:0;gap:14px}
html .top .brand-text h1{font-size:36px;white-space:nowrap;line-height:1.3}
html .top .brand-text h1 .app-edition{font-size:13px;margin-left:7px;vertical-align:middle}
html .top .brand-text small{font-size:11px}
html .top .top-controls-main{min-width:0;width:100%}


@media(max-width:1050px){html .top{grid-template-columns:minmax(0,1fr);gap:16px}html .top .top-title{justify-content:flex-start}html .top .brand-text h1{font-size:clamp(24px,5vw,36px)}}
@media(max-width:400px){html .top .brand-text h1{font-size:24px}html .top .brand-text small{font-size:9px}html .top .top-title{gap:10px}html .top .brand-text h1 .app-edition{font-size:10px;padding:2px 5px}}
/* Same three-row control order on phones, tablets and desktop; DOM follows the visual order. */
html .top #topControls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
html .top #topControls #settingsButton{grid-area:1/1;min-width:0;min-height:48px}
html .top #topControls .language-switch{grid-area:1/2;display:flex;margin:0;min-width:0;justify-self:stretch}
html .top #topControls .language-switch button{min-width:0;flex:1 1 0;white-space:nowrap;padding:8px 4px}
html .top #topControls #practiceMode{grid-area:2/1}
html .top #topControls #headerLevel{grid-area:2/2}
html .top #topControls .banner-learning-tools{grid-area:3/1/4/3;display:grid;grid-template-columns:minmax(0,54fr) minmax(0,46fr);gap:12px}


/* Native menus retain full option labels; the closed selection stays on one line. */
html .top #topControls select{width:100%;min-width:0;height:50px;min-height:50px;max-height:50px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal;line-height:1.3;padding:8px 30px 8px 12px}
html .top #topControls select option,html .top #topControls select optgroup{white-space:nowrap}
html .top #topControls .goal-split #goalsButton,html .top #topControls #wordBankButton{white-space:nowrap;overflow-wrap:normal;min-width:0;font-size:16px;gap:6px;padding:8px 5px;min-height:54px}
html .top #topControls #goalCameraButton{min-height:54px;width:44px;min-width:44px;padding:8px 4px}
html .top #topControls .goal-split #goalsButton{background:#fff4d6;color:#785024;border-color:#e7bf77}
html .top #topControls #goalCameraButton{background:#fff4d6;color:#785024;border-color:#e7bf77}
html .top #topControls .goal-split{border-color:#e7bf77}
.pro-debate-roles{min-width:0;border:0;padding:0;margin:0}.pro-debate-roles legend{font-weight:700;color:var(--pro-ink);margin-bottom:8px}
.pro-debate-role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pro-debate-role-grid .pro-check{border:1px solid var(--line);border-radius:10px;min-height:48px;margin:0;padding:8px;font-size:15px;gap:8px}
.pro-debate-role-grid .pro-check:has(input:checked){background:#f9f5e9;border-color:var(--pro-gold)}
.pro-debate-role-grid input:disabled{opacity:1;cursor:default}
@media(max-width:600px){html .top #topControls{gap:10px}html .top #topControls .banner-learning-tools{gap:10px}.pro-debate-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}html .top #topControls .goal-split #goalsButton,html .top #topControls #wordBankButton{font-size:13px;gap:4px}html .top #topControls #goalCameraButton{width:38px;min-width:38px}html .top #topControls select{font-size:15px}}
@media(max-width:360px){html .top #topControls{gap:8px}html .top #topControls .banner-learning-tools{gap:8px}html .top #topControls .goal-split #goalsButton,html .top #topControls #wordBankButton{font-size:11px;gap:3px}html .top #topControls #goalCameraButton{width:32px;min-width:32px}html .top #topControls .language-switch button{font-size:13px}html .top #topControls select{padding-left:8px;font-size:14px}}
