/* Practice hierarchy and dialogue exercises */
.learning-panel--practice-glow{position:relative;isolation:isolate;border-color:#e9ff72!important;background:linear-gradient(140deg,#17291a 0%,#132117 68%,#292714 100%)!important;box-shadow:0 0 0 1px #caff6338,0 0 32px #dfff5525,inset 0 1px #f0ff9360!important}.learning-panel--practice-glow:before{content:"";position:absolute;z-index:-1;inset:-1px;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 92% 5%,#efff7150,transparent 32%)}.learning-panel--flash-first>h3{font-size:clamp(1.45rem,2.5vw,2rem)!important;text-shadow:0 0 18px #c4f47755}.pro-practice-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:20px}.pro-practice-heading span{color:#eaff73;font-size:.72rem;font-weight:900;letter-spacing:.15em}.pro-practice-heading h3{margin:5px 0 4px!important;color:#f3ffb8!important;font-size:clamp(1.45rem,2.5vw,2rem)!important}.pro-practice-heading p{margin:0;color:#b9c8b9;font-size:.88rem}.pro-practice-heading>strong{padding:8px 12px;border:1px solid #deff6f70;border-radius:999px;color:#17200f;background:#dcff73;box-shadow:0 0 20px #dcff7350;white-space:nowrap}.pro-lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pro-lesson-card{padding:20px;border:1px solid #dfff6355;border-radius:18px;background:#0e1911c9;box-shadow:0 15px 32px #0003}.pro-lesson-card>span{color:#dfff6a;font-size:.72rem;letter-spacing:.12em}.pro-lesson-card h4{margin:7px 0 2px;color:#f2ffe0;font-size:1.2rem}.pro-lesson-card>p{margin:0 0 16px;color:#94aa99;font-size:.82rem}.pro-lesson-card>div{display:grid;gap:9px}.pro-lesson-card button{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;padding:13px 14px;border:1px solid #8eaa7650;border-radius:13px;color:#ecf7ed;background:#17251b;text-align:left;cursor:pointer;transition:border-color .18s,transform .18s,box-shadow .18s}.pro-lesson-card button:hover{transform:translateY(-2px);border-color:#e2ff75;box-shadow:0 0 20px #dfff6b26}.pro-lesson-card button b{grid-row:1/3;color:#ddff6c}.pro-lesson-card button small{color:#8da193}.pro-dialogue-modal{width:min(940px,calc(100vw - 24px));max-height:92dvh;padding:0;border:1px solid #a7d87d;border-radius:24px;color:#edf7ed;background:#0b160f;box-shadow:0 35px 120px #000c,0 0 38px #beff6230}.pro-dialogue-modal::backdrop{background:#020a0588;backdrop-filter:blur(6px)}.pro-dialogue-sheet{padding:26px}.pro-dialogue-sheet>header{display:flex;justify-content:space-between;align-items:start;gap:20px;padding-bottom:20px;border-bottom:1px solid #a0b99935}.pro-dialogue-sheet>header span{color:#ccff69;font-size:.72rem;font-weight:900;letter-spacing:.14em}.pro-dialogue-sheet>header h2{margin:5px 0 0;color:#efffe7;font-size:1.8rem}.pro-dialogue-sheet>header p{margin:2px 0 0;color:#9db1a1}.pro-dialogue-sheet>header button{width:44px;height:44px;border:1px solid #9ab18f;border-radius:50%;color:#eaffdf;background:#17271b;font-size:1.5rem;cursor:pointer}.pro-dialogue-reference,.pro-dialogue-exercise{margin-top:22px}.pro-section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.pro-section-title strong,.pro-section-title small{display:block}.pro-section-title strong{color:#e9ff9f;font-size:1.15rem}.pro-section-title small{color:#819486}.pro-section-title button,.pro-cloze-controls select,.pro-start-exercise,.pro-exercise-actions button{padding:11px 15px;border:1px solid #b7d889;border-radius:999px;color:#efffe9;background:#1a2c1d;cursor:pointer}.pro-dialogue-line{display:grid;grid-template-columns:42px 1fr;gap:12px;margin:9px 0;padding:13px 15px;border:1px solid #77916945;border-radius:14px;background:#122017}.pro-dialogue-line.visitor{margin-left:8%;background:#18301f}.pro-dialogue-line.security{margin-right:8%;background:#142319}.pro-dialogue-line>button{width:40px;height:40px;border:1px solid #dfff6d55;border-radius:50%;color:#e6ff93;background:#223524;cursor:pointer}.pro-dialogue-line span,.pro-cloze-line>span{color:#9fbd9f;font-size:.7rem;font-weight:850;letter-spacing:.08em}.pro-dialogue-line p{margin:4px 0 0;line-height:1.6}.pro-start-exercise{display:block;width:100%;margin-top:22px;color:#14200f;background:linear-gradient(90deg,#bdf35f,#eaff84);font-weight:900;box-shadow:0 0 25px #d6ff6948}.pro-cloze-controls{display:flex;gap:8px;flex-wrap:wrap}.pro-cloze-line{display:grid;grid-template-columns:86px 1fr;gap:12px;margin:8px 0;padding:13px 15px;border:1px solid #72866c45;border-radius:12px;background:#0f1b13}.pro-cloze-line p{margin:0;line-height:2.6}.pro-cloze{position:relative;display:inline-flex;align-items:center;margin:0 3px}.pro-cloze span{position:absolute;left:8px;color:#67806c;font-size:.68rem;pointer-events:none}.pro-cloze input{width:100px;height:33px;padding:5px 8px;border:0;border-bottom:2px solid #dfff79;color:#fff;background:#07110a;outline:none}.pro-cloze input.correct{border-color:#75ec9b;background:#153b22}.pro-cloze input.wrong{border-color:#ff7777;background:#401c1c}.pro-exercise-actions{display:flex;align-items:center;gap:16px;margin-top:18px}.pro-exercise-actions button{color:#11200e;background:#dfff70;font-weight:900}.pro-exercise-actions p{margin:0;color:#eaff9a;font-weight:800}html.theme-day .learning-panel--practice-glow{background:linear-gradient(140deg,#fbfff1,#f6ffe4 68%,#fff8cc)!important}.theme-day .pro-lesson-card{background:#fff}.theme-day .pro-lesson-card h4,.theme-day .pro-lesson-card button{color:#18341e}.theme-day .pro-lesson-card button{background:#f7fff1}@media(max-width:720px){.pro-lesson-grid{grid-template-columns:1fr}.pro-practice-heading,.pro-section-title{align-items:stretch;flex-direction:column}.pro-dialogue-sheet{padding:18px}.pro-dialogue-line.visitor,.pro-dialogue-line.security{margin-left:0;margin-right:0}.pro-cloze-line{grid-template-columns:1fr}.pro-cloze-controls{display:grid;grid-template-columns:1fr 1fr}}

/* Phone-first course, card and ticket refinements */
.course-link-note{display:none!important}.app-shell,.workspace{width:100%;max-width:none!important;min-width:0}.front-display-card,.flashcard-back-card{touch-action:pan-y}.card-answer-stack>[lang="zh-Hant"]{order:-1}.card-answer-stack>div[lang="zh-Hant"] h2{font-size:1.08em!important}.card-answer-stack>div:not([lang]) h2{font-size:.9em!important}.flashcard-back-card .example-pair p[lang="zh-Hant"]{order:-1;font-size:1.06em}.flashcard-back-card .example-pair p:not([lang]){font-size:.9em}.card-answer-stack h2{overflow-wrap:anywhere}.pro-report-bug{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:90;display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid #dcff78;border-radius:999px;color:#ecffd8;background:#16291b;box-shadow:0 0 24px #dfff5840;cursor:pointer}.pro-report-bug>strong{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#1a290e;background:#dfff72}.pro-report-bug span,.pro-report-bug small{display:block;text-align:left}.pro-report-bug small{color:#aabeaa;font-size:.66rem}.pro-bug-dialog{width:min(600px,calc(100vw - 24px));padding:0;border:1px solid #9cc77b;border-radius:22px;color:#eff9ef;background:#0c1710;box-shadow:0 28px 100px #000b,0 0 30px #caff6528}.pro-bug-dialog::backdrop{background:#02080399;backdrop-filter:blur(5px)}.pro-bug-dialog form{display:grid;gap:16px;padding:24px}.pro-bug-dialog header{display:flex;justify-content:space-between;gap:15px}.pro-bug-dialog header small{color:#dfff6f;font-weight:900;letter-spacing:.14em}.pro-bug-dialog h2{margin:5px 0 0}.pro-bug-dialog header p{margin:2px 0;color:#94aa99}.pro-bug-dialog header button{width:42px;height:42px;border:1px solid #769071;border-radius:50%;color:#fff;background:#17251b;font-size:1.4rem}.pro-bug-dialog label{display:grid;gap:7px;color:#cfe0ce;font-weight:800}.pro-bug-dialog input,.pro-bug-dialog textarea{width:100%;padding:12px 13px;border:1px solid #60765e;border-radius:12px;color:#fff;background:#07100a;font:inherit}.pro-bug-privacy{margin:0;color:#8fa193;font-size:.78rem;line-height:1.55}.pro-bug-submit{min-height:48px;border:0;border-radius:13px;color:#16230e;background:#dfff72;font-weight:900}.pro-bug-dialog [role=status]{margin:0;color:#e7ff9d;font-weight:800}
@media(max-width:600px){html,body,#root{width:100%;max-width:100%;overflow-x:hidden}.app-header{padding:12px!important;flex-wrap:wrap}.header-actions{max-width:100%;flex-wrap:wrap}.workspace{padding-inline:12px!important}.page-heading{align-items:flex-start!important;flex-direction:column}.study-layout{display:block!important}.card-stage{width:100%!important;min-width:0!important}.flashcard{width:100%!important;min-width:0!important;padding:clamp(18px,5vw,28px)!important}.front-display-card .flashcard-text{font-size:clamp(2rem,11vw,3.4rem)!important;line-height:1.05!important}.front-examples{font-size:clamp(.78rem,3.6vw,.95rem)!important}.flashcard-back-card .card-answer{display:block!important}.flashcard-back-card .card-answer-stack h2{font-size:clamp(1.25rem,6.5vw,1.8rem)!important;line-height:1.12!important}.flashcard-back-card .card-examples{font-size:clamp(.72rem,3.15vw,.88rem)!important;line-height:1.35!important}.flashcard-back-card .example-pair{padding-block:7px!important}.study-side{width:100%!important}.grade-controls{grid-template-columns:1fr 1fr!important}.study-footer{display:grid!important;grid-template-columns:1fr 1fr!important}.study-footer button:last-child{grid-column:1/-1}.mode-grid,.range-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mode-grid button,.range-grid button{min-width:0!important}.pro-report-bug span{display:none}.pro-report-bug{padding:10px}.pro-dialogue-modal{max-height:96dvh}.pro-dialogue-sheet{padding:14px}.pro-dialogue-line p{font-size:.84rem}.pro-cloze input{width:78px}}

/* Header sound control and editorial chart finish */
.professional-sound-toggle{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:7px 12px;border:1px solid #5f7c69;border-radius:12px;color:#eff9ee;background:#17261b;box-shadow:0 8px 24px #0002;cursor:pointer}.professional-sound-toggle>span{font-size:1.1rem}.professional-sound-toggle strong,.professional-sound-toggle small{display:block}.professional-sound-toggle strong{font-size:.76rem;line-height:1.1}.professional-sound-toggle small{margin-top:2px;color:#a8b8aa;font-size:.62rem}.professional-sound-toggle.is-muted{opacity:.72}.axis-chart,.team-effort-chart{overflow:visible}.axis-chart .chart-gridline,.team-effort-chart .team-chart-grid{stroke-opacity:.28!important;stroke-dasharray:2 8}.axis-chart .chart-line,.axis-chart [data-editorial-curve],.team-effort-chart .team-chart-line,.team-effort-chart .team-chart-total{stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 5px 8px rgba(5,20,10,.18));transition:opacity .2s,filter .2s}.axis-chart circle,.team-effort-chart circle{transform-box:fill-box;transform-origin:center;opacity:.46;stroke:#fff;stroke-width:1.5px;transition:opacity .16s,transform .16s,filter .16s}.axis-chart circle:hover,.team-effort-chart circle:hover{opacity:1;transform:scale(1.75);filter:drop-shadow(0 3px 5px rgba(0,0,0,.3))}.course-dashboard:has(.axis-chart:hover) .chart-line{opacity:.72}.course-dashboard:has(.axis-chart:hover) .chart-line:hover{opacity:1;filter:drop-shadow(0 4px 10px currentColor)}html.theme-day .professional-sound-toggle{border-color:#82a48d;color:#153d31;background:#f7fff7;box-shadow:0 8px 22px #224b3420}html.theme-day .professional-sound-toggle small{color:#4f7160}html.theme-day .axis-chart circle,html.theme-day .team-effort-chart circle{stroke:#f7fff9}
@media(max-width:600px){.professional-sound-toggle{min-height:38px;padding:6px 9px}.professional-sound-toggle strong{font-size:.7rem}}
.pro-zh,.pro-en{display:block}.pro-zh{font-size:1.06em;font-weight:850;line-height:1.22}.pro-en{margin-top:4px;font-size:.76em;line-height:1.15;opacity:.78}

/* Day mode keeps the neon treatment on borders and glows, with readable accent text. */
html.theme-day .pro-practice-heading span,
html.theme-day .pro-lesson-card>span,
html.theme-day .pro-lesson-card button b{color:#426400!important;text-shadow:none}
html.theme-day .pro-practice-heading h3{color:#174b36!important;text-shadow:none!important}
html.theme-day .pro-practice-heading p,
html.theme-day .pro-lesson-card>p,
html.theme-day .pro-lesson-card button small{color:#536d62!important;opacity:1}

/* Keep the card range, size and completion status as separate readable rows. */
.range-grid button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left}
.range-grid .pro-range-numbers{display:block;font-size:1.1rem;font-weight:750;line-height:1.25;white-space:nowrap}
.range-grid .pro-range-count{display:block;font-size:.7rem;line-height:1.35;opacity:.8}
.range-grid .range-status{display:flex;align-items:flex-start;gap:5px;margin-top:4px}
.range-grid .range-status .pro-zh{font-size:.85rem}
.range-grid .range-status .pro-en{font-size:.7rem}
.team-effort-chart .team-chart-point{opacity:1}
.team-effort-chart .team-chart-total-point{stroke:var(--text,#eff7ed);stroke-width:2;pointer-events:all}
.team-effort-chart .team-chart-count{fill:var(--text,#eff7ed);font-size:13px;font-weight:800}
.team-effort-chart circle:focus{outline:none;filter:drop-shadow(0 0 5px currentColor);stroke-width:3}

/* Every remaining marker represents positive activity and must remain visible. */
.axis-chart circle{opacity:1}

.pro-dialogue-link{display:grid;gap:6px;text-decoration:none;padding:18px;border:1px solid var(--line,#365040);border-radius:14px;background:var(--panel,#13231b);color:var(--text,#edf5ef)}.pro-dialogue-link b,.pro-dialogue-link small{font-size:.75rem;color:var(--muted,#a8bdb0)}.pro-dialogue-link span{font-size:1.1rem;font-weight:700}.pro-dialogue-link:hover{border-color:var(--accent,#c8ed80)}
.lesson4-notice{max-width:34rem;border:1px solid #c9ad91;border-radius:1.1rem;padding:2rem;color:#35261f;background:#fffaf3;box-shadow:0 1.5rem 5rem #5c3b2b2b}.lesson4-notice::backdrop{background:#1f171366}.lesson4-notice-close{float:right;border:0;background:transparent;font-size:1.5rem}.lesson4-notice-actions{display:flex;flex-wrap:wrap;gap:.6rem}.lesson4-notice-actions a{border:1px solid #b47a54;border-radius:.7rem;padding:.65rem .85rem;color:#5d3522;text-decoration:none;background:#fff}
