/* Structure only. All visual tokens come from the existing design. */
.structure-details { margin-top: 18px; }
.structure-details > summary { cursor: pointer; }
.structure-details[open] > summary { margin-bottom: 18px; }
.structure-details .routine-panel { margin-bottom: 0; }
.structure-details .plan-table { margin-top: 18px; }
.home-main > .today-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 560px) { .home-main > .today-grid { grid-template-columns: 1fr; } }

/* Navigation remains in the original visual language. */
.home-directory { margin:26px 0; }
.directory-intro { margin:-8px 0 16px; font-size:12px; }
.home-directory .zones-big { grid-template-columns:repeat(2,minmax(0,1fr)); }
.worlds-entry { display:flex; align-items:center; gap:18px; margin:20px 0; text-decoration:none; }
.worlds-entry-icon { flex-shrink:0; display:grid; place-items:center; width:48px; height:48px; background:var(--surface-soft); border-radius:14px; }
.worlds-entry h2 { margin:4px 0; font-size:22px; }
.worlds-entry p { margin:0; color:var(--muted); }
.worlds-entry-cta { margin-left:auto; display:flex; gap:8px; align-items:center; font-weight:700; }
.worlds-how h2 { font-size:18px; }
.worlds-how ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-left:22px; }
.worlds-how li { padding-left:4px; }
.worlds-how li span { display:block; color:var(--muted); font-size:12px; margin-top:5px; }
.worlds-catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:20px; }
.worlds-choice { display:flex; flex-direction:column; align-items:flex-start; }
.worlds-choice h2 { font-size:30px; margin:14px 0 4px; }
.worlds-choice h3 { font-size:15px; margin:0; }
.worlds-choice p { color:var(--muted); }
.worlds-choice small { display:block; margin:auto 0 20px; }
@media(max-width:720px) {
 .space-tabs { display:flex; flex-wrap:nowrap; overflow-x:auto; white-space:nowrap; scrollbar-width:none; padding-bottom:8px; }
 .space-tabs a { min-height:44px; display:inline-flex; align-items:center; flex-shrink:0; }
 .dock { padding-bottom:env(safe-area-inset-bottom,0px); }
 .dock-item { min-height:48px; }
 .worlds-catalog { grid-template-columns:1fr; }
 .worlds-how ol { grid-template-columns:1fr; gap:14px; }
 .worlds-entry { flex-wrap:wrap; gap:12px; }
 .worlds-entry>div { flex:1; min-width:180px; }
 .worlds-entry-cta { width:100%; margin:0; min-height:44px; }
 .worlds-choice .button { width:100%; min-height:48px; }
 .home-directory .zone-big { min-width:0; }
}

.intro-sound { position:absolute; top:24px; left:24px; z-index:10; min-height:44px; border:1px solid #ffffff40; border-radius:22px; padding:10px 16px; background:#ffffff12; color:#fff; cursor:pointer; font-size:12px; backdrop-filter:blur(12px); }
@media(max-width:560px){.intro-sound{top:16px;left:16px;font-size:11px;padding:8px 12px;}}

/* Scripts are isolated within learning content; navigation keeps its Catalan flow. */
[lang="ar"] { letter-spacing:normal!important; text-transform:none!important; line-height:1.85; font-family:Tahoma,"Geeza Pro","Noto Naskh Arabic",sans-serif; }
[lang="zh"],[lang="ja"] { letter-spacing:normal!important; line-height:1.8; word-break:normal; overflow-wrap:anywhere; }
[dir="rtl"] { text-align:right; unicode-bidi:isolate; }
.build-answer[dir="rtl"],.build-bank[dir="rtl"] { direction:rtl; }
.reading-guide { font-size:14px; color:var(--muted); line-height:1.7; }
.reading-guide span { display:block; font-size:10px; font-weight:700; text-transform:uppercase; }
.writing-guide { margin:18px 0; }
.writing-guide h2 { font-size:17px; }
.writing-guide p { color:var(--muted); font-size:13px; }
