/* QLI Execution System — on-brand light design system (ported from the approved mockup).
   Warm cream + orange + peach, Georgia serif display, never dark. */
:root{
  /* ★ 31 Jul — THE MISSING TOKEN. `var(--mono)` is used 168 times across server.js and styles.css but was
     never defined, so every [ bracket ] HUD label in the app silently fell back to the body sans. That is
     what "the font types are all over the place" actually was. One line restores the design language. */
  --mono:ui-monospace,"SF Mono","Cascadia Code","Segoe UI Mono",Consolas,monospace;
  --orange:#ef7043; --orange-deep:#a74e2f; --orange-mid:#b9512c;
  --peach:#fad4c7; --cream:#fdf1ec; --cream2:#f7e7df; --white:#fff;
  --ink:#3a2a23; --ink2:#6b5248; --ink3:#8a6e62;
  --hair:rgba(58,42,35,.10); --hair2:rgba(58,42,35,.06);
  --green:#1f8f5f; --green-fill:#5cc08e; --green-soft:#e4f5ec;
  --amber:#9a6512; --amber-fill:#f0a93e; --amber-soft:#fcefd9;
  --blue:#1f7e8f; --blue-fill:#6cc1d4; --blue-soft:#e3f2f5;
  --violet:#6a4cc0; --violet-fill:#a98ef0; --violet-soft:#efeafc;
  --red:#c2402b; --red-fill:#e2614a; --red-soft:#fbe5df;
  --gold:#f4b740;
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --shadow-card:0 1px 2px rgba(58,42,35,.05),0 4px 14px rgba(58,42,35,.07);
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;color:var(--ink);
  background:#fff;   /* r73 (Ken): pure white */
  -webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5;}
.serif{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;}
a{color:var(--orange-deep);}

/* shell */
.wrap{max-width:520px;margin:0 auto;padding:18px 18px 60px;}
.topbar{display:flex;align-items:center;gap:10px;padding:14px 4px 18px;}
.topbar .brand{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:700;font-size:18px;letter-spacing:-.01em;display:flex;align-items:center;gap:8px;}
.topbar .brand .dot{width:10px;height:10px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px rgba(239,112,69,.18);}
.topbar .sp{flex:1;}
.topbar a.nav{font-size:12.5px;font-weight:700;color:var(--ink2);text-decoration:none;padding:7px 11px;border-radius:99px;background:var(--white);border:1px solid var(--hair);box-shadow:var(--shadow-card);}
.topbar a.nav.admin{color:var(--orange-deep);}

.card{background:var(--white);border:1px solid var(--hair);border-radius:18px;box-shadow:var(--shadow-card);padding:20px;margin-top:16px;}
h1{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:700;font-size:26px;letter-spacing:-.02em;line-height:1.1;}
h1 em{font-style:italic;color:var(--orange-deep);}
h2.sec{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:700;font-size:17px;letter-spacing:-.01em;margin:22px 4px 2px;display:flex;align-items:baseline;gap:8px;}
h2.sec .sub{font-size:11px;font-weight:600;color:var(--ink3);margin-left:auto;font-family:-apple-system,sans-serif;}
.lede{color:var(--ink2);font-size:14.5px;margin-top:8px;}

/* forms */
label{display:block;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--ink3);margin:14px 2px 6px;}
input,select{width:100%;font-family:inherit;font-size:15px;color:var(--ink);background:var(--cream);border:1.5px solid var(--hair);border-radius:12px;padding:12px 13px;outline:none;transition:border-color .15s,background .15s;}
input:focus,select:focus{border-color:var(--orange);background:#fff;}
.hint{font-size:11px;color:var(--ink3);margin-top:6px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;border:none;cursor:pointer;
  font-family:inherit;font-weight:800;font-size:14.5px;border-radius:12px;padding:13px 14px;margin-top:18px;
  transition:transform .15s var(--ease-out);text-decoration:none;}
.btn:active{transform:scale(.985);}
.btn-primary{background:var(--orange);color:#43261b;box-shadow:0 6px 14px -6px rgba(239,112,69,.7);}
.btn-ghost{background:#fff;color:var(--ink2);border:1px solid var(--hair);box-shadow:var(--shadow-card);}
.btn-sm{width:auto;padding:9px 13px;font-size:12.5px;margin-top:0;}
.btn-green{background:var(--green-fill);color:#173d2a;}
.btn-red{background:#fff;color:var(--red);border:1px solid var(--red-fill);}
.row{display:flex;gap:9px;}

.flash{border-radius:12px;padding:11px 13px;font-size:13px;font-weight:600;margin-top:14px;}
.flash.err{background:var(--red-soft);color:var(--red);}
.flash.ok{background:var(--green-soft);color:var(--green);}
.flash.info{background:var(--amber-soft);color:var(--amber);}

/* profile hero */
.hero{text-align:center;padding:8px 0 4px;}
.avatar{width:96px;height:96px;border-radius:50%;margin:0 auto;background:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 3px #fff,0 0 0 5px var(--crew,var(--orange)),0 12px 26px -10px rgba(58,42,35,.35);position:relative;}
.avatar .crest{position:absolute;bottom:-2px;right:-2px;width:32px;height:32px;border-radius:50%;background:#fff;
  box-shadow:0 2px 6px rgba(58,42,35,.25);display:flex;align-items:center;justify-content:center;font-size:15px;}
.hero h1{margin-top:12px;}
.chips{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:9px;flex-wrap:wrap;}
.chip{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:4px 11px;font-size:12px;font-weight:800;}
.chip.rank{background:#fff;border:1px solid var(--hair);color:var(--orange-deep);box-shadow:var(--shadow-card);}
.chip.crew{color:#fff;background:var(--crew,var(--orange));}
.tenure{font-size:12px;color:var(--ink2);margin-top:9px;}
.tenure b{color:var(--ink);}

/* the 4 QQV cards */
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:14px;}
.mcard{background:#fff;border:1px solid var(--hair);border-radius:16px;padding:14px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;min-height:118px;position:relative;}
.mcard .lab{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--ink3);}
.mcard .lab .i{font-size:14px;}
.mcard .info{margin-left:auto;width:16px;height:16px;border-radius:50%;background:var(--cream2);color:var(--ink3);font-size:9px;font-weight:800;font-style:italic;display:flex;align-items:center;justify-content:center;cursor:help;position:relative;}
.mcard .big{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:25px;font-weight:700;line-height:1;margin-top:auto;padding-top:12px;letter-spacing:-.01em;}
.mcard .big .u{font-size:13px;color:var(--ink2);}
.mcard.val .big{color:var(--orange-deep);} .mcard.imp .big{color:var(--green);}
.mcard.hrs .big{color:var(--blue);} .mcard.hon .big{color:var(--violet);}
.tip{position:absolute;bottom:130%;right:-6px;width:170px;background:var(--ink);color:#fff;font-size:10.5px;font-weight:600;line-height:1.45;border-radius:10px;padding:9px 11px;opacity:0;pointer-events:none;transform:translateY(4px);transition:.2s;z-index:30;text-transform:none;letter-spacing:0;box-shadow:0 10px 24px -8px rgba(0,0,0,.4);}
.tip::after{content:"";position:absolute;top:100%;right:13px;border:6px solid transparent;border-top-color:var(--ink);}
.mcard .info:hover .tip{opacity:1;transform:translateY(0);}
.pending-note{font-size:10.5px;color:var(--ink3);text-align:center;margin-top:11px;font-style:italic;}

/* approval queue rows */
.qrow{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--hair2);}
.qrow:last-child{border-bottom:none;}
.qrow .qb{flex:1;min-width:0;}
.qrow .qn{font-size:14px;font-weight:700;}
.qrow .qm{font-size:11.5px;color:var(--ink2);margin-top:3px;}
.badge{display:inline-block;font-size:10px;font-weight:800;border-radius:99px;padding:2px 8px;}
.badge.mgmt{background:var(--amber-soft);color:var(--amber);}
.badge.intern{background:var(--blue-soft);color:var(--blue);}
.badge.pending{background:var(--amber-soft);color:var(--amber);}
.badge.approved{background:var(--green-soft);color:var(--green);}
.badge.volunteer{background:var(--green-soft);color:var(--green);}
.empty{color:var(--ink3);font-size:13px;text-align:center;padding:24px 0;}
.foot{text-align:center;margin-top:34px;color:var(--ink3);font-size:11.5px;}
.foot .pfg{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-style:italic;color:var(--orange-deep);font-size:13px;}
table.people{width:100%;border-collapse:collapse;margin-top:8px;font-size:13px;}
table.people th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--ink3);padding:8px 6px;border-bottom:1px solid var(--hair);}
table.people td{padding:9px 6px;border-bottom:1px solid var(--hair2);}
table.people td.num,table.people th.num{text-align:right;white-space:nowrap;}
table.people td.muted{color:var(--ink2);}

/* ===== team directory (grouped) — one tidy card per person ===== */
.sec .tdot{width:9px;height:9px;border-radius:50%;display:inline-block;box-shadow:0 0 0 3px rgba(58,42,35,.06);}
.tav{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 38px;}
.qn a{color:var(--ink);text-decoration:none;} .qn a:hover{color:var(--orange-deep);}
.qn .rkx{font-size:10.5px;font-weight:700;color:var(--ink2);margin-left:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;}
.qm .basis{color:var(--ink3);}
.prow{padding:14px 0;border-bottom:1px solid var(--hair2);}
.prow:last-child{border-bottom:none;}
.prhead{display:flex;align-items:center;gap:11px;}
.prid{flex:1;min-width:0;}
.prname{font-size:15px;font-weight:700;color:var(--ink);text-decoration:none;}
.prname:hover{color:var(--orange-deep);}
.prchips{display:flex;align-items:center;gap:8px;margin-top:3px;}
.prchips .rkx{font-size:10.5px;font-weight:700;color:var(--ink2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;}
.prmeta{font-size:12px;color:var(--ink2);margin-top:8px;padding-left:49px;}
.prmeta .basis{color:var(--ink3);}
.prsetter{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:11px;padding:11px 0 2px 49px;}
.prform{display:flex;align-items:center;gap:7px;margin:0;}
.prlab{font:800 9.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);}
.prsel,.prdate{appearance:none;-webkit-appearance:none;cursor:pointer;border:1px solid var(--hair);background:var(--cream);
  color:var(--ink);font-weight:600;font-size:12.5px;border-radius:9px;padding:6px 9px;font-family:inherit;}
.prdate{cursor:text;}
.prbtn{appearance:none;cursor:pointer;border:1.5px solid var(--orange);background:rgba(239,112,69,.08);color:var(--orange-deep);
  font-weight:800;font-size:11.5px;border-radius:99px;padding:6px 13px;white-space:nowrap;}
.prbtn:hover{background:rgba(239,112,69,.16);}
.prbtn.ghost{border-color:var(--hair);background:var(--white);color:var(--ink2);box-shadow:var(--shadow-card);}
.prbtn.ghost:hover{border-color:var(--orange);}

/* ===== partners ===== */
.pchips{display:flex;flex-wrap:wrap;gap:8px;padding:6px 0;}
.pchip2{display:inline-flex;flex-direction:column;background:var(--cream);border:1px solid var(--hair);border-radius:12px;
  padding:7px 11px;font-size:12.5px;font-weight:700;color:var(--ink);}
.pchip2 .pnat{font-size:10px;font-weight:600;color:var(--ink3);margin-top:1px;}

/* ===== mascots, two-tab nav, fun auth, swatches, account actions ===== */
.masc{display:block;}

/* app header (logged-in) with the ≡ menu */
.apphead{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;
  max-width:520px;margin:0 auto;padding:11px 16px 9px;}
.hbrand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:700;font-size:16px;letter-spacing:-.01em;}
.hbrand img{width:26px;height:26px;object-fit:contain;}
.hmenu{width:40px;height:40px;border-radius:12px;border:1px solid var(--hair);background:#fff;color:var(--ink2);
  display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-card);transition:transform .15s var(--ease-out);}
.hmenu:active{transform:scale(.95);}
.hmenu svg{width:20px;height:20px;}
.hactions{display:flex;align-items:center;gap:8px;}
.hbell{position:relative;width:40px;height:40px;border-radius:12px;border:1px solid var(--hair);background:#fff;color:var(--ink2);
  display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:var(--shadow-card);}
.hbell svg{width:20px;height:20px;}
.hbell .bcnt{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;
  background:var(--red-fill);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.ntf{text-decoration:none;color:inherit;align-items:flex-start;}
.ntf .ndot{width:9px;height:9px;border-radius:50%;background:transparent;margin-top:5px;flex:0 0 9px;}
.ntf.unread{background:linear-gradient(90deg,rgba(239,112,69,.06),transparent);}
.ntf.unread .ndot{background:var(--orange);}
.wrap.hashead{padding-top:4px;}

/* bottom tab bar — refined, proper line icons */
.wrap.haspetabs{padding-bottom:88px;}
/* Ken 16 Jul: SOLID bg + GPU-stable layer — a fixed bar with backdrop-filter blur JITTERS/detaches on iOS Safari
   scroll (the "nav moves up" bug). Solid cream + translateZ(0) pins it firmly at the bottom on every device. */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;justify-content:center;gap:6px;
  max-width:520px;margin:0 auto;padding:7px 18px calc(10px + env(safe-area-inset-bottom));
  background:var(--cream2);border-top:1px solid rgba(58,42,35,.07);transform:translateZ(0);-webkit-backface-visibility:hidden;will-change:transform;}
.tab{flex:1;max-width:150px;display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;
  color:var(--ink3);font-size:11px;font-weight:700;padding:7px 0 5px;border-radius:14px;
  transition:color .18s var(--ease-out),transform .14s var(--ease-out);}
.tab svg{width:24px;height:24px;stroke-width:1.75;}
.tab:active{transform:scale(.93);}
.tab.on{color:var(--orange-deep);}
.tab.on svg{stroke:var(--orange);}

/* settings dropdown (fixed → never clipped; scales from the ≡ trigger) */
.menu-backdrop{position:fixed;inset:0;z-index:48;background:rgba(58,42,35,.16);opacity:0;pointer-events:none;transition:opacity .2s ease;}
.menu-backdrop.open{opacity:1;pointer-events:auto;}
.menu{position:fixed;top:56px;right:14px;z-index:49;width:214px;background:#fff;border:1px solid var(--hair);border-radius:16px;
  box-shadow:0 18px 42px -16px rgba(58,42,35,.42);padding:7px;transform-origin:top right;
  transform:scale(.95);opacity:0;pointer-events:none;transition:transform .18s var(--ease-out),opacity .16s var(--ease-out);}
.menu.open{transform:scale(1);opacity:1;pointer-events:auto;}
.mi{display:flex;align-items:center;gap:9px;width:100%;text-align:left;text-decoration:none;background:none;border:none;
  font-family:inherit;font-size:14px;font-weight:600;color:var(--ink);padding:11px 12px;border-radius:10px;cursor:pointer;transition:background .14s ease;}
.mi:hover{background:var(--cream);}
.mi.danger{color:var(--red);}
.mi .mcnt{margin-left:auto;background:var(--red-fill);color:#fff;border-radius:99px;font-size:11px;font-weight:800;padding:1px 8px;}
.mdiv{height:1px;background:var(--hair2);margin:5px 9px;}
@media (prefers-reduced-motion:reduce){.menu{transition:opacity .15s ease;transform:none;}.tab,.hmenu{transition:none;}}

.authwrap{padding-top:6px;}
.floaty{position:relative;height:150px;margin:6px auto 0;display:flex;align-items:center;justify-content:center;}
.floaty.mini{height:106px;}
.floaty .halo{position:absolute;width:172px;height:172px;border-radius:50%;
  background:radial-gradient(circle,rgba(244,183,64,.30),rgba(239,112,69,.10) 50%,transparent 70%);animation:breathe 4s ease-in-out infinite;}
.floaty .logo{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(167,78,47,.3));animation:floatY 5s ease-in-out infinite;z-index:2;}
.floaty.mini .logo{width:62px;height:62px;}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes breathe{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}
.floaty .elf{position:absolute;width:42px;height:42px;animation:bob 5s ease-in-out infinite;}
.floaty .elf svg{width:100%;height:100%;}
.floaty .elf.e1{left:13%;top:26%;animation-delay:.2s;transform:rotate(-8deg);}
.floaty .elf.e2{right:15%;top:12%;width:36px;height:36px;animation-delay:.8s;transform:rotate(7deg);}
.floaty .elf.e3{right:25%;bottom:4%;width:34px;height:34px;animation-delay:1.3s;}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(4deg)}}

.orline{display:flex;align-items:center;gap:12px;margin:16px 0 12px;color:var(--ink3);font-size:12px;}
.orline::before,.orline::after{content:"";flex:1;height:1px;background:var(--hair);}
.btn-google{background:#fff;color:var(--ink2);border:1px solid var(--hair);box-shadow:var(--shadow-card);margin-top:0;opacity:.9;cursor:not-allowed;}
.btn-google .soon{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--violet);background:var(--violet-soft);border-radius:99px;padding:2px 7px;margin-left:4px;}

.swatches{display:flex;flex-wrap:wrap;gap:11px;margin-top:6px;}
.sw{cursor:pointer;}
.sw input{display:none;}
.sw span{display:block;width:38px;height:38px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px #fff,0 0 0 4px var(--hair);transition:transform .15s var(--ease-out);}
.sw input:checked+span{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--c);transform:scale(1.08);}

.actcard{padding:6px 16px;}
.actbtn{display:flex;align-items:center;gap:10px;width:100%;text-align:left;text-decoration:none;background:none;border:none;
  font-family:inherit;font-size:14px;font-weight:700;color:var(--ink);padding:14px 2px;border-bottom:1px solid var(--hair2);cursor:pointer;}
.actcard .actbtn:last-child{border-bottom:none;}
.actbtn.danger{color:var(--red);}
.actbtn .cnt{margin-left:auto;background:var(--red-fill);color:#fff;border-radius:99px;font-size:11px;font-weight:800;padding:1px 8px;}
.backlink{display:inline-block;font-size:12.5px;font-weight:700;color:var(--ink2);text-decoration:none;margin:2px 2px 8px;}

/* ===== "The QLI System" components — corner-tick panels · HUD voice · islands · quests ===== */
.mono{font-family:ui-monospace,"SF Mono","Cascadia Code","Segoe UI Mono",Consolas,monospace;}
/* corner-tick glowing panel */
.panel{position:relative;background:#fff;border:1px solid var(--hair);border-radius:18px;padding:15px 15px 9px;margin-top:13px;box-shadow:0 0 0 1px rgba(239,112,69,.07),0 10px 26px -18px rgba(167,78,47,.4);}
.cb{position:absolute;width:15px;height:15px;pointer-events:none;}
.cb.tl{left:8px;top:8px;border-left:2px solid rgba(239,112,69,.5);border-top:2px solid rgba(239,112,69,.5);border-top-left-radius:5px;}
.cb.tr{right:8px;top:8px;border-right:2px solid rgba(239,112,69,.5);border-top:2px solid rgba(239,112,69,.5);border-top-right-radius:5px;}
.cb.bl{left:8px;bottom:8px;border-left:2px solid rgba(239,112,69,.5);border-bottom:2px solid rgba(239,112,69,.5);border-bottom-left-radius:5px;}
.cb.br{right:8px;bottom:8px;border-right:2px solid rgba(239,112,69,.5);border-bottom:2px solid rgba(239,112,69,.5);border-bottom-right-radius:5px;}
/* the Fireplace header */
.firehd{text-align:center;padding:8px 0 2px;}
.firehd .flame{width:48px;height:48px;margin:0 auto;color:var(--orange);filter:drop-shadow(0 4px 10px rgba(239,112,69,.35));}
.firehd .flame svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.firehd h1{margin-top:7px;}
.firehd .lede{max-width:34ch;margin:8px auto 0;}
/* islands strip (HUD) */
.isleband{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;}
.isleband .syn,.isleband .rf{font-family:ui-monospace,monospace;font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;border-radius:99px;padding:7px 11px;display:inline-flex;align-items:center;gap:6px;text-decoration:none;}
.isleband .syn{color:#16794f;background:rgba(92,192,142,.13);border:1px solid rgba(92,192,142,.42);}
.isleband .syn .d{width:7px;height:7px;border-radius:50%;background:var(--green-fill);box-shadow:0 0 0 3px rgba(92,192,142,.22);}
.isleband .rf{margin-left:auto;color:var(--orange-deep);background:#fff;border:1px solid rgba(239,112,69,.5);}
.isleband .rf svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
/* island panel header — cute island graphic + name + KR */
.isleg{flex:none;filter:drop-shadow(0 5px 6px rgba(58,42,35,.22));}
.islehd{display:flex;align-items:center;gap:11px;}
.islehd .isleg{width:52px;height:43px;}
.isleinfo{flex:1;min-width:0;}
.islehd .nm{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:700;font-size:16px;line-height:1.12;letter-spacing:-.01em;}
.islehd .kr{font-family:ui-monospace,monospace;font-size:9.5px;font-weight:700;color:var(--ink3);margin-top:3px;letter-spacing:.02em;}
.islehd .tcount{flex:none;text-align:right;}
.islehd .tcount b{font-family:ui-monospace,monospace;font-size:16px;font-weight:800;color:var(--ink2);}
.islehd .tcount span{font-family:ui-monospace,monospace;font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3);display:block;}
/* quest rows */
.qline{display:flex;align-items:center;gap:10px;padding:11px 2px;border-top:1px solid var(--hair2);}
.qline.first{border-top:1px solid var(--hair);margin-top:10px;}
.qline .qt{flex:1;min-width:0;}
.qline .qtt{font-weight:700;font-size:13.5px;line-height:1.25;letter-spacing:-.005em;}
.qline .qmeta{display:flex;align-items:center;gap:7px;margin-top:5px;flex-wrap:wrap;}
.teamchip{font-family:ui-monospace,monospace;font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff;border-radius:99px;padding:2px 7px;}
.qsrc{font-family:ui-monospace,monospace;font-size:9px;font-weight:700;color:var(--ink3);}
.alloc{flex:none;background:var(--orange);color:#43261b;border:none;border-radius:9px;padding:8px 12px;font-family:inherit;font-weight:800;font-size:11px;cursor:pointer;transition:transform .14s var(--ease-out);}
.alloc:active{transform:scale(.95);}
.allocated{flex:none;font-family:ui-monospace,monospace;font-size:9px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#16794f;background:rgba(92,192,142,.16);border-radius:99px;padding:6px 10px;}
/* world island cards */
.wisle{display:flex;align-items:center;gap:13px;}
.wisle .isleg{width:64px;height:53px;}
.wisle .wn{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:700;font-size:16px;letter-spacing:-.01em;}
.wisle .wm{font-size:11.5px;color:var(--ink2);margin-top:3px;}
.wisle .wt{flex:none;text-align:right;font-family:ui-monospace,monospace;font-weight:800;font-size:14px;color:var(--green-deep,#16794f);}
.wlead{font-family:ui-monospace,monospace;font-size:9px;font-weight:700;color:var(--ink3);margin-top:6px;text-transform:uppercase;letter-spacing:.03em;}
