/* ============================================================
   Europe '26 — styles. iOS-flavoured, dark-mode first.
   ============================================================ */
:root{
  --green:#2f6b3a; --green-deep:#22401f; --terra:#bd5a2c; --terra-deep:#9a4520;
  --gold:#c2912f; --blue:#3b6fb0;
  --radius:18px; --radius-sm:13px;
  --tab-h:56px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --sat:env(safe-area-inset-top); --sab:env(safe-area-inset-bottom);
}
/* Light theme */
:root, [data-theme="light"]{
  --bg:#f3eee2; --bg2:#ece4d3;
  --card:rgba(255,255,255,.72); --card-solid:#fbf7ec;
  --ink:#241f1a; --ink-soft:#6a6053; --line:rgba(36,31,26,.12);
  --glass:rgba(243,238,226,.72); --shadow:0 10px 30px -18px rgba(36,31,26,.5);
  --accent:var(--terra-deep); --skeleton:rgba(36,31,26,.08); --skeleton2:rgba(36,31,26,.14);
}
[data-theme="dark"]{
  --bg:#0e1310; --bg2:#121814;
  --card:rgba(28,34,29,.62); --card-solid:#171d18;
  --ink:#ece7da; --ink-soft:#9aa094; --line:rgba(236,231,218,.12);
  --glass:rgba(14,19,16,.7); --shadow:0 14px 34px -20px rgba(0,0,0,.8);
  --accent:#e0a96a; --skeleton:rgba(255,255,255,.06); --skeleton2:rgba(255,255,255,.11);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0e1310; --bg2:#121814; --card:rgba(28,34,29,.62); --card-solid:#171d18;
    --ink:#ece7da; --ink-soft:#9aa094; --line:rgba(236,231,218,.12);
    --glass:rgba(14,19,16,.7); --shadow:0 14px 34px -20px rgba(0,0,0,.8);
    --accent:#e0a96a; --skeleton:rgba(255,255,255,.06); --skeleton2:rgba(255,255,255,.11);
  }
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;height:100%;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px; line-height:1.45; -webkit-font-smoothing:antialiased;
  overscroll-behavior-y:none;
}
body{
  background-image:
    radial-gradient(120% 60% at 10% -10%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 60%),
    radial-gradient(120% 60% at 100% 0%, color-mix(in srgb, var(--green) 14%, transparent), transparent 55%);
  background-attachment:fixed;
}
a{color:var(--accent);text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3{font-family:"Fraunces",Georgia,"Times New Roman",serif;letter-spacing:-.01em;margin:0;}
.serif{font-family:"Fraunces",Georgia,serif;}

/* ---------- App frame ---------- */
#app{max-width:520px;margin:0 auto;min-height:100%;position:relative;}
.screen{display:none;padding:0 16px calc(var(--tab-h) + var(--sab) + 28px);animation:fade .35s var(--ease);}
.screen.active{display:block;}
@keyframes fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* ---------- Top bar ---------- */
.topbar{
  position:sticky;top:0;z-index:40;
  padding:calc(var(--sat) + 10px) 16px 10px;
  background:var(--glass);backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px);
  border-bottom:1px solid var(--line);
  display:flex;align-items:center;gap:12px;
}
.topbar .tb-title{font-size:1.22rem;font-weight:700;font-family:"Fraunces",serif;flex:1;min-width:0;}
.topbar .tb-sub{display:block;font-family:-apple-system,sans-serif;font-size:.72rem;font-weight:500;color:var(--ink-soft);letter-spacing:.02em;}
.iconbtn{
  width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
  background:var(--card);color:var(--ink);display:grid;place-items:center;font-size:1.05rem;
  backdrop-filter:blur(8px);transition:transform .15s var(--ease);
}
.iconbtn:active{transform:scale(.9);}
.sos{border:none;background:linear-gradient(135deg,#e2402f,#b3170a);color:#fff;font-weight:800;font-size:.74rem;letter-spacing:.04em;width:auto;padding:0 13px;border-radius:999px;height:34px;box-shadow:0 6px 16px -6px rgba(226,64,47,.7);}
.sos:active{transform:scale(.93);}

/* ---------- Cards ---------- */
.card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  padding:16px;margin:14px 0;
}
.card.tap{transition:transform .15s var(--ease);} .card.tap:active{transform:scale(.985);}
.row{display:flex;align-items:center;gap:12px;}
.muted{color:var(--ink-soft);} .small{font-size:.82rem;} .tiny{font-size:.72rem;}
.eyebrow{font-family:"Fraunces",serif;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;font-weight:600;color:var(--accent);margin-bottom:6px;}
.section-h{display:flex;align-items:baseline;justify-content:space-between;margin:22px 2px 2px;}
.section-h h2{font-size:1.3rem;}
.divider{height:1px;background:var(--line);margin:12px 0;border:0;}

/* chips */
.chips{display:flex;gap:8px;flex-wrap:wrap;}
.chip{font-size:.74rem;font-weight:600;background:var(--bg2);border:1px solid var(--line);border-radius:999px;padding:5px 11px;color:var(--ink-soft);white-space:nowrap;}
.chip.solid{background:var(--accent);color:#fff;border-color:transparent;}
.cat{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:999px;}

/* ---------- Hero / dashboard ---------- */
.hero{padding:18px 4px 4px;}
.hero .now-city{font-size:2.05rem;font-weight:900;font-family:"Fraunces",serif;line-height:1.02;}
.hero .now-meta{color:var(--ink-soft);margin-top:2px;font-size:.92rem;}
.clockline{display:flex;align-items:center;gap:14px;margin-top:14px;flex-wrap:wrap;}
.clock{display:flex;flex-direction:column;}
.clock b{font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.01em;}
.clock span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);}
.wx{margin-left:auto;display:flex;align-items:center;gap:10px;text-align:right;}
.wx .t{font-size:1.7rem;font-weight:700;font-variant-numeric:tabular-nums;}
.wx .ico{font-size:1.7rem;}

/* next-up */
.nextup{position:relative;overflow:hidden;}
.nextup::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,transparent),transparent 60%);opacity:.5;}
.nextup>*{position:relative;}
.countdown{font-variant-numeric:tabular-nums;font-weight:800;font-size:1.5rem;font-family:"Fraunces",serif;}
.cd-unit{font-size:.7rem;color:var(--ink-soft);font-family:-apple-system,sans-serif;font-weight:600;margin-left:2px;}

/* quick actions grid */
.qa-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0;}
.qa{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--ink);text-align:center;transition:transform .15s var(--ease);backdrop-filter:blur(10px);}
.qa:active{transform:scale(.93);}
.qa .qi{font-size:1.4rem;}
.qa .ql{font-size:.66rem;font-weight:600;letter-spacing:.01em;line-height:1.1;}

/* city strip */
.city-card{display:flex;align-items:center;gap:13px;padding:14px;}
.city-card .flag{font-size:1.7rem;}
.city-card .meta{flex:1;min-width:0;}
.city-card .meta b{font-size:1.02rem;font-family:"Fraunces",serif;}
.city-card .arrow{color:var(--ink-soft);font-size:1.2rem;}
.city-card.is-now{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));}
.badge-now{font-size:.6rem;font-weight:800;letter-spacing:.06em;background:var(--accent);color:#fff;padding:2px 7px;border-radius:999px;text-transform:uppercase;}

/* ---------- Itinerary timeline ---------- */
.day-head{display:flex;align-items:baseline;gap:10px;margin:6px 2px;}
.day-no{font-family:"Fraunces",serif;font-weight:900;font-size:1.4rem;color:var(--accent);}
.day-date{font-family:"Fraunces",serif;font-weight:700;font-size:1.06rem;}
.day-tag{margin-left:auto;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);background:var(--bg2);border-radius:999px;padding:3px 9px;}
.timeline{position:relative;margin:6px 0 0 0;padding-left:4px;}
.tl-item{position:relative;padding:4px 0 16px 26px;}
.tl-item::before{content:"";position:absolute;left:7px;top:18px;bottom:-2px;width:2px;background:var(--line);}
.tl-item:last-child::before{display:none;}
.tl-dot{position:absolute;left:0;top:8px;width:16px;height:16px;border-radius:50%;background:var(--card-solid);border:2px solid var(--accent);display:grid;place-items:center;font-size:.6rem;}
.tl-time{font-size:.74rem;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;}
.tl-title{font-weight:600;font-size:1rem;margin:1px 0;}
.tl-est{font-size:.74rem;color:var(--ink-soft);display:inline-flex;align-items:center;gap:4px;}
.tl-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;}
.mini-btn{font-size:.72rem;font-weight:600;border:1px solid var(--line);background:var(--bg2);color:var(--ink);border-radius:999px;padding:5px 10px;display:inline-flex;align-items:center;gap:5px;}
.mini-btn:active{transform:scale(.94);}
.note-toggle{font-size:.74rem;color:var(--accent);font-weight:600;margin-top:6px;display:inline-block;}
.note-body{max-height:0;overflow:hidden;transition:max-height .3s var(--ease);font-size:.86rem;color:var(--ink-soft);}
.note-body.open{max-height:300px;margin-top:6px;}

/* live "now" line */
.tl-now{display:flex;align-items:center;margin:2px 0 14px -4px;animation:fade .4s var(--ease);}
.tl-now-pill{font-size:.7rem;font-weight:800;letter-spacing:.06em;color:#fff;background:linear-gradient(90deg,#e2402f,#b3170a);padding:4px 12px;border-radius:999px;box-shadow:0 4px 12px -4px rgba(226,64,47,.7);white-space:nowrap;}
.tl-now::after{content:"";flex:1;height:2px;margin-left:8px;border-radius:2px;background:linear-gradient(90deg,#e2402f,transparent);}
.past-item{opacity:.45;}
.past-item .tl-dot{border-color:var(--ink-soft);}

/* place sheet visual (photo / mini-map) */
.place-viz{height:165px;border-radius:14px;overflow:hidden;margin-bottom:12px;background:var(--bg2);position:relative;}
.place-viz .place-viz-sk{width:100%;height:100%;border-radius:0;}
.place-viz-img{width:100%;height:165px;object-fit:cover;display:block;animation:fade .4s var(--ease);}
.place-viz .leaflet-container{height:165px;background:var(--bg2);}

/* boarding-pass card */
.boarding{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 26%,var(--card-solid)),var(--card-solid));border-color:color-mix(in srgb,var(--accent) 45%,var(--line));}

/* compass */
.compass-wrap{display:flex;flex-direction:column;align-items:center;padding:14px 0 6px;}
.compass-ring{position:relative;width:200px;height:200px;border-radius:50%;border:2px solid var(--line);
  background:radial-gradient(circle at 50% 50%, color-mix(in srgb,var(--accent) 12%,transparent), transparent 70%);
  display:grid;place-items:center;margin-bottom:14px;box-shadow:inset 0 0 30px -10px rgba(0,0,0,.3);}
.compass-n{position:absolute;top:8px;font-size:.7rem;font-weight:800;color:var(--ink-soft);letter-spacing:.1em;}
.compass-arrow{font-size:5.5rem;line-height:1;color:var(--accent);transition:transform .25s var(--ease);will-change:transform;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));}
.compass-dist{font-family:"Fraunces",serif;font-weight:800;font-size:1.5rem;margin-bottom:6px;}

/* currency converter */
.conv{display:flex;align-items:flex-end;gap:10px;}
.conv label{flex:1;display:flex;flex-direction:column;font-size:.72rem;font-weight:600;color:var(--ink-soft);gap:4px;}
.conv input{font-size:1.3rem;font-weight:700;font-variant-numeric:tabular-nums;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg2);color:var(--ink);width:100%;}
.conv input:focus{outline:none;border-color:var(--accent);}
.conv-eq{padding-bottom:12px;color:var(--ink-soft);font-size:1.1rem;}

/* 3-day forecast */
.fc-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:4px;}
.fc-day{text-align:center;background:var(--bg2);border-radius:12px;padding:10px 4px;}
.fc-dow{font-size:.72rem;font-weight:700;color:var(--ink-soft);}
.fc-ic{font-size:1.6rem;margin:4px 0;}
.fc-t{font-size:.9rem;font-variant-numeric:tabular-nums;}

/* day pager dots */
.pager{display:flex;gap:6px;justify-content:center;margin:14px 0 2px;flex-wrap:wrap;}
.pager .dot{width:8px;height:8px;border-radius:50%;background:var(--line);transition:.2s;}
.pager .dot.on{background:var(--accent);width:22px;border-radius:999px;}
.dayswitch{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0;}
.dayswitch button{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;height:36px;width:36px;font-size:1rem;}
.daysel{flex:1;text-align:center;}

/* ---------- Flights ---------- */
.fl-route{display:flex;align-items:center;gap:10px;margin:6px 0;}
.fl-pt{flex:1;} .fl-pt.r{text-align:right;}
.fl-pt b{font-size:1.05rem;font-family:"Fraunces",serif;}
.fl-line{flex:1.4;text-align:center;color:var(--ink-soft);position:relative;}
.fl-line .dur{font-size:.68rem;display:block;}
.fl-cd{display:flex;gap:12px;align-items:baseline;margin-top:8px;}
.fl-cd .n{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums;font-family:"Fraunces",serif;}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:.84rem;margin-top:10px;}
.kv dt{color:var(--ink-soft);} .kv dd{margin:0;font-weight:600;text-align:right;}
.remind{background:color-mix(in srgb,var(--gold) 16%,transparent);border:1px solid color-mix(in srgb,var(--gold) 35%,transparent);border-radius:var(--radius-sm);padding:9px 12px;font-size:.82rem;margin-top:10px;}
.flag-mode{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);}
.past{opacity:.5;}

/* ---------- Map ---------- */
#map{height:62vh;border-radius:var(--radius);border:1px solid var(--line);overflow:hidden;margin-top:12px;background:var(--bg2);}
.leaflet-container{background:var(--bg2);font-family:inherit;}
.filterbar{display:flex;gap:8px;overflow-x:auto;padding:4px 0;scrollbar-width:none;}
.filterbar::-webkit-scrollbar{display:none;}
.filterbar .chip{cursor:pointer;}
.filterbar .chip.on{background:var(--accent);color:#fff;border-color:transparent;}
.map-pin{background:var(--accent);width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.45);display:grid;place-items:center;}
.map-pin span{transform:rotate(45deg);font-size:.72rem;line-height:1;}
.offline-map{padding:18px;text-align:center;color:var(--ink-soft);}
.map-ctl{display:flex;align-items:center;gap:8px;margin-top:10px;}
.map-ctl .mini-btn.on{background:var(--accent);color:#fff;border-color:transparent;}
.leaflet-control-zoom{border:none!important;box-shadow:var(--shadow)!important;margin:0 12px 14px 0!important;}
.leaflet-control-zoom a{background:var(--card-solid)!important;color:var(--ink)!important;border:1px solid var(--line)!important;width:34px!important;height:34px!important;line-height:34px!important;font-size:1.1rem!important;}
.leaflet-control-zoom a:first-child{border-radius:10px 10px 0 0!important;}
.leaflet-control-zoom a:last-child{border-radius:0 0 10px 10px!important;}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--card-solid);color:var(--ink);}

/* ---------- Stats ---------- */
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;backdrop-filter:blur(10px);}
.stat .n{font-size:1.9rem;font-weight:900;font-family:"Fraunces",serif;line-height:1;}
.stat .l{font-size:.74rem;color:var(--ink-soft);margin-top:4px;}
.bar{height:11px;border-radius:999px;background:var(--bg2);overflow:hidden;margin-top:6px;}
.bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--gold));transition:width .9s var(--ease);}
.barrow{margin:11px 0;}
.barrow .lab{display:flex;justify-content:space-between;font-size:.82rem;margin-bottom:2px;}
.donut{display:block;margin:0 auto;}

/* ---------- Vault ---------- */
.lock-wrap{text-align:center;padding:30px 16px;}
.pin-dots{display:flex;gap:14px;justify-content:center;margin:22px 0;}
.pin-dot{width:15px;height:15px;border-radius:50%;border:2px solid var(--accent);}
.pin-dot.fill{background:var(--accent);}
.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:280px;margin:0 auto;}
.key{height:66px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:1.5rem;font-weight:600;backdrop-filter:blur(8px);transition:transform .1s;}
.key:active{transform:scale(.9);background:var(--accent);color:#fff;}
.key.blank{background:transparent;border:none;}
.doc-item{display:flex;align-items:center;gap:12px;padding:13px;}
.doc-ic{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-size:1.2rem;background:var(--bg2);flex:none;}
.doc-item .meta{flex:1;min-width:0;}
.doc-item .meta b{display:block;font-size:.96rem;}
.doc-item .meta span{font-size:.76rem;color:var(--ink-soft);}

/* ---------- Bottom sheet ---------- */
.sheet-scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .3s;z-index:3000;backdrop-filter:blur(2px);}
.sheet-scrim.show{opacity:1;pointer-events:auto;}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:3001;max-width:520px;margin:0 auto;
  background:var(--card-solid);border-radius:22px 22px 0 0;border:1px solid var(--line);
  transform:translateY(110%);transition:transform .38s var(--ease);
  padding:8px 16px calc(20px + var(--sab));max-height:88vh;overflow:auto;box-shadow:0 -10px 40px -10px rgba(0,0,0,.5);}
.sheet.show{transform:none;}
.sheet-grab{width:38px;height:5px;border-radius:999px;background:var(--line);margin:6px auto 12px;}
.sheet h3{font-size:1.2rem;margin-bottom:2px;}
.sheet .addr{color:var(--ink-soft);font-size:.88rem;margin:4px 0 10px;}
.nav-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;}
.nav-btn{display:flex;align-items:center;gap:10px;padding:13px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg2);color:var(--ink);font-weight:600;font-size:.92rem;}
.nav-btn:active{transform:scale(.96);}
.nav-btn .ni{font-size:1.2rem;}
.full-doc{width:100%;height:74vh;border:none;border-radius:var(--radius-sm);background:#fff;}
.full-doc-img{width:100%;border-radius:var(--radius-sm);}

/* ---------- Tab bar ---------- */
.tabbar{
  position:fixed;left:0;right:0;bottom:0;z-index:50;max-width:520px;margin:0 auto;
  height:calc(var(--tab-h) + var(--sab));padding-bottom:var(--sab);
  background:var(--glass);backdrop-filter:saturate(160%) blur(20px);-webkit-backdrop-filter:saturate(160%) blur(20px);
  border-top:1px solid var(--line);
  display:flex;align-items:stretch;
}
.tab{flex:1;border:none;background:none;color:var(--ink-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.6rem;font-weight:600;letter-spacing:.02em;transition:color .2s;}
.tab .ti{font-size:1.3rem;line-height:1;transition:transform .2s var(--ease);}
.tab.on{color:var(--accent);}
.tab.on .ti{transform:translateY(-2px) scale(1.08);}

/* ---------- Skeletons ---------- */
.sk{background:linear-gradient(100deg,var(--skeleton) 30%,var(--skeleton2) 50%,var(--skeleton) 70%);background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:8px;}
@keyframes shimmer{from{background-position:200% 0;}to{background-position:-200% 0;}}
.sk-line{height:12px;margin:7px 0;}

/* toast */
.toast{position:fixed;left:50%;bottom:calc(var(--tab-h) + var(--sab) + 16px);transform:transl(-50%,20px);translate:-50% 20px;
  background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:999px;font-size:.84rem;font-weight:600;z-index:3500;
  opacity:0;transition:opacity .25s,translate .25s;pointer-events:none;max-width:90%;}
.toast.show{opacity:1;translate:-50% 0;}

/* install hint */
.install-banner{margin:12px 0;padding:13px 14px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 14%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));font-size:.85rem;display:flex;gap:10px;align-items:center;}
.install-banner b{font-weight:700;}
.x{margin-left:auto;color:var(--ink-soft);font-size:1.1rem;}

/* misc list */
.list .li{display:flex;gap:12px;align-items:center;padding:12px 2px;border-bottom:1px solid var(--line);}
.list .li:last-child{border:none;}
.list .li .lic{width:34px;height:34px;border-radius:9px;background:var(--bg2);display:grid;place-items:center;flex:none;}
.list .li .lim{flex:1;min-width:0;}
.list .li b{font-size:.95rem;font-weight:600;} .list .li small{color:var(--ink-soft);}
.callbtn{color:var(--accent);font-weight:700;font-size:.85rem;}

.phrase{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;padding:9px 0;border-bottom:1px solid var(--line);}
.phrase:last-child{border:none;}
.phrase .en{color:var(--ink-soft);font-size:.84rem;} .phrase .fo{font-weight:600;}
.phrase .ph{grid-column:2;font-size:.72rem;color:var(--ink-soft);font-style:italic;}
