/* Regole specifiche della pagina Fidelity Points. Token, font, header, card, chip e form arrivano da esn.css (design system ESN). */
header{background:var(--surface);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:720px;margin:0 auto;padding:max(12px,env(safe-area-inset-top)) var(--pad) 0}
.bar .logo{height:clamp(44px,13vw,64px);width:auto;max-width:56%;display:block}
.bar .logo-light{display:none}
:root[data-theme="light"] .bar .logo-dark{display:none}
:root[data-theme="light"] .bar .logo-light{display:block}
.tools{display:flex;gap:10px;flex:none}
.tools .btn{min-width:var(--tap);padding:0 14px}
.ico{display:none;width:22px;height:22px;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.ico-sun{--ico: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")}
.ico-moon{--ico: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")}
:root[data-theme="dark"] .ico-sun,:root[data-theme="light"] .ico-moon{display:block}
.hero{max-width:720px;margin:0 auto;padding:14px var(--pad) 18px}
h1{margin:4px 0}
.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:var(--r-sm);background:color-mix(in srgb,var(--cyan) 15%,transparent);border:1px solid var(--cyan);line-height:1.3}
.upd-label{font-size:.78rem;font-weight:700;color:var(--accent-ink)}
.upd-val{font-size:1.02rem;font-weight:700}
main{max-width:720px;margin:0 auto;padding:22px var(--pad) 8px}
section{margin-bottom:28px}
h2{display:flex;align-items:center;gap:10px;font-size:1.15rem}
h2::before{content:"";width:6px;height:1.1em;border-radius:3px;background:var(--cyan)}
#rules-h::before{background:var(--magenta)}#top-h::before{background:var(--orange)}
#q{min-height:56px;font-size:1.0625rem;border-color:var(--cyan);border-radius:14px;-webkit-appearance:none;appearance:none}
#q:focus{border-color:var(--magenta);outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--magenta) 25%,transparent)}
#status{margin:10px 2px 12px;color:var(--muted);font-size:.95rem;min-height:1.4em}
ul,ol{list-style:none;padding:0;margin:0}
.cards,.top-list{display:flex;flex-direction:column;gap:10px}
.cards .card{padding:0;overflow:hidden}
.card.open{border-color:var(--cyan)}
.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:700;color:var(--ink);background:var(--line);border-radius:999px;padding:5px 10px;font-size:.92rem;font-variant-numeric:tabular-nums}
.name{font-weight:700;overflow-wrap:anywhere;line-height:1.3}
.pts{font-weight:700;color:var(--accent-ink);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-pts{flex:none;font-weight:700;color:var(--green-ink);font-variant-numeric:tabular-nums}
.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:var(--r)}
.top-row:nth-child(1) .rank{background:var(--accent);color:var(--on-accent)}
.rules{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:6px 14px 14px}
.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:700;color:#06122b;border-radius:var(--r-sm);padding:6px 8px;font-variant-numeric:tabular-nums}
.rule .rule-pts{background:var(--line);color:var(--ink)}
.rule-desc{line-height:1.35}
#rules-note{margin:12px 0 0;font-size:.95rem;color:var(--muted)}
.pending{margin:-8px 0 22px;padding:8px 12px;border-left:4px solid var(--orange);border-radius:8px;background:color-mix(in srgb,var(--cyan) 15%,transparent);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}
footer{max-width:720px;margin:0 auto;padding:4px var(--pad) calc(32px + env(safe-area-inset-bottom));font-size:.85rem;color:var(--muted)}
@media (max-width:380px){.card-head{grid-template-columns:auto 1fr auto}.card-head::after{display:none}}
@media (min-width:600px){main{padding-top:28px}.card-head{padding:14px 18px}.events{padding:8px 18px 12px}}
