:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--forest:#0f3d2e;--forest-soft:#1a5a44;--chalk:#f5f3ea;--card:#fff;--ink:#14231d;--muted:#5b6b64;--line:#dcdccf;--free:#17693f;--free-bg:#e6f4ea;--free-line:#9fd0b1;--busy:#fff;--busy-bg:#22332c;--past:#6f7a75;--past-bg:#eeede5;--accent:#f2c230;--warn-bg:#fff4d1;--warn-ink:#5c4300;--error-bg:#fde8e4;--error-ink:#8a1f0f;--ok-bg:#e0f3e6;--ok-ink:#0f4d2c;--danger:#b3261e;--radius:16px;--glass-bg:#ffffffc7;--glass-line:#ffffffd9;--glass-shadow:0 10px 30px #0f3d2e33, inset 0 1px 0 #ffffffe6;--glass-blur:blur(20px) saturate(180%);--glass-dark-bg:#ffffff29;--glass-dark-line:#ffffff4d;--nav-ink:#33443c;font-family:ui-rounded,SF Pro Rounded,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,sans-serif;line-height:1.4}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--chalk);color:var(--ink);margin:0;font-size:16px}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}h1,h2,p{margin:0}.page{flex-direction:column;width:100%;max-width:560px;min-height:100dvh;margin:0 auto;display:flex}.hero{padding:20px 16px 22px;padding-top:max(20px, env(safe-area-inset-top));color:#fff;background:radial-gradient(120% 130% at 90% -20%,#2e785a99,#0000 60%),linear-gradient(165deg,#134a38,#0b2f24);border-radius:0 0 24px 24px;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;border:2px solid #ffffff29;border-radius:50%;width:170px;height:170px;position:absolute;top:50%;right:-56px;transform:translateY(-50%)}.hero:before{content:"";pointer-events:none;background:#ffffff29;width:2px;position:absolute;top:0;bottom:0;right:28px}.hero>*{z-index:1;position:relative}.hero h1{letter-spacing:-.01em;margin-top:14px;font-size:1.6rem;line-height:1.15}.hero-compact h1{margin-top:8px;font-size:1.3rem}.hero-meta{color:#ffffffd1;margin-top:6px;font-size:.92rem}.hero-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.hero a{min-height:44px;color:inherit;align-items:center;text-decoration:none;display:inline-flex}.hero a.back-link{gap:6px;font-weight:600}.hero-row:has(.wordmark){min-height:24px}.page-with-nav{padding-bottom:calc(5.75rem + env(safe-area-inset-bottom))}html:has(.page-with-nav){scroll-padding-bottom:calc(6rem + env(safe-area-inset-bottom))}.bottom-nav{right:0;bottom:calc(10px + env(safe-area-inset-bottom));z-index:10;border:1px solid var(--glass-line);background:var(--glass-bg);width:calc(100% - 20px);max-width:540px;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:28px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;margin:0 auto;padding:6px;display:grid;position:fixed;left:0}.bottom-nav a{min-height:52px;color:var(--nav-ink);border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.78rem;font-weight:600;text-decoration:none;transition:background-color .2s,transform .15s;display:flex}.bottom-nav a:active{transform:scale(.96)}.bottom-nav a[aria-current=page]{color:var(--forest);background:#0f3d2e21;font-weight:700}.account-button{border:1px solid var(--glass-dark-line);background:var(--glass-dark-bg);color:#fff;width:44px;height:44px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:auto;font-size:1.1rem;font-weight:800;text-decoration:none;transition:transform .15s;display:inline-flex;box-shadow:inset 0 1px #ffffff4d}.account-button:active{transform:scale(.94)}.account-photo{object-fit:cover;border-radius:50%;width:100%;height:100%}.account-button{position:relative}.account-badge{background:var(--accent);color:#14231d;text-align:center;border-radius:10px;min-width:20px;height:20px;padding:0 5px;font-size:.72rem;font-weight:800;line-height:20px;position:absolute;top:-4px;right:-4px}.hero a.account-button{min-height:44px;display:inline-flex}.gallery-top .account-button{border-color:var(--glass-line);background:var(--glass-bg);color:var(--ink);box-shadow:0 2px 10px #00000040}.hero-chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.hero-chip{border:1px solid var(--glass-dark-line);background:var(--glass-dark-bg);border-radius:999px;padding:5px 12px;font-size:.86rem;font-weight:600}.hero a.next-game{border:1px solid var(--glass-dark-line);background:var(--glass-dark-bg);border-radius:16px;flex-direction:column;align-items:flex-start;gap:1px;margin-top:12px;padding:10px 14px;display:flex;box-shadow:inset 0 1px #ffffff40}.next-game-label{color:#ffdf70;font-size:.82rem;font-weight:700}.next-game-where{color:#ffffffe0;overflow-wrap:anywhere;font-size:.88rem}.profile-head{align-items:center;gap:12px;min-width:0;display:flex}.profile-avatar{color:#fff;background:linear-gradient(160deg,#1a5a44,#0f3d2e);border-radius:50%;flex:none;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.4rem;font-weight:800;display:inline-flex}img.profile-avatar{object-fit:cover;background:#dfe7e2}.avatar-small{width:36px;height:36px;font-size:.95rem}.avatar-large{width:84px;height:84px;font-size:2rem}.photo-head{align-items:center;gap:14px;display:flex}.photo-head h2{overflow-wrap:anywhere;margin:0 0 6px}.photo-actions{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.photo-actions .link-button{min-height:44px;padding:0 2px}.photo-input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stadium-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.stadium-card{border:1px solid var(--line);background:var(--card);color:inherit;border-radius:20px;text-decoration:none;transition:transform .15s;display:block;overflow:hidden;box-shadow:0 6px 18px #0f3d2e14}.stadium-card:active{transform:scale(.99)}.stadium-photo{aspect-ratio:16/6;object-fit:cover;background:var(--forest-soft);width:100%;display:block}.stadium-card-body{flex-direction:column;gap:4px;padding:12px 14px 14px;display:flex}.stadium-card-name{overflow-wrap:anywhere;font-size:1.12rem;line-height:1.2}.stadium-card-address,.stadium-card-tags{color:var(--muted);overflow-wrap:anywhere;font-size:.88rem}.stadium-card-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;margin-top:8px;display:flex}.stadium-card-price{font-weight:700}.free-badge{border:1px solid var(--free-line);background:var(--free-bg);color:var(--free);border-radius:999px;padding:4px 10px;font-size:.82rem;font-weight:700}.free-badge-none{border-color:var(--line);background:var(--past-bg);color:var(--past)}.slot-end{align-items:center;gap:10px;display:flex}.slot-admin{flex-wrap:wrap}.slot-admin .slot-main{flex:150px}.slot-settlement{flex:1 0 100%;font-size:.86rem;font-weight:700}.slot-actions{flex-wrap:wrap;flex:1 0 100%;gap:6px;display:flex}.slot-actions .button{flex:auto}.slot-actions .button-light{border-color:var(--accent);background:var(--accent);color:var(--ink)}.slot-actions .button-light:hover:not(:disabled){background:#e5b520}.settle-text{margin-top:8px;font-weight:600}.settings-note{color:var(--muted);font-size:.88rem}.form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.slot-hold{background:var(--warn-bg);color:var(--warn-ink);border-color:#e4c469}.modal-warning{background:var(--warn-bg);color:var(--warn-ink);border-radius:10px;margin-top:10px;padding:10px 12px;font-size:.93rem;font-weight:600}.price-table{flex-direction:column;gap:8px;margin:0;display:flex}.price-table div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.price-table dt{color:var(--muted)}.price-table dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-weight:700}.price-table .price-now{background:var(--free-bg);border-radius:10px;padding:10px 12px}.price-table .price-now dt{color:var(--ok-ink);font-weight:600}.booking-state{border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:4px;padding:18px 14px;display:flex}.booking-state strong{font-size:1.15rem}.booking-state-hold{background:var(--warn-bg);color:var(--warn-ink)}.booking-state-ok{background:var(--forest);color:#fff}.booking-state-off{background:var(--past-bg);color:#4d5853}.countdown{font-variant-numeric:tabular-nums;font-size:2.3rem;font-weight:800;line-height:1.1}.booking-where{flex-direction:column;gap:2px;display:flex}.booking-where h2{overflow-wrap:anywhere;font-size:1.15rem}.my-bookings{flex-direction:column;gap:8px;display:flex}.my-bookings h2{margin-top:6px;font-size:1.05rem}.my-booking{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);min-height:60px;color:inherit;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;display:flex}.my-booking span{display:block}.my-booking-when{font-weight:700}.my-booking-where{color:var(--muted);overflow-wrap:anywhere;font-size:.86rem}.my-booking-status{text-align:right;flex:none;font-size:.82rem;font-weight:700}.post-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.post-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:inherit;flex-direction:column;gap:3px;padding:12px 14px;text-decoration:none;display:flex;box-shadow:0 1px 3px #0f3d2e14}.post-card-where{color:var(--muted);overflow-wrap:anywhere;font-size:.88rem}.post-card-need{overflow-wrap:anywhere;font-weight:600}.post-card-role{color:var(--free);font-size:.86rem;font-weight:700}.post-heading{margin-top:4px;font-size:1.05rem}.team-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.team-list li{flex-wrap:wrap;justify-content:space-between;gap:2px 10px;display:flex}.team-list strong{overflow-wrap:anywhere}.team-list span{color:var(--muted);font-size:.88rem}.post-section{flex-direction:column;gap:8px;display:flex}.spot-stepper{justify-content:space-between;align-items:center;gap:10px;min-height:48px;display:flex}.stepper{align-items:center;gap:4px;display:flex}.stepper output{font-variant-numeric:tabular-nums;text-align:center;min-width:28px;font-weight:700}.stepper button{border:1px solid var(--line);background:var(--card);width:44px;height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:12px;font-size:1.2rem;font-weight:700}.stepper button:disabled{opacity:.4;cursor:default}.chat{flex-direction:column;gap:10px;display:flex}.chat-list{flex-direction:column;gap:8px;max-height:max(220px,100dvh - 430px);margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.chat-message{flex-shrink:0;align-items:flex-start;max-width:90%;display:flex}.chat-message-mine{align-self:flex-end}.chat-bubble{background:var(--past-bg);border-radius:14px;min-width:0;padding:8px 12px}.chat-message-mine .chat-bubble{background:var(--free-bg)}.chat-meta{color:var(--muted);justify-content:space-between;gap:12px;font-size:.78rem;display:flex}.chat-meta strong{color:var(--ink);overflow-wrap:anywhere}.chat-meta span{flex:none}.chat-body{overflow-wrap:anywhere;white-space:pre-wrap;margin:2px 0 0}.chat-delete{width:44px;height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;flex:0 0 44px;font-size:1.15rem}.chat-form{align-items:flex-end;gap:8px;display:flex}.chat-form textarea{border:1px solid var(--line);background:var(--card);min-width:0;min-height:48px;color:var(--ink);font:inherit;resize:none;border-radius:12px;flex:auto;padding:10px 12px}.chat-form .button{flex:none;width:auto;padding-inline:16px}.rating-card{flex-direction:column;gap:8px;display:flex}.rating-card-voided>:not(button){opacity:.65}.team-list-row{flex-wrap:wrap;justify-content:space-between;gap:2px 10px;display:flex}.team-list-row strong{overflow-wrap:anywhere}.score-row{flex-direction:column;gap:4px;display:flex}.score-buttons{gap:6px;display:flex}.score-buttons button{border:1px solid var(--line);background:var(--card);min-width:44px;height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;flex:1 1 0;font-weight:700}.score-buttons button[aria-pressed=true]{border-color:var(--forest);background:var(--forest);color:#fff}.staff-thread{width:100%;font:inherit;text-align:left;cursor:pointer}.my-booking span.staff-thread-preview{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.gallery{aspect-ratio:16/10;background:var(--forest-soft);width:100%;max-height:320px;position:relative;overflow:hidden}.gallery>svg,.gallery-track{width:100%;height:100%}.gallery>svg{display:block}.gallery-track{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;display:flex;overflow-x:auto}.gallery-track::-webkit-scrollbar{display:none}.gallery-photo{object-fit:cover;scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;width:100%;height:100%}.gallery-top{min-height:72px;padding:max(10px, env(safe-area-inset-top)) 12px 16px;color:#fff;pointer-events:none;background:linear-gradient(#0000006b,#0000);justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0 0 auto}.gallery-top>*{pointer-events:auto}.gallery-back{border:1px solid var(--glass-line);background:var(--glass-bg);width:44px;height:44px;color:var(--ink);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 2px 10px #00000040}.gallery-count{color:#fff;background:#00000094;border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:700;position:absolute;bottom:28px;right:12px}.stadium-sheet{background:var(--chalk);border-radius:20px 20px 0 0;margin-top:-18px;padding-top:18px;position:relative}.stadium-head{flex-direction:column;gap:4px;display:flex}.stadium-head h1{letter-spacing:-.01em;overflow-wrap:anywhere;font-size:1.55rem;line-height:1.15}.stadium-place{color:var(--free);letter-spacing:.02em;font-size:.82rem;font-weight:700}.fact-grid{flex-wrap:wrap;gap:8px;margin:0;display:flex}.fact-grid>div{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-direction:column;flex:30%;gap:2px;min-width:92px;padding:10px 12px;display:flex}.fact-grid dt{color:var(--muted);font-size:.82rem}.fact-grid dd{overflow-wrap:anywhere;margin:0;font-weight:700}.condition-line{border:1px solid var(--free-line);background:var(--free-bg);border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:10px 12px;font-size:.92rem;display:flex}.condition-line strong{color:var(--free)}.condition-line span{color:var(--muted);font-size:.82rem}.amenities{flex-direction:column;gap:8px;display:flex}.amenities h2,.stadium-rules h2{font-size:1.05rem}.amenity-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.amenity-list li{border:1px solid var(--line);background:var(--card);border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:.86rem;font-weight:600;display:inline-flex}.amenity-list li span{color:var(--free);font-weight:800}.stadium-rules p{white-space:pre-line;overflow-wrap:anywhere}.stadium-info{flex-direction:column;gap:10px;display:flex}.stadium-facts{font-weight:700}.stadium-price{font-size:1.15rem;font-weight:800}.schedule-block{flex-direction:column;gap:12px;min-width:0;scroll-margin-top:12px;display:flex}.region-chip{border:1px solid var(--line);background:var(--card);border-radius:999px;flex:none;min-height:44px;padding:6px 14px;font-size:.9rem;font-weight:600}.region-chip[aria-pressed=true]{border-color:var(--forest);background:var(--forest);color:#fff}.photo-panel{flex-direction:column;gap:12px;display:flex}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.photo-grid li{flex-direction:column;gap:6px;min-width:0;display:flex}.photo-thumb{aspect-ratio:16/10;background:var(--past-bg);border-radius:10px;position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-cover{background:var(--forest);color:#fff;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:700;position:absolute;top:6px;left:6px}.photo-add{cursor:pointer;justify-content:center;align-items:center;display:flex;position:relative}.photo-add-off{opacity:.55;cursor:not-allowed}.photo-add:focus-within{outline:3px solid var(--accent);outline-offset:2px}.photo-input{opacity:0;width:100%;height:100%;cursor:inherit;position:absolute;inset:0}.photo-confirm{aspect-ratio:16/10;object-fit:cover;border-radius:10px;width:100%;margin-bottom:12px;display:block}.form-heading{margin:4px 0 0;font-size:1rem}.stadium-actions{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:8px;display:grid}.action-link{text-align:center;justify-content:center;align-items:center;padding:8px 10px;font-size:.95rem;text-decoration:none;display:inline-flex}a.button{color:#fff}a.button.button-secondary{color:var(--ink)}.coming-soon{color:var(--forest);text-align:center;align-items:center;padding:36px 20px}.coming-soon h2{font-size:1.4rem}.wordmark{letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.wordmark b{color:var(--accent);font-weight:800}.link-button{min-height:44px;color:inherit;background:0 0;border:0;padding:0 4px 0 12px;text-decoration:underline}.content{flex-direction:column;flex:1;gap:12px;min-width:0;padding:14px 16px 24px;display:flex}.date-strip{scrollbar-width:none;gap:8px;margin:0 -16px;padding:2px 16px 4px;display:flex;overflow-x:auto}.date-strip::-webkit-scrollbar{display:none}.date-chip{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1px;min-width:68px;min-height:56px;padding:6px 10px;display:flex}.date-chip span{color:var(--muted);font-size:.8rem}.date-chip strong{font-size:.95rem}.date-chip[aria-pressed=true]{border-color:var(--forest);background:var(--forest);color:#fff}.date-chip[aria-pressed=true] span{color:#ffffffd1}.pitch-tabs{background:#e6e4d8;border-radius:12px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;padding:4px;display:grid}.pitch-tab{overflow-wrap:anywhere;background:0 0;border:0;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:44px;padding:6px;font-weight:600;display:flex}.pitch-tab[aria-pressed=true]{background:var(--card);box-shadow:0 1px 2px #00000024}.day-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;margin-top:4px;display:flex}.day-heading h2{font-size:1.05rem}.day-heading span{color:var(--muted);font-size:.9rem}.past-toggle{min-height:44px;color:var(--muted);background:0 0;border:1px dashed #b9b9a9;border-radius:12px;padding:8px 12px;font-size:.9rem;font-weight:600}.slot-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.slot{border-radius:var(--radius);border:1px solid #0000;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:8px 14px;display:flex}.slot-time{font-variant-numeric:tabular-nums;font-size:1.02rem;font-weight:650}.slot-status{font-size:.95rem;font-weight:700}.slot-free{background:var(--free-bg);border-color:var(--free-line)}.slot-free .slot-status{color:var(--free)}.slot-busy{background:var(--busy-bg);color:var(--busy)}.slot-past{background:var(--past-bg);color:var(--past)}.slot-past .slot-time{font-weight:500}.slot-skeleton{background:linear-gradient(90deg,#eae8dd,#f3f1e8,#eae8dd) 0 0/200% 100%;height:52px;animation:1.4s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.slot-skeleton{animation:none}}.slot-main{flex-direction:column;gap:1px;min-width:0;display:flex}.slot-detail{font-size:.86rem;font-weight:600}.slot-outside{background:var(--warn-bg);color:var(--warn-ink);border-radius:999px;align-self:flex-start;padding:2px 8px;font-size:.8rem;font-weight:700}.slot-customer,.slot-note{overflow-wrap:anywhere;opacity:.86;font-size:.86rem}.button{border:1px solid var(--forest);background:linear-gradient(180deg, #17513d, var(--forest));color:#fff;border-radius:14px;min-height:48px;padding:10px 18px;font-weight:700;transition:transform .12s,background-color .15s;box-shadow:inset 0 1px #ffffff29,0 2px 8px #0f3d2e33}.button:active:not(:disabled){transform:scale(.98)}.button:hover:not(:disabled){background:var(--forest-soft)}.button:disabled{opacity:.55}.button-small{flex:none;min-height:44px;padding:6px 12px;font-size:.9rem}.button-secondary{background:var(--card);color:var(--ink);box-shadow:none;border-color:#b9b9a9}.button-secondary:hover:not(:disabled){background:#f1efe5}.button:disabled.button-pay-off{opacity:1;background:#6d7a74;border-color:#6d7a74}.login-button{justify-content:center;align-items:center;gap:10px;display:flex}.login-icon{flex:none}.login-telegram{background:linear-gradient(#1e82c4,#1a78b8);border-color:#1a78b8;box-shadow:inset 0 1px #ffffff2e,0 2px 8px #1a78b840}.login-telegram:hover:not(:disabled){background:#166aa3}.login-google{color:#1f1f1f;box-shadow:none;background:#fff;border-color:#747775}.login-google:hover:not(:disabled){background:#f2f2f2}.button-danger{border-color:var(--danger);background:var(--danger)}.button-danger:hover:not(:disabled){background:#8f1d17}.banner{z-index:5;border-radius:10px;padding:10px 12px;font-size:.93rem;font-weight:600;position:sticky;top:8px;box-shadow:0 2px 8px #0f3d2e2e}.modal .banner,.panel .banner{box-shadow:none;position:static}.modal .banner{margin-top:10px}.banner-warn{background:var(--warn-bg);color:var(--warn-ink)}.banner-error{background:var(--error-bg);color:var(--error-ink)}.banner-ok{background:var(--ok-bg);color:var(--ok-ink)}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);flex-direction:column;gap:12px;padding:16px;display:flex;box-shadow:0 4px 14px #0f3d2e0d}.panel h1,.panel h2{font-size:1.15rem}.form{flex-direction:column;gap:12px;display:flex}.form label{flex-direction:column;gap:4px;font-size:.92rem;font-weight:600;display:flex}.form input,.form textarea,.form select{background:#fff;border:1px solid #b9b9a9;border-radius:10px;width:100%;min-height:48px;padding:10px 12px;font-size:16px;font-weight:400}.phone-field{align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.phone-field input{flex:1;min-width:0}.form-submit{width:100%}.profile-card h2{overflow-wrap:anywhere;font-size:1.35rem}.profile-facts{flex-direction:column;gap:10px;margin:0;display:flex}.profile-facts dt{color:var(--muted);font-size:.85rem}.profile-facts dd{margin:0;font-weight:600}.form textarea{resize:vertical}.muted{color:var(--muted);font-size:.9rem}.hint{color:var(--muted);font-size:.88rem}.footer{padding:4px 16px calc(16px + env(safe-area-inset-bottom));text-align:center}.footer a{min-height:44px;color:var(--muted);align-items:center;padding:0 8px;font-size:.9rem;display:inline-flex}.modal{width:calc(100% - 32px);max-width:460px;max-height:calc(100dvh - 32px);color:var(--ink);border:0;border-radius:18px;padding:18px 16px}.modal::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a1a1480}.modal h2{margin-bottom:10px;font-size:1.15rem}.modal-slot{line-height:1.45}.modal-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.form .modal-actions{margin-top:2px}@media (prefers-reduced-transparency:reduce){:root{--glass-bg:#fff;--glass-dark-bg:#1a5a44}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:root{--glass-bg:#fff;--glass-dark-bg:#1a5a44}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.hero-catalog{padding-block:max(12px, env(safe-area-inset-top)) 14px}.hero-catalog h1{margin-top:8px}.hero-catalog .hero-chips{gap:6px;margin-top:8px}.hero-scope{color:#ffffffd1;flex-basis:100%;font-size:.86rem}.hero a.next-game{margin-top:8px;padding:8px 12px}.stadium-card-action{color:var(--forest);justify-content:space-between;gap:8px;margin-top:6px;font-weight:700;display:flex}.pitch-tab-detail{color:var(--muted);font-size:.82rem;font-weight:400}.player-slots .slot{border-radius:12px;gap:8px;padding:4px 10px}.player-slots .button{box-shadow:none;background:var(--forest)}.player-slots .slot-end{flex-wrap:wrap;justify-content:flex-end}.privacy-details summary,.score-help summary{cursor:pointer;min-height:44px;color:var(--forest);padding-block:10px;font-size:.9rem}.privacy-details p{margin-top:4px}.score-help ul{color:var(--muted);margin:0;padding-left:20px;font-size:.9rem}.score-help h3{margin:8px 0 2px;font-size:.95rem}.score-help .hint{margin:0 0 2px}.score-check{min-width:.8em;margin-left:2px;font-size:.75rem;display:inline-block}.payment-notice{box-shadow:none;position:static}.profile-facts{flex-flow:wrap;gap:8px 24px}.booking-where.panel{gap:6px}.level-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 10px;display:flex}.level-number{color:var(--forest);font-size:1.35rem}.tier-head{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:12px}.tier-head .tier-badge{filter:drop-shadow(0 3px 6px #0f3d2e40)}.tier-name{font-size:1.25rem;line-height:1.2;display:block}.tier-meta{color:var(--muted)}.tier-meta .level-number{font-size:inherit;font-weight:700}.tier-strip{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:8px;margin:4px -16px 0;padding:6px 16px 10px;list-style:none;display:flex;overflow-x:auto}.tier-item{text-align:center;scroll-snap-align:center;border:1px solid #0000;border-radius:14px;flex-direction:column;flex:0 0 96px;align-items:center;gap:4px;padding:10px 6px;display:flex}.tier-item strong{font-size:.82rem;line-height:1.15}.tier-item span{color:var(--muted);font-size:.75rem}.tier-current{background:#e8f1ec;border-color:#c9d9cf}.tier-locked strong{color:var(--muted)}.tier-badge{flex:none;display:inline-block;position:relative}.tier-badge img{width:100%;height:100%;display:block}.tier-badge.tier-locked img{filter:saturate(.45);opacity:.55}.tier-lock{width:40%;height:40%;position:absolute;bottom:-2px;right:-2px}.report-link{color:var(--muted);align-self:center;font-size:.9rem}.photo-report{grid-template-columns:120px 1fr;align-items:start;gap:12px;display:grid}.photo-report p{margin:0 0 4px}.photo-report-image{object-fit:cover;background:#dfe7e2;border-radius:12px;width:120px;height:120px}.install-card{grid-template-columns:48px 1fr;align-items:start;gap:12px;display:grid}.install-card h2{margin:0 0 4px;font-size:1.05rem}.install-card p{margin:0}.install-icon{border-radius:12px}.install-actions{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px;display:flex}.earn-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.earn-item{background:var(--past-bg);border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;padding:10px 12px;display:grid}.earn-item p{margin:0}.earn-item .muted{font-size:.85rem}.earn-points{color:var(--forest);white-space:nowrap;font-weight:800}.earn-done .earn-points{color:var(--muted)}.earn-item .button,.earn-item .link-button{grid-column:1/-1}.level-bar{background:var(--past-bg);border-radius:5px;height:10px;overflow:hidden}.level-bar span{background:var(--free);border-radius:5px;height:100%;display:block}.board-filters{margin-top:10px}.board-me{background:var(--ok-bg);color:var(--ok-ink);overflow-wrap:anywhere;border-radius:12px;margin:10px 0 0;padding:10px 14px}.board-list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.board-row{border:1px solid var(--line);background:var(--card);min-height:60px;color:inherit;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.board-row-mine{border-color:var(--free);background:var(--free-bg)}.board-place{font-variant-numeric:tabular-nums;text-align:center;min-width:28px;color:var(--forest);flex:none;font-size:1.1rem;font-weight:800}.board-main{flex-direction:column;flex:auto;min-width:0;display:flex}.board-main strong{overflow-wrap:anywhere}.board-score{white-space:nowrap;flex-direction:column;flex:none;align-items:flex-end;display:flex}.board-meta{color:var(--muted);font-size:.82rem}.points-rules{color:var(--muted);margin:8px 0 0;padding-left:18px;font-size:.92rem}.points-rules li+li{margin-top:4px}.inbox{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.inbox-card{border:1px solid var(--accent);background:var(--warn-bg);color:var(--ink);overflow-wrap:anywhere;border-radius:14px;flex-direction:column;gap:2px;padding:12px 14px;text-decoration:none;display:flex}.inbox-label{color:var(--warn-ink);font-size:.82rem;font-weight:700}.inbox-detail{color:var(--muted);font-size:.88rem}.inbox-card .modal-actions{margin-top:8px}.team-code{background:var(--past-bg);font-variant-numeric:tabular-nums;letter-spacing:.12em;text-align:center;overflow-wrap:anywhere;border-radius:10px;margin:0;padding:10px;font-size:1.35rem;font-weight:800}.player-link{min-height:44px;color:inherit;text-underline-offset:2px;overflow-wrap:anywhere;align-items:center;text-decoration:underline;display:inline-flex}.member-remove{min-height:44px;color:var(--danger);background:0 0;border:0;padding:0 4px;font-size:.88rem;font-weight:600;text-decoration:underline}.team-list li{align-items:center}.poll-buttons{gap:8px;display:grid}.poll-button{border:1px solid var(--line);background:var(--card);min-height:48px;color:var(--ink);overflow-wrap:anywhere;border-radius:12px;padding:8px 12px;font-weight:700}.poll-button[aria-pressed=true]{border-color:var(--forest);background:var(--forest);color:#fff}.poll-groups{flex-direction:column;gap:6px;margin:4px 0 0;display:flex}.poll-groups dt{font-size:.9rem;font-weight:700}.poll-groups dd{color:var(--muted);overflow-wrap:anywhere;margin:0}.rating-points{background:var(--ok-bg);color:var(--ok-ink);border-radius:10px;margin:0;padding:8px 12px;font-size:.92rem}.invite-games{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.invite-game{text-align:left;white-space:normal;overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;width:100%;height:auto;padding:10px 12px;display:flex}.invite-game span{color:var(--muted);font-size:.86rem;font-weight:400}.link-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr));gap:8px;display:grid}.bottom-nav{view-transition-name:bottom-nav}::view-transition-old(root){animation-duration:.14s}::view-transition-new(root){animation-duration:.14s}::view-transition-group(bottom-nav){animation:none}::view-transition-new(bottom-nav){animation:none}::view-transition-old(bottom-nav){display:none}
