.twcm{
  --twcm-css:1;
  --paper:#F5EFE5; --paper2:#FAF9F6; --ink:#1F1F1F; --grey:#5E5E59; --grey2:#999990;
  --brass:#725B2A; --gold:#C5B197; --forest:#192B24; --slate:#303E48; --sand:#E9DFD1;
  --line:rgba(31,31,31,.12); --panel:rgba(250,249,246,.94); --shadow:0 12px 40px rgba(25,43,36,.18);
  --map-bg:#D8DDD2; --trail:#B5552F;
  --side:320px; --card:400px;
}
@media (prefers-color-scheme: dark){
  .twcm:not([data-theme="light"]){
    --paper:#141A17; --paper2:#1C231F; --ink:#F1ECE2; --grey:#B3ADA2; --grey2:#7C7770; --gold:#8E7B57; --sand:#2A322D;
    --line:rgba(241,236,226,.14); --panel:rgba(20,26,23,.92); --shadow:0 12px 40px rgba(0,0,0,.5); --map-bg:#0F1512;
  }
}
.twcm[data-theme="dark"]{
  --paper:#141A17; --paper2:#1C231F; --ink:#F1ECE2; --grey:#B3ADA2; --grey2:#7C7770; --gold:#8E7B57; --sand:#2A322D;
  --line:rgba(241,236,226,.14); --panel:rgba(20,26,23,.92); --shadow:0 12px 40px rgba(0,0,0,.5); --map-bg:#0F1512;
}
.twcm,.twcm *{box-sizing:border-box}
.twcm button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;touch-action:manipulation}
.twcm button:focus-visible,.twcm input:focus-visible,.twcm [tabindex]:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.twcm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.twcm{position:relative;width:100%;height:var(--twcm-h,min(85vh,900px));overflow:hidden;font-family:Inter,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-size:14px;line-height:1.45;color:var(--ink);background:var(--map-bg);-webkit-font-smoothing:antialiased}
.twcm-rounded{border-radius:16px}
.twcm-app{position:absolute;inset:0;display:grid;grid-template-columns:var(--side) 1fr;grid-template-rows:auto 1fr;background:var(--map-bg)}
/* header */
.twcm-top{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:10px 16px;background:var(--panel);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:5;min-height:52px}
.twcm-brand{display:flex;align-items:baseline;gap:10px;min-width:0}
.twcm-brand .twcm-title{color:var(--ink);line-height:1.2;text-transform:none;font-family:Newsreader,Georgia,"Times New Roman",serif;font-weight:400;font-size:21px;letter-spacing:-.3px;margin:0;white-space:nowrap}
.twcm-brand .twcm-sub{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);white-space:nowrap}
.twcm-sites{display:flex;gap:3px;margin-left:auto;background:var(--sand);border-radius:999px;padding:3px;flex:none;max-width:60%;overflow-x:auto;scrollbar-width:none}
.twcm-sites .twcm-sep{width:1px;background:var(--line);margin:4px 2px;flex:none}
.twcm-sites button{padding:6px 11px;border-radius:999px;font-size:12.5px;font-weight:500;color:var(--grey);white-space:nowrap}
.twcm-sites button[aria-pressed="true"]{background:var(--paper2);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.twcm-tools{display:flex;gap:6px;flex:none}
.twcm-tools button{padding:6px 10px;border-radius:8px;font-size:12.5px;font-weight:500;border:1px solid var(--line);background:var(--paper2);white-space:nowrap}
/* sidebar */
.twcm-side{display:flex;flex-direction:column;min-height:0;background:var(--panel);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-right:1px solid var(--line);z-index:4}
.twcm-search{padding:12px 14px 6px}
.twcm-search input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--paper2);color:var(--ink);font-size:16px}
.twcm-search input::placeholder,.twcm-mobile-bar input::placeholder{color:var(--grey);opacity:1}
.twcm-cats{display:flex;flex-wrap:wrap;gap:6px;padding:4px 14px 8px}
.twcm-cats button{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:500;border:1px solid var(--line);color:var(--grey)}
.twcm-cats button .twcm-dot{width:8px;height:8px;border-radius:50%;background:var(--c)}
.twcm-cats button[aria-pressed="true"]{background:var(--sand);color:var(--ink);border-color:transparent}
.twcm-list{overflow:auto;flex:1;padding:0 8px 16px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.twcm .twcm-group{margin:0;padding:12px 8px 4px;font-family:inherit;font-weight:400;font-size:11px;line-height:1.45;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}
.twcm .twcm-ul,.twcm .twcm-ul .twcm-li{list-style:none;margin:0;padding:0}
.twcm .twcm-ul .twcm-li::before,.twcm .twcm-ul .twcm-li::marker{content:none}
.twcm-item{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;width:100%;text-align:left;padding:7px 8px;border-radius:10px}
.twcm-item:hover{background:var(--sand)}
.twcm-item[aria-current="true"]{background:var(--sand);box-shadow:inset 3px 0 0 var(--brass)}
.twcm-item .twcm-th{width:44px;height:44px;border-radius:8px;background:var(--sand);object-fit:cover;display:block}
.twcm-item .twcm-th.twcm-empty{display:grid;place-items:center;color:var(--grey2)}
.twcm-item .twcm-t{font-family:Newsreader,Georgia,serif;font-size:16px;line-height:1.15}
.twcm-item .twcm-s{font-size:11.5px;color:var(--grey)}
.twcm-empty-list{padding:30px 16px;color:var(--grey);text-align:center}
/* map */
.twcm-stage{position:relative;overflow:hidden;touch-action:pan-y;cursor:pointer;user-select:none;-webkit-user-select:none;background:var(--map-bg)}
.twcm-app.twcm-active .twcm-stage{touch-action:none;cursor:grab}
.twcm-app.twcm-editing .twcm-stage{cursor:crosshair;touch-action:none}
.twcm-app.twcm-editing .twcm-pin{cursor:move}
.twcm-tools button[aria-pressed="true"]{background:var(--brass);color:#fff;border-color:var(--brass)}
.twcm-nudge{position:absolute;inset:0;display:grid;place-items:center;background:rgba(25,43,36,.28);color:#fff;font-size:14px;font-weight:500;text-align:center;padding:20px;pointer-events:none;opacity:0;transition:opacity .25s;z-index:4}
.twcm-nudge.twcm-on{opacity:1}
.twcm-nudge span{background:rgba(25,43,36,.75);padding:10px 16px;border-radius:999px;box-shadow:var(--shadow)}
.twcm-stage.twcm-dragging{cursor:grabbing}
.twcm-world{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;width:var(--W);height:var(--H)}
.twcm-world .twcm-ph{position:absolute;left:0;top:0;width:var(--W);height:var(--H);object-fit:cover;pointer-events:none;image-rendering:auto}
.twcm-tiles{position:absolute;left:0;top:0;width:var(--W);height:var(--H);pointer-events:none}
.twcm-tiles img{position:absolute;display:block;pointer-events:none;opacity:0;transition:opacity .2s}
.twcm-tiles img.twcm-on{opacity:1}
@media (prefers-reduced-motion:reduce){.twcm-tiles img{transition:none}}
.twcm-world svg.twcm-over{position:absolute;left:0;top:0;width:var(--W);height:var(--H);pointer-events:none;overflow:visible}
.twcm-pins{position:absolute;left:0;top:0;width:var(--W);height:var(--H);pointer-events:none}
.twcm-pin{position:absolute;left:0;top:0;pointer-events:auto;transform:translate(-50%,-100%) scale(var(--ik));transform-origin:50% 100%;display:flex;flex-direction:column;align-items:center;padding:0;filter:drop-shadow(0 3px 5px rgba(0,0,0,.35));cursor:pointer}
.twcm-pin .twcm-mk{width:30px;height:38px;position:relative}
.twcm-pin .twcm-mk svg{width:30px;height:38px;display:block}
.twcm-pin .twcm-mk .twcm-ic{position:absolute;left:50%;top:15px;transform:translate(-50%,-50%);width:15px;height:15px;color:#fff}
.twcm-pin .twcm-mk .twcm-ic svg{width:15px;height:15px;display:block}
.twcm-pin .twcm-lb{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:2px;white-space:nowrap;font-family:Newsreader,Georgia,serif;font-size:15px;font-weight:500;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.6);opacity:var(--lbl,1);transition:opacity .2s}
.twcm-pin.twcm-minor{opacity:var(--minor,1);transition:opacity .25s,visibility .25s;pointer-events:var(--minorpe,auto)}
.twcm-pin[hidden]{display:none}
.twcm-pin.twcm-off{visibility:hidden;opacity:0;pointer-events:none}
.twcm-pin.twcm-nolb .twcm-lb{opacity:0}
.twcm-app.twcm-editing .twcm-pin.twcm-minor{opacity:1;pointer-events:auto}
.twcm-pin.twcm-minor .twcm-lb{opacity:var(--lbl2,1)}
.twcm-pin.twcm-sel .twcm-mk{transform:scale(1.18);transform-origin:50% 100%}
.twcm-sitelbl{position:absolute;transform:translate(-50%,-50%) scale(var(--ik));transform-origin:50% 50%;font-family:Newsreader,Georgia,serif;font-size:22px;font-weight:500;letter-spacing:.02em;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 10px rgba(0,0,0,.6);pointer-events:none;white-space:nowrap;opacity:calc(1 - var(--lbl,1));transition:opacity .2s}
.twcm-sky{position:absolute;inset:0;pointer-events:none;z-index:2}
.twcm-over .twcm-trail{transition:stroke-width .2s}
.twcm-over.twcm-hl .twcm-trail{stroke-width:5;stroke-dasharray:3 6}
.twcm-stage .twcm-hint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:12px;color:var(--grey);pointer-events:none;box-shadow:var(--shadow);z-index:3;white-space:nowrap;max-width:calc(100% - 120px);overflow:hidden;text-overflow:ellipsis}
.twcm-stage .twcm-ctl{position:absolute;right:14px;bottom:14px;display:flex;flex-direction:column;gap:6px;z-index:3}
.twcm-stage .twcm-ctl button{width:40px;height:40px;border-radius:10px;background:var(--panel);border:1px solid var(--line);font-size:18px;box-shadow:var(--shadow);display:grid;place-items:center}
.twcm-stage .twcm-scale{position:absolute;left:14px;bottom:14px;display:flex;flex-direction:column;gap:3px;font-size:11px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none;z-index:3}
.twcm-stage .twcm-scale .twcm-bar{height:4px;border:2px solid #fff;border-top:0;box-shadow:0 1px 2px rgba(0,0,0,.6)}
.twcm-stage .twcm-north{position:absolute;left:14px;top:14px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);font-size:11px;letter-spacing:.14em;display:flex;flex-direction:column;align-items:center;pointer-events:none;z-index:3}
.twcm-stage .twcm-credit{position:absolute;right:14px;top:14px;font-size:10.5px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);opacity:.85;pointer-events:none;z-index:3}
.twcm-stage .twcm-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--panel);border-radius:999px;padding:8px 14px;font-size:12px;color:var(--grey);box-shadow:var(--shadow);z-index:3;opacity:0;transition:opacity .3s;pointer-events:none}
.twcm-stage .twcm-loading.twcm-on{opacity:1}
/* card */
.twcm-card{position:absolute;right:16px;top:16px;bottom:16px;width:min(var(--card),calc(55% - 16px));background:var(--panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;transform:translateX(calc(100% + 24px));transition:transform .28s cubic-bezier(.2,.8,.2,1);z-index:6;visibility:hidden}
.twcm-card.twcm-open{transform:none;visibility:visible}
@media (prefers-reduced-motion:reduce){.twcm-card{transition:none}.twcm-pin .twcm-lb{transition:none}}
.twcm-card .twcm-hero{position:relative;background:var(--sand);aspect-ratio:3/2;flex:none;overflow:hidden}
.twcm-card .twcm-hero img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .3s}
.twcm-card .twcm-hero img.twcm-on{opacity:1}
.twcm-card .twcm-hero .twcm-nohero{position:absolute;inset:0;display:grid;place-items:center;color:var(--grey);font-size:13px;text-align:center;padding:20px}
.twcm-card .twcm-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:18px;display:grid;place-items:center}
.twcm-card .twcm-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.4);color:#fff;font-size:18px;display:grid;place-items:center}
.twcm-card .twcm-nav.twcm-prev{left:10px}.twcm-card .twcm-nav.twcm-next{right:10px}
.twcm-card .twcm-thumbs{display:flex;gap:6px;padding:8px 14px 0;overflow-x:auto;scrollbar-width:none;flex:none}
.twcm-card .twcm-thumbs img{width:54px;height:40px;object-fit:cover;border-radius:6px;opacity:.55;cursor:pointer;flex:none;border:2px solid transparent}
.twcm-card .twcm-thumbs img.twcm-on{opacity:1;border-color:var(--brass)}
.twcm-card .twcm-body{padding:14px 18px 18px;overflow:auto;flex:1;-webkit-overflow-scrolling:touch}
.twcm-card .twcm-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin-bottom:8px}
.twcm-card .twcm-chip .twcm-dot{width:8px;height:8px;border-radius:50%;background:var(--c)}
.twcm-card h2{color:var(--ink);text-transform:none;font-family:Newsreader,Georgia,serif;font-weight:400;font-size:26px;line-height:1.1;margin:0 0 8px;letter-spacing:-.3px;text-wrap:balance}
.twcm-card p,.twcm-card .twcm-desc p{margin:0 0 10px;max-width:62ch}
.twcm-card .twcm-desc{max-width:62ch}
.twcm-card .twcm-meta{font-size:12px;color:var(--grey);border-top:1px solid var(--line);padding-top:10px;margin-top:10px}
.twcm-card .twcm-meta b{color:var(--ink);font-weight:500}
.twcm-toast{position:absolute;left:50%;top:14px;transform:translateX(-50%);background:var(--forest);color:#fff;padding:8px 14px;border-radius:999px;font-size:12.5px;box-shadow:var(--shadow);opacity:0;transition:opacity .2s;pointer-events:none;z-index:7}
.twcm-toast.twcm-on{opacity:1}
.twcm-mobile-bar{display:none}
/* ----- container-responsive layouts (set by ResizeObserver on the root) ----- */
.twcm-app[data-size="m"]{--side:280px;--card:360px}
.twcm-app[data-size="m"] .twcm-brand .twcm-sub{display:none}
.twcm-app[data-size="s"]{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto}
.twcm-app[data-size="s"] .twcm-side{grid-row:3;border-right:0;border-top:1px solid var(--line);max-height:none;overflow:hidden;transition:max-height .25s}
.twcm-app[data-size="s"] .twcm-side.twcm-collapsed{max-height:58px}
.twcm-app[data-size="s"] .twcm-side.twcm-collapsed .twcm-list,.twcm-app[data-size="s"] .twcm-side.twcm-collapsed .twcm-cats{display:none}
.twcm-app[data-size="s"] .twcm-side .twcm-search{display:none}
.twcm-app[data-size="s"] .twcm-mobile-bar{display:flex;align-items:center;gap:8px;padding:8px 12px}
.twcm-app[data-size="s"] .twcm-mobile-bar input{flex:1;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--paper2);color:var(--ink);font-size:16px}
.twcm-app[data-size="s"] .twcm-mobile-bar button{padding:8px 10px;font-size:12px;color:var(--grey);white-space:nowrap}
.twcm-app[data-size="s"] .twcm-stage{grid-row:2}
.twcm-app[data-size="s"] .twcm-brand .twcm-sub{display:none}
.twcm-app[data-size="s"] .twcm-brand .twcm-title{color:var(--ink);line-height:1.2;text-transform:none;font-size:18px}
.twcm-app[data-size="s"] .twcm-sites button,.twcm-app[data-size="xs"] .twcm-sites button{padding:6px 8px;font-size:11.5px}
.twcm-app[data-size="s"] .twcm-tools{display:none}
.twcm-app[data-size="s"] .twcm-card{right:8px;left:8px;top:auto;bottom:8px;width:auto;max-height:72%;transform:translateY(calc(100% + 16px))}
.twcm-app[data-size="s"] .twcm-card.twcm-open{transform:none}
.twcm-app[data-size="s"] .twcm-card .twcm-hero{aspect-ratio:2/1}
.twcm-app[data-size="s"] .twcm-hint{display:none}
.twcm-app[data-size="s"] .twcm-credit{display:none}
.twcm-app[data-size="xs"] .twcm-sites{max-width:100%;margin-left:0}
.twcm-app[data-size="xs"] .twcm-top{flex-wrap:wrap;gap:8px}
.twcm-card .twcm-hero .twcm-vwrap{position:absolute;inset:0;background:#000}
.twcm-card .twcm-hero .twcm-vwrap video,.twcm-card .twcm-hero .twcm-vwrap iframe{width:100%;height:100%;border:0;display:block;object-fit:cover}
.twcm-card .twcm-thumbs .twcm-vt{position:relative;flex:none}
.twcm-card .twcm-thumbs .twcm-vt img{margin:0}
.twcm-item .twcm-thw{position:relative;display:block;width:44px;height:44px}
.twcm-item .twcm-thw .twcm-th{position:absolute;inset:0}
.twcm-card .twcm-thumbs .twcm-vt .twcm-play,.twcm-item .twcm-thw .twcm-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;font-size:9px;pointer-events:none}
.twcm-card .twcm-thumbs .twcm-vt.twcm-on img{opacity:1;border-color:var(--brass)}
.twcm-card .twcm-thumbs .twcm-vt.twcm-novid{width:54px;height:40px;border-radius:6px;background:var(--forest);display:grid;place-items:center;color:#fff;font-size:11px;cursor:pointer;border:2px solid transparent}
.twcm-card .twcm-thumbs .twcm-vt.twcm-novid.twcm-on{border-color:var(--brass)}
.twcm-locbadge{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);padding:12px 8px 0}

.twcm-noheader .twcm-top{display:none}
.twcm-noheader .twcm-app{grid-template-rows:1fr}
.twcm-noheader .twcm-app[data-size="xs"],.twcm-noheader .twcm-app[data-size="s"]{grid-template-rows:minmax(0,1fr) minmax(0,46%)}
.twcm-noheader .twcm-app[data-size="xs"].twcm-side-collapsed,.twcm-noheader .twcm-app[data-size="s"].twcm-side-collapsed{grid-template-rows:minmax(0,1fr) 58px}
.twcm-noheader .twcm-app[data-size="xs"] .twcm-stage,.twcm-noheader .twcm-app[data-size="s"] .twcm-stage{grid-row:1}
.twcm-noheader .twcm-app[data-size="xs"] .twcm-side,.twcm-noheader .twcm-app[data-size="s"] .twcm-side{grid-row:2}
.twcm .twcm-src{display:none}
.twcm-nosidebar{--side:0px}
.twcm-nosidebar .twcm-side{display:none}
.twcm-nosidebar .twcm-app{grid-template-columns:1fr}
.twcm-app[data-size="xs"],.twcm-app[data-size="s"]{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) minmax(0,46%)}
.twcm-app[data-size="xs"].twcm-side-collapsed,.twcm-app[data-size="s"].twcm-side-collapsed{grid-template-rows:auto minmax(0,1fr) 58px}
.twcm-app[data-size="xs"] .twcm-side,.twcm-app[data-size="s"] .twcm-side{grid-row:3;border-right:0;border-top:1px solid var(--line);max-height:none;min-height:0;overflow:hidden}
.twcm-app[data-size="xs"] .twcm-side.twcm-collapsed{max-height:58px}
.twcm-app[data-size="xs"] .twcm-side.twcm-collapsed .twcm-list,.twcm-app[data-size="xs"] .twcm-side.twcm-collapsed .twcm-cats{display:none}
.twcm-app[data-size="xs"] .twcm-side .twcm-search{display:none}
.twcm-app[data-size="xs"] .twcm-mobile-bar{display:flex;align-items:center;gap:8px;padding:8px 12px}
.twcm-app[data-size="xs"] .twcm-mobile-bar input{flex:1;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--paper2);color:var(--ink);font-size:16px}
.twcm-app[data-size="xs"] .twcm-mobile-bar button{padding:8px 10px;font-size:12px;color:var(--grey);white-space:nowrap}
.twcm-app[data-size="xs"] .twcm-stage{grid-row:2}
.twcm-app[data-size="xs"] .twcm-brand .twcm-sub{display:none}
.twcm-app[data-size="xs"] .twcm-brand .twcm-title{color:var(--ink);line-height:1.2;text-transform:none;font-size:18px}
.twcm-app[data-size="xs"] .twcm-tools{display:none}
.twcm-app[data-size="xs"] .twcm-card{right:8px;left:8px;top:auto;bottom:8px;width:auto;max-height:72%;transform:translateY(calc(100% + 16px))}
.twcm-app[data-size="xs"] .twcm-card.twcm-open{transform:none}
.twcm-app[data-size="xs"] .twcm-card .twcm-hero{aspect-ratio:2/1}
.twcm-app[data-size="xs"] .twcm-hint{display:none}
.twcm-app[data-size="xs"] .twcm-credit{display:none}
.twcm h1,.twcm h2,.twcm h3{margin:0;color:inherit}
.twcm img{max-width:none}
.twcm-app .twcm-card .twcm-hero.twcm-text-only{aspect-ratio:auto;height:64px;background:transparent}
.twcm-card .twcm-hero.twcm-text-only .twcm-close{width:44px;height:44px;background:var(--ink);color:var(--paper)}
