
  :root{
    --bg:#f4ead6; --paper:#fffdf8; --paper2:#fbf3e4; --side:#f0e3cb;
    --ink:#402f1d; --muted:#8a7456; --line:#e6d6ba; --line2:#efe3cb;
    --brown:#9c6b3b; --brown-dk:#7a4e26;
    --light:#3fae6b;  --light-t:#e4f3e8;
    --medium:#efa636; --medium-t:#fbeed6;
    --heavy:#e0543c;  --heavy-t:#fadfd8;
    --closed:#d6c6a8; --closed-t:#eadfca;
  }
  *{box-sizing:border-box}
  html,body{margin:0;height:100%}
  body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink)}
  h1,h2,h3,.brand{font-family:"Georgia","Times New Roman",serif}
  button,input,select{font-family:inherit;cursor:pointer}
  input{cursor:text}
  a{color:var(--brown-dk)}
  .container{max-width:1080px;margin:0 auto;padding:0 32px}

  /* ===================== LANDING ===================== */
  #landing{min-height:100vh;display:flex;flex-direction:column;
    background:radial-gradient(900px 420px at 50% -8%,rgba(156,107,59,.14),transparent),linear-gradient(180deg,#f6ecd9,#f1e5cd)}
  .lp-nav{display:flex;justify-content:space-between;align-items:center;height:74px}
  .brand{font-size:21px;font-weight:700;letter-spacing:.2px;color:var(--brown-dk)}
  .brand .ride{color:var(--heavy)}
  .lp-nav .open{background:var(--brown-dk);color:#fbf1df;border:none;border-radius:11px;padding:11px 20px;font-weight:700;font-size:14px}
  .lp-nav .open:hover{background:var(--brown)}
  .hero{text-align:center;padding:60px 0 26px}
  .hero .eyebrow{display:inline-block;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--brown);
    background:#fff7e9;border:1px solid var(--line);border-radius:30px;padding:6px 16px;margin-bottom:24px}
  .hero h1{font-size:clamp(34px,5.6vw,60px);line-height:1.06;margin:0 auto 22px;max-width:16ch;color:#2f2113}
  .hero h1 .g1{color:var(--light)} .hero h1 .g2{color:var(--medium)} .hero h1 .g3{color:var(--heavy)}
  .hero p{font-size:clamp(15px,2vw,18.5px);color:var(--muted);max-width:62ch;margin:0 auto 32px;line-height:1.6}
  .cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
  .cta .primary{background:var(--brown-dk);color:#fbf1df;border:none;border-radius:13px;padding:15px 32px;font-weight:700;font-size:16px}
  .cta .primary:hover{background:var(--brown)}
  .cta .ghost{background:#fff;color:var(--brown-dk);border:1px solid var(--line);border-radius:13px;padding:15px 28px;font-weight:600;font-size:16px}
  .cta .ghost:hover{border-color:var(--brown)}
  .keybar{display:flex;justify-content:center;margin:44px auto 0;max-width:560px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
  .keybar div{flex:1;padding:14px 10px;text-align:center;font-size:13px;font-weight:700;color:#fff}
  .keybar .k-light{background:var(--light)} .keybar .k-med{background:var(--medium)} .keybar .k-heavy{background:var(--heavy)}
  .keybar .k-closed{background:var(--closed);color:#5e4d31}
  .features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:64px 0 8px}
  .feat{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:26px 24px}
  .feat .ic{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:16px}
  .feat:nth-child(1) .ic{background:var(--light-t)} .feat:nth-child(2) .ic{background:var(--medium-t)} .feat:nth-child(3) .ic{background:var(--heavy-t)}
  .feat h3{margin:0 0 8px;font-size:18px;color:#2f2113}
  .feat p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}
  .strip{display:grid;grid-template-columns:repeat(4,1fr);margin:64px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .strip div{text-align:center;padding:28px 12px}
  .strip div+div{border-left:1px solid var(--line)}
  .strip b{display:block;color:var(--brown-dk);font-size:30px;line-height:1;font-family:"Georgia",serif}
  .strip span{display:block;color:var(--muted);font-size:13px;margin-top:8px}
  .lp-foot{text-align:center;color:var(--muted);font-size:12.5px;padding:32px 24px 40px;line-height:1.55}

  .overview-wrap{padding:6px 0 4px}
  .overview-wrap h2{font-size:21px;color:#2f2113;margin:0 0 3px}
  .overview-wrap .ov-sub{color:var(--muted);font-size:13px;margin:0 0 16px;line-height:1.5}
  .overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
  .pcard{position:relative;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:15px 16px;cursor:pointer;transition:transform .08s,box-shadow .08s;font-family:inherit;overflow:visible}
  .pcard::before,.pcard::after{content:"";position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:var(--bg);transform:translateY(-50%);pointer-events:none}
  .pcard::before{left:-7px;box-shadow:inset -1px 0 0 var(--line)}
  .pcard::after{right:-7px;box-shadow:inset 1px 0 0 var(--line)}
  .pcard:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(120,80,40,.12);border-color:var(--brown)}
  .pcard-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
  .pcard.closed{opacity:.6;filter:grayscale(.4)}
  .pcard.closed:hover{opacity:.85}
  .pcard-nm{font-size:15px;font-weight:700;color:#2f2113;line-height:1.25}
  .pcard-rs{font-size:11.5px;color:var(--muted);margin-top:1px}
  .pcard-badge{font-size:11px;font-weight:800;color:#fff;padding:3px 9px;border-radius:20px;white-space:nowrap;float:right;margin:0 0 4px 8px}
  .pcard-badge.closed{background:var(--closed);color:#5e4d31}
  .pcard-meta{font-size:12px;color:#5e4d31;margin-top:9px;font-weight:600;clear:both}
  /* Empty-state line on a card with no sourced hours/crowd (2026-08-19). Muted and italic so it
     reads as an explanation rather than data — the failure it fixes was a card that showed seven
     grey squares and no reason, which looks broken rather than empty. */
  .pcard-unsourced{font-size:12px;color:#7a6a4f;margin-top:8px;font-style:italic;clear:both}
  .pcard-trend{display:flex;align-items:center;gap:8px;margin-top:11px}
  .pcard-trend-l{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700}
  .tsq-row{display:flex;gap:3px}
  .tsq{width:14px;height:14px;border-radius:3px;display:inline-block}
  .tsq.t0{outline:2px solid var(--brown-dk);outline-offset:1px}

  /* ===================== APP ===================== */
  #app{display:none;min-height:100vh}
  .app-shell{min-height:100vh}
  .side{background:var(--side);border-right:1px solid var(--line);position:fixed;left:0;top:0;bottom:0;width:256px;overflow-y:auto;padding:16px 14px 30px;z-index:20}
  .side .home{display:flex;align-items:center;gap:8px;width:100%;background:#fff;color:var(--brown-dk);border:1px solid var(--line);
    border-radius:11px;padding:10px 12px;font-weight:700;margin-bottom:12px}
  .side .home:hover{border-color:var(--brown)}
  .search{width:100%;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 12px;font-size:13.5px;color:var(--ink);margin-bottom:6px}
  .search:focus{outline:none;border-color:var(--brown)}
  .side .grp{font-size:10.5px;text-transform:uppercase;letter-spacing:.9px;color:var(--muted);margin:14px 8px 7px;font-weight:700}
  .side .pk{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;background:transparent;color:var(--ink);
    border:1px solid transparent;border-radius:11px;padding:9px 12px;margin-bottom:2px}
  .side .pk:hover{background:#fbf2e0}
  .side .pk.active{background:#fff;border-color:var(--line);box-shadow:inset 3px 0 0 var(--brown)}
  .side .pk .nm{font-size:13.5px;font-weight:700}
  .side .pk .rs{font-size:11px;color:var(--muted)}
  .side .pk .badge{font-size:9.5px;font-weight:700;padding:1px 7px;border-radius:20px;align-self:flex-start;margin-top:4px}
  .badge.season{background:var(--medium-t);color:#9a6a1c} .badge.year{background:var(--light-t);color:#2c7a48}
  .side .nores{color:var(--muted);font-size:12.5px;padding:10px 8px}

  .main{padding:14px 30px 48px;margin-left:256px;display:flex;flex-direction:column;align-items:center}
  .ph,.tabs,.view{width:100%;max-width:960px}
  .ph{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:14px}
  .phright{margin-left:auto}
  .ph h2{margin:0;font-size:26px;color:#2f2113}
  .ph .meta{color:var(--muted);font-size:13px;margin-top:5px}
  .ph .meta a{font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}
  .tabs{display:flex;gap:6px;margin:10px 0 0;border-bottom:1px solid var(--line)}
  .tabs button{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--muted);
    font-weight:700;font-size:14px;padding:10px 14px;margin-bottom:-1px}
  .tabs button:hover{color:var(--brown-dk)}
  .tabs button.active{color:var(--brown-dk);border-bottom-color:var(--brown)}
  .view{display:none} .view.active{display:block}

  .nav{display:flex;gap:8px;align-items:center}
  .nav button{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 13px}
  .nav button:hover{border-color:var(--brown)}
  .month-label{font-size:16px;font-weight:700;min-width:150px;text-align:center;color:var(--brown-dk)}
  .toolbar{display:flex;justify-content:flex-end;margin:14px 0 0}

  .summary{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0 4px}
  .stat{flex:1;min-width:130px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
  .stat .k{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700}
  .stat .v{font-size:19px;font-weight:700;margin-top:4px;color:var(--brown-dk)}
  .quiet-strip{display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 16px;margin-top:4px}
  .quiet-strip .qs-lbl{font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
  .quiet-chip{display:inline-flex;align-items:center;gap:7px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:7px 13px;cursor:pointer;font-weight:700;color:var(--brown-dk);font-size:14px;font-family:inherit}
  .quiet-chip:hover{border-color:var(--brown);box-shadow:0 1px 6px rgba(0,0,0,.08)}
  .quiet-chip .qdot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
  .quiet-chip .qstatus{font-weight:600;color:var(--muted);font-size:12px}

  .legend{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:16px 0 4px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 18px}
  .legend .grp{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink);font-weight:600}
  .sw{width:15px;height:15px;border-radius:5px;display:inline-block}

  .grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:14px}
  .dow{font-size:11px;color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.5px;padding-bottom:2px;font-weight:700}
  .cell{border:1px solid var(--line);border-radius:13px;min-height:108px;padding:8px 10px;position:relative;transition:transform .08s,box-shadow .08s;overflow:hidden;background:var(--paper)}
  .cell:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(120,80,40,.14)}
  .cell.empty{background:transparent;border:none}
  .cell .num{font-size:13px;font-weight:700;color:#3a2a18}
  .cell .bar{position:absolute;left:0;right:0;bottom:0;height:7px}
  .cell .lvl{position:absolute;top:7px;right:8px;font-size:11px;font-weight:800;padding:1px 7px;border-radius:20px;color:#fff}
  .cell .closed-tag{display:inline-block;margin-top:15px;font-size:11px;font-weight:700;color:#6f5b39;background:var(--closed-t);padding:2px 8px;border-radius:7px}
  .cell .resv{position:absolute;left:10px;right:10px;bottom:11px;font-size:10.5px;color:#5e4d31;font-weight:700}
  .cell .hrs{font-size:10px;color:#7a6647;margin-top:1px}
  .cell .ev{margin-top:2px;font-size:9.5px;color:#9a6a1c;font-weight:600;line-height:1.18;max-height:23px;overflow:hidden}
  .cell .cal-wx{font-size:9.5px;color:#6b563c;margin-top:1px;line-height:1.15}
  .cell .cal-wx.cal-wx-typ{color:#9c8767;font-style:italic}
  .cell .cal-verd{display:inline-block;font-size:8.5px;font-weight:800;border-radius:6px;padding:0 5px;margin-top:2px}
  .cell .cal-verd.good{background:#e3f5e9;color:#2e7d4f}
  .cell .cal-verd.bad{background:#fbe4de;color:#b5341f}
  .cell.today{box-shadow:0 0 0 2px var(--brown) inset}

  .chartwrap{margin-top:26px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px 20px 12px}
  .chartwrap h3{margin:0 0 3px;font-size:16px;color:#2f2113}
  .chartwrap .csub{color:var(--muted);font-size:12px;margin-bottom:8px}
  .chartbox{position:relative;width:100%}
  .chartbox svg{display:block;width:100%;height:auto}
  .ctip{position:absolute;pointer-events:none;background:#fffdf8;border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:12px;
    opacity:0;transition:opacity .08s;white-space:nowrap;z-index:5;box-shadow:0 8px 22px rgba(120,80,40,.18);color:var(--ink)}
  .ctip b{display:block;font-size:12.5px;margin-bottom:3px;color:#2f2113}

  /* planner + compare */
  .panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px 22px;margin-top:12px}
  .panel h3{margin:0 0 4px;font-size:18px;color:#2f2113}
  .panel .sub{color:var(--muted);font-size:13px;margin-bottom:16px;line-height:1.5}
  .ctrls{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}
  .field{display:flex;flex-direction:column;gap:5px}
  .field label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700}
  .field input,.field select{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:14px;color:var(--ink);min-width:150px}
  .field input:focus,.field select:focus{outline:none;border-color:var(--brown)}
  .go{background:var(--brown-dk);color:#fbf1df;border:none;border-radius:11px;padding:11px 20px;font-weight:700;font-size:14px}
  .go:hover{background:var(--brown)}
  .results{margin-top:18px;display:flex;flex-direction:column;gap:9px}
  .rrow{display:grid;grid-template-columns:34px 1.2fr 88px 1.15fr 1fr .95fr;gap:12px;align-items:center;
    background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 14px}
  .rrow.head{background:transparent;border:none;padding:0 14px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}
  .rrow .rank{font-weight:800;color:var(--brown);font-family:"Georgia",serif;font-size:16px}
  .rrow .d{font-weight:700;font-size:13.5px}
  .rrow .d small{display:block;color:var(--muted);font-weight:400;font-size:11.5px}
  .rrow .lvlpill{font-size:11.5px;font-weight:800;padding:3px 9px;border-radius:20px;color:#fff;text-align:center}
  .rrow .hh{font-size:12.5px;color:#5e4d31}
  .rrow .gg{font-size:12.5px;color:#5e4d31;font-weight:600}
  .rrow .ev2{font-size:12px;color:#9a6a1c;font-weight:600;line-height:1.3;padding-left:8px}
  .pl-sum{margin:6px 0 6px;font-size:13.5px;color:#4a3a24;background:rgba(122,78,38,.06);border:1px solid var(--line);border-radius:10px;padding:10px 14px;line-height:1.55}
  .pl-tip{margin:12px 0 0;font-size:13px;color:#5e4a30;background:#fffaf0;border:1px dashed #d9b87f;border-radius:10px;padding:9px 14px;line-height:1.5}
  .pl-tip::before{content:"Tip: ";font-weight:800;color:#b1442e}
  .rrow.best{box-shadow:0 0 0 2px var(--light) inset}
  .rrow.win{box-shadow:0 0 0 2px var(--light) inset}
  .cmprow{grid-template-columns:24px 1.6fr 92px 86px 1fr 1fr}
  .statusdot{font-size:11.5px;font-weight:700}
  .closedrow{opacity:.6}
  .empty-note{color:var(--muted);font-size:13px;padding:14px 2px}
  /* Unified profile renderer (assets/park-profile.js) — one template for every park, tiered by data depth. */
  .pp-head{margin:2px 0 8px}
  .pp-title{margin:0 0 4px;font-family:Georgia,"Times New Roman",serif;color:var(--brown-dk,#5a3d21);font-size:28px}
  .pp-state{font:700 11px system-ui,Arial,sans-serif;text-transform:uppercase;letter-spacing:.4px;color:#8a5a1e;background:#f6ead2;border:1px solid #e6d0a4;border-radius:999px;padding:2px 8px;vertical-align:middle}
  .pp-meta{color:var(--muted,#8a7456);font-size:14px;line-height:1.5}
  .pp-tabs{display:flex;gap:6px;margin:14px 0 0;border-bottom:1px solid var(--line,#e6d6ba);flex-wrap:wrap}
  .pp-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted,#8a7456);font-weight:700;font-size:14px;padding:10px 14px;margin-bottom:-1px;cursor:pointer}
  .pp-tab.on{color:var(--brown-dk,#5a3d21);border-bottom-color:var(--brown,#c9a36f)}
  .pp-view{padding-top:6px}
  .pp-grid{display:grid;gap:8px;margin-top:12px}
  .pp-row,.pp-newsrow{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line,#e6d6ba);border-radius:10px;padding:10px 14px;background:#fffdf8}
  .pp-newsrow{flex-direction:column;align-items:flex-start;gap:3px}
  .pp-rn{font-weight:600;color:var(--brown-dk,#5a3d21)}
  .pp-card{border:1px solid var(--line,#e6d6ba);border-radius:12px;padding:14px 16px;background:#fffdf8;margin-top:12px}
  .pp-note{color:var(--muted,#8a7456);font-size:13px;margin-top:8px}
  .pp-empty{color:var(--muted,#8a7456);font-size:14px;background:#faf5ea;border:1px dashed #d9c39c;border-radius:10px;padding:14px;margin-top:12px}
  .pp-pill{display:inline-block;font-size:11px;font-weight:800;padding:3px 10px;border-radius:20px}
  .pp-pill--open{background:#eaf6ee;color:#256b41;border:1px solid #bfe3cd}
  .pp-pill--closed{background:#efe7d6;color:#8a7a5a}
  .pp-cta{display:inline-block;background:#7a4e26;color:#fff;text-decoration:none;border-radius:9px;padding:6px 13px;font-weight:700;font-size:13px}
  .pp-link{font-weight:600;color:#7a4e26;text-decoration:none;font-size:13px;white-space:nowrap}

  .detail{position:fixed;inset:0;background:rgba(60,40,20,.4);display:none;align-items:center;justify-content:center;z-index:50;padding:20px}
  .detail.show{display:flex}
  .card{background:var(--paper);border:1px solid var(--line);border-radius:18px;max-width:440px;width:100%;padding:24px 26px;box-shadow:0 24px 60px rgba(60,40,20,.3);max-height:90vh;overflow-y:auto}
  .card h3{margin:0 0 2px;font-size:19px;color:#2f2113}.card .sub{color:var(--muted);font-size:13px;margin-bottom:16px}
  .meter{height:14px;border-radius:8px;background:var(--paper2);overflow:hidden;margin:6px 0 4px;border:1px solid var(--line)}.meter>span{display:block;height:100%}
  .row{display:flex;justify-content:space-between;font-size:13px;padding:8px 0;border-bottom:1px solid var(--line2)}
  .closex{float:right;cursor:pointer;color:var(--muted);font-size:22px;line-height:1;margin-top:-6px}
  .note{font-size:12.5px;color:var(--muted);margin-top:13px;line-height:1.45}
  .tips{list-style:none;padding:0;margin:13px 0 0;display:flex;flex-direction:column;gap:7px}
  .tips li{font-size:12.5px;color:var(--ink);line-height:1.4;padding-left:20px;position:relative}
  .tips li::before{content:"✓";position:absolute;left:0;color:var(--light);font-weight:800}
  .pill{display:inline-block;font-size:11px;font-weight:800;padding:3px 10px;border-radius:20px;color:#fff}
  .disclaimer{margin-top:24px;font-size:12px;color:var(--muted);line-height:1.55;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:15px 17px}

  .brand{display:flex;align-items:center;gap:9px;line-height:1}
  .brand span .ride{color:var(--heavy)}
  .logo{width:30px;height:30px;flex:0 0 auto}
  .sidebrand{display:flex;flex-direction:column;align-items:flex-start;gap:3px;font-family:"Georgia",serif;font-size:30px;font-weight:700;color:var(--brown-dk);padding:8px 6px 16px;white-space:nowrap;line-height:1}
  .sidebrand{cursor:pointer;border-radius:10px;transition:opacity .12s}
  .sidebrand:hover{opacity:.78}
  .sidebrand .logo{width:66px;height:66px}
  .sidefoot{margin-top:18px;padding:12px 8px 0;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.5}
  /* monetization */
  .phright{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
  .tickbtn{display:inline-flex;align-items:center;gap:8px;background:var(--heavy);color:#fff;text-decoration:none;border:none;
    border-radius:11px;padding:11px 18px;font-weight:800;font-size:14px;box-shadow:0 4px 12px rgba(224,84,60,.28)}
  .tickbtn:hover{filter:brightness(1.06)}
  .tickbtn small{font-weight:600;opacity:.9;font-size:10.5px}
  .tickbtn.wide{width:100%;justify-content:center;margin-top:12px}
  .ticketbox{margin-top:14px;background:var(--paper2);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
  .priceline{font-size:14px;color:var(--ink)} .priceline b{color:var(--brown-dk);font-size:16px} .priceline small{color:var(--muted)}
  .deals{margin-top:12px;border-top:1px solid var(--line);padding-top:11px}
  .deals-h{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700;margin-bottom:7px}
  .deals ul{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:5px}
  .deals li{font-size:12.5px;color:var(--ink);padding-left:18px;position:relative;line-height:1.35}
  .deals li::before{content:"";position:absolute;left:0;font-size:11px}
  .deals a{font-size:12.5px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}
  .deals-note{font-size:11px;color:var(--muted);margin-top:7px}
  .aff-note{font-size:11px;color:var(--muted)}
  .ad-slot{display:none;/* placeholders hidden until AdSense approval, restore display:flex when ad units go live */flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3px;
    background:repeating-linear-gradient(45deg,#f3ead8,#f3ead8 11px,#efe2c9 11px,#efe2c9 22px);
    border:1px dashed #c9b894;border-radius:12px;margin:16px 0}
  .ad-slot .lbl{font-size:9.5px;letter-spacing:1.3px;text-transform:uppercase;color:#b09a6e;font-weight:700}
  .ad-slot .ph2{font-weight:700;color:#8a7456;font-size:13px}
  .ad-slot.leader{min-height:96px}
  .ad-slot.rect{min-height:250px;margin-top:14px}

  .tabs{flex-wrap:wrap}
  .livehead{display:flex;gap:0;flex-wrap:wrap;margin-bottom:6px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper2)}
  .liveread{flex:1;min-width:150px;border-radius:0;padding:12px 15px;color:#fff}
  .liveread span{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;opacity:.92;font-weight:700}
  .liveread b{font-size:21px}
  .livekpi{flex:1;min-width:104px;background:transparent;border:0;border-left:1px solid var(--line);border-radius:0;padding:12px 15px}
  .livekpi span{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700}
  .livekpi b{font-size:18px;color:var(--brown-dk)}
  .liveupd{font-size:11.5px;color:var(--muted);margin:8px 0 12px}
  .linklike{background:none;border:none;color:var(--brown-dk);text-decoration:underline;font-size:11.5px;cursor:pointer;padding:0}
  .ridelist{display:flex;flex-direction:column;gap:6px;max-height:62vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:3px}
  .ride{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 14px}
  .ride.click{cursor:pointer}
  .rdname{cursor:pointer;text-decoration:underline;text-decoration-color:#d9c8a6;text-underline-offset:2px}
  .rmask{position:fixed;inset:0;background:rgba(40,28,16,.45);display:none;align-items:center;justify-content:center;z-index:9999;padding:18px}
  .rmask.show{display:flex}
  .rcard{background:#fffaf0;border:1px solid #e6d8bf;border-radius:16px;max-width:440px;width:100%;max-height:85vh;overflow:auto;padding:18px 20px 20px;position:relative;box-shadow:0 18px 50px rgba(0,0,0,.25)}
  .rclose{position:absolute;top:8px;right:12px;border:0;background:none;font-size:24px;color:#8a7456;cursor:pointer;line-height:1}
  .rtitle{margin:2px 30px 12px 0;font:700 20px Georgia,serif;color:#7a4e26}
  .rd-rows{display:flex;flex-direction:column}
  .rd-row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid #eee3cc;font-size:14.5px}
  .rd-row:first-child{border-top:none}
  .rd-row>span{color:#8a7456}
  .rd-row>b{color:#3d2b1a;text-align:right}
  .rd-note{margin-top:12px;font-size:12px;color:#8a7456;line-height:1.5}
  .tipcard{margin-top:14px;background:#fffaf0;border:1px solid var(--line);border-left:4px solid #efa636;border-radius:11px;padding:12px 14px}
  .tipcard-h{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#b1442e;margin-bottom:5px}
  .tipcard-b{font-size:13.5px;color:#3d2b1a;line-height:1.5}
  .cmpcard{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-top:9px;cursor:pointer;transition:transform .1s,box-shadow .12s}
  .cmpcard:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(120,80,40,.13)}
  .cmpcard.win{box-shadow:0 0 0 2px var(--light) inset}
  .cmpcard-rank{flex:0 0 26px;font-family:Georgia,serif;font-size:20px;font-weight:800;color:var(--brown);text-align:center}
  .cmpcard-body{flex:1;min-width:0}
  .cmpcard-nm{font-weight:800;font-size:15px;color:#2f2113}.cmpcard-nm small{display:block;font-weight:400;font-size:11.5px;color:var(--muted)}
  .cmp-best{display:inline-block;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:#fffdf8;background:#3fae6b;border-radius:20px;padding:1px 8px;margin-left:8px;vertical-align:middle}
  .cmpcard-row{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:7px}
  .cmpm{display:flex;flex-direction:column;gap:2px}
  .cmpm-l{font-size:9.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700}
  .cmpm-v{font-size:12.5px;color:#5e4d31;font-weight:600}
  .cmpcard .lvlpill{font-size:11px;padding:2px 8px}
  .cmpcard-spark{flex:0 0 132px;text-align:center}
  .cmpspark-l{font-size:9.5px;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);font-weight:700;margin-bottom:3px}
  .cmpspark{width:126px;height:32px}
  @media(max-width:640px){.cmpcard{flex-wrap:wrap}.cmpcard-spark{flex-basis:100%;text-align:left;margin-top:6px}.cmpspark{width:100%}}
  .dartwrap{background:none;border:none}
  .bubblewrap{background:none;border:none}
  .bubble{display:block;width:19px;height:19px;border-radius:50%;background:var(--bc);border:2.5px solid #fffdf8;box-shadow:0 2px 5px rgba(74,46,22,.4);transform:scale(0);animation:bubbleIn .42s cubic-bezier(.34,1.7,.5,1) forwards;animation-delay:var(--d,0s);cursor:pointer}
  .leaflet-marker-icon.bubblewrap:hover .bubble{filter:brightness(1.12)}
  @keyframes bubbleIn{0%{transform:scale(0)}65%{transform:scale(1.3)}100%{transform:scale(1)}}
  .bubble.pop{animation:bubblePop .36s ease-in forwards}
  @keyframes bubblePop{0%{transform:scale(1)}35%{transform:scale(1.4)}100%{transform:scale(0);opacity:0}}
  .bunting{height:18px;margin:2px 0 14px;background:
      linear-gradient(135deg,transparent 49%,#f6eedd 50%) -1px 0/22px 18px repeat-x,
      linear-gradient(-135deg,transparent 49%,#f6eedd 50%) 0 0/22px 18px repeat-x,
      repeating-linear-gradient(90deg,#3fae6b 0 22px,#efa636 22px 44px,#e0543c 44px 66px);
      border-radius:2px;opacity:.9}
    .carny-pill{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#fffdf8;background:#e0543c;border-radius:20px;padding:2px 10px;vertical-align:middle;margin-left:8px;transform:rotate(-2deg)}
  .eat-grid{display:flex;flex-direction:column;gap:9px;margin:8px 0 4px}
  .eat-card{background:#fffaf0;border:1.5px dashed #d9b87f;border-radius:12px;padding:11px 14px;cursor:pointer;transition:box-shadow .15s,transform .1s}
  .eat-card.open{background:#fffdf7;box-shadow:0 3px 12px rgba(122,78,38,.12)}
  .eat-card:hover{box-shadow:0 4px 14px rgba(122,78,38,.16);transform:translateY(-1px)}
  .eat-card.kid{border-color:#9bbf6f}
  .eat-head{display:flex;align-items:center;gap:10px}
  .eat-place{font-weight:800;color:#3d2b1a;font-size:15px}
  .eat-area{color:#6b5537;font-size:12.5px}
  .eat-chev{margin-left:auto;color:#b1442e;font-weight:800;transition:transform .2s}
  .eat-card.open .eat-chev{transform:rotate(90deg)}
  .eat-body{max-height:0;overflow:hidden;transition:max-height .28s ease;}
  .eat-card.open .eat-body{max-height:320px;margin-top:9px}
  .eat-dish{font-size:14.5px;color:#1f6b3a;font-weight:700;margin-bottom:8px}
  .eat-card.kid .eat-dish{color:#4f7a1e}
  /* 2026-07-20 readability fix: the ticket badges were white text on amber (~1.7:1 contrast — the
     "unreadable dining color scheme"). Dark-brown text on amber reads at ~6:1; the kid badge uses a
     deeper green so its dark text clears WCAG too. */
  .eat-tkt{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.6px;color:#3a2708;background:#efa636;border-radius:5px;padding:1px 7px;margin-right:6px;vertical-align:middle}
  .eat-card.kid .eat-tkt{background:#a9cf6f}
  .eat-menu{display:inline-block;font-size:14px;font-weight:700;color:#7a4e26;margin:2px 14px 2px 0;padding:4px 2px;text-decoration:underline}
  .eat-find{font-size:13px;font-weight:700;color:#b1442e;background:none;border:none;cursor:pointer;padding:0;text-decoration:underline}
  /* 2026-07-15 "leave it as an open poll" mandate additions */
  .eat-votecount{font-size:12px;color:#6b5537;margin-bottom:6px}
  .eat-vote,.eat-report{display:block;font-size:12.5px;font-weight:700;background:#fff;border:1px solid var(--line);color:#3d2b1a;border-radius:9px;padding:6px 10px;margin-top:7px;cursor:pointer;width:100%;text-align:left}
  .eat-vote:hover{border-color:#3fae6b;color:#1f6b3a}
  .eat-vote:disabled{opacity:.6;cursor:default}
  .eat-report{color:#8a7456;border-style:dashed}
  .eat-report:hover{border-color:#b1442e;color:#b1442e}
  .eat-report:disabled{opacity:.6;cursor:default}
  .eat-card.eat-flagged{border-color:#e0543c}
  .eat-removed-flag{font-size:12px;font-weight:700;color:#b1442e;background:#fbeae4;border-radius:8px;padding:5px 9px;margin-bottom:8px}
  .dart-throw{display:block;transform-origin:50% 95%;animation:dartThrow .55s cubic-bezier(.18,.85,.3,1.25) both;animation-delay:var(--d,0s);filter:drop-shadow(0 3px 2px rgba(74,46,22,.35))}
  @keyframes dartThrow{0%{opacity:0;transform:translate(46px,-78px) rotate(58deg) scale(.5)}60%{opacity:1}100%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}}
  .leaflet-marker-icon.dartwrap:hover .dart-throw{transform:scale(1.18);transition:transform .12s}
  .dart-big{filter:drop-shadow(0 4px 4px rgba(74,46,22,.45))}
  .coaster-cart{position:absolute;left:0;top:0;width:30px;height:24px;transform-origin:50% 92%;pointer-events:none;z-index:3;filter:drop-shadow(0 2px 2px rgba(74,46,22,.3));will-change:transform}
  .pingwrap{background:none;border:none}
  .pr-topbar{position:sticky;top:0;z-index:900;align-self:stretch;width:100%;box-sizing:border-box;display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;background:rgba(251,242,221,.97);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:9px 6px;margin:0 0 8px;border-bottom:1px solid var(--line)}
  .pr-topbar .tickbtn{margin:0}
  .pr-topbar .sharebtn{margin-left:0;display:inline-flex;align-items:center}
  @media(max-width:620px){.pr-topbar{justify-content:center}.pr-topbar .tickbtn,.pr-topbar .sharebtn{padding:9px 14px;font-size:13px}}
  .sharebtn{margin-left:8px;background:#e0543c;color:#fffdf8;border:none;border-radius:12px;padding:11px 20px;font-weight:800;font-size:14px;cursor:pointer;font-family:inherit;white-space:nowrap;box-shadow:0 2px 8px rgba(224,84,60,.3)}
  .sharebtn::before{content:"\2197  ";font-weight:800}
  .sharebtn:hover{background:#c7472f}
  .sharemodal{position:fixed;inset:0;z-index:100000;background:rgba(40,28,16,.55);display:none;align-items:center;justify-content:center;padding:18px}
  .sharemodal.show{display:flex}
  .sharebox{position:relative;background:var(--bg);border-radius:18px;padding:20px;max-width:420px;width:100%;max-height:92vh;overflow:auto;box-shadow:0 18px 50px rgba(0,0,0,.35)}
  .sharebox h3{margin:0 0 12px;font-size:20px;color:var(--brown)}
  .sharex{position:absolute;top:12px;right:14px;background:none;border:none;font-size:26px;line-height:1;color:#8a7456;cursor:pointer}
  .shareimg{width:100%;border-radius:12px;border:1px solid var(--line);display:block;margin-bottom:14px}
  .sharegrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .shareopt{display:block;text-align:center;text-decoration:none;font-weight:700;font-size:14px;padding:12px;border-radius:11px;cursor:pointer;border:none;font-family:inherit;color:#fffdf8}
  .shareopt.nat{background:#3fae6b;grid-column:1/-1}
  .shareopt.fb{background:#1877f2}.shareopt.tw{background:#111}.shareopt.pin{background:#e60023}.shareopt.wa{background:#25d366}.shareopt.rd{background:#ff4500}
  .shareopt.dl{background:#7a4e26}.shareopt.cp{background:#efa636}
  .shareopt:hover{filter:brightness(1.08)}
  .sharenote{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.5;text-align:center}
  #__toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);background:#3d2b1a;color:#fbf1df;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:600;box-shadow:0 6px 20px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:99999;max-width:90vw;text-align:center}
  #__toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
  .map-ping{display:block;width:14px;height:14px}
  .map-ping i{position:absolute;left:50%;top:50%;border-radius:50%;border:3px solid #e0543c;transform:translate(-50%,-50%);animation:mapping 1.6s ease-out infinite}
  .map-ping i:nth-child(2){animation-delay:.8s}
  @keyframes mapping{0%{width:12px;height:12px;opacity:.95}100%{width:92px;height:92px;opacity:0}}
  sup.tm{font-size:.45em;font-weight:700;color:inherit;opacity:.75;margin-left:1px;vertical-align:super}
  .stay-dirh{margin:20px 0 2px;font-size:15px;color:var(--brown)}
  .stay-dir{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}
  .sd-tier{grid-column:1/-1;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-top:10px}
  .sd-row{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px 11px;text-decoration:none;color:var(--ink);font-size:12.5px}
  .sd-row b{font-weight:700}
  .sd-row span{color:var(--muted);font-size:11.5px;text-align:right;flex-shrink:0}
  .ridefc{display:none;background:#fbf6ea;border:1px solid var(--line);border-top:none;border-radius:0 0 11px 11px;margin:-7px 3px 0;padding:10px 14px 8px}
  .ridefc.on{display:block}
  .fcbars{display:flex;align-items:flex-end;gap:2px;height:34px}
  .fcb{flex:1;background:#d9c79f;border-radius:2px 2px 0 0;min-width:3px}
  .fcb.cur{background:#3fae6b}
  .fckey{font-size:10.5px;color:#8a7456;margin-top:5px}
  .ride .rn{font-size:13.5px;font-weight:600;color:var(--ink)}
  .ride .rw{font-size:12.5px;font-weight:800;color:#fff;padding:3px 10px;border-radius:20px;min-width:64px;text-align:center}
  .ride .rw.closed{background:var(--closed);color:#5e4d31}
  .closedride{opacity:.6}

  .open{background:var(--brown-dk);color:#fbf1df;border:none;border-radius:11px;padding:11px 18px;font-weight:700;font-size:14px;cursor:pointer}
  .open:hover{background:var(--brown)}
  .bunting-top{margin:0 0 6px;border-radius:0;height:16px;opacity:.85}
  .lp-head{display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:1180px;margin:0 auto;padding:20px 30px 6px;flex-wrap:wrap}
  .lp-brand{display:flex;align-items:center;gap:14px}
  .biglogo{width:140px;height:140px;flex:0 0 auto}
  .biglogo-sweep{transform-origin:32px 30px;animation:radarsweep 10s linear infinite}
  .sidelogo-sweep{transform-origin:18px 17px;animation:radarsweep 10s linear infinite}
  @keyframes radarsweep{0%{transform:rotate(0deg)}12%{transform:rotate(360deg)}100%{transform:rotate(360deg)}}
  @media (prefers-reduced-motion: reduce){.biglogo-sweep,.sidelogo-sweep{animation:none}}
  @keyframes radarspin{to{transform:rotate(360deg)}}
  .lp-title{font-family:"Georgia",serif;font-size:52px;font-weight:700;color:var(--brown-dk);line-height:1}
  .rdr{color:var(--heavy)}
  .lp-tag{color:var(--muted);font-size:13.5px;margin-top:6px}
  .lp-actions{display:flex;gap:10px;align-items:center}
  .lp-link{background:transparent;border:1px solid var(--line);color:var(--brown-dk);border-radius:11px;padding:10px 16px;font-weight:700;font-size:13.5px;cursor:pointer}
  .lp-link:hover{border-color:var(--brown)}
  .lp-map-wrap{max-width:1180px;margin:0 auto;padding:2px 30px 12px;position:relative}
  .lp-mapkey{display:flex;gap:16px;flex-wrap:wrap;justify-content:flex-end;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:600}
  .lp-mapkey span{display:flex;align-items:center;gap:6px}
  .lp-mapkey i{width:11px;height:11px;border-radius:50%;display:inline-block}
  #lp-map{background:radial-gradient(circle at 42% 48%,#fcf4e4,#f1e4ca);border:1px solid var(--line);border-radius:18px;overflow:hidden}
  #lp-map svg{display:block;width:100%;height:auto}
  .mapsweep{animation:radarspin 9s linear infinite;pointer-events:none}
  .blip{cursor:pointer;transition:r .1s}
  .blip-ping{transform-box:fill-box;transform-origin:center;animation:blipping 2.6s ease-out infinite;opacity:0}
  @keyframes blipping{0%{transform:scale(0.5);opacity:0}15%{opacity:.7}100%{transform:scale(2.8);opacity:0}}
  @media (prefers-reduced-motion: reduce){.blip-ping{display:none}}
  .radar-ov{max-width:760px;margin:4px auto 10px;display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;background:#fffaf0;border:1px solid var(--line);border-radius:12px;padding:11px 16px}
  .ro-scan{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800;letter-spacing:.6px;color:#b1442e;text-transform:uppercase}
  .ro-live{width:8px;height:8px;border-radius:50%;background:#3fae6b;box-shadow:0 0 0 0 rgba(63,174,107,.6);animation:livedot 1.8s ease-out infinite}
  .ro-tracked{display:flex;align-items:baseline;gap:5px;font-size:13px;color:#5e4a30}.ro-tracked b{font-size:19px;font-weight:800;color:#3d2b1a;font-family:Georgia,serif}
  .ro-breaks{display:flex;flex-wrap:wrap;gap:7px;margin-left:auto}
  .ro-b{font-size:12.5px;color:#5e4a30;background:#fff;border:1px solid var(--line);border-left:4px solid var(--c);border-radius:7px;padding:3px 9px}.ro-b b{color:#3d2b1a;font-weight:800}
  .ro-upd{font-size:11px;color:#a08a6a;width:100%;text-align:right;margin-top:-2px}
  .tfmodal{position:fixed;inset:0;z-index:100000;background:rgba(40,28,16,.55);display:none;align-items:flex-start;justify-content:center;padding:24px 16px;overflow:auto}
  .tfmodal.show{display:flex}
  .tfbox{position:relative;background:var(--bg);border-radius:18px;padding:22px;max-width:480px;width:100%;box-shadow:0 18px 50px rgba(0,0,0,.35)}
  .tfbox h3{margin:0 0 4px;font-size:23px;color:var(--brown);font-family:Georgia,serif}
  .tfsub{font-size:13.5px;color:var(--muted);margin-bottom:16px;line-height:1.5}
  .tffields{display:flex;flex-direction:column;gap:11px}
  .tffields label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
  .tffields select,.tffields input{font:inherit;font-weight:600;text-transform:none;letter-spacing:0;color:var(--ink);padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
  .tfdates{display:flex;gap:11px}.tfdates label{flex:1}
  .tfgo{width:100%;margin-top:16px;font-size:15px;padding:13px}
  .tfcard{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-top:12px}
  .tfcard.win{box-shadow:0 0 0 2px var(--light) inset;background:#fbfff7}
  .tf-best{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#3fae6b;margin-bottom:3px}
  .tf-alt{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:3px}
  .tfcard-nm{font-weight:800;font-size:18px;color:#2f2113}.tfcard-nm small{display:block;font-weight:400;font-size:12.5px;color:var(--muted)}
  .tfcard-why{font-size:13.5px;color:#4a3a24;line-height:1.5;margin:8px 0 11px;display:flex;gap:7px;align-items:flex-start}
  .tf-dot{flex:0 0 10px;width:10px;height:10px;border-radius:50%;margin-top:4px}
  .tfexplore{background:#7a4e26;color:#fbf1df;border:none;border-radius:10px;padding:10px 16px;font-weight:700;font-size:13.5px;cursor:pointer;font-family:inherit}
  .tfexplore:hover{background:#9c6b3b}
  @media(max-width:560px){.ro-breaks{margin-left:0;width:100%}.ro-upd{text-align:left}}
  .ticker{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;align-items:stretch;height:42px;background:#fbf2dd;border-top:4px solid transparent;border-image:repeating-linear-gradient(90deg,#3fae6b 0 26px,#efa636 26px 52px,#e0543c 52px 78px) 4;box-shadow:0 -3px 16px rgba(122,78,40,.16)}
  @keyframes livedot{0%{box-shadow:0 0 0 0 rgba(63,174,107,.55)}100%{box-shadow:0 0 0 7px rgba(63,174,107,0)}}
  .newsbar-tag{flex:0 0 auto;display:flex;align-items:center;gap:7px;background:#e0543c;color:#fffdf8;font-weight:800;font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;padding:0 15px;white-space:nowrap}
  .newsbar-tag::before{content:"";width:8px;height:8px;border-radius:50%;background:#fffdf8;animation:newspulse 1.8s ease-out infinite}
  @keyframes newspulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.6)}100%{box-shadow:0 0 0 7px rgba(255,255,255,0)}}
  .newsbar-track{position:relative;flex:1;overflow:hidden;display:flex;align-items:center}
  .tk-track{position:relative;display:inline-flex;align-items:center;white-space:nowrap;animation:tkscroll 80s linear infinite;will-change:transform;z-index:1}
  .newsbar-track:hover .tk-track{animation-play-state:paused}
  .scope-wave{position:absolute;left:0;bottom:-3px;width:200%;height:18px;opacity:.3;animation:scopescroll 9s linear infinite;pointer-events:none;z-index:0}
  @keyframes scopescroll{to{transform:translateX(-50%)}}
  .tk-item{font-size:13px;color:#3d2b1a;padding:0 4px}
  .tk-item b{color:#b1442e;font-weight:800}
  .tk-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin:0 14px}
  .tk-dot.dg{background:#3fae6b}.tk-dot.da{background:#efa636}.tk-dot.dr{background:#e0543c}
  @keyframes tkscroll{to{transform:translateX(-50%)}}
  #landing{padding-bottom:54px}
  @media (prefers-reduced-motion: reduce){.scope-wave{animation:none}.tk-track{animation:none}}
  .blip:hover{stroke:#7a4e26;stroke-width:2.6}
  .about-modal{position:fixed;inset:0;background:rgba(60,40,20,.45);display:none;align-items:center;justify-content:center;z-index:60;padding:20px}
  .about-modal.show{display:flex}
  .about-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;max-width:460px;width:100%;padding:24px 26px;box-shadow:0 24px 60px rgba(60,40,20,.3)}
  .about-card h3{margin:0 0 8px;font-size:20px;color:#2f2113}
  .about-card p{font-size:13.5px;color:var(--ink);line-height:1.55;margin:0 0 12px}
  .about-list{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:7px}
  .about-list li{font-size:13px;color:var(--ink);padding-left:18px;position:relative;line-height:1.4}
  .about-list li::before{content:"›";position:absolute;left:4px;color:var(--brown);font-weight:800}
  .about-note{font-size:11.5px;color:var(--muted)}
  .profile{display:grid;grid-template-columns:340px 1fr;gap:28px;align-items:start}
  #view-overview{max-width:960px;margin:0 auto}
  .euler{width:100%;max-width:340px;height:auto}
  .euler-key{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);font-weight:600;margin-top:6px}
  .euler-key span{display:flex;align-items:center;gap:5px}
  .euler-key i{width:11px;height:11px;border-radius:50%;display:inline-block}
  .prof-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
  .prof-hours{font-size:13px;color:#5e4d31;font-weight:600}
  .prof-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;margin-bottom:4px}
  .prof-stats>div{flex:1;min-width:108px;background:var(--paper2);border:1px solid var(--line);border-radius:12px;padding:10px 13px}
  .prof-stats span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700}
  .prof-stats b{font-size:16px;color:var(--brown-dk)}
  .prof-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
  .prof-links button{background:#fff;border:1px solid var(--line);color:var(--brown-dk);border-radius:11px;padding:9px 13px;font-weight:700;font-size:13px;cursor:pointer}
  .prof-links button:hover{border-color:var(--brown)}
  .ls-section{margin-top:2px;margin-bottom:20px}
  .ls-grid{display:flex;gap:10px;flex-wrap:wrap}
  .ls-card{flex:1;min-width:150px;background:var(--paper2);border:1px solid var(--line);border-radius:12px;padding:11px 14px}
  .ls-card span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700}
  .ls-card b{font-size:21px;color:var(--brown-dk);display:block;margin-top:2px}
  .ls-card small{display:block;color:#5e4d31;font-size:11.5px;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ls-upd{font-size:11px;color:var(--muted);margin-top:9px}
  .ls-load{color:var(--muted);font-size:13px;padding:6px 0;line-height:1.5}
  @media(max-width:820px){.profile{grid-template-columns:1fr}.euler{margin:0 auto;max-width:260px}}
  .prof-loc{font-size:13px;color:#5e4d31;margin-bottom:10px;font-weight:600}
  .prof-loc a{font-weight:700;text-decoration:none;border-bottom:1px solid var(--line)}
  .prof-section{margin-top:20px}
  .prof-section h4{font-family:"Georgia",serif;font-size:16px;color:#2f2113;margin:0 0 10px}
  .prof-subh{font-family:"Georgia",serif;font-size:15.5px;color:#2f2113;margin:16px 0 8px}
  /* 2026-07-15: accordion wrapper for Overview's secondary sections (park map, forecast, events,
     year chart) — user feedback that the profile page had become an unreadable laundry list. Native
     <details>/<summary> so no JS state machine is needed; the summary reuses .prof-section h4's
     exact typography so a collapsed section looks identical to the old always-open heading. */
  details.prof-acc{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fffdf8}
  details.prof-acc>summary{cursor:pointer;list-style:none}
  details.prof-acc>summary::-webkit-details-marker{display:none}
  details.prof-acc>summary h4,details.prof-acc>summary h5{display:flex;align-items:center;gap:8px;margin:0}
  details.prof-acc>summary h4::before,details.prof-acc>summary h5::before{content:"▸";font-size:13px;color:#8a7456;transition:transform .15s}
  details.prof-acc[open]>summary h4::before,details.prof-acc[open]>summary h5::before{transform:rotate(90deg)}
  details.prof-acc>summary~*{margin-top:10px}
  /* "Good to know before you go" is a STATIC section header; each category below it is its own
     first-class openable menu — full .prof-acc dropdown styling plus a little spacing between them. */
  details.prof-acc--sub{margin:8px 0 0}
  .up-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}
  .up-list li{display:flex;gap:12px;align-items:baseline;background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 13px}
  .up-d{font-weight:800;color:var(--brown-dk);font-size:13px;min-width:104px;flex:0 0 auto}
  .up-l{font-size:13px;color:var(--ink)}
  .up-none{color:var(--muted);font-size:13px;display:block;line-height:1.5}
  .up-list li.past{opacity:.5}
  .up-list li.now{box-shadow:inset 0 0 0 1.6px var(--light)}
  .ev-all{max-height:none}
  .prof-grid{display:grid;grid-template-columns:1fr 252px;gap:24px;align-items:start}
  .forecast{background:var(--paper2);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
  .forecast h4{font-family:"Georgia",serif;font-size:15px;color:#2f2113;margin:0 0 8px}
  .fc-list{display:flex;flex-direction:column;gap:3px}
  .fc-row{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:5px 6px;border-radius:8px}
  .fc-row:hover{background:#fff}
  .fc-dot{width:11px;height:11px;border-radius:50%;flex:0 0 auto}
  .fc-day{flex:1;color:var(--ink)} .fc-day b{color:#2f2113}
  .fc-ic{font-size:15px;width:18px;text-align:center}
  .fc-t{color:#5e4d31;font-weight:600;min-width:52px;text-align:right}
  .fc-t.fc-na{color:var(--muted)}
  .fc-pp{color:#3a7bd5;font-size:11px;min-width:30px;text-align:right}
  .fc-key{font-size:10px;color:var(--muted);margin-top:9px;line-height:1.4}
  .wx-caveat{font-size:11px;color:var(--muted);margin-top:12px;line-height:1.45;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:9px 12px}
  .fc-est{color:#9a6a1c;font-weight:700}
  @media(max-width:820px){.prof-grid{grid-template-columns:1fr}}
  /* 2026-07-15 Briefing Board restructure: doctrine COP status row (4 pre-attentive tiles) and the
     3-column radar/tickets/schedule row that replaces the old 2-col .profile + aside layout. See
     03 Architecture/Briefing Board — Information Display Doctrine.md §4 zone 2. */
  .status4{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:2px 0 18px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper2)}
  .status4>div{background:transparent;border:0;border-left:1px solid var(--line);border-radius:0;padding:10px 13px}
  .status4>div:first-child{border-left:0}
  .status4 span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700}
  .status4 b{font-size:15px;color:var(--brown-dk);display:flex;align-items:center;gap:6px;margin-top:2px}
  .status4 .dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;display:inline-block}
  .status4 small{display:block;color:#8a7456;font-size:11px;margin-top:2px}
  .s4lab{font:800 10.5px system-ui,Arial,sans-serif;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:2px 0 5px}
  @media(max-width:760px){.status4{grid-template-columns:1fr 1fr}}
  .prof-triple{display:grid;grid-template-columns:320px 1fr 300px;gap:24px;align-items:start;margin-top:18px}
  @media(max-width:1080px){.prof-triple{grid-template-columns:1fr}}
  .prof-sched h4{font-family:"Georgia",serif;font-size:15px;color:#2f2113;margin:0 0 8px}
  /* Good-to-know accordion reuses .prof-acc; a couple of small answer-first callout styles */
  .gtk-answer{background:#f3faf2;border:1px solid #bfe0c5;border-radius:12px;padding:12px 16px;margin:0 0 12px}
  .gtk-answer b{color:#3b6d11}
  .prof-crowdchart{margin-top:22px;border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:linear-gradient(180deg,#fffdf8,#fff8ec)}
  .prof-crowdchart h4{font-family:"Georgia",serif;font-size:17px;color:#2f2113;margin:0 0 4px}
  .prof-foot-nav{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
  .prof-foot-nav .prof-links{margin-top:10px}
  .miniwrap{background:var(--paper2);border:1px solid var(--line);border-radius:12px;padding:8px 10px}
  .miniyear{width:100%;height:120px;display:block}
  .mini-key{font-size:14px;color:var(--ink);margin-top:8px;line-height:1.55}


  @media(max-width:560px){
    .grid{gap:4px;margin-top:10px}
    .dow{font-size:9px;letter-spacing:.3px}
    .cell{min-height:52px;padding:4px 5px;border-radius:8px}
    .cell .num{font-size:11px}
    .cell .lvl{top:4px;right:4px;font-size:9px;padding:0 4px;font-weight:700}
    .cell .hrs,.cell .resv{display:none}
    .cell .closed-tag{margin-top:4px;font-size:8.5px;padding:1px 4px}
    .cell .bar{height:5px}
    .legend{gap:10px}.legend .grp{font-size:11px}
  }
  @media(max-width:700px){
    .side{position:static;width:auto;height:auto;border-right:none;border-bottom:1px solid var(--line)}
    .main{margin-left:0}
  }
  @media(max-width:820px){
    .features{grid-template-columns:1fr}.strip{grid-template-columns:repeat(2,1fr)}.strip div:nth-child(3){border-left:none}
    .cell{min-height:78px}.cell .ev{display:none}.cell .resv{bottom:9px;font-size:9.5px}.cell .hrs{font-size:9.5px}
    .rrow{grid-template-columns:28px 1.3fr 76px 1fr;gap:8px}.rrow .gg{display:none}.rrow .ev2{display:none}
    .stay-dir{grid-template-columns:1fr}
    .cmprow{grid-template-columns:1.5fr 84px 78px 1fr}.cmprow .rank{display:none}
    .container{padding:0 18px}
    .main{padding:18px 18px 52px}
    .ph h2{font-size:21px}
    .ph{align-items:flex-start}
    .tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}
    .tabs button{padding:10px 11px;font-size:13px;white-space:nowrap}
    .livehead{gap:0}.liveread,.livekpi{min-width:calc(50% - 1px)}
    .ctrls{gap:10px}.field input,.field select{min-width:0;width:100%}.field{flex:1;min-width:130px}
    .lp-head{padding:16px 18px 4px}.biglogo{width:62px;height:62px}.lp-title{font-size:27px}
    .lp-map-wrap{padding:2px 14px 10px}.lp-mapkey{justify-content:flex-start}
    .overview{grid-template-columns:repeat(2,1fr)}
    @media(min-width:701px) and (max-width:1040px){.overview{grid-template-columns:repeat(3,1fr)}}
  }
.parkmap{width:100%;height:440px;border:1px solid var(--line);border-radius:12px;background:#f2ead8}
.g-list{margin:6px 0;padding-left:19px}.g-list li{margin:8px 0}.g-area{color:var(--muted);font-size:13px}.g-pick{color:#2c7a48;font-size:13.5px;font-weight:600}
.pchips{display:flex;gap:8px;margin:2px 0 9px;flex-wrap:wrap}.pchip{border:1px solid var(--line);border-left:5px solid var(--c);background:#fff;border-radius:9px;padding:6px 13px;font-weight:700;font-size:13px;color:#5e4a30;cursor:pointer}.pchip.off{opacity:.4}.pchip--disabled{opacity:.34!important;cursor:not-allowed;text-decoration:line-through;background:#f3ead7;border-left-color:#c9b48c;color:#9c8767}
.pchip[data-badge]::after{content:attr(data-badge);margin-left:6px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;padding:1px 5px;border-radius:6px;vertical-align:middle}
.pchip[data-badge="info"]::after{background:#eaf3ff;color:#2f6bb0}
.pchip[data-badge="mapped"]::after{background:#e7f6ec;color:#2f8f57}
.svc-panel{background:#f6eedd;border:1px solid #e6d6ba;border-left:5px solid #2a9df4;border-radius:10px;padding:11px 14px;margin:8px 0 4px}
.svc-panel[hidden]{display:none}
.svc-panel-h{font-weight:800;color:#3d2b1a;font-size:13.5px;margin-bottom:4px}
.svc-panel-b{color:#6a5640;font-size:12.5px;line-height:1.45}
.svc-panel-a{display:inline-block;margin-top:8px;font-weight:700;font-size:12.5px;color:#2f6bb0;text-decoration:none}
.svc-panel-a:hover{text-decoration:underline}
.pr-find-map{margin-top:8px;width:100%;background:#2a9df4;color:#fff;border:none;border-radius:8px;padding:7px 10px;font-weight:800;font-size:12px;cursor:pointer}
.pr-find-map:hover{background:#2384d0}
.pr-find-map:focus-visible{outline:3px solid #2f2113;outline-offset:2px}
#pmap{z-index:0}
.g-quiet{margin:8px 0 2px;font-size:13.5px;color:#7a6a55;font-style:italic}
.g-qtag{color:#9a6a1c;font-weight:700}
.vsavg{color:#8a7456;font-weight:600;font-size:11px;margin-left:7px}
.ride .ht{color:#6f5b39;font-weight:700;font-size:10.5px;background:#f1e7d2;border-radius:6px;padding:1px 6px;margin-left:8px;white-space:nowrap}
.intens{display:inline-flex;align-items:center;gap:2px;margin-left:8px;vertical-align:middle}
.intens i{width:7px;height:7px;border-radius:50%;background:#e3d6bd;display:inline-block}
.intens i.on{background:var(--ic)}
.intens b{font-size:10px;font-weight:800;color:var(--ic);margin-left:5px;text-transform:uppercase;letter-spacing:.3px}
.ride .rw.down{background:#e0543c;color:#fff}
.pl-ev{display:block;color:#9a6a1c;font-weight:600;font-size:11px;margin-top:1px}
.stay-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:14px}
.stay-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px;transition:transform .12s,box-shadow .15s}
.stay-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(122,78,40,.14)}
.stay-card::before,.stay-card::after{content:"";position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:var(--bg);transform:translateY(-50%);pointer-events:none}
.stay-card::before{left:-8px;box-shadow:inset -1px 0 0 var(--line)}
.stay-card::after{right:-8px;box-shadow:inset 1px 0 0 var(--line)}
.stay-card.nearest{background:#f6efdf;border-style:dashed}
.sc-name{font-weight:800;color:#3a2a18;font-size:15.5px}
.sc-note{font-size:13px;color:#7a6a55;flex:1;line-height:1.5}
.sc-go{display:block;background:#7a4e26;color:#fbf1df;text-decoration:none;text-align:center;border-radius:10px;padding:9px 12px;font-weight:700;font-size:13.5px}
.sc-go:hover{background:#9c6b3b}
.ls-card.lsread span,.ls-card.lsread small{color:rgba(255,255,255,.92)}
.ls-card.lsread b{color:#fff}
.livedot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3fae6b;margin-right:6px;vertical-align:1px}
.euler-sweep{animation:radarspin 5.5s linear infinite}
@keyframes livepulse{0%,100%{opacity:1}50%{opacity:.3}}
.lp-dot{animation:livepulse 1.6s ease-in-out infinite}
.tl{border-left:2px solid #d8c7a4;margin:8px 0 4px 66px;padding:2px 0}
.tl-item{position:relative;padding:0 0 15px 14px}
.tl-item::before{content:"";position:absolute;left:-6px;top:3px;width:9px;height:9px;border-radius:50%;background:#a9743b;border:2px solid #fffaf0}
.tl-cap::before{background:#7a4e26}
.tl-t{position:absolute;left:-80px;top:1px;width:64px;text-align:right;font-size:11px;font-weight:800;color:#7a4e26}
.tl-b b{display:block;font-size:13px;color:#3a2a18;line-height:1.3}
.tl-b small{display:block;color:#8a7456;font-size:11.5px;line-height:1.35}
.tl-note{font-style:italic}
.tl-badge{display:inline-block;background:#e0543c;color:#fff;font-size:9.5px;font-weight:800;border-radius:6px;padding:1px 6px;margin-left:6px;vertical-align:1px;letter-spacing:.3px}
.prof-main{min-width:0}
.fc-horiz{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}
.fc-horiz .fc-row{flex-direction:column;align-items:center;text-align:center;gap:4px;border:1px solid var(--line);border-radius:11px;padding:9px 4px;background:#fff}
.fc-horiz .fc-day{flex:none}
.sc-art{height:76px;border-radius:10px;background:#f6efdf;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden}
.spx{background:#fff;border:1px solid var(--line);border-radius:11px;padding:8px 12px;margin:6px 0}
.spx summary{cursor:pointer;display:flex;align-items:center;gap:8px;flex-wrap:wrap;list-style:none}
.spx summary::-webkit-details-marker{display:none}
.spx-chip{display:inline-block;background:#f6efdf;border:1px solid var(--line);border-radius:8px;padding:3px 9px;margin:4px 4px 0 0;font-size:12px;color:#5e4a30;font-weight:600}
.spx-d{margin-top:8px}
.g-sub{font-weight:800;color:#7a4e26;font-size:12px;margin:12px 0 2px;letter-spacing:.6px;text-transform:uppercase}
.sc-art.haspic{background-size:cover;background-position:center;position:relative}
.sc-art.haspic svg{display:none}
.pic-credit{position:absolute;right:5px;bottom:3px;font-size:8.5px;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.8)}


    .lp-news{max-width:760px;margin:20px auto 0;padding:0 16px}
    .lpn-card{background:#fffaf0;border:1.5px solid #e6d6ba;border-left:5px solid #b1442e;border-radius:14px;padding:16px 18px}
    .lpn-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
    .lpn-title{font-family:Georgia,serif;font-weight:700;color:#573b2c;font-size:18px}
    .lpn-all{font-size:13px;font-weight:700;color:#b1442e;background:none;border:none;cursor:pointer;font-family:inherit;padding:0}
    .lpn-all:hover{text-decoration:underline}
    .lpn-list{list-style:none;margin:0;padding:0}
    .lpn-list li{padding:9px 0;border-top:1px solid #eadfc8}
    .lpn-list li:first-child{border-top:none}
    .lpn-list a{color:#3d2b1a;text-decoration:none;font-weight:600;font-size:14px;line-height:1.35}
    .lpn-list a:hover{text-decoration:underline}
    .lpn-meta{display:block;font-size:11px;color:#8a7456;margin-top:2px}
    .lpn-src{color:#b1442e;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
    

    .lp-community{max-width:760px;margin:20px auto 4px;padding:0 16px}
    .comm-card{background:#fffaf0;border:1.5px solid #e6d6ba;border-left:5px solid #ff4500;border-radius:14px;padding:16px 18px}
    .comm-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
    .comm-head .ricon{width:30px;height:30px;fill:#ff4500;flex:0 0 auto}
    .comm-head>.comm-txt{flex:1 1 200px}
    .comm-title{font-family:Georgia,serif;font-weight:700;color:#573b2c;font-size:18px}
    .comm-sub{color:#8a7456;font-size:13.5px}
    .comm-btn{background:#ff4500;color:#fff;text-decoration:none;font-weight:700;font-size:13.5px;padding:9px 14px;border-radius:9px;white-space:nowrap}
    .comm-btn:hover{filter:brightness(1.07)}
    .comm-feed{list-style:none;margin:12px 0 0;padding:12px 0 0;border-top:1px solid #eadfc8}
    .comm-feed li{margin:6px 0;font-size:13.5px;line-height:1.4}
    .comm-feed a{color:#7a4e26;text-decoration:none}
    .comm-feed a:hover{text-decoration:underline}
    

  .lp-social{text-align:center;margin:16px 0 6px}
  .lp-social .lbl{display:block;color:#8a7456;font-weight:700;font-size:13px;letter-spacing:.3px;margin-bottom:9px}
  .lp-social .soc{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#fbf6e9;border:1.5px solid #e6d6ba;margin:0 6px;transition:transform .15s,background .15s,border-color .15s}
  .lp-social .soc svg{width:19px;height:19px;fill:#7a4e26;transition:fill .15s}
  .lp-social .soc:hover{transform:translateY(-2px)}
  .lp-social .soc:hover svg{fill:#fff}
  .lp-social .soc-x:hover{background:#000;border-color:#000}
  .lp-social .soc-rd:hover{background:#FF4500;border-color:#FF4500}
  .lp-social .soc-pn:hover{background:#E60023;border-color:#E60023}
  .lp-social .soc-fb:hover{background:#1877F2;border-color:#1877F2}
  .lp-social .soc-ig:hover{background:#E4405F;border-color:#E4405F}
  .lp-social .soc-yt:hover{background:#FF0000;border-color:#FF0000}
  

  .news-modal{position:fixed;inset:0;background:rgba(61,43,26,.45);display:none;align-items:flex-start;justify-content:center;z-index:4000;padding:38px 14px;overflow:auto}
  .news-modal.show{display:flex}
  .news-card{background:#f6eedd;border-radius:16px;max-width:940px;width:100%;padding:20px 22px 24px;box-shadow:0 20px 60px rgba(61,43,26,.35);position:relative}
  .news-card .nm-x{position:absolute;top:11px;right:14px;background:none;border:none;font-size:25px;line-height:1;color:#8a7456;cursor:pointer}
  .nm-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin:2px 28px 15px 0}
  .nm-title{font-family:Georgia,serif;font-weight:700;color:#573b2c;font-size:22px;margin:0}
  .nm-sub{color:#8a7456;font-size:13px;margin-top:2px}
  .news-select{font:inherit;font-size:14px;padding:8px 12px;border:1.5px solid #e6d6ba;border-radius:10px;background:#fffaf0;color:#573b2c;font-weight:600;cursor:pointer}
  .news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:13px}
  .news-tile{display:flex;flex-direction:column;background:#fffaf0;border:1px solid #e6d6ba;border-radius:13px;padding:13px 15px;transition:transform .12s,box-shadow .12s;text-decoration:none}
  .news-tile:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(87,59,44,.12)}
  .news-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}
  .news-src{font-size:11px;font-weight:700;color:#b1442e;text-transform:uppercase;letter-spacing:.4px}
  .news-date{font-size:11px;color:#8a7456;white-space:nowrap}
  .news-title{font-family:Georgia,serif;font-weight:700;color:#3d2b1a;font-size:15px;line-height:1.3;margin:0 0 6px}
  .news-snip{font-size:12.5px;color:#6a5640;line-height:1.45;flex:1}
  .news-read{margin-top:9px;font-size:12px;font-weight:700;color:#7a4e26}
  .news-loading,.news-empty{color:#8a7456;padding:34px 4px;text-align:center}
  .news-foot{margin-top:16px;font-size:11.5px;color:#8a7456;text-align:center}
  
/* ===== Calendar tab: color month grid + Bollinger crowd chart with coaster (2026-08-11) ===== */
.pp-cal-chartbox{position:relative;margin:2px 0 4px;border:1px solid #e6d6ba;border-radius:12px;background:#fffdf8;padding:6px 4px}
.pp-cal-ysvg{width:100%;height:210px;display:block}
.pp-coaster-cart{position:absolute;left:0;top:0;will-change:transform;pointer-events:none;z-index:3}
.pp-cal-wrap{margin-top:2px}
.pp-cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 8px}
.pp-cal-mtitle{font-family:Georgia,serif;font-size:18px;font-weight:700;color:#2f2113}
.pp-cal-nav{border:1px solid #d8c7a4;background:#fff;color:#7a4e26;font-size:18px;line-height:1;font-weight:800;border-radius:9px;width:34px;height:32px;cursor:pointer}
.pp-cal-nav:hover{background:#f3e9d5}
.pp-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.pp-cal-dow{text-align:center;font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#9c8767;padding:2px 0}
.pp-cal-cell{position:relative;min-height:62px;border:1px solid #ece0c6;border-top:3px solid var(--lvl,#e6d6ba);border-radius:9px;background:#fffdf8;padding:4px 6px 6px;overflow:hidden;isolation:isolate}
.pp-cal-cell::before{content:"";position:absolute;inset:0;background:var(--lvl,#e6d6ba);opacity:.14;z-index:-1}
.pp-cal-empty{border:0;background:transparent}
.pp-cal-empty::before{display:none}
.pp-cal-today{outline:2px solid #7a4e26;outline-offset:-1px}
.pp-cal-d{display:block;font-weight:800;font-size:13px;color:#3d2b1a;line-height:1.1}
.pp-cal-wx{display:block;font-size:10.5px;color:#6b563c;margin-top:2px}
.pp-cal-wx b{color:#2a6fb0;font-weight:800}
.pp-cal-ev{display:block;font-size:10px;font-weight:700;color:#8a3d1f;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-cal-legend{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:10px 0 2px;font-size:12px;color:#6b563c}
.pp-cal-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-1px}
@media(max-width:640px){.pp-cal-cell{min-height:52px;padding:3px 4px}.pp-cal-wx,.pp-cal-ev{font-size:9.5px}.pp-cal-d{font-size:12px}}

/* ===== Stay tab: Stay22 map + resort tiers + nearby-hotel filter bar (2026-08-11) ===== */
.pp-stay22{margin:2px 0 16px}
.pp-stay22-t{font-family:Georgia,serif;font-weight:700;color:#573b2c;font-size:18px;margin:4px 0 8px}
.pp-stay22 iframe{width:100%;height:440px;border:1px solid #e6d6ba;border-radius:14px;display:block;background:#f3ecdd}
.pp-stay-tier{font-family:Georgia,serif;font-size:14px;font-weight:700;color:#7a4e26;margin:12px 0 6px;text-transform:uppercase;letter-spacing:.4px}
.pp-stay-extra{margin-top:6px}
.pp-stay-prov{font-size:11px;color:#9c8767;margin-top:6px;font-style:italic}
.pp-nbh-bar{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:2px 0 10px}
.pp-nbh-lab{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:#9c8767;margin:0 2px 0 6px}
.pp-nbh-chip{border:1px solid #d8c7a4;background:#fff;color:#5e4a30;border-radius:999px;padding:4px 11px;font-size:12px;font-weight:700;cursor:pointer}
.pp-nbh-chip.on{background:#7a4e26;color:#fff;border-color:#7a4e26}

/* ===== Nearby tab: POI groups around the park (2026-08-11) ===== */
.pp-nb-group{margin:2px 0 16px}
.pp-nb-h{font-family:Georgia,serif;font-size:16px;color:#2f2113;margin:0 0 8px;border-bottom:1px solid #eadfc7;padding-bottom:4px}
.pp-nb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.pp-nb-card{border:1px solid #e6d6ba;border-radius:11px;background:#fffdf8;padding:9px 11px;display:flex;flex-direction:column}
.pp-nb-dist{font-size:11px;font-weight:800;color:#7a4e26;text-transform:uppercase;letter-spacing:.3px}
.pp-nb-name{font-size:15px;color:#2f2113;margin:2px 0 1px;line-height:1.2}
.pp-nb-sub{font-size:12px;color:#6b563c}
.pp-nb-addr{font-size:11.5px;color:#8a7456;margin-top:2px}
.pp-nb-dir{margin-top:6px;font-size:12px;font-weight:700;color:#7a4e26;align-self:flex-start}
