:root{--paper: #f4f2ee;--white: #ffffff;--ink: #201d1a;--ink2: #6f6963;--ink3: #736d65;--line: #e2ded6;--line2: #d3cec4;--accent: #a8590d;--blue: #1b3a7a;--orange: #f4a11d;--sticky-bar: 100px;--missing-bg: #ffffff;--missing-line: #ddd8d0;--missing-ink: #6f6963;--good-bg: #e8eef6;--good-line: #9db8d4;--good-ink: #2f5a80;--perfect-bg: #e3efe5;--perfect-line: #98c0a1;--perfect-ink: #2b6135;--replace-bg: #fbe9e1;--replace-line: #dfa184;--replace-ink: #96431c;--owned-bg: #e9e1f2;--owned-line: #bfa9d3;--owned-ink: #57406e}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button{cursor:pointer}.sheet{max-width:1120px;margin:0 auto;padding:0 24px}.masthead h1 img{display:block;height:auto}.masthead p{margin:0;color:var(--ink2);font-size:14px}.album-switch{position:relative;display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);margin-top:6px;padding:3px;border:1px solid var(--line2);border-radius:999px;background:var(--paper)}.album-switch:before{content:"";position:absolute;top:3px;bottom:3px;left:calc(3px + var(--album-index, 0) * (100% - 6px) / var(--album-count, 2));width:calc((100% - 6px) / var(--album-count, 2));border-radius:999px;background:var(--white);box-shadow:0 1px 2px #201d1a21;transition:left .26s cubic-bezier(.33,.9,.3,1),width .26s cubic-bezier(.33,.9,.3,1)}@media (prefers-reduced-motion: reduce){.album-switch:before{transition:none}}.album-pill{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 14px;border:none;border-radius:999px;background:none;color:var(--ink2);white-space:nowrap;transition:color .26s ease}.album-name{font-size:13.5px;font-weight:700;line-height:1.2}.album-pill{min-width:0}.album-name,.album-tally{max-width:100%;overflow:hidden;text-overflow:ellipsis}@media (max-width: 400px){.album-pill{padding:5px 4px}.album-name{font-size:12.5px}.album-tally{font-size:10px}}@media (max-width: 340px){.album-name{font-size:11.5px}.album-tally{font-size:9.5px}}@media (max-width: 300px){.album-pill{padding:5px 2px}.album-name{font-size:10.5px}.album-tally{font-size:9px}}.album-tally{font-size:10.5px;font-weight:600;line-height:1.2;color:var(--ink3);font-variant-numeric:tabular-nums}.album-pill:not(.active):hover{color:var(--accent)}.album-pill:not(.active):hover .album-tally{color:var(--accent)}.album-pill.active{color:var(--ink)}.album-pill.active .album-tally{color:var(--ink2)}.album-tally{transition:color .26s ease}.tally{display:flex;align-items:baseline;gap:10px;margin-top:26px}.tally>*{white-space:nowrap}.tally .pct{margin-left:auto}.tally .large{font-family:Arial Black,Arial Bold,Impact,sans-serif;font-style:italic;font-size:32px;color:var(--accent);font-variant-numeric:tabular-nums}.tally .of{color:var(--ink2);font-size:14px}.tally .pct{font-size:13px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;background:#a8590d17;border-radius:999px;padding:2px 8px}.bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden;display:flex;margin-top:12px}.bar span{display:block;height:100%}.bar .s-good{background:#3f7fc0}.bar .s-perfect{background:#478754}.bar .s-replace{background:var(--accent)}.bar .s-only{background:var(--ink2)}.bar span+span{box-shadow:inset 1px 0 0 var(--line)}.filters{display:flex;gap:6px;flex-wrap:wrap}.filter{display:flex;align-items:center;gap:7px;background:none;border:1px solid transparent;border-radius:999px;padding:5px 12px;font-size:14px;color:var(--ink2)}.filter:hover{background:#201d1a0d}.filter .icon,.filter .short,.share .short{display:none}.filter b{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:currentColor}.filter.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.empty{color:var(--ink2);padding:40px 0;text-align:center}.expansions{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:10px 12px}.expansion{display:contents}.expansions .band{min-width:0;margin-bottom:0;scroll-margin-top:var(--sticky-bar)}.expansions .unfold{grid-column:1 / -1;margin-bottom:30px}.band{display:flex;align-items:baseline;gap:12px;padding:7px 14px;border:1px solid transparent;border-radius:5px;margin-bottom:12px;box-shadow:0 1px #0000001f}.band h2{font-family:Arial Black,Arial Bold,Impact,sans-serif;font-style:italic;text-transform:uppercase;font-size:15px;letter-spacing:.01em;margin:0}.band h2{overflow-wrap:break-word;text-wrap:balance}.band .range,.band .count{white-space:nowrap}@media (max-width: 360px){.band{gap:8px;padding:7px 10px}.band h2{font-size:13px}.band .range,.band .count{font-size:11px}}.band .range{font-size:13px;font-variant-numeric:tabular-nums}.band .count{margin-left:auto;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.band .band-thumb{height:88px;width:62px;object-fit:cover;border:2px solid #fff;border-radius:5px;box-shadow:0 1px 3px #0000004d}.band.boxed{display:grid;grid-template-columns:auto auto auto 1fr;grid-template-rows:auto auto 1fr;column-gap:12px;row-gap:2px;align-items:center}.band.boxed .fold{grid-row:1 / 4;grid-column:1}.band.boxed .band-thumb{grid-row:1 / 4;grid-column:2}.band.boxed h2{grid-row:1;grid-column:3 / 5}.band.boxed .range{grid-row:2;grid-column:3 / 5;font-size:12px}.band.boxed .band-progress{grid-row:3;grid-column:3 / 5;align-self:center;display:flex;flex-direction:column;gap:6px;min-width:0}.band.boxed .count{margin-left:0;font-size:14px}.band-meter{position:relative;display:block;height:7px;border-radius:999px;overflow:hidden}.band-meter:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:currentColor;opacity:.22}.band-meter-fill{position:relative;display:block;height:100%;min-width:7px;border-radius:999px;background:currentColor;transition:width .3s ease}@media (prefers-reduced-motion: reduce){.band-meter-fill{transition:none}}.unfold{display:grid}.unfold>.unfold-inner{min-height:0;overflow:hidden}.unfold.opening{animation:unfold .26s ease}@keyframes unfold{0%{grid-template-rows:0fr;opacity:0;margin-bottom:0}to{grid-template-rows:1fr;opacity:1;margin-bottom:30px}}.unfold.closing{animation:refold .22s ease forwards}@keyframes refold{0%{grid-template-rows:1fr;opacity:1;margin-bottom:30px}to{grid-template-rows:0fr;opacity:0;margin-bottom:0}}@media (prefers-reduced-motion: reduce){.unfold.opening{animation:none}.unfold.closing{animation-duration:.01s}}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:6px}.card{aspect-ratio:1;border:1px solid var(--missing-line);background:var(--missing-bg);color:var(--missing-ink);border-radius:4px;font-size:13px;font-variant-numeric:tabular-nums;padding:0;transition:transform .08s ease}.card:hover{transform:scale(1.08);border-color:var(--ink3)}.card:active{transform:scale(.96)}.card:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.grid.detailed{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px}.grid.detailed .card{aspect-ratio:auto;min-height:74px;padding:9px 10px 8px;display:flex;flex-direction:column;justify-content:center;gap:2px;text-align:left;transition:none}.grid.detailed .card:hover{transform:none;border-color:var(--ink3)}.grid.detailed .card:active{transform:none}.detail-label{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:1}.detail-name{font-size:14px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.backup-detail{font-size:11.5px;font-variant-numeric:tabular-nums}.grid.detailed .card.with-photo{flex-direction:row;align-items:center;gap:10px}.detail-photo{width:45px;height:62px;flex:none;object-fit:cover;border:2px solid #fff;border-radius:5px;box-shadow:0 1px 3px #00000040}.detail-texts{display:flex;flex-direction:column;gap:2px;min-width:0}.grid.detailed .card .variant-mark{bottom:6px;right:8px;left:auto}.grid.detailed .card>span{padding-right:20px}.card.good{background:var(--good-bg);border-color:var(--good-line);color:var(--good-ink)}.card.perfect{background:var(--perfect-bg);border-color:var(--perfect-line);color:var(--perfect-ink);font-weight:600}.card.replace{background:var(--replace-bg);border-color:var(--replace-line);color:var(--replace-ink)}.card.owned{background:var(--owned-bg);border-color:var(--owned-line);color:var(--owned-ink)}.loading{padding:80px 0;color:var(--ink2)}.almost{display:flex;align-items:center;gap:10px;width:100%;margin-top:18px;padding:9px 12px 9px 14px;border:1px solid;border-radius:8px;background:none;font:inherit;text-align:left;cursor:pointer}.almost-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:13.5px}.almost-count{flex:none;font-size:13px}.almost-count b{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}.almost-go{flex:none}.almost:active{filter:brightness(.96)}.almost:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.add-number{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:34px;margin-top:14px;padding:6px 15px;border:1px solid var(--line2);border-radius:999px;background:none;color:var(--ink2);font-size:13.5px;font-weight:600;cursor:pointer}.add-number:hover{border-color:var(--accent);color:var(--accent)}.add-number:after{content:"";position:absolute;left:0;right:0;top:-5px;bottom:-5px}.add-number svg{flex:none}.card{position:relative}.card .variant-mark{position:absolute;bottom:2px;left:3px;font-size:9.5px;font-weight:700;line-height:1;letter-spacing:.03em;opacity:1;color:inherit}.card.variant{border-style:dashed}.card .dupes{position:absolute;top:3px;right:3px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;line-height:15px;text-align:center}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#201d1a6b;display:flex;align-items:center;justify-content:center;padding:20px}.dialog{background:var(--white);border-radius:10px;padding:22px;width:300px;box-shadow:0 18px 50px #201d1a4d;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain}.dialog h3{font-family:Arial Black,Arial Bold,Impact,sans-serif;font-style:italic;text-transform:uppercase;font-size:17px;margin:0;color:var(--accent)}.dialog p{margin:2px 0 16px;color:var(--ink2);font-size:14px}.dialog.celebration{text-align:center}.dialog.celebration h3{font-size:20px;margin-bottom:8px}.dialog.celebration p{font-size:15px;color:var(--ink)}.dialog.celebration .primary{width:100%}.fireworks{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:21;pointer-events:none}@media (prefers-reduced-motion: no-preference){.dialog.celebration{animation:celebration-in .32s cubic-bezier(.2,1.4,.4,1) both}}@keyframes celebration-in{0%{transform:scale(.86);opacity:0}}.dialog .eye{background:var(--replace-bg);border:1px solid var(--replace-line);color:var(--replace-ink);border-radius:6px;padding:9px 11px;margin:0 0 14px;font-size:13.5px;line-height:1.45}.dialog .option{display:block;width:100%;text-align:left;padding:10px 13px;margin-bottom:7px;border-radius:6px;border:1px solid;font-weight:600}.dialog .option.good{background:var(--good-bg);border-color:var(--good-line);color:var(--good-ink)}.dialog .option.perfect{background:var(--perfect-bg);border-color:var(--perfect-line);color:var(--perfect-ink)}.dialog .option.replace{background:var(--replace-bg);border-color:var(--replace-line);color:var(--replace-ink)}.dialog .option:hover{filter:brightness(.96)}.dialog .exits{display:flex;gap:14px;justify-content:center}.dialog .exits .cancel{margin-top:12px}.dialog .cancel{display:block;width:100%;margin-top:6px;padding:8px;background:none;border:none;color:var(--ink2);font-size:13px}.dialog .cancel:hover{color:var(--accent)}.card{touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.card:active{transform:scale(.9)}.card.subtracting{transform:scale(1.06);box-shadow:0 0 0 3px var(--accent);z-index:1}@media (prefers-reduced-motion: reduce){.card.subtracting{transform:none}}.login{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:32px 20px}.login-box{width:100%;max-width:360px;text-align:center}.login-logo{display:block;width:100%;max-width:260px;height:auto;margin:0 auto 12px}.login-tagline{margin:0 0 28px;color:var(--ink2);font-size:14px;font-weight:400}.login-form{display:flex;flex-direction:column;gap:14px;text-align:left}.login-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink2)}.profile-form{display:grid;grid-template-columns:1fr 1fr;align-items:start}.profile-form>*{grid-column:1 / -1}.profile-form .field-firstName{grid-column:1}.profile-form .field-middleName{grid-column:2}.profile-form{column-gap:10px}.login-form input{width:100%;font-size:16px;color:var(--ink);background:var(--white);border:1px solid var(--line2);border-radius:6px;padding:11px 12px}.login-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #a8590d26}.login-form .stacked-field{display:flex;flex-direction:column;gap:6px}.phone{display:flex;gap:8px}.phone input{flex:1;min-width:0}.phone-country{position:relative;flex:none;display:flex;align-items:center;gap:7px;padding:0 10px 0 12px;font-size:16px;color:var(--ink);background:var(--white);border:1px solid var(--line2);border-radius:6px}.phone-country svg{color:var(--ink3)}.phone-country select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}.phone-country select:disabled{cursor:default}.phone-country:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #a8590d26}.phone-flag{display:block;width:21px;height:14px;border-radius:2px;box-shadow:0 0 0 1px #00000024}.login-form .stacked-field input[aria-invalid],.login-form .stacked-field input[aria-invalid]:focus{border-color:var(--replace-ink);box-shadow:0 0 0 3px #96431c38}.province{position:relative}.login-form .province input{padding-right:38px}.province-chevron{position:absolute;right:14px;top:17px;color:var(--ink3);pointer-events:none}.province-pop{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:2;max-height:232px;overflow-y:auto;background:var(--white);border:1px solid var(--line2);border-radius:6px;box-shadow:0 10px 28px #201d1a2e}.province.up .province-pop{top:auto;bottom:calc(100% + 4px)}.province-pop ul{list-style:none;margin:0;padding:4px 0}.province-pop li{padding:12px 14px;font-size:15px;line-height:20px;color:var(--ink);cursor:pointer}.province-pop li[aria-selected=true]{background:#a8590d1a}.province-pop li.chosen{font-weight:600}.province-none{margin:6px 0 0;font-size:13px;color:var(--ink2)}.primary{min-height:46px;margin-top:4px;background:var(--accent);border:1px solid var(--accent);color:#fff;font-weight:600;border-radius:6px;padding:11px 14px;font-size:16px}.primary:hover{filter:brightness(1.06)}.primary:disabled{background:var(--paper);border-color:var(--line2);color:var(--ink3);filter:none;cursor:default}.secondary{min-height:44px;background:none;border:none;color:var(--ink2);font-size:14px;padding:4px}.secondary:hover{color:var(--accent)}.login-form .forgot{display:block;min-height:44px;padding:12px 8px 0;text-align:center;font-size:13px;color:var(--ink3);text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px}.login-form .forgot:hover{color:var(--accent);text-decoration-color:currentColor}.login-form .notice-session{margin:0;padding:9px 12px;border-radius:6px;background:var(--good-bg);border:1px solid var(--good-line);color:var(--good-ink);font-size:13.5px}.login-form .error{margin:0;font-size:13px;color:var(--replace-ink);background:var(--replace-bg);border:1px solid var(--replace-line);border-radius:6px;padding:9px 11px}@media (max-height: 560px){.login{align-items:flex-start;padding:18px 20px}.login-logo{max-width:150px;margin-bottom:8px}.login-tagline{margin-bottom:16px;font-size:13px}.login-form{gap:10px}}.filter.f-all{border-color:var(--line2)}.filter.f-missing{border-color:var(--missing-ink)}.filter.f-dupes{border-color:var(--accent)}.filter.f-replace{border-color:var(--replace-line)}.filter.f-variants{border-color:var(--owned-line)}.filter:not(.active).f-missing{color:var(--missing-ink)}.filter:not(.active).f-dupes{color:var(--accent)}.filter:not(.active).f-replace{color:var(--replace-ink)}.filter:not(.active).f-variants{color:var(--owned-ink)}.filter.active{background:var(--accent);border-color:var(--accent)}.dialog.wide{width:min(560px,100%)}.dialog .option.simple{background:var(--paper);border-color:var(--line2);color:var(--ink)}.dialog .option.copy{background:var(--accent);border-color:var(--accent);color:#fff;text-align:center}.dialog .list{display:block;width:100%;height:260px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;overflow:auto;color:var(--ink);background:var(--paper);border:1px solid var(--line2);border-radius:6px;padding:10px;margin-bottom:10px}.dialog .options{max-height:46vh;overflow-y:auto;margin-bottom:4px}.dialog .option b{float:right;font-variant-numeric:tabular-nums;color:var(--ink2)}.dialog .nothing{color:var(--ink3);font-size:13px;margin-bottom:10px}.share{display:grid;transition:color .45s ease,border-color .45s ease;place-items:center;flex:none;width:38px;height:38px;padding:0;border-radius:999px;border:1px solid var(--line2);background:none;color:var(--ink2)}.share:hover{color:var(--accent);border-color:var(--accent)}@keyframes wink{0%,60%,to{transform:scale(1)}12%{transform:scale(1.16)}26%{transform:scale(.97)}40%{transform:scale(1.1)}}.share.wink{animation:wink 1.5s ease-in-out;border-color:var(--accent);color:var(--accent)}@media (prefers-reduced-motion: reduce){.share.wink{animation:none}}.dialog .option.selectable{display:flex;align-items:center;gap:9px;font-weight:500}.dialog .option.selectable.checked{border-color:var(--accent);font-weight:600}.dialog .option.selectable b{float:none;margin-left:auto}.check{flex:none;display:grid;place-items:center;width:17px;height:17px;border-radius:4px;border:1px solid var(--line2);background:var(--white);color:#fff}.check.on{background:var(--accent);border-color:var(--accent)}.dialog .show{display:block;width:100%;min-height:46px;margin-top:6px;padding:11px 14px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-weight:600;font-size:15px}.dialog .show:disabled{background:var(--paper);border-color:var(--line2);color:var(--ink3);cursor:default}.band .fold{align-self:center;flex:none;display:grid;place-items:center;width:32px;height:32px;margin:-6px -2px -6px -8px;padding:0;border:none;border-radius:6px;background:none;color:inherit}.band .fold{-webkit-tap-highlight-color:transparent}.band .fold:focus:not(:focus-visible){outline:none}@media (hover: hover){.band .fold:hover{background:#00000017}}.band .fold svg{transition:transform .15s ease}.band .fold.closed svg{transform:rotate(-90deg)}.band .count.complete{display:inline-flex;align-items:center;gap:5px;opacity:1}.band .count.complete svg{flex:none}.column{max-width:1120px;margin:0 auto;padding:0 24px}.masthead{background:var(--white);border-bottom:1px solid var(--line);padding:22px 0 20px}.masthead .column{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px 48px}.masthead h1{margin:0 0 6px}.masthead h1 img{width:240px;max-width:70vw}.masthead .side{flex:0 1 400px;min-width:0;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.masthead .side .progress{width:100%;min-width:0}.progress .tally{margin-top:0}.open-panel{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 15px;border:1px solid var(--line2);border-radius:999px;background:none;color:var(--ink2);font-size:13.5px;font-weight:600}.open-panel:hover{border-color:var(--accent);color:var(--accent)}.header-actions{display:flex;align-items:center;gap:8px}.profile-button{position:relative;display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line2);border-radius:50%;background:none;color:var(--ink2);cursor:pointer}.profile-button:hover{border-color:var(--accent);color:var(--accent)}.profile-button:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px}.profile-account{margin:-2px 0 14px;font-size:13.5px;color:var(--ink2);overflow-wrap:anywhere}.profile-account b{color:var(--ink)}.open-panel svg{flex:none}@media (max-width: 380px){.open-panel{position:relative;width:34px;padding:0;gap:0;justify-content:center}.open-panel-label{display:none}.open-panel.has-alert:before{position:absolute;top:3px;right:3px}}.open-panel.has-alert{color:var(--replace-ink)}.open-panel.has-alert:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--replace-ink);flex:none}.toolbar{position:sticky;top:0;z-index:5;background:var(--white);border-bottom:1px solid var(--line);box-shadow:0 8px 16px -14px #201d1a80;padding:10px 0}.toolbar .column{display:flex;align-items:flex-start;gap:12px}.toolbar .filters{flex:1 1 auto;min-width:0}.toolbar .share{margin-left:auto}.help{margin:16px 0 22px;font-size:13px;color:var(--ink3)}@media (max-width: 640px){.masthead .column{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px 12px}.masthead .mark,.masthead .side{display:contents}.masthead h1{grid-area:1 / 1;align-self:center;min-width:0}.masthead .header-actions{grid-area:1 / 2;align-self:center}.masthead .album-switch{grid-area:2 / 1 / 3 / -1}.masthead .progress{grid-area:3 / 1 / 4 / -1}.masthead h1 img{max-width:100%}}.footer{margin-top:48px;background:var(--white);border-top:1px solid var(--line);padding:20px 0 30px;font-size:13px}.footer .column{display:flex;flex-direction:column;gap:14px}.footer-account,.footer-backups{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px}.footer-status{min-width:0}.footer-account{justify-content:space-between}.footer .notice{color:#9a5518}.footer .notice b,.footer .saving b{font-weight:700}.footer .saving{color:var(--perfect-ink)}.footer .saving:before{content:"● ";color:#4f9a63}.footer .logout{background:none;border:1px solid var(--line2);border-radius:999px;padding:6px 18px;color:var(--ink2)}.error-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.retry{min-height:40px;padding:9px 16px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-weight:600;font-size:15px}.retry:hover{filter:brightness(1.06)}.trouble{max-width:440px;margin:clamp(28px,9vh,96px) auto 48px;text-align:center}.trouble-logo{display:block;width:190px;height:auto;margin:0 auto 22px}.trouble-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:28px 24px 22px;box-shadow:0 1px 2px #0000000a}.trouble-icon{display:block;margin:0 auto 10px;color:var(--ink2)}.trouble h1{font-size:20px;line-height:1.3;margin:0 0 10px}.trouble h1:focus{outline:none}.trouble-calm{color:var(--ink2);margin:0 0 22px}.trouble-retry{width:100%;margin-top:0;display:inline-flex;align-items:center;justify-content:center;gap:10px}.trouble-spinner{width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:trouble-spin .8s linear infinite}@keyframes trouble-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.trouble-spinner{animation:none}}.trouble-status{font-size:13px;color:var(--ink3);margin:10px 0 0}.trouble-last{display:block}.trouble h1,.trouble-calm,.trouble-status{text-wrap:balance}.trouble-help{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.trouble-help p{margin:0 0 8px;font-size:13px;color:var(--ink3)}.trouble-contact{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 14px;border:1px solid var(--line2);border-radius:6px;background:var(--white);color:var(--ink);font-weight:600;text-decoration:none}.trouble-contact:hover{border-color:var(--accent);color:var(--accent)}.trouble-retry:focus-visible,.trouble-contact:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.trouble-logout{margin-top:14px}@media (max-width: 560px){.trouble-logo{width:160px;margin-bottom:18px}.trouble-card{padding:24px 18px 18px;border-radius:12px}.trouble h1{font-size:19px}}.footer .notice-file{color:var(--replace-ink);font-size:13px}.footer .logout:hover:not(:disabled){border-color:var(--replace-line);color:var(--replace-ink)}.footer .logout:disabled{border-color:var(--line);color:var(--ink3);cursor:default}.footer-backups{padding-top:14px;border-top:1px solid var(--line)}.footer-label{color:var(--ink3);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.footer .link{min-height:32px;background:none;border:none;padding:0;color:var(--ink2);text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px}.footer .link:hover{color:var(--accent);text-decoration-color:currentColor}.footer-mark{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;padding-top:14px;border-top:1px solid var(--line);color:var(--ink3)}.footer-site{font-weight:600;color:var(--ink2)}.footer .alias{display:inline-flex;align-items:center;gap:6px;border:1px dashed var(--line2);border-radius:6px;background:var(--paper);padding:3px 9px;color:var(--ink);font-variant-numeric:tabular-nums}.footer .alias .copy-icon{flex:none}.footer .alias:hover{border-color:var(--accent);color:var(--accent)}.skip{position:fixed;top:0;left:-9999px;z-index:60;padding:11px 18px;border-radius:0 0 8px;background:var(--accent);color:#fff;font-weight:600;text-decoration:none}.skip:focus{left:0}.sheet[id]{scroll-margin-top:var(--sticky-bar)}@media (max-width: 560px){.toolbar{position:fixed;top:auto;bottom:0;left:0;right:0;z-index:20;padding:0;border-top:1px solid var(--line);border-bottom:none;box-shadow:0 -8px 16px -14px #201d1a80;padding-bottom:env(safe-area-inset-bottom,0px)}.toolbar .column{display:flex;align-items:stretch;gap:0;padding:0;max-width:none}.toolbar .filters{display:flex;flex:4 1 0;flex-wrap:nowrap;overflow:visible;gap:0;padding:0;background:none;border:none}.toolbar .share{margin:0}.toolbar .share{width:auto;height:auto;border:none;border-radius:0}.filter,.toolbar .share{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;padding:7px 2px 8px;border:none;border-radius:0;background:none;color:var(--ink2);font-size:10.5px;font-weight:600;line-height:1.1}.toolbar .share.wink{color:var(--accent)}.filter .icon,.share .icon{display:block;flex:none}.filter .long{display:none}.filter .short,.share .short{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter{position:relative}.filter b{font-size:10px;font-weight:700;line-height:1.1;opacity:1}.filter.active{background:#201d1a0b;font-weight:700}.filter.active.f-all{color:var(--ink2)}.filter.active.f-missing{color:var(--missing-ink)}.filter.active.f-dupes{color:var(--accent)}.filter.active.f-replace{color:var(--replace-ink)}.filter.active.f-variants{color:var(--owned-ink)}.filter.active:before{content:"";position:absolute;top:0;left:16%;right:16%;height:2.5px;border-radius:0 0 3px 3px;background:currentColor}.filter:hover{background:none}.filter.active:hover{background:#201d1a0b}body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}:root{--sticky-bar: 8px}}.band .fold,.footer .link,.footer .alias,.open-panel,.album-pill,.filter{position:relative}.band .fold:after,.footer .link:after,.footer .alias:after,.open-panel:after,.album-pill:after,.filter:after{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:100%;min-height:44px}.band .fold:after{left:-6px;right:-6px;min-width:44px}.error-actions .secondary{position:relative}.error-actions .secondary:after{content:"";position:absolute;left:-5px;right:-5px;top:50%;transform:translateY(-50%);height:100%;min-height:44px;min-width:44px}.card.unsaved{outline:2px solid var(--accent);outline-offset:-2px}.footer-status .which{font-weight:600;font-variant-numeric:tabular-nums}.keyboard-only{display:none}@media (hover: hover) and (pointer: fine){.keyboard-only{display:inline}}.dialog-note{margin:0 0 4px;color:var(--ink2);font-size:13.5px;line-height:1.45}.footer-actions{display:flex;align-items:center;gap:16px}.install{position:fixed;left:10px;right:10px;bottom:10px;z-index:15;display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;border:1px solid var(--line2);background:var(--white);box-shadow:0 10px 30px #201d1a38;animation:peek .3s ease-out}@keyframes peek{0%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.install{animation:none}}body.with-install-bar{padding-bottom:var(--install-height, 150px)}@media (max-width: 560px){.install{bottom:calc(66px + env(safe-area-inset-bottom,0px))}body.with-install-bar{padding-bottom:calc(var(--install-height, 150px) + 64px)}}.install img{flex:none;width:38px;height:38px;border-radius:9px;border:1px solid var(--line2);background:var(--paper)}.install-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.install-text b{font-size:13.5px}.install-text span{font-size:12.5px;color:var(--ink2);line-height:1.35}.install .glyph{vertical-align:-3px;margin:0 1px}.install-yes{flex:none;padding:9px 14px;border-radius:999px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-weight:700;font-size:13px}.install-no{flex:none;display:grid;place-items:center;width:32px;height:32px;padding:0;border-radius:999px;border:1px solid var(--line);background:none;color:var(--ink3)}.install-no:hover{color:var(--ink);border-color:var(--line2)}.print-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#fff;overflow-y:auto;overscroll-behavior:contain}.print-sheet-bar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:14px;padding:10px 16px;background:#fff;border-bottom:1px solid #ddd}.print-table-scroll{overflow-x:auto}.print-sheet-bar{flex-wrap:wrap}.print-sheet-actions{display:flex;gap:14px;flex-wrap:wrap}.print-sheet-body{max-width:900px;margin:0 auto;padding:18px 16px 40px}.print-sheet-body h1{font-size:20px;margin:0 0 4px}.print-sheet-legend{color:#555;font-size:13px;margin:0 0 18px}.print-table{margin-bottom:26px}.print-table h2{font-size:15px;margin:0 0 6px}.print-table h2 span{font-weight:400;color:#555;font-size:13px}.print-table table{border-collapse:collapse;width:100%}.print-table th,.print-table td{border:1px solid #bbb;padding:3px 6px;font-size:12px;text-align:center;height:22px}.print-table th span{font-weight:600;white-space:nowrap}.print-table-key{color:#555;font-size:12px;margin:0 0 8px}.print-sheet-url{color:#555;font-weight:600;font-size:13px;margin:6px 0 0}.print-table .card-col{text-align:left;white-space:nowrap;font-variant-numeric:tabular-nums;position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 #bbb}.print-table td.absent{background:#d9d9d9;color:#8a8a8a}.print-table td.owned{font-weight:700}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;width:248px;padding:18px 14px 14px;background:var(--white);border-right:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;padding:2px 8px 20px}.sidebar-brand img{display:block;border-radius:9px}.sidebar-close{display:none;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line2);border-radius:50%;background:none;color:var(--ink2);cursor:pointer}.sidebar-label{margin:6px 12px 8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}.sidebar-list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.sidebar-item{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 12px;border:none;border-radius:12px;background:none;color:var(--ink2);font-size:14px;font-weight:600;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .18s ease,color .18s ease}.sidebar-item svg{flex:none}@media (hover: hover){.sidebar-item:hover{background:var(--paper);color:var(--ink)}}.sidebar-item.active{background:#f4a11d2b;color:var(--accent)}.sidebar-item.has-alert:after{content:"";width:8px;height:8px;margin-left:auto;border-radius:50%;background:var(--replace-ink)}.sidebar-user{display:flex;align-items:center;gap:10px;margin-top:auto;padding:14px 10px 4px;border-top:1px solid var(--line)}.sidebar-avatar{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--paper);border:1px solid var(--line2);color:var(--ink2);font-size:13px;font-weight:700}.sidebar-username{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;color:var(--ink2)}.sidebar-scrim{display:none}.menu-button{position:relative;display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line2);border-radius:50%;background:none;color:var(--ink2);cursor:pointer}.menu-button:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px}@media (min-width: 1024px){body{padding-left:248px}.menu-button{display:none}}@media (max-width: 1023px){.sidebar{z-index:30;width:min(280px,86vw);transform:translate(-100%);visibility:hidden;transition:transform .26s cubic-bezier(.33,.9,.3,1),visibility 0s linear .26s;box-shadow:none}.sidebar.open{transform:none;visibility:visible;transition-delay:0s;box-shadow:0 0 40px #201d1a40}.sidebar-close{display:inline-grid}.sidebar-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;background:#201d1a6b;opacity:0;pointer-events:none;transition:opacity .26s ease}.sidebar-scrim.open{opacity:1;pointer-events:auto}}@media (prefers-reduced-motion: reduce){.sidebar,.sidebar-scrim{transition:none}}.collection-checks{list-style:none;margin:0 0 6px;padding:0}.collection-check{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 6px;border-radius:8px;color:var(--ink);font-size:15px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.collection-check input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--accent);cursor:inherit}@media (hover: hover){.collection-check:hover{background:var(--paper)}}.progress-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.progress-actions .add-number{margin-top:0}.dialog.bulk{width:380px;max-width:calc(100vw - 40px)}.bulk-step{margin:2px 0 12px;font-size:13px}.bulk-step b{color:var(--ink)}.dialog .bulk-choice{display:flex;flex-direction:column;gap:2px;min-height:56px;padding:12px 14px;margin-bottom:8px;background:var(--white);border-color:var(--line2);border-radius:10px;color:var(--ink);cursor:pointer}.bulk-choice span{font-size:15px;font-weight:700}.bulk-choice small{color:var(--ink2);font-size:13px;font-weight:400}@media (hover: hover){.dialog .bulk-choice:hover{border-color:var(--accent)}}.bulk-tip{margin:6px 0 4px;font-size:13px}.bulk-group{min-width:0;margin:0 0 16px;padding:0;border:0}.bulk-group legend{margin:0 0 6px;padding:0;color:var(--ink);font-size:14px;font-weight:700}.bulk-group legend span{color:var(--ink2);font-weight:400}.bulk-list{max-height:232px;overflow-y:auto;overscroll-behavior:contain;padding:2px 4px;border:1px solid var(--line);border-radius:8px}.bulk .collection-check{align-items:center}.bulk-row{display:flex;flex-direction:column;padding:6px 0;line-height:1.3}.bulk-row b{font-size:14.5px}.bulk-row small{color:var(--ink2);font-size:12.5px;font-weight:400}.bulk-range{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bulk-range label{display:flex;flex-direction:column;gap:4px;color:var(--ink2);font-size:13px}.bulk-range input,.bulk-except input{width:100%;padding:11px 12px;background:var(--white);border:1px solid var(--line2);border-radius:6px;color:var(--ink);font-size:16px}.bulk-range input:focus,.bulk-except input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #a8590d26}.bulk-hint{display:block;margin-top:6px;color:var(--ink2);font-size:12.5px;line-height:1.4}.dialog .bulk-all{color:var(--ink);font-size:15px}.dialog .bulk-big{margin:4px 0 10px;color:var(--ink);font-size:17px;line-height:1.35}.bulk-facts{margin:0 0 14px;padding-left:18px;color:var(--ink2);font-size:14px;line-height:1.5}.dialog .bulk-celebrate{color:var(--ink);font-size:15px}.bulk .error{margin:0 0 10px;padding:9px 11px;background:var(--replace-bg);border:1px solid var(--replace-line);border-radius:6px;color:var(--replace-ink);font-size:13.5px}.bulk .primary{display:block;width:100%}.bulk .secondary{display:block;width:100%;margin-top:2px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.bulk-actions{position:sticky;bottom:-22px;margin:0 -22px -22px;padding:10px 22px 22px;background:var(--white);border-top:1px solid var(--line)}.bulk-actions .error{margin-bottom:8px}.bulk .cancel{min-height:44px}.bulk-minor{display:flex;justify-content:space-between;gap:12px;margin-top:2px}.dialog .bulk-minor .secondary,.dialog .bulk-minor .cancel{width:auto;min-height:44px;margin:0;padding:4px 10px;font-size:14px}.bulk .undo{min-height:44px;margin-bottom:10px;border:1px solid var(--line2);border-radius:6px;color:var(--ink);font-weight:600}.bulk .undo:hover{border-color:var(--accent)}.finish-thumb{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;border:1px solid var(--line2);object-fit:cover;background:var(--paper)}.finish-thumb.plain{font-size:11px;font-weight:700;color:var(--ink2)}.dialog .option.with-thumb{display:flex;align-items:center;gap:12px}.dialog .option.with-thumb .option-name{flex:1;min-width:0}.dialog .option.with-thumb b{float:none;margin-left:auto}.finish-section h4{margin:14px 0 8px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}.finish-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(84px,100%),1fr));gap:10px}.finish-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border:1px solid var(--line2);border-radius:8px;background:var(--paper);text-align:center}.finish-tile .finish-thumb{width:56px;height:56px;border-radius:8px;font-size:14px}.finish-tile b{font-size:13px;line-height:1.2;color:var(--ink)}.finish-tile small{font-size:12px;color:var(--ink2)}.card.variant.filled{border-style:solid;border-color:#201d1a59}.card .face-number,.card.filled .variant-mark{background:#ffffffe6;color:var(--ink);border-radius:4px}.card .face-number{padding:0 5px;line-height:1.4;font-weight:600}.card.filled .variant-mark{padding:1px 3px;bottom:3px;left:3px}.grid.detailed .card.filled .detail-name,.grid.detailed .card.filled .detail-label,.grid.detailed .card.filled .backup-detail{background:#ffffffe6;color:var(--ink);border-radius:4px;padding:0 5px;align-self:flex-start}.print-table th span.on-photo{background:#ffffffe6;color:#1a1a1a;border-radius:3px;padding:0 3px}
