:root{--bg-primary: #0f1419;--bg-secondary: #1a1f2e;--bg-tertiary: #242d3d;--text-primary: #e8ecf1;--text-secondary: #a8b0b8;--text-tertiary: #7a8290;--accent-primary: #ffd700;--accent-secondary: #ff6b6b;--accent-tertiary: #4ecdc4;--color-success: #51cf66;--color-warning: #ffa940;--color-error: #ff4d4f;--color-info: #1890ff;--type-normal: #a8a878;--type-fire: #f08030;--type-water: #6890f0;--type-electric: #f8d030;--type-grass: #78c850;--type-ice: #98d8d8;--type-fighting: #c03028;--type-poison: #a040a0;--type-ground: #e0c068;--type-flying: #a890f0;--type-psychic: #f85888;--type-bug: #a8b820;--type-rock: #b8a038;--type-ghost: #705898;--type-dragon: #7038f8;--type-dark: #705848;--type-steel: #b8b8d0;--type-fairy: #ee99ac;--border-color: #2a3f4f;--border-color-light: #3a4f5f;--text-on-accent: #0f1419;--font-body: "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-heading: "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "Courier New", Courier, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--line-height-tight: 1.2;--line-height-normal: 1.6;--line-height-relaxed: 1.8;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500}@media(prefers-color-scheme:light){:root{--bg-primary: #f8f9fa;--bg-secondary: #ffffff;--bg-tertiary: #e8ecf1;--text-primary: #0f1419;--text-secondary: #3a4f5f;--text-tertiary: #7a8290}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,div,span,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,main,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);line-height:var(--line-height-normal);font-weight:400}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:var(--line-height-tight);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md);color:var(--text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-secondary);text-decoration:underline}a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}strong{font-weight:700}em{font-style:italic}code,pre{font-family:var(--font-mono);background-color:var(--bg-secondary);color:var(--accent-tertiary)}code{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:.9em}pre{padding:var(--spacing-md);border-radius:var(--radius-lg);overflow-x:auto;margin-bottom:var(--spacing-md)}pre code{background-color:transparent;padding:0;border-radius:0;color:inherit}blockquote{margin:var(--spacing-md) 0;padding-left:var(--spacing-lg);border-left:4px solid var(--accent-primary);color:var(--text-secondary);font-style:italic}ul,ol{margin-bottom:var(--spacing-md);padding-left:var(--spacing-xl)}li{margin-bottom:var(--spacing-sm)}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}svg{overflow:visible}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none;padding:0}input,textarea,select{background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-base);transition:border-color var(--transition-fast),background-color var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-primary);background-color:var(--bg-tertiary)}textarea{resize:vertical}.card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.card:hover{border-color:var(--border-color-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-compact{padding:var(--spacing-md)}.card-large{padding:var(--spacing-2xl)}.badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;background-color:var(--bg-tertiary);color:var(--text-secondary);transition:all var(--transition-fast)}.badge:hover{transform:scale(1.05)}.badge-type{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);color:#fff;font-weight:600;font-size:var(--font-size-xs)}.badge-type-normal{background-color:var(--type-normal)}.badge-type-fire{background-color:var(--type-fire)}.badge-type-water{background-color:var(--type-water)}.badge-type-electric{background-color:var(--type-electric);color:#0f1419}.badge-type-grass{background-color:var(--type-grass)}.badge-type-ice{background-color:var(--type-ice)}.badge-type-fighting{background-color:var(--type-fighting)}.badge-type-poison{background-color:var(--type-poison)}.badge-type-ground{background-color:var(--type-ground)}.badge-type-flying{background-color:var(--type-flying)}.badge-type-psychic{background-color:var(--type-psychic)}.badge-type-bug{background-color:var(--type-bug)}.badge-type-rock{background-color:var(--type-rock)}.badge-type-ghost{background-color:var(--type-ghost)}.badge-type-dragon{background-color:var(--type-dragon)}.badge-type-dark{background-color:var(--type-dark)}.badge-type-steel{background-color:var(--type-steel)}.badge-type-fairy{background-color:var(--type-fairy)}.badge-rarity-common{background-color:#666}.badge-rarity-uncommon{background-color:#2d892d}.badge-rarity-rare{background-color:#05f}.badge-rarity-very_rare{background-color:#f80}.grid{display:grid;gap:var(--spacing-lg)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1024px){.grid-cols-4{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.grid-cols-4,.grid-cols-3,.grid-cols-2{grid-template-columns:repeat(1,minmax(0,1fr))}}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-col{flex-direction:column}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.mt-lg{margin-top:var(--spacing-lg)}.mb-lg{margin-bottom:var(--spacing-lg)}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(max-width:640px){html{font-size:14px}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}.card{padding:var(--spacing-md)}}html{font-size:16px;scroll-behavior:smooth}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);line-height:1.6;margin:0;padding:0}main{min-height:calc(100vh - 200px)}.footer{background-color:var(--bg-secondary);color:var(--text-secondary);text-align:center;padding:2rem 1rem;border-top:1px solid var(--border-color);margin-top:4rem}.skip-to-main{position:absolute;top:-40px;left:0;background:var(--accent-primary);color:var(--text-on-accent);padding:8px 16px;text-decoration:none;z-index:100;border-radius:0 0 4px;font-weight:500;font-size:14px}.skip-to-main:focus{top:0}@media(max-width:640px){html{font-size:14px}}.ad-slot{display:flex;align-items:center;justify-content:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;margin:var(--spacing-lg) 0}.ad-slot-banner{width:728px;height:90px}@media(max-width:768px){.ad-slot-banner{width:100%;height:auto;aspect-ratio:728 / 90}}.ad-slot-rectangle{width:300px;height:250px}@media(max-width:640px){.ad-slot-rectangle{width:100%;height:auto;aspect-ratio:300 / 250}}.ad-slot-in-article{width:100%;height:280px}.ad-slot-sticky-bottom{position:fixed;bottom:0;left:0;right:0;width:100%;height:90px;border-radius:0;border:none;border-top:1px solid var(--border-color);z-index:var(--z-sticky);margin:0}.ad-slot-vertical-banner{width:120px;height:600px;flex-shrink:0}@media(max-width:1024px){.ad-slot-vertical-banner{display:none}}.ad-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-tertiary),var(--bg-secondary));border:2px dashed var(--border-color-light);border-radius:var(--radius-lg)}.ad-placeholder-content{text-align:center;color:var(--text-secondary)}.ad-placeholder-label{font-size:2rem;font-weight:700;margin:0;color:var(--accent-primary)}.ad-placeholder-size{font-size:.75rem;margin:.5rem 0 0;color:var(--text-tertiary)}.ad-slot:has(>ins.adsbygoogle) .ad-placeholder{display:none}@media(max-width:640px){.ad-slot{margin:var(--spacing-md) 0;border-radius:var(--radius-md)}.ad-placeholder-label{font-size:1.5rem}.ad-placeholder-size{font-size:.65rem}}.ad-slot:focus-within{outline:2px solid var(--accent-primary);outline-offset:2px}@media print{.ad-slot{display:none!important}}
