/* Small decorative touches; contents and selected tab outlines stay above the art. */
.schedule-panel,.routine-panel { position:relative; isolation:isolate; }
.schedule-panel::before,.routine-panel::before { content:""; position:absolute; pointer-events:none; z-index:-1; width:230px; height:230px; right:0; top:-50px; background:url("assets/timetable-friends.png") center/contain no-repeat; opacity:.32; }
.routine-panel::before { top:auto; bottom:4px; width:240px; height:240px; opacity:.2; }
.schedule-panel .schedule-heading,.routine-panel .section-heading { position:relative; }
.learn-nav { width:min(490px,calc(100% - 24px)); }
.learn-nav button { min-width:0; font-size:12px; padding:6px 3px; white-space:nowrap; }
.explore-intro h1 { font-size:clamp(25px,5vw,38px); }
.explore-library { padding:clamp(16px,3vw,28px); background:#fffef8; border:1px solid #dde5d7; border-radius:26px; }
.explore-search { display:flex; align-items:center; gap:10px; background:#f0f4e8; border:1px solid #d2dec8; border-radius:16px; padding:7px 10px 7px 16px; }
.explore-search>span { font-size:30px; color:#547e52; }
.explore-search input { flex:1; width:0; min-width:0; background:none; border:0; outline-offset:2px; color:#244c40; min-height:44px; font:inherit; font-size:16px; }
.explore-search button { border:0; padding:10px; border-radius:10px; background:#ffffffc9; color:#38604b; white-space:nowrap; }
.explore-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:18px; }
.explore-filters label { display:grid; gap:6px; min-width:0; font-size:13px; color:#627365; }
.explore-filters select { width:100%; min-width:0; font:inherit; font-size:15px; background:#fff; color:#254e3d; border:1px solid #d6e0cd; border-radius:12px; padding:11px 8px; min-height:44px; }
.explore-results-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:5px 16px; padding:10px 0; font-size:13px; color:#738173; }
.explore-results-heading p { margin:8px 0; font-size:15px; color:#315644; }
.explore-results-heading p>span { color:#788173; font-size:13px; }
.explore-list { list-style:none; margin:0; padding:0; }
.explore-list li { display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:14px; align-items:center; padding:20px 0; border-top:1px solid #e4e9df; }
.explore-list li>div { min-width:0; }
.explore-list h2 { margin:3px 0 5px; font-size:19px; line-height:1.4; overflow-wrap:anywhere; }
.explore-list p { font-size:14px; line-height:1.6; color:#6a7a6a; margin:0; overflow-wrap:anywhere; }
.explore-list small { font-size:12px; color:#597952; }
.explore-list button { min-width:64px; padding:9px 12px; font-size:14px; white-space:nowrap; }
.explore-type { display:grid; place-items:center; width:46px; height:46px; border-radius:15px; background:#edf2e2; font-size:23px; color:#5c784e; }
.explore-type.type-relax { color:#a5792a; background:#fbefcf; }.explore-type.type-game { background:#e5edf4; color:#466784; }.explore-type.type-quiz { background:#eee6f3; color:#795f89; }
.explore-more { display:block; margin:22px auto 0; }
.explore-empty { padding:38px 10px; text-align:center; color:#627864; }.explore-empty b { font-size:20px; }
.explore-weekend { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:16px; background:#f8f0da; border:1px solid #e9dcbb; border-radius:22px; padding:22px; margin:20px 0; color:#665125; }
.explore-weekend>span { color:#b88d32; font-size:38px; }
.explore-weekend small { font-size:10px; letter-spacing:.1em; color:#8b713c; }.explore-weekend h3 { font-size:18px; margin:5px 0 7px; }.explore-weekend p { margin:0; font-size:14px; line-height:1.7; }
.explore-weekend button { font-size:14px; white-space:nowrap; }
.family-video-filters button[aria-pressed="true"] { background:#e7efda; border-color:#79955e; color:#2c573c; }
.family-video-list .explore-show { background:linear-gradient(150deg,var(--show-bg),#fffdf7 70%); }
.explore-player-wrap { border-radius:20px; overflow:hidden; background:#192a27; min-height:220px; }
.explore-player-wrap iframe { display:block; width:100%; height:auto; min-height:220px; aspect-ratio:16/9; border:0; }
.explore-player-wrap .family-player-placeholder { border:0; margin:0; border-radius:0; min-height:260px; }
.explore-player-status { display:grid; grid-template-columns:8px minmax(0,1fr) auto; align-items:start; gap:10px; margin:16px 0; font-size:13px; }
.explore-player-status p { margin:0; line-height:1.7; overflow-wrap:anywhere; }.explore-player-status b { font-size:12px; border-radius:9px; padding:5px 8px; background:#edf2e7; white-space:nowrap; }
.explore-status-dot { width:7px; height:7px; border-radius:50%; background:#8ba765; margin-top:8px; }
.explore-video-help { border:1px solid #e7d9b5; background:#fffaeb; border-radius:16px; padding:18px; margin:18px 0; }
.explore-video-help strong { font-size:16px; }.explore-video-help p { font-size:14px; line-height:1.8; }.explore-video-help small { font-size:12px; line-height:1.8; display:block; margin-top:10px; color:#7d735b; }
.explore-video-help button { font-size:14px; line-height:1.5; }
.explore-typing-intro { text-align:center; padding:15px 10px 24px; }.explore-typing-intro>span { font-size:48px; color:#728d58; }.explore-typing-intro h3 { font-size:24px; margin:10px 0; }.explore-typing-intro p { color:#73826e; line-height:1.8; }
.explore-game-toolbar { display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-size:13px; color:#647963; }.explore-game-toolbar>span { margin-right:auto; }.explore-game-toolbar button { padding:10px 4px; min-height:44px; font-size:13px; }
.explore-game-hud { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:22px 0; }.explore-game-hud>div { text-align:center; background:#eff3e8; border-radius:16px; padding:16px 6px; min-width:0; }.explore-game-hud b { display:block; font-size:clamp(24px,5vw,35px); color:#315943; font-variant-numeric:tabular-nums; white-space:nowrap; }.explore-game-hud span { display:block; font-size:12px; color:#71816b; margin-top:6px; }
.explore-journey { height:10px; background:#e9eede; border-radius:20px; overflow:hidden; }.explore-journey>div { height:100%; width:0; border-radius:20px; background:linear-gradient(90deg,#9ab96d,#dfb756); transition:width .35s ease; }
.explore-word-stage { text-align:center; padding:30px 8px 15px; min-height:175px; }.explore-word-label { font-size:13px; color:#7b8a6e; }.explore-typing-word { margin:16px 0; font:700 clamp(28px,7vw,48px)/1.35 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:2px; color:#89967d; overflow-wrap:anywhere; }.explore-typing-word span { border-bottom:3px solid transparent; }.explore-typing-word .right { color:#428151; }.explore-typing-word .wrong { color:#b64e3b; background:#fbe7db; border-radius:5px; }.explore-typing-word .cursor { border-bottom-color:#a0b779; }
.explore-word-stage p { min-height:24px; font-size:14px; color:#6a7e57; }.explore-typing-field { margin-top:8px; }.explore-typing-field input { text-align:center; font:500 24px/1.5 ui-monospace,Consolas,monospace; min-height:60px; }.explore-typing-field input:focus { border-color:#8da562; box-shadow:0 0 0 4px #8ba85f1a; }.explore-typing-field input:disabled { background:#edf0e9; }
@media(max-width:540px) {
  .explore-filters { gap:8px; }.explore-filters select { font-size:14px; padding:10px 5px; }.explore-list li { grid-template-columns:36px minmax(0,1fr) auto; gap:10px; }.explore-type { width:36px; height:40px; font-size:19px; }.explore-list h2 { font-size:17px; }.explore-list p { font-size:13px; }.explore-list button { font-size:13px; padding:8px; min-width:52px; }.explore-results-heading>span { display:none; }
  .explore-weekend { grid-template-columns:32px minmax(0,1fr); gap:12px; padding:18px; }.explore-weekend>button { grid-column:2; justify-self:start; }.explore-weekend h3 { font-size:17px; }
  .explore-video-help { padding:14px; }.explore-video-help .family-actions { display:grid; }.explore-video-help button { width:100%; }.explore-player-status { grid-template-columns:8px minmax(0,1fr); }.explore-player-status>b { grid-column:2; justify-self:start; }.explore-game-hud { gap:7px; }
}
@media(prefers-reduced-motion:reduce) { .explore-journey>div { transition:none; } }
@media print { .schedule-panel::before,.routine-panel::before,[data-explore-mount] { display:none; } }
