body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#e6f6ff,#f7fbff 45%,#f0fdfa);margin:0;color:#142033}main{max-width:980px;margin:auto;padding:16px;padding-bottom:40px}.hero{background:radial-gradient(circle at top left,#38bdf8 0,#0f766e 38%,#1d4ed8 100%);color:white;border-radius:30px;padding:26px;box-shadow:0 16px 42px #1235;display:flex;justify-content:space-between;align-items:center;gap:14px}h1{margin:0;font-size:40px;letter-spacing:-.05em;line-height:1}.eyebrow{font-weight:1000;opacity:.92;margin-bottom:7px}.hero p{margin:8px 0 0;font-weight:750;opacity:.92}.banner{padding:11px 14px;border-radius:16px;font-weight:1000;margin:10px 0;text-align:center}.readonly{background:#fee2e2;color:#991b1b}.editmode{background:#dcfce7;color:#166534}.papamode{background:#fef3c7;color:#92400e}.ok{background:#dcfce7;color:#166534}.warn{background:#fef3c7;color:#92400e}.syncing{background:#dbeafe;color:#1d4ed8}.progressCard,.stats div,section{background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-radius:24px;padding:16px;margin:12px 0;box-shadow:0 10px 28px #17203314}.progressTop{display:flex;justify-content:space-between;align-items:end;gap:10px}.progressTop strong{font-size:34px;letter-spacing:-.04em}.progressTop span{font-weight:900;color:#61708a}.bar{height:16px;background:#e5edf7;border-radius:999px;overflow:hidden;margin-top:12px}#progressBar{height:100%;background:linear-gradient(90deg,#16a34a,#22c55e,#84cc16);width:0%;transition:width .3s}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0}.stats b{font-size:36px;display:block;letter-spacing:-.04em}.stats span{color:#61708a;font-weight:800}nav{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}button{border:0;background:#1d4ed8;color:white;border-radius:16px;padding:13px 14px;font-weight:1000;font-size:16px;box-shadow:0 4px 12px #1d4ed824}button:active{transform:scale(.98)}.green{background:#16a34a}.danger{background:#dc2626}.wide{width:100%;margin:8px 0}.hidden{display:none}input,textarea{width:100%;box-sizing:border-box;border:2px solid #d8e1f0;border-radius:16px;padding:14px;font-size:18px;margin:6px 0;background:white}textarea{height:170px}.row{display:flex;gap:8px}.item{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf1f7;padding:13px 0;gap:10px}.name{font-weight:1000;font-size:23px}.team{font-size:13px;color:#61708a;font-weight:900}.controls{display:flex;gap:8px;align-items:center}.minus{background:#dc2626}.plus{background:#16a34a}.done{background:#7c3aed}.disabled{opacity:.35;pointer-events:none}.count{font-size:24px;font-weight:1000;min-width:32px;text-align:center}.empty{text-align:center;color:#61708a;padding:24px;font-weight:900}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.pill,.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:8px 12px;background:#eef4ff;color:#1d4ed8;font-weight:1000;margin:3px}.badge.red{background:#fee2e2;color:#991b1b}.badge.green{background:#dcfce7;color:#166534}.badge.yellow{background:#fef3c7;color:#92400e}.small{font-size:14px;color:#61708a;font-weight:800;line-height:1.4}.preview{width:100%;max-height:360px;object-fit:contain;border-radius:18px;background:#eef4ff;margin:10px 0;border:2px solid #d8e1f0}.scanFrame{border:3px dashed #16a34a;border-radius:20px;height:92px;display:grid;place-items:center;color:#166534;background:#dcfce7;margin:8px 0 12px;font-weight:1000;text-align:center}.teamGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-top:12px}.teamCard{background:linear-gradient(180deg,#ffffff,#f8fbff);border:2px solid #edf1f7;border-radius:22px;padding:14px;box-shadow:0 8px 20px #17203310}.teamHead{display:flex;align-items:center;gap:10px;margin-bottom:10px}.flag{font-size:34px;line-height:1}.teamName{font-size:18px;font-weight:1000}.teamCode{font-size:12px;color:#61708a;font-weight:1000}.teamStats{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.teamMissing{font-size:13px;color:#61708a;font-weight:800;line-height:1.35;margin-top:8px}.teamCard button{width:100%;margin-top:8px}.timelineItem{border-left:5px solid #1d4ed8;padding:10px 12px;margin:8px 0;background:#f8fbff;border-radius:14px}.snapshotItem{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid #edf1f7;padding:10px 0}@media(max-width:820px){nav{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.row{flex-direction:column}h1{font-size:32px}.hero{align-items:flex-start;flex-direction:column}.item{align-items:flex-start}.controls{margin-top:6px}}
.teamPage{font-size:13px;font-weight:1000;color:#0f766e;margin:6px 0}

.funCard h2{margin:0 0 8px}.dailyTip{font-size:18px;font-weight:1000;background:#f0fdf4;color:#166534;border-radius:18px;padding:14px}
.albumDetail{margin-top:12px}.albumHeader{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;background:linear-gradient(135deg,#eef4ff,#f0fdfa);border-radius:24px;padding:16px;margin:12px 0}
.albumTitle{font-size:28px;font-weight:1000}.albumSub{color:#61708a;font-weight:900}.albumGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.albumSticker{border:2px solid #d8e1f0;border-radius:18px;min-height:106px;padding:10px;background:white;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 8px 18px #17203310}.albumSticker .code{font-size:18px;font-weight:1000}.albumSticker .stName{font-size:12px;line-height:1.2;color:#61708a;font-weight:850}.albumSticker .status{font-size:26px}.albumSticker.got{background:#dcfce7;border-color:#22c55e}.albumSticker.missing{background:#fee2e2;border-color:#ef4444}.albumSticker.dupe{background:#fef3c7;border-color:#f59e0b}.albumSticker.special{background:#eef4ff;border-color:#60a5fa}.gold{box-shadow:0 0 0 4px #facc15,0 12px 28px #17203318}.boosterResult{background:linear-gradient(135deg,#fef3c7,#dcfce7);border-radius:22px;padding:16px;margin:12px 0;font-weight:1000}.boosterCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:10px}.boosterCard{background:white;border-radius:18px;padding:12px;box-shadow:0 8px 20px #17203314}.confetti{position:fixed;inset:0;pointer-events:none;z-index:9999;overflow:hidden}.confetti span{position:absolute;top:-20px;font-size:28px;animation:fall 1.8s linear forwards}@keyframes fall{to{transform:translateY(110vh) rotate(540deg);opacity:.2}}.levelBadge{background:#ede9fe;color:#6d28d9}.streakBadge{background:#fff7ed;color:#c2410c}@media(max-width:720px){.albumGrid{grid-template-columns:repeat(2,1fr)}.albumSticker{min-height:96px}.albumTitle{font-size:24px}}

.badgeBtn{border:0;border-radius:999px;padding:8px 12px;font-weight:1000;margin:3px;box-shadow:none;font-size:15px}
.badgeBtn.red{background:#fee2e2;color:#991b1b}
.badgeBtn.green{background:#dcfce7;color:#166534}
.badgeBtn.yellow{background:#fef3c7;color:#92400e}
.pageBtn{background:#eef4ff;color:#0f766e;box-shadow:none;width:100%;margin:6px 0;text-align:left}
.cardDetails{background:#f8fbff;border:2px solid #edf1f7;border-radius:18px;padding:10px;margin:10px 0}
.cardDetails>b{display:block;margin-bottom:8px}
.miniSticker{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;border-bottom:1px solid #e8eef7;padding:8px 0;cursor:pointer}
.miniSticker span{font-weight:1000}
.miniSticker small{font-weight:850;color:#61708a;line-height:1.2}
.miniSticker em{font-style:normal;font-weight:1000;color:#92400e}
.emptyMini{font-size:13px;color:#61708a;font-weight:900;padding:8px 0}
.smallBtn{font-size:14px;padding:9px;margin-top:8px}
.teamCard .teamMissing{margin-top:8px}

.snapshotDiff{font-size:12px;line-height:1.35;color:#61708a;font-weight:850;margin-top:6px;background:#f8fbff;border-radius:10px;padding:8px}
.snapshotButtons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.snapshotButtons button{font-size:13px;padding:9px 10px}
@media(max-width:720px){.snapshotItem{align-items:flex-start;flex-direction:column}.snapshotButtons{justify-content:flex-start}}

.engFlag{
  display:inline-block;
  width:34px;
  height:24px;
  border-radius:5px;
  border:1px solid #d1d5db;
  background:
    linear-gradient(to right, transparent 0 41%, #dc2626 41% 59%, transparent 59% 100%),
    linear-gradient(to bottom, transparent 0 38%, #dc2626 38% 62%, transparent 62% 100%),
    #fff;
  box-shadow:0 2px 5px #17203320;
  vertical-align:middle;
}
.name .engFlag{width:26px;height:18px;border-radius:4px;margin-right:4px}

.papaStickerResults{margin:10px 0}
.papaStickerCard{background:#f8fbff;border:2px solid #edf1f7;border-radius:18px;padding:12px;margin:10px 0;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}
.papaActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.papaActions button{font-size:13px;padding:9px 10px}
@media(max-width:720px){.papaStickerCard{grid-template-columns:1fr}.papaActions{justify-content:flex-start}}

.clickSticker{cursor:pointer;flex:1}
.papaModeHint{font-size:12px;color:#0f766e;font-weight:1000}
.miniSticker:hover,.albumSticker:hover,.boosterCard:hover,.clickSticker:hover{filter:brightness(.98)}
.albumSticker::after{content:''}
body:has(.papamode) .albumSticker::after{content:'🔧';font-size:14px;align-self:flex-end;opacity:.7}
body:has(.papamode) .miniSticker span::after{content:' 🔧';font-size:12px}

.modal{position:fixed;inset:0;background:rgba(15,23,42,.45);display:grid;place-items:center;z-index:99999;padding:16px}
.modal.hidden{display:none}
.modalCard{background:white;border-radius:26px;padding:20px;max-width:440px;width:min(440px,100%);box-shadow:0 24px 80px #0005;position:relative}
.modalClose{position:absolute;right:12px;top:10px;background:#eef4ff;color:#142033;box-shadow:none;border-radius:999px;width:42px;height:42px;padding:0;font-size:28px}
.modalMeta{font-weight:900;color:#61708a;margin:6px 0 12px}
.modalStatus{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.modalActions{display:grid;gap:8px}
.albumSticker{cursor:pointer}
