/* Weltenkompass v1.1 — Namespaced styles; no resets outside #tp-wk-root. */
#tp-wk-root {
  --tp-wk-gold: #dfb75b;
  --tp-wk-gold-bright: #ffe0a0;
  --tp-wk-bg: #0b1420;
  --tp-wk-ink: #f5f0e6;
  --tp-wk-muted: #aeb9c7;
  --tp-wk-line: rgba(218,185,110,.27);
  --tp-wk-z: 2147481000;
  font-family: system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  color: var(--tp-wk-ink);
  font-size: 14px;
  line-height: 1.45;
  position:relative;
  z-index:var(--tp-wk-z);
  isolation: isolate;
}
#tp-wk-root *,#tp-wk-root *::before,#tp-wk-root *::after { box-sizing:border-box; }
#tp-wk-root [hidden] { display:none !important; }
#tp-wk-root .tp-wk-sprite { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
#tp-wk-root .tp-wk-icon { width:20px; height:20px; display:block; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
#tp-wk-root .tp-wk-icon-large { width:38px; height:38px; }
#tp-wk-root .tp-wk-sr { position:absolute !important; clip:rect(0,0,0,0); width:1px; height:1px; overflow:hidden; white-space:nowrap; }
#tp-wk-root button,#tp-wk-root input { font:inherit; }
#tp-wk-root button { cursor:pointer; }
#tp-wk-root a { color:inherit; text-decoration:none; }
#tp-wk-root button:focus-visible,#tp-wk-root a:focus-visible,#tp-wk-root input:focus-visible { outline:2px solid var(--tp-wk-gold-bright); outline-offset:3px; }

/* V1.1: a restrained navigation medallion, no W overlay or text badge. */
#tp-wk-root .tp-wk-launcher {
  position:fixed; z-index:var(--tp-wk-z); right:max(22px,env(safe-area-inset-right)); bottom:max(112px,calc(94px + env(safe-area-inset-bottom))); left:auto; top:auto;
  touch-action:none; user-select:none; -webkit-user-select:none; -webkit-tap-highlight-color:transparent;
  display:grid; place-items:center;
  width:62px; height:62px; border-radius:50%; padding:0;
  border:1px solid rgba(231,191,105,.75);
  background:linear-gradient(150deg,#1b3347 0%,#0c1b2b 56%,#09121f 100%);
  box-shadow:0 1px 0 rgba(255,244,211,.09) inset,0 8px 24px rgba(0,0,0,.35);
  color:#e8c67c;
  transition:border-color .17s ease,background-color .17s ease,box-shadow .17s ease,transform .17s ease;
}
#tp-wk-root .tp-wk-launcher::before {
  content:""; position:absolute; inset:5px; border-radius:50%;
  border:1px solid rgba(231,191,105,.16); pointer-events:none;
}
#tp-wk-root .tp-wk-launcher:hover {
  transform:translateY(-2px); border-color:#f4d697;
  box-shadow:0 1px 0 rgba(255,244,211,.11) inset,0 10px 27px rgba(0,0,0,.44),0 0 0 3px rgba(216,170,83,.10);
}
#tp-wk-root .tp-wk-launcher.tp-wk-is-dragging { cursor:grabbing; transform:none; transition:none; }
#tp-wk-root .tp-wk-launcher[aria-expanded="true"] { border-color:#f4d697; }
#tp-wk-root .tp-wk-launcher-inner { display:grid; place-items:center; width:100%; height:100%; }
#tp-wk-root .tp-wk-launcher-mark { display:block; width:40px; height:40px; color:#dfba70; flex-shrink:0; }

#tp-wk-root .tp-wk-overlay { position:fixed; z-index:calc(var(--tp-wk-z) + 1); inset:0; display:grid; place-items:center; padding:clamp(12px,3vh,38px) 16px; background:rgba(3,8,15,.88); overscroll-behavior:contain; }
#tp-wk-root .tp-wk-dialog { position:relative; display:flex; flex-direction:column; width:min(1080px,100%); height:auto; max-height:min(820px,calc(100dvh - 30px)); background:linear-gradient(135deg,#172536 0%,#0d1826 40%,#0a121d 100%); border:1px solid rgba(226,182,89,.48); border-radius:20px; box-shadow:0 24px 70px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.035) inset; overflow:hidden; }
#tp-wk-root .tp-wk-heading-bar { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding:clamp(20px,3vw,35px) clamp(20px,3.5vw,44px) 18px; border-bottom:1px solid var(--tp-wk-line); }
#tp-wk-root .tp-wk-title-area { min-width:0; }
#tp-wk-root .tp-wk-eyebrow { margin:0 0 9px; color:var(--tp-wk-gold); font-size:10px; font-weight:750; letter-spacing:.25em; }
#tp-wk-root h2 { margin:0; font:600 clamp(25px,3vw,40px)/1.14 Georgia,"Times New Roman",serif; letter-spacing:-.02em; color:#f5f0e7; }
#tp-wk-root h2 em { font-weight:500; font-style:italic; color:var(--tp-wk-gold-bright); }
#tp-wk-root .tp-wk-subhead { margin:9px 0 0; color:var(--tp-wk-muted); font-size:13px; }
#tp-wk-root .tp-wk-subhead span { color:#d9cbb2; }
#tp-wk-root .tp-wk-close { display:grid; place-items:center; flex:0 0 auto; width:42px; height:42px; padding:0; border-radius:12px; border:1px solid var(--tp-wk-line); background:#1a2938; color:#edd9b1; }
#tp-wk-root .tp-wk-close:hover { background:#2b3848; border-color:var(--tp-wk-gold); }
#tp-wk-root .tp-wk-scroll { padding:24px clamp(20px,3.5vw,44px) 20px; min-height:0; overflow:auto; scrollbar-color:#7d6635 #111d2a; overscroll-behavior:contain; }
#tp-wk-root .tp-wk-search-wrap { position:relative; display:flex; align-items:center; gap:13px; min-height:54px; width:100%; border:1px solid #42516a; border-radius:13px; background:#1c2b3d; padding:0 15px; color:var(--tp-wk-gold); }
#tp-wk-root .tp-wk-search-wrap:focus-within { border-color:var(--tp-wk-gold); box-shadow:0 0 0 2px rgba(219,171,66,.11); }
#tp-wk-root .tp-wk-search { min-width:0; width:100%; flex:1; border:0; outline:0; color:#f7f3ed; font-size:15px; background:transparent; height:50px; border-radius:0; padding:0; box-shadow:none; }
#tp-wk-root .tp-wk-search:focus-visible { outline:none; }
#tp-wk-root .tp-wk-search::placeholder { color:#a7b4c5; opacity:1; }
#tp-wk-root .tp-wk-shortcut { border:1px solid #45536a; padding:3px 7px; border-radius:5px; color:#a9b5c3; font-size:10px; }
#tp-wk-root .tp-wk-shortcuts { margin:19px 0 6px; display:grid; gap:15px; }
#tp-wk-root .tp-wk-shortcut-block h3 { display:flex; align-items:center; gap:7px; font-size:11px; margin:0 0 9px; color:#d8bf89; text-transform:uppercase; letter-spacing:.1em; }
#tp-wk-root .tp-wk-shortcut-block h3 svg { width:14px; height:14px; }
#tp-wk-root .tp-wk-chip-list { display:flex; flex-wrap:wrap; gap:7px; }
#tp-wk-root .tp-wk-chip { display:inline-flex; gap:6px; align-items:center; padding:7px 11px; border:1px solid #415068; border-radius:999px; background:#1c2b3d; color:#e6e7e9; font-size:12px; }
#tp-wk-root .tp-wk-chip:hover { border-color:#d3ae5c; background:#263c53; }
#tp-wk-root .tp-wk-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:14px; margin:20px 0 0; }
#tp-wk-root .tp-wk-group { min-width:0; padding:17px; border-radius:14px; border:1px solid #354357; background:rgba(18,31,46,.95); }
#tp-wk-root .tp-wk-group-head { display:flex; align-items:center; gap:12px; min-height:50px; margin-bottom:13px; }
#tp-wk-root .tp-wk-group-icon { width:39px; height:39px; flex:0 0 39px; display:grid; place-items:center; color:#ecc36c; border:1px solid #776039; border-radius:10px; background:#2a302e; }
#tp-wk-root .tp-wk-group-head h3 { font-size:15px; font-weight:750; color:#f6dfaa; line-height:1.25; margin:0 0 2px; }
#tp-wk-root .tp-wk-group-head p { font-size:11px; color:#b1bac5; margin:0; }
#tp-wk-root .tp-wk-group-items { display:grid; gap:7px; }
#tp-wk-root .tp-wk-item { position:relative; display:flex; align-items:stretch; background:#1b2a3b; border:1px solid #2e4155; border-radius:10px; transition:border-color .15s ease,background-color .15s ease; }
#tp-wk-root .tp-wk-item:hover,#tp-wk-root .tp-wk-item.tp-wk-current { border-color:#8c7448; background:#263b4f; }
#tp-wk-root .tp-wk-link { display:flex; flex:1; align-items:center; gap:11px; min-width:0; min-height:62px; padding:10px 9px 10px 11px; }
#tp-wk-root .tp-wk-link-symbol { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:9px; background:#2c3946; color:#e0bd76; }
#tp-wk-root .tp-wk-link-symbol .tp-wk-icon { width:17px; height:17px; }
#tp-wk-root .tp-wk-link-copy { display:flex; min-width:0; flex:1; flex-direction:column; }
#tp-wk-root .tp-wk-link-copy strong { font-size:13px; font-weight:730; color:#f1f1f2; }
#tp-wk-root .tp-wk-link-copy small { color:#b7c0ca; font-size:11px; line-height:1.3; margin-top:2px; }
#tp-wk-root .tp-wk-link-arrow { width:14px; height:14px; color:#c3ac72; }
#tp-wk-root .tp-wk-favorite { display:grid; place-items:center; align-self:center; flex:0 0 31px; width:31px; height:37px; margin-right:6px; padding:0; border:0; border-radius:8px; background:transparent; color:#a3a6a7; }
#tp-wk-root .tp-wk-favorite svg { width:17px; height:17px; }
#tp-wk-root .tp-wk-favorite:hover { color:#ffe0a0; background:#344457; }
#tp-wk-root .tp-wk-favorite[aria-pressed="true"] { color:var(--tp-wk-gold-bright); }
#tp-wk-root .tp-wk-favorite[aria-pressed="true"] svg { fill:#d5a74a; }
#tp-wk-root .tp-wk-empty { margin:25px 0; padding:20px; background:#1b2b3c; border:1px dashed #667084; border-radius:12px; text-align:center; color:#cbd3dd; }
#tp-wk-root .tp-wk-footer { display:flex; justify-content:space-between; gap:12px; margin-top:23px; padding-top:16px; border-top:1px solid var(--tp-wk-line); font-size:11px; letter-spacing:.025em; color:#c6ad77; }
body.tp-wk-no-scroll { overflow:hidden !important; }
@media(max-width:680px) {
  #tp-wk-root .tp-wk-launcher { width:56px; height:56px; }
  #tp-wk-root .tp-wk-launcher-mark { width:36px; height:36px; }
  #tp-wk-root .tp-wk-overlay { padding:0; }
  #tp-wk-root .tp-wk-dialog { width:100%; max-width:none; height:100dvh; max-height:100dvh; border:0; border-radius:0; }
  #tp-wk-root .tp-wk-heading-bar { padding:calc(20px + env(safe-area-inset-top)) 17px 16px; }
  #tp-wk-root .tp-wk-scroll { padding:16px 15px calc(20px + env(safe-area-inset-bottom)); }
  #tp-wk-root .tp-wk-groups { grid-template-columns:minmax(0,1fr); gap:12px; margin-top:16px; }
  #tp-wk-root .tp-wk-group { padding:14px; }
  #tp-wk-root .tp-wk-shortcut { display:none; }
  #tp-wk-root .tp-wk-search::placeholder { font-size:13px; }
  #tp-wk-root .tp-wk-footer { flex-direction:column; gap:2px; }
}
@media(prefers-reduced-motion:reduce) {
  #tp-wk-root .tp-wk-launcher,#tp-wk-root .tp-wk-item { transition:none !important; }
  #tp-wk-root .tp-wk-launcher:hover { transform:none; }
}
