:root{--bg:#fbf9f4;--surface:#fff;--surface-2:#f2f7f5;--ink:#1f3a3d;--ink-2:#3c5857;--muted:#627a77;--teal:#2e7d72;--teal-dark:#225e56;--teal-soft:#e6f2ef;--sky:#dceef2;--sky-deep:#7fb0be;--sand:#f5e9d3;--sand-deep:#c89a5b;--coral:#c9714c;--line:#dce7e3;--shadow:0 10px 32px rgba(31,58,61,.07);--shadow-sm:0 4px 16px rgba(31,58,61,.06);--radius:20px}html{font-size:16px;scroll-behavior:smooth;scroll-padding-top:6.5rem}html.reduce-motion,html.reduce-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}html *,html *:before,html *:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}html.high-contrast{--bg:#fff;--surface:#fff;--surface-2:#f0f0f0;--ink:#0a1e20;--ink-2:#163536;--muted:#2b4544;--teal:#00594e;--teal-dark:#003e36;--teal-soft:#ddeeea;--sky:#d3e7ee;--sky-deep:#2e6c80;--sand:#f2e4c8;--sand-deep:#8a5a15;--coral:#9a3f1c;--line:#6e8b87;--shadow:none;--shadow-sm:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei","Noto Sans SC","Helvetica Neue",Arial,sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}img,svg{max-width:100%;display:block}a{color:var(--teal-dark);text-underline-offset:3px}a:hover{color:var(--coral)}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:4px}h1,h2,h3,h4{line-height:1.35;margin:0;letter-spacing:.01em}p{margin:0}ul{margin:0;padding:0;list-style:none}.wrap{width:min(1180px,calc(100% - 2.5rem));margin-inline:auto}.section{padding:5.5rem 0}.section--tint{background:var(--surface-2)}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;letter-spacing:.08em;color:var(--teal-dark);background:var(--teal-soft);border:1px solid var(--line);border-radius:999px;padding:.35rem .9rem}.sec-head{max-width:48rem;margin-bottom:2.75rem}.sec-head h2{font-size:clamp(1.7rem,3.2vw,2.4rem);margin:1rem 0 .75rem}.sec-head p{color:var(--muted);font-size:1.05rem}.lead{font-size:1.15rem;color:var(--ink-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.7rem 1.5rem;border-radius:999px;border:2px solid var(--teal);font-weight:700;text-decoration:none;cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--teal);color:#fff}.btn--primary:hover{background:var(--teal-dark);color:#fff}.btn--ghost{background:0 0;color:var(--teal-dark)}.btn--ghost:hover{background:var(--teal-soft);color:var(--teal-dark)}.btn svg{width:1.05rem;height:1.05rem;flex:none}.skip{position:absolute;left:-9999px;top:0;background:var(--teal);color:#fff;padding:.75rem 1.25rem;z-index:200;border-radius:0 0 10px}.skip:focus{left:0}.todo{background:#fff3d6;border-bottom:2px dotted #c89a5b;padding:0 .25rem;border-radius:3px;color:var(--ink)}.todo:after{content:"（待补）";font-size:.75em;color:#8a5a15;margin-left:.25rem;font-weight:600}.utility{background:var(--teal-dark);color:#e9f5f2;font-size:.82rem}.utility .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2.75rem;flex-wrap:wrap}.utility .org{letter-spacing:.02em}.a11y{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.a11y-label{opacity:.85;margin-right:.25rem}.a11y button{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:8px;min-width:2rem;height:1.9rem;padding:0 .45rem;cursor:pointer;font-size:.8rem;line-height:1}.a11y button:hover,.a11y button[aria-pressed=true]{background:#fff;color:var(--teal-dark)}.a11y .scale-val{min-width:3.2rem;text-align:center;font-variant-numeric:tabular-nums;opacity:.9}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:4.5rem}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);flex:none}.brand-logo{width:2.9rem;height:auto;flex:none;border-radius:10px;background:#fff}.footer-logo{width:4.6rem;height:auto;background:#fff;border-radius:12px;padding:.35rem;margin-bottom:1rem}.brand-txt strong{display:block;font-size:1.12rem;letter-spacing:.04em;line-height:1.2}.brand-txt small{display:block;font-size:.68rem;color:var(--muted);letter-spacing:.12em;line-height:1.4}.nav-toggle{display:none;background:var(--teal-soft);border:1px solid var(--line);border-radius:10px;color:var(--teal-dark);font-weight:700;padding:.5rem .9rem;cursor:pointer}.main-nav ul{display:flex;align-items:center;gap:.35rem}.main-nav a{display:block;padding:.5rem .75rem;text-decoration:none;color:var(--ink-2);font-size:.95rem;font-weight:600;border-radius:8px;white-space:nowrap}.main-nav a:hover{background:var(--teal-soft);color:var(--teal-dark)}.header-cta{flex:none}.header-cta .btn{min-height:2.5rem;padding:.45rem 1.1rem;font-size:.9rem}.hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#fbf9f4 0%,#f1f8f5 52%,#e5f1f0 100%);border-bottom:1px solid var(--line)}.hero:before{content:"";position:absolute;width:34rem;height:34rem;border-radius:50%;background:var(--sky);opacity:.38;right:-11rem;top:-13rem}.hero:after{content:"";position:absolute;width:20rem;height:20rem;border-radius:50%;background:var(--sand);opacity:.3;left:-9rem;bottom:-11rem}.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;gap:3rem;align-items:center;padding-top:4.5rem;padding-bottom:4.5rem}.hero h1{font-size:clamp(2.1rem,4.6vw,3.5rem);font-weight:800;letter-spacing:.03em;margin:1.25rem 0 1.25rem;color:var(--ink)}.hero h1 .line2{color:var(--teal-dark)}.hero .statement{font-size:1.16rem;color:var(--ink-2);max-width:34rem;border-left:4px solid var(--sky-deep);padding-left:1.1rem;line-height:1.9}.hero .statement strong{color:var(--teal-dark)}.hero-actions{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:2rem}.hero-note{margin-top:1.1rem;font-size:.9rem;color:var(--muted)}.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.75rem;padding-top:1.75rem;border-top:1px solid var(--line)}.trust li{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem;color:var(--ink-2)}.trust .dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--teal);flex:none;margin-top:.55rem}.trust b{display:block;color:var(--ink);font-size:.96rem}.hero-art{display:flex;justify-content:center}.hero-art svg{width:100%;max-width:30rem;height:auto;filter:drop-shadow(0 18px 36px rgba(31,58,61,.09))}.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2rem 1.85rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.card-num{font-size:2.6rem;font-weight:800;color:var(--sky-deep);opacity:.5;line-height:1;margin-bottom:1rem;font-variant-numeric:tabular-nums}.card-icon{width:3rem;height:3rem;margin-bottom:1rem}.card h3{font-size:1.35rem;margin-bottom:.5rem}.card .kicker{font-size:.85rem;font-weight:700;color:var(--teal-dark);letter-spacing:.06em;margin-bottom:.35rem}.card p{color:var(--muted);font-size:.98rem;flex:1}.card .more{margin-top:1.25rem;font-weight:700;font-size:.94rem;text-decoration:none;display:inline-flex;align-items:center;gap:.35rem}.card .more:hover{color:var(--coral)}.disclaimer{font-size:.82rem;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:.85rem 1.1rem;margin-top:1.5rem}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;position:relative}.steps:before{content:"";position:absolute;left:8%;right:8%;top:1.55rem;height:2px;background:var(--line);z-index:0}.step{position:relative;z-index:1;text-align:center;padding:0 .35rem}.step .bubble{width:3.2rem;height:3.2rem;margin:0 auto 1.1rem;border-radius:50%;background:var(--surface);border:2px solid var(--teal);color:var(--teal-dark);display:grid;place-items:center;font-weight:800;font-size:1.1rem;box-shadow:0 0 0 7px var(--surface-2)}.step:nth-child(2) .bubble,.step:nth-child(4) .bubble{background:var(--teal-soft)}.step h3{font-size:1.05rem;margin-bottom:.5rem}.step p{font-size:.9rem;color:var(--muted)}.method-foot{margin:2.5rem auto 0;max-width:max-content;text-align:center;font-size:1.02rem;color:var(--ink-2);background:var(--sand);border-radius:14px;padding:1rem 1.5rem}.case-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.75rem}.case-filter{background:var(--surface);border:1.5px solid var(--line);border-radius:999px;padding:.5rem 1.15rem;color:var(--ink-2);font-weight:700;font-size:.9rem;cursor:pointer}.case-filter:hover{border-color:var(--teal);color:var(--teal-dark)}.case-filter.is-active{background:var(--teal);border-color:var(--teal);color:#fff}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.case-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);text-decoration:none;color:var(--ink);transition:transform .18s ease,box-shadow .18s ease}.case-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);color:var(--ink)}.case-card[hidden]{display:none}.case-thumb{position:relative;aspect-ratio:16/9;display:grid;place-items:center;background:var(--sky)}.case-card[data-type=record] .case-thumb{background:var(--sky)}.case-card[data-type=video] .case-thumb{background:var(--teal-soft)}.case-card[data-type=class] .case-thumb{background:var(--sand)}.case-type{position:absolute;top:.75rem;left:.75rem;background:rgba(255,255,255,.94);color:var(--teal-dark);font-size:.75rem;font-weight:700;border-radius:999px;padding:.25rem .75rem}.case-icon{width:5.2rem;height:5.2rem;opacity:.85}.case-play{position:absolute;width:2.8rem;height:2.8rem;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:1rem;padding-left:.2rem;box-shadow:var(--shadow-sm)}.case-body{padding:1.35rem 1.5rem 1.5rem;flex:1;display:flex;flex-direction:column}.case-body h3{font-size:1.06rem;margin-bottom:.5rem}.case-body p{font-size:.9rem;color:var(--muted);flex:1}.case-meta{display:block;font-size:.8rem;color:var(--muted);margin-top:.9rem}.case-go{margin-top:.9rem;font-weight:700;font-size:.92rem;color:var(--teal-dark);display:inline-flex;align-items:center;gap:.4rem}.case-card:hover .case-go{color:var(--coral)}.case-arrow{width:1rem;height:1rem}.case-foot{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:1.75rem}.case-foot .privacy-note{flex:1;min-width:18rem;margin-top:0}.privacy-note{display:flex;gap:.75rem;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--sand-deep);border-radius:12px;padding:1rem 1.25rem;font-size:.9rem;color:var(--ink-2)}.privacy-note svg{width:1.4rem;height:1.4rem;flex:none;color:var(--sand-deep)}.live{background:linear-gradient(180deg,#f8fbfa 0%,#ecf4f2 100%);border-block:1px solid var(--line)}.live-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.live-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:1.15rem;align-items:stretch;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-sm);cursor:zoom-in;font:inherit;color:var(--ink);transition:transform .18s ease,box-shadow .18s ease}.live-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.live-shot{position:relative;display:block;border-radius:12px;overflow:hidden}.live-shot img{width:100%;height:auto;display:block}.live-badge{position:absolute;left:.55rem;top:.55rem;background:rgba(34,94,86,.94);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.06em;border-radius:999px;padding:.18rem .6rem}.live-body{display:flex;flex-direction:column;gap:.45rem;padding:.3rem .3rem .3rem 0;min-width:0;justify-content:center}.live-kicker{align-self:flex-start;font-size:.76rem;font-weight:700;letter-spacing:.07em;color:var(--teal-dark);background:var(--teal-soft);border-radius:999px;padding:.15rem .55rem}.live-body strong{font-size:1.12rem;line-height:1.5}.live-desc{font-size:.9rem;color:var(--ink-2);line-height:1.72}.live-meta{font-size:.86rem;color:var(--muted)}.live-more{margin-top:.7rem;font-weight:700;font-size:.9rem;color:var(--teal-dark);display:inline-flex;align-items:center;gap:.35rem}.live-card:hover .live-more{color:var(--coral)}.live-note{margin-top:1.6rem;font-size:.88rem;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:.85rem 1.1rem}.live-note strong{color:var(--ink-2)}.lightbox{border:0;padding:0;background:0 0;max-width:none;max-height:none;overflow:visible}.lightbox[open]{position:fixed;inset:0;margin:auto;width:max-content;height:max-content;display:grid;place-items:center}.lightbox::backdrop{background:rgba(18,42,44,.9)}.lightbox-inner{position:relative;display:grid;place-items:center}.lightbox img{max-width:min(92vw,34rem);max-height:88vh;width:auto;height:auto;border-radius:14px;background:#fff;box-shadow:0 24px 64px rgba(0,0,0,.42)}.lightbox-close{position:absolute;top:-.65rem;right:-.65rem;width:2.4rem;height:2.4rem;border-radius:50%;border:0;background:#fff;color:var(--ink);font-size:1.3rem;line-height:1;cursor:pointer;box-shadow:var(--shadow)}.faq-list{max-width:52rem;margin-inline:auto;display:grid;gap:.85rem}.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm)}.faq-item summary{cursor:pointer;padding:1.15rem 1.4rem;font-weight:700;font-size:1.04rem;display:flex;align-items:center;gap:.85rem;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{content:"?";width:1.7rem;height:1.7rem;flex:none;border-radius:50%;background:var(--teal-soft);color:var(--teal-dark);display:grid;place-items:center;font-size:.9rem}.faq-item summary:after{content:"+";margin-left:auto;color:var(--teal-dark);font-size:1.35rem;font-weight:400}.faq-item[open] summary:after{content:"−"}.faq-item .answer{padding:0 1.4rem 1.35rem 3.95rem;color:var(--muted);font-size:.98rem}.faq-more{text-align:center;margin-top:2rem;font-size:.98rem;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:start}.contact-intro h2{font-size:clamp(1.7rem,3vw,2.3rem);margin:1rem 0 1rem}.contact-intro p{color:var(--ink-2);margin-bottom:1rem}.contact-intro ul{display:grid;gap:.65rem;margin-top:1.5rem}.contact-intro li{display:flex;gap:.65rem;align-items:flex-start;color:var(--ink-2);font-size:.97rem}.contact-intro li svg{width:1.25rem;height:1.25rem;flex:none;color:var(--teal);margin-top:.25rem}.form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{margin-bottom:1.1rem}.field label{display:block;font-weight:700;font-size:.9rem;margin-bottom:.4rem}.field .req{color:var(--coral)}.field input,.field select,.field textarea{width:100%;background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:.7rem .85rem;color:var(--ink);min-height:2.9rem}.field textarea{min-height:6rem;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px var(--teal-soft)}.hint{font-size:.8rem;color:var(--muted);margin-top:.35rem}.consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.86rem;color:var(--muted);margin:.3rem 0 1.2rem}.consent input{width:1.1rem;height:1.1rem;flex:none;margin-top:.25rem;accent-color:var(--teal)}.form-card .btn{width:100%}.form-msg{margin-top:1rem;border-radius:10px;padding:.8rem 1rem;font-size:.9rem;display:none}.form-msg.ok{display:block;background:var(--teal-soft);color:var(--teal-dark);border:1px solid var(--teal)}.form-msg.err{display:block;background:#fdeee7;color:#8a3e22;border:1px solid var(--coral)}.site-footer{background:var(--ink);color:#dce9e6;padding:3.5rem 0 1.5rem;font-size:.92rem}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2rem;padding-bottom:2.5rem}.site-footer h3{font-size:1rem;color:#fff;margin-bottom:1rem;letter-spacing:.05em}.site-footer a{color:#cfe4df;text-decoration:none}.site-footer a:hover{color:#fff;text-decoration:underline}.site-footer li{margin-bottom:.55rem}.footer-brand strong{display:block;font-size:1.15rem;color:#fff;margin-bottom:.6rem}.footer-brand p{color:#b6cfc9;line-height:1.8}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:1.5rem;display:grid;gap:.6rem;color:#afc8c2;font-size:.84rem}.footer-bottom b{color:#dce9e6}.totop{position:fixed;right:1.25rem;bottom:5.5rem;width:2.8rem;height:2.8rem;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--teal-dark);box-shadow:var(--shadow);cursor:pointer;font-size:1.2rem;display:none;z-index:90}.totop.show{display:block}.proto{position:fixed;right:1.25rem;bottom:1.25rem;z-index:110;font-size:.88rem}.proto-toggle{background:var(--teal-dark);color:#fff;border:none;border-radius:999px;padding:.65rem 1.05rem;cursor:pointer;box-shadow:var(--shadow);font-weight:700}.proto-panel{display:none;position:absolute;right:0;bottom:3.4rem;width:min(22rem,calc(100vw - 2.5rem));max-height:65vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:1.25rem 1.4rem;color:var(--ink-2)}.proto-panel.open{display:block}.proto-panel h4{font-size:1rem;margin-bottom:.6rem;color:var(--ink)}.proto-panel p{font-size:.86rem;color:var(--muted);margin-bottom:.8rem}.proto-panel ul{display:grid;gap:.4rem;font-size:.86rem}.proto-panel li{padding-left:1rem;position:relative}.proto-panel li:before{content:"·";position:absolute;left:0;color:var(--teal);font-weight:800}.proto-panel .close{position:absolute;top:.7rem;right:.9rem;background:0 0;border:none;cursor:pointer;color:var(--muted);font-size:1.1rem}.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}.reveal.in{opacity:1;transform:none}html.reduce-motion .reveal{opacity:1;transform:none}@media (max-width:1000px){.hero .wrap{grid-template-columns:1fr;gap:2rem;padding-top:3rem;padding-bottom:3rem}.hero-art{order:-1;max-width:22rem;margin-inline:auto}.steps{grid-template-columns:repeat(2,1fr);gap:1.75rem}.steps:before{display:none}.method-foot{max-width:100%;display:block;text-align:center}.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:820px){.nav-toggle{display:inline-flex;align-items:center;gap:.4rem}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:.75rem 1.25rem 1.25rem}.main-nav.open{display:block}.main-nav ul{display:grid;gap:.2rem}.main-nav a{padding:.7rem .8rem}.header-cta{display:none}.cards3,.case-grid{grid-template-columns:1fr}.live-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;gap:2rem}.utility .org{display:none}.utility .wrap{justify-content:center;padding:.4rem 0}}@media (max-width:560px){.section{padding:3.5rem 0}.wrap{width:min(1180px,calc(100% - 1.75rem))}.trust{grid-template-columns:1fr;gap:.6rem}.form-row{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.step{text-align:left;display:grid;grid-template-columns:3.2rem 1fr;gap:1rem;align-items:start}.step .bubble{margin:0;grid-row:span 2}.footer-grid{grid-template-columns:1fr;gap:1.5rem}.hero-actions .btn{width:100%}.faq-item .answer{padding-left:1.4rem}.a11y-label{display:none}.live-card{grid-template-columns:1fr;gap:.9rem}.live-shot{max-width:18rem;margin-inline:auto}.live-body{padding:.2rem .15rem 0}.live-more{margin-top:.4rem}}@media print{.utility,.site-header,.proto,.totop,.hero-actions,.form-card{display:none}.hero{background:#fff}.reveal{opacity:1;transform:none}}.thumb-img{width:100%;height:100%;object-fit:cover;display:block}.case-thumb>img+.case-type,.case-thumb>img+.case-play,.case-thumb>picture+.case-type,.case-thumb>picture+.case-play{z-index:1}.case-thumb>picture{display:block;width:100%;height:100%}.topic-nav{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin:1.15rem 0 0;font-size:.9rem}.topic-nav>span{color:var(--muted);margin-right:.2rem}.topic-nav a{padding:.38rem .85rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--teal-dark);text-decoration:none;white-space:nowrap}.topic-nav a:hover,.topic-nav a:focus-visible{background:var(--surface-2)}.case-actions{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}.tag{display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;border-radius:999px;padding:.2rem .6rem;background:var(--teal-soft);color:var(--teal-dark)}.tag--record{background:var(--sky);color:#2e6272}.tag--video{background:var(--teal-soft);color:var(--teal-dark)}.tag--academic{background:#ede7f5;color:#5b4a7a}.tag--class{background:var(--sand);color:#8a6134}.tag--guide{background:#e4eff6;color:#315f7a}.tag--org{background:#eaedea;color:#4c6157}.crumb{font-size:.88rem;color:var(--muted);margin-bottom:1.5rem}.crumb a{color:var(--teal-dark);text-decoration:none}.crumb a:hover{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lib-hero,.art-head{padding:3.4rem 0 2.4rem;background:linear-gradient(180deg,var(--surface-2),var(--bg))}.lib-lead,.art-sub{font-size:1.05rem;color:var(--ink-2);max-width:50rem;line-height:1.9;margin-top:1rem}.lib-stats{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}.lib-stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:.85rem 1.25rem;min-width:9.5rem}.lib-stat b{display:block;font-size:1.45rem;color:var(--teal-dark);line-height:1.3}.lib-stat span{font-size:.82rem;color:var(--muted)}.lib-toolbar{display:grid;gap:1rem;margin-bottom:1.1rem}.lib-controls{display:flex;flex-wrap:wrap;gap:.7rem}.lib-controls input,.lib-controls select{background:var(--surface);border:1.5px solid var(--line);border-radius:10px;padding:.6rem .85rem;color:var(--ink);font-size:.92rem;min-height:2.7rem;font-family:inherit}.lib-controls input{flex:1;min-width:14rem}.lib-controls input:focus,.lib-controls select:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px var(--teal-soft)}.case-filter .cnt{font-weight:400;opacity:.78;font-size:.8rem;margin-left:.25rem}.lib-result{font-size:.9rem;color:var(--muted);margin-bottom:1rem}.lib-grid .case-body h3{font-size:1.01rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lib-grid .case-body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.case-badges{display:flex;flex-wrap:wrap;gap:.32rem;margin-top:.7rem}.lib-empty{display:none;background:var(--surface);border:1px dashed var(--line);border-radius:14px;padding:2.5rem;text-align:center;color:var(--muted)}.lib-empty.show{display:block}.lib-pager{display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:2rem}.lib-pager button{background:var(--surface);border:1.5px solid var(--line);border-radius:10px;padding:.5rem .9rem;color:var(--ink-2);font-weight:700;cursor:pointer;font-size:.88rem;font-family:inherit}.lib-pager button:hover:not(:disabled){border-color:var(--teal);color:var(--teal-dark)}.lib-pager button.is-active{background:var(--teal);border-color:var(--teal);color:#fff}.lib-pager button:disabled{opacity:.42;cursor:not-allowed}.academic-callout{background:var(--surface);border:1px solid var(--line);border-left:5px solid #8a79b8;border-radius:16px;padding:1.8rem 2rem;display:flex;gap:2rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.academic-callout h2{font-size:1.38rem;margin-bottom:.5rem}.academic-callout p{color:var(--muted);max-width:39rem;font-size:.96rem;line-height:1.8}.art-kicker{font-size:.86rem;font-weight:700;color:var(--teal-dark);letter-spacing:.08em}.art-head h1{font-size:clamp(1.7rem,3.4vw,2.55rem);line-height:1.42;margin:.9rem 0 .9rem;max-width:52rem}.art-meta{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin-top:1.3rem;font-size:.88rem;color:var(--muted)}.sample-bar{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:.85rem 1rem;margin:1.6rem 0 1.9rem;font-size:.87rem}.sample-bar span{color:var(--muted);font-weight:700;margin-right:.3rem}.sample-bar button,.sample-bar select{background:var(--surface-2);border:1.5px solid var(--line);border-radius:999px;padding:.4rem .9rem;color:var(--ink-2);font-weight:700;cursor:pointer;font-size:.85rem;font-family:inherit}.sample-bar button:hover,.sample-bar select:hover{border-color:var(--teal)}.sample-bar select{border-radius:10px;max-width:16rem}.art-wrap{display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:2.6rem;align-items:start}.art-body{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2.2rem 2.4rem;box-shadow:var(--shadow-sm);min-width:0}.art-figure{margin:0 0 1.6rem}.art-figure img{width:100%;max-height:19rem;object-fit:cover;border-radius:14px;background:var(--surface-2)}.art-figure figcaption{font-size:.8rem;color:var(--muted);margin-top:.5rem;text-align:center}.art-notice{background:var(--sand);border-radius:12px;padding:.9rem 1.2rem;font-size:.88rem;color:#6b5330;margin-bottom:1.5rem;line-height:1.75}.art-content{font-size:1.01rem;line-height:2;color:var(--ink-2)}.art-content p{margin-bottom:1.15rem}.art-content h2{font-size:1.3rem;color:var(--ink);margin:1.9rem 0 .8rem;padding-left:.8rem;border-left:4px solid var(--teal)}.art-content .quote{margin:1.4rem 0;padding:1rem 1.3rem;background:var(--surface-2);border-radius:12px}.art-media{margin:1.8rem 0;background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:1.3rem 1.5rem;display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}.art-media .play{width:3.1rem;height:3.1rem;flex:none;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:1.05rem;padding-left:.2rem}.art-media p{flex:1;min-width:14rem;color:var(--ink-2);font-size:.95rem;line-height:1.7}.art-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.art-side{display:grid;gap:1.15rem;position:sticky;top:1rem}.side-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.35rem 1.45rem;box-shadow:var(--shadow-sm)}.side-card h2{font-size:1rem;margin-bottom:.85rem}.side-card ul{display:grid;gap:.65rem}.side-card a{color:var(--teal-dark);text-decoration:none;font-size:.91rem;line-height:1.6;display:block}.side-card a:hover{text-decoration:underline}.side-card .side-note{font-size:.84rem;color:var(--muted);margin-top:.8rem;line-height:1.7}@media(max-width:1000px){.art-wrap{grid-template-columns:1fr}.art-side{position:static}.academic-callout{padding:1.4rem}}@media(max-width:820px){.lib-grid,.case-grid{grid-template-columns:1fr}}@media(max-width:560px){.art-body{padding:1.4rem 1.2rem}.lib-stat{min-width:8rem;flex:1}.art-actions .btn{width:100%}}.fact-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.85rem;margin:1.9rem 0 2.2rem;padding:0}.fact-list>div{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:.95rem 1.15rem;box-shadow:var(--shadow-sm)}.fact-list dt{font-size:.76rem;font-weight:700;letter-spacing:.05em;color:var(--muted);margin:0 0 .35rem}.fact-list dd{margin:0;font-size:.94rem;line-height:1.8;color:var(--ink-2)}@media(max-width:560px){.fact-list{grid-template-columns:1fr}}.spot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem;margin-top:1.9rem}.spot-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1.6rem 1.7rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.spot-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.8rem;color:var(--muted);margin-bottom:.9rem}.spot-card h3{font-size:1.22rem;line-height:1.5;margin:0 0 1rem;color:var(--ink)}.spot-list{margin:0 0 1.2rem;padding-left:1.15rem;display:grid;gap:.7rem}.spot-list li{font-size:.93rem;line-height:1.85;color:var(--ink-2)}.spot-card .more{margin-top:auto}.spot-note{font-size:.85rem;color:var(--muted);line-height:1.8;margin-top:1.3rem}@media(max-width:820px){.spot-grid{grid-template-columns:1fr}}.art-content img,.art-content video,.art-content iframe,.art-content embed{max-width:100%;height:auto;border-radius:12px}.art-content p{margin:0 0 1.15rem;line-height:1.9}.art-content h1,.art-content h2,.art-content h3,.art-content h4{font-size:1.3rem;margin:1.9rem 0 .8rem;color:var(--ink);line-height:1.5}.art-content ul,.art-content ol{padding-left:1.5rem;margin:0 0 1.2rem;line-height:1.9}.art-content a{color:var(--teal-dark);text-decoration:underline}.art-content table{max-width:100%;border-collapse:collapse}.art-content td,.art-content th{padding:.5rem .7rem;border:1px solid var(--line)}.art-content blockquote{margin:1.4rem 0;padding:1rem 1.3rem;background:var(--surface-2);border-radius:12px}.art-content pre{overflow-x:auto;background:var(--surface-2);padding:1rem;border-radius:12px}.art-figure img{width:100%;max-height:19rem;object-fit:cover;border-radius:14px;background:var(--surface-2)}.loop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:2rem}@media(max-width:1000px){.loop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.loop-grid{grid-template-columns:1fr}}.loop-empty{padding:2.5rem;text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:16px}.side-card .btn--primary,.side-card a.btn.btn--primary{color:#fff;text-decoration:none;display:inline-flex}.side-card a.btn{display:inline-flex;text-decoration:none}.side-card .btn--ghost,.side-card a.btn.btn--ghost{color:var(--teal-dark)}.rel-list{list-style:none;padding:0;margin:0;line-height:1.9}.rel-list li{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:.45rem 0;border-bottom:1px dashed var(--line)}.rel-list a{color:var(--teal-dark);text-decoration:none}.rel-list a:hover{text-decoration:underline}.rel-date{color:var(--muted);font-size:.82rem;white-space:nowrap}.art-related{margin-top:2.6rem;padding-top:1.6rem;border-top:1px solid var(--line)}.art-related h2{font-size:1.2rem;margin:0 0 .5rem;color:var(--ink)}.art-related p{color:var(--muted);font-size:.9rem;margin:0 0 1rem}.art-related .btn{margin-top:1.2rem;display:inline-flex}