/* V25: a single vertical scroller, native artwork proportions, V24 safe-area ownership. */
:root{--layout-version:25}
body[data-view=collection] .header,body[data-view=quests] .header,body[data-view=summary] .header{min-height:calc(50px + var(--safe-top));padding-top:calc(5px + var(--safe-top));padding-bottom:5px}body[data-view=collection] .logo-mark,body[data-view=quests] .logo-mark{width:34px;height:34px}body[data-view=collection] .logo{font-size:17px}body[data-view=collection] .logo small{font-size:10px}
#app>.layout.collection,#app>.layout.quests,#app>.layout.activity,#app>.layout.bulkSale,#app>.layout.summary{display:block;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;padding:10px 12px 18px;width:100%;max-width:1000px}
.collection-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px}.collection-heading h1{font:600 25px/1.2 Georgia,serif;margin:2px 0;color:#f6e4ae}.collection-heading .eyebrow{font-size:9px;letter-spacing:.15em}.collection-heading>strong{font-size:15px;color:#ffe39c}.collection-progress{padding:9px 11px;border:1px solid #a58c54;border-radius:11px;background:#071d30e8;margin-bottom:10px}.collection-progress>div:first-child{display:flex;justify-content:space-between;gap:6px;font-size:11px;margin-bottom:7px}.collection-progress .progress{height:6px;margin:0}.collection-progress .progress span{background:linear-gradient(90deg,#ddb657,#ffe58c)}
.layout.collection .tabs{display:flex;margin:8px 0}.layout.collection .tabs button{font-size:12px;min-height:40px;padding:5px 4px}.layout.collection .set-ribbon,.layout.collection.reading-cards .set-ribbon{display:flex;height:126px;min-height:126px;max-height:none;gap:9px;padding:5px 2px;overflow-x:auto;overflow-y:hidden;margin:5px 0;scrollbar-width:thin}.layout.collection .set-mini{flex:0 0 65px;height:110px;padding:3px;gap:2px}.layout.collection .set-mini .real-pack-art{flex:0 0 auto;width:auto;height:76px;aspect-ratio:var(--pack-ratio,.56);max-width:100%;min-height:0;position:relative;align-self:center}.layout.collection .set-mini .real-pack-art:not(.cropped) img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.layout.collection .set-mini .real-pack-art.cropped img{object-fit:fill}.layout.collection .all-cover{flex:0 0 76px;width:100%;min-height:76px;max-height:76px}.layout.collection .set-mini b{font-size:11px;line-height:12px}.layout.collection .set-mini small{font-size:9px;line-height:11px}.layout.collection.reading-cards>.tabs{display:flex}
.collection-search{display:flex;gap:8px;margin:8px 0}.layout.collection .collection-search .input{flex:1 1 auto;width:100%;min-width:0;min-height:42px}.collection-search .icon-btn{width:42px;flex:none}.collection-sort{display:flex;align-items:center;gap:8px;justify-content:space-between;font-size:11px;margin:8px 0 12px}.collection-sort select{font-size:13px!important;max-width:115px;min-height:36px;background:#0b263c;color:#f2e4c7;border:1px solid #627b92;border-radius:7px;padding:4px}.collection-sort .text-btn{font-size:10px;min-height:38px}
.rarity-section{border:1px solid #c7a3568c;background:#061c2eea;border-radius:12px;padding:9px 7px;margin-bottom:12px}.rarity-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:6px}.rarity-heading h2{font:600 15px/1.2 system-ui;color:#ffe399;margin:0}.rarity-heading small{font-size:11px;color:#e6eff6;font-weight:400}.rarity-heading .text-btn{font-size:11px;min-height:32px;padding:4px}.rarity-preview{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 21px)/4);gap:7px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px}.rarity-preview .card-tile{scroll-snap-align:start;min-width:0;width:100%;padding:0;background:transparent;height:auto}.rarity-preview .card-label{font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rarity-preview .card-meta{font-size:8px}.rarity-preview .card-price{display:none}.rarity-preview .image-wrap{aspect-ratio:63/88;width:100%;height:auto}.rarity-preview .image-wrap img{object-fit:contain}.rarity-preview .qty{font-size:9px;padding:2px 3px}
.layout.collection .design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.layout.collection .design-grid.large{grid-template-columns:repeat(2,minmax(0,1fr))}.layout.collection .design-grid .card-label{font-size:11px}.layout.collection .design-grid .card-meta{font-size:9px}.layout.collection .design-grid .card-price{font-size:11px}.card-tile.unowned{opacity:1;filter:none}.card-tile.unowned .image-wrap img{filter:grayscale(1) brightness(.72)}.card-tile .qty{z-index:2}.owned-badge{background:#073e34!important;color:#8affc3!important;border:1px solid #6bddaa}.missing-badge{background:#071525e8!important;color:#e4ecf4!important;border:1px solid #a1afbb}
#app>.nav{display:flex}#app>.nav button{position:relative;font-size:10px;padding:6px 1px;min-width:0;min-height:52px;gap:4px}#app>.nav button .icon{width:21px;height:21px}.quest-dot{position:absolute;top:5px;right:calc(50% - 17px);width:7px;height:7px;border-radius:50%;background:#ffdd65;box-shadow:0 0 0 2px #0b253b}
.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.detail-actions .btn{font-size:13px;margin:0;min-height:42px}.context-actions{display:grid;gap:8px}.context-actions .btn{margin:0}dialog .detail-img{width:min(100%,310px)}.detail-price span{overflow-wrap:anywhere}.layout.boutique{overflow-y:auto}.summary-highlights{margin:12px 0}.summary>.btn,.bulkSale>.btn,.activity>.btn{margin:8px 0;width:100%}.recap-sale{margin:14px 0;border-top:1px solid #8b764f;padding-top:12px}.recap-sale h2{font:600 16px system-ui}.recap-sale .text-btn{font-size:11px}.recap-sale>.btn{width:100%;margin:10px 0}.copy-row{display:flex;align-items:center;gap:9px;padding:8px;border-bottom:1px solid #476075;background:#071e31c9;min-height:74px}.copy-row input{width:19px;height:19px;accent-color:#efd279;flex:none}.copy-row>.image-wrap{width:43px;aspect-ratio:63/88;flex:none;height:auto}.copy-row>span{min-width:0;font-size:12px}.copy-row small,.bulk-row small{display:block;font-size:10px;margin-top:4px;line-height:1.4}.copy-row.sold{opacity:.6}.bulk-row{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #476075}.bulk-row>.image-wrap{width:48px;height:auto;aspect-ratio:63/88;flex:none}.bulk-row>div:nth-child(2){flex:1;min-width:0;font-size:12px}.bulk-row label{width:65px;font-size:11px}.bulk-row input{width:100%;min-height:40px;margin-top:4px;background:#eef5fa;border:1px solid #c9a559;border-radius:6px;padding:5px;color:#112d43}
.quest-tabs{overflow-x:auto;display:flex;margin:10px 0}.quest-tabs button{flex:1;min-width:85px;font-size:10px;padding:8px 5px;min-height:42px}.quest-card,.free-activity{background:#082139ed;border:1px solid #a68d56;border-radius:13px;padding:13px;margin:12px 0}.quest-card h2,.free-activity h2{font:600 16px system-ui}.quest-card strong{color:#ffe194;white-space:nowrap;font-size:14px}.quest-card .progress{margin:13px 0;height:6px}.quest-card .btn{min-height:36px;padding:6px 12px;font-size:12px}.free-activity p{font-size:12px;line-height:1.5;margin:8px 0 12px}.free-activity .btn{width:100%}.quest-card .row{gap:10px}.memory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.memory-grid button{aspect-ratio:1;background:#15354c;border:1px solid #dfbc6b;border-radius:12px;color:#ffe399;font-size:32px}.memory-grid .matched{background:#075547;color:#bfffe2;opacity:1}.activity .small{line-height:1.6}
@media(min-width:700px){.layout.collection .design-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.layout.collection .design-grid.large{grid-template-columns:repeat(3,minmax(0,1fr))}.rarity-preview{grid-auto-columns:calc((100% - 49px)/8)}.layout.collection .set-mini{flex-basis:75px}.copy-row{max-width:700px}.memory-grid{max-width:500px;margin-inline:auto}}

.quest-objective{margin:7px 0 10px;color:#dbe7ef;font-size:13px;line-height:1.4}.quest-card .progress{margin-top:8px}

/* Dossier 1: automatic protections, DON!! categories and Piano Tiles. */
.auto-badge{position:absolute;top:5px;left:5px;z-index:3;background:#5c2b10;color:#ffe3a6;border:1px solid #e0b15d;border-radius:5px;font-size:8px;font-weight:800;letter-spacing:.06em;padding:2px 4px}
.auto-protect-note{margin:10px 0 0;padding:9px 11px;border:1px solid #d7a64f;border-radius:9px;background:#3a240f;color:#ffe6b4;font-size:12px;line-height:1.45}
.auto-protect-note .text-btn{display:block;margin-top:5px;color:#ffe08a;font-size:12px}
.don-rule{margin:8px 0;padding:8px 10px;border-left:3px solid #e3bf6a;background:#10283c;color:#e9dcc0;font-size:12px;line-height:1.45}
.sale-tile.auto-protected{outline:1px dashed #e3bf6a;outline-offset:2px}
.summary-sort{margin:8px 0 4px}
#app>.layout.piano{display:flex;flex-direction:column;overflow:hidden;padding:8px 10px 10px;width:100%;max-width:760px;gap:8px}
.piano-hud{display:flex;justify-content:space-between;gap:6px;font-size:12px;color:#d7e6f2;background:#082139d9;border:1px solid #8fa9bc55;border-radius:9px;padding:7px 10px}
.piano-hud b{color:#ffe08a;font-size:15px;margin-left:4px}
.piano-stage{position:relative;flex:1;min-height:260px;border:1px solid #d8b76a;border-radius:13px;overflow:hidden;background:linear-gradient(#071a2be8,#0a263de8);touch-action:none}
.piano-lanes{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.piano-lane{position:relative;min-height:0;border:0;border-right:1px solid #ffffff1f;border-radius:0;background:linear-gradient(#ffffff08,#ffffff02);color:#9fb7c9;font-size:11px;font-weight:800;display:flex;align-items:flex-end;justify-content:center;padding-bottom:9px}
.piano-lane:last-child{border-right:0}.piano-lane:active{background:#ffe08a2e}
.piano-tiles{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.piano-tile{position:absolute;left:calc(var(--lane,0) * 25% + 2%);width:21%;height:12%;top:-14%;border-radius:8px;background:linear-gradient(#ffe9a1,#e0ac47);border:1px solid #fff0bd;box-shadow:0 0 12px #ffd97866;will-change:top}
.piano-tile.lane-0{--lane:0}.piano-tile.lane-1{--lane:1}.piano-tile.lane-2{--lane:2}.piano-tile.lane-3{--lane:3}
.piano-tile.past{opacity:.25;background:#6c8192}
.piano-hitline{position:absolute;left:0;right:0;bottom:10%;height:3px;background:#ffe08a;box-shadow:0 0 10px #ffe08a;pointer-events:none}
.piano-hint{margin:0;text-align:center;font-size:11px;color:#c9d9e6}
.piano-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
.piano-result>div{background:#082139e8;border:1px solid #9fb4c455;border-radius:10px;padding:10px;text-align:center}
.piano-result span{display:block;font-size:10px;color:#b8cbd9}.piano-result strong{display:block;color:#ffe08a;font-size:18px;margin-top:3px}
.piano-music{position:relative;display:flex;align-items:center;gap:12px;justify-content:center;font-size:11px;color:#c9d9e6}
.piano-music iframe{position:absolute;width:1px;height:1px;opacity:0;border:0;pointer-events:none}
@media(max-height:720px){.piano-stage{min-height:190px}.piano-hud{padding:5px 8px}.piano-hint{font-size:10px}}
