@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:221.2 83.2% 53.3%;--primary-foreground:210 40% 98%;--secondary:210 40% 96%;--secondary-foreground:222.2 84% 4.9%;--muted:210 40% 96%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96%;--accent-foreground:222.2 84% 4.9%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:221.2 83.2% 53.3%;--radius:0.5rem;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%}.dark{--background:222.2 84% 4.9%;--foreground:210 40% 98%;--card:222.2 84% 4.9%;--card-foreground:210 40% 98%;--popover:222.2 84% 4.9%;--popover-foreground:210 40% 98%;--primary:210 40% 98%;--primary-foreground:222.2 84% 4.9%;--secondary:217.2 32.6% 17.5%;--secondary-foreground:210 40% 98%;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%;--accent:217.2 32.6% 17.5%;--accent-foreground:210 40% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 40% 98%;--border:217.2 32.6% 17.5%;--input:217.2 32.6% 17.5%;--ring:212.7 26.8% 83.9%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%}}@layer base{*{@apply border-border}body{@apply bg-background text-foreground}}@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.8/dist/web/static/pretendard.css");@layer base{html{@apply scroll-smooth}:focus{@apply outline-none ring-2 ring-brand-500 ring-opacity-50}::-webkit-scrollbar{@apply w-2}::-webkit-scrollbar-track{@apply bg-gray-100}::-webkit-scrollbar-thumb{@apply bg-gray-300 rounded-full}::-webkit-scrollbar-thumb:hover{@apply bg-gray-400}:root{--background:248 250 252;--foreground:15 23 42;--card:255 255 255;--card-foreground:15 23 42;--popover:255 255 255;--popover-foreground:15 23 42;--primary:37 99 235;--primary-foreground:255 255 255;--secondary:241 245 249;--secondary-foreground:15 23 42;--muted:241 245 249;--muted-foreground:100 116 139;--accent:240 253 244;--accent-foreground:5 150 105;--destructive:239 68 68;--destructive-foreground:255 255 255;--border:226 232 240;--input:226 232 240;--ring:37 99 235;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%;--radius:0.75rem}.dark{--background:240 10% 3.9%;--foreground:0 0% 98%;--card:240 10% 3.9%;--card-foreground:0 0% 98%;--popover:240 10% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:240 5.9% 10%;--secondary:240 3.7% 15.9%;--secondary-foreground:0 0% 98%;--muted:240 3.7% 15.9%;--muted-foreground:240 5% 64.9%;--accent:240 3.7% 15.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:240 3.7% 15.9%;--input:240 3.7% 15.9%;--ring:240 4.9% 83.9%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%}}@layer components{.btn{@apply inline-flex items-center justify-center px-4 py-2 text-sm font-medium rounded-lg transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:opacity-50 disabled:cursor-not-allowed}.btn-primary{@apply btn bg-brand-600 text-white hover:bg-brand-700 focus:ring-brand-500}.btn-secondary{@apply btn bg-gray-200 text-gray-900 hover:bg-gray-300 focus:ring-gray-500}.btn-outline{@apply btn border border-gray-300 text-gray-700 hover:bg-gray-50 focus:ring-gray-500}.btn-danger{@apply btn bg-red-600 text-white hover:bg-red-700 focus:ring-red-500}.input{@apply block w-full px-3 py-2 text-sm border border-gray-300 rounded-lg placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-brand-500 focus:border-transparent}.input-error{@apply input border-red-300 focus:ring-red-500}.card{@apply bg-white rounded-xl shadow-soft border border-gray-200 overflow-hidden}.card-header{@apply px-6 py-4 border-b border-gray-200}.card-body{@apply px-6 py-4}.card-footer{@apply px-6 py-4 border-t border-gray-200 bg-gray-50}.badge{@apply inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium}.badge-primary{@apply badge bg-brand-100 text-brand-800}.badge-success{@apply badge bg-green-100 text-green-800}.badge-warning{@apply badge bg-yellow-100 text-yellow-800}.badge-danger{@apply badge bg-red-100 text-red-800}.loading-spinner{@apply inline-block w-4 h-4 border-2 border-gray-300 border-t-brand-600 rounded-full animate-spin}.grid-responsive{@apply grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4}.text-heading-1{@apply text-3xl font-bold text-gray-900 sm:text-4xl}.text-heading-2{@apply text-2xl font-bold text-gray-900 sm:text-3xl}.text-heading-3{@apply text-xl font-semibold text-gray-900 sm:text-2xl}.text-body{@apply text-base text-gray-600 leading-relaxed}.text-caption{@apply text-sm text-gray-500}}@layer utilities{.text-ellipsis-2{-webkit-line-clamp:2}.text-ellipsis-2,.text-ellipsis-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.text-ellipsis-3{-webkit-line-clamp:3}.glass{@apply bg-white bg-opacity-70 backdrop-blur-md}.gradient-primary{background:linear-gradient(135deg,theme("colors.brand.600"),theme("colors.brand.400"))}.gradient-secondary{background:linear-gradient(135deg,theme("colors.billiard.600"),theme("colors.billiard.400"))}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.aspect-photo{aspect-ratio:4/3}}@media (max-width:640px){.mobile-padding{@apply px-4}.mobile-text{@apply text-sm}}@media print{.no-print{display:none!important}.print-only{display:block!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){.btn-primary{@apply border-2 border-brand-800}.card{@apply border-2 border-gray-300}}@layer components{.btn-touch{@apply min-h-[44px] min-w-[44px] touch-manipulation}.input-mobile{@apply text-base}.swipeable-card{@apply transform transition-transform duration-200 ease-out}.mobile-nav{@apply fixed bottom-0 left-0 right-0 z-50 bg-white border-t border-gray-200;@apply flex items-center justify-around py-2 px-4;@apply safe-area-inset-bottom}.responsive-grid{@apply grid gap-4;@apply grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4}.mobile-modal{@apply fixed inset-0 z-50 bg-white;@apply sm:relative sm:inset-auto sm:bg-transparent;@apply sm:max-w-lg sm:mx-auto sm:my-8;@apply sm:rounded-lg sm:shadow-lg}.touch-feedback{@apply active:scale-95 active:bg-gray-50 transition-all duration-150}.scroll-area{@apply overflow-auto scrollbar-thin scrollbar-thumb-gray-300 scrollbar-track-gray-100}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}}@media (max-width:640px){.mobile-touch{@apply p-4 min-h-[48px]}.mobile-text-sm{@apply text-xs}.mobile-compact{@apply space-y-2}.mobile-full{@apply w-full}}@media (min-width:641px) and (max-width:1024px){.tablet-grid{@apply grid-cols-2}.tablet-padding{@apply px-6 py-4}}@media (min-width:1025px){.desktop-hover{@apply hover:shadow-lg hover:scale-105 transition-all duration-200}.desktop-grid{@apply grid-cols-3 xl:grid-cols-4}}@media (prefers-color-scheme:dark){:root{--background:15 23 42;--foreground:248 250 252;--card:30 41 59;--card-foreground:248 250 252}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.high-dpi-image{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media (orientation:landscape) and (max-height:500px){.landscape-compact{@apply py-2}.landscape-header{@apply h-12}}@layer base{*{@apply border-border}body{@apply bg-background text-foreground font-sans antialiased;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:100%;-webkit-text-size-adjust:100%;touch-action:manipulation}input,select,textarea{font-size:16px}@media (max-width:640px){input,select,textarea{font-size:16px}}}