*{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans KR,sans-serif;background-color:#000;color:#e2e8f0;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#1a1a1a}::-webkit-scrollbar-thumb{background:#4ade80;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#22c55e}html{scroll-behavior:smooth}*:focus{outline:2px solid #4ade80;outline-offset:2px}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-down{animation:fade-in-down .8s ease-out forwards!important;opacity:0!important}.animate-fade-in-up{animation:fade-in-up .8s ease-out forwards!important;opacity:0!important}.animate-fade-in-down,.animate-fade-in-up{animation-fill-mode:forwards;animation-timing-function:ease-out}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.btn-primary{background:linear-gradient(135deg,#4ade80,#22c55e);color:#000;font-weight:600;padding:12px 24px;border-radius:12px;transition:all .3s ease;border:none;cursor:pointer}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px #4ade804d}.btn-secondary{background:#ffffff1a;color:#fff;font-weight:600;padding:12px 24px;border-radius:12px;transition:all .3s ease;border:1px solid rgba(255,255,255,.2);cursor:pointer}.btn-secondary:hover{background:#fff3;border-color:#ffffff4d}.card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;transition:all .3s ease}.card:hover{border-color:#4ade8080;transform:translateY(-4px);box-shadow:0 20px 40px #0000004d}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}.modal-content{background:#1f2937;border-radius:16px;max-width:1024px;width:100%;max-height:90vh;overflow-y:auto;border:1px solid rgba(255,255,255,.2)}.tab-container{background:#1f293780;border-radius:8px;padding:4px;display:flex}.tab-button{padding:12px 24px;border-radius:6px;transition:all .3s ease;border:none;cursor:pointer;font-weight:500}.tab-button.active{background:#4ade80;color:#000}.tab-button:not(.active){color:#9ca3af}.tab-button:not(.active):hover{color:#fff}@media (max-width: 640px){.container{padding-left:16px;padding-right:16px}.text-responsive{font-size:1.5rem}}@media (min-width: 641px){.text-responsive{font-size:2rem}}@media (min-width: 1024px){.text-responsive{font-size:3rem}}.loading-spinner{width:40px;height:40px;border:4px solid rgba(74,222,128,.3);border-top:4px solid #4ade80;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{transform:translate(-100%);opacity:0}50%{opacity:1}to{transform:translate(100%);opacity:0}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-contrast: high){.card{border-color:#ffffff80}.btn-primary{background:#4ade80;color:#000}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
