    background:var(--paper2);color:var(--ink);font-size:14.5px;line-height:1.5}
  .picpop.infopop{max-width:270px;padding:10px 12px;color:var(--ink);font-size:14px;line-height:1.5;white-space:pre-line}
  .infwhy{color:var(--ink);font-weight:600}
  .infdesc{margin-top:8px;padding-top:8px;border-top:1px solid var(--line);color:var(--muted)}
  .infinline:not(:has(.infwhy)) .infdesc{margin:0;padding:0;border:0;color:var(--ink)}
  .picinline img{display:block;width:100%;max-height:200px;object-fit:cover;border-radius:8px}
  .picinline .pinone{font-size:14.5px;color:var(--muted);text-align:center;padding:8px}
  .picpop img{display:block;width:100%;max-height:180px;object-fit:cover;border-radius:8px}
  .ndel{width:30px;height:30px;margin-inline-start:4px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:14.5px;font-weight:700;cursor:pointer;line-height:1;padding:0}
  .ndel:hover{border-color:#e5484d;color:#e5484d}
  .ndel:active{transform:translateY(1px)}
  .mapcard{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:16px;margin-top:16px}
  .maphdr{font-family:var(--ff-data);font-size:15px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
  #app[dir="rtl"] .maphdr{letter-spacing:normal;font-family:var(--ff-body)}
  .routetrail{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
  .rtstop{display:inline-flex;align-items:center;gap:7px;padding:6px 13px 6px 6px;border:1px solid var(--line);border-radius:999px;background:var(--paper2);color:var(--ink);font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;transition:border-color .15s,background .15s}
  #app[dir="rtl"] .rtstop{padding:6px 6px 6px 13px}
  .rtstop:hover{border-color:var(--teal);background:var(--teal-soft)}
  .rtstop:active{transform:translateY(1px)}
  .rtstop .rtn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--amber);color:#231a0a;font-size:14px;font-weight:700;font-family:var(--ff-data)}
  .maptaphint{text-align:center;color:var(--muted);font-size:14.5px;margin:12px 0 6px}
  .routefull{display:block;text-align:center;color:var(--muted);font-size:14.5px;font-weight:600;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;padding:4px}
  .routefull:hover{color:var(--teal)}
  .bookbar{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:16px;margin-top:16px}
  .salmancard{border-color:#e0503a66}
  .salmancard>.maphdr{color:#d63b25}
  .salbody{font-size:14px;color:var(--ink);margin:0 0 12px;line-height:1.5}
  .salbtn{display:inline-block;background:#d63b25;color:#fff;padding:10px 16px;border-radius:12px;font-weight:700;font-size:14px;text-decoration:none}
  .salbtn:hover{background:#b83320}
  .salcredit{display:block;margin-top:12px;font-size:14.5px;color:#d63b25;text-decoration:none;opacity:.9}
  .sallist{margin:2px 0 12px}
  .salrow{padding:9px 0;border-top:1px solid var(--line)}
  .salrow:first-child{border-top:none}
  .salrow b{display:block;font-size:14px;color:var(--ink)}
  .salcap{display:block;font-size:14.5px;color:var(--muted);margin-top:2px}
  .salmore{border-top:1px solid var(--line)}
  .salmore>summary{cursor:pointer;color:#d63b25;font-weight:700;font-size:14.5px;padding:10px 0;list-style:none}
  .salmore>summary::-webkit-details-marker{display:none}
  .salmore[open]>summary{margin-bottom:4px}
  .bookrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
  .bookbtn{flex:1;min-width:100px;text-align:center;padding:12px 10px;border-radius:12px;border:1px solid var(--line);background:var(--paper2);color:var(--ink);font-size:14.5px;font-weight:600;text-decoration:none;transition:all .15s}
  .bookbtn:hover{border-color:var(--teal);background:var(--teal-soft)}
  .staychips{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}
  .stychip,.samchip,.areachip{padding:8px 13px;border-radius:999px;border:1px solid var(--line);background:var(--paper2);color:var(--ink);font-size:14.5px;font-weight:600;font-family:var(--ff-body);cursor:pointer;transition:all .15s}
  .stychip:hover,.samchip:hover,.areachip:hover{border-color:var(--teal)}
  .stychip.active,.areachip.active{background:var(--teal);border-color:var(--teal);color:#fff}
  .stayarea{width:100%;margin-top:10px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper2);color:var(--ink);font-size:14px;font-family:var(--ff-body);outline:none}
  .stayarea:focus{border-color:var(--teal)}
  .samchip.active{background:var(--amber);border-color:var(--amber-ink);color:#231a0a}
  @media (prefers-color-scheme:dark){.stychip.active{color:#0a1310}}
  :root[data-theme="dark"] .stychip.active{color:#0a1310}
  :root[data-theme="light"] .stychip.active{color:#fff}
  .stayamenlbl{font-family:var(--ff-data);font-size:15px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin:14px 0 2px}
  #app[dir="rtl"] .stayamenlbl{letter-spacing:normal;font-family:var(--ff-body)}
  .provrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 12px}
  .provlbl{font-size:14px;color:var(--muted);width:100%;margin-bottom:1px}
  .provchip{padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--paper2);color:var(--ink);font-size:14.5px;font-weight:600;font-family:var(--ff-body);cursor:pointer;text-decoration:none;display:inline-block}
  .provchip:hover{border-color:var(--teal)}
  .provchip.on{background:var(--teal);border-color:var(--teal);color:#fff}
  @media (prefers-color-scheme:dark){.provchip.on{color:#0a1310}}
  :root[data-theme="dark"] .provchip.on{color:#0a1310}
  :root[data-theme="light"] .provchip.on{color:#fff}
  .sugcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow)}
  .sughead{font-family:var(--ff-display);font-size:17px;font-weight:600;color:var(--ink);margin-bottom:12px}
  .sugpick{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;margin-bottom:9px;border:1px solid var(--line);border-radius:12px;background:var(--paper2);cursor:pointer;transition:border-color .15s,background .15s}
  .sugpick:hover{border-color:var(--teal);background:var(--teal-soft)}
  #app[dir="rtl"] .sugpick{text-align:right}
  .sugflag{font-size:26px;flex-shrink:0;line-height:1}
  .sugtext{flex:1;min-width:0}
  .sugtext b{display:block;font-size:15.5px;color:var(--ink)}
  .sugco{font-weight:500;color:var(--muted);font-size:14.5px;margin-left:7px}
  #app[dir="rtl"] .sugco{margin-left:0;margin-right:7px}
  .sugwhy{display:block;font-size:14.5px;color:var(--muted);margin-top:2px;line-height:1.4}
  .suggo{flex:0 0 auto;color:var(--amber-ink);font-size:20px;font-weight:700}
  .sugfoot{font-size:14.5px;color:var(--muted);margin-top:4px}
  .staysearch{width:100%;margin-top:14px;padding:13px;border:none;border-radius:12px;background-color:var(--amber-ink);background-image:linear-gradient(180deg,rgba(255,255,255,.18),rgba(0,0,0,.08));color:#211605;font-size:14.5px;font-weight:700;font-family:var(--ff-body);cursor:pointer}
  .staysearch:active{transform:translateY(1px)}
  .tuner{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
  .tunedays{display:flex;align-items:center;gap:10px;direction:ltr}
  .tunebtn{width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:var(--paper2);color:var(--ink);font-size:20px;font-weight:600;cursor:pointer;font-family:var(--ff-body);line-height:1}
  .tunebtn:hover{border-color:var(--teal);background:var(--teal-soft)}
  .tunebtn:active{transform:translateY(1px)}
  .tuneval{font-size:14px;color:var(--ink);min-width:64px;text-align:center}
  .tuneval b{font-family:var(--ff-data);font-size:16px}
  .tuneanother{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:1px solid var(--teal);border-radius:999px;background:var(--teal-soft);color:var(--teal);font-size:14.5px;font-weight:700;font-family:var(--ff-body);cursor:pointer}
  .tuneanother svg{width:16px;height:16px}
  .tuneanother:active{transform:translateY(1px)}
  .daynav{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:10px 0 4px;-webkit-overflow-scrolling:touch}
  .daynav::-webkit-scrollbar{display:none}
  .dnavlbl{flex:0 0 auto;font-family:var(--ff-data);font-size:15px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-inline-end:2px}
  #app[dir="rtl"] .dnavlbl{letter-spacing:normal;font-family:var(--ff-body)}
  .dnav{flex:0 0 auto;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--paper2);color:var(--ink);font-size:14.5px;font-weight:600;font-family:var(--ff-data);cursor:pointer}
  .dnav:hover{border-color:var(--teal);color:var(--teal)}
  /* --- paged plan: one day at a time instead of one endless scroll --- */
  .pg{display:none}
  .pg.on{display:block}
  /* padding-left, not padding-inline: the day panel was inset 4px on one side and flush against
     the other, which is what made the card look like it had slid off the screen. Mirrored in RTL it
     just moved the problem to the other edge. */
  .pg.dayp{margin-top:6px;padding-inline:4px}
  /* The vertical rule and the dot were a timeline: they connected the days when every day stacked
     on one endless page. One day per page means there is no sequence to draw, so all it does now is
     run down the side of a single day as a stray stroke with nothing at either end. */
  /* The zeroed side padding was here to pull the day flush once the timeline stroke went. With a
     card behind it that reads as text jammed against the edge — and because this selector carries
     an id and two classes, it silently beat every plain .day rule that tried to put the padding
     back, including the designer's. Specificity, not a broken stylesheet. */
  #out > .pg .day,#app[dir="rtl"] #out > .pg .day{border-left:none;border-right:none;
    margin-left:0;margin-right:0;padding-left:16px;padding-right:16px;padding-top:6px}
  #out > .pg .day::before{display:none}
  /* Mirroring a one-sided gutter keeps it one-sided. Now that the panel is inset evenly on both
     sides, Arabic needs no override at all — it inherits the same 4px each side. */
  /* The whole strip stays on screen. Back/Next at the FOOT of a day is a screen and a half below
     where you're reading, so most people never found it — the arrows here are always in reach. */
  .pgbar{position:sticky;top:0;z-index:6;padding:9px 0 7px;margin-bottom:12px;background:var(--paper);
    box-shadow:0 1px 0 var(--line)}
  .pgrow{display:flex;align-items:center;gap:10px;margin-top:8px}
  .pgtabs{display:flex;align-items:center;gap:6px;overflow-x:auto;
    -webkit-overflow-scrolling:touch}
  /* centred when the chips fit, scrollable from the first chip when they don't —
     justify-content:center clips the leading chips on overflow, auto margins do not */
  .pgtabs::before,.pgtabs::after{content:'';margin:auto}
  .pgtabs::-webkit-scrollbar{display:none}
  .pgarrow{flex:0 0 auto;width:40px;height:36px;border:1px solid var(--line);border-radius:12px;
    background:var(--paper2);color:var(--ink);cursor:pointer;
    display:flex;align-items:center;justify-content:center}
  .pgarrow svg{width:20px;height:20px;display:block}
  .pgarrow:hover{border-color:var(--teal);color:var(--teal)}
  .pgarrow:disabled{opacity:.28;cursor:default}
  /* which day of how many — the highlighted chip scrolls out of sight on a long trip */
  .pgcount{flex:1;min-width:0;text-align:center;font-size:15px;font-weight:700;color:var(--ink);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pgtab{flex:0 0 auto;min-width:34px;height:34px;padding:0 11px;border:1px solid var(--line);
    border-radius:8px;background:var(--paper2);color:var(--muted);font-size:14.5px;font-weight:600;
    font-family:var(--ff-data);cursor:pointer;white-space:nowrap}
  #app[dir="rtl"] .pgtab{font-family:var(--ff-body)}
  .pgtab:hover{border-color:var(--teal);color:var(--teal)}
  .pgtab.on{background:var(--teal);border-color:var(--teal);color:var(--paper)}
  .pgtab.today{border-color:var(--amber-ink);color:var(--amber-ink);font-weight:700}
  .pgtab.today.on{background:var(--amber);border-color:var(--amber-ink);color:var(--paper)}
  .season.now{color:var(--amber-ink);font-weight:700}
  /* losing signal mid-trip is exactly when the plan matters most — say the good news plainly */
  .offbar{position:fixed;top:0;left:0;right:0;z-index:10;background:var(--amber);color:#1c1710;text-align:center;
    font-size:13px;font-weight:700;padding:7px 14px;transform:translateY(-110%);transition:transform .25s}
  .offbar.show{transform:translateY(0)}
  /* long pages deserve a lift home; it sits opposite the chat bubble and stays out of the way */
  .topbtn{position:fixed;left:16px;bottom:24px;z-index:6;width:42px;height:42px;border-radius:50%;
    border:1px solid var(--line);background:var(--paper2);color:var(--muted);cursor:pointer;
    display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-fab);
    opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .25s,transform .25s}
  .topbtn.show{opacity:1;pointer-events:auto;transform:none}
  #app[dir="rtl"] .topbtn{left:auto;right:16px}
  body.lbopen .topbtn{display:none!important}
  .notecard{background:var(--paper2);border:1px solid var(--line);border-radius:16px;padding:16px;margin:14px 0}
  .nitem{display:flex;align-items:flex-start;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line)}
  .nitem:last-child{border-bottom:none}
  .nbox{flex:0 0 auto;width:23px;height:23px;margin-top:1px;border:1.6px solid var(--line);border-radius:8px;
    background:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}
  .nbox svg{width:14px;height:14px;fill:none;stroke:var(--paper);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:0}
  .nitem.done .nbox{background:var(--amber);border-color:var(--amber-ink)}
  .nitem.done .nbox svg{opacity:1}
  .ntxt{flex:1;min-width:0;font-size:15px;line-height:1.5;cursor:text;word-break:break-word}
  .nitem.done .ntxt{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}
  /* starter lines: present enough to build on, faint enough to read as a suggestion */
  .nitem.eg .ntxt{color:var(--muted)}
  .nedit{width:100%;padding:4px 6px;border:1px solid var(--amber);border-radius:8px;background:var(--paper);
    color:var(--ink);font-size:15px;font-family:inherit}
  .nx{flex:0 0 auto;border:none;background:none;color:var(--muted);font-size:14px;cursor:pointer;padding:2px 4px;opacity:.7}
  .nempty{color:var(--muted);font-size:13.5px;line-height:1.5;padding:6px 2px 10px}
  .naddrow{display:flex;gap:8px;margin-top:10px}
  .nadd{flex:1;min-width:0;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--paper);
    color:var(--ink);font-size:14.5px;font-family:var(--ff-body)}
  .nplus{flex:0 0 auto;width:44px;border:1px solid var(--amber);border-radius:12px;background:var(--amber-soft);
    color:var(--amber-ink);font-size:22px;font-weight:700;cursor:pointer;line-height:1}
  .notehint{color:var(--muted);font-size:12px;margin-top:6px}
  .ctlhint{color:var(--muted);font-size:12.5px;line-height:1.5;margin:6px 2px 0;min-height:1em}
  .mtwhen{padding:2px 9px;border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--muted)}
  .mtwhen.now{border-color:var(--amber-ink);color:var(--amber-ink);font-weight:700}
  .mtwhen.past{opacity:.75}
  .pgnav{display:flex;align-items:center;gap:10px;margin-top:18px;margin-bottom:16px}
  /* save / share / print, under every page — and far enough up to clear the floating buttons */
  .actions.pgfoot{margin-top:0;padding-top:16px;border-top:1px solid var(--line);margin-bottom:74px}
  /* the bottom line, on every page: tap it for the full breakdown */
  /* .actions is a GRID, so the flex:1 0 100% here did nothing and this sat in column 1 as an
     ordinary cell — taller than a button, which stretched the whole first row. grid-column is
     the grid way to say the same thing, and now the eight buttons are one uniform size. */
  .pgcost{grid-column:1/-1;flex:1 0 100%;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px;
    margin-bottom:8px;padding:9px 12px;border:1px solid var(--line);border-radius:11px;
    background:var(--paper2);color:var(--ink);font-family:var(--ff-body);cursor:pointer;text-align:start}
  .pgcost:hover{border-color:var(--teal)}
  .pgcostk{font-size:13px;color:var(--muted)}
  .pgcostv{font-size:15.5px;font-weight:700;font-variant-numeric:tabular-nums}
  .pgcostmore{flex:1 0 100%;margin-top:3px;font-size:12.5px;color:var(--teal);font-weight:600}
  .pgcostmore::after{content:' \203A'}
  #app[dir="rtl"] .pgcostmore::after{content:' \2039'}
  /* mark where you landed, so the jump reads as an answer rather than a glitch */
  @keyframes budflash{0%{box-shadow:0 0 0 0 var(--teal)}100%{box-shadow:0 0 0 12px rgba(0,0,0,0)}}
  .bud.flash{animation:budflash 1.2s ease-out}
  @media (prefers-reduced-motion:reduce){.bud.flash{animation:none}}
  .pgbtn{flex:1;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;
    background:var(--paper2);color:var(--ink);font-family:var(--ff-body);font-size:14px;
    cursor:pointer;text-align:start}
  .pgbtn:hover{border-color:var(--teal)}
  .pgbtn:disabled{opacity:.35;cursor:default}
  .pgbtn .pgdir{display:block;font-family:var(--ff-data);font-size:15px;letter-spacing:1px;
    text-transform:uppercase;color:var(--muted);margin-bottom:3px}
  #app[dir="rtl"] .pgbtn .pgdir{letter-spacing:normal;font-family:var(--ff-body)}
  .pgbtn .pgwhat{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pgbtn.next{text-align:end}
  /* Printing and PDF must never lose a page — show the lot, hide the controls. */
  /* Second row of the strip. Deliberately lighter than a day chip: no border, smaller type,
     icon above the word — so the eye reads one row of days and one row of tools, not ten chips. */
  .pgutil{display:flex;align-items:stretch;gap:6px;margin-top:7px;
    max-width:440px;margin-left:auto;margin-right:auto}
  .pgutil .pgu{flex:1 1 0;min-width:0;height:auto;padding:5px 2px 4px;gap:2px;
    display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
    border:1px solid transparent;background:transparent;color:var(--muted);
    font-size:10.5px;font-weight:600;letter-spacing:.01em;line-height:1.15}
  .pgutil .pgu svg{width:17px;height:17px;flex:0 0 auto}
  .pgutil .pgu span{max-width:100%;text-align:center;white-space:normal;overflow-wrap:break-word}
  .pgutil .pgu:hover{color:var(--teal);border-color:transparent}
  .pgutil .pgu.on{background:transparent;border-color:transparent;color:var(--teal)}
  .pgutil .pgu.on svg{stroke-width:2.1}
  @media print{ .pg{display:block !important} .pgbar,.pgtabs,.pgutil,.pgnav{display:none !important} }
  /* A short slide so the pages read as pages sitting next to each other, not a screen swap. */
  @keyframes pgfwd{from{transform:translateX(16px);opacity:.5}to{transform:none;opacity:1}}
  @keyframes pgback{from{transform:translateX(-16px);opacity:.5}to{transform:none;opacity:1}}
  .pg.slidefwd{animation:pgfwd .16s ease-out}
  .pg.slideback{animation:pgback .16s ease-out}
  #app[dir="rtl"] .pg.slidefwd{animation-name:pgback}
  #app[dir="rtl"] .pg.slideback{animation-name:pgfwd}
  @media (prefers-reduced-motion:reduce){ .pg.slidefwd,.pg.slideback{animation:none} }
  .wxbox{display:none;margin-top:10px}
  .wxbox.show{display:block}
  .wxlabel{font-family:var(--ff-data);font-size:15px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
  #app[dir="rtl"] .wxlabel{letter-spacing:normal;font-family:var(--ff-body)}
  .wxdays{display:flex;gap:8px}
  .wxday{flex:1;text-align:center;padding:9px 4px;border:1px solid var(--line);border-radius:12px;background:var(--paper2)}
  .wxwd{font-size:14px;color:var(--muted);text-transform:capitalize}
  .wxemo{font-size:22px;line-height:1.4}
  .wxt{font-size:14.5px;font-weight:700;font-family:var(--ff-data)}
  .wxt span{color:var(--muted);font-weight:400;margin-inline-start:3px}
  .phrows{margin-top:4px}
  .phrow{display:flex;align-items:baseline;gap:10px;padding:8px 0;border-top:1px dashed var(--line)}
  .phmean{flex:0 0 34%;color:var(--muted);font-size:14.5px}
  .phword{flex:1;font-size:16px;font-weight:600}
  .phpron{flex:0 0 auto;color:var(--muted);font-size:14.5px;font-style:italic}
  .cvrow{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}
  .cvin{flex:1;min-width:70px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper2);color:var(--ink);font-size:15px;font-family:var(--ff-data);outline:none;text-align:center}
  .cvin:focus{border-color:var(--teal)}
  .cvcur{font-size:14.5px;font-weight:700;color:var(--muted);font-family:var(--ff-data)}
  .cvsel{padding:8px 6px;border:1px solid var(--line);border-radius:8px;background:var(--paper2);color:var(--ink);font-size:14.5px;font-weight:700;font-family:var(--ff-data);cursor:pointer}
  .cveq{font-size:16px;color:var(--muted)}
  .cvnote{color:var(--muted);font-size:14px;margin-top:8px}
  .flyrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .flylbl{font-family:var(--ff-data);font-size:15px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);flex:0 0 auto}
  .flyfrom{flex:1;min-width:130px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper2);color:var(--ink);font-size:14px;font-family:var(--ff-body)}
  .flyfrom:focus{border-color:var(--teal);outline:none}
  .flyout{margin-top:10px}
  .flyest{font-size:15px;color:var(--ink)}
  .flybig{font-family:var(--ff-data);font-weight:700;color:var(--amber-ink);font-size:16px}
  .flysearch{display:inline-block;margin-top:10px;padding:9px 14px;border-radius:12px;background:var(--teal-soft);color:var(--teal);font-size:15px;font-weight:700;text-decoration:none}
  .flynote{color:var(--muted);font-size:14px;margin-top:8px}
  #app[dir="rtl"] .flylbl{letter-spacing:normal;text-transform:none;font-family:var(--ff-body)}
  .approw{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}
  .approw:last-of-type{border-bottom:none}
  .applbl{font-family:var(--ff-data);font-size:15px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);flex:0 0 auto;padding-top:2px}
  .appval{text-align:right;font-size:15px;color:var(--ink);font-weight:600}
  #app[dir="rtl"] .appval{text-align:left}
  #app[dir="rtl"] .applbl{letter-spacing:normal;text-transform:none;font-family:var(--ff-body)}
  .appwarn{margin-top:10px;font-size:14.5px;color:var(--clay);background:var(--clay-soft,rgba(217,138,143,.12));padding:8px 10px;border-radius:8px;line-height:1.45}
  .ptwrap{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
  .ptcell{flex:1;min-width:74px;background:var(--paper2);border:1px solid var(--line);border-radius:8px;padding:8px 5px;text-align:center}
  .ptcell .pn{font-family:var(--ff-data);font-size:13.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
  #app[dir="rtl"] .ptcell .pn{letter-spacing:normal;font-family:var(--ff-body)}
