/* Wygląd „paszport turystyczny” (wersja 2 makiety, decyzja właściciela 13.10.2026). Włączany klasą body.wyglad-paszport
   (ustawienie w panelu gry albo podgląd ?wyglad=paszport); dotychczasowy light.css zostaje bez zmian i jest wtedy wyłączony.
   Krój: Barlow Condensed i Barlow z assets/vendor/barlow (OFL); systemowe kroje zwarte tylko jako zapas. */
.wyglad-paszport{--paper:#ECEEE6;--surface:#F7F8F3;--forest:#17241D;--ink:#17241D;--muted:#4A5A50;--amber:#C3262E;--trail:#C3262E;--stamp:#1F4FA0;--line:#CDD3C7;--soft:#DDE2D6;--radius:12px;--shadow:0 8px 22px rgba(23,36,29,.14);--cond:"Barlow Condensed","Avenir Next Condensed","Roboto Condensed","Bahnschrift Condensed","Arial Narrow",sans-serif-condensed,system-ui,sans-serif;--text:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--paper);color:var(--ink);font-family:var(--text)}
.wyglad-paszport body,.wyglad-paszport{background:var(--paper)}
.wyglad-paszport h1,.wyglad-paszport h2,.wyglad-paszport h3{font-family:var(--cond);letter-spacing:-.005em}
.wyglad-paszport .app{background:var(--paper);padding-bottom:calc(104px + env(safe-area-inset-bottom))}
.wyglad-paszport .app.p2-noheader .app-header,.wyglad-paszport .app .app-footer{display:none}
.wyglad-paszport #content{max-width:560px;margin:0 auto;padding:0}
.wyglad-paszport .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Dolne menu: pływający ciemny pasek, zawsze widoczny */
.wyglad-paszport .bottom-nav{position:fixed;left:16px;right:16px;transform:none;width:auto;backdrop-filter:none;bottom:calc(14px + env(safe-area-inset-bottom));max-width:528px;margin:0 auto;height:64px;padding:6px;box-sizing:border-box;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;background:var(--forest);border:0;border-radius:20px;box-shadow:0 10px 26px rgba(23,36,29,.35);z-index:40}
.wyglad-paszport .bottom-nav a{min-width:0;padding:0 6px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:7px;border-radius:15px;color:#C9D2C6;text-decoration:none;font:500 14px var(--text);min-height:44px;background:none}
.wyglad-paszport .bottom-nav a.active{background:var(--surface);color:var(--ink);font-weight:600}
.wyglad-paszport .bottom-nav a.active::before,.wyglad-paszport .bottom-nav a.active::after{display:none}
.wyglad-paszport .bottom-nav svg{width:20px;height:20px}

/* Nagłówek (mapa) */
.wyglad-paszport .app-header{background:var(--surface);border-bottom:1px solid var(--line);box-shadow:none}
.wyglad-paszport .wordmark strong{font-family:var(--cond);font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.wyglad-paszport .points-chip{background:var(--forest);color:#fff;font:800 18px var(--cond);border-radius:999px}

/* Wspólne */
.wyglad-paszport .p2-stripe{display:inline-flex;flex-direction:column;width:18px;height:12px;border:1px solid #C9CFC3;border-radius:2px;overflow:hidden;flex-shrink:0;vertical-align:middle}
.wyglad-paszport .p2-stripe i{flex:1;background:#fff}.wyglad-paszport .p2-stripe i:nth-child(2){background:var(--trail)}
.wyglad-paszport .p2-red{color:var(--trail)}
.wyglad-paszport .p2-link{display:inline-flex;align-items:center;gap:5px;border:0;background:none;padding:0 2px;min-height:44px;font:600 14px var(--text);color:var(--ink);cursor:pointer}
.wyglad-paszport .p2-link svg{width:15px;height:15px}
.wyglad-paszport .p2-outline{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 16px;border:1.5px solid var(--ink);border-radius:10px;color:var(--ink);text-decoration:none;font:600 15px var(--text);background:none}
.wyglad-paszport .p2-outline svg{width:18px;height:18px}
.wyglad-paszport .p2-cta-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:58px;border:0;border-radius:14px;background:var(--forest);color:#fff;font:800 22px var(--cond);letter-spacing:.02em;cursor:pointer}
.wyglad-paszport .p2-cta-btn svg{width:24px;height:24px}
.wyglad-paszport .p2-cta-btn:disabled{background:#B9C1B4;color:#3E4B43;cursor:not-allowed}
.wyglad-paszport .p2-cta-sm{min-height:46px;font-size:18px;border-radius:10px}
.wyglad-paszport .p2-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left}
.wyglad-paszport .p2-row-text strong{font:700 21px/1.05 var(--cond)}
.wyglad-paszport .p2-row-text small{font-size:13px;color:var(--muted)}
.wyglad-paszport .p2-row-text em{font-style:normal;font-weight:600;color:var(--stamp)}
.wyglad-paszport .p2-emptybox{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:22px 12px;color:var(--muted)}
.wyglad-paszport .p2-emptybox svg{width:34px;height:34px}

/* Miejsca */
.wyglad-paszport .p2-hero{position:relative;height:min(82vw,330px);background:var(--soft);overflow:hidden}
.wyglad-paszport .p2-hero>img{width:100%;height:100%;object-fit:cover;display:block}
.wyglad-paszport .p2-hero-empty{position:absolute;inset:0;background:var(--soft) url("../img/contours.svg") center/cover}
.wyglad-paszport .p2-topbar{position:absolute;left:16px;right:16px;top:calc(16px + env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:center;gap:10px}
.wyglad-paszport .p2-noimg .p2-topbar{position:static;padding:16px}
.wyglad-paszport .p2-brand{display:inline-flex;align-items:center;gap:8px;background:var(--surface);padding:9px 12px;border-radius:999px;box-shadow:0 2px 8px rgba(23,36,29,.18);font:800 15px var(--cond);letter-spacing:.05em}
.wyglad-paszport .p2-points{display:inline-flex;align-items:baseline;gap:4px;background:var(--forest);color:#fff;padding:8px 14px;border-radius:999px;text-decoration:none;font:800 22px/1 var(--cond);box-shadow:0 2px 8px rgba(23,36,29,.25)}
.wyglad-paszport .p2-points small{font:400 12px var(--text);opacity:.85}
.wyglad-paszport .p2-h1{font:800 44px/0.95 var(--cond);margin:4px 16px 0}
.wyglad-paszport .p2-ticket{display:block;position:relative;margin:-74px 16px 0;background:var(--surface);border-radius:12px;box-shadow:var(--shadow);color:var(--ink);text-decoration:none}
.wyglad-paszport .p2-ticket-main{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 14px}
.wyglad-paszport .p2-ticket h2{font:800 36px/0.95 var(--cond);margin:8px 0 0}
.wyglad-paszport .p2-ticket p{margin:4px 0 0;font-size:14px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wyglad-paszport .p2-badge{display:inline-block;background:var(--trail);color:#fff;font-size:12px;font-weight:600;padding:4px 8px;border-radius:3px}
.wyglad-paszport .p2-plus{font:800 40px/0.9 var(--cond);color:var(--trail);text-align:right;flex-shrink:0}
.wyglad-paszport .p2-plus small{display:block;font:400 12px var(--text);color:var(--muted)}
.wyglad-paszport .p2-perf{position:relative;border-top:2px dashed var(--line);margin:0 14px}
.wyglad-paszport .p2-perf::before,.wyglad-paszport .p2-perf::after{content:"";position:absolute;top:-10px;width:18px;height:18px;border-radius:50%;background:var(--paper)}
.wyglad-paszport .p2-perf::before{left:-23px}.wyglad-paszport .p2-perf::after{right:-23px}
.wyglad-paszport .p2-ticket-foot{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;font-size:14px;color:var(--muted)}
.wyglad-paszport .p2-ticket-foot span:last-child{display:flex;align-items:center;gap:4px;font-weight:600;color:var(--ink)}
.wyglad-paszport .p2-ticket-foot svg{width:15px;height:15px}
.wyglad-paszport .p2-around{padding:18px 16px 0}
.wyglad-paszport .p2-head{display:flex;justify-content:space-between;align-items:center}
.wyglad-paszport .p2-head h2{font:700 22px var(--cond);margin:0}
.wyglad-paszport .p2-head a{display:flex;align-items:center;min-height:44px;font-weight:600;font-size:14px;color:var(--ink);text-decoration:none}
.wyglad-paszport .p2-minimap{display:block;width:100%;height:auto;border-radius:10px;background:#DCE3D4;font-family:var(--cond)}
.wyglad-paszport .p2-minimap a{cursor:pointer}.wyglad-paszport .p2-minimap a:focus-visible circle{stroke:#FFD54A;stroke-width:3}
.wyglad-paszport .p2-puls{animation:p2-puls 1.8s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes p2-puls{0%{transform:scale(1);opacity:.55}100%{transform:scale(3.2);opacity:0}}
.wyglad-paszport .p2-note{margin:4px 0 0;font-size:13px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:8px}
.wyglad-paszport .p2-filters{display:flex;justify-content:space-between;align-items:center;margin:12px 16px 0;border-bottom:1px solid var(--line)}
.wyglad-paszport .p2-filters [role=group]{display:flex;gap:20px}
.wyglad-paszport .p2-filters button[data-filter]{border:0;background:none;padding:10px 0;margin-bottom:-1px;min-height:44px;font:500 15px var(--text);color:var(--muted);cursor:pointer;border-bottom:3px solid transparent}
.wyglad-paszport .p2-filters button.active{color:var(--ink);font-weight:600;border-bottom-color:var(--trail)}
.wyglad-paszport .p2-icon{width:44px;height:44px;border:0;background:none;display:grid;place-items:center;color:var(--ink);cursor:pointer}
.wyglad-paszport .p2-icon svg{width:20px;height:20px}
.wyglad-paszport .p2-search{display:block;margin:10px 16px 0}
.wyglad-paszport .p2-search input{width:100%;box-sizing:border-box;min-height:46px;border:1.5px solid var(--line);border-radius:10px;padding:0 14px;font:500 16px var(--text);background:var(--surface);color:var(--ink)}
/* Lista miejsc: zdjęcie na całą szerokość (jak w pierwszym wyglądzie), nazwa na jasnej, półprzezroczystej apli */
.wyglad-paszport .p2-list{list-style:none;margin:0;padding:4px 16px 0;display:grid;gap:14px}
.wyglad-paszport .p2-pcard{position:relative;display:block;aspect-ratio:16/10;border-radius:var(--radius);overflow:hidden;background:var(--soft);box-shadow:var(--shadow);color:var(--ink);text-decoration:none}
.wyglad-paszport .p2-pcard>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.wyglad-paszport .p2-pcard:active>img{transform:scale(1.02)}
.wyglad-paszport .p2-pcard-empty{position:absolute;inset:0;display:grid;place-items:center;color:#8A9782;background:linear-gradient(160deg,#DDE2D6,#C9D1C1)}
.wyglad-paszport .p2-pcard-empty svg{width:56px;height:56px}
.wyglad-paszport .p2-pcard-noimg{aspect-ratio:16/6}
.wyglad-paszport .p2-pcard-noimg .p2-pcard-empty{place-items:start end;padding:12px 16px}
.wyglad-paszport .p2-pcard-noimg .p2-pcard-empty svg{width:36px;height:36px}
.wyglad-paszport .p2-plate{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:rgba(247,248,243,.84);-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);box-shadow:0 2px 10px rgba(23,36,29,.16)}
.wyglad-paszport .p2-plate .p2-row-text small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wyglad-paszport .p2-pcard .p2-ai-top{top:10px;bottom:auto}
.wyglad-paszport .p2-plate .p2-plus-sm{font:800 34px/0.85 var(--cond);text-align:right;flex-shrink:0}
.wyglad-paszport .p2-plate .p2-plus-sm small{display:block;font:500 11px var(--text);color:var(--muted);letter-spacing:.04em}
.wyglad-paszport .p2-plate .p2-done{width:44px;height:44px;border-width:2.5px;background:rgba(255,255,255,.5)}
.wyglad-paszport .p2-plate .p2-done svg{width:22px;height:22px}
.wyglad-paszport .p2-list .p2-empty{padding:14px 0;color:var(--muted)}
.wyglad-paszport .p2-n{width:22px;text-align:center;font:800 20px var(--cond);color:#6B7A70;flex-shrink:0}
.wyglad-paszport .p2-thumb{width:56px;height:56px;object-fit:cover;border-radius:8px;flex-shrink:0;background:var(--soft)}
.wyglad-paszport .p2-thumb-empty{display:grid;place-items:center;color:#6F7D69}
.wyglad-paszport .p2-thumb-empty svg{width:26px;height:26px}
.wyglad-paszport .p2-plus-sm{font:800 24px var(--cond);color:var(--trail)}
.wyglad-paszport .p2-done{width:32px;height:32px;border:2px solid var(--stamp);border-radius:50%;display:grid;place-items:center;color:var(--stamp);transform:rotate(-12deg);flex-shrink:0}
.wyglad-paszport .p2-done svg{width:16px;height:16px;stroke-width:3}
.wyglad-paszport .p2-empty{padding:16px 0;color:var(--muted);font-size:14px}

/* Szczegół */
.wyglad-paszport .p2-hero-tall{height:min(108vw,420px)}
.wyglad-paszport .p2-back{position:absolute;left:16px;top:calc(16px + env(safe-area-inset-top));width:44px;height:44px;border-radius:50%;background:var(--surface);display:grid;place-items:center;color:var(--ink);box-shadow:0 2px 8px rgba(23,36,29,.2)}
.wyglad-paszport .p2-back svg{width:20px;height:20px}
.wyglad-paszport .p2-pill{position:absolute;right:16px;top:calc(22px + env(safe-area-inset-top));background:var(--forest);color:#fff;font-size:12px;font-weight:600;padding:6px 10px;border-radius:999px}
.wyglad-paszport .p2-card{position:relative;margin:-96px 16px 0;background:var(--surface);border-radius:14px;box-shadow:0 10px 26px rgba(23,36,29,.16);padding:18px 18px 16px}
.wyglad-paszport .p2-card .p2-stripe{width:34px;height:9px;flex-direction:row}
.wyglad-paszport .p2-card .p2-stripe i:nth-child(2){flex:1.2}
.wyglad-paszport .p2-card h1{font:800 46px/0.92 var(--cond);margin:10px 0 0}
.wyglad-paszport .p2-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0 0;border-top:1px solid var(--line)}
.wyglad-paszport .p2-stats div{padding:12px 0 0}
.wyglad-paszport .p2-stats div+div{padding-left:14px;border-left:1px solid var(--line)}
.wyglad-paszport .p2-stats dt{font-size:12px;color:var(--muted)}
.wyglad-paszport .p2-stats dd{margin:2px 0 0;font:800 26px var(--cond)}
.wyglad-paszport .p2-body{padding:18px 20px 0}
.wyglad-paszport .p2-body p{margin:0 0 12px;font-size:17px;line-height:1.5}
.wyglad-paszport .p2-body .p2-lead{font-weight:600}
.wyglad-paszport .p2-small{font-size:13px!important;color:var(--muted)}
.wyglad-paszport .p2-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:6px}
.wyglad-paszport .p2-cta{position:sticky;bottom:calc(92px + env(safe-area-inset-bottom));margin:20px 16px 0;padding:12px;background:var(--surface);border-radius:18px;box-shadow:0 8px 24px rgba(23,36,29,.16);z-index:20}
.wyglad-paszport .p2-cta p{margin:8px 0 0;text-align:center;font-size:13px;color:var(--muted)}

/* Postęp i nagrody */
.wyglad-paszport .p2-defs{position:absolute}
.wyglad-paszport .p2-band{position:relative;background:var(--forest) url("../img/contours.svg") center/cover;color:#fff;padding:calc(26px + env(safe-area-inset-top)) 20px 74px;overflow:hidden}
.wyglad-paszport .p2-band::before{content:"";position:absolute;inset:0;background:rgba(23,36,29,.86)}
.wyglad-paszport .p2-band>*{position:relative}
.wyglad-paszport .p2-band h1{font:800 40px/0.95 var(--cond);margin:0;color:#fff}
.wyglad-paszport .p2-big{display:flex;align-items:flex-end;gap:28px;margin-top:14px}
.wyglad-paszport .p2-big strong{display:block;font:800 92px/0.85 var(--cond)}
.wyglad-paszport .p2-big strong small{font-size:30px;color:#F2716C;margin-left:4px}
.wyglad-paszport .p2-big .p2-mid{font-size:44px;line-height:.9}
.wyglad-paszport .p2-big span{display:block;font-size:14px;color:#C9D2C6;margin-top:8px}
.wyglad-paszport .p2-band-sm{padding-bottom:28px}
.wyglad-paszport .p2-band-sm p{margin:8px 0 0;color:#C9D2C6;font-size:14px}
.wyglad-paszport .p2-band-sm p strong{color:#fff}
.wyglad-paszport .p2-goal{position:relative;display:block;margin:-52px 16px 0;background:var(--surface);border-radius:14px;padding:14px 16px;box-shadow:0 10px 24px rgba(23,36,29,.18);color:var(--ink);text-decoration:none}
.wyglad-paszport .p2-goal-row{display:flex;align-items:center;gap:12px;font-size:15px}
.wyglad-paszport .p2-goal-row>svg:first-child{width:26px;height:26px;color:var(--trail);flex-shrink:0}
.wyglad-paszport .p2-goal-row>span{flex:1}
.wyglad-paszport .p2-goal-row>svg:last-child{width:18px;height:18px}
.wyglad-paszport .p2-pips{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;margin-top:12px}
.wyglad-paszport .p2-pips i{height:6px;border-radius:3px;background:#D5DACE}
.wyglad-paszport .p2-pips i.on{background:var(--trail)}
.wyglad-paszport .p2-sec{padding:20px 16px 0}
.wyglad-paszport .p2-sec h2{font:800 24px var(--cond);margin:0 0 8px}
.wyglad-paszport .p2-stamps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;justify-items:center}
.wyglad-paszport .p2-stamp{display:block;width:100%;max-width:112px;transition:transform .2s}
.wyglad-paszport .p2-rot-0{transform:rotate(-8deg)}.wyglad-paszport .p2-rot-1{transform:rotate(6deg)}.wyglad-paszport .p2-rot-2{transform:rotate(-3deg)}.wyglad-paszport .p2-rot-3{transform:rotate(9deg)}.wyglad-paszport .p2-rot-4{transform:rotate(-11deg)}.wyglad-paszport .p2-rot-5{transform:rotate(4deg)}
.wyglad-paszport .p2-stamp:hover{transform:rotate(0deg) scale(1.05)}
.wyglad-paszport .p2-stamp svg{display:block;width:100%;height:auto;font-family:var(--cond)}
.wyglad-paszport .p2-reward-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);cursor:pointer}
.wyglad-paszport .p2-reward-row>svg{width:18px;height:18px}
.wyglad-paszport .p2-reward-ico{width:40px;height:40px;border-radius:10px;background:var(--forest);color:#fff;display:grid;place-items:center;flex-shrink:0}
.wyglad-paszport .p2-reward-ico svg{width:20px;height:20px}
.wyglad-paszport .p2-progress .account-card{margin:20px 16px 0;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:none}
.wyglad-paszport .p2-reward-list{padding:16px;display:flex;flex-direction:column;gap:14px}
.wyglad-paszport .p2-reward{display:flex;gap:14px;background:var(--surface);border-radius:14px;padding:12px;box-shadow:0 4px 14px rgba(23,36,29,.08)}
.wyglad-paszport .p2-reward>img,.wyglad-paszport .p2-reward-noimg{width:96px;height:96px;object-fit:cover;border-radius:10px;flex-shrink:0;background:var(--soft)}
.wyglad-paszport .p2-reward-noimg{display:grid;place-items:center;color:var(--trail)}.wyglad-paszport .p2-reward-noimg svg{width:34px;height:34px}
.wyglad-paszport .p2-reward-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.wyglad-paszport .p2-reward-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.wyglad-paszport .p2-reward-top h2{font:800 22px/1 var(--cond);margin:0}
.wyglad-paszport .p2-reward-top strong{font:800 26px var(--cond);white-space:nowrap}
.wyglad-paszport .p2-reward-top small{font:400 12px var(--text);margin-left:2px}
.wyglad-paszport .p2-reward-body p{margin:0;font-size:14px;color:var(--muted)}

/* Okna, komunikaty, ekrany wejścia */
.wyglad-paszport dialog#modal{border-radius:18px;background:var(--surface);color:var(--ink);border:0;box-shadow:0 20px 60px rgba(23,36,29,.35)}
.wyglad-paszport .button{background:var(--forest);color:#fff;border-radius:12px;font-family:var(--cond);font-weight:800;font-size:19px;letter-spacing:.02em}
.wyglad-paszport .button.secondary{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.wyglad-paszport .text-button{color:var(--ink)}
.wyglad-paszport .toast{background:var(--forest);color:#fff;border-radius:12px;bottom:calc(96px + env(safe-area-inset-bottom))}
.wyglad-paszport .splash{background:var(--forest)}

/* Sukces meldunku: pieczątka przybijana */
.wyglad-paszport dialog#modal.p2-success-modal{width:100%;max-width:100%;height:100%;max-height:100%;margin:0;border-radius:0;background:var(--paper) url("../img/contours.svg") center/cover}
.wyglad-paszport dialog#modal.p2-success-modal .dialog-top .eyebrow{visibility:hidden}
.wyglad-paszport .p2-success{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:420px;margin:0 auto;padding:6px 8px 20px}
.wyglad-paszport .p2-press{position:relative;width:min(64vw,250px);aspect-ratio:1;margin-top:10px}
.wyglad-paszport .p2-bigstamp{position:absolute;inset:0;width:100%;height:100%;font-family:var(--cond);animation:p2-press .7s cubic-bezier(.2,.7,.3,1) both}
.wyglad-paszport .p2-ring{position:absolute;inset:4%;border-radius:50%;border:3px solid var(--trail);animation:p2-ring .9s ease-out both}
.wyglad-paszport .p2-ink-1 .p2-ring{border-color:#1F4FA0}.wyglad-paszport .p2-ink-2 .p2-ring{border-color:#2F7D3A}.wyglad-paszport .p2-ink-3 .p2-ring{border-color:#9A6B00}
.wyglad-paszport .p2-ink-1 .p2-s-points{color:#1F4FA0!important}.wyglad-paszport .p2-ink-2 .p2-s-points{color:#2F7D3A!important}.wyglad-paszport .p2-ink-3 .p2-s-points{color:#9A6B00!important}
.wyglad-paszport .p2-s-kicker{margin:18px 0 0;font-size:15px;color:var(--muted);animation:p2-up .5s .55s ease-out both}
.wyglad-paszport .p2-success h2{font:800 46px/0.95 var(--cond);margin:2px 0 0;animation:p2-up .5s .55s ease-out both}
.wyglad-paszport .p2-s-points{margin-top:12px;font:800 64px/1 var(--cond);color:var(--trail);animation:p2-pop .45s .75s ease-out both}
.wyglad-paszport .p2-success .p2-s-points{color:var(--trail)}
.wyglad-paszport .p2-s-points small{font-size:24px;margin-left:4px}
.wyglad-paszport .p2-s-goal{margin:22px 0 0;width:100%;box-sizing:border-box;animation:p2-up .5s .7s ease-out both}
.wyglad-paszport .p2-s-actions{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;margin-top:18px}
@keyframes p2-press{0%{transform:scale(2.3) rotate(-28deg);opacity:0}55%{transform:scale(.9) rotate(-6deg);opacity:1}72%{transform:scale(1.04) rotate(-9deg)}100%{transform:scale(1) rotate(-8deg);opacity:1}}
@keyframes p2-ring{0%{transform:scale(.6);opacity:0}50%{transform:scale(.6);opacity:.5}100%{transform:scale(1.5);opacity:0}}
@keyframes p2-up{0%{transform:translateY(14px);opacity:0}100%{transform:none;opacity:1}}
@keyframes p2-pop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.15);opacity:1}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.wyglad-paszport .p2-puls,.wyglad-paszport .p2-bigstamp,.wyglad-paszport .p2-ring,.wyglad-paszport .p2-s-kicker,.wyglad-paszport .p2-success h2,.wyglad-paszport .p2-s-points,.wyglad-paszport .p2-s-goal{animation:none}.wyglad-paszport .p2-ring{opacity:0}.wyglad-paszport .p2-stamp{transition:none}}
@media (min-width:760px){.wyglad-paszport .p2-hero{border-radius:0 0 18px 18px}}
/* Zdjęcia od krawędzi do krawędzi (bez bocznego marginesu .app z app.css) i długie nazwy bez wychodzenia poza kartę */
.wyglad-paszport{min-height:100vh}
.wyglad-paszport .app{padding:0 0 calc(104px + env(safe-area-inset-bottom));max-width:560px;margin:0 auto}
.wyglad-paszport .p2-card h1{font-size:clamp(30px,10.5vw,46px);overflow-wrap:anywhere}
.wyglad-paszport .p2-ticket h2{font-size:clamp(26px,9vw,36px);overflow-wrap:anywhere}
.wyglad-paszport .p2-stats dd{font-size:clamp(19px,6.2vw,26px);white-space:nowrap}
.wyglad-paszport .p2-success h2{font-size:clamp(32px,11vw,46px);overflow-wrap:anywhere}
.wyglad-paszport .p2-row-text strong{overflow-wrap:anywhere}
.wyglad-paszport #content:focus{outline:none}

/* Ekran startowy: przybijana pieczątka na ciemnym tle z warstwicami, pasek szlaku jako wskaźnik ładowania */
.wyglad-paszport .splash{background:var(--forest) url("../img/contours.svg") center/cover;color:#F7F8F3}
.wyglad-paszport .splash::before{content:"";position:absolute;inset:0;background:rgba(23,36,29,.88)}
.wyglad-paszport .splash-inner{display:none}
.wyglad-paszport .p2-splash{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;padding:24px;text-align:center}
.wyglad-paszport .p2-splash-stamp{width:min(62vw,240px);height:auto;font-family:var(--cond);animation:p2-press .8s .15s cubic-bezier(.2,.7,.3,1) both}
.wyglad-paszport .p2-splash-claim{margin:0;font:700 26px/1.1 var(--cond);letter-spacing:.01em;color:#F7F8F3;animation:p2-up .5s .75s ease-out both}
.wyglad-paszport .p2-splash-trail{display:flex;width:54px;height:10px;border-radius:2px;overflow:hidden;opacity:.95;animation:p2-up .5s .9s ease-out both}
.wyglad-paszport .p2-splash-trail i{flex:1;background:#F7F8F3}.wyglad-paszport .p2-splash-trail i:nth-child(2){background:#E2453E;animation:p2-trail 1.2s 1.2s ease-in-out infinite}
@keyframes p2-trail{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.wyglad-paszport .p2-splash-stamp,.wyglad-paszport .p2-splash-claim,.wyglad-paszport .p2-splash-trail,.wyglad-paszport .p2-splash-trail i{animation:none}}

/* Mniej czerni (uwaga właściciela 13.10.2026): leśna zieleń marki zamiast prawie czarnego, jasne dolne menu; ciemny atrament tylko w tekście */
.wyglad-paszport{--forest:#24483C;--forest-deep:#1D3B31}
.wyglad-paszport .splash::before{background:rgba(36,72,60,.9)}
.wyglad-paszport .p2-band::before{background:rgba(36,72,60,.9)}
.wyglad-paszport .bottom-nav{background:rgba(247,248,243,.97);border:1px solid var(--line);box-shadow:0 8px 24px rgba(36,72,60,.18)}
.wyglad-paszport .bottom-nav a{color:var(--muted)}
.wyglad-paszport .bottom-nav a.active{background:var(--forest);color:#fff}
.wyglad-paszport .p2-big strong small{color:#FF8A84}
.wyglad-paszport .p2-big span,.wyglad-paszport .p2-band-sm p{color:#D6E2D9}
.wyglad-paszport .p2-cta-btn:hover{background:var(--forest-deep)}
.wyglad-paszport .p2-ai{position:absolute;right:12px;bottom:84px;background:rgba(247,248,243,.94);color:var(--ink);font-size:12px;font-weight:600;padding:4px 9px;border-radius:999px;box-shadow:0 1px 4px rgba(36,72,60,.2)}
.wyglad-paszport .p2-hero-tall .p2-ai{bottom:108px}
/* Nagrody: dostępne na górze, brakujące punkty - wygaszone, odebrane na dole */
.wyglad-paszport .p2-rewards .p2-sec .p2-reward-list{padding:0}
.wyglad-paszport .p2-reward-off{opacity:.6}
.wyglad-paszport .p2-reward-off>img{filter:grayscale(.85)}
.wyglad-paszport .p2-reward-off .p2-red{color:var(--muted)}
.wyglad-paszport .p2-reward-row .p2-row-text strong{white-space:normal}

/* Ekrany wejścia (regulamin, wybór konta) jak reszta paszportu: zielony pas z poziomicami u góry, treść na karcie
   nachodzącej na pas (jak bilet na liście miejsc), przyciski i kroje z gry; maskotka tylko w dotychczasowym wyglądzie. */
.wyglad-paszport .onboarding{padding:0;align-items:stretch;background:var(--paper)}
.wyglad-paszport .onboarding-card{max-width:560px;min-height:100dvh;padding:0 0 calc(24px + env(safe-area-inset-bottom));border:0;border-radius:0;background:var(--paper);box-shadow:none;display:flex;flex-direction:column;overflow:visible}
.wyglad-paszport .onboarding-card::before{content:"";position:absolute;inset:0 0 auto;height:var(--p2-pas,300px);background:var(--forest) url("../img/contours.svg") center/cover}
.wyglad-paszport .onboarding-mascot{display:none}
.wyglad-paszport .onboarding-card>*{position:relative;margin-left:16px;margin-right:16px}
.wyglad-paszport .onboarding .eyebrow{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;margin-top:calc(22px + env(safe-area-inset-top));margin-left:20px;padding:8px 12px;border-radius:999px;background:var(--surface);color:var(--ink);font:800 13px var(--cond);letter-spacing:.08em;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.wyglad-paszport .onboarding .eyebrow::before{content:"";width:18px;height:12px;border:1px solid #C9CFC3;border-radius:2px;background:linear-gradient(#fff 50%,var(--trail) 50%);flex-shrink:0}
.wyglad-paszport .onboarding h1{max-width:none;margin:22px 20px 10px;color:#fff;font:800 46px/0.92 var(--cond)}
.wyglad-paszport .onboarding .lead{margin:0 20px 26px;color:rgba(255,255,255,.88);font:500 16px/1.45 var(--text)}
.wyglad-paszport .onboarding .rules-scroll{flex:1 1 auto;display:flex;min-height:280px;margin-top:0;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}
.wyglad-paszport .onboarding .rules-frame{flex:1;height:auto;background:var(--surface);border-radius:var(--radius)}
.wyglad-paszport .onboarding .subtle{margin-top:14px;color:var(--muted);font-size:12.5px;line-height:1.5}
.wyglad-paszport .onboarding .subtle a{color:var(--ink)}
.wyglad-paszport .onboarding .terms-actions{margin-top:auto;padding-top:18px}
.wyglad-paszport .onboarding .terms-actions .button,.wyglad-paszport #account-gate .button{min-height:56px}
/* Wybór konta: cały ekran zielony jak ekran startowy, treść i przyciski na dole (w zasięgu kciuka). */
.wyglad-paszport #account-gate{background:var(--forest)}
.wyglad-paszport #account-gate .onboarding-card{background:linear-gradient(rgba(36,72,60,.55),rgba(36,72,60,.8) 60%),url("../img/contours.svg") center/cover,var(--forest)}
.wyglad-paszport #account-gate .onboarding-card::before{display:none}
.wyglad-paszport #account-gate h1{margin-top:auto;font-size:52px}
.wyglad-paszport #account-gate .lead{margin-bottom:26px}
.wyglad-paszport #account-gate .button.full{width:auto;min-height:58px;margin-top:0;background:var(--surface);color:var(--ink);font-size:21px;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.wyglad-paszport #account-gate .text-button{min-height:50px;margin-top:6px;color:#fff;font:700 18px var(--cond);letter-spacing:.02em;text-decoration:underline;text-underline-offset:4px}
.wyglad-paszport #account-gate .subtle{margin-top:4px;text-align:center;color:rgba(255,255,255,.75)}
.wyglad-paszport #account-gate .text-button:last-child{min-height:40px;margin-top:2px;font:500 14px var(--text);color:rgba(255,255,255,.8)}

/* Mapa w paszporcie: pasek z powrotem i nazwą, mapa do dolnego menu, legenda z kolorami pinezek. */
.wyglad-paszport .p2-mapview{padding:calc(12px + env(safe-area-inset-top)) 16px 0}
.wyglad-paszport .p2-maphead{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.wyglad-paszport .p2-back-static{position:static;flex-shrink:0}
.wyglad-paszport .p2-maphead h1{margin:0;font:800 28px/1 var(--cond)}
.wyglad-paszport .p2-maphead p{margin:3px 0 0;font-size:13px;color:var(--muted)}
.wyglad-paszport .p2-bigmap{height:calc(100dvh - 250px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:320px;border-radius:var(--radius);box-shadow:var(--shadow)}
.wyglad-paszport .p2-mapnote{margin-top:6px}
.wyglad-paszport .p2-legend{margin:2px 0 0;gap:14px;font-size:12.5px;color:var(--muted)}
.wyglad-paszport .p2-mapnote .p2-link{white-space:nowrap;flex-shrink:0}
