:root{color-scheme:dark;--bg: #0f172a;--bg-elevated: #1e293b;--bg-soft: #172033;--border: #334155;--text: #f1f5f9;--text-muted: #94a3b8;--accent: #60a5fa;--accent-strong: #3b82f6;--danger: #f87171;--ok: #4ade80;--series-spent: #d95926;--series-received: #3b82f6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer;background:var(--accent-strong);color:#fff;border:none;border-radius:8px;padding:.5rem .9rem}button.secondary{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text)}button.ghost{background:transparent;color:var(--text-muted);padding:.25rem .5rem}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:.5rem .7rem;width:100%}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:10}.app-logo{font-weight:700;font-size:1.2rem;color:var(--text)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;color:var(--text)}.icon-btn:hover{background:var(--bg-elevated)}.app-content{flex:1;max-width:1100px;margin:0 auto;padding:1rem 1rem calc(5.5rem + env(safe-area-inset-bottom));width:100%}.fab{position:fixed;right:1.1rem;bottom:calc(4.6rem + env(safe-area-inset-bottom));width:52px;height:52px;border-radius:999px;background:var(--accent-strong);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px #00000073;z-index:15}.fab-badge{position:absolute;top:-4px;right:-4px;background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;min-width:18px;height:18px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:var(--bg-elevated);border-top:1px solid var(--border);padding:.4rem 0 calc(.4rem + env(safe-area-inset-bottom));z-index:20}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;font-size:.68rem;color:var(--text-muted);flex:1;padding:.35rem 0}.nav-item.active{color:var(--accent)}.nav-logo,.nav-desktop-only{display:none}.card-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:1.25rem}.grid-binder{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.grid-binder-wide{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.grid-binder-sm{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.6rem}.tile{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;position:relative;cursor:pointer;transition:transform .1s ease,border-color .1s ease,box-shadow .1s ease}.tile:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 6px 16px #00000059}.tile.owned{border-color:var(--ok);border-width:2px;box-shadow:0 0 0 1px var(--ok),0 0 10px #4ade8080}.tile .quick-add{position:absolute;top:6px;left:6px;width:28px;height:28px;padding:0;border-radius:999px;font-size:1.1rem;line-height:1;background:#0f172ad9;border:1px solid var(--border);color:var(--text);display:grid;place-items:center}.tile .quick-add:hover{background:var(--accent-strong)}.tile .counter{position:absolute;top:6px;left:6px;display:flex;align-items:center;gap:2px;background:#0f172ae6;border:1px solid var(--ok);border-radius:999px;padding:2px}.tile .counter button{width:22px;height:22px;padding:0;border-radius:999px;background:var(--bg-elevated);color:var(--text);border:none;font-size:.95rem;line-height:1;display:grid;place-items:center}.tile .counter button:hover{background:var(--accent-strong)}.tile .counter span{min-width:18px;text-align:center;font-size:.8rem;font-weight:700}.tile img{width:100%;aspect-ratio:63 / 88;object-fit:cover;background:var(--bg-soft);display:block}.tile .tile-body{padding:.5rem .6rem;font-size:.82rem}.tile .tile-name{font-weight:600}.tile .tile-meta{color:var(--text-muted);font-size:.75rem}.tile.missing{opacity:.72;filter:grayscale(.35)}.tile .badge{position:absolute;top:6px;right:6px;background:var(--ok);color:#052e16;border-radius:999px;font-size:.7rem;font-weight:700;padding:2px 7px}.tile.selectable{cursor:pointer}.tile.selected{outline:3px solid var(--accent)}.card-hero-img{width:240px;max-width:100%}.pokemon-hero-img{width:160px}.filters{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem;align-items:end}.filters>div{display:flex;flex-direction:column;gap:.25rem}.filters label{font-size:.75rem;color:var(--text-muted)}.progress{height:8px;background:var(--bg-soft);border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--ok)}.muted{color:var(--text-muted)}.error{color:var(--danger)}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:.9rem}.center-narrow{max-width:380px;margin:4rem auto}.pill{display:inline-block;background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;padding:1px 9px;font-size:.75rem;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617b3;display:grid;place-items:center;padding:1rem;z-index:100}.modal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;padding:1.5rem;max-width:420px;width:100%;box-shadow:0 24px 60px #00000080}.banner{background:#78350f;border:1px solid #b45309;color:#fef3c7;border-radius:10px;padding:.6rem 1rem;margin:0 0 1rem;display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.banner a{color:#fde68a;font-weight:600}.game-switcher{display:flex;gap:.4rem;flex-wrap:wrap}.game-switcher button{display:flex;align-items:center;justify-content:center;height:38px;padding:0 .7rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;color:var(--text-muted)}.game-switcher button img{height:22px;width:auto;max-width:68px;object-fit:contain;display:block}.game-switcher button.active{border-color:var(--accent);background:var(--bg-soft);color:var(--text)}.type-switcher{display:flex;gap:.35rem;flex-wrap:wrap}.type-switcher button{display:flex;align-items:center;gap:.35rem;height:32px;padding:0 .6rem 0 .4rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:.8rem}.type-switcher button.active{border-color:var(--accent);background:var(--bg-soft);color:var(--text)}.combobox{position:relative;width:100%}.combobox>button{display:inline-flex;align-items:center;gap:.35rem;width:100%;justify-content:space-between}.combobox-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;margin:0;padding:.25rem;list-style:none;max-height:260px;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:0 16px 40px #00000073}.combobox-option{padding:.4rem .55rem;border-radius:6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combobox-option.is-active{background:var(--bg-soft)}.combobox-option.is-selected{color:var(--accent);font-weight:600}.combobox-empty{padding:.4rem .55rem;color:var(--text-muted)}.num{font-variant-numeric:tabular-nums}.gain{color:var(--ok)}.loss{color:var(--danger)}.small{font-size:.8rem}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tabs>a,.tabs>button{flex:0 0 auto;padding:.6rem .7rem;background:transparent;color:var(--text-muted);border-radius:0;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs>a:hover{text-decoration:none;color:var(--text)}.tabs>.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.tabs-fill>button{flex:1}.sheet-overlay{place-items:end center;padding:0}.sheet{width:100%;max-width:560px;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--bg-elevated);border:1px solid var(--border);border-bottom:none;border-radius:16px 16px 0 0;padding:1rem 1rem calc(1.25rem + env(safe-area-inset-bottom));box-shadow:0 -12px 40px #00000073}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.sheet-head h2{margin:0;font-size:1.15rem}@media (min-width: 640px){.sheet-overlay{place-items:center;padding:1rem}.sheet{border-bottom:1px solid var(--border);border-radius:14px;padding:1.5rem}}.field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.field>label{font-size:.75rem;color:var(--text-muted)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.money-input{position:relative;flex:1}.money-input input{padding-right:1.9rem;font-variant-numeric:tabular-nums}.money-input span{position:absolute;right:.7rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.stepper{display:flex;align-items:center;gap:.35rem}.stepper button{flex:0 0 auto;width:2.6rem;height:2.6rem;padding:0;font-size:1.2rem;display:grid;place-items:center}.stepper input{text-align:center;min-width:0;font-variant-numeric:tabular-nums}.stepper-sm button{width:2rem;height:2rem;font-size:1rem}.stepper-sm>span{min-width:1.5rem;text-align:center}.check{display:flex;align-items:flex-start;gap:.55rem;cursor:pointer;font-size:.9rem}.check input{width:1.1rem;height:1.1rem;flex:0 0 auto;margin:.2rem 0 0}details.more>summary{cursor:pointer;color:var(--accent);font-size:.9rem}button.submit{width:100%;min-height:3rem;font-weight:600}button.chip{padding:.3rem .7rem;border-radius:999px;font-size:.85rem}.suggest{position:fixed;z-index:120;background:var(--bg);border:1px solid var(--accent);border-radius:8px;box-shadow:0 10px 26px #00000080;overflow:hidden}.suggest-up{transform:translateY(-100%)}.suggest-title{padding:.3rem .7rem .15rem;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.suggest ul{margin:0;padding:0 0 .2rem;list-style:none;max-height:8.4rem;overflow-y:scroll;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent}.suggest ul::-webkit-scrollbar{width:6px}.suggest ul::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:999px}.suggest li{padding:.45rem .7rem;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggest li:hover,.suggest li.is-active{background:var(--bg-elevated)}.chips{display:flex;flex-wrap:wrap;gap:.4rem}.preview{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0;padding:.75rem;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px}.preview dt{font-size:.72rem;color:var(--text-muted)}.preview dd{margin:0;font-weight:600}.list-row-wrap{display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--border)}.list-row-wrap>.list-row{border-bottom:none}.list-row{display:flex;align-items:center;gap:.7rem;width:100%;min-width:0;padding:.55rem .25rem;background:transparent;color:var(--text);text-align:left;border-radius:0;border-bottom:1px solid var(--border)}button.list-row:hover{background:var(--bg-elevated)}.list-thumb{flex:0 0 auto;width:38px;height:53px;object-fit:cover;border-radius:4px;background:var(--bg-soft)}.list-thumb-icon{display:grid;place-items:center;color:var(--text-muted);border:1px solid var(--border)}.list-main{flex:1;min-width:0;display:flex;flex-direction:column}.list-main>strong,.list-main>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-main>span{font-size:.8rem}.list-side{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap}.row-action{flex:0 0 auto;padding:.4rem .7rem;font-size:.85rem}.item-header{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:.5rem .6rem}.picker-list{max-height:38dvh;overflow-y:auto}.section-title{margin:0 0 .75rem;font-size:1rem;font-weight:600}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.9rem 1rem}.kpi{display:flex;flex-direction:column;min-width:0}.kpi-label{font-size:.78rem;color:var(--text-muted)}.kpi-value{font-size:1.25rem;font-weight:600}.hero-figure{font-size:clamp(2.25rem,9vw,3rem);font-weight:600;line-height:1.15}.bilan{display:grid;grid-template-columns:minmax(0,1fr);gap:.9rem;align-items:start}@media (min-width: 1024px){.commerce{max-width:1100px}.bilan{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}.bilan>.wide{grid-column:1 / -1}}.bilan>.wide{min-width:0}.game-row{padding:.6rem 0;border-bottom:1px solid var(--border)}.game-row:last-child{border-bottom:none;padding-bottom:0}.game-row dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem .75rem;margin:.3rem 0 0}.game-row dt{font-size:.72rem;color:var(--text-muted)}.game-row dd{margin:0;white-space:nowrap}.meter{--meter-color: var(--accent-strong);height:10px;margin-top:.75rem;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--meter-color) 22%,var(--bg-soft))}.meter>span{display:block;height:100%;border-radius:999px;background:var(--meter-color)}.chart{position:relative}.chart svg{display:block}.chart-legend{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin-bottom:.5rem;font-size:.8rem;color:var(--text-muted)}.chart-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:.4rem}.chart-grid{stroke:var(--border);stroke-width:1}.chart-tick{fill:var(--text-muted);font-size:12px;font-variant-numeric:tabular-nums}.chart-band{fill:var(--text);opacity:.06}.chart-hit{fill:transparent;outline:none}.chart-hit:focus-visible{stroke:var(--accent);stroke-width:2}.chart-tooltip{position:absolute;top:1.9rem;transform:translate(-50%);z-index:2;padding:.5rem .65rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 26px #00000073;white-space:nowrap;pointer-events:none;font-size:.85rem}.chart-tooltip-row{display:flex;align-items:center;gap:.45rem}.chart-tooltip-row i{width:10px;height:3px;border-radius:2px}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.88rem}.data-table th,.data-table td{padding:.45rem .6rem .45rem 0;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}.data-table th{font-weight:500;font-size:.75rem;color:var(--text-muted)}.data-table th:first-child,.data-table td:first-child{text-align:left}.top-list{margin:0;padding:0;list-style:none}.top-list li{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.top-list li:last-child{border-bottom:none}.photo-add{max-width:640px}.camera{position:relative;height:min(62dvh,560px);border-radius:14px;overflow:hidden;background:#000}.camera video{width:100%;height:100%;object-fit:cover;display:block}.camera-off{height:auto;min-height:5rem;background:var(--bg-soft);border:1px dashed var(--border);display:grid;place-items:center}.camera-off video{display:none}.camera-message{margin:0;padding:1rem;text-align:center}.camera-guide{position:absolute;top:42%;left:50%;height:72%;max-width:86%;aspect-ratio:63 / 88;transform:translate(-50%,-50%);border:2px solid rgba(255,255,255,.9);border-radius:4.5%/3.2%;box-shadow:0 0 0 100vmax #02061773;pointer-events:none}.camera-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;opacity:.55;pointer-events:none}.camera-shutter{position:absolute;left:50%;bottom:.9rem;width:66px;height:66px;padding:0;transform:translate(-50%);border-radius:999px;background:#fff;border:4px solid rgba(255,255,255,.45);background-clip:padding-box;box-shadow:0 4px 14px #00000080}.camera-shutter:active{transform:translate(-50%) scale(.93)}.file-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem .9rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);cursor:pointer}.photo-strip{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem}.photo-strip button{position:relative;flex:0 0 auto;width:56px;padding:0;background:transparent;border-radius:6px;overflow:hidden}.photo-strip img{width:100%;aspect-ratio:63 / 88;object-fit:cover;display:block}.photo-strip span{position:absolute;top:2px;right:2px;display:grid;place-items:center;width:20px;height:20px;border-radius:999px;background:#020617cc;color:var(--text)}.photo-item{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px}.photo-item.is-done{border-color:var(--ok)}.photo-thumb{flex:0 0 auto;width:72px;aspect-ratio:63 / 88;object-fit:cover;border-radius:6px;background:var(--bg-soft)}.photo-item>button{margin-left:auto}.photo-body{flex:1 1 100%;min-width:0;display:flex;flex-direction:column;gap:.3rem}.status-ok{display:flex;align-items:center;gap:.4rem;margin:0;font-weight:600}@media (min-width: 1024px){html{font-size:17px}.app-layout{padding-left:232px}.app-header{display:none}.bottom-nav{top:0;right:auto;width:232px;flex-direction:column;justify-content:flex-start;gap:.25rem;padding:1.5rem .9rem;border-top:none;border-right:1px solid var(--border);background:var(--bg-soft)}.nav-logo{display:block;font-size:1.6rem;padding:0 .75rem 1.25rem}.nav-desktop-only{display:flex;margin-top:auto}.nav-desktop-only.nav-secondary+.nav-desktop-only{margin-top:0}.nav-item{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:.85rem;font-size:1rem;padding:.7rem .75rem;border-radius:10px}.nav-item:hover{background:var(--bg-elevated);color:var(--text);text-decoration:none}.nav-item.active{background:var(--bg-elevated)}.app-content{max-width:1680px;padding:2rem 2.5rem 3rem}.fab{right:2rem;bottom:2rem;width:60px;height:60px}.grid-binder{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem}.grid-binder-wide{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid-binder-sm{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.tile .tile-body{padding:.6rem .75rem;font-size:.9rem}.tile .tile-meta{font-size:.8rem}.tile .quick-add{width:34px;height:34px;font-size:1.3rem}.tile .counter button{width:28px;height:28px}.card-hero-img{width:360px}.pokemon-hero-img{width:220px}.game-switcher button{height:46px;padding:0 1rem}.game-switcher button img{height:28px;max-width:90px}.type-switcher button{height:36px}.modal{max-width:520px}.center-narrow{max-width:440px}}@media (min-width: 1600px){html{font-size:18px}.grid-binder{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}
