:root{
    --paper:#F4EFE6;
    --paper-lite:#FAF7F1;
    --ink:#14110F;
    --orange:#FF6B35;
    --gray:#8C8478;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background-color:var(--paper);
    background-image:repeating-linear-gradient(0deg,rgba(20,17,15,.025) 0 1px,transparent 1px 4px);
    color:var(--ink);
    font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
    font-stretch:condensed;
    line-height:1.6;
    padding:0 3cm;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1180px;margin:0 auto;}

  /* ---------- 顶栏 ---------- */
  .topbar{
    display:flex;align-items:center;gap:24px;
    padding:18px 0;border-bottom:1px solid var(--ink);
    position:sticky;top:0;background:var(--paper);z-index:50;
  }
  .brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.06em;font-size:20px;white-space:nowrap;}
  .brand img{height:34px;width:auto;}
  .brand .sq{width:11px;height:11px;background:var(--orange);display:inline-block;margin-left:4px;}
  .nav{display:flex;gap:20px;flex-wrap:wrap;font-size:14px;color:var(--ink);}
  .nav a{padding:2px 0;border-bottom:1px solid transparent;transition:border-color .18s;}
  .nav a:hover{border-color:var(--orange);}
  .topact{margin-left:auto;display:flex;align-items:center;gap:12px;}
  .searchbox{display:flex;align-items:center;border:1px solid var(--ink);border-radius:999px;padding:5px 14px;background:var(--paper-lite);}
  .searchbox input{border:none;background:transparent;outline:none;font-family:inherit;font-size:13px;width:170px;color:var(--ink);}
  .searchbox input::placeholder{color:var(--gray);}
  .searchbox .ico{color:var(--gray);font-size:13px;}

  /* 按钮 = 检票口 */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;
    background:var(--orange);color:#fff;border:2px solid var(--ink);
    font-family:inherit;font-weight:700;font-size:14px;letter-spacing:.04em;
    padding:9px 20px;position:relative;cursor:pointer;
    border-radius:0 12px 12px 0;transition:transform .1s, background .15s;
  }
  .btn::after{
    content:"";position:absolute;right:-2px;top:50%;transform:translateY(-50%);
    width:10px;height:16px;background:var(--paper);border:2px solid var(--ink);
    border-right:none;border-radius:10px 0 0 10px;
  }
  .btn:hover{background:#e95a26;}
  .btn:active{transform:translateY(2px);}
  .btn.ghost{background:var(--paper-lite);color:var(--ink);}
  .btn.ghost:hover{background:#ece5d8;}

  /* 场次标题 */
  .scene{display:flex;align-items:baseline;gap:16px;margin:0 0 22px;flex-wrap:wrap;}
  .scene .time{color:var(--gray);font-size:12px;letter-spacing:.18em;font-variant-numeric:tabular-nums;white-space:nowrap;}
  .scene h2{font-size:clamp(20px,2.4vw,30px);font-weight:800;letter-spacing:.02em;line-height:1.3;}

  section{padding:56px 0;}
  section + section{border-top:1px dashed var(--gray);}

  /* ---------- 首屏 ---------- */
  .hero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-top:44px;}
  .hero .kicker{color:var(--gray);font-size:13px;letter-spacing:.12em;margin-bottom:14px;}
  .hero h1{font-size:clamp(28px,4vw,50px);line-height:1.18;letter-spacing:.01em;font-weight:900;margin-bottom:20px;}
  .hero p{color:#37312B;font-size:15px;margin-bottom:12px;max-width:36ch;}
  .hero-actions{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap;}
  .hero-visual{position:relative;}
  .ticket-frame{
    border:1px solid var(--ink);background:var(--paper-lite);padding:14px;
    transform:rotate(-1.2deg);position:relative;
  }
  .ticket-frame img{width:100%;height:auto;}
  .stamp{
    position:absolute;right:-14px;top:-16px;width:76px;height:76px;border-radius:50%;
    border:2px solid var(--ink);background:var(--orange);color:#fff;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    transform:rotate(-6deg);font-weight:800;line-height:1;z-index:2;
  }
  .stamp small{font-size:9px;letter-spacing:.1em;opacity:.9;}
  .stamp b{font-size:22px;letter-spacing:.04em;}
  .databand{
    display:grid;grid-template-columns:repeat(3,1fr);gap:0;
    border:1px solid var(--ink);margin-top:46px;background:var(--paper-lite);
  }
  .databand div{padding:20px 22px;border-right:1px dashed var(--gray);}
  .databand div:last-child{border-right:none;}
  .databand small{display:block;color:var(--gray);font-size:12px;letter-spacing:.1em;margin-bottom:6px;}
  .databand strong{font-size:17px;font-weight:800;}

  /* ---------- 票根通用 ---------- */
  .ticket{
    border:1px solid var(--ink);background:var(--paper-lite);position:relative;
    background-image:radial-gradient(circle at 0 12px, var(--paper) 6px, transparent 7px),radial-gradient(circle at 0 calc(100% - 12px), var(--paper) 6px, transparent 7px);
  }
  .ticket::after{
    content:"";position:absolute;right:28px;top:0;bottom:0;
    border-left:1px dashed var(--gray);opacity:.7;
  }

  /* 今日排片 横滑 */
  .rail{display:flex;gap:20px;overflow-x:auto;padding:6px 4px 18px;scroll-snap-type:x mandatory;}
  .rail::-webkit-scrollbar{height:6px;}
  .rail::-webkit-scrollbar-thumb{background:#d6cdbe;}
  .showing-card{
    flex:0 0 240px;scroll-snap-align:start;border:1px solid var(--ink);background:var(--paper-lite);
    padding:10px;position:relative;transform:rotate(.6deg);
    display:flex;flex-direction:column;
    background-image:radial-gradient(circle at 8px 0, var(--paper) 5px, transparent 6px),radial-gradient(circle at 8px calc(100% - 0px), var(--paper) 5px, transparent 6px);
  }
  .showing-card:nth-child(even){transform:rotate(-.8deg);}
  .showing-card .pic{aspect-ratio:2/3;overflow:hidden;background:#ddd6c8;}
  .showing-card .pic img{width:100%;height:100%;object-fit:cover;}
  .showing-card .info{padding:12px 6px 4px;border-top:1px dashed var(--gray);margin-top:10px;}
  .showing-card h3{font-size:16px;font-weight:800;margin-bottom:6px;}
  .tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
  .tags span{font-size:11px;color:var(--gray);border:1px solid #d9d0c1;padding:1px 7px;}
  .tags span.ep{color:var(--orange);border-color:var(--orange);}
  .showing-card .stamp-sm{
    position:absolute;right:8px;top:calc(100% - 118px);width:46px;height:46px;border-radius:50%;
    background:var(--orange);color:#fff;border:2px solid var(--ink);transform:rotate(-6deg);
    display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;
  }

  /* 榜单 */
  .rank-tabs{display:flex;gap:22px;font-size:14px;margin-bottom:18px;flex-wrap:wrap;}
  .rank-tabs a{border-bottom:1px solid var(--ink);padding-bottom:2px;}
  .rank-tabs a:hover{color:var(--orange);border-color:var(--orange);}
  .rank-list{border-top:1px solid var(--ink);}
  .rank-row{display:grid;grid-template-columns:52px 54px 1fr auto;gap:16px;align-items:center;padding:14px 4px;border-bottom:1px dashed var(--gray);}
  .rank-row .no{font-size:28px;font-weight:900;text-align:center;font-variant-numeric:tabular-nums;color:var(--ink);}
  .rank-row:nth-child(-n+3) .no{color:var(--orange);font-family:Georgia,serif;}
  .rank-row .thumb{width:54px;height:72px;object-fit:cover;border:1px solid var(--ink);}
  .rank-row .meta b{display:block;font-size:15px;font-weight:800;}
  .rank-row .meta small{color:var(--gray);font-size:12px;}
  .heat{height:5px;background:#e6dfd2;margin-top:8px;max-width:260px;}
  .heat i{display:block;height:100%;background:var(--orange);}
  .rank-row .go{font-size:13px;border:1px solid var(--ink);padding:5px 14px;white-space:nowrap;}
  .rank-row .go:hover{background:var(--ink);color:var(--paper);}

  /* 类型入口 */
  .grid-types{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  .type-cell{border:1px solid var(--ink);background:var(--paper-lite);padding:20px 16px;text-align:left;transition:background .15s;}
  .type-cell:hover{background:#efe7d9;}
  .type-cell .ic{width:30px;height:30px;border:1px solid var(--ink);margin-bottom:12px;position:relative;}
  .type-cell .ic::after{content:"";position:absolute;inset:8px;border:1px solid var(--ink);}
  .type-cell b{display:block;font-size:15px;margin-bottom:4px;}
  .type-cell small{color:var(--gray);font-size:12px;}

  /* 精选片单 */
  .list-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:22px;}
  .list-head .more{font-size:13px;border-bottom:1px solid var(--ink);}
  .mag-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:auto auto;gap:16px;}
  .mag-card{position:relative;overflow:hidden;border:1px solid var(--ink);background:#ddd6c8;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;}
  .mag-card.big{grid-row:span 2;min-height:340px;}
  .mag-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
  .mag-card .veil{position:absolute;inset:0;background:rgba(244,239,230,.82);z-index:1;}
  .mag-card .txt{position:relative;z-index:2;}
  .mag-card .txt b{display:block;font-size:17px;font-weight:800;margin-bottom:6px;}
  .mag-card .txt small{color:#4a4238;font-size:12px;}

  /* 详情页字段 */
  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
  .fields .row{display:grid;grid-template-columns:82px 1fr;gap:14px;padding:11px 0;border-bottom:1px dashed var(--gray);font-size:14px;}
  .fields .row span.k{color:var(--gray);}
  .fields .note{margin-top:16px;font-size:12px;color:var(--gray);}

  /* 人物关系 */
  .people{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;}
  .people ol{padding-left:0;list-style:none;}
  .people ol li{display:flex;gap:14px;padding:12px 0;border-bottom:1px dashed var(--gray);}
  .people ol li i{font-style:normal;color:var(--orange);font-weight:800;font-variant-numeric:tabular-nums;}

  /* 四功能 */
  .four{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  .feat{background:var(--paper-lite);border:1px solid #d9d0c1;padding:12px;}
  .feat img{width:100%;height:auto;border:1px solid #e2dacb;}
  .feat .num{font-size:12px;letter-spacing:.2em;color:var(--gray);margin:12px 0 4px;}
  .feat h3{font-size:15px;font-weight:800;margin-bottom:6px;}
  .feat p{font-size:13px;color:#4a4238;}

  /* 赞助 */
  .sponsor{display:grid;grid-template-columns:1fr 1.35fr;gap:40px;align-items:center;}
  .sponsor p{font-size:14px;margin-bottom:10px;color:#37312B;}
  .sp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start;}
  .sp-card{border:1px solid var(--ink);background:var(--paper-lite);padding:18px 14px;text-align:center;position:relative;}
  .sp-card.hot{transform:translateY(-12px);border-width:2px;}
  .sp-card .flag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--orange);color:#fff;font-size:11px;padding:2px 10px;white-space:nowrap;}
  .sp-card .m{font-size:13px;color:var(--gray);letter-spacing:.1em;margin-bottom:10px;}
  .sp-card .price{font-size:26px;font-weight:900;letter-spacing:.02em;}
  .sp-card .old{font-size:12px;color:var(--gray);text-decoration:line-through;margin-bottom:8px;}
  .sp-card .benefit{font-size:12px;color:#4a4238;min-height:36px;margin-bottom:12px;}
  .sp-card .btn{font-size:12px;padding:7px 12px;width:100%;}
  .sp-card .under{font-size:11px;color:var(--gray);margin-top:8px;}
  .sp-note{font-size:12px;color:var(--gray);margin-top:18px;}

  /* 评价瀑布 */
  .voice-cols{columns:2;column-gap:20px;}
  .voice{
    break-inside:avoid;border:1px solid var(--ink);background:var(--paper-lite);
    padding:16px 16px 18px;margin-bottom:20px;
    background-image:radial-gradient(circle at 8px 0, var(--paper) 5px, transparent 6px);
  }
  .voice header{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
  .voice header .av{width:32px;height:32px;border-radius:50%;background:#ddd6c8;border:1px solid var(--ink);flex:0 0 auto;}
  .voice header b{font-size:14px;}
  .voice .stars{color:var(--orange);font-size:12px;letter-spacing:2px;}
  .voice p{font-size:13px;color:#37312B;margin-bottom:10px;}
  .voice .tag{font-size:11px;color:var(--gray);border:1px solid #d9d0c1;padding:1px 8px;display:inline-block;}

  /* FAQ */
  .faq details{border-bottom:1px dashed var(--gray);padding:6px 0;}
  .faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:14px 2px;font-size:15px;font-weight:700;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary .qno{color:var(--gray);font-size:12px;font-variant-numeric:tabular-nums;min-width:26px;}
  .faq summary .plus{margin-left:auto;width:18px;height:18px;position:relative;flex:0 0 auto;}
  .faq summary .plus::before,.faq summary .plus::after{content:"";position:absolute;background:var(--ink);}
  .faq summary .plus::before{left:0;right:0;top:8px;height:2px;}
  .faq summary .plus::after{top:0;bottom:0;left:8px;width:2px;transition:transform .2s;}
  .faq details[open] summary .plus::after{transform:scaleY(0);}
  .faq .ans{padding:0 2px 16px 40px;font-size:14px;color:#4a4238;background:var(--paper-lite);}

  /* 下载 */
  .dl{display:grid;grid-template-columns:repeat(3,1fr);}
  .dl .col{padding:8px 26px;border-left:1px dashed var(--gray);}
  .dl .col:first-child{border-left:none;padding-left:0;}
  .dl .col:last-child{padding-right:0;}
  .dl .ic{width:32px;height:32px;border:1px solid var(--ink);margin-bottom:14px;position:relative;}
  .dl .ic::after{content:"";position:absolute;inset:9px;border:1px dashed var(--ink);}
  .dl h3{font-size:17px;font-weight:800;margin-bottom:8px;}
  .dl p{font-size:13px;color:#4a4238;margin-bottom:6px;}
  .dl .btns{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 12px;}
  .qr{width:96px;height:96px;border:1px solid var(--ink);background:
    repeating-linear-gradient(90deg,var(--ink) 0 4px,transparent 4px 8px),
    repeating-linear-gradient(0deg,var(--ink) 0 4px,transparent 4px 8px);
    background-blend-mode:multiply;opacity:.8;margin-top:8px;}

  /* 页脚 */
  footer{border-top:1px solid var(--ink);padding:36px 0 30px;margin-top:20px;font-size:12px;color:var(--gray);}
  .foot-grid{display:grid;grid-template-columns:1.4fr 2fr;gap:36px;}
  .foot-brand{display:flex;align-items:center;gap:9px;margin-bottom:10px;color:var(--ink);font-weight:800;font-size:15px;letter-spacing:.05em;}
  .foot-brand img{height:26px;}
  .foot-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .foot-links b{display:block;color:var(--ink);font-size:12px;margin-bottom:8px;letter-spacing:.1em;}
  .foot-links a{display:block;margin-bottom:6px;}
  .foot-links a:hover{color:var(--orange);}
  .barcode{height:26px;margin-top:28px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 9px);opacity:.55;}
  .legal{margin-top:18px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;}
  .legal a{border-bottom:1px solid #c9c0b1;}

  /* ---------- 响应式 ---------- */
  @media (max-width:1024px){
    body{padding:0 1.4cm;}
    .hero{grid-template-columns:1fr;gap:34px;}
    .nav{order:3;width:100%;gap:16px;}
    .topact{margin-left:0;}
    .grid-types{grid-template-columns:repeat(4,1fr);}
    .four{grid-template-columns:repeat(2,1fr);}
    .sponsor,.two-col,.people{grid-template-columns:1fr;gap:30px;}
    .mag-grid{grid-template-columns:1fr 1fr;}
    .mag-card.big{grid-column:span 2;grid-row:auto;min-height:240px;}
    .foot-grid{grid-template-columns:1fr;gap:24px;}
  }
  @media (max-width:768px){
    body{padding:0 18px;}
    .topbar{flex-wrap:wrap;gap:12px;padding:14px 0;}
    .brand{font-size:17px;}
    .brand img{height:28px;}
    .topact{width:100%;border-top:1px dashed var(--gray);padding-top:10px;}
    .searchbox{flex:1;}
    .searchbox input{width:100%;}
    .nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;}
    .nav a{white-space:nowrap;}
    section{padding:40px 0;}
    .hero h1{font-size:27px;}
    .databand{grid-template-columns:1fr;}
    .databand div{border-right:none;border-bottom:1px dashed var(--gray);}
    .databand div:last-child{border-bottom:none;}
    .showing-card{flex:0 0 74%;}
    .rank-row{grid-template-columns:36px 44px 1fr;gap:10px;}
    .rank-row .go{display:none;}
    .rank-row .no{font-size:20px;}
    .rank-row .thumb{width:44px;height:60px;}
    .grid-types{grid-template-columns:repeat(2,1fr);}
    .four{grid-template-columns:1fr 1fr;}
    .sp-cards{grid-template-columns:1fr;}
    .sp-card.hot{transform:none;}
    .voice-cols{columns:1;}
    .dl{grid-template-columns:1fr;}
    .dl .col{border-left:none;border-top:1px dashed var(--gray);padding:20px 0;}
    .dl .col:first-child{border-top:none;padding-top:0;}
    .foot-links{grid-template-columns:1fr 1fr;}
    .mag-grid{grid-template-columns:1fr;}
    .mag-card.big{grid-column:auto;min-height:200px;}
  }