*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-tap-highlight-color:transparent}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--clr-bg);color:var(--clr-text);overscroll-behavior:none;min-height:100dvh}button{font-family:inherit;cursor:pointer;border:none;background:none}img{display:block;max-width:100%}:root{--clr-bg: #0d0c1d;--clr-bg-2: #141328;--clr-bg-3: #1c1a38;--clr-border: #2a2750;--clr-border-2: #3a3760;--clr-text: #e8e5f0;--clr-text-2: #a8a5c0;--clr-text-3: #6a6888;--clr-accent: #7c6af7;--clr-accent-dim: rgba(124, 106, 247, .2);--clr-accent-hover: #8f7ef8;--clr-gold: #c9a96e;--clr-gold-dim: rgba(201, 169, 110, .12);--clr-gold-border: rgba(201, 169, 110, .35);--clr-danger: #e05252;--header-h: 56px;--action-h: 76px;--card-radius: 10px;--ui-radius: 8px;--shadow-card: 0 4px 24px rgba(0, 0, 0, .55);--shadow-elevated: 0 8px 32px rgba(0, 0, 0, .6);--shadow-modal: 0 24px 80px rgba(0, 0, 0, .85);--t-flip: .45s cubic-bezier(.4, 0, .2, 1);--t-ui: .18s ease}.app-layout{display:flex;flex-direction:column;height:100dvh;height:100vh;overflow:hidden}.app-main{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.app-header{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 1rem;background:var(--clr-bg-2);border-bottom:1px solid var(--clr-border);flex-shrink:0;gap:.75rem}.header-logo{display:flex;align-items:center;gap:.5rem;flex-shrink:0;border-radius:var(--ui-radius);padding:.25rem .4rem;transition:background var(--t-ui)}.header-logo:hover{background:var(--clr-bg-3)}.header-logo-img{width:26px;height:26px;border-radius:5px;object-fit:contain}.header-logo-text{font-weight:700;font-size:1.05rem;color:var(--clr-text);letter-spacing:-.01em}.header-logo-text span{color:var(--clr-accent)}.header-context{font-size:.78rem;color:var(--clr-text-3);text-align:center;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{display:flex;align-items:center;flex-shrink:0}.icon-btn{width:auto;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--ui-radius);color:var(--clr-text);font-size:1.4rem;transition:background var(--t-ui),color var(--t-ui)}.icon-btn:hover{background:var(--clr-bg-3);color:var(--clr-text)}.settings-btn{gap:.3rem;padding:0 .65rem;border-radius:var(--ui-radius)}.settings-btn-label{font-size:.8rem;font-weight:500}.notification-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 1rem;background:var(--clr-gold-dim);border-bottom:1px solid var(--clr-gold-border);color:var(--clr-gold);font-size:.83rem;flex-shrink:0}.notification-action{color:var(--clr-gold);font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity var(--t-ui)}.notification-action:hover{opacity:.8}.notification-dismiss{flex-shrink:0;color:var(--clr-gold);opacity:.65;font-size:.9rem;padding:2px 6px;border-radius:4px;transition:opacity var(--t-ui)}.notification-dismiss:hover{opacity:1}.spread-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;padding:1rem}.spread-grid[data-count="1"]{grid-template-columns:minmax(0,320px);justify-content:center}.spread-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,240px));justify-content:center}.spread-grid[data-count="3"]{grid-template-columns:repeat(3,minmax(0,200px));justify-content:center}.spread-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh;padding:3rem 1rem;gap:.75rem;color:var(--clr-text-3);font-size:.95rem;text-align:center}.spread-empty-icon{font-size:3rem;opacity:.35;margin-bottom:.25rem}.card-wrapper{display:flex;flex-direction:column;gap:.45rem}.card-scene{aspect-ratio:5 / 7;perspective:900px;cursor:pointer;border-radius:var(--card-radius);box-shadow:var(--shadow-card);border:1px solid rgba(255,255,255,.12);transition:box-shadow var(--t-ui),transform var(--t-ui)}.card-scene:hover{box-shadow:var(--shadow-elevated);transform:translateY(-3px)}.card-scene:active{transform:translateY(-1px)}@keyframes replace-out{0%{transform:scale(1) translateY(0);opacity:1}to{transform:scale(.75) translateY(-12px);opacity:0}}@keyframes replace-in{0%{transform:scale(.75) translateY(12px);opacity:0}70%{transform:scale(1.04) translateY(-2px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}.card-scene.is-replacing-out{animation:replace-out .22s ease-in forwards;pointer-events:none}.card-scene.is-replacing-in{animation:replace-in .4s cubic-bezier(.34,1.56,.64,1) forwards}.card-scene.is-flipped{border-color:#c9a96e80;box-shadow:var(--shadow-card),0 0 18px #c9a96e40}.card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform var(--t-flip)}.card-scene.is-flipped .card-inner{transform:rotateY(180deg)}.card-front,.card-back{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--card-radius);overflow:hidden;background:var(--clr-bg-3)}.card-back{transform:rotateY(180deg)}.card-front img{width:100%;height:100%;object-fit:contain}.card-back img{width:100%;height:100%;object-fit:cover}.card-controls{display:flex;gap:.35rem}.card-btn{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:.2rem;padding:.3rem .25rem;font-size:.68rem;color:var(--clr-text-2);background:var(--clr-bg-3);border:1px solid var(--clr-border);border-radius:var(--ui-radius);transition:background var(--t-ui),color var(--t-ui),border-color var(--t-ui);white-space:nowrap;overflow:hidden;line-height:1.4}.card-btn:hover{background:var(--clr-border-2);color:var(--clr-text);border-color:var(--clr-border-2)}.card-btn-info{flex:0 0 auto;padding:.3rem .55rem;font-size:.9rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000c7;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-box{position:relative;background:var(--clr-bg-2);border:1px solid var(--clr-border-2);border-radius:18px;box-shadow:var(--shadow-modal);max-width:420px;width:100%;max-height:92vh;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.75rem 1.5rem}.modal-close{position:absolute;top:.6rem;right:.6rem;display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--clr-text-2);font-size:1.35rem;border-radius:50%;background:var(--clr-bg-3);border:1px solid var(--clr-border);transition:color var(--t-ui),background var(--t-ui)}.modal-close:hover{color:var(--clr-text);background:var(--clr-border)}.modal-card-name{font-size:1.6rem;font-weight:700;color:var(--clr-text);line-height:1.2;text-align:center}.modal-card-meta{font-size:.95rem;color:var(--clr-text-3);text-align:center;margin-top:-.5rem}.modal-img-wrap{width:72%;aspect-ratio:5 / 7;border-radius:var(--card-radius);overflow:hidden;background:var(--clr-bg-3);box-shadow:var(--shadow-card)}@media(max-width:480px){.modal-backdrop{padding:.4rem}.modal-box{padding:1.5rem 1rem;gap:.9rem}.modal-card-name{font-size:1.5rem}.modal-img-wrap{width:85%}}.modal-card-content{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}@keyframes modal-slide-in-right{0%{transform:translate(52px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes modal-slide-in-left{0%{transform:translate(-52px);opacity:0}to{transform:translate(0);opacity:1}}.modal-content-enter-right{animation:modal-slide-in-right .22s cubic-bezier(.25,.46,.45,.94)}.modal-content-enter-left{animation:modal-slide-in-left .22s cubic-bezier(.25,.46,.45,.94)}.modal-edge-btn{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:72px;color:var(--clr-text-2);opacity:.25;border-radius:6px;transition:opacity var(--t-ui);z-index:1}.modal-edge-btn--prev{left:.2rem}.modal-edge-btn--next{right:.2rem}.modal-edge-btn:hover:not(:disabled){opacity:.7}.modal-edge-btn:disabled{opacity:0;pointer-events:none}.modal-nav{display:flex;align-items:center;gap:1rem;padding-top:.25rem}.modal-nav-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:var(--clr-text-2);background:var(--clr-bg-3);border:1px solid var(--clr-border);transition:background var(--t-ui),color var(--t-ui)}.modal-nav-btn:hover:not(:disabled){background:var(--clr-border);color:var(--clr-text)}.modal-nav-btn:disabled{opacity:.3;cursor:default}.modal-nav-pos{font-size:.88rem;color:var(--clr-text-3);min-width:2.75rem;text-align:center}.modal-img-wrap img{width:100%;height:100%;object-fit:contain}.modal-keywords{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.keyword-chip{padding:.3rem .85rem;background:var(--clr-accent-dim);color:var(--clr-accent);border-radius:20px;font-size:.92rem;font-weight:500}.modal-description{font-size:1.1rem;color:var(--clr-text-2);line-height:1.7;text-align:center}.action-bar{height:var(--action-h);display:flex;align-items:center;justify-content:center;gap:.6rem;padding:0 1rem;background:var(--clr-bg-2);border-top:1px solid var(--clr-border);flex-shrink:0}.pool-count{display:flex;flex-direction:column;align-items:center;min-width:3rem;line-height:1.2}.pool-count-number{font-size:1rem;font-weight:600;color:var(--clr-text-2)}.pool-count-label{font-size:.65rem;color:var(--clr-text-3);text-transform:uppercase;letter-spacing:.04em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border-radius:var(--ui-radius);font-size:.875rem;font-weight:500;padding:.55rem 1rem;transition:background var(--t-ui),opacity var(--t-ui),transform var(--t-ui);white-space:nowrap;line-height:1}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.38;pointer-events:none}.btn-primary{background:var(--clr-accent);color:#fff;padding:.55rem 1.3rem}.btn-primary:hover{background:var(--clr-accent-hover)}.btn-secondary{background:var(--clr-bg-3);color:var(--clr-text-2);border:1px solid var(--clr-border)}.btn-secondary:hover{background:var(--clr-border);color:var(--clr-text)}.btn-ghost{background:transparent;color:var(--clr-text-3);font-size:1.1rem;padding:.55rem .8rem}.btn-ghost:hover{background:var(--clr-bg-3);color:var(--clr-text-2)}.settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:90;display:flex;align-items:flex-start}.settings-sheet{background:var(--clr-bg-2);border-bottom:1px solid var(--clr-border-2);border-radius:0 0 20px 20px;width:100%;display:flex;flex-direction:column;max-height:100dvh}.settings-sheet-scroll{flex:1;overflow-y:auto;padding:1.5rem 1.25rem .75rem;display:flex;flex-direction:column;gap:1.25rem}.settings-sheet-footer{flex-shrink:0;padding:0 1.25rem .75rem;display:flex;flex-direction:column;align-items:center;gap:.25rem}.settings-toggle{display:flex;border:1px solid var(--clr-border);border-radius:var(--ui-radius);overflow:hidden;width:fit-content}.settings-toggle-btn{flex:1;padding:.4rem 1.1rem;font-size:.85rem;color:var(--clr-text-2);background:var(--clr-bg-3);transition:background var(--t-ui),color var(--t-ui);white-space:nowrap}.settings-toggle-btn+.settings-toggle-btn{border-left:1px solid var(--clr-border)}.settings-toggle-btn.active{background:var(--clr-accent-dim);color:var(--clr-accent)}.settings-toggle-btn:hover:not(.active){background:var(--clr-border);color:var(--clr-text)}.settings-deal-btn{display:flex;align-items:center;justify-content:center;gap:.45rem;width:80%;align-self:center;padding:.7rem;background:var(--clr-accent);color:#fff;border-radius:var(--ui-radius);font-size:1rem;font-weight:600;transition:background var(--t-ui),transform var(--t-ui)}.settings-deal-btn:hover{background:var(--clr-accent-hover)}.settings-deal-btn:active{transform:scale(.97)}.settings-expand-btn{display:flex;align-items:center;justify-content:center;gap:.3rem;width:100%;padding:.45rem 0;font-size:.78rem;font-weight:500;color:var(--clr-text-3);background:none;border:none;cursor:pointer;letter-spacing:.03em;transition:color var(--t-ui)}.settings-expand-btn:hover{color:var(--clr-text-2)}.settings-advanced{display:flex;flex-direction:column;gap:1rem;width:100%;padding-top:.25rem;border-top:1px solid var(--clr-border)}.settings-about{display:flex;align-items:center;justify-content:center;gap:1rem;padding-top:.5rem;border-top:1px solid var(--clr-border);width:100%}.settings-about-version{font-size:.75rem;color:var(--clr-text-3)}.settings-about-link{font-size:.75rem;color:var(--clr-text-3);text-decoration:underline;text-underline-offset:2px}.settings-about-link:hover{color:var(--clr-text-2)}.settings-handle{width:36px;height:4px;background:var(--clr-border-2);border-radius:2px;margin:.5rem auto 0}.settings-section-label{font-size:.85rem;font-weight:700;color:var(--clr-text-2);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.6rem}@media(min-width:480px){.settings-section-label{padding-left:.5rem}}.settings-options{display:flex;flex-wrap:wrap;gap:.5rem}.settings-options--count{gap:.3rem}.settings-options--hidden{display:none}.settings-option{padding:.4rem .9rem;border-radius:20px;font-size:.85rem;color:var(--clr-text-2);background:var(--clr-bg-3);border:1px solid var(--clr-border);transition:background var(--t-ui),color var(--t-ui),border-color var(--t-ui)}.settings-option:hover{border-color:var(--clr-border-2);color:var(--clr-text)}.settings-option.active{background:var(--clr-accent-dim);color:var(--clr-accent);border-color:var(--clr-accent)}.settings-option-count{padding:.35rem .55rem;min-width:2rem;text-align:center}.settings-option-deck{display:flex;align-items:center;gap:.5rem;padding:.3rem .75rem .3rem .3rem}.settings-deck-thumb{width:20px;height:28px;object-fit:contain;border-radius:3px;flex-shrink:0}
