body.cq-learning-home {
    --cq-ink:#173f36; --cq-muted:#506459; --cq-line:#dce5d9;
    background:#f6f7f0; color:var(--cq-ink);
    font-family:"PingFang SC","Microsoft YaHei",sans-serif;
}
body.cq-learning-home .site-header, body.cq-learning-home #site-navigation,
body.cq-learning-home #right-sidebar, body.cq-learning-home #left-sidebar,
body.cq-learning-home .site-footer, body.cq-learning-home .entry-header,
body.cq-learning-home .entry-meta, body.cq-learning-home .footer-bar { display:none; }
body.cq-learning-home #page, body.cq-learning-home #primary,
body.cq-learning-home .site-main, body.cq-learning-home .inside-article {
    width:100%; max-width:none; margin:0; padding:0; background:transparent;
}
body.cq-learning-home .site-content { display:block; padding:0; }
body.cq-learning-home .entry-content { margin:0; }
.cq-home { max-width:1080px; margin:auto; padding:0 40px; font-size:18px; line-height:1.75; }
.cq-home *, .cq-home *::before, .cq-home *::after { box-sizing:border-box; }
.cq-home a { color:inherit; text-decoration:none; }
.cq-home a:focus-visible { outline:3px solid #b9703b; outline-offset:5px; }
.cq-home p { margin:0; }
.cq-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 0; border-bottom:1px solid var(--cq-line); }
.cq-brand { display:flex; align-items:center; gap:14px; min-width:0; font-size:26px; font-weight:700; line-height:1.35; }
.cq-brand-copy { min-width:0; overflow-wrap:anywhere; }
.cq-brand .cq-mark { flex-shrink:0; }
.cq-header nav { flex-shrink:0; }
.cq-mark { display:grid; place-items:center; width:54px; height:54px; background:var(--cq-ink); color:white; border-radius:18px 18px 18px 5px; font-size:30px; }
.cq-brand small { display:block; margin-top:4px; font-size:16px; color:var(--cq-muted); font-weight:400; letter-spacing:2px; }
.cq-header nav a { display:flex; align-items:center; gap:8px; min-height:48px; padding:8px 0 8px 16px; font-size:18px; }
.cq-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,380px); align-items:center; gap:56px; padding:52px 0; min-height:460px; }
.cq-eyebrow { display:flex; align-items:center; gap:10px; font-size:18px; color:var(--cq-muted); }
.cq-eyebrow > span { width:9px; height:9px; background:#b57547; border-radius:50%; }
.cq-home h1 { margin:18px 0; color:var(--cq-ink); font-size:clamp(44px,5.2vw,64px); font-weight:750; line-height:1.25; letter-spacing:-2px; }
.cq-home h1 span { color:#986039; }
.cq-intro { color:var(--cq-muted); font-size:20px; line-height:1.8; }
.cq-creative-note { display:flex; align-items:center; gap:16px; margin-top:24px; color:var(--cq-muted); font-size:13px; letter-spacing:1px; }
.cq-note-dot { padding:0 8px; color:#b57547; }
.cq-creative-note svg { width:100px; height:56px; flex-shrink:0; }
.cq-entry-card { position:relative; padding:28px; background:linear-gradient(145deg,#fff 65%,#f3f6ed); border:1px solid var(--cq-line); border-radius:22px; box-shadow:0 12px 36px #204f300b; }
.cq-entry-card::after { content:""; position:absolute; top:26px; right:28px; width:43px; height:35px; background:radial-gradient(circle,#c4d2bd 1.5px,transparent 2px) 0 0 / 10px 10px; pointer-events:none; }
.cq-entry-icon { display:grid; place-items:center; width:54px; height:54px; margin-bottom:18px; border-radius:16px; background:#edf3e7; color:#355a43; }
.cq-entry-icon svg { width:34px; height:34px; }
.cq-home .cq-entry-card h2 { color:var(--cq-ink); font-size:30px; line-height:1.4; font-weight:650; margin:0 0 12px; }
.cq-user-name { font-size:20px; font-weight:600; overflow-wrap:anywhere; margin-bottom:10px!important; }
.cq-entry-description { color:var(--cq-muted); font-size:18px; line-height:1.8; }
.cq-home .cq-button { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:58px; margin-top:28px; padding:14px 22px; background:#234d3d; color:white; border:1px solid #234d3d; border-radius:12px; font-size:20px; line-height:1.5; font-weight:600; }
.cq-home .cq-button:hover { background:#173b2e; }
.cq-header nav a:hover, .cq-footer a:hover { text-decoration:underline; text-underline-offset:5px; }
.cq-footer { display:flex; flex-direction:column; align-items:center; gap:0; border-top:1px solid var(--cq-line); padding:14px 0 18px; color:var(--cq-muted); font-size:14px; text-align:center; }
.cq-footer-meta { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:4px 24px; max-width:100%; font-size:15px; }
.cq-footer-brand { min-width:0; overflow-wrap:anywhere; }
.cq-footer a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; max-width:100%; }
.cq-footer-filing { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px 16px; max-width:100%; }
.cq-filing-number { font-size:13px; }
@media(max-width:850px) {
    .cq-hero { gap:28px; grid-template-columns:minmax(0,1fr) minmax(0,340px); }
    .cq-home h1 { font-size:46px; }
    .cq-entry-card { padding:28px; }
    .cq-creative-note { gap:8px; letter-spacing:0; }
    .cq-creative-note svg { width:76px; }
    .cq-note-dot { padding:0 5px; }
}
@media(max-width:680px) {
    .cq-home { padding:0 20px; }
    .cq-header { padding:16px 0; gap:16px; }
    .cq-brand { font-size:23px; gap:10px; }
    .cq-mark { width:46px; height:46px; border-radius:14px 14px 14px 4px; font-size:26px; }
    .cq-brand small { font-size:16px; }
    .cq-header nav a { font-size:17px; padding-left:0; }
    .cq-hero { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; padding:28px 0; min-height:0; }
    .cq-home h1 { font-size:40px; letter-spacing:-1px; margin:14px 0; }
    .cq-intro { font-size:18px; }
    .cq-creative-note { justify-content:space-between; margin-top:14px; font-size:12px; }
    .cq-creative-note svg { width:84px; height:48px; }
    .cq-entry-card { padding:24px; border-radius:20px; }
    .cq-entry-icon { width:46px; height:46px; border-radius:14px; margin-bottom:14px; }
    .cq-entry-icon svg { width:34px; height:34px; }
    .cq-home .cq-entry-card h2 { font-size:25px; margin-bottom:8px; }
    .cq-entry-description { font-size:17px; line-height:1.7; }
    .cq-home .cq-button { margin-top:18px; min-height:54px; padding:12px 20px; }
    .cq-footer { padding:12px 0 16px; }
    .cq-footer-meta { gap:4px 20px; }
}
@media(max-width:360px) {
    .cq-home { padding:0 16px; }
    .cq-brand { font-size:21px; }
    .cq-header nav a { font-size:16px; }
    .cq-home h1 { font-size:38px; }
    .cq-creative-note svg { width:66px; }
    .cq-note-dot { padding:0 4px; }
    .cq-entry-card { padding:22px; }
}

.cq-police-filing { display:inline-flex; align-items:center; gap:4px; }.cq-police-filing img { flex:none; width:16px; height:16px; object-fit:contain; }

/* Independent classroom entry, shown only in the signed-in student home card. */
.cq-practice-entry { margin-top:24px; padding-top:22px; border-top:1px solid var(--cq-line); }
.cq-home .cq-button.cq-button-practice { margin-top:0; background:#f0f5ed; color:#234d3d; border-color:#b7cbb8; }
.cq-home .cq-button.cq-button-practice:hover { background:#e3eddf; border-color:#5c8067; }
.cq-home .cq-practice-description { margin:10px 0 0; color:var(--cq-muted); font-size:14px; line-height:1.7; }
