:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{-webkit-tap-highlight-color:rgba(102,126,234,.2);-webkit-touch-callout:none;box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}body{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;position:relative;width:100%}.app{max-width:1600px;margin:0 auto;padding:2rem;width:100%;box-sizing:border-box;overflow-x:hidden}header{text-align:center;margin-bottom:0;color:#fff;position:relative;padding:4rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px 20px 0 0;overflow:visible;box-shadow:0 20px 60px #667eea66}.main-nav{display:flex;justify-content:center;gap:2rem;background:#fffffff2;padding:1rem;border-radius:0 0 20px 20px;margin-bottom:3rem;box-shadow:0 10px 30px #0000001a}.nav-link{color:#667eea;text-decoration:none;font-weight:600;font-size:1.1rem;padding:.5rem 1.5rem;border-radius:8px;transition:all .3s ease}.nav-link:hover{background:#667eea;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}header:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:shine 3s infinite}@keyframes shine{0%{left:-100%}50%,to{left:100%}}.header-collage{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:0}.collage-character{position:absolute;width:160px;height:224px;background-size:cover;background-position:center;border-radius:12px;box-shadow:0 10px 40px #00000080;transition:transform .6s cubic-bezier(.34,1.56,.64,1),opacity .6s ease-in-out,filter .6s ease-in-out,box-shadow .6s ease-in-out;opacity:.75;filter:brightness(.95)}.collage-character:hover{transform:translateY(-30px) rotate(0) scale(1.15)!important;box-shadow:0 25px 70px #000c,0 0 40px #ffd70066;opacity:1;filter:brightness(1.2) saturate(1.2);z-index:100!important;animation-play-state:paused}.collage-left-1{animation:fanLeft1 14s ease-in-out infinite}.collage-left-2{animation:fanLeft2 15s ease-in-out infinite}.collage-left-3{animation:fanLeft3 16s ease-in-out infinite}.collage-left-4{animation:fanLeft4 17s ease-in-out infinite}.collage-left-5{animation:fanLeft5 18s ease-in-out infinite}.collage-right-1{animation:fanRight1 14.5s ease-in-out infinite}.collage-right-2{animation:fanRight2 15.5s ease-in-out infinite}.collage-right-3{animation:fanRight3 16.5s ease-in-out infinite}.collage-right-4{animation:fanRight4 17.5s ease-in-out infinite}.collage-right-5{animation:fanRight5 18.5s ease-in-out infinite}@keyframes fanLeft1{0%{left:5%;transform:translateY(-35px) rotate(-25deg) scale(1);z-index:1;opacity:.75}15%{left:8%;transform:translateY(-50px) rotate(-30deg) scale(1.05);z-index:5;opacity:.95}30%{left:3%;transform:translateY(-20px) rotate(-18deg) scale(.98);z-index:3;opacity:.82}50%{left:10%;transform:translateY(-42px) rotate(-22deg) scale(1.03);z-index:4;opacity:.88}70%{left:6%;transform:translateY(-38px) rotate(-28deg) scale(1);z-index:2;opacity:.78}85%{left:4%;transform:translateY(-30px) rotate(-24deg) scale(1.02);z-index:3;opacity:.85}to{left:5%;transform:translateY(-35px) rotate(-25deg) scale(1);z-index:1;opacity:.75}}@keyframes fanLeft2{0%{left:8%;transform:translateY(-15px) rotate(-15deg) scale(1);z-index:2;opacity:.78}20%{left:12%;transform:translateY(-8px) rotate(-10deg) scale(1.08);z-index:5;opacity:.95}40%{left:6%;transform:translateY(-22px) rotate(-18deg) scale(.95);z-index:1;opacity:.72}60%{left:10%;transform:translateY(-12px) rotate(-12deg) scale(1.04);z-index:4;opacity:.88}80%{left:9%;transform:translateY(-18px) rotate(-16deg) scale(1);z-index:3;opacity:.82}to{left:8%;transform:translateY(-15px) rotate(-15deg) scale(1);z-index:2;opacity:.78}}@keyframes fanLeft3{0%{left:12%;transform:translateY(5px) rotate(-8deg) scale(1);z-index:3;opacity:.82}25%{left:16%;transform:translateY(15px) rotate(-3deg) scale(1.06);z-index:5;opacity:.95}45%{left:10%;transform:translateY(-2px) rotate(-12deg) scale(.97);z-index:2;opacity:.75}65%{left:14%;transform:translateY(10px) rotate(-5deg) scale(1.03);z-index:4;opacity:.88}85%{left:13%;transform:translateY(8px) rotate(-9deg) scale(1);z-index:3;opacity:.82}to{left:12%;transform:translateY(5px) rotate(-8deg) scale(1);z-index:3;opacity:.82}}@keyframes fanLeft4{0%{left:17%;transform:translateY(20px) rotate(-3deg) scale(1);z-index:4;opacity:.85}18%{left:20%;transform:translateY(32px) rotate(2deg) scale(1.05);z-index:5;opacity:.95}35%{left:15%;transform:translateY(12px) rotate(-8deg) scale(.96);z-index:1;opacity:.72}55%{left:19%;transform:translateY(28px) rotate(-1deg) scale(1.04);z-index:3;opacity:.85}75%{left:18%;transform:translateY(24px) rotate(-4deg) scale(1);z-index:2;opacity:.78}90%{left:16%;transform:translateY(18px) rotate(-5deg) scale(1.02);z-index:4;opacity:.88}to{left:17%;transform:translateY(20px) rotate(-3deg) scale(1);z-index:4;opacity:.85}}@keyframes fanLeft5{0%{left:22%;transform:translateY(35px) rotate(2deg) scale(1);z-index:5;opacity:.88}22%{left:25%;transform:translateY(45px) rotate(6deg) scale(1.07);z-index:5;opacity:.95}42%{left:20%;transform:translateY(28px) rotate(-2deg) scale(.98);z-index:2;opacity:.75}62%{left:24%;transform:translateY(40px) rotate(4deg) scale(1.04);z-index:4;opacity:.88}82%{left:23%;transform:translateY(38px) rotate(3deg) scale(1);z-index:3;opacity:.82}to{left:22%;transform:translateY(35px) rotate(2deg) scale(1);z-index:5;opacity:.88}}@keyframes fanRight1{0%{right:5%;transform:translateY(-35px) rotate(25deg) scale(1);z-index:1;opacity:.75}12%{right:8%;transform:translateY(-48px) rotate(30deg) scale(1.06);z-index:5;opacity:.95}28%{right:3%;transform:translateY(-22px) rotate(18deg) scale(.97);z-index:3;opacity:.82}48%{right:10%;transform:translateY(-40px) rotate(22deg) scale(1.04);z-index:4;opacity:.88}68%{right:6%;transform:translateY(-36px) rotate(28deg) scale(1);z-index:2;opacity:.78}88%{right:4%;transform:translateY(-32px) rotate(26deg) scale(1.02);z-index:3;opacity:.85}to{right:5%;transform:translateY(-35px) rotate(25deg) scale(1);z-index:1;opacity:.75}}@keyframes fanRight2{0%{right:8%;transform:translateY(-15px) rotate(15deg) scale(1);z-index:2;opacity:.78}23%{right:12%;transform:translateY(-10px) rotate(10deg) scale(1.08);z-index:5;opacity:.95}44%{right:6%;transform:translateY(-20px) rotate(18deg) scale(.96);z-index:1;opacity:.72}64%{right:10%;transform:translateY(-14px) rotate(12deg) scale(1.04);z-index:4;opacity:.88}84%{right:9%;transform:translateY(-16px) rotate(16deg) scale(1);z-index:3;opacity:.82}to{right:8%;transform:translateY(-15px) rotate(15deg) scale(1);z-index:2;opacity:.78}}@keyframes fanRight3{0%{right:12%;transform:translateY(5px) rotate(8deg) scale(1);z-index:3;opacity:.82}27%{right:16%;transform:translateY(16px) rotate(3deg) scale(1.06);z-index:5;opacity:.95}47%{right:10%;transform:translateY(-3px) rotate(12deg) scale(.97);z-index:2;opacity:.75}67%{right:14%;transform:translateY(12px) rotate(5deg) scale(1.03);z-index:4;opacity:.88}87%{right:13%;transform:translateY(9px) rotate(9deg) scale(1);z-index:3;opacity:.82}to{right:12%;transform:translateY(5px) rotate(8deg) scale(1);z-index:3;opacity:.82}}@keyframes fanRight4{0%{right:17%;transform:translateY(20px) rotate(3deg) scale(1);z-index:4;opacity:.85}16%{right:20%;transform:translateY(30px) rotate(-2deg) scale(1.05);z-index:5;opacity:.95}38%{right:15%;transform:translateY(14px) rotate(8deg) scale(.96);z-index:1;opacity:.72}58%{right:19%;transform:translateY(26px) rotate(1deg) scale(1.04);z-index:3;opacity:.85}78%{right:18%;transform:translateY(22px) rotate(4deg) scale(1);z-index:2;opacity:.78}92%{right:16%;transform:translateY(16px) rotate(5deg) scale(1.02);z-index:4;opacity:.88}to{right:17%;transform:translateY(20px) rotate(3deg) scale(1);z-index:4;opacity:.85}}@keyframes fanRight5{0%{right:22%;transform:translateY(35px) rotate(-2deg) scale(1);z-index:5;opacity:.88}20%{right:25%;transform:translateY(44px) rotate(-6deg) scale(1.07);z-index:5;opacity:.95}40%{right:20%;transform:translateY(30px) rotate(2deg) scale(.98);z-index:2;opacity:.75}60%{right:24%;transform:translateY(42px) rotate(-4deg) scale(1.04);z-index:4;opacity:.88}80%{right:23%;transform:translateY(38px) rotate(-3deg) scale(1);z-index:3;opacity:.82}to{right:22%;transform:translateY(35px) rotate(-2deg) scale(1);z-index:5;opacity:.88}}header h1{margin:0;font-size:4.5rem;font-weight:900;background:linear-gradient(135deg,#fff,gold,#fff);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-2px;position:relative;z-index:2;text-shadow:0 0 30px rgba(255,255,255,.5);animation:gradientShift 3s ease infinite;filter:drop-shadow(0 5px 15px rgba(0,0,0,.3))}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}header p{margin:1rem 0 0;color:#fffffff2;font-size:1.3rem;font-weight:600;position:relative;z-index:2;text-shadow:0 2px 10px rgba(0,0,0,.5);letter-spacing:.5px}@media (max-width: 768px){.collage-character{width:100px;height:140px}.collage-left-4,.collage-left-5,.collage-right-4,.collage-right-5{display:none}header h1{font-size:2.5rem;letter-spacing:-1px}header p{font-size:1rem}header{padding:3rem 1.5rem}}@media (max-width: 480px){.collage-character{width:70px;height:98px}.collage-left-3,.collage-right-3{display:none}header h1{font-size:1.75rem}header p{font-size:.9rem}header{padding:2.5rem 1rem}}.filters{background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;border-radius:20px;padding:2rem;margin-bottom:2.5rem;display:flex;flex-direction:column;gap:1.5rem;box-shadow:0 20px 60px #0000004d;position:relative;z-index:100}.filter-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:180px}.filter-group label{font-weight:600;color:#4a5568;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.filter-group input,.filter-group select{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fff;font-family:inherit;color:#2d3748}.filter-group input::placeholder{color:#a0aec0;opacity:1}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.filter-group input:hover,.filter-group select:hover{border-color:#cbd5e0}.feature-filters{display:flex;flex-direction:column;gap:.75rem}.feature-filters>label{font-weight:600;color:#4a5568;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.feature-checkboxes{display:flex;flex-wrap:wrap;gap:.75rem}.checkbox-filter{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-filter input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#667eea}.checkbox-filter span{font-weight:600;color:#4a5568;font-size:.95rem}.filter-badge{display:inline-flex;align-items:center;padding:.65rem 1.25rem;border-radius:12px;font-size:.9rem;font-weight:600;background:#e2e8f0;color:#4a5568;border:2px solid transparent;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.filter-badge:hover{background:#cbd5e0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.filter-badge.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent;box-shadow:0 4px 15px #667eea66}.filter-badge.active:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.color-badge{display:inline-flex;align-items:center;padding:.65rem 1.25rem;border-radius:12px;font-size:.9rem;font-weight:600;color:#fff;border:2px solid transparent;cursor:pointer;transition:all .2s ease;opacity:.5;-webkit-user-select:none;user-select:none}.color-badge:hover{opacity:.75;transform:translateY(-2px)}.color-badge.active{opacity:1;transform:scale(1.05);box-shadow:0 4px 15px #0000004d}.color-badge.color-red{background:linear-gradient(135deg,#f56565,#c53030)}.color-badge.color-green{background:linear-gradient(135deg,#48bb78,#2f855a)}.color-badge.color-blue{background:linear-gradient(135deg,#4299e1,#2b6cb0)}.color-badge.color-purple{background:linear-gradient(135deg,#9f7aea,#6b46c1)}.color-badge.color-black{background:linear-gradient(135deg,#2d3748,#1a202c)}.color-badge.color-yellow{background:linear-gradient(135deg,#ecc94b,#d69e2e);color:#1a202c}.filter-actions{display:flex;gap:1rem;padding-top:.5rem}.filter-actions button{padding:.75rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.filter-actions button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.filter-actions button:nth-child(2){background:linear-gradient(135deg,#718096,#4a5568);box-shadow:0 4px 15px #4a55684d}.filter-actions button:nth-child(2):hover{box-shadow:0 6px 20px #4a556866}.filter-actions button.share-button{background:linear-gradient(135deg,#48bb78,#38a169);box-shadow:0 4px 15px #48bb7866}.filter-actions button.share-button:hover{box-shadow:0 6px 20px #48bb7880}.pagination-info{text-align:center;margin-bottom:2rem;color:#fff;font-size:1.1rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.2)}.loading,.error{text-align:center;padding:3rem;font-size:1.3rem;color:#fff;font-weight:600}.error{color:#feb2b2}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-bottom:3rem}.card-item{background:#fff;border:none;border-radius:16px;overflow:hidden;transition:all .3s ease;box-shadow:0 10px 30px #0003}.card-item:hover{transform:translateY(-8px);box-shadow:0 20px 50px #0000004d}.card-item.support-card{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;min-height:400px;grid-column:span 2}.card-item.support-card:hover{transform:translateY(-8px) scale(1.02)}.support-card-content{padding:2rem;text-align:center;color:#fff;width:100%}.support-card-content h3{margin:0 0 1rem;font-size:1.5rem;font-weight:700;color:#fff}.support-card-content p{margin:0 0 1.5rem;font-size:1rem;color:#fffffff2;font-weight:500}.ad-placeholder{background:#fff3;border:2px dashed rgba(255,255,255,.5);border-radius:12px;padding:3rem 2rem;margin:1.5rem 0;min-height:150px;display:flex;align-items:center;justify-content:center}.ad-placeholder p{margin:0;color:#ffffffb3;font-size:.9rem;font-style:italic}.support-message{font-size:.95rem!important;color:#ffffffe6!important;font-weight:600!important;margin-top:1rem!important}.card-image{width:100%;aspect-ratio:524 / 731;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.card-item:hover .card-image img{transform:scale(1.05)}.card-info{padding:1.25rem}.card-info h3{margin:0 0 .75rem;font-size:1.2rem;color:#2d3748;font-weight:700}.card-details{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.card-id,.card-color,.card-rarity{display:inline-block;padding:.35rem .75rem;border-radius:8px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.card-id{background:linear-gradient(135deg,#ebf8ff,#bee3f8);color:#2c5282}.card-color{background:linear-gradient(135deg,#faf5ff,#e9d8fd);color:#553c9a}.card-rarity{background:linear-gradient(135deg,#fffaf0,#feebc8);color:#c05621}.card-parallel-count{background:linear-gradient(135deg,#fef5ff,#f3e8ff);color:#6b46c1;border:2px solid #d6bcfa;display:inline-flex;align-items:center;gap:.25rem}.card-details-traits{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.card-trait-badge{display:inline-block;padding:.35rem .75rem;border-radius:8px;font-size:.75rem;font-weight:700;background:linear-gradient(135deg,#f0fff4,#c6f6d5);color:#22543d;border:2px solid #9ae6b4}.card-details-characters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.card-character-badge{display:inline-block;padding:.35rem .75rem;border-radius:8px;font-size:.75rem;font-weight:700;background:linear-gradient(135deg,#fef5ff,#fae8ff);color:#702459;border:2px solid #d8b4fe}.card-stat{font-size:.9rem;color:#4a5568;margin:.4rem 0;font-weight:500}.card-stat strong{color:#2d3748;font-weight:700}.counter-stat{color:#3182ce;font-weight:600}.counter-stat strong{color:#2c5282}.card-traits{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.4rem}.trait-badge{display:inline-block;padding:.35rem .75rem;border-radius:8px;font-size:.7rem;font-weight:700;background:linear-gradient(135deg,#faf5ff,#e9d8fd);color:#553c9a;border:2px solid #d6bcfa}.card-features{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:2px solid #f7fafc}.feature-tag{display:inline-block;padding:.35rem .75rem;border-radius:8px;font-size:.75rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}.card-effect{margin-top:1rem;padding-top:1rem;border-top:2px solid #e2e8f0;font-size:.85rem;color:#4a5568;line-height:1.6}.card-effect p{margin:0;white-space:pre-wrap}.card-trigger{margin-top:1rem;padding:1rem;background:linear-gradient(135deg,#fefcbf,#faf089);border:2px solid #f6e05e;border-radius:12px;font-size:.85rem;color:#744210;line-height:1.6;box-shadow:0 2px 8px #f6e05e4d}.card-trigger strong{color:#975a16;display:block;margin-bottom:.4rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.card-artist{margin-top:.75rem;padding:.5rem .75rem;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border:1px solid #a5b4fc;border-radius:8px;font-size:.8rem;color:#3730a3;font-style:italic}.card-artist strong{color:#4338ca;font-weight:600;font-style:normal;margin-right:.5rem}.pagination{display:flex;justify-content:center;align-items:center;gap:1.5rem;padding:2rem 0}.pagination button{padding:.75rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.pagination button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.pagination button:disabled{background:linear-gradient(135deg,#cbd5e0,#a0aec0);cursor:not-allowed;opacity:.6;box-shadow:none}.pagination span{color:#fff;font-weight:600;font-size:1.1rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}.character-filter{width:100%;margin-bottom:1.5rem}.character-multi-select{position:relative;width:100%}.character-select-trigger{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:.5rem .75rem;border:2px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:all .3s ease;gap:.5rem}.character-select-trigger:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #0000000d}.character-select-trigger:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.character-selected-container{display:flex;flex-wrap:wrap;gap:.4rem;flex:1;align-items:center;min-height:28px}.character-placeholder{color:#a0aec0;font-size:.95rem}.character-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:linear-gradient(135deg,#fef5ff,#fae8ff);border:2px solid #d8b4fe;border-radius:8px;color:#702459;font-size:.85rem;font-weight:500;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.character-chip-remove{background:none;border:none;color:#702459;font-size:1.2rem;line-height:1;cursor:pointer;padding:0;margin:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;flex-shrink:0}.character-chip-remove:hover{background:#7024591a;transform:scale(1.1)}.character-chip-more{display:inline-flex;align-items:center;padding:.25rem .5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;font-size:.8rem;font-weight:600}.character-dropdown-arrow{color:#a0aec0;font-size:.75rem;transition:transform .3s ease;flex-shrink:0}.character-dropdown{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 30px #00000026;z-index:9999;max-height:350px;display:flex;flex-direction:column;animation:slideDown .2s ease}.character-search{padding:.75rem;border-bottom:2px solid #f7fafc}.character-search input{width:100%;padding:.5rem .75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.9rem;color:#2d3748;transition:all .3s ease}.character-search input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.character-search input::placeholder{color:#a0aec0}.character-list{overflow-y:auto;max-height:250px;padding:.5rem}.character-list::-webkit-scrollbar{width:8px}.character-list::-webkit-scrollbar-track{background:#f7fafc;border-radius:10px}.character-list::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.character-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#667eea)}.character-option{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;cursor:pointer;border-radius:8px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.character-option:hover{background:linear-gradient(135deg,#667eea0d,#764ba20d)}.character-option input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea;flex-shrink:0}.character-option span{flex:1;color:#2d3748;font-size:.9rem}.character-list-empty{padding:2rem;text-align:center;color:#a0aec0;font-size:.9rem}@media (max-width: 768px){.app{padding:1rem;max-width:100vw}header h1{font-size:2.5rem}header p{font-size:1rem}.filters{padding:1.5rem;border-radius:16px;max-width:100%}.filter-group{min-width:0;width:100%;flex:1 1 100%}.filter-row{max-width:100%}.filter-group input,.filter-group select{font-size:16px}.filter-actions{width:100%;flex-direction:column}.filter-actions button{width:100%;padding:.85rem 1.5rem;font-size:1rem;min-height:44px}.filter-badge,.color-badge{padding:.75rem 1.35rem;font-size:.95rem;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.feature-filters-container .filter-badge{padding:.65rem 1.1rem;font-size:.9rem;min-height:42px}.filter-badge:hover,.color-badge:hover{transform:none}.filter-badge[title]:hover:after{white-space:normal;max-width:200px;font-size:.8rem}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem}.card-item{min-height:auto}.feature-filters-container{padding:1rem}.feature-category-header{padding:.75rem;font-size:.9rem}.feature-filters-grid{gap:.6rem}.feature-category .feature-checkboxes{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem}}@media (max-width: 480px){.app{padding:.75rem}.filters{padding:1rem;gap:1rem}.filter-row{gap:.75rem}.cards-grid{grid-template-columns:1fr;gap:1.25rem}.card-item{max-width:100%}.badges-row{flex-wrap:wrap;gap:.5rem}.filter-badge,.color-badge{padding:.7rem 1.2rem;font-size:.9rem}.category-header{padding:1rem;font-size:.95rem;min-height:48px}.category-toggle{font-size:1.2rem}.pagination button{padding:.6rem 1rem;font-size:.9rem;min-height:44px}.pagination span{font-size:.9rem}.feature-category .feature-checkboxes{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}}.ad-card{background:#fff;border-radius:20px;box-shadow:0 10px 30px #00000026;margin:2.5rem auto;max-width:360px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.ad-card:hover{transform:translateY(-4px);box-shadow:0 15px 40px #0003}.ad-card-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem;text-align:center}.ad-support-badge{display:inline-block;color:#fff;font-weight:700;font-size:1.1rem;text-shadow:0 2px 4px rgba(0,0,0,.2);letter-spacing:.5px}.ad-card-content{padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.ad-message{margin:0;color:#4a5568;font-size:.95rem;font-weight:500;text-align:center}.ad-slot{width:300px;min-height:250px;display:flex;justify-content:center;align-items:center;background:#f7fafc;border-radius:12px;border:2px dashed #e2e8f0}.ad-thank-you{margin:0;color:#667eea;font-size:.9rem;font-weight:600;text-align:center;line-height:1.6}.ad-arrow{font-size:1.3rem;font-weight:700;display:inline-block;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}@media (max-width: 768px){.ad-card{margin:2rem auto;max-width:340px}.ad-card-content{padding:1rem}.ad-slot{width:280px;min-height:230px}}.feature-filters-container{margin:1.5rem 0;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;padding:1.25rem;border:2px solid #dee2e6}.feature-filters-container .main-label{font-size:1.1rem;font-weight:700;color:#2d3748;margin-bottom:1rem;display:block}.feature-category{margin-bottom:1rem;background:#fff;border-radius:10px;overflow:hidden;border:2px solid #e2e8f0;transition:all .3s ease}.feature-category:hover{border-color:#cbd5e0;box-shadow:0 4px 12px #00000014}.category-header{width:100%;padding:.875rem 1.25rem;background:linear-gradient(135deg,#fff,#f7fafc);border:none;display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:600;font-size:1rem;color:#2d3748;transition:all .2s ease}.category-header:hover{background:linear-gradient(135deg,#f7fafc,#edf2f7)}.category-icon{font-size:.75rem;color:#718096;transition:transform .2s ease}.category-title{font-size:1rem;letter-spacing:.3px}.feature-category .feature-checkboxes{padding:1rem 1.25rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;background:linear-gradient(135deg,#fafafa,#fff);border-top:1px solid #e2e8f0;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.feature-filters-container .filter-badge{padding:.65rem 1rem;border-radius:8px;font-size:.85rem;font-weight:600;background:linear-gradient(135deg,#fff,#f7fafc);color:#4a5568;border:2px solid #cbd5e0;cursor:pointer;transition:all .2s ease;white-space:nowrap;text-align:center;width:100%;display:flex;align-items:center;justify-content:center}.feature-filters-container .filter-badge:hover{border-color:#a0aec0;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.feature-filters-container .filter-badge.active{background:linear-gradient(135deg,#4299e1,#3182ce);color:#fff;border-color:#2b6cb0;font-weight:700;transform:scale(1.05);box-shadow:0 6px 12px #4299e166}.feature-filters-container .filter-badge.active:hover{background:linear-gradient(135deg,#3182ce,#2c5282);border-color:#2c5282}.filter-badge[title]{position:relative}.filter-badge[title]:hover:after{content:attr(title);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:.875rem;white-space:nowrap;z-index:1000;pointer-events:none;box-shadow:0 4px 12px #0000004d}.filter-badge[title]:hover:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#000000e6;z-index:1000;pointer-events:none}.posts-wrapper,.post-wrapper{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding-bottom:4rem;overflow:visible!important}.main-nav{display:flex;justify-content:center;gap:2rem;background:#fffffffa;padding:1.25rem 2rem;box-shadow:0 4px 20px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:1000}.main-nav a{color:#667eea;text-decoration:none;font-weight:700;font-size:1.15rem;padding:.75rem 2rem;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.main-nav a:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.main-nav a:hover:before{left:100%}.main-nav a:hover,.main-nav a.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:translateY(-3px);box-shadow:0 6px 20px #667eea66}.posts-container{max-width:1400px;margin:0 auto;padding:0 2rem}.posts-header{text-align:center;margin:3rem 0;padding:4rem 2rem;background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;border:2px solid rgba(255,255,255,.2);box-shadow:0 20px 60px #0003;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.posts-header h1{font-size:3.5rem;margin-bottom:1rem;color:#fff;font-weight:900;text-shadow:0 4px 20px rgba(0,0,0,.3),0 2px 10px rgba(0,0,0,.2);letter-spacing:-.5px;line-height:1.2}.posts-header p{color:#fffffff2;font-size:1.3rem;font-weight:500;text-shadow:0 2px 10px rgba(0,0,0,.3);max-width:600px;margin:0 auto;line-height:1.6}.posts-tags-filter{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:3rem;justify-content:center;padding:2rem;background:#fffffff2;border-radius:20px;box-shadow:0 10px 40px #00000026}.tag-filter-btn{padding:.75rem 1.75rem;border:2px solid rgba(102,126,234,.2);background:#fff;border-radius:25px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:600;font-size:1rem;color:#667eea;box-shadow:0 2px 8px #00000014}.tag-filter-btn:hover{background:#f8f9ff;transform:translateY(-2px);box-shadow:0 6px 20px #667eea33;border-color:#667eea}.tag-filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent;transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2.5rem;margin-bottom:3rem;animation:fadeIn .8s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.post-card{background:#fff;border-radius:16px;padding:2rem;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 30px #0000001f;border:3px solid transparent;position:relative;overflow:hidden}.post-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#667eea,#764ba2);transform:scaleX(0);transition:transform .4s cubic-bezier(.4,0,.2,1)}.post-card:hover:before{transform:scaleX(1)}.post-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 50px #667eea40,0 10px 30px #764ba226;border-color:#667eea4d}.post-link{text-decoration:none;color:inherit;display:block}.post-card h2{font-size:1.75rem;margin-bottom:1rem;color:#2d3748;font-weight:800;line-height:1.3;transition:color .3s ease}.post-card:hover h2{color:#667eea}.post-excerpt{color:#4a5568;line-height:1.7;margin-bottom:1.5rem;font-size:1.05rem}.post-meta{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.95rem;color:#718096;margin-bottom:1.5rem;padding-top:1rem;border-top:2px solid #e2e8f0}.post-author{font-weight:700;color:#667eea}.post-date,.post-views{display:flex;align-items:center;gap:.5rem}.post-tags{display:flex;flex-wrap:wrap;gap:.75rem}.post-tag{display:inline-block;padding:.4rem 1rem;background:linear-gradient(135deg,#667eea15,#764ba215);border:1px solid #667eea30;border-radius:20px;font-size:.85rem;color:#667eea;font-weight:600;transition:all .3s ease}.post-tag:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.posts-pagination{display:flex;justify-content:center;align-items:center;gap:2rem;margin-top:4rem;padding:2rem;background:#fffffff2;border-radius:20px;box-shadow:0 10px 40px #00000026}.posts-pagination button{padding:1rem 2.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:700;font-size:1.05rem;box-shadow:0 4px 15px #667eea4d}.posts-pagination button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 25px #667eea66}.posts-pagination button:disabled{background:#cbd5e0;cursor:not-allowed;box-shadow:none;transform:none}.posts-pagination span{font-weight:600;font-size:1.1rem;color:#2d3748}.posts-loading,.posts-error,.posts-empty{text-align:center;padding:4rem 2rem;background:#fffffff2;border-radius:20px;box-shadow:0 10px 40px #00000026;margin:2rem auto;max-width:600px}.posts-loading{color:#667eea;font-size:1.3rem;font-weight:600}.posts-error{color:#e53e3e;font-size:1.2rem;font-weight:600}.posts-empty{color:#4a5568;font-size:1.2rem}.post-detail-container{max-width:1400px;margin:0 auto;padding:2rem;overflow:visible!important}.post-detail-layout{display:grid;grid-template-columns:1fr 400px;gap:2rem;align-items:start;position:relative}.post-sidebar{position:relative}@media (max-width: 1200px){.post-detail-layout{grid-template-columns:1fr}.post-sidebar{display:none}}.back-link{display:inline-flex;align-items:center;margin-bottom:2rem;color:#fff;text-decoration:none;font-weight:600;font-size:1.1rem;padding:.75rem 1.5rem;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:2px solid rgba(255,255,255,.3);transition:all .3s ease;text-shadow:0 2px 4px rgba(0,0,0,.2)}.back-link:hover{background:#ffffff4d;transform:translate(-5px);box-shadow:0 4px 20px #00000026}.post-detail{background:#fff;border-radius:20px;padding:3rem;box-shadow:0 20px 60px #00000026;animation:fadeInUp .6s ease-out}.post-detail-header{border-bottom:3px solid #e2e8f0;padding-bottom:2rem;margin-bottom:3rem}.post-detail-header h1{font-size:3rem;margin-bottom:1.5rem;color:#2d3748;font-weight:900;line-height:1.2;letter-spacing:-.5px}.post-detail-meta{display:flex;flex-wrap:wrap;gap:2rem;font-size:1.05rem;color:#718096;margin-bottom:1.5rem}.post-detail-meta .post-author{color:#667eea;font-weight:700}.post-featured-image{margin-bottom:3rem;border-radius:16px;overflow:hidden;box-shadow:0 10px 40px #00000026}.post-featured-image img{width:100%;height:auto;display:block}.post-content{line-height:1.8;color:#2d3748;font-size:1.1rem}.post-detail-footer{border-top:2px solid #e2e8f0;padding-top:2rem;margin-top:4rem}.post-updated{color:#718096;font-size:.95rem;text-align:right;font-style:italic}.post-loading,.post-error{text-align:center;padding:4rem 2rem;background:#fffffff2;border-radius:20px;margin:2rem}.post-error{color:#e53e3e}.markdown-content{color:#2d3748}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin-top:2.5rem;margin-bottom:1.25rem;font-weight:800;line-height:1.3;color:#1a202c;letter-spacing:-.3px}.markdown-content h1{font-size:2.5rem}.markdown-content h2{font-size:2rem;padding-bottom:.5rem;border-bottom:3px solid #e2e8f0}.markdown-content h3{font-size:1.75rem;color:#667eea}.markdown-content h4{font-size:1.5rem}.markdown-content h5{font-size:1.25rem}.markdown-content h6{font-size:1.1rem}.markdown-content p{margin-bottom:1.5rem;line-height:1.8}.markdown-content ul,.markdown-content ol{margin-bottom:1.5rem;padding-left:2.5rem;line-height:1.8}.markdown-content li{margin-bottom:.75rem}.markdown-content strong{font-weight:700;color:#667eea}.markdown-content a{color:#667eea;text-decoration:none;font-weight:600;border-bottom:2px solid #667eea40;transition:all .3s ease}.markdown-content a:hover{color:#764ba2;border-bottom-color:#764ba2}.markdown-content code{background:linear-gradient(135deg,#667eea15,#764ba215);padding:.25rem .6rem;border-radius:6px;font-family:Courier New,monospace;font-size:.9em;color:#667eea;font-weight:600;border:1px solid #667eea20}.markdown-content pre{background:#1a202c;padding:1.5rem;border-radius:12px;overflow-x:auto;margin-bottom:2rem;box-shadow:0 4px 20px #00000026;border:2px solid #2d3748}.markdown-content pre code{background:none;padding:0;color:#e2e8f0;border:none}.markdown-content blockquote{border-left:5px solid #667eea;padding-left:1.5rem;margin-left:0;margin-bottom:2rem;color:#4a5568;font-style:italic;background:#f7fafc;padding:1.5rem;border-radius:0 12px 12px 0;box-shadow:0 2px 10px #0000000d}.markdown-content img{max-width:100%;height:auto;border-radius:12px;margin:2rem 0;box-shadow:0 8px 30px #0000001f}.markdown-content table{width:100%;border-collapse:collapse;margin-bottom:2rem;box-shadow:0 4px 20px #00000014;border-radius:12px;overflow:hidden}.markdown-content th,.markdown-content td{border:1px solid #e2e8f0;padding:1rem;text-align:left}.markdown-content th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:.9rem}.markdown-content tr:nth-child(2n){background:#f7fafc}.markdown-content tr:hover{background:#edf2f7}.markdown-content hr{border:none;border-top:3px solid #e2e8f0;margin:3rem 0;border-radius:3px}@media (max-width: 768px){.posts-container,.post-detail-container{padding:1rem}.posts-header{padding:3rem 1.5rem;margin:2rem 0}.posts-header h1{font-size:2.5rem}.posts-header p{font-size:1.1rem}.posts-grid{grid-template-columns:1fr;gap:1.5rem}.post-card{padding:1.5rem}.post-card h2{font-size:1.5rem}.post-detail{padding:2rem 1.5rem}.post-detail-header h1{font-size:2rem}.post-detail-meta{flex-direction:column;gap:.75rem}.main-nav{gap:1rem;padding:1rem}.main-nav a{padding:.6rem 1.25rem;font-size:1rem}.posts-pagination{flex-direction:column;gap:1rem}.posts-pagination button{width:100%}.markdown-content h1{font-size:2rem}.markdown-content h2{font-size:1.75rem}.markdown-content h3{font-size:1.5rem}}@media print{.main-nav,.back-link,.post-detail-footer,.posts-pagination{display:none}.posts-wrapper,.post-wrapper{background:#fff}.post-detail,.post-card{box-shadow:none;border:1px solid #e2e8f0}}.comments-section{margin-top:4rem;padding-top:3rem;border-top:3px solid #e2e8f0;animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.comments-header{text-align:center;margin-bottom:2rem;padding:2rem;background:linear-gradient(135deg,#667eea15,#764ba215);border-radius:16px;border:2px solid #667eea20}.comments-header h2{font-size:2rem;font-weight:800;color:#2d3748;margin-bottom:1rem;letter-spacing:-.3px}.comments-header p{color:#4a5568;font-size:1.05rem;line-height:1.6;max-width:600px;margin:0 auto}.comments-header a{color:#667eea;text-decoration:none;font-weight:600;border-bottom:2px solid #667eea40;transition:all .3s ease}.comments-header a:hover{color:#764ba2;border-bottom-color:#764ba2}.giscus-container{margin-top:2rem;padding:2rem;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;min-height:300px}.giscus-container :global(.gsc-comment-box-tabs){border-bottom:2px solid #e2e8f0}.giscus-container :global(.gsc-comment-box-tab){color:#667eea!important;font-weight:600}.giscus-container :global(.gsc-comment-box-tab:hover){color:#764ba2!important}.giscus-container :global(.gsc-comment-box-textarea){border:2px solid #e2e8f0!important;border-radius:12px!important;font-size:1rem;transition:border-color .3s ease}.giscus-container :global(.gsc-comment-box-textarea:focus){border-color:#667eea!important;box-shadow:0 0 0 3px #667eea1a!important}.giscus-container :global(.gsc-comment-box-button){background:linear-gradient(135deg,#667eea,#764ba2)!important;border:none!important;border-radius:8px!important;font-weight:600!important;padding:.75rem 1.5rem!important;transition:transform .3s ease,box-shadow .3s ease!important}.giscus-container :global(.gsc-comment-box-button:hover){transform:translateY(-2px)!important;box-shadow:0 6px 20px #667eea66!important}.giscus-container :global(.gsc-comment){border:2px solid #e2e8f0!important;border-radius:12px!important;margin-bottom:1.5rem!important;transition:box-shadow .3s ease!important}.giscus-container :global(.gsc-comment:hover){box-shadow:0 4px 20px #00000014!important}.giscus-container :global(.gsc-reply-box){border:2px solid #e2e8f0!important;border-radius:8px!important}.giscus-container:empty:after{content:"Loading comments...";display:flex;justify-content:center;align-items:center;height:200px;color:#718096;font-size:1.1rem;font-weight:600}@media (max-width: 768px){.comments-section{margin-top:3rem;padding-top:2rem}.comments-header{padding:1.5rem}.comments-header h2{font-size:1.5rem}.comments-header p{font-size:.95rem}.giscus-container{padding:1rem}}@media (prefers-color-scheme: dark){.comments-header{background:linear-gradient(135deg,#667eea25,#764ba225)}.giscus-container{background:#1a202c}}.card-reference{display:inline-block;padding:.35rem .75rem;background:linear-gradient(135deg,#667eea08,#764ba208);border:2px solid #667eea20;border-radius:8px;margin:.15rem .5rem .15rem 0;transition:all .3s ease;position:relative;vertical-align:middle;white-space:nowrap;line-height:1;z-index:1}.card-reference:hover{background:linear-gradient(135deg,#667eea15,#764ba215);border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33;z-index:2}.card-reference-text{display:inline;font-size:.95rem;line-height:1.2;margin-right:.5rem;vertical-align:middle}.card-reference-text strong{color:#667eea;font-weight:700;font-family:monospace;font-size:.95em}.card-name{color:#2d3748;font-weight:600}.card-count{color:#718096;font-weight:600;font-size:.9em}.card-reference-images{display:inline-flex;align-items:center;gap:.25rem;position:relative;vertical-align:middle}.card-image-mini{width:35px;height:49px;border-radius:4px;overflow:hidden;box-shadow:0 2px 8px #00000026;transition:all .3s ease;position:relative;background:#fff;border:1px solid #e2e8f0;display:inline-block;vertical-align:middle;margin:0;padding:0;line-height:0}.card-image-mini:not(:first-child){margin-left:-20px;z-index:calc(10 - var(--card-index))}.card-image-mini:hover{transform:translateY(-4px) scale(1.1);z-index:100;box-shadow:0 8px 20px #667eea4d}.card-image-mini img{width:100%;height:100%;object-fit:cover;display:block;margin:0;padding:0;vertical-align:top}.card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:#667eea;background:linear-gradient(135deg,#667eea15,#764ba215);text-align:center;padding:.25rem}.card-overflow{font-size:.85rem;font-weight:700;color:#667eea;margin-left:.5rem}.card-tooltip{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;pointer-events:none;opacity:0;animation:fadeInTooltip .2s ease forwards}@keyframes fadeInTooltip{to{opacity:1}}.card-tooltip img{width:250px;height:auto;border-radius:12px;box-shadow:0 20px 60px #00000080;border:4px solid white}.deck-section{margin:2rem 0;padding:2rem;background:#fff;border-radius:16px;border:2px solid #e2e8f0;box-shadow:0 4px 20px #00000014}.deck-section-title{font-size:1.5rem;font-weight:800;color:#2d3748;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:3px solid #667eea;background:linear-gradient(90deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.deck-section-cards{display:flex;flex-direction:column;gap:1rem}.deck-card-row{display:flex;align-items:center;padding:.75rem;background:#f7fafc;border-radius:8px;transition:all .3s ease}.deck-card-row:hover{background:#edf2f7;transform:translate(4px)}@media (max-width: 768px){.card-reference{padding:.4rem .75rem}.card-image-mini{width:30px;height:42px}.card-image-mini:not(:first-child){margin-left:-15px}.card-tooltip img{width:200px}.deck-section{padding:1.5rem 1rem}.deck-section-title{font-size:1.25rem}.deck-card-row{padding:.5rem}}@media print{.card-reference-images,.card-tooltip{display:none}.card-reference{background:none;border:1px solid #e2e8f0;padding:.25rem .5rem}}.deck-sidebar{width:100%;background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000026;border:3px solid #667eea;overflow:hidden;display:flex;flex-direction:column;z-index:50;max-height:calc(100vh - 120px)}.deck-sidebar-header{padding:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;align-items:center;border-radius:13px 13px 0 0}.deck-sidebar-header h3{margin:0;font-size:1.5rem;font-weight:800}.deck-total-count{background:#fff3;padding:.25rem .75rem;border-radius:12px;font-size:.9rem;font-weight:600}.deck-sidebar-content{padding:1rem;flex:1;overflow-y:auto;min-height:0}.deck-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.deck-grid-card{position:relative;aspect-ratio:63/88;border-radius:6px;overflow:hidden;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;border:2px solid #e2e8f0;background:#f5f5f5}.deck-grid-card:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 8px 20px #667eea4d;border-color:#667eea;z-index:10}.deck-grid-card img{width:100%;height:100%;object-fit:cover;display:block;background:#fff}.deck-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea15,#764ba215);font-size:.7rem;font-weight:700;color:#667eea;text-align:center;padding:.5rem}.deck-card-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);color:#fff;padding:.75rem .25rem .25rem;font-size:.65rem;font-weight:700;text-align:center;opacity:0;transition:opacity .3s ease;display:flex;flex-direction:column;gap:.15rem;align-items:center}.deck-grid-card:hover .deck-card-label{opacity:1}.deck-card-id{font-size:.65rem}.deck-card-count-badge{position:absolute;top:4px;right:4px;background:linear-gradient(135deg,#667eea,#764ba2);padding:.2rem .5rem;border-radius:10px;font-size:.75rem;font-weight:800;color:#fff;box-shadow:0 2px 8px #0006;border:2px solid white;z-index:10;min-width:24px;text-align:center}.deck-preview-large{display:flex;justify-content:center;align-items:center;padding:2rem 1rem;animation:fadeInScale .3s ease}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.deck-preview-large img{max-width:100%;height:auto;border-radius:12px;box-shadow:0 10px 40px #0003;border:3px solid white}.deck-sidebar-footer{padding:1rem 1.5rem;background:#f7fafc;border-top:2px solid #e2e8f0;text-align:center}.deck-sidebar-footer p{margin:0;font-size:.9rem;color:#718096;font-weight:500}@media (max-width: 1200px){.deck-sidebar{display:none}}@media (min-width: 1201px) and (max-width: 1400px){.deck-sidebar{max-width:350px}.deck-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}}.admin-login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#f5f5f5}.admin-login-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;width:100%;max-width:400px}.admin-login-card h1{text-align:center;margin-bottom:2rem}.admin-container{max-width:1200px;margin:0 auto;padding:2rem}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e9ecef}.admin-header h1{margin:0}.admin-actions{display:flex;gap:1rem}.admin-posts-list h2{margin-bottom:1rem}.admin-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 1px 3px #0000001a;border-radius:8px;overflow:hidden}.admin-table thead{background:#f8f9fa}.admin-table th,.admin-table td{padding:1rem;text-align:left;border-bottom:1px solid #e9ecef}.admin-table th{font-weight:600;color:#495057}.admin-table tbody tr:hover{background:#f8f9fa}.admin-table tbody tr:last-child td{border-bottom:none}.actions-cell{display:flex;gap:.5rem}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.status-badge.published{background:#d4edda;color:#155724}.status-badge.draft{background:#f8d7da;color:#721c24}.post-form{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input[type=text],.form-group input[type=url],.form-group input[type=password],.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:1rem}.form-group textarea{resize:vertical;font-family:Courier New,monospace}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.checkbox-group{display:flex;align-items:center}.checkbox-group label{display:flex;align-items:center;gap:.5rem;margin:0;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto;cursor:pointer}.form-actions{display:flex;gap:1rem;margin-top:2rem}.btn-primary,.btn-secondary,.btn-edit,.btn-delete{padding:.5rem 1rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.btn-edit{background:#28a745;color:#fff;padding:.375rem .75rem;font-size:.875rem}.btn-edit:hover{background:#218838}.btn-delete{background:#dc3545;color:#fff;padding:.375rem .75rem;font-size:.875rem}.btn-delete:hover{background:#c82333}.markdown-help{background:#f8f9fa;padding:1.5rem;border-radius:8px;border-left:4px solid #007bff}.markdown-help h3{margin-top:0;margin-bottom:1rem;color:#333}.markdown-help ul{list-style:none;padding:0;margin:0}.markdown-help li{padding:.5rem 0;border-bottom:1px solid #e9ecef}.markdown-help li:last-child{border-bottom:none}.markdown-help code{background:#fff;padding:.2rem .4rem;border-radius:3px;font-family:Courier New,monospace;color:#e83e8c}.admin-loading,.error-message{padding:1rem;border-radius:4px;margin-bottom:1rem}.admin-loading{background:#e9ecef;color:#495057;text-align:center}.error-message{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@media (max-width: 768px){.admin-container{padding:1rem}.admin-header{flex-direction:column;align-items:flex-start;gap:1rem}.admin-table{font-size:.875rem}.admin-table th,.admin-table td{padding:.75rem .5rem}.actions-cell{flex-direction:column}.post-form{padding:1rem}.form-actions{flex-direction:column}.form-actions button{width:100%}}
