:root{
    --yellow:#ffd534;
    --yellow-soft:#ffe873;
    --pink:#ff5c9e;
    --pink-deep:#e63a7f;
    --ink:#141414;
    --paper:#fffaf0;
    --white:#ffffff;
    --shadow:6px 6px 0 var(--ink);
    --shadow-sm:4px 4px 0 var(--ink);
    --border:3px solid var(--ink);
    --radius:16px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;
    background:var(--yellow);
    color:var(--ink);
    line-height:1.7;
    overflow-x:hidden;
    background-image:radial-gradient(var(--yellow-soft) 1.5px, transparent 1.5px);
    background-size:22px 22px;
  }
  img{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  .wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 18px;}

  /* ===== header ===== */
  .site-header{
    position:sticky;top:0;z-index:60;
    background:var(--paper);
    border-bottom:var(--border);
  }
  .header-inner{
    display:flex;align-items:center;gap:16px;
    padding:10px 18px;max-width:1180px;margin:0 auto;
    flex-wrap:wrap;
  }
  .brand{display:flex;align-items:center;gap:8px;font-weight:900;font-size:1.15rem;letter-spacing:.5px;}
  .brand img{height:34px;width:auto;border-radius:8px;border:2px solid var(--ink);}
  .nav-scroll{
    flex:1;display:flex;gap:10px;overflow-x:auto;
    scrollbar-width:none;
  }
  .nav-scroll::-webkit-scrollbar{display:none;}
  .nav-scroll a{
    flex:0 0 auto;
    font-size:.86rem;font-weight:800;
    padding:7px 14px;border:var(--border);border-radius:999px;
    background:var(--white);box-shadow:3px 3px 0 var(--ink);
    transition:transform .15s ease, background .15s ease;
  }
  .nav-scroll a:hover{transform:translate(-1px,-2px);background:var(--yellow-soft);}
  .nav-scroll a:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink);}

  /* ===== buttons ===== */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    font-weight:900;font-size:.95rem;
    padding:12px 24px;border:var(--border);border-radius:12px;
    background:var(--pink);color:var(--white);
    box-shadow:var(--shadow-sm);
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
    cursor:pointer;
  }
  .btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);background:var(--pink-deep);}
  .btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink);}
  .btn-ghost{background:var(--white);color:var(--ink);}
  .btn-ghost:hover{background:var(--yellow-soft);color:var(--ink);}

  /* ===== hero ===== */
  .hero{padding:38px 0 46px;position:relative;}
  .hero-grid{display:grid;grid-template-columns:1fr;gap:26px;align-items:center;}
  .hero-copy h1{
    font-size:1.95rem;line-height:1.3;font-weight:900;
    letter-spacing:.5px;
  }
  .hero-copy h1 mark{
    background:var(--pink);color:var(--white);
    padding:0 8px;border:var(--border);border-radius:8px;
    box-decoration-break:clone;-webkit-box-decoration-break:clone;
    display:inline-block;
    transform:rotate(-1.5deg);
    margin:2px 0;
  }
  .hero-copy p{margin-top:16px;font-size:1rem;max-width:34em;}
  .hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
  .hero-tags span{
    font-size:.8rem;font-weight:800;background:var(--paper);
    border:var(--border);border-radius:999px;padding:4px 12px;
    box-shadow:3px 3px 0 var(--ink);
  }
  .hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px;}
  .hero-poster{
    display:flex;justify-content:center;gap:14px;
  }
  .poster-card{
    border:var(--border);border-radius:var(--radius);
    overflow:hidden;box-shadow:var(--shadow);background:var(--white);
    width:48%;max-width:210px;
  }
  .poster-card img{width:100%;height:280px;object-fit:cover;}
  .poster-card.tilt-a{transform:rotate(-3deg);}
  .poster-card.tilt-b{transform:rotate(2.5deg) translateY(18px);}

  /* ===== section shell ===== */
  section{padding:44px 0;}
  .sec-head{margin-bottom:26px;}
  .sec-head h2{
    display:inline-block;
    font-size:1.5rem;font-weight:900;
    background:var(--white);border:var(--border);border-radius:12px;
    padding:6px 18px;box-shadow:var(--shadow-sm);
  }
  .sec-head p{margin-top:12px;font-size:.95rem;max-width:40em;}
  .sec-head .kicker{
    display:inline-block;font-size:.78rem;font-weight:900;
    background:var(--pink);color:var(--white);
    padding:2px 10px;border-radius:999px;margin-bottom:10px;
    border:2px solid var(--ink);
  }

  /* ===== cards ===== */
  .card{
    background:var(--paper);border:var(--border);border-radius:var(--radius);
    box-shadow:var(--shadow);overflow:hidden;
  }
  .grid-4{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
  .grid-3{display:grid;grid-template-columns:1fr;gap:18px;}
  .grid-2{display:grid;grid-template-columns:1fr;gap:18px;}

  /* dramatic card */
  .drama-card img{width:100%;height:230px;object-fit:cover;}
  .drama-card .dc-body{padding:12px 14px 16px;}
  .drama-card h3{font-size:1rem;font-weight:900;line-height:1.4;}
  .drama-card .dc-meta{
    margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;
  }
  .drama-card .dc-meta span{
    font-size:.72rem;font-weight:800;
    background:var(--yellow-soft);border:2px solid var(--ink);
    border-radius:999px;padding:1px 9px;
  }
  .drama-card p{font-size:.85rem;margin-top:8px;color:#333;}

  /* mood card */
  .mood{
    padding:20px;box-shadow:var(--shadow-sm);
  }
  .mood h3{font-size:1.05rem;font-weight:900;margin-bottom:6px;}
  .mood p{font-size:.9rem;}
  .mood .num{
    display:inline-flex;align-items:center;justify-content:center;
    width:30px;height:30px;border-radius:50%;
    background:var(--pink);color:#fff;font-weight:900;
    border:2px solid var(--ink);margin-bottom:10px;
  }

  /* ===== today update list ===== */
  .update-list{display:grid;gap:14px;}
  .update-item{
    display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:center;
    background:var(--paper);border:var(--border);border-radius:14px;
    padding:10px;box-shadow:var(--shadow-sm);
  }
  .update-item img{width:88px;height:112px;object-fit:cover;border-radius:10px;border:2px solid var(--ink);}
  .update-item h3{font-size:1rem;font-weight:900;}
  .update-item .ep{
    display:inline-block;font-size:.74rem;font-weight:900;color:#fff;
    background:var(--pink);border:2px solid var(--ink);
    border-radius:999px;padding:1px 9px;margin:5px 0;
  }
  .update-item p{font-size:.85rem;color:#333;}
  .new-flag{
    display:inline-block;font-size:.7rem;font-weight:900;
    background:var(--yellow);border:2px solid var(--ink);border-radius:6px;
    padding:0 6px;margin-left:6px;transform:rotate(-4deg);
  }

  /* ===== calendar ===== */
  .cal-wrap{display:grid;grid-template-columns:1fr;gap:18px;}
  .cal-days{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
  .cal-day{
    background:var(--paper);border:var(--border);border-radius:12px;
    padding:10px 8px;text-align:center;box-shadow:3px 3px 0 var(--ink);
  }
  .cal-day strong{display:block;font-size:.95rem;font-weight:900;}
  .cal-day span{font-size:.72rem;font-weight:800;color:#555;}
  .cal-day.active{background:var(--pink);color:#fff;}
  .cal-day.active span{color:#ffe1ec;}

  /* ===== flow steps ===== */
  .flow{display:grid;gap:14px;grid-template-columns:1fr;}
  .flow-step{
    display:flex;gap:14px;align-items:flex-start;
    background:var(--paper);border:var(--border);border-radius:14px;
    padding:16px;box-shadow:var(--shadow-sm);
  }
  .flow-step .fs-num{
    flex:0 0 auto;width:38px;height:38px;border-radius:10px;
    background:var(--yellow);border:var(--border);
    display:flex;align-items:center;justify-content:center;
    font-weight:900;font-size:1rem;transform:rotate(-4deg);
  }
  .flow-step h3{font-size:1rem;font-weight:900;margin-bottom:4px;}
  .flow-step p{font-size:.88rem;}

  /* ===== player ===== */
  .player-grid{display:grid;grid-template-columns:1fr;gap:18px;}
  .player-box{
    background:var(--ink);border:var(--border);border-radius:var(--radius);
    box-shadow:var(--shadow);overflow:hidden;
  }
  .player-box .screen{
    position:relative;background:#000;aspect-ratio:16/9;
  }
  .player-box .screen img{width:100%;height:100%;object-fit:cover;opacity:.92;}
  .play-btn{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    flex-direction:column;gap:8px;color:#fff;font-weight:900;
  }
  .play-btn .circle{
    width:58px;height:58px;border-radius:50%;
    background:var(--pink);border:3px solid #fff;
    display:flex;align-items:center;justify-content:center;
    font-size:1.2rem;box-shadow:0 0 0 6px rgba(0,0,0,.35);
  }
  .play-btn small{font-size:.78rem;font-weight:700;background:rgba(0,0,0,.55);padding:2px 10px;border-radius:999px;}
  .player-info{padding:14px 16px;color:#fff;}
  .player-info h3{font-size:1.05rem;font-weight:900;}
  .player-info p{font-size:.85rem;color:#d9d9d9;margin-top:4px;}
  .ep-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
  .ep-chips span{
    font-size:.78rem;font-weight:800;padding:4px 11px;border-radius:8px;
    background:#2a2a2a;color:#eee;border:2px solid #444;
  }
  .ep-chips span.on{background:var(--pink);border-color:#fff;color:#fff;}

  /* ===== ranking ===== */
  .rank-list{display:grid;gap:12px;}
  .rank-item{
    display:grid;grid-template-columns:34px 64px 1fr auto;gap:12px;align-items:center;
    background:var(--paper);border:var(--border);border-radius:12px;
    padding:8px 12px;box-shadow:3px 3px 0 var(--ink);
  }
  .rank-item .no{font-size:1.2rem;font-weight:900;text-align:center;}
  .rank-item img{width:64px;height:80px;object-fit:cover;border-radius:8px;border:2px solid var(--ink);}
  .rank-item h3{font-size:.95rem;font-weight:900;}
  .rank-item p{font-size:.78rem;color:#444;}
  .rank-item .heat{
    font-size:.74rem;font-weight:900;color:#fff;background:var(--pink);
    border:2px solid var(--ink);border-radius:999px;padding:2px 9px;white-space:nowrap;
  }

  /* ===== comments marquee ===== */
  .marquee{
    overflow:hidden;background:var(--ink);border-top:var(--border);border-bottom:var(--border);
    padding:14px 0;
  }
  .marquee-track{
    display:flex;gap:14px;width:max-content;
    animation:slide 34s linear infinite;
  }
  .marquee:hover .marquee-track{animation-play-state:paused;}
  @keyframes slide{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  .cmt{
    flex:0 0 auto;background:var(--paper);border:2px solid var(--ink);
    border-radius:999px;padding:7px 16px;font-size:.85rem;font-weight:700;
    white-space:nowrap;box-shadow:3px 3px 0 var(--pink);
  }
  .cmt b{color:var(--pink-deep);}

  /* ===== cert ===== */
  .cert-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
  .cert{
    background:var(--paper);border:var(--border);border-radius:12px;
    padding:16px;text-align:center;box-shadow:var(--shadow-sm);
  }
  .cert .seal{
    width:46px;height:46px;margin:0 auto 10px;border-radius:50%;
    background:var(--yellow);border:3px solid var(--ink);
    display:flex;align-items:center;justify-content:center;
    font-weight:900;font-size:1.1rem;
  }
  .cert h3{font-size:.92rem;font-weight:900;}
  .cert p{font-size:.78rem;color:#444;margin-top:3px;}

  /* ===== two col media ===== */
  .split{display:grid;grid-template-columns:1fr;gap:20px;align-items:center;}
  .split .media{border:var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
  .split .media img{width:100%;height:100%;object-fit:cover;}
  .split h2{font-size:1.35rem;font-weight:900;margin-bottom:12px;}
  .split p{font-size:.95rem;margin-bottom:10px;}

  /* ===== gallery wall ===== */
  .wall{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
  .wall figure{
    border:var(--border);border-radius:14px;overflow:hidden;
    background:var(--paper);box-shadow:var(--shadow-sm);margin:0;
  }
  .wall figure img{width:100%;height:200px;object-fit:cover;}
  .wall figcaption{padding:8px 10px;font-size:.8rem;font-weight:800;}
  .wall .span2{grid-column:span 2;}
  .wall .span2 img{height:180px;}

  /* ===== faq ===== */
  .faq-list{display:grid;gap:12px;}
  .faq-item{
    background:var(--paper);border:var(--border);border-radius:12px;
    padding:14px 16px;box-shadow:3px 3px 0 var(--ink);
  }
  .faq-item h3{font-size:.98rem;font-weight:900;margin-bottom:6px;}
  .faq-item h3::before{content:"Q ";color:var(--pink-deep);font-weight:900;}
  .faq-item p{font-size:.88rem;color:#333;}

  /* ===== install ===== */
  .install-steps{display:grid;gap:14px;grid-template-columns:1fr;}
  .install-card{
    background:var(--paper);border:var(--border);border-radius:14px;
    padding:18px;box-shadow:var(--shadow-sm);
  }
  .install-card .os{
    display:inline-block;font-size:.76rem;font-weight:900;
    background:var(--pink);color:#fff;border:2px solid var(--ink);
    border-radius:999px;padding:1px 10px;margin-bottom:8px;
  }
  .install-card h3{font-size:1rem;font-weight:900;margin-bottom:6px;}
  .install-card ol{margin-left:18px;font-size:.88rem;}
  .install-card ol li{margin-bottom:4px;}

  /* ===== footer ===== */
  .site-footer{
    margin-top:20px;border-top:var(--border);
    background:var(--paper);padding:26px 0 20px;
  }
  .footer-inner{text-align:center;}
  .footer-search{
    display:flex;flex-wrap:wrap;justify-content:center;gap:8px;
    margin-bottom:16px;
  }
  .footer-search span{
    font-size:.76rem;font-weight:700;color:#555;
    border:2px dashed #bbb;border-radius:999px;padding:2px 10px;
  }
  .footer-inner p{font-size:.78rem;color:#666;margin-bottom:6px;}
  .footer-inner a{color:#666;text-decoration:underline;}
  .footer-inner .upd{font-size:.74rem;color:#888;margin-top:8px;}

  /* ===== breakpoints ===== */
  @media (min-width:768px){
    .hero-grid{grid-template-columns:1.15fr .85fr;gap:34px;}
    .hero-copy h1{font-size:2.5rem;}
    .poster-card img{height:340px;}
    .grid-4{grid-template-columns:repeat(4,1fr);}
    .grid-3{grid-template-columns:repeat(3,1fr);}
    .grid-2{grid-template-columns:repeat(2,1fr);}
    .update-list{grid-template-columns:repeat(2,1fr);}
    .cal-wrap{grid-template-columns:1fr 1fr;align-items:start;}
    .flow{grid-template-columns:repeat(2,1fr);}
    .player-grid{grid-template-columns:1.4fr 1fr;}
    .split{grid-template-columns:1fr 1fr;gap:30px;}
    .wall{grid-template-columns:repeat(3,1fr);}
    .wall figure img{height:240px;}
    .wall .span2{grid-column:span 2;}
    .cert-grid{grid-template-columns:repeat(4,1fr);}
    .install-steps{grid-template-columns:repeat(2,1fr);}
    .sec-head h2{font-size:1.8rem;}
  }
  @media (min-width:1024px){
    section{padding:56px 0;}
    .hero{padding:56px 0 64px;}
    .hero-copy h1{font-size:2.9rem;}
    .update-list{grid-template-columns:repeat(3,1fr);}
    .rank-item{grid-template-columns:44px 72px 1fr auto;}
    .flow{grid-template-columns:repeat(4,1fr);}
    .drama-card img{height:300px;}
    .wall figure img{height:280px;}
    .wall .span2 img{height:280px;}
    .player-box .screen{aspect-ratio:16/9;}
  }