:root{color-scheme:light;font-family:system-ui,"Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);line-height:1.7;--rule:#d8dde0;--wash:#f0f2f4;--muted:#39434e}
@supports(color:color-mix(in srgb,#000,#fff)){:root{--rule:color-mix(in srgb,var(--ink) 15%,transparent);--wash:color-mix(in srgb,var(--accent) 7%,var(--paper));--muted:color-mix(in srgb,var(--ink) 82%,var(--paper))}}
*,*::before,*::after{box-sizing:border-box}body{margin:0}img{display:block;width:100%;height:auto}a{color:inherit;text-underline-offset:.22em}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3,p,figure{margin-top:0}p{margin-bottom:1em}h1,h2,h3{line-height:1.28;overflow-wrap:anywhere}h1{font-size:clamp(2rem,5vw,3.7rem);letter-spacing:-.035em;margin-bottom:.36em}h2{font-size:clamp(1.4rem,3vw,2rem);margin-bottom:.55em}h3{font-size:1.18rem;margin-bottom:.45em}.wrap{max-width:1160px;width:calc(100% - 3rem);margin-inline:auto}.skip{position:absolute;left:1rem;top:-10rem;background:var(--paper);padding:.7rem;z-index:4}.skip:focus{top:.7rem}.mast{border-bottom:1px solid var(--rule);background:var(--paper)}.mast .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1rem}.brand{font-size:1.25rem;font-weight:800;text-decoration:none;white-space:nowrap}.mast nav,.footer-links{display:flex;flex-wrap:wrap;gap:.35rem 1.2rem}.mast nav a{display:inline-flex;min-height:2rem;align-items:center;text-decoration:none;font-weight:650}.mast nav a:hover,.mast nav a[aria-current]{text-decoration:underline}.eyebrow,.meta{font-size:.88rem;color:var(--muted);font-weight:650}.eyebrow{letter-spacing:.085em;margin-bottom:.7rem}.lead{font-size:clamp(1.04rem,2vw,1.24rem);color:var(--muted);max-width:44rem}.hero{display:grid;grid-template-columns:1.17fr .83fr;align-items:center;gap:clamp(1.4rem,4vw,3.4rem);padding-block:clamp(2.8rem,8vw,6rem)}.hero-image,.article-media{margin:0}.hero-image img,.article-media img{max-height:28rem;object-fit:contain;background:var(--wash)}figcaption{font-size:.9rem;color:var(--muted);margin:.55rem 0}.tagline{font-weight:680;margin:.7rem 0 1rem}.action{display:inline-block;border:1px solid var(--ink);padding:.5rem .9rem;text-decoration:none;font-weight:750}.jumpbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--rule);margin:0 0 3.2rem;background:var(--wash)}.jumpbar a{padding:1.2rem;text-decoration:none;display:grid;gap:.25rem}.jumpbar a+a{border-left:1px solid var(--rule)}.jumpbar a:hover strong{text-decoration:underline}.jumpbar span{font-size:.91rem;color:var(--muted)}.band{padding:2.6rem 0;border-top:1px solid var(--rule)}.section-top{display:flex;gap:1rem;justify-content:space-between;align-items:baseline;margin-bottom:1rem}.section-top h2{margin:0}.section-top a{flex:none}.entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}.entry{min-width:0;border:1px solid var(--rule);background:var(--paper);overflow:hidden}.entry img{height:auto;aspect-ratio:16/10;object-fit:contain;background:var(--wash)}.entry .copy{padding:1rem}.entry p:last-child{margin:0}.entry h2{font-size:1.24rem}.entry .meta{margin-bottom:.5rem}.entry h2 a,.entry h3 a{font-weight:780}.entry .summary{font-size:.95rem;color:var(--muted)}.entry.text-only .copy{border-top:4px solid var(--accent);height:100%}.page-head{padding:3.1rem 0 1.8rem}.crumb{font-size:.87rem;color:var(--muted);margin-bottom:1rem;overflow-wrap:anywhere}.article-head{display:grid;gap:clamp(1.25rem,4vw,3rem);grid-template-columns:1.42fr .8fr;align-items:start;padding-bottom:2.2rem}.article-head.no-image{grid-template-columns:minmax(0,1fr)}.article-head h1{font-size:clamp(1.86rem,4vw,3.2rem)}.reading{display:grid;grid-template-columns:minmax(0,46rem) minmax(12rem,1fr);gap:clamp(1.3rem,4vw,3rem);padding-top:2rem;border-top:1px solid var(--rule)}.prose{font-size:1.07rem;line-height:1.91;overflow-wrap:anywhere}.prose section{margin-bottom:2rem}.prose h2{font-size:1.5rem}.toc{align-self:start;border:1px solid var(--rule);padding:1rem;background:var(--wash)}.toc p{font-weight:730;margin-bottom:.25rem}.toc ol,.sources ul{padding-inline-start:1.25rem;margin:0}.sources{border-top:1px solid var(--rule);padding-top:1.4rem}.sources li{margin-bottom:.45rem}.faq details{border-top:1px solid var(--rule);padding:1rem 0}.faq summary{font-weight:730;cursor:pointer}.faq details p{margin:.65rem 0 0}.map-group{padding:1rem 0}.map-group li{margin:.4rem 0}.footer{margin-top:3rem;border-top:1px solid var(--rule);padding:1.7rem 0;background:var(--wash);font-size:.93rem}.footer p{margin:.65rem 0 0}.notice{max-width:46rem;border-left:3px solid var(--accent);padding:.7rem 1rem;background:var(--wash)}
@media(max-width:850px){.entries{grid-template-columns:repeat(2,minmax(0,1fr))}.reading{grid-template-columns:minmax(0,1fr)}.toc{grid-row:1}}
@media(max-width:600px){.wrap{width:calc(100% - 2rem)}.mast .wrap{align-items:flex-start;flex-direction:column;gap:.5rem}.mast nav{gap:.25rem 1rem}.mast nav a{min-height:2.45rem;font-size:.94rem}.hero,.article-head{grid-template-columns:minmax(0,1fr);padding-block:2.25rem 1.5rem}.hero-image img{max-height:20rem}.jumpbar{grid-template-columns:1fr;margin-bottom:2rem}.jumpbar a{padding:.75rem 1rem}.jumpbar a+a{border-left:0;border-top:1px solid var(--rule)}.entries{grid-template-columns:minmax(0,1fr)}.section-top{align-items:flex-start;flex-direction:column;gap:.35rem}.page-head{padding:1.8rem 0 .7rem}.article-head h1{font-size:clamp(1.8rem,7vw,2.65rem)}.reading{display:flex;flex-direction:column;padding-top:1.1rem}.toc{order:-1;width:100%}.article-media img{max-height:23rem}.band{padding-block:1.7rem}.prose{font-size:1.04rem}}
.hero.solo{display:block;max-width:55rem}.reading-steps{padding:1.25rem 1.5rem;margin:1.4rem 0 2rem;background:var(--wash);border-left:4px solid var(--accent)}.reading-steps h2{font-size:1.25rem}.reading-steps ol{margin:0;padding-left:1.3rem}.reading-steps li+li{margin-top:.35rem}
.card-link{display:block;text-decoration:none}.card-link:is(:hover,:focus-visible) h2,.card-link:is(:hover,:focus-visible) h3{text-decoration:underline}.card-link:focus-visible{outline-offset:-3px}.entry .summary{padding:0 1rem 1rem}.entry .copy{padding-bottom:.25rem}.entry .copy h2,.entry .copy h3{margin-bottom:.3rem}.entry.text-only .copy{height:auto}.entry img.photo{object-fit:cover}.thumb{display:block}.action{padding:0}.action a{display:block;padding:.5rem .9rem;text-decoration:none}.action:hover a{text-decoration:underline}.reading{grid-template-columns:minmax(0,46rem)}.mast nav a[aria-current=page]{text-decoration:underline}.hero-image figcaption{padding-inline:.1rem}
.layout-gallery .entries,.layout-columns .entries,.layout-folio .entries{grid-template-columns:repeat(2,minmax(0,1fr))}
.layout-gallery .entry,.layout-gallery .hero-image img{border-radius:1rem}.layout-gallery .entry img{aspect-ratio:16/10}.layout-gallery .jumpbar{border-radius:.7rem}
.layout-ribbons .jumpbar{border-top:4px solid var(--accent)}.layout-ribbons .hero{padding-bottom:2.75rem}.layout-ribbons .entry .copy{border-bottom:1px solid var(--rule)}.layout-ribbons .entry .summary{padding-top:.65rem}
.layout-workbench .mast,.layout-lab .mast{border-top:5px solid var(--accent)}.layout-workbench .jumpbar,.layout-lab .jumpbar{border-width:1px 0}.layout-workbench .entry,.layout-lab .entry{border:0;border-bottom:1px solid var(--rule)}.layout-workbench .section-top,.layout-lab .section-top{border-left:4px solid var(--accent);padding-left:.85rem}.layout-workbench .hero-image,.layout-lab .hero-image{padding:.65rem;border:1px solid var(--rule);background:var(--wash)}
.layout-checklist .hero{border-left:5px solid var(--accent);padding-left:clamp(1.1rem,4vw,2.8rem);margin:2rem 0;padding-block:2rem}.layout-checklist .jumpbar a{min-height:4.4rem}.layout-checklist .entry{border-inline:0;border-bottom:0}
.layout-digest .mast,.visual-xinyue .mast,.visual-guangnian .mast{background:var(--ink);color:var(--paper)}.layout-digest .hero{margin-block:2rem;border-block:1px solid var(--rule);padding:clamp(1.25rem,5vw,3rem) 0}.layout-digest .entry{border-left:3px solid var(--accent)}.layout-digest .jumpbar{border-top:3px solid var(--accent)}
.layout-columns .band{display:grid;grid-template-columns:minmax(13rem,.72fr) minmax(0,2fr);column-gap:1.5rem;align-items:start}.layout-columns .section-top{grid-column:1;display:block}.layout-columns .section-top h2{margin-bottom:.5rem}.layout-columns .band>.lead{grid-column:1}.layout-columns .band>.entries{grid-column:2;grid-row:1/4}.layout-columns .faq{display:block}
.layout-notebook .hero-image{background:var(--wash);padding:1rem;border-radius:0 0 1.3rem 1.3rem}.layout-notebook .jumpbar{border:0;border-block:1px solid var(--rule)}.layout-notebook .entry{border-radius:.55rem}.layout-notebook .section-top{border-bottom:1px dashed var(--rule);padding-bottom:.65rem}.visual-shaonv .hero-image img{border:1px solid var(--rule)}
.layout-dispatch .hero-image img{border-radius:.3rem}.layout-dispatch .jumpbar{border:0;gap:.5rem;background:none}.layout-dispatch .jumpbar a{background:var(--wash);border-left:3px solid var(--accent)}.layout-dispatch .entry{border-block:0}.visual-lajiao .mast{border-bottom:4px solid var(--accent)}
.layout-folio .hero{gap:2.75rem}.layout-folio .hero-image{padding:.9rem;border:1px solid var(--rule)}.layout-folio .entry{border:0;border-bottom:1px solid var(--rule)}.layout-folio .section-top{border-left:4px double var(--accent);padding-left:.8rem}.visual-baoshi .jumpbar{background:var(--ink);color:var(--paper)}.visual-baoshi .jumpbar span{color:inherit}
.layout-atlas .hero-image img{border:1px solid var(--rule);border-radius:1rem}.layout-atlas .jumpbar{border-radius:1rem}.layout-atlas .entry{border-radius:.6rem}
.layout-fieldguide .hero{border-bottom:1px solid var(--rule)}.layout-fieldguide .entry{border-radius:.85rem .85rem .2rem .2rem}.layout-fieldguide .jumpbar{background:none;border-inline:0}
@media(max-width:850px){.layout-columns .band{display:block}.layout-atlas .entries{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.layout-gallery .entries,.layout-columns .entries,.layout-folio .entries,.layout-atlas .entries{grid-template-columns:minmax(0,1fr)}.layout-folio .hero{gap:1rem}.layout-checklist .hero{margin-top:1rem}.layout-digest .hero{margin-top:1rem}.layout-dispatch .jumpbar a+a{border-left:3px solid var(--accent)}}


/* Shared feature and category navigation, followed by each publication's visual system. */
.feature {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(1.25rem, 4vw, 3.5rem);
    margin-block: 2rem 1.4rem;
    padding: clamp(1.05rem, 4vw, 3.2rem);
}

.feature-copy, .feature-card, .index-section { min-width: 0; }
.feature-copy h1 > span { display: inline-block; white-space: nowrap; }
.feature-copy .lead { margin-bottom: 0; }
.feature .kicker {
    font-size: .84rem;
    font-weight: 750;
    letter-spacing: .1em;
    margin-bottom: .6rem;
}

.entry.feature-card { border: 1px solid var(--rule); background: var(--paper); }
.feature-media { margin: 0; }
.feature-card .feature-media img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.feature-media figcaption { padding-inline: 1rem; }
.feature-action {
    display: inline-block;
    margin-block: .35rem;
    font-size: .9rem;
    font-weight: 750;
    text-decoration: underline;
    text-underline-offset: .23em;
}

.start-links {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    margin-block: 0 2rem;
}

.start-links a {
    display: grid;
    align-content: center;
    min-height: 3.7rem;
    padding: .65rem .95rem;
    border: 1px solid var(--rule);
    text-decoration: none;
    overflow-wrap: anywhere;
}

.start-links a:hover strong, .start-links a:focus-visible strong { text-decoration: underline; }
.start-links small { font-variant-numeric: tabular-nums; }
.index-section .entries { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* ok影视 — a programme card on the left, warm titles on a cinema-blue stage. */
.visual-okyingshi {
    --cinema-stage: #182337;
    --cinema-card: #253550;
    --cinema-text: #fff4df;
    --cinema-gold: #f5cc84;
    --cinema-line: #b29b77;
}

.visual-okyingshi .mast, .visual-okyingshi .footer {
    background: var(--cinema-stage);
    color: var(--cinema-text);
    border-color: var(--cinema-line);
}

.visual-okyingshi .mast { border-top: 3px solid var(--cinema-gold); }
.visual-okyingshi .brand, .visual-okyingshi h1, .visual-okyingshi .section-top h2 {
    font-family: "Noto Serif CJK SC", "Songti SC", SimSun, serif;
}

.visual-okyingshi .feature {
    grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
    border-block: 4px double var(--cinema-line);
    background: linear-gradient(124deg, #152032, var(--cinema-stage) 54%, #30435a);
    color: var(--cinema-text);
}

.visual-okyingshi .feature-copy { grid-column: 2; grid-row: 1; }
.visual-okyingshi .entry.feature-card {
    grid-column: 1;
    grid-row: 1;
    padding: .65rem;
    background: var(--cinema-card);
    border-color: var(--cinema-line);
}

.visual-okyingshi .feature .lead, .visual-okyingshi .feature .summary,
.visual-okyingshi .feature figcaption { color: var(--cinema-text); }
.visual-okyingshi .feature .meta, .visual-okyingshi .kicker,
.visual-okyingshi .feature-action { color: var(--cinema-gold); }
.visual-okyingshi .mast a:focus-visible, .visual-okyingshi .feature a:focus-visible,
.visual-okyingshi .footer a:focus-visible { outline-color: var(--cinema-gold); }
.visual-okyingshi .start-links { gap: 0; border-block: 1px solid var(--cinema-line); }
.visual-okyingshi .start-links a { border-width: 0 1px 0 0; border-color: var(--cinema-line); }
.visual-okyingshi .start-links a:last-child { border-right: 0; }
.visual-okyingshi .section-top { border-left-color: #9d681f; }
.visual-okyingshi .article-media { border: 1px solid var(--cinema-line); padding: .65rem; }

/* 仙踪林官网 — warm paper, a framed tea illustration, and low-key green notes. */
.visual-xianzonglin { --tea-green: #314e3a; --tea-paper: #faf0de; --tea-rule: #c6b291; }
.visual-xianzonglin .mast { border-block: 4px solid var(--tea-green); border-bottom-width: 1px; }
.visual-xianzonglin .brand, .visual-xianzonglin h1, .visual-xianzonglin .section-top h2 {
    font-family: "Noto Serif CJK SC", "Songti SC", SimSun, serif;
    color: var(--tea-green);
}

.visual-xianzonglin .feature {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
    border: 1px solid var(--tea-rule);
    border-top: 5px solid var(--tea-green);
    border-radius: 0 0 .65rem .65rem;
    background: var(--tea-paper);
}

.visual-xianzonglin .kicker { color: var(--tea-green); }
.visual-xianzonglin .entry.feature-card { background: #fffaf2; border-color: var(--tea-rule); }
.visual-xianzonglin .start-links a { border-width: 0 0 2px; border-color: var(--tea-rule); color: var(--tea-green); }
.visual-xianzonglin .article-media { background: var(--tea-paper); padding: .65rem; }
.visual-xianzonglin .footer { border-top-color: var(--tea-green); background: var(--tea-paper); }

/* 糖心logo入口 — a gridded design bench with a left-hand index. */
.visual-tangxinlogo { --lab-ink: #422951; --lab-grid: #9c79b333; --lab-paper: #f4edf7; }
.visual-tangxinlogo .mast { background: #fffafe; border-bottom: 1px solid #9c79b3; }
.visual-tangxinlogo .brand {
    border: 1px solid #9c79b3;
    border-radius: .25rem;
    padding: .12rem .55rem;
    color: var(--lab-ink);
}

.visual-tangxinlogo .feature {
    border: 1px solid #9c79b3;
    border-radius: .4rem;
    background-color: var(--lab-paper);
    background-image: linear-gradient(90deg, var(--lab-grid) 1px, transparent 1px),
        linear-gradient(var(--lab-grid) 1px, transparent 1px);
    background-size: 1.25rem 1.25rem;
}

.visual-tangxinlogo .kicker, .visual-tangxinlogo .feature-copy h1 { color: var(--lab-ink); }
.visual-tangxinlogo .feature-copy h1 { font-size: clamp(1.65rem, 4.2vw, 3.4rem); }
.visual-tangxinlogo .entry.feature-card { border-color: #9c79b3; background: #fffbff; box-shadow: .4rem .4rem #42295126; }
.visual-tangxinlogo .start-links a { border-color: #9c79b3; background: var(--lab-paper); color: var(--lab-ink); }
.visual-tangxinlogo .section-top { border-left-color: #795189; }
.visual-tangxinlogo .article-media { border: 1px solid #9c79b3; background: var(--lab-paper); padding: .6rem; }
.visual-tangxinlogo .footer { background: var(--lab-paper); }

/* 心糖LVONG — airy lavender, large editorial type, and a perforated contact sheet. */
.visual-xintanglvong { --contact-ink: #493364; --contact-paper: #ece5f7; --contact-line: #a38bb9; }
.visual-xintanglvong .mast { background: var(--contact-paper); border-bottom-color: var(--contact-line); }
.visual-xintanglvong .brand { letter-spacing: .035em; color: var(--contact-ink); }
.visual-xintanglvong .feature {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    border-block: 1px solid var(--contact-line);
    background: #f7f1fc;
}

.visual-xintanglvong .feature-copy h1 { font-size: clamp(2rem, 4.9vw, 4rem); color: var(--contact-ink); }
.visual-xintanglvong .kicker { color: var(--contact-ink); }
.visual-xintanglvong .entry.feature-card {
    border: 1px solid var(--contact-line);
    border-top: .8rem solid var(--contact-ink);
    border-radius: .75rem;
    padding: .6rem;
    background: #fffaff;
}

.visual-xintanglvong .feature-media::after {
    display: block;
    content: "";
    height: .25rem;
    margin-inline: 1rem;
    background: repeating-linear-gradient(90deg, var(--contact-line) 0 12px, transparent 12px 20px);
}

.visual-xintanglvong .start-links a { border-radius: .55rem; background: var(--contact-paper); color: var(--contact-ink); }
.visual-xintanglvong .section-top { padding-bottom: .6rem; border-bottom: 1px dashed var(--contact-line); }
.visual-xintanglvong .article-media { border: 1px solid var(--contact-line); border-radius: .6rem; padding: .6rem; }
.visual-xintanglvong .footer { background: var(--contact-paper); }

/* 糖心菠萝 — golden recipe cards and green market-awning trim. */
.visual-tangxinbolo { --fruit-green: #32522d; --fruit-paper: #faedc4; --fruit-rule: #be9a4b; }
.visual-tangxinbolo .mast {
    background: #fff9e6;
    border-top: 5px solid var(--fruit-green);
    border-bottom-color: var(--fruit-rule);
}

.visual-tangxinbolo .brand { color: var(--fruit-green); }
.visual-tangxinbolo .feature {
    border: 1px solid var(--fruit-rule);
    border-radius: 1rem;
    background: linear-gradient(140deg, #fff9e6 10%, var(--fruit-paper));
}

.visual-tangxinbolo .kicker {
    width: fit-content;
    padding: .2rem .7rem;
    border-radius: 1rem;
    background: var(--fruit-green);
    color: #fff9e6;
}

.visual-tangxinbolo .entry { background: #fffdf0; border-color: var(--fruit-rule); }
.visual-tangxinbolo .entry.feature-card { border-color: var(--fruit-rule); background: #fffdf0; box-shadow: .3rem .3rem #be9a4b45; }
.visual-tangxinbolo .start-links a { border-radius: .55rem; background: var(--fruit-paper); color: var(--fruit-green); }
.visual-tangxinbolo .section-top h2 { color: var(--fruit-green); }
.visual-tangxinbolo .article-media { background: var(--fruit-paper); border-radius: .6rem; padding: .6rem; }
.visual-tangxinbolo .footer { background: var(--fruit-paper); border-top-color: var(--fruit-rule); }

@media (min-width: 940px) {
    .visual-tangxinlogo .index-section {
        display: grid;
        grid-template-columns: minmax(11rem, .52fr) minmax(0, 1.48fr);
        column-gap: 1.7rem;
        align-items: start;
    }

    .visual-tangxinlogo .index-section .section-top { display: block; grid-column: 1; }
    .visual-tangxinlogo .index-section .section-top a { display: inline-block; margin-top: .3rem; }
    .visual-tangxinlogo .index-section > .lead { grid-column: 1; }
    .visual-tangxinlogo .index-section > .entries { grid-column: 2; grid-row: 1 / span 2; }
    .visual-xintanglvong .section-index, .visual-tangxinbolo .section-index {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 1.5rem;
    }
}

@media (max-width: 760px) {
    .feature, .visual-okyingshi .feature, .visual-xianzonglin .feature, .visual-xintanglvong .feature {
        grid-template-columns: minmax(0, 1fr);
    }

    .visual-okyingshi .feature-copy, .visual-okyingshi .entry.feature-card { grid-column: auto; grid-row: auto; }
    .start-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .visual-okyingshi .start-links a:nth-child(2n) { border-right: 0; }
    .visual-okyingshi .start-links a:nth-child(n+3) { border-top-width: 1px; }
}

@media (max-width: 600px) {
    .feature { margin-top: 1.1rem; }
    .feature .feature-copy h1 { font-size: clamp(1.45rem, 6.5vw, 2.15rem); }
    .index-section .entries { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 350px) {
    .feature-copy h1 > span { white-space: normal; }
}
