:root{--color-bg:#fff8ec;--color-surface:#fff;--color-surface-alt:#fff1d6;--color-forest:#2f5233;--color-forest-dark:#21391f;--color-forest-light:#4c7a52;--color-brown:#6b4423;--color-brown-light:#a67c52;--color-mushroom-red:#c1443c;--color-mushroom-red-dark:#9c332c;--color-text:#2b2118;--color-text-muted:#6b5b4c;--color-border:#e8d9bd;--color-gold:#d9a02a;--color-silver:#9aa3ab;--color-bronze:#b5652f;--color-danger:#b3261e;--color-danger-bg:#fbeae8;--radius-lg:20px;--radius-md:14px;--radius-sm:10px;--shadow-card:0 2px 10px #2b211814;--shadow-modal:0 12px 40px #2b211840;--font-sans:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.5}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,p{margin:0}button{font-family:inherit}input,select{font-family:inherit;font-size:1rem}a{color:var(--color-forest)}.app-shell{flex-direction:column;flex:1;display:flex}.container{width:100%;max-width:640px;margin:0 auto;padding:0 1.25rem}.app-header{justify-content:space-between;align-items:center;width:100%;max-width:640px;margin:0 auto;padding:1rem 1.25rem;display:flex}.app-header__brand{color:var(--color-forest-dark);align-items:center;gap:.5rem;font-size:1.15rem;font-weight:700;text-decoration:none;display:flex}.app-header__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.app-header__actions .btn{white-space:nowrap}.language-switcher{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);gap:.25rem;padding:.2rem;display:flex}.language-switcher button{border-radius:calc(var(--radius-sm) - 4px);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:.3rem .6rem;font-size:.85rem;font-weight:600}.language-switcher button[aria-pressed=true]{background:var(--color-forest);color:#fff}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.85rem 1.4rem;font-size:1rem;font-weight:700;transition:transform 50ms,opacity .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-mushroom-red);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-mushroom-red-dark)}.btn-secondary{background:var(--color-forest);color:#fff}.btn-secondary:hover:not(:disabled){background:var(--color-forest-dark)}.btn-outline{color:var(--color-forest-dark);border:1.5px solid var(--color-border);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--color-forest-light)}.btn-danger{background:var(--color-danger);color:#fff}.btn-block{width:100%}.btn-sm{min-height:36px;padding:.45rem .9rem;font-size:.85rem}.btn-text{color:var(--color-forest-dark);background:0 0;padding:.5rem .25rem;text-decoration:underline}.code-display{background:var(--color-surface-alt);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.code-display__value{color:var(--color-forest-dark);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.5rem;font-weight:800}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.25rem}.field{flex-direction:column;gap:.4rem;margin-bottom:1.1rem;display:flex}.field label{color:var(--color-text-muted);font-size:.9rem;font-weight:600}.field input,.field select{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);min-height:48px;padding:.75rem .9rem}.field input:focus,.field select:focus{outline:2px solid var(--color-forest-light);outline-offset:1px}.field-error{color:var(--color-danger);font-size:.85rem}.form-error-banner{background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-sm);margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.leaderboard{flex-direction:column;gap:.6rem;display:flex}.leaderboard-row{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);text-align:left;cursor:pointer;border:none;align-items:center;gap:.9rem;width:100%;padding:.9rem 1.1rem;font-family:inherit;display:flex}.leaderboard-row:hover,.leaderboard-row:focus-visible{outline:2px solid var(--color-forest-light)}.leaderboard-row__position{color:var(--color-text-muted);text-align:center;flex-shrink:0;width:2.4rem;font-size:1.3rem;font-weight:800}.leaderboard-row__position--medal{font-size:1.7rem}.leaderboard-row__name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:1.05rem;font-weight:700}.leaderboard-row__total{color:var(--color-forest-dark);white-space:nowrap;font-size:1.1rem;font-weight:800}.empty-state{text-align:center;padding:2.5rem 1.5rem}.empty-state__title{margin-bottom:.5rem;font-size:1.2rem;font-weight:700}.empty-state__subtitle{color:var(--color-text-muted);margin-bottom:1.5rem}.hero{text-align:center;padding:3rem 1.5rem 2rem}.hero__emoji{font-size:3.5rem}.hero__title{color:var(--color-forest-dark);margin:.5rem 0;font-size:2.2rem;font-weight:800}.hero__subtitle{color:var(--color-text-muted);margin-bottom:1.75rem;font-size:1.15rem}.section{padding:2rem 1.5rem}.section-title{color:var(--color-forest-dark);text-align:center;margin-bottom:1.25rem;font-size:1.3rem;font-weight:800}.my-rankings-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.my-rankings-list a{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);color:var(--color-text);justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1.1rem;font-weight:700;text-decoration:none;display:flex}.my-rankings-list a:hover,.my-rankings-list a:focus-visible{outline:2px solid var(--color-forest-light)}.my-rankings-list__arrow{color:var(--color-text-muted);flex-shrink:0}.steps-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.steps-list li{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);align-items:center;gap:.9rem;padding:.85rem 1.1rem;display:flex}.steps-list__index{background:var(--color-forest);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-weight:700;display:flex}.slogan{text-align:center;color:var(--color-brown);padding:1.5rem;font-size:1.3rem;font-weight:700}.app-footer{text-align:center;color:var(--color-text-muted);margin-top:auto;padding:2rem 1.5rem;font-size:.85rem}.app-footer__links{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:.5rem;display:flex}.modal-overlay{z-index:100;background:#2b211873;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-modal);width:100%;max-width:640px;max-height:88vh;padding:1.5rem;overflow-y:auto}.modal__header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal__title{font-size:1.2rem;font-weight:800}.modal__close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:.25rem;font-size:1.4rem;line-height:1}.history-list{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.history-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 0;display:flex}.history-row:last-child{border-bottom:none}.history-row__amount{color:var(--color-forest-dark);font-weight:700}.history-row__actions{gap:.4rem;display:flex}.history-row__actions button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:.2rem;font-size:.85rem;text-decoration:underline}.total-banner{background:var(--color-surface-alt);border-radius:var(--radius-md);text-align:center;margin-bottom:.5rem;padding:1rem 1.25rem}.total-banner__value{color:var(--color-forest-dark);font-size:2rem;font-weight:800}.total-banner__label{color:var(--color-text-muted);font-size:.9rem}.ranking-header{text-align:center;padding:1.5rem 1.25rem .5rem}.ranking-header__name{color:var(--color-forest-dark);font-size:1.6rem;font-weight:800}.ranking-header__updated{color:var(--color-text-muted);margin-top:.25rem;font-size:.85rem}.ranking-header .btn{margin-top:.75rem}.action-row{flex-direction:column;gap:.75rem;padding:1.25rem 1.25rem .5rem;display:flex}.ranking-settings-link{text-align:center;padding:0 1.25rem 2rem}.ranking-settings-link a{color:var(--color-text-muted);font-size:.9rem;text-decoration:underline}.participant-list{flex-direction:column;gap:.5rem;margin:1rem 0;display:flex}.participant-list__row{background:var(--color-surface-alt);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:.65rem .9rem;display:flex}.participant-list__name{font-weight:600}.icon-button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:.3rem .4rem;font-size:.85rem;text-decoration:underline}.icon-button--danger{color:var(--color-danger)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.poland-map{border-radius:var(--radius-lg);width:100%;height:60vh;min-height:380px;box-shadow:var(--shadow-card);overflow:hidden}.map-legend{flex-wrap:wrap;justify-content:center;gap:.6rem 1rem;margin:0;padding:1rem 0;font-size:.9rem;list-style:none;display:flex}.map-legend__no-data{color:var(--color-text-muted)}.map-pin{cursor:pointer;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 1px 2px #2b211880);font-size:1.4rem;line-height:1}.mushroom-map__window-note{text-align:center;color:var(--color-text-muted);margin-top:.5rem;font-size:.85rem}@media (width>=640px){.hero__title{font-size:2.6rem}.action-row{flex-direction:row;justify-content:center}.action-row .btn{flex:none}.modal-overlay{align-items:center}.modal{border-radius:var(--radius-lg);max-height:80vh}.poland-map{height:70vh;min-height:500px}}
