/* Basis */
:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#faf9f5;color:#141413}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}
#demo[hidden]{display:none!important}
:root{
  --ink:#0b191f; --panel:#122730; --panel-2:#193541; --line:#27505e;
  --text:#e6eef1; --muted:#87a3ae; --amber:#ffa62b; --flamingo:#ff5c8a;
  --bar:56px; --pw:308px;
  --ui:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%;margin:0;overflow:hidden;overscroll-behavior:none}
body{font-family:var(--ui);background:var(--ink);color:var(--text);-webkit-text-size-adjust:100%}
button,input{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer;padding:0}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px}

#stage{position:absolute;inset:0;touch-action:none;cursor:grab}
#stage.drag{cursor:grabbing}
#stage.over::after{content:"Bilddatei loslassen";position:fixed;inset:10px;
  border:2px dashed var(--amber);border-radius:14px;background:rgba(11,25,31,.55);
  color:var(--amber);font-size:16px;font-weight:600;
  display:grid;place-items:center;pointer-events:none;z-index:70}
#cv{position:absolute;inset:0;width:100%;height:100%;display:block}
#pins{position:absolute;inset:0;pointer-events:none}

.pin{position:absolute;left:0;top:0;width:28px;height:28px;margin:-14px 0 0 -14px;
  display:grid;place-items:center;border-radius:8px;pointer-events:auto;
  border:1.5px solid rgba(8,20,26,.9);box-shadow:0 2px 7px rgba(0,0,0,.5);will-change:transform}
.pin svg{width:15px;height:15px;pointer-events:none}
.pin.found{opacity:.32;filter:grayscale(.9)}
.pin.active{box-shadow:0 0 0 3px var(--amber),0 2px 9px rgba(0,0,0,.55);z-index:5}

#bar{position:absolute;top:0;left:0;right:0;height:var(--bar);z-index:40;
  display:flex;align-items:center;gap:10px;padding:0 12px;pointer-events:none;
  background:linear-gradient(180deg,rgba(11,25,31,.97),rgba(11,25,31,.7) 65%,transparent)}
#bar>*{pointer-events:auto}
.brand{font-weight:700;font-size:17px;letter-spacing:-.01em;white-space:nowrap}
.brand i{font-style:normal;color:var(--amber)}
.search{position:relative;flex:1;max-width:400px}
.search input{width:100%;height:38px;padding:0 34px 0 12px;background:var(--panel);
  border:1px solid var(--line);border-radius:10px;color:var(--text)}
.search input::placeholder{color:var(--muted)}
#qclear{position:absolute;right:4px;top:4px;width:30px;height:30px;color:var(--muted);border-radius:8px}
#qclear:hover{background:var(--panel-2);color:var(--text)}
#results{position:absolute;top:44px;left:0;right:0;max-height:50vh;overflow:auto;
  background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:4px}
#results:empty{display:none}
#results button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;text-align:left}
#results button:hover,#results button:focus-visible{background:var(--panel-2)}
#results .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#results .c{color:var(--muted);font-size:12px;white-space:nowrap}
.ico{width:38px;height:38px;flex:none;display:grid;place-items:center;
  background:var(--panel);border:1px solid var(--line);border-radius:10px}
.ico:hover{background:var(--panel-2)}

#panel{position:absolute;z-index:35;top:calc(var(--bar) + 8px);left:12px;bottom:12px;width:var(--pw);
  display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);
  border-radius:14px;overflow:hidden}
#handle{display:none}
.prog{padding:15px 16px 14px;border-bottom:1px solid var(--line)}
.pct{font-weight:700;font-size:40px;line-height:1;letter-spacing:-.03em}
.pct em{font-style:normal;font-size:19px;color:var(--muted);letter-spacing:0}
.sub{color:var(--muted);font-size:13px;margin-top:5px}
.meter{height:4px;border-radius:2px;background:var(--panel-2);margin-top:11px;overflow:hidden}
.meter i{display:block;height:100%;width:0;background:var(--flamingo);transition:width .3s}
.scroll{flex:1;overflow:auto;overscroll-behavior:contain}
.cat{display:flex;align-items:center;gap:11px;width:100%;padding:10px 16px;
  border-bottom:1px solid rgba(39,80,94,.4);text-align:left}
.cat:hover{background:var(--panel-2)}
.cat .d{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:7px}
.cat .d svg{width:15px;height:15px}
.cat .t{flex:1;min-width:0;font-size:14.5px}
.cat .k{font-size:13px;color:var(--muted);flex:none;font-variant-numeric:tabular-nums}
.cat[aria-pressed="false"]{opacity:.38}
.tools{padding:11px 16px;border-top:1px solid var(--line);display:grid;gap:8px}
.tools .r{display:flex;gap:8px}
.tools button{flex:1;padding:9px 8px;border:1px solid var(--line);border-radius:8px;
  font-size:12.5px;color:var(--muted)}
.tools button:hover{background:var(--panel-2);color:var(--text)}
.tools .tg[aria-pressed="true"]{border-color:var(--amber);color:var(--amber)}
.tools .load{border-color:var(--amber);color:var(--amber)}
.note{color:var(--muted);font-size:12px;line-height:1.5;margin:2px 0 0}

#demo{position:absolute;z-index:30;top:calc(var(--bar) + 8px);left:50%;transform:translateX(-50%);
  background:rgba(18,39,48,.94);border:1px solid var(--line);border-radius:9px;
  padding:7px 12px;font-size:12.5px;color:var(--muted);max-width:min(92vw,500px);
  display:flex;align-items:center;gap:10px}
#demo b{color:var(--text);font-weight:600}
#demox{color:var(--muted);flex:none;width:22px;height:22px;border-radius:6px}
#demox:hover{background:var(--panel-2);color:var(--text)}

#detail{position:absolute;z-index:45;left:12px;bottom:12px;width:var(--pw);
  background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}
#detail[hidden]{display:none}
#detail .top{display:flex;gap:11px;align-items:flex-start;padding-right:24px}
#detail .d{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:8px}
#detail .d svg{width:17px;height:17px}
#dname{font-size:19px;font-weight:600;margin:0;line-height:1.2}
#dmeta{color:var(--muted);font-size:12.5px;margin:3px 0 0;font-variant-numeric:tabular-nums}
#ddesc{font-size:14px;line-height:1.55;margin:12px 0 0;color:#cfdde2}
.acts{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.acts button{padding:9px 12px;border:1px solid var(--line);border-radius:8px;font-size:13px}
.acts button:hover{background:var(--panel-2)}
.acts .p{border-color:var(--flamingo);color:var(--flamingo)}
.acts .p[aria-pressed="true"]{background:var(--flamingo);border-color:var(--flamingo);color:#24060e}
#dclose{position:absolute;top:9px;right:9px;width:28px;height:28px;color:var(--muted);border-radius:8px}
#dclose:hover{background:var(--panel-2);color:var(--text)}

#zoom{position:absolute;z-index:35;right:12px;top:calc(var(--bar) + 8px);display:grid;gap:6px}
#zoom button{width:38px;height:38px;background:var(--panel);border:1px solid var(--line);
  border-radius:10px;font-size:19px;line-height:1;display:grid;place-items:center}
#zoom button:hover{background:var(--panel-2)}
#hud{position:absolute;z-index:30;right:12px;bottom:12px;font-size:12px;color:var(--muted);
  background:rgba(11,25,31,.8);border:1px solid var(--line);border-radius:8px;padding:5px 9px;
  pointer-events:none;font-variant-numeric:tabular-nums}
#toast{position:absolute;z-index:60;left:50%;bottom:24px;transform:translate(-50%,12px);
  background:var(--panel-2);border:1px solid var(--line);border-radius:99px;padding:9px 16px;
  font-size:14px;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}
#toast.on{opacity:1;transform:translate(-50%,0)}

@media (max-width:760px){
  :root{--bar:52px}
  .brand{display:none}
  #panel{left:0;right:0;bottom:0;top:auto;width:auto;max-height:78vh;
    border-radius:16px 16px 0 0;border-bottom:0;
    transform:translateY(calc(100% - 96px));transition:transform .28s cubic-bezier(.32,.72,0,1);
    padding-bottom:env(safe-area-inset-bottom)}
  #panel.open{transform:translateY(0)}
  #handle{display:block;width:100%;height:20px;position:relative;flex:none}
  #handle::before{content:"";position:absolute;left:50%;top:8px;transform:translateX(-50%);
    width:38px;height:4px;border-radius:2px;background:var(--line)}
  .prog{padding:4px 16px 13px}
  .pct{font-size:34px}
  #detail{left:0;right:0;bottom:0;width:auto;border-radius:16px 16px 0 0;
    padding-bottom:calc(16px + env(safe-area-inset-bottom))}
  #hud{display:none}
  #demo{top:auto;bottom:104px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

#cheats-open{flex-shrink:0;border-bottom:1px solid var(--line)}
#cheats-dialog{--console:#a9c8ff;position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:auto;background:#10151f;color:#e8edf6;font-family:var(--ui)}
#cheats-dialog[data-console="xbox"]{--console:#b5dba3}#cheats-dialog::backdrop{background:#10151f}#cheats-dialog button:focus-visible,#cheats-dialog input:focus-visible{outline:2px solid var(--console);outline-offset:3px}
.cheat-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px max(22px,calc((100vw - 1320px)/2));border-bottom:1px solid #2a3341;background:#151c28;position:sticky;top:0;z-index:4}.cheat-wordmark{font-size:18px;font-weight:700;white-space:nowrap}.cheat-wordmark span{color:#9baac1;font-weight:400;margin-left:8px;font-size:14px}#cheats-close{font-size:14px;color:#b2bed0;padding:9px 12px;white-space:nowrap}.console-switch{display:flex;gap:4px;padding:4px;border:1px solid #354053;border-radius:9px;background:#0f1520}.console-switch button{min-width:108px;padding:8px 14px;border-radius:6px;color:#aebbd0;font-size:14px}.console-switch button[aria-pressed="true"]{color:#14202c;background:var(--console);font-weight:700}
.cheat-content{max-width:1364px;margin:auto;padding:0 22px 24px}.cheat-toolbar{display:flex;gap:12px;margin:24px 0 16px}.cheat-search{display:flex;align-items:center;flex:1;border:1px solid #394455;border-radius:8px;padding:0 14px;background:#151d2a}.cheat-search>span{font-size:24px;color:#9aabc2;margin-right:9px}#cheats-search{height:45px;width:100%;min-width:0;border:0;background:transparent;color:#e8edf6;font-size:16px;outline-offset:2px}#cheats-search::placeholder{color:#8d9fb7}#cheats-saved{padding:8px 14px;border:1px solid #394455;border-radius:8px;color:#adbed5;font-size:14px}#cheats-saved[aria-pressed="true"]{border-color:var(--console);color:var(--console)}#cheats-saved-count{margin-left:5px}
.cheat-filters{display:flex;gap:7px;flex-wrap:wrap}.cheat-filters button{font-size:14px;color:#a9b7cb;padding:8px 12px;border:1px solid transparent;border-radius:6px}.cheat-filters button:hover{background:#202b3b}.cheat-filters button[aria-pressed="true"]{border-color:#52627a;color:#eef3fb;background:#273346}.cheat-sectionline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 14px}#cheats-title{font-size:18px;margin:0;font-weight:600}#cheats-result-count{font-size:13px;color:#8e9fb7}#cheats-grid{border-top:1px solid #303c4e}.cheat-card{display:grid;grid-template-columns:240px minmax(0,1fr) 38px;gap:20px;padding:23px 8px;border-bottom:1px solid #303c4e;align-items:start}.cheat-card:hover{background:#151d29}.cheat-card h3{font-size:17px;line-height:1.35;margin:0 0 6px;font-weight:650}.cheat-card p{font-size:14px;color:#97a9c1;line-height:1.5;margin:0}.cheat-bookmark{color:#9aaac1;font-size:23px;width:36px;height:36px;border-radius:6px}.cheat-bookmark[aria-pressed="true"]{color:#f2ce8f}.cheat-bookmark:hover{background:#2c3647}.code-keys{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}.pad-key{height:36px;width:36px;display:grid;place-items:center;border-radius:50%;border:1px solid #667487;background:linear-gradient(#303c4e,#18212f);box-shadow:0 2px 0 #040912,inset 0 1px 0 #ffffff18;color:#d6e0ee;font-weight:700;font-size:20px}.pad-key svg{width:22px;height:22px}.pad-key.shoulder{width:42px;border-radius:7px;font-size:14px}.pad-key.direction{border-radius:7px;font-size:22px}.code-step{display:flex;align-items:center;gap:7px}.code-step:not(:last-child)::after{content:'›';color:#667b96;font-size:15px}.code-details{margin-top:12px;font-size:13px;color:#a7b8cd}.code-details summary{cursor:pointer;width:fit-content;color:#9ab2d0;padding:4px 0}.code-details[open] summary{margin-bottom:7px}.code-written{line-height:1.8;color:#c1cedf;margin-bottom:8px}.code-phone{font-size:14px;color:#9fafc4;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.code-phone code{color:#dbe5f3;font:14px ui-monospace,monospace}.code-copy{margin-top:9px;color:var(--console);border:1px solid #445570;border-radius:6px;padding:6px 10px;font-size:13px}.phone-only{font-size:13px;color:#9bacbf;margin-bottom:6px}.phone-digits{display:block;font:19px ui-monospace,monospace;letter-spacing:.5px;color:var(--console);margin-top:5px}.cheat-footer{font-size:12px;line-height:1.6;color:#8396b1;display:flex;gap:25px;margin-top:24px;justify-content:space-between}.cheat-footer a{color:#a6bedc;white-space:nowrap}.cheat-noresults{padding:40px 0;color:#a5b5c9;text-align:center}
@media(max-width:1050px){.cheat-card{grid-template-columns:195px minmax(0,1fr) 36px;gap:14px}.pad-key{width:33px;height:33px}.pad-key.shoulder{width:37px}.code-keys{gap:6px}.code-step{gap:5px}}
@media(max-width:700px){.cheat-topbar{flex-wrap:wrap;padding:12px 16px;gap:10px}.cheat-wordmark{font-size:16px}.cheat-wordmark span{font-size:13px}.console-switch{order:3;flex:1 0 100%;justify-content:center}.console-switch button{flex:1}.cheat-content{padding:0 16px 20px}.cheat-toolbar{margin-top:18px;gap:7px}#cheats-saved{padding:8px 9px;font-size:13px}.cheat-search{padding:0 10px}#cheats-search{font-size:14px}.cheat-card{grid-template-columns:minmax(0,1fr) 34px;gap:8px;padding:19px 0}.code-info{grid-column:1}.code-combo{grid-column:1/-1;grid-row:2;margin-top:6px}.cheat-bookmark{grid-column:2;grid-row:1}.cheat-card h3{font-size:17px}.cheat-card p{font-size:13px}.code-keys{gap:7px}.pad-key{width:35px;height:35px}.pad-key.shoulder{width:39px}.cheat-filters{gap:3px}.cheat-filters button{font-size:13px;padding:7px 9px}.cheat-footer{flex-direction:column;gap:8px}.cheat-sectionline{margin:19px 0 10px}}

.home-navigation{display:flex;align-items:center;gap:10px;flex:none}.home-logo{display:block!important;line-height:1.2;white-space:nowrap;font-size:17px;font-weight:700;color:var(--text);padding:8px 0;letter-spacing:-.01em}.home-logo i{font-style:normal;color:var(--amber)}.home-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text)}.home-icon:hover{background:var(--panel-2);color:var(--amber)}.home-logo:hover{color:var(--amber)}.home-navigation button:focus-visible{outline:2px solid var(--amber);outline-offset:3px}#bar{position:fixed}.cheat-topbar{padding-left:12px;padding-right:12px}.cheat-topbar .home-navigation{margin-right:auto}.cheat-page-label{font-size:13px;color:#a0afc5;white-space:nowrap;margin-left:auto}#cheats-dialog .home-logo{color:var(--text)}
@media(max-width:700px){.cheat-topbar{padding:8px 12px;gap:8px}.cheat-topbar .home-navigation{margin:0}.cheat-page-label{font-size:12px}.cheat-topbar .console-switch{order:3}.home-navigation{gap:9px}}
@media(max-width:560px){:root{--bar:104px}#bar{height:var(--bar);padding:8px 12px;flex-wrap:wrap;align-content:center;gap:7px;background:linear-gradient(#0b191ff5,#0b191fed 85%,transparent)}#bar .home-navigation{margin-right:auto}#bar .search{order:3;flex:1 0 100%;max-width:none}#bar .search input{height:36px}#bar #share{width:36px;height:36px}.home-logo{font-size:16px}.home-icon{width:36px;height:36px}.cheat-page-label{font-size:11px}}

/* Shared sunset typography and restrained pink surfaces; controller colors stay semantic. */
:root{--panel:#191522;--panel-2:#292033;--line:#483047;--text:#faf0f7;--muted:#baadbf;--amber:#ff91c6;--flamingo:#ff69b3;--pink:#ff83c3;--sunset:linear-gradient(155deg,#ffe0eb 4%,#ffa4cf 38%,#ff70bb 72%,#c286ff 100%)}
.home-logo{display:flex!important;flex-direction:column;align-items:flex-start;padding:4px 0;gap:1px;min-width:130px}
.logo-name{font-family:Impact,'Arial Black',sans-serif;font-size:29px;line-height:.95;letter-spacing:.025em;color:#ff98cd;background:var(--sunset);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 0 #642849)}
.home-logo .logo-name i{color:inherit;font-style:normal}.logo-caption{font-size:8px;font-weight:800;letter-spacing:.27em;color:#cbb7ce;line-height:1.4}
.home-logo:hover .logo-name{filter:drop-shadow(0 0 8px #ff69b355)}
#bar{background:linear-gradient(180deg,#17121ff5,#17121fe6 80%,#17121f00)}
.home-icon,.ico,#zoom button{background:#211929;border-color:#6a3a59;color:#f8c4e0;box-shadow:inset 0 1px 0 #ffffff09}
.home-icon:hover,.ico:hover,#zoom button:hover{background:#38213a;border-color:#ff83c3}
#panel,#detail{border:1px solid #a15483;background:linear-gradient(155deg,#241b2c,#17151f 65%);box-shadow:0 12px 35px #07081066,inset 0 1px 0 #ffc2e557,0 0 16px #ff69b311}
.prog{background:linear-gradient(120deg,#ff83c312,transparent);border-bottom-color:#5d3853}.pct{color:#ffd4e9;font-weight:800}.meter i{background:var(--sunset)}
.cat{border-bottom-color:#ffffff0b}.cat:hover{background:#ff83c310}.tools{background:#15131db3}.tools button{border-color:#59374f}.tools button:hover{border-color:#cf76a7;background:#362337}.search input{background:#1c1725;border-color:#5c3a53}.search input:focus{border-color:#ff91c6}
#cheats-open{padding-top:15px;padding-bottom:15px;background:linear-gradient(100deg,#ff83c322,#bf83ff09);border-bottom-color:#75405d}#cheats-open .d{background:#ff91c6!important}#cheats-open .t{font-weight:850;text-transform:uppercase;letter-spacing:.1em;color:#ffc0e0}#cheats-open .k{color:#e99ac4}
#demo,#hud{background:#191522ed;border-color:#68435a;color:#cbbacf}#ddesc{color:#d8cbdc}
#cheats-dialog{background:#14111b;color:#faf0f7;--console:#ffb0da}#cheats-dialog[data-console="xbox"]{--console:#ffb0da}#cheats-dialog::backdrop{background:#14111b}
.cheat-topbar{background:#19141ff5;border-bottom:1px solid #733d5d;box-shadow:0 5px 22px #00000024;backdrop-filter:blur(14px)}
.cheat-page-label{color:#c4a9be}.console-switch{background:#110e18;border-color:#65405b;border-radius:10px}.console-switch button{color:#c9b4c8}.console-switch button[aria-pressed="true"]{background:var(--sunset);color:#35152c;box-shadow:0 2px 10px #ff74b820}.console-switch button:hover{color:#fff}.console-switch button[aria-pressed="true"]:hover{color:#35152c}
.codes-heading{display:flex;align-items:baseline;gap:22px;padding-top:27px}.codes-heading h1{margin:0;font-family:Impact,'Arial Black',sans-serif;font-weight:900;font-size:clamp(64px,8vw,108px);line-height:1.03;letter-spacing:-.025em;color:#ff94cc;background:var(--sunset);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 0 #612641)}.codes-heading>span{font-size:11px;font-weight:700;letter-spacing:.13em;color:#bda8bf}
.cheat-toolbar{margin-top:22px}.cheat-search{background:#1d1826;border-color:#58394f}.cheat-search:focus-within{border-color:#ff91c6}.cheat-search>span{color:#e5a2c9}#cheats-search{color:#fbf0f7}#cheats-search::placeholder{color:#b5a2bb}#cheats-saved{border-color:#58394f;color:#dabbd2;background:#1d1826}#cheats-saved[aria-pressed="true"]{background:#ff83c31a;color:#ffadd6;border-color:#ff83c3}
.cheat-filters button{color:#c5b1c9}.cheat-filters button:hover{background:#322036}.cheat-filters button[aria-pressed="true"]{color:#ffcae6;border-color:#a45581;background:#ff83c319}#cheats-title{color:#f8dfed}#cheats-result-count{color:#b29bb7}#cheats-grid{border-top-color:#68415b}.cheat-card{border-bottom-color:#38283c}.cheat-card:hover{background:#ff83c307}.cheat-card h3{color:#faedf6}.cheat-card p{color:#baa8c2}.cheat-bookmark{color:#b497b4}.cheat-bookmark[aria-pressed="true"]{color:#ff91c6}.cheat-bookmark:hover{background:#3d2640}.code-details summary{color:#d89bc5}.code-written{color:#d8c6dd}.code-phone{color:#baa8c2}.code-phone code{color:#f0ddeb}.code-copy{border-color:#805171;color:#ffb0da}.phone-only{color:#baa8c2}.cheat-footer{color:#ae98b5}.cheat-footer a{color:#e6a9ce}
:focus-visible{outline-color:#ffb0da}*{scrollbar-color:#81506e #19141f;scrollbar-width:thin}
@media(max-width:700px){.codes-heading{padding-top:20px;gap:13px}.codes-heading>span{font-size:9px;letter-spacing:.08em}.logo-name{font-size:27px}.home-logo{min-width:123px}.cheat-topbar{gap:9px}.codes-heading h1{font-size:70px}}
@media(max-width:560px){#bar{background:linear-gradient(#17121ff7,#17121ff2 85%,transparent)}.cheat-page-label{font-size:11px}.home-navigation{gap:8px}.codes-heading{flex-wrap:wrap;column-gap:14px;row-gap:4px}.codes-heading h1{font-size:64px}}


.site-legal{display:flex;align-items:center;justify-content:space-between;gap:8px 20px;padding:9px 16px;background:#17121ff5;border-top:1px solid #633b56;color:#c7b3c8;font-size:12px;line-height:1.45}.site-legal nav{display:flex;gap:18px;flex:none}.site-legal a{color:#ffd0e8;text-underline-offset:3px;padding:4px 0}.site-legal a:hover{color:#fff}body>.site-legal{position:fixed;bottom:0;left:0;right:0;z-index:50;min-height:44px}#panel,#detail{bottom:58px}#hud{bottom:58px}#toast{bottom:70px}#cheats-dialog>.site-legal{position:sticky;bottom:0;z-index:5}
#legal-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;background:#14111b;border:0;border-radius:0;color:#f7edf5;overflow:auto}#legal-dialog::backdrop{background:#14111b}.legal-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;background:#1b1423;border-bottom:1px solid #754561;position:sticky;top:0;z-index:2}#legal-close{padding:10px 14px;border:1px solid #79506c;border-radius:8px;color:#ffd0e8}#legal-close span{margin-left:12px;font-size:20px}.legal-content{max-width:900px;margin:auto;padding:30px 24px 45px}.legal-tabs{display:flex;gap:20px;margin-bottom:30px}.legal-tabs a{color:#c4a7c2;padding:8px 0;text-decoration:none;border-bottom:2px solid transparent}.legal-tabs a[aria-current="page"]{color:#ffb3da;border-color:#ff83c3}#legal-title{font-size:clamp(36px,6vw,62px);line-height:1.1;letter-spacing:-.035em;color:#ffabd4;margin:0 0 28px}.legal-content h2{font-size:20px;margin:30px 0 12px;color:#ffe0f0}.legal-content p,.legal-content address{font-size:16px;line-height:1.75;color:#d0c0d5;font-style:normal}.legal-content a{color:#ffb5db;text-underline-offset:3px}.legal-draft{padding:16px 18px;border-left:3px solid #ec98bc;background:#ff83c30a}.missing-info{color:#f5b8d3}#legal-dialog article[hidden]{display:none}
@media(max-width:760px){.site-legal{padding:7px 12px;font-size:11px;flex-wrap:wrap;gap:3px}.site-legal nav{gap:16px}.site-legal a{font-size:12px}body>.site-legal{min-height:66px}#panel,#detail{bottom:66px}#toast{bottom:82px}#demo{bottom:170px}.legal-content{padding:24px 18px 30px}.legal-top{padding:10px 12px}.legal-content h2{font-size:19px}}


#pins{z-index:2}.pin{cursor:pointer;touch-action:none}.pin:hover{filter:brightness(1.12);box-shadow:0 0 0 3px #ffffffaa,0 3px 10px #0005}.pin:focus-visible{outline:3px solid #fe79b9;outline-offset:3px}.pin.active{box-shadow:0 0 0 3px #ff91c6,0 4px 12px #0006}#stage{background:#b9dce8}

#mini-map{position:fixed;right:12px;bottom:60px;width:190px;z-index:36;background:#211929;border:1px solid #9e567e;border-radius:12px;overflow:hidden;box-shadow:0 5px 25px #0004}.mini-title{padding:9px 10px;display:grid;gap:3px}.mini-title strong{font-size:14px}.mini-title span{font-size:11px;color:#bda7bc}#mini-canvas{display:block;width:100%;aspect-ratio:1;touch-action:none;cursor:crosshair;background:#b9dce8}#planner-open{position:fixed;right:12px;top:calc(var(--bar) + 148px);z-index:38}#planner-open[aria-expanded="true"]{border-color:#ffa1d1;background:#42233c}#route-planner{position:fixed;right:60px;top:calc(var(--bar) + 8px);width:310px;max-height:calc(100dvh - var(--bar) - 310px);overflow:auto;z-index:42;background:#1d1725;border:1px solid #a25a84;border-radius:13px;padding:15px;color:#f6e9f1;box-shadow:0 12px 35px #0005}#route-planner[hidden]{display:none}.planner-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.planner-head h2{font-size:19px;margin:0}.planner-head button{font-size:27px;padding:0 7px}.planner-help,.planner-assumption{font-size:13px;line-height:1.5;color:#c5b2ca;margin:12px 0}.planner-assumption{font-size:12px;padding-left:9px;border-left:2px solid #b57197}#route-draw{width:100%;border:1px solid #d780ad;border-radius:8px;padding:10px;color:#ffc1e1;font-weight:650}#route-draw[aria-pressed="true"]{background:#fba0ce;color:#39182f}.route-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 0}.route-stats small{display:block;color:#cbb5c9;font-size:12px}.route-stats strong{font-size:24px;display:block;margin-top:5px}.planner-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.planner-fields label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#dac6d9}.planner-fields input,.planner-fields select{width:100%;min-width:0;padding:9px 7px;border:1px solid #70455f;border-radius:6px;color:#f9e8f3;background:#15111c;font:14px var(--ui)}#route-error{color:#ffc3d6;font-size:13px}#route-points{padding-left:25px;margin:10px 0;max-height:155px;overflow:auto;font-size:13px}#route-points li{padding:5px 0}#route-points button{margin-left:8px;color:#efa8d0;min-width:26px;min-height:26px}.planner-actions{display:flex;flex-wrap:wrap;gap:7px}.planner-actions button{font-size:12px;padding:8px;border:1px solid #70455f;border-radius:6px}.planner-actions button:disabled{opacity:.4;cursor:default}body.route-drawing #stage{cursor:crosshair}#hud{right:215px}
@media(max-width:760px){#mini-map{width:112px;bottom:172px}.mini-title{padding:6px 8px}.mini-title strong{font-size:12px}.mini-title span{display:none}#route-planner{right:58px;width:min(310px,calc(100vw - 70px));max-height:max(130px,calc(100dvh - var(--bar) - 300px))}.planner-fields{gap:8px}.route-stats strong{font-size:21px}body.planner-visible #mini-map{bottom:172px;width:90px}}
#panel{transition:transform .28s ease,visibility .28s;}
#sidebar-toggle{position:absolute;z-index:36;top:calc(var(--bar) + 18px);left:calc(var(--pw) + 20px);height:42px;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid #f184b87a;border-radius:12px;background:#211827ed;color:#ffafd4;box-shadow:0 5px 22px #17102330;cursor:pointer;transition:left .28s ease;}
#sidebar-toggle span{display:none;font-size:12px;font-weight:700}
#sidebar-toggle:focus-visible{outline:3px solid #ff9ac9;outline-offset:3px}
body.sidebar-collapsed #panel{transform:translateX(calc(-100% - 20px));visibility:hidden;pointer-events:none}
body.sidebar-collapsed #sidebar-toggle{left:12px}
body.sidebar-collapsed #sidebar-toggle svg{transform:rotate(180deg)}
body.sidebar-collapsed #sidebar-toggle span{display:inline}
@media(max-width:760px){
 #sidebar-toggle{left:12px;top:calc(var(--bar) + 12px)}
 #sidebar-toggle span{display:inline}
 body.sidebar-collapsed #panel{transform:translateY(calc(100% + 80px))}
}
@media(prefers-reduced-motion:reduce){#panel,#sidebar-toggle{transition:none}}
#route-planner{width:330px;max-height:calc(100dvh - var(--bar) - 90px);padding:18px;border-color:#b26a9170;background:linear-gradient(155deg,#2b2031,#19151f 65%);border-radius:18px}
.planner-eyebrow{display:block;font-size:9px;letter-spacing:1.7px;color:#c991b2;margin-bottom:5px}.planner-head h2{font-size:23px}
.travel-modes{display:flex;gap:4px;padding:4px;border-radius:11px;background:#110e1799;margin-top:18px}.travel-modes button{flex:1;padding:10px 4px;border:0;border-radius:8px;font-size:12px;color:#bfaec3;background:transparent}.travel-modes button[aria-pressed="true"]{background:#f5a0ca;color:#32172a;font-weight:700}
.route-stats{margin-top:15px;padding:17px 14px;border:1px solid #b06b8e35;border-radius:12px;background:#f6a3cd09}.route-stats strong{font-size:28px;letter-spacing:-1px}.route-stats>div+div{border-left:1px solid #a7779135;padding-left:15px}.route-basis{font-size:11px;color:#c0a8be;margin:8px 0 22px;line-height:1.5}
.waypoint-heading{display:flex;justify-content:space-between;font-size:13px}.waypoint-heading span{color:#a991a5;font-size:11px}#route-empty{font-size:13px;line-height:1.6;color:#bda9bf;padding:12px 0;margin:0}
#route-points{padding:0;list-style:none;max-height:180px;margin:12px 0;counter-reset:stops}#route-points:empty{display:none}#route-points li{display:flex;align-items:center;gap:10px;padding:7px 0;counter-increment:stops}#route-points li:before{content:counter(stops);display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#f3a2cb18;color:#ffb1d8;border:1px solid #ce80a664;font-size:11px}#route-points li span{flex:1;min-width:0;overflow-wrap:anywhere}#route-points li small{display:block;color:#b395ad;font-size:10px;margin-bottom:3px}#route-points button{margin-left:auto;border:0;background:transparent}#route-draw{background:#efa0c8;color:#301526;border:0;padding:12px;font-weight:700;margin-top:4px}.planner-actions{display:grid;grid-template-columns:1.5fr 1fr 1fr;margin-top:8px}.planner-actions button{background:transparent;font-size:11px;padding:9px 4px}
.route-settings{border-top:1px solid #936d862f;margin-top:18px;padding-top:14px}.route-settings summary{cursor:pointer;font-size:12px;color:#ddbdd2}.route-settings .planner-fields{margin-top:14px}.route-wide{grid-column:1/-1}.route-disclaimer{font-size:10px;line-height:1.5;color:#a98fa6;margin:14px 0 0}
#route-capture{position:fixed;z-index:44;bottom:75px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;max-width:calc(100vw - 30px);padding:10px 12px 10px 18px;background:#221927f5;border:1px solid #df94bc;border-radius:14px;box-shadow:0 8px 30px #0004;font-size:13px;color:#f7d9ea}#route-capture[hidden]{display:none}#route-done{padding:9px 15px;border:0;border-radius:8px;background:#f5a0ca;color:#32172a;font-weight:700}
body.planner-visible #mini-map{visibility:hidden}
@media(max-width:760px){#route-planner{width:min(330px,calc(100vw - 76px));right:58px;padding:14px;max-height:calc(100dvh - var(--bar) - 85px)}.route-stats strong{font-size:25px}#route-capture{bottom:78px;width:max-content;font-size:12px;gap:10px}.planner-eyebrow{font-size:8px}}
#route-planner{background:linear-gradient(145deg,#fffafc,#f7f2f6);color:#352333;border-color:#e2bfd2;box-shadow:0 12px 38px #39233526}
#route-planner .planner-eyebrow{color:#9a507a}#route-planner .planner-head button{color:#7b4667}
#route-planner .travel-modes{background:#ece2ea}#route-planner .travel-modes button{color:#71556a}#route-planner .travel-modes button[aria-pressed="true"]{background:#ed9ac3;color:#3b2033}
#route-planner .route-stats{background:#fff;border-color:#ead3e1;margin-bottom:20px}#route-planner .route-stats small{color:#88677d}#route-planner .route-stats strong{color:#382332}#route-planner .route-stats>div+div{border-color:#ead3e1}
#route-planner .waypoint-heading span,#route-planner #route-empty{color:#866b7e}#route-planner #route-points li:before{background:#f7e2ee;color:#954771;border-color:#dfb4cd}#route-planner #route-points li small{color:#90667e}#route-planner #route-points button{color:#965476}
#route-planner .planner-actions button{color:#78506a;border-color:#dbc3d2;background:#fff9fd}#route-planner .route-settings{border-color:#e3cfdd}#route-planner .route-settings summary{color:#754e68}
#route-planner .planner-fields label{color:#76596c}#route-planner .planner-fields input{background:#fff;color:#352333;border-color:#d9bfce}#route-planner .planner-assumption{color:#806575;border-color:#d598b9}#route-planner .route-disclaimer{color:#8a7181}#route-planner #route-error{color:#ab285d}
#route-capture{background:#fff8fc;color:#513349;border-color:#ddb7ce;box-shadow:0 8px 30px #39233525}
#storage-info{position:fixed;inset:auto 18px 74px auto;margin:0;width:min(380px,calc(100vw - 36px));max-height:calc(100dvh - 100px);overflow:auto;border:1px solid #e3bdd3;border-radius:20px;padding:0;background:#fff9fc;color:#41283a;box-shadow:0 18px 70px #27132135}#storage-info::backdrop{background:#1c172029}.storage-inner{padding:24px}.storage-inner>small{font-size:9px;letter-spacing:1.6px;color:#986782}.storage-inner h2{font-size:24px;margin:9px 0 14px}.storage-inner p{font-size:13px;line-height:1.6}.storage-row{padding:12px 0;border-top:1px solid #ead7e3;display:grid;gap:5px;font-size:13px}.storage-row span,.storage-muted{color:#876c7e;line-height:1.5}#storage-ok,#storage-privacy{width:100%;padding:12px;border-radius:10px;font-weight:600;cursor:pointer}#storage-ok{background:#f0a0c7;border:0;color:#402036}#storage-privacy{background:transparent;border:0;color:#87576f;margin-top:5px}
.site-legal nav{flex-wrap:wrap}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;border:1px solid #d996b6;border-radius:9px;padding:8px 10px;font-size:12px;background:#fff3fa;color:#75405f;min-height:34px}
:root[data-theme="light"]{color-scheme:light;--text:#382b36;--muted:#806b7d;--panel:#fff9fc;--panel-2:#f1e4ee;--line:#dec9d9;--ink:#f7f1f6}
:root[data-theme="dark"]{color-scheme:dark;--text:#f5e8f1;--muted:#bca6ba;--panel:#211b29;--panel-2:#332538;--line:#5b3a52;--ink:#15121b}
html[data-theme="light"] :is(#bar,#panel,#detail,#results,#mini-map,.cheat-topbar,#legal-dialog,.site-legal,#cheats-dialog){background:#fff9fc;color:#382b36;border-color:#e4c8d9}
html[data-theme="light"] :is(.search input,#sidebar-toggle,.ico,.home-icon,.console-switch,.cheat-search,#cheats-saved,.tools button){background:#f6ebf2;color:#64425a;border-color:#d9bace}
html[data-theme="light"] :is(.cat,.prog,.tools,.cheat-card,#cheats-grid){border-color:#ead7e3;color:#382b36}
html[data-theme="light"] :is(.cat:hover,.cheat-card:hover,.cheat-filters button:hover){background:#f6e7f0}
html[data-theme="light"] :is(.cat .k,.sub,.mini-title span,.cheat-card p,.code-details,.code-details summary,.code-written,.code-phone,.code-phone code,.phone-only,.cheat-footer,.cheat-footer a,.cheat-filters button,#cheats-search,#cheats-title,#cheats-result-count,#cheats-close,.legal-content p,.legal-content address){color:#765c70}
html[data-theme="light"] .cheat-filters button[aria-pressed="true"]{background:#f5d9e9;color:#7f305c;border-color:#d18aaf}
html[data-theme="light"] .site-legal a{color:#85516f}
html[data-theme="dark"] :is(#route-planner,#storage-info,#route-capture){background:#211b29;color:#f5e8f1;border-color:#79516b}
html[data-theme="dark"] #route-planner :is(.route-stats,.planner-actions button,.planner-fields input,.travel-modes){background:#17131e;color:#eddae8;border-color:#594052}
html[data-theme="dark"] #route-planner :is(.route-stats strong,.planner-head button,.route-settings summary,.planner-fields label){color:#f1cee5}
html[data-theme="dark"] #route-planner :is(.route-stats small,.route-disclaimer,.planner-assumption,#route-empty,.waypoint-heading span){color:#bea3b7}
html[data-theme="dark"] .theme-toggle{background:#352337;color:#f8c5e2;border-color:#946082}
html[data-theme="dark"] #mini-canvas{filter:none}
@media(max-width:560px){#bar>.theme-toggle{padding:7px;min-width:34px}#bar>.theme-toggle span{display:none}}
#header-cheats{display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:38px;padding:0 15px;border:1px solid #f4a2cd;border-radius:10px;background:var(--sunset);color:#3e1b31;font-size:13px;font-weight:800;box-shadow:0 3px 12px #ed69ad22;white-space:nowrap}
#header-cheats:hover{filter:brightness(1.07)}
#header-3d{display:flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:38px;padding:0 14px;border:1px solid #f4a2cd;border-radius:10px;color:inherit;font-size:13px;font-weight:800;white-space:nowrap;text-decoration:none}
#header-3d:hover{background:#f4a2cd22}
#header-3d .beta{padding:1px 5px;border-radius:5px;background:#f4a2cd;color:#1a1020;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:560px){#header-3d{order:4;padding:0 9px;min-height:36px;font-size:12px}#header-3d span,#header-3d .beta{display:none}}
#bar .search{min-width:0}
@media(max-width:560px){#bar .search{order:3;flex:1 1 0;max-width:none}#header-cheats{order:4;padding:0 10px;gap:6px;min-height:36px;font-size:12px}#header-cheats svg{width:17px;height:17px}}
:root[data-theme="dark"]{--ink:#151618;--panel:#202124;--panel-2:#2d2e32;--line:#424348;--text:#f4f4f5;--muted:#b4b4bb}
html[data-theme="dark"] :is(#bar,#panel,#detail,#results,#mini-map,#cheats-dialog,.cheat-topbar,#legal-dialog,.site-legal,#route-planner,#storage-info,#route-capture){background:#202124;color:#f4f4f5;border-color:#45464c}
html[data-theme="dark"] :is(.tools,.search input,.console-switch,.cheat-search,.theme-toggle,.home-icon,.ico,#sidebar-toggle){background:#2b2c30;color:#eeeeef;border-color:#4b4c52}
html[data-theme="dark"] #route-planner :is(.route-stats,.planner-actions button,.planner-fields input,.travel-modes){background:#2b2c30;border-color:#4b4c52}
html[data-theme="light"] :is(#bar,#panel,#detail,#results,#mini-map,#cheats-dialog,.cheat-topbar,#legal-dialog,.site-legal,#route-planner,#storage-info,#route-capture){background:#fcfcfd;color:#292a2f;border-color:#d9d9df}
html[data-theme="light"] :is(.tools,.search input,.console-switch,.cheat-search,.theme-toggle,.home-icon,.ico,#sidebar-toggle){background:#f0f0f3;color:#393940;border-color:#d1d1d9}
#map-settings{position:fixed;right:60px;top:calc(var(--bar) + 8px);z-index:38;display:flex;align-items:center;gap:9px;height:39px;padding:0 13px;border:1px solid var(--line);border-radius:11px;background:var(--panel);box-shadow:0 3px 15px #10252818;font-size:12px;font-weight:700}
#map-settings svg{color:#ea86b7;flex:none}
#map-controls{position:fixed;right:60px;top:calc(var(--bar) + 56px);width:298px;max-height:calc(100dvh - var(--bar) - 140px);overflow:auto;z-index:44;padding:18px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:17px;box-shadow:0 14px 45px #0003}
#map-controls[hidden]{display:none}
.map-control-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.map-control-head h2{font-size:17px;letter-spacing:-.02em;margin:0}.map-control-head button{font-size:25px;color:var(--muted);height:30px;width:30px}
.map-style-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.map-style-card{padding:5px;border:1px solid var(--line);border-radius:11px;text-align:left}.map-style-card[aria-pressed="true"]{border-color:#f6a1c9;box-shadow:0 0 0 1px #f6a1c9}.map-style-card>span{display:block;font-size:12px;font-weight:650;padding:8px 5px 4px}
.map-swatch{display:block;height:65px;border-radius:7px;background:#e9e4d5;position:relative;overflow:hidden}.map-swatch:before{content:"";position:absolute;inset:-10px;background:linear-gradient(25deg,transparent 40%,#b8b5a7 41% 42%,#fffcef 43% 47%,#b8b5a7 48% 49%,transparent 50%),linear-gradient(105deg,transparent 45%,#fffcef 46% 51%,transparent 52%)}.map-swatch:after{content:"";position:absolute;width:85px;height:95px;border-radius:50%;background:#afd9de;top:-20px;right:-47px;transform:rotate(-23deg)}.map-swatch.explore{background:#c7dcbc}.map-swatch.explore:before{background:radial-gradient(ellipse at 23% 30%,#a2c58a 0 20%,transparent 21%),linear-gradient(25deg,transparent 41%,#fffcef 42% 47%,transparent 48%)}
.map-options-label{font-size:10px;letter-spacing:.13em;font-weight:750;color:var(--muted);margin:21px 0 8px}.map-layer{display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px 0;font-size:13px;border-bottom:1px solid var(--line)}.map-layer i{width:29px;height:17px;border-radius:10px;background:var(--line);position:relative}.map-layer i:after{content:"";position:absolute;left:3px;top:3px;width:11px;height:11px;border-radius:50%;background:var(--muted);transition:transform .16s}.map-layer[aria-pressed="true"] i{background:#e8a2c6}.map-layer[aria-pressed="true"] i:after{background:#fff;transform:translateX(12px)}
.map-destinations{display:flex;flex-wrap:wrap;gap:7px}.map-destinations button{font-size:12px;padding:8px 10px;border-radius:8px;background:var(--panel-2);border:1px solid var(--line)}.map-destinations button:hover{border-color:#e8a2c6}
.pin-cluster{width:38px;height:38px;margin:-19px;border-radius:50%;background:#fcf5f9;color:#773b5b;border:2px solid #b26b91;outline:3px solid #fff9;box-shadow:0 2px 8px #334d4933;font-size:13px;font-weight:800;z-index:3}
#results .search-group{padding:10px 10px 4px;font-size:10px;letter-spacing:.1em;font-weight:700;color:var(--muted)}
html[data-theme="light"] #map-controls,html[data-theme="light"] #map-settings{background:#fcfcfd;color:#292a2f;border-color:#d9d9df}
@media(max-width:760px){#map-settings{right:60px;height:38px;padding:0 10px}#map-controls{right:12px;top:calc(var(--bar) + 58px);width:min(298px,calc(100vw - 24px));max-height:calc(100dvh - var(--bar) - 145px)}}
#map-static{position:absolute;inset:0;width:100%;height:100%;display:block;background:#aed6d9;pointer-events:none}
#cv{visibility:hidden}
html.map-ready #map-static{display:none}
html.map-ready #cv{visibility:visible}
#map-runtime{position:fixed;z-index:80;left:50%;top:calc(var(--bar) + 22px);transform:translateX(-50%);width:min(430px,calc(100vw - 32px));padding:17px 19px;border-radius:13px;border:1px solid #ad849a;background:#25252af5;color:#f6f2f4;box-shadow:0 8px 30px #0003;font:13px/1.5 var(--ui)}
#map-runtime[hidden],#map-runtime [hidden]{display:none!important}
#map-runtime strong{display:block;font-size:16px;color:#f6b4d3}#map-runtime p{margin:7px 0 0}#map-runtime button{margin-top:12px;border:1px solid #ba789c;border-radius:8px;padding:9px 12px;color:#fbd4e8;font-weight:650}#map-runtime details{margin-top:12px}#map-runtime code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:7px;font-size:11px}
html[data-theme="light"] #map-runtime{background:#fcfcfdf5;color:#353038}html[data-theme="light"] #map-runtime strong{color:#9a386c}
/* The intro is decorative, never captures input, and has a CSS exit even if a timer is delayed. */
#launch-intro{position:fixed;inset:0;z-index:300;display:grid;place-items:center;pointer-events:none;overflow:hidden;background:#10141c;color:#f6f3ef;animation:launch-away .26s ease .66s forwards}
#launch-intro[hidden]{display:none!important}
#launch-intro:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,#d660a215,transparent 54%),linear-gradient(120deg,transparent 43%,#eee7f503 43% 44%,transparent 44%)}
.launch-center{display:flex;align-items:center;flex-direction:column;position:relative;width:min(360px,80vw)}
.launch-symbol{height:92px;width:92px;filter:drop-shadow(0 0 25px #eb93c426);animation:launch-symbol-in .48s cubic-bezier(.18,.75,.23,1) both}
.launch-name{font-family:var(--ui);font-size:clamp(32px,7vw,45px);font-style:italic;font-weight:900;letter-spacing:.1em;line-height:1;margin-top:20px;animation:launch-type-in .4s ease .13s both}
.launch-caption{margin-top:11px;font-size:9px;font-weight:700;letter-spacing:.32em;color:#9a9ba9;animation:launch-type-in .35s ease .2s both}
.launch-line{height:2px;width:116px;margin-top:29px;background:linear-gradient(90deg,#eba5c9,#efcfa4);transform-origin:left;animation:launch-line-in .56s cubic-bezier(.2,.7,.2,1) .08s both}
@keyframes launch-symbol-in{0%{opacity:0;transform:translate(-58px,20px) rotate(-16deg) scale(.74)}65%{opacity:1;transform:translate(3px,-1px) rotate(2deg) scale(1.025)}100%{opacity:1;transform:none}}
@keyframes launch-type-in{from{opacity:0;transform:translateY(11px)}to{opacity:1;transform:none}}
@keyframes launch-line-in{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
@keyframes launch-away{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){#launch-intro{display:none!important}#launch-intro *{animation:none!important}}
.home-logo{position:relative;padding-left:34px!important}.brand-symbol{position:absolute;left:0;top:50%;transform:translateY(-50%);width:25px;height:30px;color:#eea3c9}.logo-name{letter-spacing:.035em}
#map-settings{border-radius:8px;letter-spacing:.035em}.map-swatch{background:#cdd1c0}.map-swatch:before{background:linear-gradient(25deg,transparent 40%,#3d4b50 41% 43%,#f0e5c9 44% 47%,#3d4b50 48% 50%,transparent 51%),linear-gradient(105deg,transparent 45%,#eef0df 46% 51%,transparent 52%)}.map-swatch:after{background:#466775}.map-swatch.explore{background:#94a77e}.map-swatch.explore:after{background:#466775}
.pin{border-radius:50%;border:2px solid #f6eee3;box-shadow:0 2px 5px #12212e66}.pin.active{box-shadow:0 0 0 3px #ee9fc9,0 0 0 6px #14283444}.pin-cluster{background:#172630;color:#f5e9dd;border:2px solid #efd9bc;outline:2px solid #17263033;box-shadow:0 2px 6px #0a1b2b55}
.mini-title{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:3px 6px}.mini-title strong{grid-column:1;grid-row:1;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.mini-title span{grid-column:1/-1;grid-row:2}.mini-title:after{content:"N ↑";grid-column:2;grid-row:1;align-self:center;font-size:9px;font-weight:800;color:var(--muted);white-space:nowrap}
#mini-map{border-radius:11px;overflow:hidden;box-shadow:0 4px 24px #101c2433}
.map-style-card[aria-pressed="true"]{border-color:#ec9dc5;box-shadow:0 0 0 1px #ec9dc5}.map-options-label{letter-spacing:.16em}
html[data-theme="dark"] #bar{background:#171a20f5;border-bottom:1px solid #efa1ce28}
html[data-theme="dark"] :is(#panel,#detail,#map-controls,#mini-map){background:#1c2027f5;border-color:#454651}
html[data-theme="dark"] .tools{background:#171b22}.cat[aria-pressed="true"] .t{font-weight:550}
#zoom button{border-radius:8px;font-weight:550}#sidebar-toggle{border-radius:9px}
#map-static{background:#345662}
#map-runtime{opacity:1;animation:map-status-reveal .2s 1.1s both}
@keyframes map-status-reveal{from{opacity:0}to{opacity:1}}
@media(max-width:560px){.home-logo{padding-left:27px!important}.brand-symbol{width:21px;height:26px}.launch-symbol{width:78px;height:78px}}
@media(prefers-reduced-motion:reduce){#map-runtime{animation:none}}


.map-time{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.map-time button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border:1px solid var(--line);border-radius:10px;font-size:12px;font-weight:650;background:var(--panel-2)}
.map-time button i{display:grid;place-items:center;height:20px}
.map-time button[data-map-time="day"] i{color:#f7c548}.map-time button[data-map-time="dusk"] i{color:#ff7aa8}.map-time button[data-map-time="night"] i{color:#9fb6ff}
.map-time button[aria-pressed="true"]{border-color:#ec9dc5;box-shadow:0 0 0 1px #ec9dc5;background:#ff83c31c}
#map-static{background:#08496e}

/* Marker im Blip-Stil: klare Kontur, weicher Schatten, Hover-Zoom, Puls bei Auswahl. */
.pin{width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;border:2.5px solid #fff;box-shadow:0 3px 8px #0a142066,0 0 0 1px #0a142033;transition:scale .16s ease,filter .16s ease;background-image:radial-gradient(circle at 35% 30%,#ffffff66,#ffffff00 55%)!important}
.pin svg{width:16px;height:16px;filter:drop-shadow(0 1px 0 #ffffff55)}
.pin:hover{scale:1.18;filter:brightness(1.06);box-shadow:0 5px 14px #0a142077,0 0 0 1px #0a142033}
.pin.active{scale:1.12}
.pin.active::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid #fff;animation:pin-pulse 1.6s ease-out infinite;pointer-events:none}
@keyframes pin-pulse{from{opacity:.9;transform:scale(.7)}to{opacity:0;transform:scale(1.5)}}
.pin.found{opacity:.45;filter:grayscale(.8)}
.pin-cluster{width:40px!important;height:40px!important;margin:-20px 0 0 -20px!important;border:0!important;outline:0!important;background:radial-gradient(circle,#ffffff 0 56%,transparent 57%),var(--ring,#ff69b3)!important;color:#2b1c2a!important;font-size:14px!important;font-weight:850!important;box-shadow:0 4px 12px #0a142055!important}
.pin-cluster:hover{scale:1.12}
@media(prefers-reduced-motion:reduce){.pin{transition:none}.pin.active::after{animation:none}}

/* Eigener ×-Button statt des Browser-Buttons im Suchfeld */
#q::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}

/* Handy-Layout: Kopfzeile in zwei Reihen, Suchfeld volle Breite, mehr freie Kartenfläche */
@media(max-width:560px){
 :root{--bar:96px;--foot:30px}
 #bar{height:var(--bar);padding:8px 12px;gap:8px;flex-wrap:wrap;align-content:center}
 #bar>.theme-toggle{order:1}
 #bar .home-navigation{order:2;margin-right:auto}
 #bar #share{order:3}
 #header-3d{order:3;width:40px;height:36px;padding:0}
 #bar .search{order:4;flex:1 1 calc(100% - 56px);min-width:0;max-width:none}
 #bar .search input{width:100%;height:36px}
 #header-cheats{order:5;width:44px;height:36px;min-height:36px;padding:0;justify-content:center}
 #header-cheats span{display:none}
 body>.site-legal{min-height:var(--foot);height:var(--foot);padding:0 12px;flex-wrap:nowrap;justify-content:center}
 body>.site-legal>span,body>.site-legal .theme-toggle{display:none}
 body>.site-legal nav{gap:18px}
 body>.site-legal a{font-size:11px}
 #panel,#detail{bottom:var(--foot)}
 #toast{bottom:calc(var(--foot) + 110px)}
 #demo{bottom:calc(var(--foot) + 104px)}
 #mini-map{display:none}
 #map-settings{width:38px;padding:0;justify-content:center}
 #map-settings span{display:none}
 #sidebar-toggle{width:42px;height:38px;padding:0;justify-content:center}
 #sidebar-toggle span,body.sidebar-collapsed #sidebar-toggle span{display:none}
 #sidebar-toggle svg{transform:rotate(-90deg)}
 body.sidebar-collapsed #sidebar-toggle svg{transform:rotate(90deg)}
 #panel.open{z-index:39}
 #storage-info{inset:auto 8px calc(var(--foot) + 8px) 8px;width:auto;max-height:75dvh}
}

/* Kartenstil „Modern“ */
.map-style-options{grid-template-columns:repeat(3,1fr)}
.map-swatch.modern{background:#c9cdbd}
.map-swatch.modern:before{background:linear-gradient(25deg,transparent 42%,#ffffff 43% 46%,transparent 47%),linear-gradient(110deg,transparent 52%,#f2d17a 53% 55%,transparent 56%),radial-gradient(ellipse at 80% 20%,#2c6584 0 34%,transparent 35%)}
html[data-map-style="modern"] .pin-cluster{background:radial-gradient(circle,#1d2733 0 62%,transparent 63%),#ffffff!important;color:#fff!important;box-shadow:0 3px 10px #0d151f55!important}
html[data-map-style="modern"] .pin{border:2px solid #fff;box-shadow:0 2px 6px #0d151f59,0 0 0 1px #0d151f26}
/* Infos zu GTA 6 (Reiter Gut zu wissen, Orte, FAQ, Fakten) */
#header-info{display:flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:38px;padding:0 14px;border:1px solid #f4a2cd;border-radius:10px;background:none;color:inherit;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer}
#header-info:hover{background:#f4a2cd22}
#info-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;background:#14111b;border:0;border-radius:0;color:#f7edf5;overflow:auto}#info-dialog::backdrop{background:#14111b}
#info-close{padding:10px 14px;border:1px solid #79506c;border-radius:8px;color:#ffd0e8;background:none;cursor:pointer}#info-close span{margin-left:12px;font-size:20px}
.info-tabs{flex-wrap:wrap;gap:6px 20px;position:sticky;top:62px;z-index:1;background:inherit;padding-top:4px}
#info-title{font-size:clamp(32px,5vw,52px);line-height:1.1;letter-spacing:-.03em;color:#ffabd4;margin:0 0 14px}
.info-lead{font-size:16px;color:#d0c0d5;margin:0 0 22px}
.info-card{border:1px solid #4a3346;border-radius:12px;padding:16px 18px;margin:0 0 14px;background:#ffffff06;scroll-margin-top:120px}
.info-card[data-open]{border-color:#ff83c3;box-shadow:0 0 0 2px #ff83c333}
.info-card h2{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:19px;margin:0 0 8px;color:#ffe0f0}
.info-card p,.info-card li,.info-faq p,.info-facts dd{font-size:15px;line-height:1.65;color:#d0c0d5}
.info-card p{margin:0 0 8px}.info-card ul{margin:6px 0 10px;padding-left:20px}
.info-badge{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-radius:20px;padding:2px 8px;vertical-align:middle;white-space:nowrap}
.info-badge.ok{background:#2fb36b26;color:#7fe0a8;border:1px solid #2fb36b66}.info-badge.rumor{background:#ffb23d1f;color:#ffcd7a;border:1px solid #ffb23d55}
.info-src{font-size:12px!important;color:#a38fa3!important;margin:6px 0 0!important}.info-src a{color:#ffb5db}
.info-map{margin:4px 0 6px;padding:8px 12px;border:1px solid #f4a2cd;border-radius:8px;background:none;color:#ffd0e8;font-weight:700;cursor:pointer}.info-map:hover{background:#f4a2cd22}
.info-faq{border-bottom:1px solid #3b2a39;padding:4px 0}.info-faq summary{cursor:pointer;font-size:16px;font-weight:700;padding:12px 0;color:#ffe0f0}.info-faq p{margin:0 0 8px}
.info-facts{margin:0}.info-facts>div{padding:12px 0;border-bottom:1px solid #3b2a39}.info-facts dt{font-weight:800;color:#ffe0f0;margin-bottom:4px}.info-facts dd{margin:0}
.info-updated{font-size:12px;color:#8e7b8e;margin-top:28px}
@media(max-width:560px){#header-info{order:5;width:44px;height:36px;min-height:36px;padding:0}#header-info span{display:none}#bar .search{flex-basis:calc(100% - 108px)!important}.info-tabs{top:58px}}
html[data-theme="light"] #info-dialog{background:#fcfcfd;color:#292a2f}
html[data-theme="light"] :is(.info-card p,.info-card li,.info-faq p,.info-facts dd,.info-lead){color:#5d5560}
html[data-theme="light"] :is(.info-card h2,.info-faq summary,.info-facts dt){color:#3a2a36}
html[data-theme="light"] .info-card{background:#fff;border-color:#e4d4df}
html[data-theme="dark"] #info-dialog{background:#202124;color:#f4f4f5}
.info-badge.seen{background:#5aa9ff1f;color:#9cc9ff;border:1px solid #5aa9ff55}.info-badge.fan{background:#b58cff1f;color:#cdb3ff;border:1px solid #b58cff55}
.info-list{list-style:none;margin:6px 0 10px;padding:0}.info-list li{padding:6px 0;border-top:1px solid #ffffff0d}.info-list li:first-child{border-top:0}.info-list .info-badge{margin-right:4px}
.info-note{font-size:13px!important;color:#a38fa3!important}.info-note a{color:#ffb5db}
.info-legend{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px}
.info-jump{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.info-jump a{font-size:13px;padding:6px 10px;border:1px solid #4a3346;border-radius:20px;color:#ffd0e8;text-decoration:none}.info-jump a:hover{border-color:#ff83c3}
.info-sub{margin:12px 0 0;padding:12px 0 0;border-top:1px dashed #4a3346;scroll-margin-top:120px}.info-sub h3{margin:0 0 4px;font-size:16px;color:#ffe0f0}.info-sub[data-open]{background:#ff83c30d}
.info-facts{margin:0 0 22px}
html[data-theme="light"] :is(.info-sub h3){color:#3a2a36}
/* Sprachumschalter EN/DE */
#lang-switch{display:grid;place-items:center;flex:none;min-width:38px;height:38px;padding:0 8px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);font-size:12px;font-weight:800;letter-spacing:.06em;text-decoration:none}
#lang-switch:hover{color:var(--amber)}
@media(max-width:560px){#lang-switch{order:3;height:36px;min-width:36px}}
/* Werbeplätze: nur sichtbar, wenn in js/config.js AdSense eingetragen ist. Nie über der Karte. */
.ad-slot{display:none}
.ads-on .ad-slot[data-ad="side"]{display:block;min-height:250px;margin:12px 0 0}
.ads-on .ad-slot[data-ad="infeed"]{display:block;min-height:120px;margin:18px 0}
@media(min-width:561px){.ads-on .ad-slot[data-ad="strip"]{display:none!important}}
@media(max-width:560px){.ads-on .ad-slot[data-ad="side"]{display:none}
 .ads-on body>.ad-slot[data-ad="strip"]{display:block;position:fixed;left:0;right:0;bottom:var(--foot);height:52px;z-index:49;background:#14111b;overflow:hidden}
 .ads-on #panel,.ads-on #detail{bottom:calc(var(--foot) + 52px)}}
/* Mail-Liste */
.signup{display:grid;gap:8px;padding:16px 18px;margin:0 0 18px;border:1px solid #ff83c366;border-radius:12px;background:linear-gradient(135deg,#ff6fb114,#ffa36c10)}
.signup b{font-size:17px;color:#ffe0f0}.signup>span{font-size:14px;color:#d0c0d5}
.signup-row{display:flex;gap:8px;flex-wrap:wrap}.signup-row input{flex:1 1 220px;min-width:0;padding:10px 12px;border:1px solid #79506c;border-radius:9px;background:#0f0c14;color:inherit;font:inherit}
.signup-row button{padding:10px 16px;border:0;border-radius:9px;background:linear-gradient(135deg,#ff6fb1,#ffa36c);color:#2a0f1f;font-weight:800;cursor:pointer}
.signup-ok{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#b9a5b5}.signup-msg{margin:0;font-size:13px;color:#ffcd7a;min-height:1em}
html[data-theme="light"] .signup-row input{background:#fff}
@media(max-width:560px){#lang-switch{order:4}#bar .search{order:5;flex-basis:calc(100% - 152px)!important}#header-info{order:6}#header-cheats{order:7}}
/* Hinweis: vorläufige, frei gestaltete Karte bis zum Release */
#map-note{position:absolute;left:50%;bottom:calc(64px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:8px;max-width:min(560px,calc(100% - 32px));padding:8px 8px 8px 14px;border-radius:14px;background:rgba(17,22,34,.82);color:#f3f1ec;font:500 12.5px/1.35 system-ui,sans-serif;box-shadow:0 6px 20px rgba(0,0,0,.25);backdrop-filter:blur(6px)}
#map-note[hidden]{display:none}
#map-note strong{color:#ffb0d4;white-space:nowrap}
#map-note span{opacity:.9}
#map-note button{flex:none;width:28px;height:28px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:inherit;font-size:16px;cursor:pointer}
@media (max-width:640px){#map-note{flex-wrap:wrap;bottom:calc(84px + env(safe-area-inset-bottom));font-size:12px}#map-note span{flex:1 1 200px}}

/* Hinweis auf den neuen Trailer: Banner im Info-Fenster, Punkt am Info-Knopf, am Handy mit Beschriftung */
.info-trailer{display:flex;align-items:center;gap:14px;margin:0 0 20px;padding:14px 16px;border:1px solid #f4a2cd;border-radius:14px;background:linear-gradient(135deg,#ed69ad2e,#ffa36c1f);color:inherit;text-decoration:none;transition:filter .2s}
.info-trailer:hover{filter:brightness(1.12)}
.info-trailer-new{flex:none;padding:3px 10px;border-radius:999px;background:var(--sunset,linear-gradient(135deg,#ff6fb1,#ffa36c));color:#3e1b31;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.info-trailer-text{flex:1;display:flex;flex-direction:column;min-width:0}
.info-trailer-text strong{font-size:16px}.info-trailer-text small{font-size:13px;opacity:.75}
.info-trailer-play{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;color:#1a0f22;font-size:14px;padding-left:3px}
#header-info{position:relative}
#header-info::after{content:"";position:absolute;top:-4px;right:-4px;width:10px;height:10px;border-radius:50%;background:#ff6fb1;box-shadow:0 0 0 2px #1b1720}
@media(max-width:560px){#header-info{width:auto!important;padding:0 10px!important;gap:5px}#header-info span{display:inline!important;font-size:12px}#bar .search{flex-basis:calc(100% - 196px)!important}}

/* Logo ViceVanta (Neon-Schriftzug als Bild, img/logo.svg) */
.home-logo:has(.brand-logo){padding-left:0!important;min-width:0}
.brand-logo{display:block;height:32px;width:auto;filter:drop-shadow(0 0 6px #ff4fa333)}
.home-logo:hover .brand-logo{filter:drop-shadow(0 0 10px #ff4fa388)}
.launch-logo{display:block;width:min(420px,78vw);height:auto;margin:0 auto;animation:launch-type-in .5s ease .1s both}
@media(max-width:560px){.brand-logo{height:26px}}
