:root{--color-primary: #5b6ee1;--color-primary-dark: #3f3f74;--color-accent: #5fcde4;--color-accent-warm: #f7a541;--color-gold: #fbf236;--color-gold-dark: #d4a017;--color-win: #6abe30;--color-loss: #ac3232;--color-hp: #e84545;--color-bg-deep: #1a1a2e;--color-bg-mid: #16213e;--color-bg-panel: #222244;--color-bg-card: #2a2a4a;--color-bg-light: #f0ece0;--color-bg-cream: #efe2c1;--color-text-bright: #ffffff;--color-text-primary: #e0dcc8;--color-text-secondary: #9a97a0;--color-text-dark: #333333;--type-person: #e84545;--type-animal: #6abe30;--type-vegetable: #37946e;--type-mineral: #8b8bab;--type-synthetic: #5fcde4;--type-fire: #d95763;--type-water: #5b6ee1;--type-electric: #fbf236;--type-supernatural: #9b59b6;--pixel: 3px;--pixel-2: 6px;--pixel-3: 9px;--pixel-4: 12px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-game: cubic-bezier(0, 0, .2, 1);--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .4s;--z-card: 1;--z-type-badge: 15;--z-overlay: 100;--z-modal: 1000;--z-nav: 500;--z-fab: 510;--z-flow-overlay: 600;--z-status-bar: 610;--color-border-subtle: rgba(255, 255, 255, .08);--color-bar-track: rgba(255, 255, 255, .08);--shadow-panel: 0 20px 60px rgba(0, 0, 0, .3);--border-card: var(--color-accent);--border-narrative: #503824;--border-winner: linear-gradient(135deg, var(--color-gold) 0%, var(--color-gold-dark) 100%);--card-header-bg: var(--color-primary-dark);--card-header-text: var(--color-text-bright);--narrative-header-bg: #8b6e4e;--narrative-header-text: var(--color-bg-cream);--card-stats-bg: var(--color-bg-card);--card-type-bg: #F6F6F6}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Tiny5,monospace;text-transform:uppercase;background:var(--color-bg-deep);color:var(--color-text-primary);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:4px 4px;pointer-events:none;z-index:0}h1,h2,h3,h4,h5,h6,.btn,.battle-narrative,.stat-label,.stat-value{font-family:VT323,monospace;text-transform:none}h1{font-size:2.8rem;letter-spacing:2px}h2{font-size:2rem}h3{font-size:1.6rem}.btn{font-family:VT323,monospace;font-size:1.4rem;padding:var(--space-3) var(--space-6);border:none;cursor:pointer;position:relative;text-transform:none;transition:transform var(--duration-fast) ease;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--color-primary);color:var(--color-text-bright);box-shadow:inset -3px -3px #0000004d,inset 3px 3px #ffffff26,3px 3px #0006;border-radius:0;image-rendering:pixelated}.btn:hover{transform:translateY(-1px);box-shadow:inset -3px -3px #0000004d,inset 3px 3px #ffffff26,3px 4px #0006}.btn:active{transform:translateY(2px);box-shadow:inset 3px 3px #0000004d,inset -3px -3px #ffffff1a,1px 1px #0000004d}.btn-primary{background:var(--color-primary)}.btn-accent{background:var(--color-accent-warm);color:var(--color-bg-deep)}.btn-success{background:var(--color-win);color:var(--color-bg-deep)}.btn-danger{background:var(--color-loss)}.btn-large{font-size:1.6rem;padding:var(--space-4) var(--space-8);width:100%}.btn-small{font-size:1.1rem;padding:var(--space-2) var(--space-4)}.btn-ghost{background:transparent;color:var(--color-text-primary);box-shadow:inset 0 0 0 2px var(--color-text-secondary)}.btn-ghost:hover{box-shadow:inset 0 0 0 2px var(--color-accent);color:var(--color-accent)}.btn-ghost:active{transform:translateY(2px);box-shadow:inset 0 0 0 2px var(--color-accent)}.btn-icon{padding:8px 15px;background:transparent;color:var(--color-text-bright);font-size:1.5rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-group{display:flex;gap:var(--space-3)}.btn-group .btn{flex:1}.pixel-input{font-family:VT323,monospace;font-size:1.3rem;padding:var(--space-3) var(--space-4);background:var(--color-bg-deep);color:var(--color-text-bright);border:3px solid var(--color-text-secondary);border-radius:0;width:100%;outline:none;transition:border-color var(--duration-normal);text-transform:none}.pixel-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.pixel-input::placeholder{color:var(--color-text-secondary);opacity:.6}.pixel-panel{background:var(--color-bg-panel);padding:var(--space-6);position:relative}.pixel-shadow{box-shadow:3px 3px #0006,6px 6px #0003}.pxb{position:relative;clip-path:polygon(0px 12px,6px 12px,6px 6px,12px 6px,12px 0px,calc(100% - 12px) 0px,calc(100% - 12px) 6px,calc(100% - 6px) 6px,calc(100% - 6px) 12px,100% 12px,100% calc(100% - 12px),calc(100% - 6px) calc(100% - 12px),calc(100% - 6px) calc(100% - 6px),calc(100% - 12px) calc(100% - 6px),calc(100% - 12px) 100%,12px 100%,12px calc(100% - 6px),6px calc(100% - 6px),6px calc(100% - 12px),0px calc(100% - 12px))}.pxb:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background:var(--pxb-border, var(--color-accent));display:block;pointer-events:none;z-index:1;clip-path:polygon(0px calc(100% - 12px),6px calc(100% - 12px),6px calc(100% - 6px),12px calc(100% - 6px),12px 100%,calc(100% - 12px) 100%,calc(100% - 12px) calc(100% - 6px),calc(100% - 6px) calc(100% - 6px),calc(100% - 6px) calc(100% - 12px),100% calc(100% - 12px),100% 12px,calc(100% - 6px) 12px,calc(100% - 6px) 6px,calc(100% - 12px) 6px,calc(100% - 12px) 0px,12px 0px,12px 6px,6px 6px,6px 12px,0px 12px,0px 50%,6px 50%,6px 12px,12px 12px,12px 6px,calc(100% - 12px) 6px,calc(100% - 12px) 12px,calc(100% - 6px) 12px,calc(100% - 6px) calc(100% - 12px),calc(100% - 12px) calc(100% - 12px),calc(100% - 12px) calc(100% - 6px),12px calc(100% - 6px),12px calc(100% - 12px),6px calc(100% - 12px),6px 50%,0px 50%)}.pxb>*:first-child{clip-path:polygon(6px 12px,12px 12px,12px 6px,calc(100% - 12px) 6px,calc(100% - 12px) 12px,calc(100% - 6px) 12px,calc(100% - 6px) calc(100% - 12px),calc(100% - 12px) calc(100% - 12px),calc(100% - 12px) calc(100% - 6px),12px calc(100% - 6px),12px calc(100% - 12px),6px calc(100% - 12px))}.pxb-warm{--pxb-border: #503824}.pxb-gold{--pxb-border: var(--color-gold)}.pxb-epic{--pxb-border: var(--type-supernatural)}.pxb-dark{--pxb-border: var(--color-primary-dark)}.container{max-width:100%;width:100%}.name-entry-section{min-height:100vh;display:flex;align-items:center;justify-content:center}.name-entry-box{background:var(--color-bg-panel);border:2px solid var(--color-accent);border-radius:0;padding:60px 40px;text-align:center;max-width:500px;box-shadow:var(--shadow-panel)}.name-entry-box h1{font-size:3rem;margin-bottom:var(--space-2);color:var(--color-accent-warm);text-shadow:2px 2px 0px rgba(0,0,0,.5),0 0 20px rgba(247,165,65,.3)}.tagline{font-family:VT323,monospace;font-size:1.2rem;color:var(--color-text-secondary);margin-bottom:var(--space-8);text-transform:none}.name-form label{display:block;font-family:VT323,monospace;font-size:1.1rem;color:var(--color-text-primary);margin-bottom:var(--space-2);text-align:left;text-transform:none}.name-form .pixel-input{margin-bottom:var(--space-4)}.home-view{max-width:800px;margin:0 auto}.challenges-section h2{color:var(--color-text-primary);margin-bottom:20px;font-size:1.5rem}.challenges-section h3{color:var(--color-primary);margin-top:30px;margin-bottom:15px;font-size:1.2rem;font-weight:600}.challenges-section h3:first-of-type{margin-top:0}.challenges-list{display:flex;flex-direction:column;gap:15px}.challenge-subsection{margin-bottom:30px}.challenge-subsection:last-child{margin-bottom:0}.loading-section{text-align:center;padding:80px 20px}.loader{border:8px solid #f3f3f3;border-top:8px solid var(--color-primary);border-radius:50%;width:80px;height:80px;animation:spin 1s linear infinite;margin:0 auto 30px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mosaic-canvas{width:300px;height:300px;margin:0 auto 20px;display:block;border-radius:0;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.loading-text{font-size:1.5rem;color:var(--color-text-primary);margin-bottom:10px}.loading-subtext{color:var(--color-text-secondary)}.card-preview-section{max-width:500px;margin:0 auto;text-align:center}.card-preview-section h2{color:var(--color-text-primary);margin-bottom:30px;font-size:1.8rem}.card-actions{display:flex;gap:15px;justify-content:center}.challenge-page{background:var(--color-bg-panel);border-radius:0;box-shadow:var(--shadow-panel);overflow:hidden;min-height:90vh}.challenge-main{padding:40px}.challenge-card{text-align:center}.challenge-card h2{color:var(--color-text-primary);font-size:2rem;margin-bottom:30px}.mystery-card{background:var(--color-bg-card);border-radius:0;padding:30px;border:4px solid var(--color-accent);margin-bottom:30px;position:relative}.card-silhouette{position:relative;border-radius:0;overflow:hidden}.blurred-image{width:100%;border-radius:0;filter:blur(20px) brightness(.8)}.mystery-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#667eea4d}.mystery-icon{font-size:5rem;margin-bottom:10px;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.mystery-text{color:var(--color-text-bright);font-size:1.5rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.challenge-prompt{color:var(--color-text-primary);font-size:1.2rem;margin-bottom:10px;line-height:1.6}.challenge-info-view .challenge-prompt{font-family:VT323,monospace;font-size:1.4rem;color:var(--color-primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:0}.challenge-info-view{max-width:500px;margin:0 auto;text-align:center;padding:10px 20px 30px}.challenge-info-view .card-preview-full{margin-bottom:var(--space-4)}.opponent-name-view{max-width:500px;margin:0 auto}.name-entry-card{text-align:center}.name-entry-card h2{color:var(--color-text-primary);font-size:1.8rem;margin-bottom:15px}.name-prompt{color:var(--color-text-secondary);font-size:1.1rem;margin-bottom:30px}.challenge-action-bar{max-width:340px;margin:20px auto 0;text-align:center}.challenge-cta-btn{width:100%}.inline-name-field{margin-bottom:16px}.name-field-label{display:block;font-family:VT323,monospace;font-size:1rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:2px;margin-bottom:6px;text-align:left}.name-field-wrapper{display:flex;align-items:center;background:var(--color-bg-deep);border:2px solid var(--color-accent);border-radius:0;overflow:hidden;transition:border-color .2s ease}.name-field-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 8px #667eea4d}.name-field-icon{padding:10px 10px 10px 12px;font-size:1.1rem;flex-shrink:0}.name-field-wrapper input{flex:1;background:transparent;border:none;color:var(--color-text-bright);font-family:VT323,monospace;font-size:1.3rem;padding:10px 12px 10px 4px;outline:none;text-transform:uppercase}.name-field-wrapper input::placeholder{color:var(--color-text-secondary);font-style:normal}.response-preview-section{max-width:500px;margin:0 auto;text-align:center}.response-preview-section h2{color:var(--color-text-primary);margin-bottom:30px;font-size:1.8rem}.creator-share-view{max-width:340px;margin:0 auto}.share-info-card{text-align:center}.share-info-card h2{color:var(--color-text-primary);font-size:1.8rem;margin-bottom:30px}.share-prompt{color:var(--color-text-secondary);font-size:1.1rem;margin:30px 0 20px}.third-party-message{text-align:center;margin-bottom:20px}.third-party-message p{color:var(--color-text-secondary);font-size:1.2rem;font-weight:600}.battle-submitted-view{max-width:500px;margin:0 auto}.success-card{text-align:center;padding:60px 40px;background:var(--color-bg-card);border-radius:0;border:4px solid var(--color-accent)}.success-icon{font-size:5rem;margin-bottom:20px;animation:successPop .6s ease-out}@keyframes successPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.success-card h2{color:var(--color-primary);font-size:2rem;margin-bottom:20px}.success-message{color:var(--color-text-secondary);font-size:1.2rem;line-height:1.6;margin-bottom:30px}@media(max-width:768px){.name-entry-box{padding:40px 30px}.camera-container{padding:10px}.viewfinder{width:90%;height:90%}.challenge-page{border-radius:0;min-height:100vh}.challenge-main{padding:20px;background:var(--color-bg-mid)}.mystery-icon{font-size:4rem}.success-card{padding:40px 20px}}.challenge-item-wrapper{cursor:pointer;display:block;max-width:500px;width:100%;margin:0 auto}.challenge-item{background:var(--color-bg-card);border:2px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);width:100%;transition:all var(--duration-normal);position:relative}.challenge-item:hover{border-color:var(--color-accent);transform:translate(4px)}.challenge-item:active{transform:translate(2px) translateY(1px)}.challenge-thumb{width:64px;height:64px;flex-shrink:0;image-rendering:pixelated;border:2px solid var(--color-accent);background:var(--color-bg-panel);display:flex;align-items:center;justify-content:center;overflow:hidden}.challenge-thumb img{width:100%;height:100%;object-fit:cover;display:block}.challenge-thumb.winner-card{border-color:var(--color-gold);box-shadow:0 0 6px #ffd7004d}.challenge-thumb-unseen{border-color:var(--color-primary);background:linear-gradient(135deg,#5b6ee11f,#3f3f741f)}.challenge-thumb-unseen span{font-size:1.2rem;animation:pulse 1.5s ease-in-out infinite}.challenge-thumb-empty{border:2px dashed var(--color-text-secondary);background:transparent}.challenge-thumb-empty span{font-size:1.2rem;opacity:.5}.challenge-content{flex:1;min-width:0;min-height:64px;display:flex;flex-direction:column;justify-content:space-between}.challenge-name-left{font-family:VT323,monospace;font-size:1.1rem;color:var(--color-text-primary);text-transform:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.challenge-status-text{font-family:VT323,monospace;font-size:1.2rem;color:var(--color-text-secondary);text-transform:uppercase;text-align:center}.challenge-status-text.waiting{color:var(--color-accent-warm)}.challenge-status-text.unseen{color:var(--color-accent)}.challenge-status-text.won{color:var(--color-win)}.challenge-status-text.lost{color:var(--color-loss)}.challenge-name-right{font-family:VT323,monospace;font-size:1.1rem;color:var(--color-text-primary);text-transform:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.challenge-vs-line{font-family:VT323,monospace;font-size:1.2rem;color:var(--color-text-secondary);text-transform:uppercase;text-align:center}.challenge-tagline{font-family:VT323,monospace;font-size:1.1rem;color:var(--color-accent);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.challenge-arrow{font-family:VT323,monospace;font-size:1.8rem;color:var(--color-text-secondary);transition:color var(--duration-normal);flex-shrink:0;line-height:1}.challenge-item:hover .challenge-arrow{color:var(--color-accent)}.challenge-item.challenge-won{border-left:4px solid var(--color-gold)}.challenge-item.challenge-lost{border-left:4px solid var(--color-text-secondary)}.challenge-item.challenge-unseen{border-left:4px solid var(--color-primary)}.empty-state{text-align:center;color:var(--color-text-secondary);padding:40px}.unseen-results-section{margin-bottom:var(--space-6)}.unseen-results-section .challenge-item{background:linear-gradient(135deg,rgba(91,110,225,.12),var(--color-bg-card));border-color:var(--color-primary)}.unseen-results-section .challenge-status-text{font-size:.95rem}.active-duels-section{margin-bottom:var(--space-6)}.section-label{font-family:Tiny5,monospace;font-size:.85rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-2)}.active-chips-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 calc(-1 * var(--space-4));padding:0 var(--space-4)}.active-chips-scroll::-webkit-scrollbar{display:none}.active-chips{display:flex;gap:var(--space-2);padding-bottom:var(--space-1)}.active-chip{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2);background:linear-gradient(135deg,rgba(233,69,96,.08),var(--color-bg-card));border:2px solid rgba(233,69,96,.3);padding:var(--space-2);min-width:160px;max-width:200px;cursor:pointer;transition:border-color var(--duration-fast),transform var(--duration-fast);font-family:inherit;text-align:left;color:inherit;-webkit-tap-highlight-color:transparent}.active-chip:active{transform:scale(.97)}.active-chip:hover{border-color:var(--color-accent-warm)}.chip-thumb{width:48px;height:48px;flex-shrink:0;image-rendering:pixelated;border:1px solid var(--color-accent);overflow:hidden}.chip-thumb img{width:100%;height:100%;object-fit:cover;display:block}.chip-info{display:flex;flex-direction:column;gap:1px;min-width:0}.chip-name{font-family:VT323,monospace;font-size:1rem;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-status{font-family:Tiny5,monospace;font-size:.7rem;color:var(--color-accent-warm);text-transform:uppercase}.duels-view{max-width:500px;margin:0 auto}.history-section{margin-top:var(--space-4)}.view-all-link{display:block;text-align:center;margin-top:var(--space-3);color:var(--color-text-secondary);font-family:VT323,monospace;font-size:1rem;background:none;border:none;cursor:pointer;padding:var(--space-2)}.view-all-link:hover{color:var(--color-accent)}.camera-view{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:1000;display:flex;align-items:center;justify-content:center}.camera-container{width:100%;max-width:600px;padding:20px}.camera-header{display:flex;justify-content:space-between;align-items:center;color:var(--color-text-bright);margin-bottom:20px}.camera-header h2{font-size:1.5rem}.camera-frame{position:relative;width:100%;aspect-ratio:1;border-radius:0;overflow:hidden;background:#000;margin-bottom:20px}#cameraVideo{width:100%;height:100%;object-fit:cover}.camera-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.viewfinder{width:80%;height:80%;border:3px solid rgba(255,255,255,.8);border-radius:0;box-shadow:0 0 0 9999px #00000080}.camera-controls{display:flex;gap:15px;justify-content:center}.camera-hint{position:absolute;bottom:100px;left:50%;transform:translate(-50%);background:#000000b3;color:var(--color-text-bright);font-family:VT323,monospace;font-size:1.3rem;padding:8px 20px;border-radius:0;text-transform:uppercase;letter-spacing:1px;pointer-events:none;animation:hintFadeIn .3s ease-out;z-index:10}@keyframes hintFadeIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.modal-content{background:var(--color-bg-panel);border:2px solid var(--color-accent);border-radius:0;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6) var(--space-6) var(--space-4);border-bottom:2px solid var(--color-border-subtle)}.modal-header h2{font-family:VT323,monospace;color:var(--color-text-bright);font-size:1.5rem}.modal-body{padding:var(--space-6)}.share-text{color:var(--color-text-secondary);margin-bottom:var(--space-4);text-align:center}.share-link-box{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.share-link-box input{flex:1;font-family:VT323,monospace;font-size:1rem;padding:var(--space-3) var(--space-4);background:var(--color-bg-deep);color:var(--color-text-bright);border:3px solid var(--color-text-secondary);border-radius:0;outline:none}.share-link-box input:focus{border-color:var(--color-accent)}.share-buttons{display:flex;flex-direction:column;gap:var(--space-2)}.btn-share{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-family:VT323,monospace;font-size:1.2rem;border:none;cursor:pointer;border-radius:0;text-transform:none;box-shadow:inset -3px -3px #0000004d,inset 3px 3px #ffffff26,3px 3px #0006;transition:transform var(--duration-fast);justify-content:center}.btn-share:active{transform:translateY(2px);box-shadow:inset 3px 3px #0000004d,inset -3px -3px #ffffff1a}.btn-whatsapp{background:#25d366;color:var(--color-text-bright)}.btn-whatsapp:hover{background:#20ba5a}.btn-sms{background:#007aff;color:var(--color-text-bright)}.btn-sms:hover{background:#06c}.share-group{display:flex;flex-direction:row;gap:var(--space-2);margin-top:var(--space-4)}.share-group .btn-share{flex:1;padding:var(--space-2) var(--space-1);font-size:1.3rem;gap:0}.share-cta{font-family:VT323,monospace;font-size:1.4rem;color:var(--color-accent);text-align:center;margin-top:var(--space-4)}.btn-delete-challenge{position:fixed;bottom:24px;right:16px;width:44px;height:44px;border-radius:50%;background:#ff3c3c26;border:2px solid rgba(255,60,60,.4);font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--duration-fast)}.btn-delete-challenge:hover{background:#ff3c3c4d}.delete-confirm{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-4);font-family:VT323,monospace;font-size:1.3rem;color:var(--color-text-primary)}.delete-confirm-buttons{display:flex;gap:var(--space-3)}.btn-danger{background:#e53e3e;color:var(--color-text-bright);border:none}.share-cta-name{color:var(--color-accent-warm)}.share-link-row{display:flex;gap:var(--space-2);margin-top:var(--space-4);margin-bottom:var(--space-4)}.share-link-row .pixel-input{flex:1;font-size:1rem}.btn-copy{background:var(--color-bg-panel);color:var(--color-text-bright);border:2px solid var(--color-accent)}.app-modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:4000;align-items:center;justify-content:center;padding:20px}.app-modal-overlay.show{display:flex}.app-modal{background:var(--color-bg-deep);border:3px solid var(--color-accent);border-radius:0;padding:24px;max-width:360px;width:100%;text-align:center;color:var(--color-text-bright);box-shadow:0 8px 32px #00000080;animation:modalPop .25s cubic-bezier(.68,-.55,.265,1.55)}@keyframes modalPop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.app-modal-message{font-size:1.1rem;margin-bottom:20px;line-height:1.4}.app-modal-close{background:var(--color-primary);color:var(--color-text-bright);border:none;padding:10px 32px;border-radius:0;font-family:inherit;font-size:1rem;cursor:pointer;text-transform:uppercase}.app-modal-close:hover{filter:brightness(1.1)}.battle-card{background:var(--color-bg-card);border-radius:0;padding:0;margin:0}.card-name{color:var(--color-primary-dark);font-size:1.8rem;margin-bottom:5px;text-align:center;line-height:1.2;min-height:2.4rem}.card-type{font-size:.95rem;color:var(--color-text-secondary);text-align:center;margin-bottom:15px;font-weight:600}.card-type-badge{font-family:"Micro 5",monospace;font-size:.85rem;color:var(--color-text-primary);text-align:center;margin-bottom:15px;padding:8px 12px;background:#ffffffe6;border:2px solid var(--border-card);display:inline-block;width:100%}.card-type-badge .type-emoji{font-size:.75rem}.card-image{width:100%;display:block}.card-stats{background:var(--card-stats-bg);border:none;padding:10px 15px;margin:0}.stat-bar-row{display:grid;grid-template-columns:80px 1fr 50px;align-items:center;gap:10px;margin-bottom:10px}.stat-bar-row:last-child{margin-bottom:0}.stat-bar-row .stat-label{font-weight:600;font-size:1rem;text-align:left;color:var(--color-text-dark)}.stat-bar-container{width:100%;height:24px;background:var(--color-bar-track);border-radius:0;overflow:hidden}.stat-bar{height:100%;background:var(--color-primary);transition:width .5s ease;border-radius:0}.stat-bar.chunky{display:flex;gap:3px;height:100%;padding:0;background:transparent;border-radius:0}.stat-block{flex:1;min-width:0;height:100%;background:var(--color-bg-card);border:none}.stat-block.filled{background:var(--color-primary)}.stat-block.empty{background:#0000001a}.card-preview-full .stat-bar.chunky{gap:3px}.card-preview-full .stat-block{min-width:0;aspect-ratio:auto;height:100%}.card-preview-full .stat-bar-container{height:24px}.battle-card.pixel-corners{padding:0;background:var(--color-bg-card);border-radius:0}.battle-card .card-name{background:var(--card-header-bg);color:var(--card-header-text);padding:10px 15px;margin:0;font-size:1.5rem}.battle-card .card-image{width:100%;aspect-ratio:1;object-fit:cover;display:block;border-radius:0;box-shadow:none;margin:0}.battle-card .card-stats{padding:10px 15px;border-radius:0;margin:-1px 0 0}.battle-card .card-special{background:var(--card-header-bg);color:var(--card-header-text);padding:0;margin:0;border-radius:0}.battle-card .special-label{font-size:1.3rem;font-weight:700;margin-bottom:0;line-height:1.1;padding:10px 15px 8px;background:#ffffff14;height:2.8rem;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.battle-card .special-impact{font-size:.85rem;text-transform:none;opacity:.85;padding:10px 15px 14px;height:3.6rem;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.battle-card-wrapper{position:relative;display:inline-block;margin-top:15px}.stat-bar-row .stat-value{font-weight:700;font-size:1rem;color:var(--color-text-dark);text-align:right}.stat-unique{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;margin-top:15px;background:linear-gradient(135deg,#fff5e6,#ffe6f0);border-radius:0}.stat-unique .stat-label{font-weight:700;color:var(--color-primary-dark);font-size:1rem}.stat-unique .stat-value{font-weight:700;font-size:1.1rem;color:var(--color-primary-dark)}.card-special{background:var(--card-header-bg);color:var(--card-header-text);padding:0;margin:0;text-align:center}.special-label{font-family:VT323,monospace;font-size:1.3rem;margin-bottom:0;font-weight:700;line-height:1.1;padding:10px 15px 8px;background:#ffffff14}.special-impact{font-size:.85rem;line-height:1.3;opacity:.85;text-transform:none;padding:6px 15px 12px}.card-preview-full{display:flex;justify-content:center;margin-bottom:0;padding:0 20px}.card-preview-full .battle-card-wrapper{max-width:600px;width:100%}.card-preview-full .card-name{font-size:2.7rem;padding:15px}#cardPreviewType,#responseCardType,#creatorShareType{font-size:1.6rem;padding:0 12px}#cardPreviewType .type-emoji,#responseCardType .type-emoji,#creatorShareType .type-emoji{font-size:1rem}.card-preview-full .stat-bar-row{grid-template-columns:100px 1fr 60px}.card-preview-full .stat-label,.card-preview-full .stat-value{font-size:1.5rem}.card-preview-full .special-label{font-size:1.6rem}.card-preview-full .special-impact{font-size:1.2rem}.mini-battle-card{background:var(--color-bg-card);padding:0;overflow:hidden;position:relative;display:block}.mini-card-name{background:var(--card-header-bg);color:var(--card-header-text);font-size:1.2rem;padding:10px 6px 0;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:.8;height:3rem;margin:0;display:flex;align-items:center;justify-content:center;text-align:center}.mini-card-type{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--card-type-bg);color:var(--color-text-dark);font-family:"Micro 5",monospace;font-size:1rem;padding:0 6px;font-weight:400;margin:0;text-align:center;border:3px solid var(--border-card);border-radius:0;z-index:15;white-space:nowrap;box-shadow:0 2px 4px #0000001a}.type-emoji{font-size:.65rem}.mini-card-image{width:100%;aspect-ratio:1;display:block;margin:0;object-fit:cover}.mini-stats-vertical{background:var(--card-stats-bg);border:none;padding:0;margin:-1px 0 0}.mini-stat-row{display:flex;justify-content:space-between;align-items:center;padding:0 18px;margin:0;background:transparent}.mini-stat-row.unique{background:transparent}.mini-stat-label{font-weight:600;font-size:.9rem;text-align:left;color:var(--color-text-dark)}.mini-stat-value{font-weight:700;font-size:.95rem;color:var(--color-text-dark)}.mini-stat-row.unique .mini-stat-label,.mini-stat-row.unique .mini-stat-value{color:var(--color-primary-dark)}.mini-card-special-section{background:var(--card-header-bg);color:var(--card-header-text);text-align:center;padding:6px 8px;margin:0}.mini-special-label{font-family:VT323,monospace;font-size:1.1rem;margin:0 0 2px;font-weight:700;line-height:1.1;height:2.4rem;display:flex;align-items:center;justify-content:center;overflow:hidden}.mini-special-impact{font-size:.75rem;line-height:1.2;opacity:.9;height:2.7rem;display:flex;align-items:center;justify-content:center;overflow:hidden}.compact-battle-card{background:var(--color-bg-card);padding:0;overflow:hidden;position:relative;display:block}.compact-card-type-size{font-size:.85rem;padding:0 4px;border-width:2px}.compact-card-name{background:var(--card-header-bg);color:var(--card-header-text);font-size:1rem;padding:8px 6px 4px;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.1;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;height:44px}.compact-card-image{width:100%;aspect-ratio:1;display:block;margin:0;object-fit:cover}.compact-card-special{background:var(--card-header-bg);color:var(--card-header-text);font-family:VT323,monospace;font-size:.9rem;font-weight:700;text-align:center;padding:4px 6px;margin:0;line-height:1.1;height:36px;display:flex;align-items:center;justify-content:center;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.challenge-header{background:var(--color-bg-panel);color:var(--color-text-bright);border-bottom:3px solid var(--color-accent);padding:var(--space-3) var(--space-4);text-align:center;position:relative}.challenge-header h1{font-size:2.5rem;margin-bottom:2px;color:var(--color-accent-warm);text-shadow:2px 2px 0px rgba(0,0,0,.5),0 0 20px rgba(247,165,65,.3)}.challenge-subtitle{font-family:VT323,monospace;font-size:1.3rem;color:var(--color-text-primary);background:var(--color-bg-deep);padding:var(--space-2) 0;display:block;width:100%;margin:0}.challenge-subtitle:has(.vs-text){display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center}.challenge-subtitle .player-name{text-align:center}.challenge-subtitle .vs-text{font-weight:700;font-size:1.4rem;text-align:center}.battle-results-view{max-width:900px;margin:0 auto}.battle-arena{padding:0}.battle-arena h2{text-align:center;color:var(--color-text-primary);font-size:2.2rem;margin-bottom:40px}.battle-cards-container{display:flex;justify-content:center;align-items:flex-start;gap:30px;margin-bottom:0;flex-wrap:nowrap}.battle-card-wrapper{flex:0 1 280px;min-width:250px;max-width:300px;text-align:center;position:relative}.battle-card-wrapper.winner .pixel-corners-wrapper{background:var(--color-gold-dark)}.battle-card-wrapper.winner .pixel-corners-wrapper:after{background:var(--border-winner)}.battle-card-wrapper.winner .mini-card-name,.battle-card-wrapper.winner .mini-card-special-section{background:linear-gradient(135deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);color:var(--color-bg-deep)}.battle-card-wrapper.winner .mini-special-label,.battle-card-wrapper.winner .mini-special-impact{color:var(--color-bg-deep)}.battle-card-wrapper.winner:before{content:"";position:absolute;top:-15px;left:-15px;width:40px;height:45px;background-image:url(/assets/trophy_8x9.png);background-size:contain;background-repeat:no-repeat;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;z-index:10;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.3))}.battle-card-wrapper.winner .mini-card-type{border-color:var(--color-gold)}.fighter-label{color:var(--color-primary);font-size:1.3rem;margin-bottom:15px}.pixel-corners-wrapper{width:fit-content;height:fit-content;position:relative;padding-top:0;clip-path:polygon(0px calc(100% - 12px),6px calc(100% - 12px),6px calc(100% - 6px),12px calc(100% - 6px),12px 100%,calc(100% - 12px) 100%,calc(100% - 12px) calc(100% - 6px),calc(100% - 6px) calc(100% - 6px),calc(100% - 6px) calc(100% - 12px),100% calc(100% - 12px),100% 12px,calc(100% - 6px) 12px,calc(100% - 6px) 6px,calc(100% - 12px) 6px,calc(100% - 12px) 0px,12px 0px,12px 6px,6px 6px,6px 12px,0px 12px)}.pixel-corners-wrapper:after{content:"";position:absolute;clip-path:polygon(0px calc(100% - 12px),6px calc(100% - 12px),6px calc(100% - 6px),12px calc(100% - 6px),12px 100%,calc(100% - 12px) 100%,calc(100% - 12px) calc(100% - 6px),calc(100% - 6px) calc(100% - 6px),calc(100% - 6px) calc(100% - 12px),100% calc(100% - 12px),100% 12px,calc(100% - 6px) 12px,calc(100% - 6px) 6px,calc(100% - 12px) 6px,calc(100% - 12px) 0px,12px 0px,12px 6px,6px 6px,6px 12px,0px 12px,0px 50%,6px 50%,6px 12px,12px 12px,12px 6px,calc(100% - 12px) 6px,calc(100% - 12px) 12px,calc(100% - 6px) 12px,calc(100% - 6px) calc(100% - 12px),calc(100% - 12px) calc(100% - 12px),calc(100% - 12px) calc(100% - 6px),12px calc(100% - 6px),12px calc(100% - 12px),6px calc(100% - 12px),6px 50%,0px 50%);top:0;bottom:0;left:0;right:0;background:var(--border-card);display:block;pointer-events:none}.pixel-corners-wrapper .pixel-corners{clip-path:polygon(6px 12px,12px 12px,12px 6px,calc(100% - 12px) 6px,calc(100% - 12px) 12px,calc(100% - 6px) 12px,calc(100% - 6px) calc(100% - 12px),calc(100% - 12px) calc(100% - 12px),calc(100% - 12px) calc(100% - 6px),12px calc(100% - 6px),12px calc(100% - 12px),6px calc(100% - 12px))}.vs-divider{font-size:2.5rem;font-weight:900;color:var(--color-primary);text-shadow:2px 2px 4px rgba(0,0,0,.1);animation:pulse 2s infinite;flex-shrink:0;align-self:center}.battle-result-panel{margin-bottom:5px;position:relative}.battle-result-panel:before{content:"";position:absolute;top:-5px;left:-5px;width:50px;height:50px;background-image:url(/assets/judge.png);background-size:contain;background-repeat:no-repeat;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;z-index:10;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.3))}.pixel-corners-wrapper.narrative-wrapper:after{background:var(--border-narrative)}.battle-narrative{background:var(--color-bg-cream);text-align:center;margin-bottom:10px;padding:0;overflow:hidden;display:block}.narrative-header{background:var(--narrative-header-bg);color:var(--narrative-header-text);padding:var(--space-2) var(--space-4);font-family:VT323,monospace;font-size:1.3rem;font-weight:700;text-transform:none;display:flex;align-items:center;gap:var(--space-2)}.narrative-content{padding:var(--space-4) var(--space-6)}.battle-narrative p{font-family:VT323,monospace;color:#503824;font-size:1.25rem;line-height:1.3;margin:0;text-transform:none}.narrative-tagline{font-style:italic;font-weight:700;margin-top:var(--space-2)!important;opacity:.85}.battle-actions{display:flex;gap:15px;justify-content:center}@media(max-width:768px){.battle-arena h2{font-size:1.8rem}.battle-cards-container{flex-direction:row;gap:15px;align-items:flex-start;justify-content:center}.battle-card-wrapper{flex:1;min-width:0;max-width:45%}.vs-divider{font-size:2rem;transform:none;margin:10px 0}.battle-narrative p{font-size:1.2rem}.battle-actions{flex-direction:column}.battle-actions .btn{width:100%}}.fav-btn{font-size:1.4rem;cursor:pointer;transition:transform var(--duration-fast);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.fav-btn:active{transform:scale(1.3)}.fav-btn.fav-active{animation:fav-pop .3s var(--ease-bounce)}@keyframes fav-pop{0%{transform:scale(1)}50%{transform:scale(1.4)}to{transform:scale(1)}}.fav-row{display:flex;justify-content:center;align-items:center;padding:0;margin:0 0 var(--space-2) 0}.fav-cell{flex:0 1 280px;min-width:250px;max-width:300px;text-align:center}.fav-hint{font-family:Tiny5,monospace;font-size:.65rem;color:var(--color-text-secondary);text-transform:uppercase;flex-shrink:0;margin:0 15px}.fav-row-reserved{visibility:hidden}.fav-row-animate{animation:fav-fade-in .6s var(--ease-game) both;animation-delay:.5s}@keyframes fav-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.fav-cell{flex:1;min-width:0;max-width:45%}}.reveal-container{width:100%;display:flex;flex-direction:column;align-items:center;padding:16px 8px 32px;gap:16px;position:relative}.reveal-cards-row{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:20px;width:100%}.reveal-card{position:relative;border:3px solid var(--color-accent);border-radius:0;transition:border-color .5s ease,opacity .5s ease,filter .5s ease,transform .5s ease}.reveal-vs{display:flex;align-items:center;justify-content:center;align-self:center;font-family:VT323,monospace;font-size:2rem;font-weight:700;color:var(--color-gold);text-shadow:0 0 8px rgba(255,204,0,.6);letter-spacing:2px;flex-shrink:0;padding:0 4px}.reveal-judge{opacity:0;transform:translateY(-60px);display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;will-change:opacity,transform}.reveal-judge.entered{animation:judgeEnter .7s cubic-bezier(.34,1.56,.64,1) forwards}.judge-character{font-size:48px;line-height:1}.judge-phrase{font-family:VT323,monospace;font-size:1.4rem;text-transform:uppercase;letter-spacing:3px;color:var(--color-gold);text-shadow:0 0 10px rgba(255,204,0,.5)}.stat-value.stat-hidden{color:var(--color-gold)}.stat-value.stat-winner{color:var(--color-win);font-size:1.1em}.stat-value.stat-loser{color:var(--color-loss)}.stat-value.stat-neutral{color:#fff}.stat-value.stat-revealed{transition:color .3s ease,font-size .3s ease}.reveal-particle{position:absolute;pointer-events:none;z-index:10;border-radius:50%;width:8px;height:8px}.reveal-particle.stat-particle{animation:particleFloatUp 1.2s ease-out forwards}.reveal-particle.special-particle{animation:specialBurst 1.8s ease-out forwards}.reveal-card.winner,.battle-card-wrapper.winner{background:transparent;border:none;animation:winnerPulse 3s ease-in-out infinite}.reveal-card.loser,.battle-card-wrapper.loser{opacity:.6;filter:grayscale(30%);transform:scale(.97);transition:opacity .5s ease,filter .5s ease,transform .5s ease}.reveal-card.tie,.battle-card-wrapper.tie{border-color:var(--color-gold)}.reveal-crown{position:absolute;top:-28px;left:50%;transform:translate(-50%);font-size:1.6rem;opacity:0;pointer-events:none;will-change:opacity,transform}.reveal-crown.dropped{animation:crownDrop .6s cubic-bezier(.34,1.56,.64,1) forwards}.reveal-winner-text{font-family:VT323,monospace;font-size:1.5rem;color:var(--color-gold);text-align:center;text-shadow:0 0 12px rgba(255,204,0,.7),0 0 24px rgba(255,204,0,.4);letter-spacing:2px;text-transform:uppercase;opacity:0;transform:scale(.5);will-change:opacity,transform}.reveal-winner-text.visible{animation:textPop .5s cubic-bezier(.34,1.56,.64,1) forwards}.reveal-narrative{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease;width:100%;text-align:center}.reveal-narrative.visible{opacity:1;transform:translateY(0)}.narrative-margin-badge{display:inline-block;font-family:VT323,monospace;font-size:.85rem;text-transform:uppercase;letter-spacing:2px;color:var(--color-gold);background:#00000073;border:1px solid rgba(255,204,0,.35);border-radius:0;padding:1px 7px;vertical-align:middle}.confetti-piece{position:fixed;top:-12px;pointer-events:none;z-index:100;border-radius:2px;opacity:1}@keyframes judgeEnter{0%{opacity:0;transform:translateY(-60px)}60%{opacity:1;transform:translateY(4px)}80%{transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes particleFloatUp{0%{opacity:1;transform:translateY(0) scale(1)}60%{opacity:.7;transform:translateY(-24px) scale(1.4)}to{opacity:0;transform:translateY(-40px) scale(1.5)}}@keyframes specialBurst{0%{opacity:1;transform:translate(0) scale(.5) rotate(0)}50%{opacity:.9;transform:translate(var(--dx),var(--dy)) scale(1.2) rotate(var(--rot))}to{opacity:0;transform:translate(calc(var(--dx) * 1.6),calc(var(--dy) * 1.6)) scale(.4) rotate(calc(var(--rot) * 2))}}@keyframes winnerPulse{0%{box-shadow:0 0 4px 1px #fc03,0 0 12px 2px #ffcc001a}50%{box-shadow:0 0 8px 3px #ffcc0059,0 0 20px 6px #ffcc0026}to{box-shadow:0 0 4px 1px #fc03,0 0 12px 2px #ffcc001a}}@keyframes crownDrop{0%{opacity:0;transform:translate(-50%) translateY(-30px) scale(1.5)}60%{opacity:1;transform:translate(-50%) translateY(4px) scale(.95)}80%{transform:translate(-50%) translateY(-3px) scale(1.02)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes textPop{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes confettiFall{0%{opacity:1;transform:translateY(0) translate(0) rotate(0)}15%{transform:translateY(15vh) translate(12px) rotate(120deg)}30%{transform:translateY(30vh) translate(-8px) rotate(240deg)}50%{transform:translateY(50vh) translate(14px) rotate(400deg)}70%{transform:translateY(70vh) translate(-10px) rotate(560deg);opacity:.9}90%{opacity:.4;transform:translateY(92vh) translate(6px) rotate(680deg)}to{opacity:0;transform:translateY(105vh) translate(0) rotate(720deg)}}@media(max-width:500px){.reveal-cards-row{gap:10px}.reveal-vs{font-size:1.4rem}.judge-character{font-size:36px}.judge-phrase{font-size:1.1rem;letter-spacing:2px}.reveal-winner-text{font-size:1.2rem}.narrative-margin-badge{font-size:.75rem;padding:1px 5px}.reveal-crown{font-size:1.3rem;top:-22px}.reveal-particle{width:6px;height:6px}}.app-shell{display:flex;flex-direction:column;min-height:100vh;position:relative}.shell-header{position:sticky;top:0;z-index:var(--z-nav);background:var(--color-bg-panel);text-align:center;transition:transform var(--duration-normal) var(--ease-game),opacity var(--duration-normal) var(--ease-game)}.shell-header.header-hidden{transform:translateY(-100%);opacity:0;pointer-events:none}.shell-header h1{padding:var(--space-2) 0 0;margin:0;font-size:2rem;cursor:pointer}.shell-subtitle{background:var(--color-bg-mid);padding:var(--space-1) var(--space-4);font-family:VT323,monospace;font-size:1.1rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px}.shell-content{flex:1;padding:var(--space-4);padding-bottom:100px;overflow-y:auto}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:74px;background:var(--color-bg-panel);border-top:2px solid var(--color-bg-mid);display:flex;align-items:center;justify-content:space-around;z-index:var(--z-nav);transition:transform var(--duration-normal) var(--ease-game);padding-bottom:env(safe-area-inset-bottom,0)}.bottom-nav.nav-hidden{transform:translateY(100%)}.nav-tab{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;padding:0 var(--space-2) 4px;background:none;border:none;cursor:pointer;color:var(--color-text-secondary);transition:color var(--duration-fast);font-family:Tiny5,monospace;font-size:1rem;text-transform:uppercase;letter-spacing:.5px;-webkit-tap-highlight-color:transparent}.nav-tab:active{transform:scale(.95)}.nav-tab.active{color:var(--color-accent)}.nav-tab-icon{font-size:2.2rem;line-height:1}.nav-tab-pfp{display:block;width:42px;height:42px;border-radius:50%;overflow:hidden;border:2px solid var(--color-accent)}.nav-tab-pfp img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.nav-fab-spacer{width:64px}.fab{position:fixed;bottom:28px;left:50%;transform:translate(-50%) scale(1);width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent-warm),#e8852a);border:3px solid var(--color-bg-mid);display:flex;align-items:center;justify-content:center;font-size:1.6rem;box-shadow:0 4px 12px #f7a54166;cursor:pointer;z-index:var(--z-fab);transition:transform var(--duration-normal) var(--ease-bounce),opacity var(--duration-normal) var(--ease-game);-webkit-tap-highlight-color:transparent}.fab:active{transform:translate(-50%) scale(.92)}.fab.fab-hidden{transform:translate(-50%) scale(0);opacity:0;pointer-events:none}.fab.fab-entering{animation:fab-spring-in .3s var(--ease-bounce) forwards}@keyframes fab-spring-in{0%{transform:translate(-50%) scale(0);opacity:0}70%{transform:translate(-50%) scale(1.05);opacity:1}to{transform:translate(-50%) scale(1);opacity:1}}.flow-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:var(--z-flow-overlay);background:var(--color-bg-deep);display:flex;flex-direction:column}.flow-overlay-content{flex:1;overflow-y:auto;padding:var(--space-4)}.status-bar{height:36px;background:var(--color-bg-panel);border-bottom:2px solid var(--color-bg-mid);display:flex;align-items:center;justify-content:center;padding:0 var(--space-4);z-index:var(--z-status-bar);position:relative}.status-bar-close{position:absolute;left:var(--space-3);background:none;border:none;color:var(--color-text-secondary);font-size:1.2rem;cursor:pointer;padding:var(--space-1);line-height:1;-webkit-tap-highlight-color:transparent}.status-bar-close:hover{color:var(--color-text-primary)}.status-bar-message{font-family:VT323,monospace;font-size:1.3rem;color:var(--color-accent);text-transform:none;letter-spacing:.5px}.deck-view{max-width:600px;margin:0 auto}.deck-section{margin-bottom:var(--space-6)}.deck-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}@media(max-width:500px){.deck-grid{grid-template-columns:repeat(3,1fr)}}.deck-card{overflow:hidden}.deck-card{cursor:pointer}.deck-card .battle-card-wrapper{flex:1;min-width:0;max-width:100%}.deck-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fav-fade-in .2s ease both}.deck-detail-content{max-width:340px;width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.deck-detail-content .battle-card-wrapper{min-width:0;max-width:100%}.stub-view{text-align:center;padding:var(--space-12) var(--space-4)}.stub-icon{font-size:4rem;margin-bottom:var(--space-4)}.stub-message{color:var(--color-text-secondary);font-family:VT323,monospace;font-size:1.3rem}.ranks-view{max-width:500px;margin:0 auto}.ranks-summary{text-align:center;font-family:VT323,monospace;font-size:2rem;margin-bottom:var(--space-6)}.ranks-stat.win{color:var(--color-win)}.ranks-stat.loss{color:var(--color-loss)}.ranks-tabs{display:flex;gap:2px;margin-bottom:var(--space-4)}.ranks-tab{flex:1;padding:var(--space-2) var(--space-3);background:var(--color-bg-card);border:2px solid var(--color-bg-mid);color:var(--color-text-secondary);font-family:VT323,monospace;font-size:1.1rem;cursor:pointer;text-transform:uppercase;transition:all var(--duration-fast)}.ranks-tab.active{background:var(--color-bg-mid);color:var(--color-accent);border-color:var(--color-accent)}.matchup-list{display:flex;flex-direction:column;gap:var(--space-2)}.matchup-row{display:flex;align-items:center;gap:var(--space-3);background:var(--color-bg-card);padding:var(--space-3);border:1px solid rgba(255,255,255,.08)}.matchup-pfp{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid var(--color-accent)}.matchup-pfp img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.matchup-pfp-empty{display:flex;align-items:center;justify-content:center;font-size:1.2rem;background:var(--color-bg-panel);border-color:#ffffff26}.matchup-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.matchup-name{font-family:VT323,monospace;font-size:1.1rem;color:var(--color-text-primary)}.matchup-form{display:flex;gap:3px}.form-dot{width:8px;height:8px;border-radius:50%}.form-W{background:var(--color-win)}.form-L{background:var(--color-loss)}.form-T{background:var(--color-text-secondary)}.matchup-record{font-family:VT323,monospace;font-size:1.1rem}.matchup-record .win{color:var(--color-win)}.matchup-record .loss{color:var(--color-loss)}.history-list{display:flex;flex-direction:column;gap:var(--space-2)}.history-item{display:flex;align-items:flex-start;gap:var(--space-3);background:var(--color-bg-card);padding:var(--space-3);border:1px solid rgba(255,255,255,.08);cursor:pointer}.history-item.lost{filter:saturate(.5);opacity:.8}.history-cards{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.history-vs{font-family:VT323,monospace;font-size:.8rem;color:var(--color-text-secondary)}.history-info{flex:1;display:flex;flex-direction:column;justify-content:flex-start;gap:var(--space-2);min-width:0}.history-names{font-family:VT323,monospace;font-size:.9rem;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-result{font-family:VT323,monospace;font-size:1rem;flex-shrink:0;margin-left:var(--space-2)}.history-result.win{color:var(--color-win)}.history-result.loss{color:var(--color-loss)}.history-vs-line{font-family:VT323,monospace;font-size:1rem;color:var(--color-text-secondary);text-transform:uppercase}.history-tagline{font-family:VT323,monospace;font-size:.9rem;color:var(--color-accent);line-height:1.2}.user-view{text-align:center;max-width:400px;margin:0 auto;padding-top:var(--space-8)}.user-avatar{font-size:4rem;margin-bottom:var(--space-4)}.user-avatar-img{width:96px;height:96px;border-radius:50%;overflow:hidden;margin:0 auto var(--space-4);border:3px solid var(--color-accent)}.user-avatar-img img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.pfp-hint{font-family:Tiny5,monospace;font-size:.85rem;color:var(--color-text-secondary);margin-top:var(--space-4)}.user-name{cursor:pointer;transition:color var(--duration-fast)}.user-name:hover{color:var(--color-accent)}.user-edit-hint{font-size:.8em;opacity:.5}.user-name-edit{margin-bottom:var(--space-4)}.user-name-edit .pixel-input{text-align:center;margin-bottom:var(--space-2)}.user-since{color:var(--color-text-secondary);font-family:VT323,monospace;font-size:1.1rem;margin-top:var(--space-2)}.auth-section{margin-top:var(--space-6);padding-top:var(--space-5);border-top:2px solid var(--color-border);text-align:center}.auth-section-title{font-family:VT323,monospace;font-size:1.4rem;color:var(--color-text-bright);margin-bottom:var(--space-1)}.auth-section-desc{font-family:VT323,monospace;font-size:1rem;color:var(--color-text-secondary);margin-bottom:var(--space-4)}.btn-google{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);background:var(--color-bg-panel);border:2px solid var(--color-border);color:var(--color-text-bright);font-family:VT323,monospace;font-size:1.2rem;cursor:pointer;transition:border-color var(--duration-fast)}.btn-google:hover{border-color:var(--color-accent)}.btn-google:disabled{opacity:.6;cursor:not-allowed}.google-icon{flex-shrink:0}.auth-status-linked{font-family:VT323,monospace;font-size:1.4rem;color:var(--color-success, #4ade80)}.auth-email{font-family:VT323,monospace;font-size:1rem;color:var(--color-text-secondary);margin-top:var(--space-1)}.flow-names-bar{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-1) var(--space-4);background:var(--color-bg-mid)}.flow-name{font-family:VT323,monospace;font-size:1.1rem;color:var(--color-text-primary);text-transform:uppercase}.flow-name-left,.flow-name-right{text-align:center;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-name-vs{font-family:Tiny5,monospace;font-size:.7rem;color:var(--color-text-secondary);text-transform:uppercase;flex-shrink:0}@media(max-width:768px){.shell-content{padding:var(--space-3);padding-bottom:100px}.shell-header h1{font-size:1.8rem}}
