:root{color-scheme:dark;--bg:#0d1427;--ink:#eaf2ff;--muted:#9aaac5;--line:#293751;--accent:#89f4d2;--accent2:#a7bcff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100dvh;background:linear-gradient(157deg,#0d1427 10%,#101a31 55%,#0d1427 100%);color:var(--ink);-webkit-tap-highlight-color:transparent}button{font:inherit;touch-action:manipulation}button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.ambient{position:fixed;pointer-events:none;filter:blur(70px);border-radius:50%;z-index:0}.ambient-a{width:220px;height:220px;background:#203d63;opacity:.35;top:-90px;right:-110px}.ambient-b{width:230px;height:230px;background:#19382f;opacity:.28;top:360px;left:-170px}.app-shell{position:relative;z-index:1;max-width:600px;margin:0 auto;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 23px) 22px calc(env(safe-area-inset-bottom) + 22px);display:flex;flex-direction:column}.topbar,.brand,.hero-meta,.section-heading,.tools-heading,.tool-buttons,footer{display:flex;align-items:center;justify-content:space-between}.topbar{gap:12px;margin-bottom:57px}.brand{justify-content:flex-start;gap:10px;font-size:10px;letter-spacing:.17em;font-weight:750}.brand-mark{width:31px;height:31px;display:grid;place-items:center;background:#203d45;border:1px solid #3e8e78;border-radius:9px;color:var(--accent);font-size:21px}.version{font-size:11px;color:#8d9bb7;border:1px solid var(--line);border-radius:8px;padding:6px 8px;white-space:nowrap}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--accent);font-size:10px;font-weight:750;letter-spacing:.16em}.eyebrow-line{display:block;width:20px;height:1px;background:var(--accent)}h1{font-size:clamp(36px,9vw,52px);letter-spacing:-.057em;line-height:1.1;font-weight:760;margin:14px 0 12px}h1 em{font-style:normal;color:var(--accent)}.intro{font-size:14px;line-height:1.7;color:var(--muted);max-width:420px;margin:0 0 32px}.hero-card,.small-card,.tools-card{border:1px solid var(--line);background:linear-gradient(155deg,rgba(34,49,78,.9),rgba(22,33,56,.84));border-radius:20px}.hero-card{padding:22px;box-shadow:0 14px 50px #00000023}.hero-meta{gap:10px;align-items:flex-start}.pill{background:#183a38;color:var(--accent);border-radius:7px;padding:7px 9px;font-size:9px;letter-spacing:.09em;font-weight:750;white-space:nowrap}.live-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:4px}.save-meta{color:#aeb8cc;text-align:right;font-size:10px;line-height:1.5;max-width:145px}.score-layout{display:flex;justify-content:space-between;align-items:center;margin:38px 0 24px}.field-label{color:#9dabcb;letter-spacing:.13em;font-size:10px;font-weight:700;margin:0}.score{font-size:72px;font-weight:790;line-height:1.05;letter-spacing:-.055em;font-variant-numeric:tabular-nums;margin:7px 0}.score-caption{color:var(--muted);margin:0;font-size:12px}.orbit{width:103px;height:103px;border:1px solid #405c68;border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle,#173746,#1b314b 62%,transparent 70%)}.orbit:after{content:'';position:absolute;inset:11px;border:1px dashed #547a8a;border-radius:50%}.orbit-inner{font-size:44px;color:var(--accent);text-shadow:0 0 26px #89f4d280}.button{border:0;border-radius:12px;padding:16px 15px;font-size:14px;font-weight:760;cursor:pointer;min-height:50px}.button-primary{width:100%;background:var(--accent);color:#10342e;box-shadow:0 8px 25px #89f4d21b}.button-primary:active{transform:scale(.992)}.button-primary span{font-size:20px;margin-right:4px}.helper{text-align:center;color:#a7b4ca;font-size:11px;line-height:1.6;margin:15px auto 0;max-width:320px}.section-heading{margin:31px 2px 12px;font-size:10px;font-weight:750;color:var(--muted);letter-spacing:.14em}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.small-card{min-width:0;padding:17px}.card-symbol{font-size:22px;margin-bottom:20px;color:var(--accent2)}.card-value{font-size:29px;font-weight:740;letter-spacing:-.03em;margin-top:6px}.card-value.small{font-size:19px;overflow-wrap:anywhere}.card-note{color:var(--muted);font-size:10px;line-height:1.5;margin-top:7px}.tools-card{padding:22px;margin-top:14px}.tools-heading{gap:12px;align-items:flex-start}.tools-heading h2{margin:7px 0 0;letter-spacing:-.04em;font-size:22px}.outlined-icon{border:1px solid #52607b;border-radius:10px;color:var(--accent2);width:30px;height:30px;display:grid;place-items:center}.tools-text{color:var(--muted);font-size:12px;line-height:1.65;margin:13px 0 16px}.tool-buttons{gap:10px}.button-outline{width:50%;background:#263650;color:var(--ink);border:1px solid #435575;font-size:12px;padding:12px 6px}.text-button{background:none;border:none;color:#b3bed3;text-decoration:underline;text-underline-offset:3px;padding:0;margin-top:20px;font-size:11px}.feedback{font-size:11px;line-height:1.5;color:var(--accent);min-height:0;margin:10px 0 0}.feedback:empty{display:none}.footer-note{text-align:center;font-size:11px;color:#91a0ba;line-height:1.8;margin:28px 0 42px}.footer-note strong{font-weight:500}footer{border-top:1px solid var(--line);padding-top:19px;color:#6f829f;letter-spacing:.12em;font-size:9px;font-weight:700;margin-top:auto}@media (max-width:360px){.app-shell{padding-left:15px;padding-right:15px}.hero-card,.tools-card{padding:18px}.orbit{width:85px;height:85px}.orbit-inner{font-size:35px}h1{font-size:34px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Version 0.2: Firebase-anslutning och säker förstagångskonflikt */
[hidden]{display:none!important}.cloud-status{display:inline-flex;align-items:center;min-height:30px;background:#1c3b41;border:1px solid #37636e;border-radius:9px;color:#b4f3e6;font-size:12px;line-height:1.5;padding:7px 11px;margin:4px 0 15px;max-width:100%;overflow-wrap:anywhere}.cloud-label{display:block;font-size:12px;font-weight:700;color:#dce8fc;margin:12px 0 7px}.tools-card textarea,.tools-card input[type="email"],.tools-card input[type="password"]{display:block;width:100%;border:1px solid #435575;border-radius:10px;background:#111c31;color:#fff;font-size:14px;padding:12px;outline-offset:3px}.tools-card textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.45;resize:vertical;min-height:118px}.cloud-hint{color:#aab6ce;font-size:11px;line-height:1.6;margin:10px 0 12px}.cloud-hint code{color:#dff4ff}.cloud-actions{margin:14px 0 0}.button-outline.wide{width:100%;margin:6px 0 0}.cloud-user{color:#c7d4eb;font-size:13px;overflow-wrap:anywhere}.choice-buttons{display:grid;gap:8px}.cloud-status.error{background:#43232f;color:#ffb7ac;border-color:#864453}.cloud-status.ok{background:#183a38;color:#89f4d2;border-color:#36846a}


/* NHL Tip v1.1 – tydligt färgtest: ljust lavendel, indigo och korall. */
/* Enbart utseende ändras; lagring och synk använder samma kod och nycklar. */
:root {
  color-scheme: light;
  --bg: #f5f2ff;
  --ink: #202342;
  --muted: #5c6480;
  --line: #dedaf3;
  --accent: #5738de;
  --accent2: #df583f;
}
html { background: var(--bg); }
body {
  background: linear-gradient(155deg,#f5f2ff 0%,#fffaf5 52%,#f1f0ff 100%);
  color: var(--ink);
}
.ambient-a { background:#a9a2ff; opacity:.28; }
.ambient-b { background:#ffb3a0; opacity:.25; }
.brand { color:#34245c; }
.brand-mark {
  background:#ede6ff;
  border-color:#c4b5ff;
  color:var(--accent);
}
.version { color:#4e4b7b; background:#ffffffb3; border-color:#cfc9e9; }
.eyebrow { color:var(--accent); }
.eyebrow-line { background:var(--accent); }
h1 { color:#222342; }
h1 em { color:var(--accent); }
.intro { color:var(--muted); }
.hero-card,.small-card,.tools-card {
  background:linear-gradient(150deg,#ffffff 0%,#fbfaff 100%);
  border:1px solid var(--line);
  box-shadow:0 10px 30px #5744b312;
}
.hero-card { border-color:#c9beff; box-shadow:0 18px 55px #6152bb1a; }
.pill { background:#ece5ff; color:#4426a6; }
.live-dot { background:#5335d8; }
.save-meta { color:#5e6681; }
.field-label { color:#68628d; }
.score { color:#262049; }
.score-caption { color:#626b86; }
.orbit {
  border-color:#c9bdf9;
  background:radial-gradient(circle,#fff0e8,#e9e5ff 62%,#f9f7ff 74%);
}
.orbit:after { border-color:#b9aaf0; }
.orbit-inner { color:#eb6648; text-shadow:0 0 22px #ee906d50; }
.button-primary {
  background:#5738de;
  color:#ffffff;
  box-shadow:0 9px 24px #5738de38;
}
.button-primary:active { background:#4327bc; }
.helper { color:#58617e; }
.section-heading { color:#5b567c; }
.card-symbol { color:#d85d46; }
.card-value { color:#2f294f; }
.card-note { color:#646c85; }
.tools-heading h2 { color:#272148; }
.outlined-icon { color:#6b4cce; border-color:#c7baf4; background:#f3efff; }
.tools-text { color:#59617f; }
.button-outline { background:#f1edff; color:#3e2f87; border:1px solid #c9bff4; }
.button-outline:active { background:#e7deff; }
.text-button { color:#5638c1; }
.feedback { color:#116f50; }
.footer-note { color:#69647f; }
footer { color:#726b90; }
.cloud-status { background:#eee9ff; border-color:#c9baf3; color:#422e91; }
.cloud-label { color:#2a284c; }
.tools-card textarea,.tools-card input[type="email"],.tools-card input[type="password"] {
  background:#ffffff;
  border-color:#bdb5df;
  color:#252344;
}
.tools-card textarea::placeholder,.tools-card input::placeholder { color:#74738c; }
.cloud-hint { color:#5e667f; }
.cloud-hint code { color:#4832b3; }
.cloud-user { color:#373259; }
.cloud-status.error { background:#fff0eb; border-color:#f1b7a8; color:#a92e21; }
.cloud-status.ok { background:#e4f7ee; border-color:#88d3af; color:#14633f; }


/* NHL Tip v1.2 – mobilförst poängliga. */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.leaders-card {
  border:1px solid #c9beff; border-radius:20px; background:#fff;
  box-shadow:0 18px 55px #6152bb16; padding:22px; margin-bottom:18px;
}
.leaders-header { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.leaders-header h2 { font-size:27px; margin:9px 0 4px; color:#242044; letter-spacing:-.04em; }
.leaders-subtitle { color:#616781; font-size:12px; line-height:1.5; margin:0 0 19px; }
.leaders-trophy { display:grid; place-items:center; font-size:28px; background:#efeaff; border:1px solid #dcd2ff; border-radius:14px; width:46px; height:46px; flex-shrink:0; }
.points-refresh { margin-bottom:12px; }
.points-refresh:disabled { opacity:.68; cursor:wait; }
.points-status { color:#5e6381; font-size:12px; line-height:1.55; margin:3px 0 15px; min-height:18px; }
.points-error { color:#ae3424; }
.points-table { border-collapse:collapse; width:100%; table-layout:fixed; font-size:12px; font-variant-numeric:tabular-nums; }
.points-table .rank-column { width:29px; }
.points-table .team-column { width:40px; }
.points-table .points-column { width:33px; }
.points-table th { color:#676282; font-size:10px; font-weight:750; letter-spacing:.03em; padding:9px 5px; border-bottom:1px solid #dedaf3; text-align:left; }
.points-table td { padding:12px 5px; border-bottom:1px solid #eeeafa; color:#3a345a; vertical-align:middle; }
.points-table td.points-player { font-weight:750; color:#2b2450; overflow-wrap:anywhere; }
.points-table td.points-rank { color:#765fb7; }
.points-table td.points-team { color:#625a8b; font-size:11px; }
.points-table th:last-child,.points-table td.points-value { text-align:right; font-weight:800; color:#5838cb; }
.points-table tr:last-child td { border-bottom:none; }
.leaders-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; font-size:10px; margin:14px 0 0; color:#66617b; }
.leaders-footer a { color:#5534cc; text-decoration:underline; text-underline-offset:2px; }
.leaders-disclaimer { color:#76728a; font-size:10px; line-height:1.6; margin:12px 0 0; }
@media (max-width:360px) { .leaders-card {padding:17px;} .leaders-header h2 {font-size:25px;} .points-table {font-size:11px;} }
