@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/oswald-latin-500-normal-B-eyT0Dw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/oswald-latin-700-normal-vy6hmKSr.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--night: #070d14;--surface: #0d1622;--surface-2: #152232;--line: #22374b;--text: #e9f1f8;--muted: #9db2c6;--accent: #ffc247;--accent-strong: #ffab1f;--on-accent: #241a00;--pitch: #39b869;--pitch-deep: #166b38;--on-pitch: #04220f;--team-red: #e2554a;--team-blue: #4184e8;--danger: #ff6a5e;--gold: #ffd166;--accent-soft: #ffe3ab;--danger-soft: #ffd2cd;--pitch-soft: #c8f3d8;--danger-deep: #4a1f22;--blue-deep: #16294d;--marchio-apple: #000000;--r-card: 14px;--r-ctl: 10px;--radius: var(--r-ctl);--rim: inset 0 1px 0 rgba(255, 255, 255, .05);--lift: 0 10px 26px rgba(0, 0, 0, .35);--sans: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--display: "Oswald", "Inter Variable", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;background:var(--night);color:var(--text);font:15px/1.5 var(--sans);overscroll-behavior:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(900px 420px at 50% -220px,rgba(255,194,71,.11),transparent 70%),radial-gradient(700px 300px at 100% 0%,rgba(65,132,232,.06),transparent 70%)}h1,h2,h3,h4,.brand,.nav-item,.badge,.pill,.stat-label,.stat-value,.mode-title,th,.rank{font-family:var(--display);letter-spacing:.01em}.stat-value,.hud,.social-tokens,.wallet-amount,.rating-value,.tournament-score,.score,td,.mono{font-variant-numeric:tabular-nums}.app{max-width:1100px;margin:0 auto;padding:8px 12px 24px}.app.reduced-motion *{transition:none!important;animation:none!important}.app.playing{max-width:none;padding:0}@media(max-width:720px){.app{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.app.playing{padding-bottom:0}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;min-width:0}.brand{background:none;border:0;padding:4px 0;min-height:0;display:flex;align-items:center;gap:9px;font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text);white-space:nowrap;flex:0 0 auto}.brand-name{display:inline-flex;gap:.3em}.brand-name span+span{color:var(--accent)}@media(max-width:420px){.brand-name span+span{display:none}}@media(max-width:400px){.brand-name{display:none}}.topbar-actions{display:flex;gap:8px;align-items:center;min-width:0}.topbar-actions .ghost{font-size:17px;padding:8px 10px;min-width:44px}.nav{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px;margin:6px 0 14px;box-shadow:var(--rim)}.nav-item{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:0;border-radius:999px;color:var(--muted);font-weight:500;font-size:14px;text-transform:uppercase;letter-spacing:.06em;padding:8px 10px;min-height:40px;transition:background .14s ease,color .14s ease}.nav-item svg{width:18px;height:18px;flex:0 0 auto}.nav-item:hover{color:var(--text)}.nav-item.current{background:var(--surface-2);color:var(--text)}.nav-icon{font-size:15px;opacity:.9}@media(max-width:720px){.nav{position:fixed;left:8px;right:8px;z-index:40;bottom:calc(8px + env(safe-area-inset-bottom,0px));margin:0;padding:6px;background:#0d1622f5;box-shadow:0 6px 24px #00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav-item{flex-direction:column;gap:2px;font-size:11px;min-height:52px}.nav-icon{font-size:18px}.app.playing .nav{display:none}}.here-strip{display:flex;align-items:center;gap:8px;width:100%;margin-bottom:12px;padding:10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);font-size:13px;text-align:left}.here-strip strong{color:var(--text)}.here-dot{width:7px;height:7px;border-radius:50%;background:var(--pitch);flex:0 0 auto}.here-go{margin-left:auto;color:var(--accent);font-weight:600}.content{display:block}.page{display:flex;flex-direction:column;gap:14px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-header h2{margin:0;font-size:20px;letter-spacing:-.01em}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.page-body{display:flex;flex-direction:column;gap:16px}.page-body section{display:flex;flex-direction:column;gap:8px}.page-body h3{margin:0;font-size:14px;color:var(--accent)}.page-body form{display:flex;flex-direction:column;gap:8px}.page-body label{font-size:13px;color:var(--muted)}.page-body label.checkbox{display:flex;align-items:center;gap:8px;color:var(--text)}.page-body .row{display:flex;gap:8px}.page-body .row input{flex:1 1 auto}.page-footer{display:flex;justify-content:flex-end;gap:8px}.home{display:flex;flex-direction:column;gap:18px}.home-hero h2{margin:0;font-size:30px;text-transform:uppercase;letter-spacing:.01em}.home-sub{margin:4px 0 0;color:var(--muted)}.home-note{margin:0;color:var(--muted);font-size:13px}.mode-grid{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:640px){.mode-grid{grid-template-columns:1fr 1fr}}.mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;min-height:116px;text-align:left;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--rim),var(--lift);position:relative;overflow:hidden;transition:transform .14s ease,border-color .14s ease}.mode-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.mode-card.mode-ok:before{background:var(--pitch)}.mode-card.mode-blue:before{background:var(--muted)}.mode-card.mode-gold:before{background:var(--gold)}.mode-card:hover{transform:translateY(-1px);border-color:var(--line)}.mode-card:active{transform:none}.reduced-motion .mode-card{transition:none}.mode-title{font-size:19px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.mode-detail{color:var(--muted);font-size:13px;font-weight:400;line-height:1.4}.mode-action{margin-top:auto;color:var(--accent);font-size:13px;font-weight:600;font-family:var(--display);text-transform:uppercase;letter-spacing:.06em}.mode-card.mode-ok .mode-action{color:var(--pitch)}.mode-card.mode-blue .mode-action{color:var(--text)}.mode-card.mode-gold .mode-action{color:var(--gold)}.home-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{display:flex;flex-direction:column;gap:2px;min-width:0;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl);box-shadow:var(--rim)}.stat-label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.stat-value{font-size:24px;font-weight:500;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-hint{color:var(--muted);font-size:11px}@media(max-width:520px){.home-stats{grid-template-columns:1fr;gap:8px}.stat{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:12px;row-gap:2px;padding:10px 14px}.stat-label{grid-column:1}.stat-value{grid-column:2;font-size:17px;text-align:right}.stat-hint{grid-column:1 / -1;text-align:right}}.room-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.room-cards li{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card)}.room-cards li.here{border-color:var(--accent)}.room-card-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.room-card-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-card-meta{color:var(--muted);font-size:12px}.event-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.event-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card)}.event-card.joined{border-color:var(--accent)}.event-card-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 auto}.event-card-name{font-weight:600;display:flex;align-items:center;gap:8px}.event-card-rule{font-size:13px}.event-card-meta{color:var(--muted);font-size:12px}.event-card-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}@media(max-width:560px){.event-card{flex-direction:column;align-items:stretch}.event-card-actions{justify-content:flex-end}}.badge{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--bg);background:var(--accent);border-radius:999px;padding:1px 8px}.event-prizes ul{list-style:none;margin:6px 0 0;padding:0}.event-prizes h3,.event-standings h3{display:flex;align-items:center;gap:6px}.standings{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.standings li{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card)}.standings li.you{border-color:var(--accent)}.standings-position{color:var(--muted);font-variant-numeric:tabular-nums;min-width:2ch}.standings-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.standings-score{font-weight:600;font-variant-numeric:tabular-nums}.profile-page{display:flex;flex-direction:column;gap:14px}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line)}.tab{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);font-weight:600;padding:8px 12px;min-height:40px}.tab.current{color:var(--text);border-bottom-color:var(--accent)}.field-exit{position:absolute;right:calc(10px + env(safe-area-inset-right,0px));top:calc(10px + env(safe-area-inset-top,0px));z-index:6;min-height:34px;padding:5px 12px;font-size:12px;font-weight:600;color:#fffc;background:#090e158c;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}button,select,input{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-ctl);padding:9px 12px;min-height:44px}button{cursor:pointer;box-shadow:var(--rim)}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}button.primary{background:linear-gradient(180deg,var(--accent),var(--accent-strong));border-color:transparent;color:var(--on-accent);font-weight:700}button.play{background:linear-gradient(180deg,var(--pitch),var(--pitch-deep));border-color:transparent;color:#fff;font-weight:700}button.primary:hover:not(:disabled),button.play:hover:not(:disabled){border-color:transparent;filter:brightness(1.06)}button.danger{background:var(--danger-deep);border-color:var(--danger);color:var(--danger-soft)}button.red{background:var(--danger-deep);border-color:var(--team-red)}button.blue{background:var(--blue-deep);border-color:var(--team-blue)}button.ghost{background:transparent;border-color:transparent;box-shadow:none;padding:6px 10px;min-height:36px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.connection-banner{padding:9px 13px;border-radius:var(--r-ctl);margin-bottom:8px;background:#ffc2471a;border:1px solid rgba(255,194,71,.4);color:var(--accent-soft)}.connection-banner.disconnected,.connection-banner.rejected{background:#ff6a5e1f;border-color:#ff6a5e73;color:var(--danger-soft)}.notice{padding:9px 13px;border-radius:var(--r-ctl);margin:8px 0;background:var(--surface);border:1px solid var(--line);box-shadow:var(--rim)}.notice.error{background:#ff6a5e1a;border-color:#ff6a5e73;color:var(--danger-soft)}.notice.success{background:#39b8691a;border-color:#39b86966;color:var(--pitch-soft)}.placeholder{color:var(--muted);padding:16px;text-align:center}.empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 18px;text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:var(--r-card)}.empty svg{width:108px;height:auto;opacity:.35;fill:none;stroke:var(--muted);stroke-width:1.6;stroke-linejoin:round}.empty-title{margin:0;font-family:var(--display);font-size:17px;text-transform:uppercase;letter-spacing:.04em}.empty-hint{margin:0;color:var(--muted);font-size:13px;max-width:42ch}.hint{color:var(--muted);font-size:13px}.spacer{flex:1 1 auto}.field-notice{position:absolute;z-index:7;left:50%;transform:translate(-50%);top:calc(58px + env(safe-area-inset-top,0px));max-width:min(92vw,460px);margin:0;background:#070d14e6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.field-result{position:absolute;z-index:9;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 28px;min-width:min(88vw,320px);text-align:center;background:#070d14eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--rim),0 18px 50px #0009}.field-result-esito{margin:0;font-family:var(--display);font-size:15px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.field-result-delta{margin:0;font-family:var(--display);font-size:44px;line-height:1;font-variant-numeric:tabular-nums;color:var(--accent)}.field-result-delta span{font-size:20px;color:var(--muted)}.field-result .dialog-actions{margin-top:8px}.attesa-avversario{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:40px 20px;text-align:center}.attesa-avversario h2{margin:0;font-family:var(--display);font-size:26px;text-transform:uppercase;letter-spacing:.06em}.attesa-avversario .hint{max-width:42ch}.attesa-punti{display:inline-flex;gap:8px}.attesa-punti i{width:10px;height:10px;border-radius:999px;background:var(--accent);animation:attesa-respiro 1.1s ease-in-out infinite}.attesa-punti i:nth-child(2){animation-delay:.15s}.attesa-punti i:nth-child(3){animation-delay:.3s}@keyframes attesa-respiro{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}.reduced-motion .attesa-punti i{animation:none;opacity:.7}.lobby-view,.lobby{display:flex;flex-direction:column;gap:12px}.roster{display:flex;flex-direction:column;gap:10px}.side{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px;min-height:96px}.side h3{margin:0 0 8px;font-size:14px}.side.red h3{color:var(--team-red)}.side.blue h3{color:var(--team-blue)}.side ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.member{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r-ctl);background:var(--surface-2)}.member.self{outline:1px solid var(--accent)}.member.offline{opacity:.55}.member .nickname{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member .ping{color:var(--muted);font-size:12px}.tag{font-family:var(--display);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 7px}.tag.owner{color:var(--gold);border-color:var(--gold)}.tag.admin{color:var(--accent);border-color:var(--accent)}.member-actions{position:relative}.member-menu{position:absolute;right:0;top:100%;z-index:20;display:flex;flex-direction:column;min-width:190px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl);overflow:hidden}.member-menu button{border:0;border-radius:0;text-align:left;background:transparent}.member-menu button:hover{background:var(--surface-2)}.room-header,.team-buttons,.game-controls,.rooms{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.room-header{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.room-header h2{margin:0;font-size:16px}.count{color:var(--muted);font-weight:400;font-size:13px}.room-actions,.team-buttons,.game-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.game-controls label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.rooms header{display:flex;gap:8px;align-items:center;margin-bottom:8px}.rooms header h3{margin:0;flex:1 1 auto;font-size:15px}.rooms ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.rooms li{display:flex;gap:8px;align-items:center;background:var(--surface-2);border-radius:var(--r-ctl);padding:8px}.rooms .name{flex:1 1 auto}.rooms .meta{color:var(--muted);font-size:13px}.chat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.chat h3{margin:0 0 8px;font-size:15px}.chat-messages{height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.chat-line{margin:0;word-break:break-word}.chat-line strong{color:var(--accent);margin-right:6px}.chat-line.mention{background:var(--pitch-deep);border-radius:var(--r-ctl);padding:2px 6px}.chat form{display:flex;gap:8px}.chat input{flex:1 1 auto}.field-view{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:100dvh;background:radial-gradient(120% 100% at 50% 0%,var(--surface) 0%,var(--night) 55%,var(--night) 100%);overflow:hidden}.field{border-radius:var(--r-ctl);box-shadow:0 18px 60px #0000008c,0 0 0 1px #ffffff0d;touch-action:none;max-width:100%}.reduced-motion .field{box-shadow:0 0 0 1px #ffffff0d}.field-view.rotated{position:fixed;top:0;left:0;width:100dvh;height:100dvw;min-height:0;transform:rotate(90deg) translateY(-100dvw);transform-origin:top left}.hud{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:12px;padding:6px 18px;background:#070d14b8;border:1px solid rgba(255,255,255,.08);border-radius:999px;box-shadow:var(--rim),0 12px 30px #00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap}.scoreboard{display:flex;align-items:baseline;gap:9px;font-family:var(--display);font-size:30px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:.02em}.scoreboard .red{color:var(--team-red);text-shadow:0 0 16px rgba(226,85,74,.4)}.scoreboard .blue{color:var(--team-blue);text-shadow:0 0 16px rgba(65,132,232,.4)}.scoreboard .dash{color:var(--muted);font-size:20px;margin:0}.clock{font-family:var(--display);font-size:16px;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--muted);padding-left:12px;border-left:1px solid rgba(255,255,255,.09)}.badge{padding:2px 9px;border-radius:999px;background:var(--surface-2);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.badge.overtime{background:#ffc24729;color:var(--accent-soft)}.goal-banner{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;pointer-events:none;font-family:var(--display);font-size:clamp(52px,14vw,132px);font-weight:700;letter-spacing:.08em;color:var(--gold);text-shadow:0 0 40px rgba(255,200,80,.55),0 6px 0 rgba(0,0,0,.35);animation:goal-pop .42s cubic-bezier(.2,1.4,.4,1)}.goal-banner.autogol{color:var(--danger-soft);text-shadow:0 0 40px rgba(255,120,110,.45),0 6px 0 rgba(0,0,0,.35)}.goal-scorer{font-family:var(--sans);font-size:clamp(15px,3.4vw,30px);font-weight:600;letter-spacing:.02em;color:var(--text);text-shadow:0 2px 8px rgba(0,0,0,.6)}.rotated .goal-banner{position:absolute}@keyframes goal-pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.reduced-motion .goal-banner{animation:none}.touch-controls{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none}.dpad{position:absolute;left:calc(14px + env(safe-area-inset-left,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(3,46px);gap:3px;pointer-events:auto;touch-action:none}.dpad .touch-button{pointer-events:none}.dpad .touch-button.premuto{background:#e2f0ff4d;border-color:#e2f0ff8c;color:#fff}.dpad-up{grid-area:1 / 2}.dpad-left{grid-area:2 / 1}.dpad-right{grid-area:2 / 3}.dpad-down{grid-area:3 / 2}.touch-button{pointer-events:auto;min-height:0;padding:0;display:flex;align-items:center;justify-content:center;font-size:19px;line-height:1;border-radius:50%;background:#e2f0ff24;border:1px solid rgba(226,240,255,.22);color:#ffffffd9;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:background 90ms ease,transform 90ms ease}.touch-button:active{background:#46b0f08c;border-color:#e2f0ff80;transform:scale(.94)}.reduced-motion .touch-button{transition:none}.touch-button.kick{position:absolute;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(22px + env(safe-area-inset-bottom,0px));width:78px;height:78px;font-size:12px;font-weight:700;letter-spacing:.06em;background:#4caf7d38;border-color:#78f0b452}.touch-button.kick:active{background:#4caf7d9e;border-color:#a0ffc8b3}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#060a0fb8;display:flex;align-items:center;justify-content:center;padding:12px}.dialog{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:min(560px,100%);max-height:88vh;overflow-y:auto}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line)}.dialog-header h2{margin:0;font-size:16px}.dialog-body{padding:16px;display:flex;flex-direction:column;gap:16px}.dialog-body section{display:flex;flex-direction:column;gap:8px}.dialog-body h3{margin:0;font-size:14px;color:var(--accent)}.dialog-body form{display:flex;flex-direction:column;gap:8px}.dialog-body label{font-size:13px;color:var(--muted)}.dialog-body label.checkbox{display:flex;align-items:center;gap:8px;color:var(--text)}.dialog-body .row{display:flex;gap:8px}.dialog-body .row input{flex:1 1 auto}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.bindings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.bindings li{display:flex;align-items:center;justify-content:space-between;gap:8px}.bindings button.capturing{border-color:var(--accent);background:var(--surface-2)}@media(min-width:800px){.roster{flex-direction:row}.side{flex:1 1 0}.lobby-view{display:grid;grid-template-columns:1fr 340px;grid-template-areas:"roster chat" "lobby chat";gap:12px;align-items:start}.lobby-view>.roster{grid-area:roster}.lobby-view>.lobby{grid-area:lobby}.lobby-view>.chat{grid-area:chat;position:sticky;top:12px}.chat-messages{height:420px}}.game-chat{position:absolute;left:12px;bottom:12px;z-index:5;max-width:min(420px,70vw);display:flex;flex-direction:column;gap:6px;opacity:0;transition:opacity .22s ease;pointer-events:none}.game-chat.visible{opacity:1}.game-chat form{pointer-events:auto}.game-chat-log{display:flex;flex-direction:column;gap:2px}.game-chat-line{margin:0;padding:3px 8px;border-radius:var(--r-ctl);background:#080e14b8;font-size:13px}.game-chat-line strong{color:var(--accent);margin-right:6px}.game-chat-line.mention{background:#466020d9}.game-chat-hint{margin:0;font-size:12px;color:var(--muted)}.game-chat input{width:100%;min-height:38px;background:#080e14eb}.field-view{position:relative}@media(max-width:720px){.game-chat{bottom:auto;top:54px;left:8px;max-width:60vw}}.rotated .game-chat{bottom:auto;top:52px;left:10px;max-width:42%}.social-bar{position:relative;display:flex;gap:6px;align-items:center;min-width:0}.social-party{color:var(--muted);font-size:13px;white-space:nowrap}.social-tokens{color:var(--gold);font-size:13px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.wallet{display:flex;flex-direction:column;gap:12px}.wallet-balance{display:flex;align-items:baseline;gap:10px;padding:14px 16px;border-radius:var(--r-card);background:var(--surface);border:1px solid var(--line)}.wallet-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.wallet-amount{margin-left:auto;font-size:26px;color:var(--gold);font-variant-numeric:tabular-nums}.wallet-moves{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.wallet-moves li{display:flex;align-items:baseline;gap:10px;padding:9px 12px;border-radius:var(--r-ctl);background:var(--surface)}.wallet-move-main{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 auto}.wallet-move-reason{font-size:14px}.wallet-move-ref{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wallet-move-amount{font-variant-numeric:tabular-nums;font-weight:700;color:var(--team-red)}.wallet-move-amount.plus{color:var(--pitch)}.wallet-move-after{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;min-width:44px;text-align:right}.social-bar button{font-size:.85rem;padding:6px 12px}.social-identity{display:inline-flex;align-items:center;gap:8px;font-weight:600;max-width:42vw;overflow:hidden;white-space:nowrap}.social-nick{overflow:hidden;text-overflow:ellipsis;min-width:0}.social-identity .badge{flex:0 0 auto}@media(max-width:520px){.social-identity{max-width:56vw}.social-identity .badge{font-size:10px;padding:2px 6px;letter-spacing:.02em}}.social-bell{position:relative}.presence-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:0 0 auto}.presence-dot.online{background:var(--pitch)}.badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.badge.subtle{background:transparent;color:var(--muted)}.badge.count{background:var(--danger);color:#fff;margin-left:6px;font-weight:700}.inbox{position:absolute;top:100%;right:16px;z-index:20;width:min(360px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl);padding:8px;box-shadow:0 12px 32px #00000073}.inbox-item{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:var(--r-ctl)}.inbox-item+.inbox-item{border-top:1px solid var(--line)}.friend-add{display:flex;gap:8px;align-items:flex-end;margin-bottom:12px}.friend-add label{flex:1}.friend-section{margin-top:16px}.friend-section h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px}.friend-list,.party-list,.match-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.friend-list li,.party-list li{display:flex;align-items:center;gap:8px;padding:8px;border-radius:var(--r-ctl);background:var(--surface-2)}.friend-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:12ch}.friend-room{font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-actions{margin-left:auto;display:flex;gap:6px;align-items:center;flex:0 0 auto}.friend-actions button{font-size:.8rem;padding:4px 10px}button.link{background:none;border:none;color:var(--accent);cursor:pointer;padding:4px 6px;text-decoration:underline}button.link.danger{color:var(--danger)}.account-form{display:flex;flex-direction:column;gap:12px}.account-current{font-size:1.05rem}.form-error{color:var(--danger);font-size:.85rem;margin:4px 0 0}.oauth{margin-top:16px;display:flex;flex-direction:column;gap:8px;align-items:stretch}.oauth-separator{text-align:center;color:var(--muted);font-size:.8rem}.oauth-google{display:flex;justify-content:center;min-height:44px}button.apple{background:var(--marchio-apple);color:#fff;font-weight:600;border:1px solid rgba(255,255,255,.28)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px;margin:0 0 8px}.stats-grid div{background:var(--surface-2);border-radius:var(--r-ctl);padding:8px;text-align:center}.stats-grid dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.stats-grid dd{margin:2px 0 0;font-size:1.2rem;font-weight:700}.match-list li{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--r-ctl);background:var(--surface-2);border-left:3px solid var(--muted)}.match.vittoria{border-left-color:var(--pitch)}.match.sconfitta{border-left-color:var(--danger)}.match.pareggio{border-left-color:var(--gold)}.match.abbandonata{border-left-color:var(--muted)}.match-score{font-weight:700;font-variant-numeric:tabular-nums}.match-meta{color:var(--muted);font-size:.8rem}.match-goals,.match-owngoals{margin-left:auto;font-size:.8rem;color:var(--muted)}@media(max-width:640px){.social-bar{padding:6px 10px;gap:6px}.social-bell{margin-left:0}.social-bar button{padding:8px 10px}.friend-name{max-width:9ch}.inbox{right:8px}}.friend-add,.account-form label{display:flex;flex-direction:column;gap:8px;align-items:stretch}.friend-add label{display:flex;flex-direction:column;gap:6px;align-items:stretch;font-size:.85rem;color:var(--muted)}.friend-add label input,.account-form label input{width:100%;box-sizing:border-box}.friend-add button[type=submit]{align-self:flex-end}.ranked-block{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.ranked-block h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px}.ranked-modes{display:flex;gap:8px;flex-wrap:wrap}.ranked-mode{font-variant-numeric:tabular-nums;min-width:56px}.ranked-mode.selected{border-color:var(--accent);color:var(--text);font-weight:700;box-shadow:inset 0 0 0 1px var(--accent)}.ranked-mode:disabled{opacity:.75;cursor:default}.ranked-summary{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:10px 0 0}.ranked-queue{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:var(--surface-2);padding:2px 8px;border-radius:999px}.party-slot-empty{opacity:.55;border:1px dashed var(--line);background:transparent!important}.party-slot-empty .friend-name{font-weight:400;font-style:italic;max-width:none}.party-slot-empty .hint{margin:0 0 0 auto;font-size:.75rem}.invite-block{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.invite-block h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px}.invite-code-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.invite-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.15rem;letter-spacing:.14em;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-ctl);padding:8px 12px;-webkit-user-select:all;user-select:all}.invite-qr{margin-top:12px;width:148px;height:148px;background:var(--night);border:1px solid var(--line);border-radius:var(--r-ctl);padding:8px}.invite-qr svg{width:100%;height:100%;display:block}@media(max-width:640px){.invite-code{font-size:1rem}.invite-qr{width:128px;height:128px}}.queue-start{margin-top:12px;width:100%;font-weight:600}.queue-searching,.queue-found{margin-top:12px;padding:12px;border-radius:var(--r-ctl);background:var(--surface-2);border:1px solid var(--line)}.queue-found{border-color:var(--pitch)}.queue-searching p,.queue-found p{margin:0 0 6px}.queue-teams{display:flex;flex-direction:column;gap:2px}.queue-vs{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.ranked-room .room-header h2 .count{text-transform:none;letter-spacing:0;margin-left:10px}.ranked-result{margin-top:12px;padding:12px;border-radius:var(--r-ctl);background:var(--surface-2);border:1px solid var(--pitch)}.ranked-result p{margin:0 0 6px}.ranked-result p:last-child{margin-bottom:0}.ranked-restriction{margin:8px 0;padding:10px 12px;border-radius:var(--r-ctl);background:var(--surface-2);border:1px solid var(--danger);font-size:.9rem}.queue-tabs{display:flex;gap:8px;margin-bottom:12px}.queue-tab{flex:1;display:flex;flex-direction:column;gap:2px;padding:8px 10px;text-align:left}.queue-tab.selected{border-color:var(--accent);color:var(--text)}.queue-tab .hint{font-size:.72rem;margin:0}.leaderboard-self{margin:0 0 12px;padding:10px 12px;border-radius:var(--r-ctl);background:var(--surface-2);border:1px solid var(--line);font-size:.9rem}.leaderboard{list-style:none;margin:0;padding:0}.leaderboard-row{display:grid;grid-template-columns:2.5rem 1fr auto;align-items:baseline;gap:4px 10px;padding:6px 8px;border-radius:var(--r-ctl)}.leaderboard-row .rank{color:var(--muted);font-variant-numeric:tabular-nums}.leaderboard-row .rating{font-weight:600;font-variant-numeric:tabular-nums}.leaderboard-row .meta{grid-column:2 / -1;font-size:.75rem;color:var(--muted)}.leaderboard-row.self{background:var(--surface-2)}.admin-lookup .row{display:flex;gap:8px}.admin-lookup .row input{flex:1}.admin-stadiums{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.admin-stadiums li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-ctl);background:var(--surface-2);border:1px solid var(--line)}.admin-stadium-name{flex:1;min-width:0}.admin-stadium-toggle{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--muted);white-space:nowrap}.admin-reports,.admin-sanctions,.admin-abandons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.admin-reports li,.admin-sanctions li,.admin-abandons li{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:8px 10px;border-radius:var(--r-ctl);background:var(--surface-2);border:1px solid var(--line)}.admin-sanctions li.inactive{opacity:.55}.admin-sanctions li.active{border-color:var(--danger)}.admin-reports .reasons{flex-basis:100%;font-size:.78rem;color:var(--muted)}.tag.game{background:var(--danger);color:var(--danger)}.tag.ranked{background:var(--line);color:var(--accent)}button.link{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-align:left}button.link:hover{text-decoration:underline}.rating-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.rating-list li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 10px;border-radius:var(--r-ctl);background:var(--surface-2);border:1px solid var(--line)}.rating-list .rating-value{font-weight:600;font-variant-numeric:tabular-nums}.rating-list .meta{grid-column:1 / -1;font-size:.75rem;color:var(--muted)}.rating-list li.placement{border-style:dashed}.tournament-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.tournament-row{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;text-align:left;background:var(--panel-2, var(--surface-2));border:1px solid transparent;border-radius:var(--r-ctl)}.tournament-row{flex-wrap:wrap}.tournament-list li.open .tournament-row{border-color:var(--accent, var(--team-blue))}.tournament-name{font-weight:600;flex:1 0 100%}.tournament-count{opacity:.75;font-variant-numeric:tabular-nums}.tournament-quando{display:flex;flex-wrap:wrap;gap:4px 10px;margin:2px 0 10px;padding:0 14px;color:var(--muted);font-size:12.5px}.tournament-minimo{color:var(--accent)}.badge.circuito{color:var(--text);border-color:var(--line)}.tournament-circuito{margin:0 0 10px;color:var(--muted);font-size:13px}.account-country{display:block;margin:14px 0 4px}.account-country select{width:100%;margin-top:4px}.account-country .hint{display:block;margin-top:6px}.analitiche-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:8px 0 16px}.analitica{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-ctl)}.analitica-valore{font-family:var(--display);font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums}.analitica-etichetta{color:var(--muted);font-size:12px}.analitica-nota{color:var(--muted);font-size:11px;opacity:.75}.admin-mappe-uso{list-style:none;margin:4px 0 14px;padding:0}.admin-mappe-uso li{display:flex;justify-content:space-between;padding:4px 2px;border-bottom:1px solid var(--line);font-size:13px}.tournament-detail{padding:8px 10px 4px;display:flex;flex-direction:column;gap:10px}.tournament-yours{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:var(--r-ctl);background:#4c8dff1f;border:1px solid rgba(76,141,255,.4)}.tournament-yours p{margin:0}.tournament-standings{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.tournament-standings th,.tournament-standings td{padding:4px 6px;text-align:right}.tournament-standings th:nth-child(2),.tournament-standings td:nth-child(2){text-align:left}.tournament-standings thead th{opacity:.7;font-weight:500}.tournament-matches{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.tournament-matches li{display:flex;align-items:center;gap:8px;padding:4px 0}.tournament-slot{flex:1}.tournament-slot:last-of-type{text-align:right}.tournament-slot.pending{opacity:.55;font-style:italic}.tournament-slot.empty{opacity:.35}.tournament-score{min-width:56px;text-align:center;font-variant-numeric:tabular-nums}.tournament-create{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.tournament-inline-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap;width:100%}.tournament-inline-form input[type=number]{width:64px}.tournament-inline-form input:not([type=number]){flex:1 1 160px}.tournament-disputes{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:var(--r-ctl);background:#ffb04c1a;border:1px solid rgba(255,176,76,.35)}.tournament-disputes p{margin:0;font-size:13px}.tournament-disputes .dispute{display:flex;flex-direction:column;gap:4px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08)}.tournament-disputes .dispute:last-child{border-bottom:none}.tournament-disputes .dispute.accepted,.tournament-disputes .dispute.rejected{opacity:.65}.tournament-disputes .dialog-actions{align-items:center;flex-wrap:wrap;gap:8px}.team-form{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.team-detail{display:flex;flex-direction:column;gap:10px}.team-detail h3{margin:0}.team-ratings{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:10px}.team-ratings li{display:flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums}.tournament-group-name{margin:12px 0 4px;font-size:.9rem;opacity:.8}.tournament-entrants{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:4px}.tournament-entrants li{display:list-item}.tournament-entrants li span:first-child{margin-right:8px}.team-members{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.team-members li{display:flex;align-items:center;gap:8px}.team-members li span:first-child{flex:1}.segnalazioni-ip{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.segnalazioni-ip li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-ctl)}.segnalazioni-ip .chi{font-weight:600}.segnalazioni-ip .numeri{flex:1;color:var(--muted)}.segnalazioni-ip label{display:flex;align-items:center;gap:6px;color:var(--muted)}.account-country{display:flex;flex-direction:column;gap:4px}.account-country .etichetta{color:var(--muted)}.team-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:6px}.team-list .chip{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:inherit;cursor:pointer}.team-list .chip.attivo{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.convocazione{flex:1 1 100%;border:1px solid var(--line);border-radius:var(--r-ctl);padding:10px 12px;display:flex;flex-direction:column;gap:8px}.convocazione>summary{cursor:pointer;display:flex;align-items:center;gap:8px}.convocazione>summary .badge{margin-left:4px}.team-aggiungi{margin-top:16px;border-top:1px solid var(--line);padding-top:10px}.team-aggiungi>summary{cursor:pointer;color:var(--muted);margin-bottom:10px}.dialog-actions{flex-wrap:wrap}.iscrizione-formazione{flex:1 1 100%;display:flex;flex-direction:column;gap:8px;align-items:stretch}.iscrizione-formazione>label{display:flex;flex-direction:column;gap:4px}.convocati{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px}.convocati label{display:flex;align-items:center;gap:6px}.convocati label:has(input:disabled){opacity:.45}.tournament-stages{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap}.tournament-stages li{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid var(--line, var(--line));opacity:.65}.tournament-stages li.current{opacity:1;border-color:var(--accent, var(--team-blue))}.tournament-code{opacity:.5;font-size:12px;font-variant-numeric:tabular-nums}.badge.cost{background:var(--night);color:var(--gold)}.badge.prize{background:var(--pitch-deep);color:var(--pitch)}.tournament-prizes{margin:12px 0}.tournament-prizes h4{margin:0 0 6px;font-size:.85rem;color:var(--muted)}.tournament-prizes ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.tournament-prizes li{display:flex;align-items:baseline;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl);padding:4px 10px}.prize-position{font-weight:700;color:var(--gold)}.prize-amount{color:var(--muted);font-size:.85rem}.admin-templates{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}.admin-templates li{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl);padding:10px 12px}.admin-templates li.inactive{opacity:.55}.template-name{font-weight:600}.admin-template-new{display:flex;flex-direction:column;gap:6px}.admin-template-new .row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-template-new input[type=number]{width:90px}.email-notice{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 12px;margin:8px 0;border-radius:var(--radius);background:#ffc2471f;color:var(--gold)}.email-notice button.link{color:var(--gold);text-decoration:underline}.email-notice button.link:disabled{opacity:.6;text-decoration:none}
