*{box-sizing:border-box}:root{--green:#06a84f;--green-dark:#02753d;--green-soft:#dcf8e8;--navy:#171b45;--yellow:#ffdf00;--ink:#111827;--muted:#64748b;--line:#dbe5dd;--paper:#fff;--page:#f2f7f1}html{background:var(--page)}body{background:var(--page);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border-bottom:1px solid #0f172a14;position:sticky;top:0}.topbar-inner,.main{width:min(1180px,100vw - 24px);margin:0 auto}.topbar-inner{justify-content:space-between;align-items:center;gap:16px;min-height:64px;display:flex}.brand{align-items:center;gap:12px;min-width:0;text-decoration:none;display:flex}.brand-mark{background:var(--navy);color:#fff;border-radius:10px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.brand-title{font-size:1rem;font-weight:900;line-height:1.1}.brand-subtitle{color:var(--muted);margin-top:2px;font-size:.78rem}.main{flex:1;padding:18px 0 44px}.auth-panel,.legal-page{border:1px solid var(--line);background:var(--paper);border-radius:14px;width:min(460px,100%);margin:42px auto;padding:24px;box-shadow:0 18px 60px #0f172a14}.legal-page{width:min(860px,100%);line-height:1.65}.auth-panel h1,.legal-page h1{margin:0 0 8px;font-size:clamp(1.5rem,4vw,2.1rem)}.legal-page h2{margin:28px 0 8px;font-size:clamp(1.15rem,3vw,1.45rem)}.auth-panel p,.legal-page p,.legal-page li{color:#334155}.legal-page a{color:var(--green-dark);text-underline-offset:3px;font-weight:850;text-decoration-thickness:2px}.form-grid{gap:13px;margin-top:18px;display:grid}.field{gap:6px;display:grid}.field span,.field>label{color:#475569;font-size:.82rem;font-weight:800}.field input,.app-search input,.mobile-search-field input{width:100%;color:var(--ink);background:#fbfdfa;border:1px solid #cbd7ce;border-radius:12px;outline:none;padding:12px 13px}.field input:focus,.app-search input:focus,.mobile-search-field input:focus{border-color:var(--green);box-shadow:0 0 0 3px #06a84f29}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.auth-mode-tabs{background:#f8fbf7;border:1px solid #dbe7de;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0 4px;padding:5px;display:grid}.auth-mode-tabs button{color:#526174;background:0 0;border:0;border-radius:10px;min-height:40px;font-weight:900}.auth-mode-tabs button.active{background:var(--green-dark);color:#fff;box-shadow:0 10px 24px #02753d2e}.password-input-wrap{background:#fbfdfa;border:1px solid #cbd7ce;border-radius:12px;align-items:center;width:100%;display:flex;overflow:hidden}.password-input-wrap:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #06a84f29}.password-input-wrap input{min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;flex:1}.password-input-wrap input:focus{box-shadow:none;border-color:#0000}.password-toggle{color:#526174;background:0 0;border:0;place-items:center;width:42px;min-height:42px;display:grid}.field-error{color:#b42318;margin:-2px 0 0;font-size:.78rem;font-weight:800}.password-requirements{gap:6px;margin:0;padding:2px 0 0;list-style:none;display:grid}.password-requirements li{color:#64748b;align-items:center;gap:7px;font-size:.78rem;font-weight:800;display:flex}.password-requirements li svg{color:#b42318}.password-requirements li.met,.password-requirements li.met svg{color:#02753d}.auth-success strong{color:var(--ink)}.unverified-panel,.first-use-panel{color:#075c34;background:#f2fff7;border:1px solid #c7e7d1;border-radius:14px;padding:12px}.unverified-panel{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;font-weight:850;display:flex}.unverified-panel .text-button{white-space:nowrap}.icon-button,.text-button,.quantity-button,.nav-button{min-height:40px;color:var(--ink);background:#fff;border:1px solid #cbd7ce;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:8px 13px;font-weight:850;display:inline-flex}.text-button:disabled{cursor:not-allowed;opacity:.48}.icon-button{width:42px;padding:0}.primary{border-color:var(--green-dark);background:var(--green-dark);color:#fff}.translucent{color:#fff;background:#ffffff26;border-color:#ffffff38}.subtle{background:#0f172a0f;border-color:#0000}.notice{color:#604710;background:#fff7d1;border:1px solid #e4c45b;border-radius:12px;align-items:center;gap:8px;margin-bottom:14px;padding:11px 13px;font-weight:780;display:flex}.error{color:#96352d;background:#fff1ef;border-color:#efb4ad}.album-app{gap:14px;display:grid}.album-hero{color:#fff;background:linear-gradient(145deg,#ffdf002e,#0000 42%),linear-gradient(#04aa50 0%,#039747 100%);border-radius:18px;align-content:end;gap:18px;min-height:230px;padding:clamp(20px,4vw,34px);display:grid;position:relative;overflow:hidden;box-shadow:0 24px 70px #02753d38}.album-hero:before{content:"";background:var(--navy);opacity:.22;border-radius:999px 0 0;width:46%;height:58%;position:absolute;inset:auto -8% -18% auto;transform:rotate(-8deg)}.album-hero>*{position:relative}.eyebrow{color:currentColor;opacity:.78;letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:.73rem;font-weight:900}.album-hero h1{max-width:720px;margin:0;font-size:clamp(2rem,7vw,4rem);font-weight:950;line-height:1.04}.hero-actions{gap:8px;display:flex;position:absolute;top:clamp(14px,3vw,20px);right:clamp(14px,3vw,20px)}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.app-summary{max-width:520px}.metric{background:#ffffff24;border:1px solid #ffffff38;border-radius:14px;min-width:0;padding:11px 12px}.metric-label{color:currentColor;opacity:.72;text-transform:uppercase;font-size:.68rem;font-weight:950}.metric-value{white-space:nowrap;margin-top:2px;font-size:clamp(1.05rem,4vw,1.65rem);font-weight:950}.progress-track{background:#dfe9e1;border-radius:999px;height:10px;overflow:hidden}.progress-track.dark{background:#ffffff38;max-width:520px}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--yellow), #fff);height:100%}.app-search{background:#fff;border:1px solid #0f172a14;border-radius:16px;grid-template-columns:22px 1fr;align-items:center;gap:8px;min-height:48px;padding:6px 10px;display:grid;box-shadow:0 10px 40px #0f172a0f}.app-search svg{color:var(--green-dark)}.app-search input{box-shadow:none;background:0 0;border:0;padding:9px 4px}.app-layout{align-items:start;gap:16px;display:grid}.primary-pane,.detail-pane{min-width:0}.view-heading{justify-content:space-between;align-items:end;gap:14px;margin-bottom:14px;display:flex}.view-heading h2{margin:0;font-size:clamp(1.45rem,4vw,2rem);line-height:1.1}.view-heading>span{color:var(--muted);white-space:nowrap;font-size:.82rem;font-weight:850}.view-heading.contrast{color:#fff;align-items:center}.home-action-row{flex-wrap:wrap;gap:10px;margin:-2px 0 14px;display:flex}.first-use-panel{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:14px;display:grid}.first-use-panel svg{background:var(--green);color:#fff;border-radius:999px;width:34px;height:34px;padding:8px}.first-use-panel strong{font-weight:950;display:block}.first-use-panel p{color:#246449;margin:2px 0 0;font-size:.88rem;font-weight:720}.section-card-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.section-card{min-width:0;min-height:168px;color:var(--ink);text-align:left;background:#fff;border:0;border-radius:16px;gap:10px;padding:12px;display:grid;box-shadow:0 14px 36px #0f172a14}.section-card:hover{transform:translateY(-1px)}.section-card.active{outline-offset:2px;outline:3px solid #06a84f47}.flag-card{aspect-ratio:16/9;background:linear-gradient(180deg, var(--section-a) 0 33%, var(--section-b) 33% 66%, var(--section-c) 66% 100%);border:2px solid #ffffffb8;border-radius:12px;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 28px #0f172a29}.flag-card span{min-width:58px;color:var(--ink);text-align:center;background:#ffffffe6;border-radius:999px;padding:6px 10px;font-weight:950}.flag-card.has-flag{aspect-ratio:4/3;background:#f8fafc}.flag-image{object-fit:contain;object-position:center center;background:#fff;width:100%;height:100%;display:block}.section-card-name{overflow-wrap:anywhere;text-transform:uppercase;min-width:0;font-size:.92rem;font-weight:950}.section-progress{color:var(--muted);justify-content:space-between;gap:8px;font-size:.78rem;font-weight:850;display:flex}.section-detail{background:#fff;border-radius:18px;min-height:70vh;padding:16px;box-shadow:0 18px 60px #0f172a1a}.section-detail.complete{background:var(--yellow);color:#04743e}.detail-toolbar{grid-template-columns:42px 1fr;align-items:center;gap:10px;display:grid}.detail-title{text-align:center;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:6px;min-width:0;display:grid}.detail-title h2{text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;min-width:0;margin:0;font-size:clamp(1rem,4vw,1.45rem);font-weight:950;overflow:hidden}.detail-visual{width:min(340px,76%);margin:22px auto 16px}.section-status{color:currentColor;text-transform:uppercase;justify-content:center;align-items:center;gap:8px;min-height:42px;font-size:.94rem;font-weight:950;display:flex}.detail-tabs{background:#eef7f0;border:1px solid #dbe7de;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:7px;display:grid}.tab-button{color:#334155;background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:44px;font-weight:950;display:inline-flex}.tab-button.active{background:var(--green);color:#fff;box-shadow:0 10px 28px #02753d38}.tab-button span{background:#ffffff38;border-radius:999px;min-width:26px;padding:3px 8px;font-size:.8rem}.tab-button:not(.active) span{background:#fff}.section-action-row{justify-content:center;margin-top:12px;display:flex}.repeat-button{min-height:36px;color:var(--green-dark);background:#f2fff7;border-color:#06a84f38}.duplicates-panel{color:var(--ink);background:#f5fff9;border:1px solid #06a84f33;border-radius:14px;margin-top:12px;padding:12px}.duplicates-panel-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.duplicates-panel-heading strong{text-transform:uppercase;font-size:.82rem}.sticker-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.sticker-tile{background:#fff;border:2px solid #151515;border-radius:12px;min-width:0;display:grid;overflow:hidden}.sticker-tile.have{background:#e8fff0;border-color:#038846}.sticker-tile.duplicate{border-color:var(--navy);background:#eef2ff}.sticker-tile.transferring{animation:.36s both cardTransfer;box-shadow:0 18px 36px #06a84f3d}.sticker-card-button{min-width:0;min-height:92px;color:var(--ink);background:0 0;border:0;place-items:center;gap:4px;padding:10px 6px;display:grid}.sticker-code{overflow-wrap:anywhere;color:currentColor;max-width:100%;font-size:clamp(.96rem,4.8vw,1.25rem);font-weight:950;line-height:1.05}.sticker-number{font-size:clamp(1.5rem,8vw,2.1rem);font-weight:900;line-height:1}.sticker-card-meta{color:#334155;background:#0f172a14;border-radius:999px;min-height:22px;padding:4px 9px;font-size:.72rem;font-weight:950}.sticker-tile.have .sticker-card-meta{color:var(--green-dark);background:#06a84f24}.sticker-tile.duplicate .sticker-card-meta{background:var(--navy);color:#fff}.duplicate-badge{background:var(--navy);color:#fff;border-radius:999px;padding:3px 8px;font-size:.74rem;font-weight:900}.quantity-row{grid-template-columns:32px 1fr 32px;align-items:center;gap:6px;padding:0 8px 8px;display:grid}.quantity-button{border-radius:8px;width:32px;min-height:32px;padding:0}.quantity-value{justify-content:center;align-items:center;gap:4px;font-weight:950;display:flex}.section-empty-state{color:#64748b;text-align:center;align-content:center;place-items:center;gap:12px;min-height:240px;font-weight:900;display:grid}.section-empty-state svg{width:54px;height:54px;color:var(--green-dark);border:4px solid #06a84f29;border-radius:999px;padding:10px}.grouped-view{background:linear-gradient(#04aa50,#039145);border-radius:18px;min-height:560px;padding:16px;box-shadow:0 20px 60px #02753d2e}.grouped-view.duplicates{background:linear-gradient(#07a852,#05813f)}.compact-actions{justify-content:flex-end}.empty-state{color:#ffffff9e;text-align:center;text-transform:uppercase;align-content:center;place-items:center;gap:14px;min-height:330px;font-weight:950;display:grid}.empty-state svg{border:5px solid #ffffff38;border-radius:999px;width:58px;height:58px;padding:10px}.group-list,.search-results{gap:14px;display:grid}.sticker-group{color:#fff;background:#ffffff14;border:1px solid #ffffff29;border-radius:16px;padding:14px}.sticker-group.light{border-color:var(--line);color:var(--ink);background:#fff;box-shadow:0 12px 36px #0f172a0f}.group-heading{color:currentColor;text-align:left;text-transform:uppercase;background:0 0;border:0;border-bottom:1px solid #ffffff29;justify-content:space-between;gap:12px;width:100%;padding:0 0 11px;font-weight:950;display:flex}.sticker-group.light .group-heading{border-bottom-color:#e2e8f0}.group-heading span:first-child{overflow-wrap:anywhere;min-width:0}.code-pill-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:9px;margin-top:13px;display:grid}.code-pill{min-height:36px;color:var(--green-dark);background:#fff;border:0;border-radius:9px;padding:6px 8px;font-size:.82rem;font-weight:950}.code-pill.static{justify-content:center;align-items:center;display:inline-flex}.code-pill.soft{border:1px solid var(--line);background:var(--green-soft)}.search-panel{gap:14px;display:grid}.mobile-search-field{display:none}.bottom-nav{z-index:25;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border:1px solid #0f172a1a;border-radius:18px;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:min(520px,100vw - 24px);margin:8px auto 0;padding:7px;display:grid;position:static;box-shadow:0 18px 60px #0f172a2e}.nav-button{color:#334155;border-color:#0000;border-radius:12px;width:100%;min-width:0;min-height:42px;padding:7px 6px;font-size:.78rem}.nav-button.active{background:var(--green);color:#fff}.sticker-actions-backdrop{z-index:60;background:#0f172a6b;place-items:end center;padding:16px;display:grid;position:fixed;inset:0}.sticker-actions-panel{background:#fff;border-radius:18px;width:min(460px,100%);padding:16px;box-shadow:0 24px 80px #0f172a42}.sticker-actions-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.sticker-actions-heading h3{margin:0;font-size:1.5rem}.sticker-action-list{gap:10px;display:grid}.sticker-action-list .text-button{width:100%}@keyframes cardTransfer{0%{transform:translateY(0)scale(1)}55%{transform:translateY(-10px)scale(1.04)}to{opacity:0;transform:translate(42px)translateY(-16px)scale(.9)}}.footer{color:var(--muted);border-top:1px solid #0f172a14;padding:18px 0 28px}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:12px;width:min(1180px,100vw - 24px);margin:0 auto;font-size:.86rem;display:flex}.footer nav{flex-wrap:wrap;gap:12px;display:flex}@media (min-width:920px){.album-app{padding-bottom:0}.album-app.has-active-section .app-layout{grid-template-columns:minmax(0,1fr) minmax(360px,430px)}.detail-pane{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:calc(100vh - 104px);padding-right:2px;position:sticky;top:84px;overflow-y:auto}.detail-pane .section-detail{min-height:auto}.bottom-nav{order:-1;width:100%;margin:0;position:static}.section-card-grid{grid-template-columns:repeat(auto-fill,minmax(178px,1fr))}}@media (max-width:760px){.topbar-inner{min-height:58px}.brand-subtitle{display:none}.main{width:min(100%,100vw - 16px);padding-top:10px}.album-hero{border-radius:0 0 20px 20px;min-height:255px;margin-inline:-8px}.summary-grid{gap:8px}.metric{padding:9px 8px}.metric-label{font-size:.62rem}.section-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-card{min-height:148px;padding:10px}.grouped-view,.section-detail{border-radius:0;min-height:calc(100vh - 82px);margin-inline:-2px}.album-app.has-active-section .album-hero,.album-app.has-active-section .primary-pane,.album-app.has-active-section .bottom-nav{display:none}.album-app.has-active-section{padding-bottom:0}.mobile-search-field{display:grid}}@media (max-width:420px){.album-hero h1{font-size:2.35rem}.view-heading{flex-direction:column;align-items:start}.view-heading.contrast{align-items:stretch}.compact-actions{justify-content:flex-start}.sticker-grid.compact{gap:8px}.sticker-card-button{min-height:86px}.code-pill-grid{grid-template-columns:repeat(auto-fill,minmax(62px,1fr))}}
