/* Jasny paszport - zgodny z makietą właściciela. */
:root{--paper:#faf8f2;--forest:#214b3d;--ink:#183c31;--muted:#708075;--amber:#dda63f;--soft:#e8eddf;--line:#e5e5db;--shadow:0 2px 9px #203a3108}
body{background:var(--paper)}h1,h2,h3{font-family:'Segoe UI',system-ui,sans-serif;font-weight:750}h1{letter-spacing:-1.4px;line-height:1.06}button,a{touch-action:manipulation}
.app{max-width:1000px;padding:0 28px 110px}.app-header{border:0;padding:22px 0;margin-bottom:12px}.wordmark{gap:8px;min-height:44px}.wordmark img{width:39px;height:39px}.wordmark strong{font-size:17px;letter-spacing:-.5px}.wordmark small{font-size:10px}.points-chip{border-radius:12px;background:#e5b24d;color:#fff;padding:8px 12px;font-size:13px;font-weight:650;min-height:44px}.header-actions .icon-button{width:44px;height:44px;min-height:44px;background:transparent;border:0;color:#6d7c70}
.eyebrow{font-weight:600;letter-spacing:1.1px;font-size:10px}.intro{padding:10px 0 0;background:none;border-radius:0;min-height:0;box-shadow:none;margin-bottom:18px;gap:36px;overflow:visible}.intro::after{background:url('../img/forest-accent.svg') center/contain no-repeat;right:0;top:5px;width:170px;height:190px;opacity:.13;z-index:-1}.intro h1{font-size:48px;max-width:420px;line-height:1.04;margin-bottom:12px;letter-spacing:-1.7px}.hero-accent{color:inherit}.intro .eyebrow{display:none}.intro .lead{font-size:15px;color:#3b5146;line-height:1.45;margin-bottom:15px}.intro-aside .small-note{display:none}.reward-hint{border:0;background:#e0e6d4;border-radius:14px;padding:13px 16px;min-height:65px;box-shadow:none;gap:12px;font-size:12px}.reward-hint strong{font-size:19px}.hint-icon{background:none}.hint-icon svg{width:30px;height:30px}
.button{border-radius:11px;min-height:48px;font-size:14px;padding:12px 20px;box-shadow:none}.button.secondary{background:#ffffff70;border:1px solid var(--line)}.button:disabled{background:#e1e0db;color:#8a8e87}.text-button{font-size:12px;font-weight:600}.section-heading{margin:20px 0 10px}.section-heading h2{font-size:21px;letter-spacing:-.4px;margin:0}.location-tools{display:flex;gap:8px;align-items:center;margin:8px 0 3px}.location-tools .button{background:none;border:0;border-radius:0;padding:8px 0;min-height:44px;font-size:12px;font-weight:600;color:#58715f}.location-tools .button+*{margin-left:16px}.location-tools svg{width:16px;height:16px}.location-note{font-size:10px;line-height:1.4;color:#839083;margin:0 0 10px}.list-tools{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:12px}.filter-group{display:flex;gap:3px;flex:1;margin:0}.filter{background:transparent;color:#748273;font-size:11px;font-weight:500;padding:8px 12px;border-radius:10px;min-height:44px}.filter.active{background:#e8eddf;color:#214b3d;font-weight:650}.search-toggle{background:transparent}.search{width:100%}.search input{width:100%;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:13px}
.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:0}.place-card,.place-card.featured{position:relative;grid-column:auto;border-radius:13px;min-height:208px;box-shadow:none;border:0;overflow:hidden;background:#e9eee3;isolation:isolate}.place-photo,.featured .place-photo{position:absolute;inset:0;height:100%;aspect-ratio:auto}.place-photo img{width:100%;height:100%;object-fit:cover;filter:none;transform:none}.place-photo::after{inset:40% 0 0;background:linear-gradient(transparent,#15271aab)}.place-caption{position:absolute;inset:auto 0 0;padding:14px 16px;gap:10px;color:#fff;align-items:end}.place-caption h3,.featured .place-caption h3{font-size:22px;letter-spacing:-.5px;line-height:1.1;color:#fff;margin-bottom:4px;font-weight:700;text-shadow:none}.place-caption p{font-size:11px;color:#fffdf1;max-width:100%;line-height:1.35;margin:0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.place-caption .card-arrow{border:0;background:none;width:22px;height:30px;min-width:22px;color:#fff}.place-caption .card-arrow svg{width:17px;height:17px}.place-photo .points-label{top:12px;right:12px;padding:6px 10px;border-radius:10px;font-size:12px;background:#e1ad48;color:#fff;font-weight:650}.place-status{top:12px;left:12px;border-radius:9px;padding:5px 8px;font-size:10px;background:#faf9efee;border:0}.illustration-label{top:12px;left:12px;font-size:9px;padding:4px 7px;background:#faf9efdf;border-radius:8px}.place-status+.illustration-label{top:44px}.place-distance{color:#fffdf1;font-size:11px;font-weight:650;gap:4px;margin-top:7px}.place-distance small{font-size:9px;color:#ecefe6;font-weight:400}.place-distance svg{width:13px;height:13px}
.host-note{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:18px 0;margin:24px 0}.host-note strong{font-size:13px}.host-note p{font-size:11px}.host-note>svg{width:29px;height:29px}.app-footer{font-size:10px;color:#99a292;padding-bottom:12px}.bottom-nav{background:#faf9f4f5;border:1px solid #e7e6dc;border-radius:20px 20px 0 0;box-shadow:0 -2px 9px #203a3107;bottom:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:10px}.bottom-nav a{border-radius:0;background:none;min-height:52px;font-size:11px;font-weight:400;padding:5px 20px;color:#7d827a}.bottom-nav a.active{background:none;color:var(--forest);font-weight:700}.bottom-nav svg{width:23px;height:23px}
.detail-image{height:360px;border-radius:16px;box-shadow:none;mask-image:linear-gradient(#000 89%,transparent)}.detail-title h1{font-size:35px;letter-spacing:-1.1px}.detail-title .points-label{border-radius:10px;background:#e1ad48;color:white;padding:7px 11px;font-size:13px}.detail-copy .lead{font-size:14px}.detail-status{display:flex;justify-content:center;border:1px solid #8c978b;background:none;border-radius:12px;padding:15px;font-size:13px;margin-top:17px}.detail-status svg{width:25px;height:25px}.description{font-size:14px;line-height:1.65;color:#627164;margin:18px 0}.tip{border-radius:13px;background:#eeeee5;padding:14px;font-size:12px}.tip strong{font-size:13px}.tip p{font-size:12px}.place-location{background:none;padding:0;margin:10px 0}.place-location .place-distance{color:var(--forest);font-size:15px}.place-location .place-distance small{color:var(--muted)}.photo-credit{font-size:10px;padding:0;margin-top:3px}.detail-copy>.button{font-size:16px}.gps-note{font-size:10px;color:#929b8f}
.balance-card{display:flex;justify-content:center;text-align:center;min-height:125px;background:#214b3d;border-radius:18px;padding:20px;box-shadow:none;color:#fffdf0;gap:12px}.balance-card>div{display:flex;flex-direction:column;align-items:center;z-index:1}.balance-number{font-size:52px;line-height:1;letter-spacing:-2px;font-weight:750}.balance-card>div>span:last-child{font-size:14px;margin-top:6px}.balance-card>svg{display:none}.balance-card::after{right:5px;top:0;width:145px;height:125px;opacity:.13}.balance-card a{display:none}.count-chip{background:#e8ecdf;display:flex;width:max-content;margin:12px auto 24px;border-radius:20px;padding:7px 14px;font-size:11px}.passport .section-heading{margin:0 0 12px}.stamp-grid{gap:18px;padding:7px}.stamp{isolation:isolate;border:1px dashed #dcd4bf;outline:4px dotted #fffdf5;outline-offset:0;border-radius:2px;background:#fffdf5;box-shadow:0 2px 7px #5a563610;min-height:142px;padding:12px 9px;gap:5px;transform:none}.stamp:nth-child(even){transform:none}.stamp-visual{height:82px;width:100%;display:grid;place-items:center;overflow:hidden;margin-bottom:3px;background:none}.stamp-visual img{height:100%;width:100%;object-fit:cover;filter:grayscale(1) sepia(.65) hue-rotate(65deg) saturate(.55);mix-blend-mode:multiply;opacity:.8}.stamp-visual svg{width:58px;height:58px;stroke-width:1.2}.stamp strong{font-size:13px;font-weight:650;line-height:1.15}.stamp small{font-size:9px;color:#929482}.history-columns{margin-top:28px;gap:25px}.history-columns h2{font-size:19px}.history-row{background:#fffdf7;border:1px solid #eeece4;border-radius:10px;padding:11px;margin-bottom:6px;gap:10px}.history-row strong{font-size:12px}.history-row small{font-size:10px}.history-icon{background:#ebeee3;width:33px;height:33px;border-radius:8px}.earned{color:#c58e2d;font-size:12px}.account-card{background:#eef0e7;border:0;border-radius:13px;padding:16px;margin-top:22px}.account-card strong{font-size:13px}.account-card small{font-size:11px}
.rewards-title{display:block}.rewards-title::after{display:none}.rewards-title h1{font-size:40px;letter-spacing:-1.2px;line-height:1.05;margin-bottom:12px}.rewards-title .points-chip{display:inline-flex;min-height:0;padding:7px 12px;color:#264836}.reward-grid{gap:17px}.reward-card{border:1px solid #eeece4;border-radius:14px;box-shadow:0 2px 6px #203a3107}.reward-art{height:125px;background:#e7eddf!important;gap:6px}.reward-art>span{background:none;width:64px;height:64px;border-radius:0}.reward-art svg{width:54px;height:54px;stroke-width:1.1}.reward-art small{font-size:9px;letter-spacing:.5px;color:#6f826d;font-weight:500}.reward-art.discount{background:#eee8d7!important}.reward-art.pizza{background:#f0e5d5!important}.reward-body{background:#fffdf8;padding:16px;min-height:185px}.reward-card-title h2{font-size:19px;letter-spacing:-.4px;margin-bottom:8px}.reward-card-title>strong{font-size:14px;color:#c58e2d}.reward-body p{font-size:12px;line-height:1.45;color:#7a8277;margin:8px 0 14px}.reward-body .button{min-height:44px;padding:10px;font-size:13px}
.onboarding-card{border-radius:20px;background:#fffdf780;box-shadow:none}.onboarding h1{font-size:38px;letter-spacing:-1.3px}.onboarding-mascot{width:62px;height:82px}.splash{background:var(--paper);color:var(--ink)}.splash h1{font-size:58px}.preview-note{font-size:11px;background:#eeece2;border-color:#e2dfd0;border-radius:12px}dialog{background:var(--paper);border-radius:20px;box-shadow:0 9px 45px #243a311a}dialog::backdrop{background:#243d314d;backdrop-filter:blur(2px)}.success-points{font-size:65px}.toast{font-size:12px;border-radius:12px;box-shadow:none}
@media(max-width:760px){.app{max-width:530px;padding:0 16px 105px}.app-header{padding:16px 0 12px;margin-bottom:9px}.wordmark strong{font-size:16px}.wordmark img{width:36px;height:36px}.header-actions{gap:3px}.header-actions .icon-button{font-size:16px;width:36px;min-height:44px}.intro{display:block;padding:3px 0 0;margin:0 0 13px}.intro h1{font-size:37px;letter-spacing:-1.3px;max-width:290px;margin-bottom:8px}.intro .lead{font-size:13px;max-width:270px;margin-bottom:13px}.intro::after{right:-8px;top:20px;width:135px;height:145px;opacity:.16}.reward-hint{min-height:57px;padding:10px 13px;font-size:11px}.reward-hint strong{font-size:17px}.intro-aside{margin:0}.location-tools{margin:2px 0 0}.location-tools .button{font-size:11px;min-height:44px}.location-note{font-size:10px;margin-bottom:8px}.section-heading{margin:13px 0 8px}.section-heading h2{font-size:19px}.list-tools{gap:3px;margin-bottom:10px}.filter{padding:7px 9px;font-size:10px}.place-grid{grid-template-columns:1fr;gap:12px}.place-card,.place-card.featured{min-height:174px;border-radius:12px}.place-caption{padding:13px 14px}.place-caption h3,.featured .place-caption h3{font-size:22px;margin-bottom:4px}.place-photo .points-label{top:11px;right:11px;padding:6px 9px}.bottom-nav{width:100%;max-width:530px;gap:3px}.bottom-nav a{flex:1;min-width:0;min-height:51px;padding:5px 9px}.detail-visual{margin-inline:-16px}.detail-image{height:285px;border-radius:0;width:100%}.photo-credit{padding:0 16px}.detail-copy{margin-top:16px}.detail-title h1{font-size:30px}.detail-copy .lead{font-size:13px}.detail-title .points-label{margin-top:3px;font-size:12px;white-space:nowrap}.description{font-size:13px}.detail-view .back-link{margin-bottom:11px}.progress-layout,.history-columns{display:block}.progress-layout{margin-top:18px}.passport{margin-top:24px}.balance-number{font-size:49px}.balance-card{min-height:119px;padding:18px}.history-columns>section{margin-top:24px}.rewards-title h1{font-size:34px}.reward-grid{grid-template-columns:1fr}.reward-art{height:125px}.reward-body{min-height:174px}.reward-card-title h2{font-size:19px}.reward-card-title>strong{font-size:14px}.lead{font-size:13px}.onboarding-card{padding:23px}.onboarding h1{font-size:35px}.onboarding .lead{font-size:13px}.app-footer{font-size:9px}.toast{bottom:91px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Odtworzenie czterech ekranów referencji, bez dodatkowych bloków narracji. */
body{background-color:#faf7f0;background-image:radial-gradient(#806d4609 .5px,transparent .6px);background-size:5px 5px}
.wordmark img{width:48px;height:36px}.wordmark strong{font-weight:750}.header-actions .points-chip{min-height:34px;padding:7px 12px}.intro::after{background-image:url('../img/forest-engraving.webp');width:150px;height:185px;right:-19px;top:25px;opacity:.28;mix-blend-mode:multiply}.intro .lead{font-size:15px}.intro h1{font-size:44px;font-weight:800;line-height:1.04;letter-spacing:-1.6px}.places-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 0}.places-heading h2{font-size:20px;letter-spacing:-.5px;margin:0}.places-heading-actions{display:flex;gap:0}.places-heading-actions .icon-button{width:40px;height:44px;min-height:44px;border:0;background:none;color:#5f7464}.places-heading-actions svg{width:17px;height:17px}.list-options{margin:2px 0 10px;font-size:11px;color:#7d8575}.list-options summary{cursor:pointer;min-height:26px;display:flex;align-items:center;gap:6px;width:max-content}.list-options summary::after{content:'⌄';font-size:13px}.list-options[open] summary::after{content:'⌃'}.list-options .list-tools{margin:5px 0 9px}.places-view>.location-note{margin:0 0 2px;font-size:10px;max-width:100%;line-height:1.3}.place-card,.place-card.featured{min-height:180px}.place-caption h3,.featured .place-caption h3{font-size:23px}.place-photo .points-label{top:auto;bottom:15px;right:37px;z-index:4}.place-caption{padding-right:101px}.place-caption .card-arrow{position:absolute;right:12px;bottom:17px}.place-caption p{max-width:100%}.place-distance{font-size:10px}.place-distance small{font-size:9px}.places-view>.host-note{display:none}
.progress-view h1{font-size:35px;font-weight:800;letter-spacing:-1.1px;margin:0 0 17px}.progress-view .balance-card{min-height:122px}.progress-view .balance-card::after{background-image:url('../img/forest-engraving.webp');width:122px;height:132px;right:0;opacity:.18;filter:brightness(4)}.progress-view .count-chip{margin:12px auto 25px}.completed-section h2,.recent-section h2,.claims-section h2{font-size:19px;font-weight:700;letter-spacing:-.3px;margin:0 0 13px}.stamp-grid{gap:20px;padding:5px;margin-bottom:25px}.stamp{border:0;outline:0;border-radius:0;box-shadow:none;filter:drop-shadow(0 2px 3px #73664522);padding:13px 11px 10px;min-height:166px;gap:6px;background:#fffaf0;mask-image:radial-gradient(circle at 6px 6px,transparent 3px,#000 3.7px),linear-gradient(#000,#000);mask-size:12px 12px,calc(100% - 12px) calc(100% - 12px);mask-position:-6px -6px,center;mask-repeat:repeat,no-repeat}.stamp-visual{width:100%;height:110px;margin:0;background:#f5efe3;border:6px solid #fffdf6;border-radius:2px}.stamp-visual img{object-fit:contain;width:100%;height:100%;filter:none;mix-blend-mode:multiply;opacity:1}.stamp strong{font-size:14px;font-weight:700}.recent-section{margin-top:5px}.history-thumb{display:flex;width:48px;height:48px;min-width:48px;overflow:hidden;border-radius:6px}.history-thumb img{width:100%;height:100%;object-fit:cover}.recent-section .history-row{padding:4px 7px 4px 0;gap:12px;text-decoration:none;min-height:55px;margin:0 0 5px;background:#fcfaf5}.recent-section .history-row strong{font-size:14px;font-weight:600}.recent-section .earned{font-size:14px}.progress-view>.reward-hint{width:100%;margin-top:14px}.claims-section{margin-top:25px}.progress-view .account-card{margin-top:24px}.rewards-view{position:relative;isolation:isolate}.rewards-view::before{content:'';position:absolute;right:-23px;top:-28px;width:157px;height:176px;background:url('../img/forest-engraving.webp') right center/contain no-repeat;opacity:.35;mix-blend-mode:multiply;z-index:-1;pointer-events:none}.rewards-title h1{max-width:300px;font-size:38px;font-weight:800;line-height:1.02;letter-spacing:-1.2px;margin:0 0 10px}.rewards-title .points-chip{padding:6px 12px;font-size:13px;min-height:0}.reward-grid{margin-top:12px;gap:15px}.reward-card{border-radius:14px;box-shadow:0 2px 7px #3a46300a}.reward-art{height:157px;display:block;overflow:hidden;background:#efeee3!important}.reward-art>img{width:100%;height:100%;object-fit:cover;display:block}.reward-body{padding:12px 13px 13px;min-height:0}.reward-card-title{gap:10px;align-items:center}.reward-card-title h2{font-size:19px;line-height:1.1;margin:0;font-weight:750}.reward-card-title>strong{font-size:15px}.reward-body p{font-size:11px;line-height:1.3;margin:7px 0 10px}.reward-body .button{min-height:44px;border-radius:10px}.pickup-note{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;margin:12px 0 0}.pickup-note svg{width:16px;height:16px}.app-footer{display:none}
@media(max-width:760px){.app-header{margin-bottom:13px}.intro h1{font-size:42px;max-width:270px}.intro .lead{font-size:14px;max-width:274px}.intro::after{top:38px;height:150px;width:123px;right:-22px}.reward-hint{font-size:12px;min-height:61px}.reward-hint strong{font-size:19px}.place-card,.place-card.featured{min-height:178px}.place-caption{padding:13px 103px 13px 14px}.place-caption h3,.featured .place-caption h3{font-size:23px}.place-photo .points-label{font-size:12px;bottom:16px;right:37px}.bottom-nav{padding-top:8px;padding-bottom:calc(10px + env(safe-area-inset-bottom));border-radius:19px 19px 0 0}.bottom-nav a{min-height:52px}.bottom-nav a.active svg{stroke-width:2.5}.app.place-open{padding-top:0}.app.place-open .app-header,.app.progress-open .app-header{display:none}.app.place-open .detail-view{position:relative}.app.place-open .detail-view>.back-link{position:absolute;z-index:5;top:18px;left:0;font-weight:650;color:#24483c;background:#fff8;padding:4px 9px;border-radius:9px;margin:0;min-height:38px}.app.place-open .detail-image{height:340px;mask-image:linear-gradient(#000 86%,transparent)}.app.place-open .detail-copy{margin-top:10px}.detail-title h1{font-size:33px;font-weight:800;letter-spacing:-1px}.detail-status{margin-top:20px;margin-bottom:19px}.detail-copy .description{font-size:13px}.detail-copy>.button{margin-top:3px;min-height:52px}.gps-note{margin-bottom:15px}.app.progress-open{padding-top:max(32px,env(safe-area-inset-top))}.progress-view h1{font-size:34px;letter-spacing:-1px;margin-bottom:17px}.stamp-visual{height:103px}.stamp{min-height:158px}.stamp-grid{gap:19px;margin-bottom:25px}.progress-view .balance-number{font-size:51px}.progress-view .account-card{font-size:12px}.rewards-title h1{font-size:36px;max-width:277px}.reward-art{height:151px}.reward-card-title h2{font-size:19px}.reward-body p{font-size:11px}.rewards-view::before{width:130px;height:163px;top:-22px;right:-21px}}

/* Kod nagrody ze starej gry (okno wymiany) */
.legacy-code{font-size:22px;letter-spacing:1px;background:#fff;border:1px dashed var(--line);border-radius:12px;padding:14px;overflow-wrap:anywhere}
