/* Colori ufficiali ESN (Visual Identity Manual 2023): cyan #00aeef, magenta #ec008c, green #7ac143, orange #f47b20, dark blue #2e3192 */
:root{
  --cyan:#00aeef;--blue:#2e3192;--magenta:#ec008c;--orange:#f47b20;--green:#7ac143;
  --bg:#0d0f2b;--bg2:#13163b;--card:#181c4a;--card-open:#1d2255;--line:#2b3070;
  --ink:#f3f5ff;--muted:#a9afd6;--accent:#00aeef;--accent-ink:#00aeef;
  --pts:#ff4fb5;--evpts:#7ac143;--rank-bg:#2e3192;--rank-ink:#fff;
  --input-bg:#10133a;--chip-bg:rgba(0,174,239,.15);--chip-ink:#7fd8ff;--tool-bd:#4a50b5;--tool-ink:#fff;--tool-bg:rgba(255,255,255,.06);
  --shadow:0 1px 0 rgba(255,255,255,.04) inset,0 8px 24px rgba(0,0,0,.28);
  --focus:#f47b20;
  --pad:clamp(14px,4.2vw,24px);
  color-scheme:dark;
}
:root[data-theme="light"]{
  --bg:#f4f7fb;--bg2:#fff;--card:#fff;--card-open:#f8fbff;--line:#dfe5f1;
  --ink:#1b1f3b;--muted:#566083;--accent:#00aeef;--accent-ink:#05638d;
  --pts:#c4006f;--evpts:#3f7d12;--rank-bg:#2e3192;--rank-ink:#fff;
  --input-bg:#fff;--chip-bg:#e6f6fd;--chip-ink:#05638d;--tool-bd:#2e3192;--tool-ink:#2e3192;--tool-bg:#fff;
  --shadow:0 1px 2px rgba(27,31,59,.06),0 6px 18px rgba(27,31,59,.06);
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:12px}
body{margin:0;min-height:100vh;min-height:100dvh;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;font-size:1rem;background:var(--bg);color:var(--ink);line-height:1.5;-webkit-tap-highlight-color:transparent;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.stripe{height:6px;background:linear-gradient(90deg,var(--cyan) 0 20%,var(--blue) 20% 40%,var(--magenta) 40% 60%,var(--orange) 60% 80%,var(--green) 80%)}
header{background:var(--bg2);padding:max(12px,env(safe-area-inset-top)) var(--pad) 18px;border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:720px;margin:0 auto}
.logo{height:clamp(44px,13vw,64px);width:auto;max-width:56%;display:block}
.logo-light{display:none}
:root[data-theme="light"] .logo-dark{display:none}
:root[data-theme="light"] .logo-light{display:block}
.tools{display:flex;gap:10px;flex:none}
.tool{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:0 16px;border:2px solid var(--tool-bd);background:var(--tool-bg);color:var(--tool-ink);font:inherit;font-weight:800;font-size:.95rem;border-radius:999px;cursor:pointer;touch-action:manipulation}
.tool:hover{border-color:var(--cyan)}
.tool:active{transform:scale(.96)}
.ico{display:none;width:22px;height:22px;background:currentColor}
.ico-sun{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 7a5 5 0 100 10 5 5 0 000-10zm0-5h0v3m0 14v3m10-10h-3M5 12H2m16.4-7.4l-2.1 2.1M7.7 16.3l-2.1 2.1m0-12.8l2.1 2.1m8.6 8.6l2.1 2.1' stroke='%23000' stroke-width='2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 7a5 5 0 100 10 5 5 0 000-10zm0-5h0v3m0 14v3m10-10h-3M5 12H2m16.4-7.4l-2.1 2.1M7.7 16.3l-2.1 2.1m0-12.8l2.1 2.1m8.6 8.6l2.1 2.1' stroke='%23000' stroke-width='2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center/contain no-repeat}
.ico-moon{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 14.5A9 9 0 119.5 3a7 7 0 0011.5 11.5z' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 14.5A9 9 0 119.5 3a7 7 0 0011.5 11.5z' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat}
:root[data-theme="dark"] .ico-sun{display:block}
:root[data-theme="light"] .ico-moon{display:block}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.hero{max-width:720px;margin:0 auto;padding:14px 0 0}
h1{font-size:clamp(1.55rem,6.4vw,2.1rem);line-height:1.15;margin:4px 0 4px;color:var(--ink);letter-spacing:-.01em;text-wrap:balance}
.sub{margin:0;color:var(--muted);font-size:1.02rem}
.updated{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:14px 0 0;padding:10px 14px;border-radius:12px;background:var(--chip-bg);color:var(--chip-ink);border:1px solid var(--cyan);line-height:1.3}
.upd-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.upd-val{font-size:1.02rem;font-weight:800;color:var(--ink)}
main{max-width:720px;margin:0 auto;padding:22px var(--pad) 8px}
section{margin-bottom:28px}
h2{font-size:1.15rem;margin:0 0 10px;color:var(--ink);display:flex;align-items:center;gap:10px}
h2::before{content:"";width:6px;height:1.1em;border-radius:3px;background:var(--cyan)}
#rules-h::before{background:var(--magenta)}
#q{display:block;width:100%;min-height:56px;font:inherit;font-size:1.0625rem;padding:14px 16px;border:2px solid var(--cyan);border-radius:14px;background:var(--input-bg);color:var(--ink);-webkit-appearance:none;appearance:none}
#q::placeholder{color:var(--muted);opacity:.85}
#q:focus{border-color:var(--magenta);outline:none;box-shadow:0 0 0 4px rgba(236,0,140,.25)}
#status{margin:10px 2px 12px;color:var(--muted);font-size:.95rem;min-height:1.4em}
ul{list-style:none;padding:0;margin:0}
.cards{display:flex;flex-direction:column;gap:10px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.card.open{border-color:var(--cyan);background:var(--card-open)}
.card-head{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px 12px;width:100%;padding:12px 14px;border:0;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer;min-height:60px;touch-action:manipulation}
.card-head::after{content:"";width:10px;height:10px;border-right:2.5px solid var(--muted);border-bottom:2.5px solid var(--muted);transform:rotate(45deg) translateY(-2px);transition:transform .15s;margin-left:2px}
.card.open .card-head::after{transform:rotate(-135deg) translate(-2px,0)}
.rank{min-width:50px;text-align:center;font-weight:800;color:var(--rank-ink);background:var(--rank-bg);border-radius:999px;padding:5px 10px;font-size:.92rem;font-variant-numeric:tabular-nums}
.name{font-weight:650;font-size:1.02rem;overflow-wrap:anywhere;line-height:1.3}
.pts{font-weight:800;color:var(--pts);white-space:nowrap;font-variant-numeric:tabular-nums}
.events{border-top:1px dashed var(--line);padding:6px 14px 10px}
.event{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0;font-size:.96rem;border-bottom:1px solid var(--line)}
.event:last-child{border-bottom:0}
.ev-name{overflow-wrap:anywhere}
.ev-pts{flex:none;font-weight:800;color:var(--evpts);font-variant-numeric:tabular-nums}
.rules{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:6px 14px 14px;box-shadow:var(--shadow)}
.rule{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.rule:last-child{border-bottom:0}
.rule-pts{flex:none;min-width:54px;text-align:center;font-weight:800;color:#fff;border-radius:10px;padding:6px 8px;font-variant-numeric:tabular-nums}
.rule-desc{line-height:1.35}
.rule:nth-child(1) .rule-pts{background:#4f8f1d}
.rule:nth-child(2) .rule-pts{background:#c85e0a}
.rule:nth-child(3) .rule-pts{background:#0079b0}
.rule:nth-child(4) .rule-pts{background:#c4006f}
#rules-note{margin:12px 0 0;font-size:.95rem;color:var(--muted)}
footer{max-width:720px;margin:0 auto;padding:4px var(--pad) calc(32px + env(safe-area-inset-bottom));font-size:.85rem;color:var(--muted)}
[hidden]{display:none!important}
@media (max-width:380px){.card-head{grid-template-columns:auto 1fr auto;}.card-head::after{display:none}.tool{padding:0 12px}}
@media (min-width:600px){main{padding-top:28px}.card-head{padding:14px 18px}.events{padding:8px 18px 12px}.rules{padding:8px 20px 16px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

#top-h::before{background:var(--orange)}
.top-list{display:flex;flex-direction:column;gap:8px;list-style:none;padding:0;margin:0}
.top-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px 12px;min-height:56px;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.top-row:nth-child(1) .rank{background:var(--orange)}
.top-row:nth-child(2) .rank{background:var(--magenta)}
.top-row:nth-child(3) .rank{background:var(--green);color:#10230a}
.top-row .pts{font-weight:800;color:var(--pts);white-space:nowrap}
.pending{margin:-8px 0 22px;padding:8px 12px;border-left:4px solid var(--orange);border-radius:8px;background:var(--chip-bg);color:var(--muted);font-size:.88rem;line-height:1.4}
.flag{display:inline-block;margin-right:.4em;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-weight:400}
