/* CATH — a quiet little world for learning. */
:root{--world-sky:#d7edfa;--world-blue:#477dde;--world-ink:#263f51;--world-muted:#607b8b;--world-glass:rgba(255,255,255,.73);--world-line:rgba(255,255,255,.8)}
.cath-world .site-brand img,.cath-world .admin-brand img,.cath-world .brand-mark{mix-blend-mode:multiply}
body.cath-world{color:var(--world-ink);background:radial-gradient(ellipse at 88% 15%,#d8eee3 0,transparent 42%),linear-gradient(180deg,#c8e4f8 0%,#e4f3fa 68%,#dbeef5 100%);background-attachment:fixed;font-family:-apple-system,BlinkMacSystemFont,"Avenir Next","PingFang SC","Microsoft YaHei",sans-serif;--accent:#477dde;--accent-deep:#3265c3;--accent-soft:#e3edfc;--bg:#dfedf5;--panel:rgba(255,255,255,.78);--panel-solid:#f4f9fc;--text:#263f51;--muted:#607b8b;--line:#d7e6ee;--success-bg:#e7f2df;--success-text:#496e39}
.cath-world h1,.cath-world h2,.cath-world h3{text-wrap:balance;letter-spacing:-.035em}
.cath-world a:focus-visible,.cath-world button:focus-visible,.cath-world select:focus-visible,.cath-world input:focus-visible{outline:3px solid #477dde;outline-offset:4px}
.cath-world .topbar-card{background:rgba(244,251,255,.63);border:1px solid var(--world-line);box-shadow:0 8px 28px #4c86ad0c;border-radius:26px;backdrop-filter:blur(20px)}
.cath-world .subject-nav-link,.cath-world .activity-nav-link,.cath-world .activity-nav-current,.cath-world .topbar-current{color:#36556c;background:transparent;box-shadow:none}
.cath-world .subject-dropdown-link{background:#ecf5fb;color:#335b80;font-weight:600}
.cath-world .subject-dropdown-link:hover{background:#dceafa}
.cath-world .subject-nav-code{background:#dceafa!important;color:#3866a6}
.world-intro{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:20px;max-width:1140px;margin:12px auto 0;padding:12px 20px 4px}
.world-intro-copy{padding:22px 0 22px 20px}.world-kicker{font-size:13px;color:#567e98;font-weight:600;letter-spacing:.08em;margin:0 0 14px}
.world-intro h1{font-size:clamp(30px,4.3vw,54px);font-weight:750;line-height:1.17;margin:0 0 18px;max-width:510px}
.world-intro p:not(.world-kicker){font-size:16px;line-height:1.8;color:#577589;max-width:390px}
.world-art{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse 70% 70% at center,#000 48%,transparent 76%)}
.world-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:0 24px;border-radius:25px;background:#477dde;color:white!important;text-decoration:none;font-size:14px;font-weight:600;box-shadow:0 6px 14px #497cdd20}
.world-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px}.world-heading h2{font-size:21px;margin:0}.world-heading span{font-size:13px;color:#56768c}
.cath-world .topic-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.cath-world .topic-card{position:relative;padding:23px 24px;background:var(--world-glass);border:1px solid #ffffff99;border-radius:25px;box-shadow:0 6px 18px #658ba20a;overflow:hidden}
.cath-world .topic-card:before{content:"";display:block;width:48px;height:8px;border-radius:8px;background:#acd68c;box-shadow:inset 0 2px 2px #ffffff88;margin-bottom:20px}
.cath-world .topic-card:nth-child(3n+2):before{background:#8fbeed}.cath-world .topic-card:nth-child(3n):before{background:#b4b7e6}
.cath-world .topic-card:hover{background:#f8fcff;box-shadow:0 12px 24px #668fac18;transform:translateY(-3px)}
.cath-world .topic-card h3{font-size:20px}.cath-world .topic-card p{color:#637e8d;font-size:14px}
.cath-world .word-card-face{background:#f6fbff;border:1px solid #fff;border-radius:30px;box-shadow:0 12px 30px #628aac18}
.cath-world .word-card-back{background:#eff7ec}.cath-world .card-front-badge{background:#e4efdb;color:#506c3d}
.cath-world .playback-toolbar,.cath-world .mode-toolbar{background:#f4faffbb;border-color:#ffffff99;border-radius:24px}
.cath-world .play-button,.cath-world .hanzi-control-button,.cath-world .world-link{background:#477dde;color:white}
.cath-world .flip-button,.cath-world .hanzi-button{background:#e7f0dd;color:#486842}
.cath-world .hanzi-dialog{background:#f1f8fc;border-radius:28px}.cath-world .hanzi-target{background:white}
.cath-world .cath-bottom-nav{background:rgba(244,250,251,.88);border-color:#ffffffbb;box-shadow:0 9px 26px #48738b1c;border-radius:25px}
.cath-world .cath-bottom-nav a[aria-current]{background:#e0ecfc;color:#386dcc}
.cath-world .materials{gap:20px}.cath-world .material{background:#f7fbfbc9;border:1px solid #ffffffaa;border-radius:28px;box-shadow:0 8px 28px #658ba20c;transition:transform .2s}
.cath-world .material:hover{transform:translateY(-4px)}.cath-world .level{background:#e5f0d9;color:#4e713c;border-radius:16px}
.cath-world .tabs a{background:#f5fbfc99;color:#52768b}.cath-world .tabs a[aria-current]{background:#477dde;color:white}
.cath-world .empty{background:#f6fbfacc;border:1px solid white;border-radius:28px}.cath-world .empty p{max-width:540px}
.cath-world .panel,.cath-world .stat-card,.cath-world .overview-card,.cath-world .card,.cath-world .student-card,.cath-world .topic-card-group,.cath-world .saved-card-item{background:#f7fbfce6;border-color:#d9e7ee;border-radius:24px;box-shadow:0 8px 24px #688aa20a}
.cath-world .overview-note{background:#eaf3df;color:#4c6649}.cath-world .nav-link.active,.cath-world button[type=submit]:not(.danger-button){background:#477dde;color:white;border-color:transparent}
.cath-world input,.cath-world select,.cath-world textarea{border-color:#cadde7;background:#fbfdfe;color:#284557}
.cath-world .checklist-table th,.cath-world .checklist-table .sticky-col{background:#edf5fa;color:#29485d}
.cath-world .checklist-theme-header,.cath-world .topic-card-group-summary{background:#e7f1f7}
.cath-world .login-note{color:#68828f}.cath-login .card{padding-top:18px}.login-island{width:180px;display:block;margin:0 auto;mix-blend-mode:multiply;border-radius:40%}
.cath-world .overview-card strong,.cath-world .stat-value{font-variant-numeric:tabular-nums;color:#4274b6}
.cath-world button,.cath-world .world-link{transition:background .2s,transform .2s}.cath-world button:active,.cath-world .world-link:active{transform:translateY(1px)}
@media(max-width:767px){.world-intro{display:flex;flex-direction:column;gap:0;margin:10px auto 0;padding:0 24px}.world-intro-copy{padding:10px 0 0;width:100%}.world-intro h1{font-size:32px;max-width:330px;margin-bottom:10px}.world-intro p:not(.world-kicker){font-size:14px;margin:8px 0}.world-kicker{font-size:11px;margin-bottom:10px}.world-art{width:min(100%,390px);margin:-2px auto -8px}.world-intro .world-link{margin-top:8px}.cath-world .topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cath-world .topic-card{padding:18px 16px;border-radius:22px}.cath-world .topic-card h3{font-size:17px;overflow-wrap:anywhere}.cath-world .topic-card p{font-size:12px}.cath-world .section{padding-top:18px}.cath-world .word-card,.cath-world .placeholder-card{min-width:0;width:min(100%,380px)}.cath-world .card-grid{grid-template-columns:minmax(0,1fr)}.cath-world .admin-topbar .topbar-card{flex-wrap:wrap}.cath-world .admin-topbar .topbar-nav{order:3;width:100%}.cath-world .topbar{padding-top:14px}.world-heading{margin-bottom:16px}.world-heading h2{font-size:19px}}
@media(prefers-reduced-motion:reduce){.cath-world *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Premium app shell refresh */
:root{--ios-bg:#f4f8fd;--ios-blue:#4f7cf7;--ios-blue-deep:#315fd5;--ios-ink:#24364b;--ios-muted:#6d8195;--ios-surface:rgba(255,255,255,.72);--ios-shadow:0 18px 48px rgba(50,91,140,.11)}
body.cath-world > .topbar,body.cath-world > header{display:none!important}
body.cath-world .cath-bottom-nav{width:min(360px,calc(100% - 36px))}
body.cath-world{background:radial-gradient(ellipse at 84% 8%,rgba(197,231,221,.62) 0,transparent 32%),radial-gradient(ellipse at 8% 2%,rgba(207,226,255,.72) 0,transparent 38%),linear-gradient(180deg,#eef6fd 0%,#f7fbff 60%,#f1f7fb 100%);color:var(--ios-ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Avenir Next",sans-serif}
.cath-world .topbar{padding-top:18px}.cath-world .topbar-card{background:rgba(255,255,255,.64);border:1px solid rgba(255,255,255,.9);box-shadow:0 10px 32px rgba(58,102,147,.1);border-radius:28px;backdrop-filter:blur(24px) saturate(150%)}
.cath-world .site-brand img,.cath-world .admin-brand img{width:96px;height:52px}.cath-world .topbar-current{background:#e4ecff;color:#345cc1;font-weight:700;border-radius:14px;min-height:38px;padding:0 13px;font-size:13px}
.world-intro{max-width:1180px;grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr);gap:10px;padding:28px 28px 8px;margin-top:14px}.world-intro-copy{padding:20px 0 24px 8px}.world-kicker{color:#6988a6;font-size:11px;letter-spacing:.16em;font-weight:700}.world-intro h1{font-size:clamp(36px,5vw,62px);line-height:1.04;letter-spacing:-.055em;color:#253d56;max-width:560px}.world-intro h1 em{font-style:normal;color:var(--ios-blue)}.world-intro p:not(.world-kicker){color:#71879b;max-width:390px;line-height:1.65}.world-art-wrap{position:relative;min-height:300px;display:grid;place-items:center}.world-art-glow{position:absolute;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(177,216,255,.62),rgba(226,242,255,0) 68%);filter:blur(8px)}.world-art{position:relative;z-index:1;width:100%;max-width:540px;filter:drop-shadow(0 20px 18px rgba(66,115,145,.14));mask-image:radial-gradient(ellipse 74% 72% at center,#000 55%,transparent 82%)}.world-art-caption{position:absolute;z-index:2;right:8%;bottom:17%;padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.75);color:#68819a;font-size:11px;letter-spacing:.05em;box-shadow:0 8px 18px rgba(65,104,136,.1);backdrop-filter:blur(10px)}
.world-heading{align-items:flex-end;margin:14px 0 18px}.world-heading h2{font-size:24px;color:#29445d}.world-heading span{padding-bottom:4px;color:#7690a5}.world-section-kicker{margin:0 0 5px;color:#6c8daf;font-size:10px;letter-spacing:.15em;font-weight:700}.cath-world .topic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cath-world .topic-card{min-height:158px;padding:22px 22px 20px;background:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.92);box-shadow:var(--ios-shadow);border-radius:24px;display:flex;flex-direction:column;justify-content:flex-end}.cath-world .topic-card:before{margin-bottom:auto;height:9px;width:42px}.cath-world .topic-card h3{font-size:21px;color:#29445d;margin:18px 0 7px}.cath-world .topic-card p{color:#71869a;font-size:13px}.cath-world .topic-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(50,91,140,.15)}
.cath-world .cath-bottom-nav{background:rgba(255,255,255,.78);border-color:rgba(255,255,255,.95);box-shadow:0 12px 32px rgba(50,91,140,.16)}.cath-world .cath-bottom-nav a[aria-current]{background:#e5edff;color:#3867dc}.cath-world .cath-bottom-nav a{color:#74879a}
.cath-world .materials{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cath-world .material{padding:25px;background:rgba(255,255,255,.68);border:1px solid rgba(255,255,255,.92);box-shadow:var(--ios-shadow)}.cath-world .material h2{color:#29445d}.cath-world .level{background:#e4ecff;color:#4267c1}
@media(max-width:767px){.world-intro{display:flex;padding:12px 20px 0}.world-intro-copy{padding:8px 4px 0}.world-intro h1{font-size:38px;line-height:1.05}.world-intro-actions{margin-top:16px;gap:12px}.world-art-wrap{min-height:252px;margin-top:-8px}.world-art-caption{right:7%;bottom:12%;font-size:10px}.world-heading{align-items:flex-end;margin-top:20px}.world-heading h2{font-size:20px;max-width:260px}.cath-world .topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cath-world .topic-card{min-height:148px;padding:17px 15px;border-radius:21px}.cath-world .topic-card h3{font-size:17px}.cath-world .materials{grid-template-columns:1fr}.cath-world .material{padding:22px}}
