@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#0b0e16;--sidebar:#0e101a;--panel:#141823;--panel2:#191e2c;--panel3:#22283a;--border:#2b3040;--text:#f1f2f9;--muted:#979cae;--soft:#727b92;--accent:#a48bff;--accent2:#7558e6;--cyan:#69d8d4;--green:#58d9a1;--orange:#ffc17a;--red:#f28592;--radius:15px;--shadow:0 22px 70px #0006;font-family:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.4;cursor:not-allowed}a{color:var(--accent);text-decoration:none}h1,h2,h3,h4{font-family:'Outfit','DM Sans',sans-serif;margin:0}h1{font-size:34px;font-weight:700;letter-spacing:-.04em}h2{font-size:24px;letter-spacing:-.02em}h3{font-size:18px}.muted{color:var(--muted)}.small{font-size:12px}.app-shell{display:flex;min-height:100vh}.sidebar{width:258px;flex-shrink:0;background:var(--sidebar);border-right:1px solid var(--border);position:fixed;inset:0 auto 0 0;z-index:30;display:flex;flex-direction:column}.main-shell{width:calc(100% - 258px);margin-left:258px;min-width:0}.brand{display:flex;align-items:center;gap:10px;height:84px;border-bottom:1px solid #282b37;padding:0 19px}.brand-emblem{width:41px;height:43px;border:1px solid #8b72fa80;background:linear-gradient(140deg,#6448b8,#24213c);border-radius:11px;display:grid;place-items:center;font-size:30px;color:#e8dfff;box-shadow:0 0 19px #8a62ff35}.brand-label{display:grid;gap:2px}.brand-label strong{font-size:18px;font-family:Outfit;letter-spacing:.05em}.brand-label strong span{color:var(--accent)}.brand-label small{font-size:10px;color:var(--soft)}.brand-local{font-size:9px;margin-left:auto;color:var(--cyan);font-weight:800;letter-spacing:.06em}.sidebar-inner{overflow-y:auto;padding:19px 12px;flex:1}.menu-eyebrow{color:#616b83;font-weight:800;font-size:10px;letter-spacing:.16em;margin:20px 13px 11px}.sidebar nav{display:grid;gap:4px}.nav-link{width:100%;border:0;background:transparent;color:#aeb3c2;padding:12px 12px;border-radius:11px;text-align:left;display:flex;align-items:center;gap:13px;font-size:13px;font-weight:600;transition:.18s}.nav-link:hover{background:#232335;color:#fff}.nav-link.active{background:linear-gradient(110deg,#38305d,#24233d);box-shadow:inset 3px 0 0 var(--accent);color:#f3edff}.nav-icon{font-size:19px;width:23px;text-align:center;color:#8f95ab}.nav-link.active .nav-icon{color:#c0acff}.nav-count{margin-left:auto;background:#2c2948;border-radius:7px;padding:2px 7px;color:#ded0ff;font-size:10px}.nav-shortcut{font-size:10px;color:#657085;border:1px solid #3a3f52;border-radius:4px;padding:1px 5px;margin-left:auto}.sidebar-bottom{display:flex;align-items:center;gap:10px;padding:17px 18px 24px;border-top:1px solid var(--border);font-size:12px}.sidebar-bottom b,.sidebar-bottom small{display:block}.sidebar-bottom small{color:var(--soft);font-size:11px;margin-top:4px}.account-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#4d3b8a;font-weight:800;color:white}.account-dot{background:var(--green);width:8px;height:8px;border-radius:50%;margin-left:auto}.topbar{height:73px;border-bottom:1px solid var(--border);background:#10131d;display:flex;align-items:center;justify-content:space-between;padding:0 39px;gap:16px;position:sticky;top:0;z-index:20}.breadcrumbs{font-size:13px;color:#a4aabd;display:flex;align-items:center;gap:10px}.breadcrumbs span{color:var(--soft)}.top-actions{display:flex;align-items:center;gap:20px}.top-search{background:#191c28;border:1px solid #303546;color:#858ba2;border-radius:9px;display:flex;gap:10px;align-items:center;padding:9px 10px;min-width:235px;text-align:left;font-size:12px}.top-search span:first-child{font-size:21px;line-height:10px}.top-search kbd{margin-left:auto;border:1px solid #41475b;padding:2px 5px;border-radius:5px;font-size:10px}.sync-indicator{font-size:11px;color:#b7adc9;font-weight:700;display:flex;align-items:center;gap:7px;white-space:nowrap}.status-dot{background:#e9aa55;height:7px;width:7px;border-radius:50%}.sync-indicator.complete .status-dot{background:var(--green)}.icon-btn{border:0;background:transparent;color:#949cb3;font-size:19px}.menu-toggle{display:none}.main-content{max-width:1540px;padding:38px 42px 85px;margin:auto}.page-eyebrow{font-size:11px;color:var(--accent);font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}.page-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:27px}.page-header p{margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.header-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.btn{border:1px solid var(--border);background:#202434;color:#dfe2ef;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 14px;border-radius:10px;font-size:12px;font-weight:800;white-space:nowrap;transition:.15s}.btn:hover{filter:brightness(1.14)}.btn.primary{background:linear-gradient(110deg,#9275ef,#7858dd);border-color:#a28afa;color:white}.btn.ghost{background:transparent}.btn.danger{color:#ff929a;border-color:#643b48;background:#3d2028}.btn.tiny{padding:7px 10px;font-size:11px}.btn.big{padding:13px 19px}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:19px}.field{background:#171b27;border:1px solid #34394a;border-radius:10px;color:var(--text);padding:11px 13px;font-size:12px;min-height:40px}.field::placeholder{color:#788197}.field.search{width:min(100%,400px);flex:1;min-width:200px}.field:focus{border-color:#8975d8}.filter-select{min-width:140px;max-width:220px}.filter-actions{margin-left:auto;display:flex;gap:8px}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:5px 10px;font-weight:800;font-size:10px;color:#b9adff;background:#312c4d;border:1px solid #524774}.pill.green{background:#1d4036;color:#91f0bf;border-color:#2d7054}.pill.gold{background:#443624;color:#ffd68e;border-color:#6a4a28}.pill.neutral{color:#b3bdd0;background:#292e3d;border-color:#3d4354}.pill.red{background:#49272c;color:#f6a0a8;border-color:#6b3841}.status-line{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#8f96a9;padding:1px 0 17px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:17px}.ygo-card{background:var(--panel);border:1px solid #2f3445;border-radius:13px;overflow:hidden;position:relative;transition:transform .17s,border-color .17s;min-width:0}.ygo-card:hover{transform:translateY(-3px);border-color:#70619b}.card-visual{height:224px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,#34334e,#151822 69%);position:relative;padding:12px;cursor:pointer}.card-visual img{max-height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(0 10px 11px #000a)}.card-placeholder{width:132px;height:192px;border:7px solid #9f693b;outline:2px solid #744c39;border-radius:6px;display:flex;flex-direction:column;justify-content:space-between;padding:12px 5px;background:linear-gradient(145deg,#dcaf67,#886238);color:#2d1a13;text-align:center;font-size:9px;box-shadow:0 8px 20px #000a;overflow:hidden}.card-placeholder:before{content:'✦';font-size:64px;color:#47396e;opacity:.6}.card-placeholder span{font-weight:800}.card-owned{position:absolute;left:9px;top:9px}.card-quick{position:absolute;right:9px;bottom:9px;border:1px solid #a896ff78;background:#161329e6;border-radius:9px;color:#d7caff;font-size:16px;width:33px;height:33px}.card-quick:hover{background:#5b428f}.card-content{padding:11px 12px 12px}.card-title{font-size:12px;font-weight:800;line-height:1.4;min-height:33px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}.card-meta{font-size:10px;color:#929aab;margin-top:8px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.card-footer{display:flex;justify-content:space-between;gap:6px;align-items:center;margin-top:12px;border-top:1px solid #313543;padding-top:10px}.card-footer .pill{font-size:9px;padding:4px 7px}.card-footer span:last-child{font-size:10px;color:#9ca3b8}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.tile{background:linear-gradient(120deg,#21233a,#151923);border:1px solid #35374b;border-radius:14px;min-height:145px;padding:19px;cursor:pointer;position:relative;overflow:hidden;transition:.2s}.tile:hover{border-color:var(--accent);transform:translateY(-2px)}.tile:after{content:'✧';position:absolute;right:5px;bottom:-42px;font-size:154px;color:#8972cc10;pointer-events:none}.tile-code{color:var(--accent);font-weight:800;font-size:12px}.tile h3{font-size:17px;margin:13px 0 8px;max-width:90%;line-height:1.27}.tile p{font-size:11px;color:var(--muted);margin:0}.tile .tile-number{position:absolute;right:18px;top:17px;color:var(--green);font-size:10px}.tile-progress{height:5px;border-radius:9px;background:#2c3040;margin:16px 0 4px;overflow:hidden}.tile-progress > div{height:100%;background:linear-gradient(90deg,#8c73ed,#73dbb7);border-radius:9px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0 27px}.stat{padding:20px;border:1px solid #313649;background:linear-gradient(140deg,#1b1f2f,#141823);border-radius:13px}.stat-label{font-size:11px;color:#aaaec0}.stat-number{font-size:29px;font-family:Outfit;font-weight:700;margin:8px 0 2px;letter-spacing:-.03em}.stat-note{font-size:10px;color:#728095}.stats-columns{display:grid;grid-template-columns:1.6fr 1fr;gap:17px}.panel{background:var(--panel);border:1px solid #303547;border-radius:14px;padding:23px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.panel-head h3{font-size:17px}.progress-row{margin-bottom:18px}.progress-name{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:10px}.progress-name span:last-child{color:var(--muted)}.bar{height:8px;border-radius:20px;background:#292d3d;overflow:hidden}.bar div{height:100%;background:linear-gradient(90deg,#7b61e9,#bd9aff);border-radius:20px}.tipbox{border:1px solid #4a4367;background:linear-gradient(120deg,#25213e,#171928);border-radius:12px;padding:18px;display:flex;align-items:start;gap:15px;font-size:12px;color:#d2c9e8;line-height:1.65}.tipbox strong{color:white}.tip-icon{font-size:21px}.notice{padding:13px 16px;background:#222338;border:1px solid #504773;color:#c8bfdf;font-size:12px;line-height:1.5;border-radius:12px;margin-bottom:18px}.empty{text-align:center;padding:64px 20px;border:1px dashed #3b4053;border-radius:15px;background:#151925}.empty-illustration{font-size:49px;margin-bottom:12px;color:#796aad}.empty h3{margin:6px 0 8px}.empty p{font-size:12px;color:var(--muted);max-width:420px;margin:0 auto 20px;line-height:1.65}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{text-align:left;color:#7f8ca7;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800;background:#1a1e2c}.data-table th,.data-table td{padding:13px 14px;border-bottom:1px solid #2f3443;vertical-align:middle}.data-table tr:hover td{background:#202434}.data-table tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto;background:var(--panel);border:1px solid #303547;border-radius:13px}.mini-card{width:32px;height:44px;border-radius:3px;object-fit:cover;background:#2c2935;vertical-align:middle;margin-right:9px}.td-primary{font-weight:800;max-width:300px}.td-secondary{font-size:10px;color:var(--muted);margin-top:4px}.qty-btn{width:26px;height:25px;padding:0;border:1px solid #43475a;background:#292d40;color:white;border-radius:6px}.qty-group{display:inline-flex;align-items:center;gap:8px}.qty-group span{min-width:15px;text-align:center;font-weight:800}.table-icon{background:transparent;border:0;color:var(--red);font-size:17px}.hero{padding:25px 28px;border-radius:17px;background:radial-gradient(circle at 80% -30%,#554184bb,transparent 48%),linear-gradient(115deg,#24233e,#141925 85%);border:1px solid #484065;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.hero h1{font-size:29px}.hero p{max-width:510px;color:#b6b2c8;font-size:12px;line-height:1.7}.hero-star{font-size:90px;color:#c1abff;opacity:.55;line-height:1}.two-col{display:grid;grid-template-columns:300px 1fr;gap:17px}.deck-list{display:grid;gap:10px;align-content:start}.deck-item{padding:13px 14px;border-radius:11px;border:1px solid #31374b;background:#1a1f2c;text-align:left;color:var(--text)}.deck-item.active{border-color:#947be2;background:#302949}.deck-item span{display:block;font-size:12px;font-weight:800}.deck-item small{display:block;color:#9fa7bb;margin-top:5px}.deck-zone{margin:20px 0}.deck-zone-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.deck-zone h4{font-size:15px}.deck-mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px}.deck-mini{border:1px solid #35384b;border-radius:9px;background:#202432;padding:9px 10px;display:flex;align-items:start;gap:8px;justify-content:space-between}.deck-mini b{font-size:11px;line-height:1.4;display:block}.deck-mini small{display:block;color:#a2acc0;font-size:10px;margin-top:5px}.deck-mini .danger-x{border:0;background:transparent;color:var(--red);font-size:15px}.deck-search-results{max-height:330px;overflow:auto;border:1px solid #383e51;border-radius:10px}.deck-search-row{padding:10px;border-bottom:1px solid #33384a;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px}.deck-search-row b{display:block}.deck-search-row small{display:block;color:var(--muted);margin-top:4px}.deck-search-row:last-child{border-bottom:0}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tool-block{background:#181c2a;border:1px solid #36394a;border-radius:13px;padding:22px}.tool-block h3{margin-bottom:8px}.tool-block p{color:var(--muted);font-size:12px;line-height:1.65;min-height:42px}.tool-block .btn{margin:4px 6px 0 0}.tool-block .field{width:100%}.tool-block code{background:#262b3b;padding:2px 5px;border-radius:4px;color:#bcb0e7}.footer-hint{margin-top:31px;font-size:11px;color:#67718a;text-align:center}.loading-state{text-align:center;color:var(--muted);padding:100px}.modal-backdrop{position:fixed;inset:0;background:#04060acb;backdrop-filter:blur(5px);z-index:100;display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:min(900px,100%);max-height:90vh;overflow:auto;background:#171b29;border:1px solid #464759;border-radius:18px;box-shadow:var(--shadow);position:relative}.modal-top{display:flex;justify-content:space-between;align-items:center;padding:18px 23px;border-bottom:1px solid #34394a}.modal-top h3{font-size:19px}.modal-close{font-size:23px;border:0;background:transparent;color:#a0a7b9}.modal-body{padding:24px}.modal-card-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:27px}.modal-poster{background:radial-gradient(ellipse at center,#37354f,#131620);display:grid;place-items:center;border-radius:12px;padding:15px;max-height:365px}.modal-poster img{width:100%;max-width:205px;max-height:335px;object-fit:contain}.modal-info p{color:#9ea6b8;font-size:12px;line-height:1.8}.modal-facts{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.modal-segment{border-top:1px solid #343a4e;margin-top:21px;padding-top:18px}.modal-variant{display:grid;grid-template-columns:1fr auto;gap:8px;padding:11px 0;border-bottom:1px solid #313647;align-items:center}.modal-variant b{font-size:11px}.modal-variant small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.modal-variant button{font-size:11px}.inline-fields{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.inline-fields .field{min-width:125px;flex:1}.toast{position:fixed;z-index:200;bottom:24px;right:25px;max-width:370px;border:1px solid #7460a3;background:#292541;color:#fff;box-shadow:0 10px 40px #0009;padding:14px 20px;border-radius:12px;font-size:12px;font-weight:700;animation:fadein .2s}.toast.error{background:#492733;border-color:#9a5660}@keyframes fadein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.search-in-title{color:#a5a8bd}.more-versions{background:transparent;border:0;color:var(--accent);margin-top:12px;font-weight:700;font-size:12px}.summary-chip{display:inline-flex;align-items:center;gap:5px;color:#bdc6dc;border:1px solid #394053;background:#202534;border-radius:8px;padding:7px 10px;font-size:11px}.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.kbd-hint{font-size:11px;color:#6b7184}.row-link{cursor:pointer}.switcher{display:inline-flex;border-radius:9px;overflow:hidden;border:1px solid #363b4c}.switcher button{padding:8px 12px;border:0;background:#1b1e2a;color:#97a1b6;font-size:12px}.switcher button.active{background:#51427c;color:white}.subtitle{font-size:12px;line-height:1.7;color:#adb4c5}.mobile-overlay{display:none}.text-warning{color:var(--orange)}
@media(max-width:1150px){.main-content{padding:30px 25px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.card-visual{height:210px}.topbar{padding:0 25px}}
@media(max-width:780px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.main-shell{margin-left:0;width:100%}.menu-toggle{display:block}.topbar{padding:0 14px;height:64px}.top-search{min-width:0;width:36px;padding:8px}.top-search span:nth-child(2),.top-search kbd{display:none}.sync-indicator{font-size:10px}.top-actions{gap:12px}.top-settings{display:none}.main-content{padding:25px 14px 65px}.page-header{align-items:start;flex-direction:column}.page-header h1{font-size:29px}.header-actions{justify-content:start}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card-visual{height:195px;padding:9px}.tile-grid,.stat-grid,.stats-columns,.two-col,.tool-grid{grid-template-columns:1fr}.hero{padding:19px}.hero-star{display:none}.modal-card-layout{grid-template-columns:1fr}.modal-poster{max-height:250px}.modal-poster img{max-height:230px;width:auto}.modal-body{padding:17px}.mobile-overlay.visible{display:block;background:#0009;position:fixed;inset:0;z-index:25}.breadcrumbs{font-size:11px}.filter-select{flex:1;min-width:120px}.filter-actions{margin-left:0}}

/* La carte stylisée reste visible comme prévisualisation pendant le chargement des visuels externes. */
.card-visual .card-placeholder,.modal-poster .card-placeholder{position:absolute;z-index:0;pointer-events:none}.card-visual .card-image,.modal-poster .card-image{position:relative;z-index:1}

/* V3 : contrôles de quantité réellement cliquables et densité personnalisable. */
.card-grid{grid-template-columns:repeat(var(--grid-cols,6),minmax(0,1fr));gap:12px}
.card-visual{height:auto;aspect-ratio:4/5;padding:11px;min-width:0;overflow:hidden;isolation:isolate}
.card-visual img.card-image{display:block;object-fit:contain;object-position:center;width:100%;height:100%;max-width:100%;max-height:100%;pointer-events:none;position:relative;z-index:1}
.card-visual .card-owned{z-index:3;pointer-events:none}
.card-visual .card-placeholder{max-height:90%;max-width:90%}
.tile-controls{display:flex;gap:4px;align-items:center;justify-content:space-between;margin:-2px 0 10px;padding-bottom:9px;border-bottom:1px solid #34384b}
.tile-buttons{display:flex;gap:5px;position:relative;z-index:3}
.tile-btn{width:30px;height:30px;flex:0 0 auto;border-radius:8px;border:1px solid #575069;background:#26263b;color:#fff;font-weight:800;font-size:16px;display:grid;place-items:center}
.tile-btn.primary{background:#7455c6;border-color:#aa8aff}.tile-btn:hover:not(:disabled){filter:brightness(1.2)}
.card-quantity{font-size:9px;color:#aab0bf;line-height:1.3;max-width:65px}
.ygo-card{min-width:0}.card-meta{overflow:hidden;text-overflow:ellipsis}
.inline-sort{justify-content:flex-end;gap:9px}.density-control{min-width:68px;max-width:90px}.checkbox-label{display:flex;align-items:center;gap:7px;color:#afbac9;white-space:normal}
.modal-poster img{pointer-events:none}.artwork-heading{font-size:12px;margin:17px 0 10px}.artwork-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.artwork-option{position:relative;border:2px solid #444256;background:#222537;border-radius:8px;padding:3px;cursor:pointer;min-width:0}
.artwork-option.selected{border-color:#baa3ff;box-shadow:0 0 0 1px #bbaaff;background:#52416d}
.artwork-option img{width:100%;height:89px;object-fit:contain;pointer-events:none;display:block}
.artwork-option span{position:absolute;bottom:2px;right:3px;background:#161829ec;color:white;border-radius:4px;padding:1px 4px;font-size:10px;pointer-events:none}
.modal-info .inline-fields label{min-width:105px;flex:1;font-size:11px;color:#aeb5cb;display:flex;flex-direction:column;gap:5px}
.modal-info .inline-fields label .field{min-width:0;max-width:none;width:100%}
.variant-label{display:block;font-size:11px;color:#aeb5cb}.variant-label input{display:block;width:100%;margin-top:6px}
.modal-variant.emphasized{border-left:3px solid #ad91ff;padding-left:9px;background:#40325133}
.owned-version{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding:9px;border:1px solid #35394a;border-radius:9px}
.owned-version>div:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.owned-version b{font-size:11px}.owned-version small{font-size:10px;color:#aeb5c8}.owned-version .mini-card{margin:0}
@media(max-width:780px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-visual{height:auto;aspect-ratio:4/5}.card-quantity{font-size:9px}.tile-controls{margin-bottom:8px}.tile-btn{width:28px;height:28px}.inline-sort{justify-content:flex-start}}

/* Filtres rapides de possession — accès direct aux impressions manquantes dans une extension. */
.extension-ownership{display:flex;align-items:stretch;flex-wrap:wrap;gap:9px;margin:20px 0 16px}
.ownership-tab{border:1px solid #424357;background:#1d2231;color:#c0c6d7;min-height:46px;padding:10px 15px;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:12px;font-weight:800;transition:border-color .15s,background .15s}
.ownership-tab:hover:not(.active){background:#282c40;border-color:#7c6baf}
.ownership-tab.active{background:#433765;border-color:#ae90ff;color:white;box-shadow:inset 0 0 0 1px #8566cf}
.ownership-count{border:1px solid #4b4c61;background:#151a28;border-radius:8px;padding:3px 7px;font-size:11px;color:#e8e7f6;min-width:25px;text-align:center;font-variant-numeric:tabular-nums}
.ownership-tab.active .ownership-count{background:#6d50ae;border-color:#9775ea;color:white}
@media(max-width:780px){.extension-ownership{gap:6px}.ownership-tab{flex:1 1 30%;gap:5px;padding:9px 6px;font-size:10px;min-width:0}.ownership-count{padding:3px 5px;font-size:10px}}


/* HuecoCollector V2 — objectifs Master Set & classeur, sans constructeur de decks */
.master-set-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px;margin-top:20px}
.master-set-tile{background:var(--panel,#151923);border:1px solid var(--border,#30374a);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:13px}
.master-set-tile h3{margin:0;font-size:18px;line-height:1.35}
.master-set-tile p{margin:0;color:var(--muted,#aeb4c7);font-size:13px}
.master-set-tile .header-actions{justify-content:flex-start;margin-top:auto}
.master-set-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.master-pin{font-size:23px;border:1px solid #515875;background:#242b3d;color:#c4bddf;border-radius:9px;min-width:37px;height:36px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.master-pin.is-tracked{background:#49396e;color:#ffd985;border-color:#8b75d4}
.master-extension-tile{cursor:default}
.master-clickable{cursor:pointer;display:block}
.master-clickable h3{margin:0 0 12px;line-height:1.35}
.master-clickable p{font-size:12px;margin:0 0 12px}
.master-subline{display:block;color:#b0a6d9;margin-top:9px}
.master-header{display:flex;flex-wrap:wrap;align-items:center;gap:22px;padding:22px;margin-bottom:17px;background:linear-gradient(110deg,#2c2345,#172132);border-radius:16px;border:1px solid #51446a}
.master-score{display:flex;flex-direction:column;gap:5px;min-width:155px}
.master-score>b{font-size:39px;line-height:1;font-weight:850;color:#e8dcff}
.master-score>span{font-size:12px}
.master-progress-area{flex:1;min-width:200px;display:flex;flex-direction:column;gap:9px}
.master-progress-area .bar{height:12px}
.master-progress-area small{color:#c9c2d9}
.master-actions{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0}
.master-modes{display:flex;gap:5px;flex-wrap:wrap}
.master-binder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:linear-gradient(#202332,#111722);padding:18px;border:1px solid #44485c;border-radius:15px}
.master-pocket{min-width:0;position:relative;padding:13px 8px 8px;border-radius:12px;background:#0d101c;border:1px solid #363b55;box-shadow:inset 0 0 11px #0005}
.master-pocket .ygo-card{max-width:235px;margin:0 auto;width:100%}
.master-pocket.is-missing .card-image{filter:grayscale(.95);opacity:.48}
.master-pocket.is-missing .card-content{opacity:.7}
.master-pocket-code{display:block;text-align:center;color:#d0cee0;font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}
.binder-pager{display:flex;justify-content:center;align-items:center;gap:16px;margin:16px 0 24px;flex-wrap:wrap;font-size:13px;color:#bfc5d8}
.master-extras{margin-top:22px}
.master-extra{display:flex;gap:12px;align-items:center;border-top:1px solid #393b4e;padding:12px 0}
.master-check{color:#b1b9c8;font-size:24px;flex:0 0 24px}
.master-check.owned{color:#8ce5bd}
.master-extra-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.master-extra-text small{color:#aeb9ce}
.master-highlights{margin:18px 0}
.master-progress-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(70px,160px);gap:16px;align-items:center;cursor:pointer;padding:10px 0;border-top:1px solid #35394a}
.master-progress-row span{min-width:0;display:flex;flex-direction:column;gap:4px}
.master-progress-row span small{color:#a7b6c8}
.master-progress-row .bar{margin:0}
@media(max-width:780px){
.master-binder-grid{gap:6px;padding:8px}
.master-pocket{padding:7px 3px 3px}
.master-pocket .card-content{padding:6px 4px}
.master-pocket .card-title{font-size:10px}
.master-pocket .card-meta,.master-pocket .card-footer,.master-pocket .card-quantity{font-size:9px}
.master-pocket .tile-controls{flex-wrap:wrap}
.master-pocket .tile-btn{min-width:24px;min-height:26px}
.master-pocket-code{font-size:9px}
.master-header{padding:15px;gap:12px}
.master-score>b{font-size:32px}
.master-extra{gap:7px}
.master-extra .btn{padding:6px}
.master-progress-row{grid-template-columns:minmax(140px,1fr) minmax(70px,100px)}
}

/* Cartes OCG : aucun substitut visuel TCG sans vérification de l'artwork exact. */
.ocg-card-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;position:relative;width:100%;height:100%;min-height:175px;padding:15px;text-align:center;background:linear-gradient(150deg,#2a2245,#171d30 65%,#3f2d32);border:1px solid #8171aa;color:#eee9ff;overflow:hidden}
.ocg-card-placeholder .ocg-card-mark{font-size:10px;font-weight:800;letter-spacing:2px;color:#b8abde;border-bottom:1px solid #907fad;padding-bottom:6px}
.ocg-card-placeholder .ocg-card-name{font-size:clamp(10px,1.2vw,16px);font-weight:700;overflow-wrap:anywhere;max-height:90px;overflow:hidden}
.ocg-card-placeholder .ocg-card-caption{font-size:10px;color:#c7bbd8}
.modal-poster .ocg-card-placeholder{min-height:320px}
.master-binder-grid .ocg-card-placeholder{min-height:145px}
.ocg-card-placeholder.mini-card{width:40px;height:56px;min-height:56px;padding:3px;border-radius:3px}
.ocg-card-placeholder.mini-card .ocg-card-mark,.ocg-card-placeholder.mini-card .ocg-card-caption{display:none}
.ocg-card-placeholder.mini-card .ocg-card-name{font-size:7px}
.ocg-tag{display:inline-flex;align-items:center;gap:5px;background:#44355e;border-radius:5px;padding:2px 7px;color:#f1d9ff;font-weight:700;font-size:11px}


/* V4 — Dashboard de collection et 4 familles TCG/OCG */
.dashboard-page{display:flex;flex-direction:column;gap:24px}
.dashboard-welcome{display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;gap:20px;padding:34px 37px;border:1px solid #655a86;border-radius:22px;background:radial-gradient(circle at 90% 30%,#6544a34a 0%,transparent 45%),linear-gradient(115deg,#211e39,#161926 78%)}
.dashboard-welcome h1{margin-top:10px;font-size:clamp(27px,3vw,40px);letter-spacing:-.035em}
.dashboard-welcome p{color:#bbb8d2;max-width:610px;line-height:1.6;margin:13px 0 22px}
.dashboard-welcome .header-actions{justify-content:flex-start}
.dashboard-welcome-symbol{font-size:130px;line-height:1;color:#aa8fff52;transform:rotate(-12deg);flex:0 0 auto}
.dashboard-stats{margin:0}
.dashboard-collections{display:flex;flex-direction:column;gap:16px}
.dashboard-section-top{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:14px}
.dashboard-section-top h2{margin-top:4px;font-size:23px}
.dashboard-market-picker{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);white-space:nowrap}
.dashboard-market-picker .field{min-width:130px;max-width:180px}
.dashboard-family-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dashboard-family-card{display:flex;align-items:flex-start;flex-direction:column;gap:11px;min-width:0;min-height:193px;text-align:left;color:var(--text);padding:19px 18px;background:linear-gradient(145deg,#1e2333,#141822);border:1px solid #32384a;border-radius:18px;transition:border-color .18s,transform .18s,background .18s}
.dashboard-family-card:hover{transform:translateY(-2px);border-color:#9476d4;background:linear-gradient(145deg,#302745,#171a27)}
.dashboard-family-top{display:flex;align-items:center;justify-content:space-between;width:100%}
.dashboard-family-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:24px;color:#e0d4ff;background:#433368;border:1px solid #7964a2}
.dashboard-family-go{color:var(--muted);font-size:22px}
.dashboard-family-card strong{font-size:15px;line-height:1.35;min-height:40px}
.dashboard-family-count{font-weight:750;font-size:18px}
.dashboard-family-details{font-size:11px;color:var(--muted);margin-top:auto}
.dashboard-bottom-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px}
.dashboard-bottom-grid .panel{min-width:0;padding:23px 24px}
.dashboard-bottom-grid .panel-head{align-items:center;gap:10px;margin-bottom:17px}
.dashboard-bottom-grid .panel-head h3{margin-top:5px}
.dashboard-goal{display:flex;flex-direction:column;gap:8px;width:100%;border:1px solid #303548;background:#181d2a;color:var(--text);padding:14px 15px;text-align:left;border-radius:12px;margin:0 0 10px;transition:border-color .2s}
.dashboard-goal:hover{border-color:#886bd1}
.dashboard-goal-line{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.dashboard-goal-line b{font-size:13px;overflow-wrap:anywhere}
.dashboard-goal-line strong{white-space:nowrap;color:#c1adff}
.dashboard-goal-caption{font-size:11px;color:var(--muted)}
.dashboard-goal .bar{height:7px;width:100%;display:block;border-radius:99px;overflow:hidden;background:#353a50;margin:0}
.dashboard-goal .bar>span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#7857da,#c3b0ff)}
.dashboard-owned-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 2px;border-bottom:1px solid #303548}
.dashboard-owned-row:last-child{border:0}
.dashboard-owned-name{min-width:0;font-weight:650;font-size:13px;overflow-wrap:anywhere}
.dashboard-owned-name small{display:block;margin-top:5px;font-weight:400;color:var(--muted);font-size:11px}
.dashboard-owned-qty{flex-shrink:0;font-weight:800;color:#c6b0ff}
.dashboard-footer-note{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:12px;line-height:1.5}
.dashboard-footer-note span{color:var(--cyan);font-size:19px}
@media(max-width:1200px){.dashboard-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.dashboard-bottom-grid{grid-template-columns:1fr}}
@media(max-width:780px){.dashboard-page{gap:18px}.dashboard-welcome{padding:23px 20px}.dashboard-welcome-symbol{display:none}.dashboard-welcome p{font-size:13px}.dashboard-section-top{align-items:flex-start}.dashboard-section-top h2{font-size:21px}.dashboard-family-grid{gap:10px}.dashboard-family-card{padding:15px 12px;min-height:180px;gap:8px}.dashboard-family-icon{width:38px;height:38px;font-size:19px}.dashboard-family-card strong{font-size:13px;min-height:40px}.dashboard-family-count{font-size:15px}.dashboard-family-details{font-size:10px}.dashboard-bottom-grid .panel{padding:18px}.dashboard-market-picker{width:100%;justify-content:space-between}}
@media(max-width:385px){.dashboard-family-grid{grid-template-columns:1fr}.dashboard-family-card{min-height:120px}}

/* V5 — intégration de photographies par impression OCG */
.ocg-card-real{display:block;object-fit:contain!important;object-position:center;width:100%;height:100%;max-height:100%;border-radius:5px}
.card-visual .ocg-card-real.card-image{width:100%;height:100%;object-fit:contain!important}
.modal-poster .ocg-card-real{max-width:100%;max-height:340px;object-fit:contain}
.ocg-card-placeholder.card-image{min-height:190px;aspect-ratio:5/7}
.card-visual .ocg-card-placeholder[style*="display:none"]{display:none!important}
.master-pocket .ocg-card-real{max-width:100%}

/* V6 : version d'artwork vérifiée par source, séparée de la rareté. */
.v6-version-tag{display:block;margin-top:5px;color:#dcc8ff;font-size:11px;font-weight:700;line-height:1.4;white-space:normal}
.v6-image-unverified{border:1px dashed #94759b;background:linear-gradient(140deg,#25213e,#171a27);color:#efddff}
.modal-variant.emphasized{border-color:#b6a1ff}
.owned-version .btn[data-action="resolve-legacy"]{display:inline-flex;margin:7px 0 0;max-width:100%}


/* V6.1 - double objectif et tirages anciens */
.dual-goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.dual-goal-grid.compact{margin:10px 0;gap:9px}
.goal-status{min-width:0;background:linear-gradient(155deg,#1e2536,#181c2a);padding:16px 18px;border:1px solid #364054;border-radius:15px}
.goal-status.is-done{border-color:#4b9c87;background:#152c2b}
.goal-status.is-unverified{border-color:#a58a59}
.goal-status-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:9px}
.goal-status-top span{color:#cfc1e9;font-size:11px;text-align:right}
.goal-status-count{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:13px;margin-bottom:9px}
.goal-status-count b{font-size:19px}
.goal-status-count span{color:#cfc1e9}
.goal-status .bar{height:8px;background:#383a4a;border-radius:999px;overflow:hidden}
.goal-status .bar>div{background:linear-gradient(90deg,#6d57be,#ad89f8)}
.goal-mini{margin:10px 0;font-size:12px;color:#b8c3d8;line-height:1.5}
@media(max-width:620px){.dual-goal-grid{grid-template-columns:1fr}.goal-status{padding:12px 13px}.goal-status-top{font-size:12px}}
