/* roulang page: index */
:root{
      --bg:#f4f7fb;--surface:#fff;--surface-soft:#edf4fb;--ink:#172b43;--muted:#64758a;
      --primary:#3977b8;--primary-dark:#245a91;--accent:#d89558;--success:#438d78;--warning:#c98a42;
      --danger:#b65b5b;--line:#dce6f0;--shadow:0 16px 40px rgba(30,65,100,.09);
      --radius:18px;--radius-sm:11px;--sidebar:248px;
    }
    *,*:before,*:after{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--bg);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;font-size:15px;line-height:1.75}
    a{color:inherit;text-decoration:none;transition:.22s ease}
    img{max-width:100%;display:block}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    :focus-visible{outline:3px solid rgba(57,119,184,.32);outline-offset:3px}
    .app-shell{min-height:100vh}
    .sidebar{position:fixed;z-index:20;top:0;bottom:0;left:0;width:var(--sidebar);padding:30px 20px 22px;background:#fbfdff;border-right:1px solid var(--line);display:flex;flex-direction:column}
    .brand{display:flex;align-items:flex-start;gap:11px;margin:0 6px 42px;font-weight:800;line-height:1.25}
    .brand-mark{width:35px;height:35px;border-radius:12px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:16px;box-shadow:0 8px 18px rgba(57,119,184,.2)}
    .brand-name{font-size:15px;max-width:145px}
    .brand-name small{display:block;color:var(--muted);font-size:11px;font-weight:500;margin-top:4px}
    .nav-title{font-size:11px;color:#8a9bad;letter-spacing:.12em;margin:0 12px 10px}
    .nav-list{list-style:none;padding:0;margin:0}
    .nav-list li{margin:5px 0}
    .nav-link{display:flex;align-items:center;gap:11px;padding:11px 13px;border-left:3px solid transparent;border-radius:10px;color:#506278}
    .nav-link:hover,.nav-link.active{background:#e8f2fb;color:var(--primary-dark);border-left-color:var(--primary)}
    .nav-dot{width:7px;height:7px;border-radius:50%;background:#b8c8d8}
    .nav-link.active .nav-dot{background:var(--primary)}
    .sidebar-bottom{margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}
    .side-note{font-size:12px;color:var(--muted);margin:0 7px 13px}
    .side-links{display:flex;flex-wrap:wrap;gap:8px 12px;padding:0 7px}
    .side-links a{font-size:12px;color:var(--muted)}
    .side-links a:hover{color:var(--primary-dark)}
    .mobile-bar{display:none}
    .main{margin-left:var(--sidebar);padding:0 46px 70px}
    .container{max-width:1240px;margin:0 auto}
    .hero{padding:62px 0 40px}
    .hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--primary-dark);font-size:13px;font-weight:700;margin-bottom:17px}
    .eyebrow:before{content:"";width:25px;height:2px;background:var(--accent)}
    h1,h2,h3{margin:0;color:var(--ink);line-height:1.25;letter-spacing:-.02em}
    h1{font-size:clamp(36px,4.2vw,58px);max-width:720px}
    h2{font-size:30px}
    h3{font-size:19px}
    .hero-copy{font-size:17px;color:var(--muted);max-width:670px;margin:22px 0 27px}
    .button-row{display:flex;flex-wrap:wrap;gap:12px}
    .button{min-height:46px;border:1px solid transparent;border-radius:10px;padding:10px 19px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;transition:.22s ease}
    .button.primary{background:var(--primary);color:#fff;box-shadow:0 9px 20px rgba(57,119,184,.18)}
    .button.primary:hover{background:var(--primary-dark);transform:translateY(-2px)}
    .button.secondary{background:#fff;color:var(--primary-dark);border-color:#bcd1e5}
    .button.secondary:hover{background:var(--surface-soft);border-color:var(--primary);transform:translateY(-2px)}
    .button:active{transform:translateY(1px)}
    .hero-points{display:flex;flex-wrap:wrap;gap:18px;margin-top:27px;color:var(--muted);font-size:13px}
    .hero-points span{display:flex;align-items:center;gap:7px}
    .status-dot{width:8px;height:8px;border-radius:50%;background:var(--success)}
    .hero-art{min-height:330px;border:1px solid #cfe0ee;border-radius:25px;background:linear-gradient(145deg,#e6f1fa,#f9fbfd);padding:22px;position:relative;overflow:hidden}
    .hero-art:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:#d9eaf7;right:-55px;top:-50px}
    .index-card{position:absolute;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px;z-index:1}
    .index-card.main-card{left:27px;right:47px;top:55px}
    .index-card.small-card{right:18px;bottom:26px;width:165px;padding:14px}
    .cover-row{display:flex;gap:9px;margin:18px 0}
    .cover{height:78px;flex:1;border-radius:10px;background:linear-gradient(150deg,#7da7c8,#d6e3ed)}
    .cover:nth-child(2){background:linear-gradient(150deg,#bf9a83,#e8d6c5)}
    .cover:nth-child(3){background:linear-gradient(150deg,#8794b5,#d8ddec)}
    .mini-label{font-size:12px;color:var(--muted)}
    .progress{height:6px;border-radius:10px;background:#e8eef4;overflow:hidden;margin-top:9px}
    .progress i{display:block;height:100%;width:68%;background:var(--accent);border-radius:inherit}
    .section{padding:42px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}
    .section-head p{max-width:620px;color:var(--muted);margin:8px 0 0}
    .metrics{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:15px}
    .metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:23px;box-shadow:var(--shadow)}
    .metric:first-child{background:var(--primary);color:#fff;border-color:var(--primary)}
    .metric:first-child .metric-label,.metric:first-child .metric-note{color:#dbeafb}
    .metric-number{font-size:32px;font-weight:800;line-height:1}
    .metric-label{display:block;color:var(--muted);font-size:13px;margin-top:11px}
    .metric-note{font-size:12px;color:#8291a2;margin-top:14px}
    .matrix{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:16px}
    .matrix-card{min-height:225px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);position:relative;overflow:hidden}
    .matrix-card.large{grid-row:span 2;min-height:466px}
    .matrix-card:hover,.compare-panel:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(30,65,100,.13);border-color:#b8d0e4}
    .matrix-card,.compare-panel{transition:.22s ease}
    .card-cover{height:140px;margin:-24px -24px 20px;background:linear-gradient(145deg,#789dbd,#d4e4ef);position:relative}
    .large .card-cover{height:260px;background:linear-gradient(155deg,#648ba9 10%,#d1dee8 55%,#e7d2c1)}
    .card-cover:after{content:"内容预览";position:absolute;left:15px;bottom:13px;color:#fff;background:rgba(23,43,67,.58);padding:3px 9px;border-radius:7px;font-size:12px}
    .tag{display:inline-block;padding:4px 8px;border-radius:8px;background:#edf4fb;color:var(--primary-dark);font-size:11px;margin:4px 4px 0 0}
    .tag.warm{background:#fbf0e6;color:#9a6333}
    .meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;margin-top:14px}
    .matrix-card .button{margin-top:18px;font-size:13px;min-height:40px;padding:8px 13px}
    .compare{display:grid;grid-template-columns:.78fr 1.22fr;gap:17px}
    .compare-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:27px;box-shadow:var(--shadow)}
    .compare-panel.after{border-color:#b7d5e9;background:#fafdff}
    .compare-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}
    .number-badge{width:30px;height:30px;border-radius:9px;background:var(--surface-soft);color:var(--primary-dark);display:grid;place-items:center;font-weight:800}
    .compare-list{list-style:none;margin:0;padding:0}
    .compare-list li{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted)}
    .compare-list li:last-child{border-bottom:0}
    .check{color:var(--success);font-weight:800}
    .filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
    .info-strip{margin-top:20px;padding:15px 18px;background:#f7f0e8;border-left:3px solid var(--accent);border-radius:9px;color:#765b43;font-size:13px}
    .faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px}
    .faq-intro p{color:var(--muted);margin-top:13px}
    .faq-item{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden}
    .faq-item summary{padding:17px 20px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
    .faq-item summary:after{content:"＋";color:var(--primary)}
    .faq-item[open] summary:after{content:"−"}
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-answer{padding:0 20px 18px;color:var(--muted);font-size:14px}
    .form-shell{display:grid;grid-template-columns:.72fr 1.28fr;gap:30px;background:#e9f3fb;border:1px solid #c9dfef;border-radius:22px;padding:31px}
    .form-intro p{color:var(--muted);margin:14px 0 20px}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
    label{display:block;color:var(--ink);font-size:13px;font-weight:700}
    input,select,textarea{width:100%;margin-top:7px;border:1px solid #c6d5e3;border-radius:9px;background:#fff;color:var(--ink);padding:11px 13px;min-height:45px;transition:.2s}
    textarea{min-height:102px;resize:vertical}
    input:hover,select:hover,textarea:hover{border-color:#99bad4}
    input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(57,119,184,.12);outline:0}
    .full{grid-column:1/-1}
    .form-foot{display:flex;align-items:center;gap:14px;margin-top:15px;flex-wrap:wrap}
    .privacy-note{font-size:12px;color:var(--muted)}
    .footer{margin-left:var(--sidebar);background:#eaf1f7;border-top:1px solid var(--line);padding:35px 46px}
    .footer-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:30px}
    .footer h3{font-size:16px;margin-bottom:10px}
    .footer p,.footer a{font-size:13px;color:var(--muted)}
    .footer a:hover{color:var(--primary-dark)}
    .footer-links{display:flex;flex-wrap:wrap;gap:7px 16px}
    .copyright{border-top:1px solid #d4e0ea;margin-top:25px;padding-top:16px;color:#7c8d9d;font-size:12px}
    .age-gate{position:fixed;inset:0;background:rgba(18,39,61,.54);z-index:50;display:grid;place-items:center;padding:20px}
    .age-box{max-width:450px;background:#fff;border-radius:20px;padding:30px;box-shadow:0 25px 70px rgba(18,39,61,.24);text-align:center}
    .age-box h2{font-size:25px}
    .age-box p{color:var(--muted);font-size:14px;margin:13px 0 20px}
    .age-actions{display:flex;gap:10px;justify-content:center}
    .hidden{display:none!important}
    @media(max-width:1100px){
      :root{--sidebar:220px}.main{padding-left:30px;padding-right:30px}.footer{margin-left:var(--sidebar);padding-left:30px;padding-right:30px}
      .hero-grid{gap:28px}.metrics{grid-template-columns:repeat(2,1fr)}
    }
    @media(max-width:800px){
      .sidebar{display:none}.mobile-bar{display:flex;position:sticky;top:0;z-index:30;align-items:center;justify-content:space-between;background:#fbfdff;border-bottom:1px solid var(--line);padding:13px 18px}
      .mobile-brand{font-weight:800;font-size:14px;display:flex;gap:8px;align-items:center}.mobile-brand .brand-mark{width:30px;height:30px}
      .menu-button{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:44px;height:42px;color:var(--primary-dark)}
      .mobile-nav{display:none;background:#fff;border-bottom:1px solid var(--line);padding:8px 18px}.mobile-nav.open{display:block}.mobile-nav a{display:block;padding:10px;color:var(--muted)}
      .main{margin-left:0;padding:0 20px 45px}.footer{margin-left:0;padding:30px 20px}.hero{padding-top:38px}.hero-grid,.faq-layout,.form-shell{grid-template-columns:1fr}.hero-art{min-height:285px}.matrix{grid-template-columns:1fr 1fr}.matrix-card.large{grid-row:auto;grid-column:1/-1;min-height:0}.large .card-cover{height:200px}
      .compare{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}
    }
    @media(max-width:520px){
      h1{font-size:35px}h2{font-size:26px}.metrics,.matrix,.form-grid{grid-template-columns:1fr}.matrix-card.large{grid-column:auto}.section{padding:31px 0}.section-head{display:block}.section-head p{margin-top:10px}.hero-points{gap:10px}.hero-art{margin-top:4px}.index-card.main-card{left:18px;right:25px}.footer-grid{grid-template-columns:1fr}.form-shell{padding:21px}.button-row .button{width:100%}.age-actions{flex-direction:column}.age-actions .button{width:100%}
    }

/* roulang page: category1 */
:root{
 --bg:#f4f7fb;--surface:#fff;--surface-soft:#edf4fb;--ink:#172b43;--muted:#64758a;
 --primary:#3977b8;--primary-dark:#245a91;--accent:#d89558;--success:#438d78;
 --warning:#c98a42;--danger:#b65b5b;--line:#dce6f0;
 --shadow:0 16px 40px rgba(30,65,100,.09);--shadow-hover:0 22px 48px rgba(30,65,100,.14);
 --radius:18px;--radius-sm:11px;--sidebar:220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;font-size:15px;line-height:1.75}
a{color:inherit;text-decoration:none;transition:.22s ease}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(34px,4vw,52px);line-height:1.22;letter-spacing:-.035em;margin-bottom:0}
h2{font-size:30px;line-height:1.35;margin-bottom:8px}
h3{font-size:18px;line-height:1.45;margin-bottom:7px}
p{color:var(--muted)}
.app-sidebar{position:fixed;z-index:20;left:0;top:0;bottom:0;width:var(--sidebar);padding:31px 18px 24px;background:#fbfdff;border-right:1px solid var(--line);display:flex;flex-direction:column}
.brand{display:flex;align-items:flex-start;gap:11px;margin:0 6px 42px;font-weight:800;line-height:1.25}
.brand-mark{width:35px;height:35px;border-radius:12px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:16px;box-shadow:0 8px 18px rgba(57,119,184,.2);flex:0 0 auto}
.brand-name{font-size:15px;max-width:145px}
.brand-name small{display:block;color:var(--muted);font-size:11px;font-weight:500;margin-top:4px}
.nav-title{font-size:11px;color:#8a9bad;letter-spacing:.12em;margin:0 12px 10px}
.nav-list{list-style:none;padding:0;margin:0}
.nav-list li{margin:5px 0}
.nav-link{display:flex;align-items:center;gap:11px;padding:11px 13px;border-left:3px solid transparent;border-radius:10px;color:#506278}
.nav-link:hover,.nav-link.active{background:#e8f2fb;color:var(--primary-dark);border-left-color:var(--primary)}
.nav-link:focus-visible,.footer-links a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.nav-dot{width:7px;height:7px;border-radius:50%;background:#b8c8d8}
.nav-link.active .nav-dot{background:var(--primary)}
.side-bottom{margin-top:auto;padding:16px 12px;border-top:1px solid var(--line)}
.side-note{font-size:12px;color:var(--muted);margin:0 0 12px}
.side-links{display:flex;flex-wrap:wrap;gap:6px 13px}
.side-links a{font-size:12px;color:var(--muted)}
.side-links a:hover{color:var(--primary-dark)}
.mobile-bar{display:none}
.main{margin-left:var(--sidebar);padding:0 46px 72px}
.container{max-width:1240px;margin:0 auto}
.breadcrumb{padding-top:28px;color:#8091a3;font-size:13px}
.breadcrumb a:hover{color:var(--primary-dark)}
.hero{padding:32px 0 42px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:46px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--primary-dark);font-size:13px;font-weight:700;margin-bottom:17px}
.eyebrow:before{content:"";width:25px;height:2px;background:var(--accent)}
.hero-copy{font-size:17px;color:var(--muted);max-width:680px;margin:20px 0 25px}
.button-row{display:flex;flex-wrap:wrap;gap:12px}
.button{min-height:46px;border:1px solid transparent;border-radius:10px;padding:10px 19px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;transition:.22s ease}
.button.primary{background:var(--primary);color:#fff;box-shadow:0 9px 20px rgba(57,119,184,.18)}
.button.primary:hover{background:var(--primary-dark);transform:translateY(-2px)}
.button.secondary{background:#fff;color:var(--primary-dark);border-color:#bcd1e5}
.button.secondary:hover{background:var(--surface-soft);border-color:var(--primary);transform:translateY(-2px)}
.button:active{transform:translateY(1px)}
.button:focus-visible{outline:3px solid rgba(216,149,88,.42);outline-offset:2px}
.hero-points{display:flex;flex-wrap:wrap;gap:15px 20px;margin-top:24px;color:var(--muted);font-size:13px}
.hero-points span{display:flex;align-items:center;gap:7px}
.hero-points i{width:7px;height:7px;border-radius:50%;background:var(--success)}
.intro-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:25px;box-shadow:var(--shadow)}
.intro-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px}
.status{font-size:12px;color:var(--success);background:#edf7f3;border-radius:8px;padding:5px 9px;font-weight:700}
.cover-panel{height:185px;border-radius:16px;position:relative;overflow:hidden;background:linear-gradient(135deg,#759bb8 0%,#b7ccda 45%,#ead8c8 100%)}
.cover-panel:before{content:"";position:absolute;width:145px;height:210px;right:50px;bottom:-60px;border-radius:50% 50% 0 0;background:rgba(23,43,67,.22);transform:rotate(12deg)}
.cover-panel:after{content:"内容索引";position:absolute;left:16px;bottom:14px;color:#fff;background:rgba(23,43,67,.58);padding:4px 10px;border-radius:7px;font-size:12px}
.mini-index{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.mini-index div{padding:11px 12px;background:var(--surface-soft);border-radius:10px}
.mini-index strong{display:block;font-size:18px;color:var(--ink)}
.mini-index span{font-size:11px;color:var(--muted)}
.section{padding:43px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}
.section-head p{max-width:650px;margin:7px 0 0}
.filter-shell{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow);margin-bottom:26px}
.filter-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr auto;gap:12px;align-items:end}
.field label{display:block;color:var(--ink);font-size:12px;font-weight:700}
input,select,textarea{width:100%;margin-top:6px;border:1px solid #c6d5e3;border-radius:9px;background:#fff;color:var(--ink);padding:10px 12px;min-height:45px;transition:.2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(57,119,184,.14)}
input:invalid:not(:placeholder-shown){border-color:var(--danger)}
.filter-grid .button{width:100%;min-height:45px}
.filter-foot{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:14px;padding-top:13px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.reset-link{color:var(--primary-dark);font-weight:700}
.reset-link:hover{text-decoration:underline}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:25px;align-items:start}
.content-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.content-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 9px 26px rgba(30,65,100,.06);transition:.22s ease}
.content-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:#b8d0e4}
.thumb{height:154px;border-radius:12px;position:relative;overflow:hidden;background:linear-gradient(145deg,#789dbd,#d8e5ee)}
.thumb.alt{background:linear-gradient(145deg,#a9b8c4,#e9d4c1)}
.thumb.dark{background:linear-gradient(145deg,#58718c,#c5d8e1)}
.thumb:before{content:"";position:absolute;width:105px;height:165px;right:35px;bottom:-54px;border-radius:50% 50% 0 0;background:rgba(23,43,67,.17);transform:rotate(-10deg)}
.thumb-label{position:absolute;left:10px;top:10px;background:rgba(255,255,255,.88);color:var(--primary-dark);font-size:11px;border-radius:7px;padding:4px 7px}
.card-body{padding:14px 3px 2px}
.card-title{font-size:17px;font-weight:800;line-height:1.4;margin-bottom:6px}
.card-desc{font-size:13px;color:var(--muted);min-height:43px;margin-bottom:9px}
.tags{display:flex;flex-wrap:wrap;gap:5px}
.tag{display:inline-block;padding:4px 8px;border-radius:8px;background:#edf4fb;color:var(--primary-dark);font-size:11px}
.tag.warm{background:#fbf0e6;color:#9a6333}
.meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;margin-top:14px}
.progress{height:5px;border-radius:5px;background:#e7eef5;margin-top:11px;overflow:hidden}
.progress span{display:block;height:100%;border-radius:5px;background:var(--primary)}
.side-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:21px;box-shadow:var(--shadow);position:sticky;top:24px}
.side-card h3{margin-bottom:14px}
.summary-list{list-style:none;padding:0;margin:0}
.summary-list li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}
.summary-list li:last-child{border-bottom:0}
.summary-list span{color:var(--muted)}
.summary-list strong{color:var(--primary-dark)}
.notice{margin-top:17px;padding:13px;border-radius:10px;background:#fff8ef;color:#87643f;font-size:12px}
.side-card .button{width:100%;margin-top:15px;font-size:13px}
.empty-state{display:none;margin-top:18px;border:1px dashed #b9ccdc;border-radius:14px;background:#f9fcfe;padding:23px;text-align:center;color:var(--muted)}
.info-strip{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;margin-top:25px}
.info-panel{background:var(--surface-soft);border:1px solid #caddeb;border-radius:16px;padding:22px}
.info-panel p{font-size:14px;margin-bottom:0}
.steps{display:flex;gap:10px;margin-top:16px}
.step{flex:1;padding:12px;border-radius:10px;background:#fff;border:1px solid var(--line);font-size:12px}
.step b{display:block;color:var(--primary-dark);margin-bottom:4px}
.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px}
.faq-intro p{margin-top:13px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden}
.faq-item summary{padding:17px 20px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.faq-item summary:after{content:"＋";color:var(--primary)}
.faq-item[open] summary:after{content:"−"}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.faq-answer{padding:0 20px 18px;color:var(--muted);font-size:14px}
.cta-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;background:#e9f3fb;border:1px solid #c9dfef;border-radius:22px;padding:31px}
.cta-shell p{margin:12px 0 0}
.feedback-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.feedback-form .full{grid-column:1/-1}
.checkbox{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:12px}
.checkbox input{width:16px;min-height:16px;margin:4px 0 0}
.form-message{display:none;grid-column:1/-1;padding:10px 12px;border-radius:9px;background:#edf7f3;color:#397563;font-size:13px}
.form-message.show{display:block}
.footer{margin-left:var(--sidebar);padding:38px 46px 25px;background:#eaf1f7;border-top:1px solid var(--line)}
.footer-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.25fr .8fr .8fr;gap:40px}
.footer h3{font-size:16px;margin-bottom:8px}
.footer p{font-size:13px;max-width:360px;margin-bottom:0}
.footer-links{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--muted)}
.footer-links a:hover{color:var(--primary-dark);transform:translateX(2px)}
.copyright{max-width:1240px;margin:28px auto 0;padding-top:17px;border-top:1px solid #d4e0e9;color:#7c8b99;font-size:12px}
.age-notice{position:fixed;z-index:50;inset:0;background:rgba(23,43,67,.44);display:flex;align-items:center;justify-content:center;padding:20px}
.age-box{max-width:470px;background:#fff;border-radius:20px;padding:30px;box-shadow:0 24px 70px rgba(23,43,67,.2)}
.age-box h2{font-size:25px}
.age-box p{font-size:14px}
.age-actions{display:flex;gap:10px;margin-top:20px}
.age-actions .button{flex:1}
@media(max-width:1050px){
 :root{--sidebar:200px}.main{padding-left:28px;padding-right:28px}.footer{padding-left:28px;padding-right:28px}
 .hero-grid{gap:25px}.filter-grid{grid-template-columns:1fr 1fr 1fr}.filter-grid .button{grid-column:span 1}
}
@media(max-width:800px){
 .app-sidebar{display:none}.mobile-bar{display:flex;position:relative;z-index:15;min-height:68px;padding:14px 18px;align-items:center;justify-content:space-between;background:#fbfdff;border-bottom:1px solid var(--line)}
 .mobile-brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:14px}.mobile-brand .brand-mark{width:31px;height:31px}
 .menu-button{border:1px solid #c7d7e5;border-radius:9px;background:#fff;color:var(--primary-dark);min-width:44px;height:44px}
 .main,.footer{margin-left:0}.main{padding-left:20px;padding-right:20px}
 .hero-grid,.content-layout,.info-strip,.cta-shell{grid-template-columns:1fr}.hero-art{min-height:290px}.side-card{position:static}
 .faq-layout{grid-template-columns:1fr;gap:20px}.footer{padding-left:20px;padding-right:20px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}
}
@media(max-width:560px){
 h1{font-size:35px}h2{font-size:26px}.hero{padding-top:24px}.section{padding:32px 0}
 .filter-grid,.content-list,.feedback-form{grid-template-columns:1fr}.filter-grid .button{grid-column:auto}
 .filter-foot{align-items:flex-start;flex-direction:column}.content-card .thumb{height:170px}
 .footer-grid{grid-template-columns:1fr}.button-row .button{width:100%}.age-actions{flex-direction:column}
}
