@import"data:text/css;base64,QGxheWVyIHV0aWxpdGllcw=="layer(utilities);@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&display=swap";@layer base,layout,components,utilities;@layer base{:root{--obang-white: #ffffff;--obang-blue: #4a90e2;--obang-red: #ff6b6b;--obang-yellow: #ffd93d;--obang-black: #2d3748;--obang-primary: linear-gradient(135deg, var(--obang-red) 0%, #ee5a24 100%);--obang-secondary: linear-gradient(135deg, var(--obang-blue) 0%, #357abd 100%);--obang-accent: linear-gradient(135deg, var(--obang-yellow) 0%, #ffb700 100%);--primary-gradient: var(--obang-primary);--primary-color: var(--obang-red);--secondary-color: var(--obang-blue);--accent-color: var(--obang-yellow);--success-color: var(--bs-success, #28a745);--warning-color: var(--bs-warning, #ffc107);--error-color: var(--bs-danger, #dc3545);--info-color: var(--bs-info, #17a2b8);--light-orange: #ffb366;--text-primary: var(--bs-body-color, #2d3748);--text-secondary: var(--bs-secondary, #4a5568);--text-muted: var(--bs-gray-600, #666666);--text-light: var(--bs-gray-500, #999999);--bg-white: rgba(255, 255, 255, .95);--bg-white-transparent: rgba(255, 255, 255, .1);--bg-glass: rgba(255, 255, 255, .05);--bg-body: var(--bs-body-bg, #fff);--bg-gray: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 20px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .1);--shadow-xl: 0 25px 50px rgba(0, 0, 0, .25);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 2.5rem;--spacing-3xl: 3rem;--button-height: 43px;--button-radius: 16px;--btn-padding-y: 13px;--btn-padding-x: var(--spacing-md);--btn-padding: var(--btn-padding-y) var(--btn-padding-x);--button-padding: var(--btn-padding);--btn-padding-sm: 8px var(--spacing-sm);--btn-padding-lg: 20px var(--spacing-lg);--btn-padding-xs: 4px var(--spacing-xs);--btn-padding-wide: var(--btn-padding-y) var(--spacing-xl);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 15px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 50%;--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .4s ease;--transition-slower: .6s ease;--blur-sm: blur(2px);--blur-md: blur(8px);--blur-lg: blur(12px);--blur-xl: blur(20px);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--animation-duration-fast: .2s;--animation-duration-base: .3s;--animation-duration-slow: .5s;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--breakpoint-xxl: 1400px}}@layer base{@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fadeIn{animation:fadeIn var(--animation-duration-base) ease-in}.animate-slideInUp{animation:slideInUp var(--animation-duration-base) ease-out}.animate-bounceIn{animation:bounceIn var(--animation-duration-slow) ease-in-out}.animate-spin{animation:spin 1s linear infinite}}@layer layout{*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--bs-font-sans-serif, "Noto Sans KR"),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:var(--text-base);font-weight:var(--bs-body-font-weight, 400);line-height:var(--bs-body-line-height, 1.6);color:var(--text-primary);background:var(--primary-gradient);background-attachment:fixed;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page-layout{display:flex;min-height:100vh;width:100%;position:relative}.page-layout__sidebar{flex:0 0 25%;max-width:25%;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:2px 0 20px #0000001a;transition:transform var(--transition-normal);overflow-y:auto;position:sticky;top:0;height:100vh}.page-layout__content{flex:1;padding:2rem;overflow-y:auto;overscroll-behavior:contain;min-height:100vh}.page-layout__main{padding:var(--spacing-xl);background:var(--bg-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);animation:fadeIn var(--animation-duration-slow) ease-out;min-height:calc(100vh - 4rem)}.page-layout--no-sidebar .page-layout__content{max-width:100%;flex:1 1 100%}.page-layout--collapsed-sidebar .page-layout__sidebar{flex:0 0 60px;max-width:60px}.page-layout--fluid{max-width:100%;padding:0}.page-layout--centered{max-width:1200px;margin:0 auto}.sidebar{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:0;box-shadow:2px 0 20px #0000001a;transition:transform var(--transition-normal)}.sidebar__header{padding:var(--spacing-lg);border-bottom:1px solid rgba(0,0,0,.1)}.sidebar__title{color:var(--text-secondary);margin-bottom:var(--spacing-xl);font-weight:700;text-align:center;font-size:var(--text-2xl);position:relative}.sidebar__title-icon{color:var(--accent-color);margin-right:var(--spacing-sm)}.sidebar__nav{padding:var(--spacing-md)}.sidebar__nav-list{list-style:none;padding:0;margin:0}.sidebar__nav-item{margin-bottom:var(--spacing-sm)}.sidebar__nav-link{display:block;padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:var(--transition-fast)}.sidebar__nav-link:hover{background:#667eea1a;color:var(--primary-color)}.sidebar__nav-link--active{background:var(--primary-color);color:#fff}.sidebar__footer{padding:var(--spacing-lg);border-top:1px solid rgba(0,0,0,.1);margin-top:auto}.sidebar--collapsed{width:60px}.sidebar--collapsed .sidebar__title{display:none}.sidebar--dark{background:#1e1e1ef2;color:#fff}.sidebar--fixed{position:fixed;top:0;left:0;height:100vh;z-index:var(--z-fixed)}.main-content{padding:var(--spacing-xl);background:var(--bg-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);animation:fadeIn var(--animation-duration-slow) ease-out;min-height:100vh}.main-content__header{margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid rgba(0,0,0,.05)}.main-content__title{text-align:center;color:var(--text-primary);font-size:var(--text-3xl);font-weight:700;margin:0}.main-content__title-icon{color:var(--accent-color);margin-right:var(--spacing-sm)}.main-content__subtitle{text-align:center;color:var(--text-secondary);font-size:var(--text-lg);margin-top:var(--spacing-sm)}.main-content__body{padding:var(--spacing-md) 0}.main-content__section{margin-bottom:var(--spacing-2xl)}.main-content__footer{margin-top:var(--spacing-2xl);padding-top:var(--spacing-lg);border-top:2px solid rgba(0,0,0,.05)}.main-content--narrow{max-width:800px;margin:0 auto}.main-content--wide{max-width:1400px}.main-content--transparent{background:#fffc}.container{width:100%;padding-right:var(--spacing-md);padding-left:var(--spacing-md);margin-right:auto;margin-left:auto}.container--fluid{max-width:100%;padding-right:var(--spacing-md);padding-left:var(--spacing-md)}.container--small{max-width:720px}.container--medium{max-width:960px}.container--large{max-width:1140px}.container--extra-large{max-width:1320px}.grid{display:flex;flex-wrap:wrap;margin-right:calc(var(--spacing-md) * -1);margin-left:calc(var(--spacing-md) * -1)}.grid__item{position:relative;width:100%;padding-right:var(--spacing-md);padding-left:var(--spacing-md)}.grid--no-gutters{margin-right:0;margin-left:0}.grid--no-gutters .grid__item{padding-right:0;padding-left:0}.grid--align-center{align-items:center}.grid--justify-center{justify-content:center}.grid__item--1{flex:0 0 8.333333%;max-width:8.333333%}.grid__item--2{flex:0 0 16.666667%;max-width:16.666667%}.grid__item--3{flex:0 0 25%;max-width:25%}.grid__item--4{flex:0 0 33.333333%;max-width:33.333333%}.grid__item--5{flex:0 0 41.666667%;max-width:41.666667%}.grid__item--6{flex:0 0 50%;max-width:50%}.grid__item--7{flex:0 0 58.333333%;max-width:58.333333%}.grid__item--8{flex:0 0 66.666667%;max-width:66.666667%}.grid__item--9{flex:0 0 75%;max-width:75%}.grid__item--10{flex:0 0 83.333333%;max-width:83.333333%}.grid__item--11{flex:0 0 91.666667%;max-width:91.666667%}.grid__item--12{flex:0 0 100%;max-width:100%}.form{display:block}.form__group{margin-bottom:var(--spacing-lg)}.form__label{font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm);display:block}.form__control{width:100%;border:2px solid var(--bs-gray-200, #e2e8f0);border-radius:var(--radius-md);padding:calc(var(--spacing-sm) * 1.5);font-size:var(--text-base);transition:all var(--transition-fast)}.form__control:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a;outline:none}.form__select{width:100%;border:2px solid var(--bs-gray-200, #e2e8f0);border-radius:var(--radius-md);padding:calc(var(--spacing-sm) * 1.5);font-size:var(--text-base);transition:all var(--transition-fast);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(var(--spacing-sm) * 1.5) center;background-size:16px 12px;appearance:none}.form__help{display:block;margin-top:var(--spacing-xs);font-size:var(--text-sm);color:var(--text-muted)}.form__error{display:block;margin-top:var(--spacing-xs);font-size:var(--text-sm);color:var(--error-color)}.form--inline{display:flex;flex-flow:row wrap;align-items:center}.form--inline .form__group{display:flex;align-items:center;margin-bottom:0;margin-right:var(--spacing-md)}.form--inline .form__label{margin-right:var(--spacing-sm);margin-bottom:0}.sidebar{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:0;box-shadow:2px 0 20px #0000001a;transition:transform .3s ease}.content{padding:2rem;height:100vh;overflow-y:auto;overscroll-behavior:contain}.sidebar-title{color:var(--text-secondary);margin-bottom:var(--spacing-xl);font-weight:700;text-align:center;font-size:var(--text-2xl);position:relative}.sidebar-title i{color:var(--accent-color);margin-right:var(--spacing-sm)}@media (min-width: 769px){.content{padding:1rem 1.2rem;overflow-x:hidden;box-sizing:border-box;width:100%;margin:0}.sidebar{padding:0;margin:0;min-height:100vh;height:auto}.sidebar-title{font-size:1.8rem;padding-top:1rem;margin-bottom:1.5rem}}@media (max-width: 768px){.page-layout{flex-direction:column}.page-layout__sidebar{flex:1 1 auto;max-width:100%;height:auto;position:static;margin-bottom:var(--spacing-lg);box-shadow:0 2px 10px #0000001a}.page-layout__content{padding:var(--spacing-md)}.page-layout__main{padding:var(--spacing-lg);border-radius:var(--radius-lg)}.sidebar__title{font-size:var(--text-xl);margin-bottom:var(--spacing-lg)}.sidebar{position:relative;width:100%;order:-1;padding:1rem;margin-bottom:1rem;min-height:auto;height:auto;overflow-y:visible;border-radius:var(--radius-md);box-shadow:0 4px 15px #0000001a}.main-content{order:0}.content{height:auto;overflow-y:visible;padding:1rem}.sidebar-title{font-size:1.3rem;margin-bottom:1rem}.main-content__title{font-size:var(--text-2xl)}.grid__item--md-6{flex:0 0 50%;max-width:50%}.grid__item--md-12{flex:0 0 100%;max-width:100%}}@media (max-width: 480px){.page-layout__content{padding:var(--spacing-sm)}.page-layout__main,.main-content{padding:var(--spacing-md);border-radius:var(--radius-md)}.main-content__title{font-size:var(--text-xl)}.sidebar__title{font-size:var(--text-lg)}.sidebar{width:90%;max-width:none}.sidebar-title{font-size:1.3rem}.content{padding:1rem}[class*=grid__item--]{flex:0 0 100%;max-width:100%}}.sidebar{@extend .sidebar;}.sidebar-title{@extend .sidebar__title;}.content{@extend .page-layout__content;}.main-content{@extend .main-content;}.main-title{@extend .main-content__title;}.container{@extend .container;}.container-fluid{@extend .container--fluid;}.row{@extend .grid;}.col,[class*=col-]{@extend .grid__item;}.col-md-3{@extend .grid__item--3;}.col-md-9{@extend .grid__item--9;}.form-label{@extend .form__label;}.form-control{@extend .form__control;}.form-select{@extend .form__select;}.input{@extend .form__group;}.min-vh-100{min-height:100vh}.d-flex{display:flex}.flex-column{flex-direction:column}.justify-content-center{justify-content:center}.align-items-center{align-items:center}.text-center{text-align:center}.position-relative{position:relative}.position-absolute{position:absolute}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.buttons,.guide{margin-bottom:1rem}.disclaimer{margin-top:1rem}}@layer components{.button{width:100%;height:var(--button-height);margin-bottom:var(--spacing-sm);padding:var(--button-padding);border-radius:var(--button-radius);font-weight:600;font-size:var(--text-base);line-height:1.5;border:none;cursor:pointer;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal),transform .15s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.button__icon{margin-right:var(--spacing-xs);display:inline-block;vertical-align:middle}.button__text{display:inline-block;vertical-align:middle}.button__spinner{position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top-color:currentColor;border-radius:var(--radius-full);animation:spin 1s linear infinite;opacity:0}.button:active{transform:translateY(1px)}.button--disabled,.button:disabled{opacity:.6;cursor:not-allowed;transform:none;pointer-events:none}.button--loading{position:relative;color:transparent}.button--loading .button__spinner{opacity:1}.button--loading .button__text{visibility:hidden}.button--generate{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;box-shadow:0 4px 15px #ee5a244d}.button--generate:hover:not(:disabled):not(.button--disabled){background:linear-gradient(135deg,#ee5a24,#ff6b6b);transform:translateY(-3px);box-shadow:0 8px 25px #ee5a2480}.button--generate:focus-visible{box-shadow:0 4px 15px #ee5a244d,0 0 0 3px #ee5a2433}.button--analyze{background:linear-gradient(135deg,#48cae4,#0077b6);color:#fff;box-shadow:0 4px 15px #48cae44d}.button--analyze:hover:not(:disabled):not(.button--disabled){background:linear-gradient(135deg,#0077b6,#48cae4);transform:translateY(-3px);box-shadow:0 8px 25px #48cae480}.button--analyze:focus-visible{box-shadow:0 4px 15px #48cae44d,0 0 0 3px #48cae433}.button--guide{background:linear-gradient(135deg,#20c997,#28a745);color:#fff;box-shadow:0 4px 15px #28a7454d}.button--guide:hover:not(:disabled):not(.button--disabled){background:linear-gradient(135deg,#28a745,#20c997);transform:translateY(-3px);box-shadow:0 8px 25px #28a74580}.button--guide:focus-visible{box-shadow:0 4px 15px #28a7454d,0 0 0 3px #28a74533}.button--info{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea4d}.button--info:hover:not(:disabled):not(.button--disabled){background:linear-gradient(135deg,#764ba2,#667eea);transform:translateY(-3px);box-shadow:0 8px 25px #667eea80}.button--info:focus-visible{box-shadow:0 4px 15px #667eea4d,0 0 0 3px #667eea33}.button--warning{background:linear-gradient(135deg,#ffc107,#ff9800);color:#fff;box-shadow:0 4px 15px #ffc1074d}.button--warning:hover:not(:disabled):not(.button--disabled){background:linear-gradient(135deg,#ff9800,#ffc107);transform:translateY(-3px);box-shadow:0 8px 25px #ffc10780}.button--small{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-sm)}.button--large{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--text-lg)}.button--inline{width:auto;display:inline-block}.button--full{width:100%}.button-group{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.button-group--vertical{flex-direction:column}.button-group--horizontal{flex-direction:row}.button-group__item{flex:1}.btn{width:100%;margin-bottom:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:16px;font-weight:600;font-size:var(--text-base);line-height:1.5;border:none;cursor:pointer;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal),transform .15s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button.btn.btn-generate,button.btn.btn-analyze,button.btn.btn-guide{height:var(--button-height);background:linear-gradient(135deg,#4a90e2,#3558bd)!important;color:#fff!important;box-shadow:var(--shadow-md)}.btn-info{height:var(--button-height);background:linear-gradient(135deg,#4a90e2,#3558bd)!important;color:#fff!important;border-color:#4a90e2!important;box-shadow:var(--shadow-md)}.btn-info:hover:not(:disabled){background:linear-gradient(135deg,#357abd,#2a4a9a)!important;border-color:#357abd!important;transform:translateY(-1px);box-shadow:0 4px 12px #4a90e266}#disclaimerBtn{height:var(--button-height);background:linear-gradient(135deg,#4a90e2,#3558bd)!important;border-color:#4a90e2!important;color:#fff!important}#disclaimerBtn:hover:not(:disabled){background:linear-gradient(135deg,#357abd,#2a4a9a)!important;border-color:#357abd!important;transform:translateY(-1px);box-shadow:0 4px 12px #4a90e266}#regenBtn{height:var(--button-height);background:linear-gradient(135deg,#4a90e2,#3558bd)!important;border-color:#4a90e2!important;color:#fff!important}#regenBtn:hover:not(:disabled){background:linear-gradient(135deg,#357abd,#2a4a9a)!important;border-color:#357abd!important;transform:translateY(-1px);box-shadow:0 4px 12px #4a90e266}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}}@layer components{.modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-modal);display:none;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-normal)}.modal__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:var(--blur-sm);backdrop-filter:var(--blur-sm)}.modal__dialog{position:relative;max-width:90%;max-height:90%;margin:auto;transform:scale(.8);transition:transform var(--transition-normal)}.modal__content{background:#fff;border-radius:var(--radius-lg);box-shadow:0 20px 40px #0000004d;position:relative;min-width:280px;overflow:hidden}.modal__header{padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-md);border-bottom:1px solid rgba(0,0,0,.1);position:relative}.modal__title{margin:0;font-size:var(--text-xl);font-weight:600;color:var(--text-primary)}.modal__body{padding:var(--spacing-xl);max-height:70vh;overflow-y:auto}.modal__footer{padding:var(--spacing-md) var(--spacing-xl) var(--spacing-lg);border-top:1px solid rgba(0,0,0,.1);display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.modal__close{position:absolute;top:15px;right:20px;background:none;border:none;font-size:24px;color:#666;cursor:pointer;z-index:calc(var(--z-modal) + 1);width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:all var(--transition-fast)}.modal__close:hover{background:#0000001a;color:#333}.modal__close:active{transform:scale(.95)}.modal__close:focus{outline:2px solid var(--primary-color);outline-offset:2px}.modal--show{display:flex;opacity:1}.modal--show .modal__dialog{transform:scale(1)}.modal--loading .modal__content{background:#fffffff2;-webkit-backdrop-filter:var(--blur-md);backdrop-filter:var(--blur-md);border:1px solid rgba(255,255,255,.2);min-width:200px;padding:0}.modal--loading .modal__body{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 30px;text-align:center}.modal--small .modal__dialog{max-width:400px}.modal--large .modal__dialog{max-width:800px}.modal--fullscreen .modal__dialog{max-width:100%;max-height:100%;width:100%;height:100%;margin:0}.modal--fullscreen .modal__content{width:100%;height:100%;border-radius:0}.modal-spinner{position:relative;width:60px;height:60px;margin-bottom:20px}.modal-spinner__ring{position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid transparent;border-radius:var(--radius-full);animation:spin 1.5s linear infinite}.modal-spinner__ring--1{border-top-color:#ff6b6b;animation-delay:-.45s}.modal-spinner__ring--2{border-top-color:#4ecdc4;animation-delay:-.3s}.modal-spinner__ring--3{border-top-color:#45b7d1;animation-delay:-.15s}.modal-spinner__text{font-size:var(--text-base);font-weight:500;color:#333;letter-spacing:.5px;margin-top:var(--spacing-md)}.modal-spinner__text:after{content:"";animation:dots 1.5s steps(4,end) infinite}body.modal-open{overflow:hidden;padding-right:15px}body:not(.modal-open){overflow:auto;padding-right:0;margin-right:0;filter:none;-webkit-backdrop-filter:none;backdrop-filter:none}.modal.show{display:flex!important;opacity:1!important;z-index:1055!important;align-items:center!important;justify-content:center!important}.modal:not(.show){display:none!important}.modal-backdrop{position:fixed!important;top:0!important;left:0!important;z-index:1050!important;width:100vw!important;height:100vh!important;background-color:#00000080!important}.modal-backdrop.show{opacity:1!important}.modal{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;outline:0;display:flex!important;align-items:center!important;justify-content:center!important}.modal-dialog{position:relative!important;width:auto!important;margin:1rem!important;pointer-events:none;max-width:90%!important}.modal-dialog-centered{display:flex!important;align-items:center!important;min-height:calc(100% - 1rem)!important}.modal.show .modal-dialog{pointer-events:auto!important}.modal.fade .modal-dialog{transition:transform .3s ease-out!important;transform:translateY(-50px)!important}.modal.show .modal-dialog{transform:none!important}body.modal-open .modal-backdrop{background-color:#00000080;position:fixed;top:0;left:0;z-index:var(--z-modal-backdrop);width:100vw;height:100vh;opacity:1;visibility:visible;display:block}.modal--guide .modal__content,.modal--disclaimer .modal__content{background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid rgba(102,126,234,.3);box-shadow:0 25px 50px #00000026,0 0 0 1px #fffc inset}.modal--guide .modal__title,.modal--disclaimer .modal__title{color:#1a202c;font-weight:700;text-shadow:0 1px 2px rgba(255,255,255,.8);font-size:1.4rem}#guideModal .modal-dialog,#disclaimerModal .modal-dialog{max-width:500px!important;width:500px!important}@media (max-width: 576px){#guideModal .modal-dialog,#disclaimerModal .modal-dialog{max-width:calc(100vw - 2rem)!important;width:calc(100vw - 2rem)!important;margin:1rem!important}}.custom-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-modal);display:none;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-normal)}.custom-modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:var(--blur-sm);backdrop-filter:var(--blur-sm)}.custom-modal-dialog{position:relative;max-width:90%;max-height:90%;margin:auto;transform:scale(.8);transition:transform var(--transition-normal)}.custom-modal-content{background:#fff;border-radius:var(--radius-lg);box-shadow:0 20px 40px #0000004d;position:relative;min-width:280px;overflow:hidden}.custom-modal-header{padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-md);border-bottom:1px solid rgba(0,0,0,.1);position:relative}.custom-modal-body{padding:var(--spacing-xl);max-height:70vh;overflow-y:auto}.custom-modal-close{position:absolute;top:15px;right:20px;background:none;border:none;font-size:24px;color:#666;cursor:pointer;z-index:calc(var(--z-modal) + 1);width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:all var(--transition-fast)}.custom-modal.show{display:flex;opacity:1}.custom-modal.show .modal__dialog,.custom-modal.show .custom-modal-dialog{transform:scale(1)}.loading-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-modal);display:none;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-normal)}.loading-modal .modal__content,.loading-modal .custom-modal-content{background:#fffffff2;-webkit-backdrop-filter:var(--blur-md);backdrop-filter:var(--blur-md);border:1px solid rgba(255,255,255,.2);min-width:200px;padding:0}.spinner-ring{position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid transparent;border-radius:var(--radius-full);animation:spin 1.5s linear infinite}.loading-text{font-size:var(--text-base);font-weight:500;color:#333;letter-spacing:.5px;margin-top:var(--spacing-md)}}@layer components{:root{--ball-gradient-direction: 145deg;--ball-radial-position: circle at 30% 30%;--ball-radial-transparency: transparent 50%;--ball-border-width: 2px;--ball-border-style: solid;--ball-border-opacity: .8;--ball-shadow-offset: 0 4px 15px;--ball-shadow-opacity: .5;--ball-text-shadow: 0 1px 2px rgba(0, 0, 0, .3)}.lucky-numbers{display:flex;flex-direction:row;gap:clamp(.6rem,2vw,1rem);justify-content:center;align-items:center;padding:var(--spacing-lg, 1.5rem);background:var(--bg-white, #ffffff);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-md, 0 4px 15px rgba(0, 0, 0, .1));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);margin-bottom:var(--spacing-lg, 1.5rem);flex-wrap:wrap;min-height:100px;position:relative;animation:slideInUp var(--animation-duration-slow, .6s) ease-out;container-type:inline-size}.lucky-numbers__balls{display:flex;justify-content:center;align-items:center;gap:clamp(.5rem,2vw,1rem);flex:1;flex-wrap:wrap;flex-direction:row;width:auto}.lucky-numbers__balls--horizontal{flex-direction:row;justify-content:center}.lucky-numbers__balls--vertical{flex-direction:column;align-items:center}.lucky-numbers__balls--compact{gap:clamp(.25rem,1vw,.5rem)}.lucky-numbers__ball{width:clamp(40px,6vw,55px);height:clamp(40px,6vw,55px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(.9rem,2.2vw,1.2rem);color:#fff;background:var(--primary-gradient, linear-gradient(135deg, #667eea 0%, #764ba2 100%));box-shadow:0 4px 15px #667eea66;text-shadow:1px 1px 2px rgba(0,0,0,.3);position:relative;overflow:hidden;animation:bounceIn var(--animation-duration-slow, .6s) ease-out forwards;opacity:0;transform:scale(0);transition:var(--transition-normal, all .3s ease);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;cursor:default}.lucky-numbers__ball:before{content:"";position:absolute;top:10%;left:20%;width:30%;height:30%;background:radial-gradient(circle,rgba(255,255,255,.4) 0%,transparent 70%);border-radius:50%;pointer-events:none}.lucky-numbers__ball--range-1{background:linear-gradient(145deg,#e8d8ff,#9333ea);background-image:radial-gradient(circle at 30% 30%,rgba(232,216,255,.9),transparent 50%),linear-gradient(145deg,#e8d8ff,#9333ea);border:2px solid rgba(147,51,234,.8);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 4px 15px #9333ea80}.lucky-numbers__ball--range-2{background:linear-gradient(145deg,#ffd93d,#ffb700);background-image:radial-gradient(circle at 30% 30%,#fff3a1,transparent 50%),linear-gradient(145deg,#ffd93d,#ffb700);border:2px solid rgba(255,217,61,.8);box-shadow:0 4px 15px #ffd93d80}.lucky-numbers__ball--range-3{background:linear-gradient(145deg,#4a90e2,#357abd);background-image:radial-gradient(circle at 30% 30%,#74c0fc,transparent 50%),linear-gradient(145deg,#4a90e2,#357abd);border:2px solid rgba(74,144,226,.8);box-shadow:0 4px 15px #4a90e280}.lucky-numbers__ball--range-4{background:linear-gradient(145deg,#ff6b6b,#ee5a24);background-image:radial-gradient(circle at 30% 30%,#ffa8a8,transparent 50%),linear-gradient(145deg,#ff6b6b,#ee5a24);border:2px solid rgba(255,107,107,.8);box-shadow:0 4px 15px #ff6b6b80}.lucky-numbers__ball--range-5{background:linear-gradient(145deg,#c8f7dc,#059669);background-image:radial-gradient(circle at 30% 30%,rgba(200,247,220,.9),transparent 50%),linear-gradient(145deg,#c8f7dc,#059669);border:2px solid rgba(5,150,105,.8);color:#fff;box-shadow:0 4px 15px #05966980}.lucky-numbers__ball--bonus{background:linear-gradient(145deg,#34495e,#2c3e50);background-image:radial-gradient(circle at 30% 30%,#5d6d7e,transparent 50%),linear-gradient(145deg,#34495e,#2c3e50);border:2px solid #1b2631;position:relative;box-shadow:0 4px 15px #34495e80}.lucky-numbers__ball--bonus:after{content:"+";position:absolute;top:-8px;right:-8px;width:20px;height:20px;background:linear-gradient(145deg,#e74c3c,#c0392b);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;box-shadow:0 2px 4px #0000004d}.lucky-numbers__ball--selected{transform:scale(1.1);box-shadow:0 0 20px #ffd700cc,0 5px 15px #0000004d,inset 0 2px 4px #ffffff80;animation:pulse 1.5s infinite}.lucky-numbers__ball--disabled{opacity:.5;pointer-events:none;filter:grayscale(50%)}.lucky-numbers__save-btn{width:80px!important;margin-left:auto;flex-shrink:0;padding:.25rem .5rem;background:#fff;color:#0d6efd;border:1px solid #0d6efd;border-radius:.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease}.lucky-numbers__save-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0d6efd66}.lucky-numbers__save-btn:active{transform:translateY(0)}.lucky-numbers__ball:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 8px 25px #667eea99}.lucky-numbers__ball:active{transform:scale(.95)}.lucky-numbers__ball:focus{outline:3px solid var(--primary-color, #667eea);outline-offset:2px}.lucky-numbers__ball:nth-child(1){animation-delay:.1s}.lucky-numbers__ball:nth-child(2){animation-delay:.2s}.lucky-numbers__ball:nth-child(3){animation-delay:.3s}.lucky-numbers__ball:nth-child(4){animation-delay:.4s}.lucky-numbers__ball:nth-child(5){animation-delay:.5s}.lucky-numbers__ball:nth-child(6){animation-delay:.6s}@keyframes bounceIn{0%{opacity:0;transform:scale(.3) translateY(-20px)}50%{transform:scale(1.05) translateY(-5px)}70%{transform:scale(.95) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{box-shadow:0 0 10px #ffd700cc,0 5px 15px #0000004d}50%{box-shadow:0 0 25px gold,0 5px 20px #0006}}@media (min-width: 1200px){.lucky-numbers__ball,.lotto-ball{width:clamp(48px,4vw,58px);height:clamp(48px,4vw,58px);font-size:clamp(1rem,1.8vw,1.3rem)}}@media (max-width: 1199px) and (min-width: 992px){.lucky-numbers__ball,.lotto-ball{width:clamp(44px,5vw,54px);height:clamp(44px,5vw,54px);font-size:clamp(.95rem,2vw,1.25rem)}}@media (max-width: 991px) and (min-width: 768px){.lucky-numbers__ball,.lotto-ball{width:clamp(42px,5.5vw,50px);height:clamp(42px,5.5vw,50px);font-size:clamp(.9rem,2.1vw,1.15rem)}}@media (max-width: 767px) and (min-width: 481px){.lucky-numbers__ball,.lotto-ball{width:clamp(40px,6vw,48px);height:clamp(40px,6vw,48px);font-size:clamp(.85rem,2.2vw,1.1rem)}}@media (max-width: 768px){.lucky-numbers{gap:.5rem;padding:.875rem}.lucky-numbers__balls{gap:.5rem}.lucky-numbers__ball,.lotto-ball{width:clamp(38px,5.5vw,48px);height:clamp(38px,5.5vw,48px);font-size:clamp(.85rem,2vw,1.05rem)}.lucky-numbers__ball--bonus:after{width:18px;height:18px;font-size:12px;top:-6px;right:-6px}}@media (max-width: 480px){.lucky-numbers{gap:.4rem;padding:.625rem}.lucky-numbers__balls{gap:.4rem}.lucky-numbers__ball,.lotto-ball{width:clamp(35px,5vw,42px);height:clamp(35px,5vw,42px);font-size:clamp(.8rem,1.8vw,.95rem)}.lucky-numbers__ball--bonus:after{width:16px;height:16px;font-size:11px;top:-5px;right:-5px}.lucky-numbers__save-btn{font-size:.8rem;padding:.4rem .8rem}}@container (max-width: 500px){.lucky-numbers__ball,.lotto-ball{width:clamp(36px,7vw,44px);height:clamp(36px,7vw,44px);font-size:clamp(.8rem,2.3vw,1rem)}.lucky-numbers__balls,.lucky-balls{gap:clamp(.3rem,1.5vw,.6rem)}}@container (max-width: 400px){.lucky-numbers__ball,.lotto-ball{width:clamp(34px,8vw,42px);height:clamp(34px,8vw,42px);font-size:clamp(.75rem,2.5vw,.95rem)}.lucky-numbers__balls,.lucky-balls{gap:clamp(.25rem,1.2vw,.5rem)}}@container (max-width: 300px){.lucky-numbers__ball,.lotto-ball{width:clamp(32px,9vw,38px);height:clamp(32px,9vw,38px);font-size:clamp(.7rem,2.8vw,.85rem)}.lucky-numbers__balls,.lucky-balls{gap:clamp(.2rem,1vw,.4rem)}}@media (prefers-reduced-motion: reduce){.lucky-numbers__ball{animation:none;transition:none}.lucky-numbers__ball--selected,.lucky-numbers{animation:none}}@media (prefers-contrast: high){.lucky-numbers__ball{border-width:3px;font-weight:800;text-shadow:none}}.lucky-balls{@extend .lucky-numbers__balls;}.lotto-ball{@extend .lucky-numbers__ball;}.lotto-ball.range-1{@extend .lucky-numbers__ball--range-1;}.lotto-ball.range-2{@extend .lucky-numbers__ball--range-2;}.lotto-ball.range-3{@extend .lucky-numbers__ball--range-3;}.lotto-ball.range-4{@extend .lucky-numbers__ball--range-4;}.lotto-ball.range-5{@extend .lucky-numbers__ball--range-5;}.lucky-balls,.lucky-numbers .lucky-balls{display:flex;justify-content:center;align-items:center;gap:clamp(.5rem,2vw,1rem);flex:1;flex-wrap:wrap;flex-direction:row;width:auto}.lotto-ball{width:clamp(40px,6vw,55px);height:clamp(40px,6vw,55px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(.9rem,2.2vw,1.2rem);color:#fff;background:var(--primary-gradient, linear-gradient(135deg, #667eea 0%, #764ba2 100%));box-shadow:0 4px 15px #667eea66;text-shadow:1px 1px 2px rgba(0,0,0,.3);position:relative;overflow:hidden;animation:bounceIn var(--animation-duration-slow, .6s) ease-out forwards;opacity:0;transform:scale(0);transition:var(--transition-normal, all .3s ease);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;cursor:default}.number-ball{width:clamp(40px,6vw,55px);height:clamp(40px,6vw,55px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(.9rem,2.2vw,1.2rem);color:#fff;background:var(--primary-gradient, linear-gradient(135deg, #667eea 0%, #764ba2 100%));box-shadow:0 4px 15px #667eea66;text-shadow:1px 1px 2px rgba(0,0,0,.3);position:relative;overflow:hidden;animation:bounceIn var(--animation-duration-slow, .6s) ease-out forwards;opacity:0;transform:scale(0);transition:var(--transition-normal, all .3s ease);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;cursor:default;margin:2px}.number-ball.range-1{background:linear-gradient(var(--ball-gradient-direction),#e8d8ff,#9333ea);background-image:radial-gradient(var(--ball-radial-position),rgba(232,216,255,.9),var(--ball-radial-transparency)),linear-gradient(var(--ball-gradient-direction),#e8d8ff,#9333ea);border:var(--ball-border-width) var(--ball-border-style) rgba(147,51,234,var(--ball-border-opacity));color:#fff;text-shadow:var(--ball-text-shadow);box-shadow:var(--ball-shadow-offset) rgba(147,51,234,var(--ball-shadow-opacity))}.number-ball.range-2{background:linear-gradient(var(--ball-gradient-direction),#ffd93d,#ffb700);background-image:radial-gradient(var(--ball-radial-position),#fff3a1,var(--ball-radial-transparency)),linear-gradient(var(--ball-gradient-direction),#ffd93d,#ffb700);border:var(--ball-border-width) var(--ball-border-style) rgba(255,217,61,var(--ball-border-opacity));box-shadow:var(--ball-shadow-offset) rgba(255,217,61,var(--ball-shadow-opacity))}.number-ball.range-3{background:linear-gradient(var(--ball-gradient-direction),#4a90e2,#357abd);background-image:radial-gradient(var(--ball-radial-position),#74c0fc,var(--ball-radial-transparency)),linear-gradient(var(--ball-gradient-direction),#4a90e2,#357abd);border:var(--ball-border-width) var(--ball-border-style) rgba(74,144,226,var(--ball-border-opacity));box-shadow:var(--ball-shadow-offset) rgba(74,144,226,var(--ball-shadow-opacity))}.number-ball.range-4{background:linear-gradient(var(--ball-gradient-direction),#ffc1cc,#e91e63);background-image:radial-gradient(var(--ball-radial-position),#ffa8a8,var(--ball-radial-transparency)),linear-gradient(var(--ball-gradient-direction),#ffc1cc,#e91e63);border:var(--ball-border-width) var(--ball-border-style) rgba(233,30,99,var(--ball-border-opacity));box-shadow:var(--ball-shadow-offset) rgba(233,30,99,var(--ball-shadow-opacity))}.number-ball.range-5{background:linear-gradient(var(--ball-gradient-direction),#c8f7dc,#059669);background-image:radial-gradient(var(--ball-radial-position),rgba(200,247,220,.9),var(--ball-radial-transparency)),linear-gradient(var(--ball-gradient-direction),#c8f7dc,#059669);border:var(--ball-border-width) var(--ball-border-style) rgba(5,150,105,var(--ball-border-opacity));color:#fff;text-shadow:var(--ball-text-shadow);box-shadow:var(--ball-shadow-offset) rgba(5,150,105,var(--ball-shadow-opacity))}}@layer components{.chart-dashboard{display:none;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:var(--spacing-lg);margin-top:var(--spacing-md);container-type:inline-size}.chart-dashboard__header{grid-column:1 / -1;text-align:center;padding:var(--spacing-md);border-bottom:2px solid rgba(0,0,0,.1)}.chart-dashboard__title{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.chart-dashboard__subtitle{font-size:var(--text-base);color:var(--text-secondary)}.chart-dashboard__grid{display:contents}.chart-dashboard--show{display:grid;animation:fadeIn var(--animation-duration-slow) ease-out}.chart-dashboard--compact{gap:var(--spacing-sm)}.chart-dashboard--expanded{gap:var(--spacing-xl)}.chart-dashboard--single-column{grid-template-columns:1fr}.chart-dashboard--two-columns{grid-template-columns:repeat(2,1fr)}.chart-dashboard--three-columns{grid-template-columns:repeat(3,1fr)}.chart{background:var(--bg-white);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-md);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:var(--blur-lg);backdrop-filter:var(--blur-lg);transition:var(--transition-normal);animation:slideInUp var(--animation-duration-slow) ease-out forwards;max-height:500px;overflow:hidden;position:relative}.chart__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid #e2e8f0}.chart__title{color:var(--text-primary);font-weight:600;font-size:var(--text-lg);margin:0}.chart__subtitle{color:var(--text-secondary);font-size:var(--text-sm);margin-top:var(--spacing-xs)}.chart__actions{display:flex;gap:var(--spacing-sm)}.chart__action-button{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast)}.chart__action-button:hover{background:#0000000d}.chart__body{position:relative;display:flex;flex-direction:column;align-items:center}.chart__canvas{width:100%;height:300px;max-height:400px;min-height:250px;position:relative;display:block}.chart__legend{display:flex;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-md);flex-wrap:wrap}.chart__footer{margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid rgba(0,0,0,.05);text-align:center;font-size:var(--text-sm);color:var(--text-muted)}.chart--bar .chart__canvas{padding:var(--spacing-sm)}.chart--bar .chart__body{align-items:stretch}.chart--donut .chart__body{align-items:center}.chart--donut .chart__canvas{max-width:300px;height:300px}.chart--line .chart__canvas{height:350px}.chart--area .chart__canvas{height:320px}.chart--radar .chart__canvas{max-width:400px;height:400px}.chart--loading{position:relative;pointer-events:none}.chart--loading:after{content:"차트 로딩 중...";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--text-base);color:var(--text-muted);animation:pulse 1.5s ease-in-out infinite}.chart--error{display:flex;align-items:center;justify-content:center;min-height:300px}.chart--empty{display:flex;align-items:center;justify-content:center;min-height:250px}.chart--small{max-height:300px}.chart--small .chart__canvas{height:200px;max-height:250px}.chart--medium{max-height:400px}.chart--large{max-height:600px}.chart--large .chart__canvas{height:450px;max-height:500px}.chart--fullheight{max-height:none;height:100%}.chart:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.chart:focus-within{outline:2px solid var(--primary-color);outline-offset:2px}.chart-legend-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast)}.chart-legend-item:hover{color:var(--text-primary)}.chart-legend-item__color{width:12px;height:12px;border-radius:var(--radius-full)}.chart-legend-item__label{white-space:nowrap}.chart-legend-item__value{font-weight:600;margin-left:var(--spacing-xs)}.chart-legend-item--active{color:var(--text-primary);font-weight:600}.chart-legend-item--disabled{opacity:.5;cursor:not-allowed}.chart-legend-item--highlighted{color:var(--primary-color);transform:scale(1.05)}.chart-tooltip{position:absolute;background:#000c;color:#fff;padding:var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--text-sm);pointer-events:none;z-index:var(--z-tooltip);white-space:nowrap;opacity:0;transition:opacity var(--transition-fast)}.chart-tooltip--visible{opacity:1}.chart-tooltip__title{font-weight:600;margin-bottom:var(--spacing-xs)}.chart-tooltip__value{display:flex;justify-content:space-between;gap:var(--spacing-md)}.chart-error{text-align:center;padding:var(--spacing-lg)}.chart-error__icon{font-size:3rem;color:var(--error-color);margin-bottom:var(--spacing-md)}.chart-error__message{color:var(--error-color);font-size:var(--text-base);margin-bottom:var(--spacing-sm)}.chart-error__details{color:var(--text-muted);font-size:var(--text-sm)}@container (max-width: 500px){.chart{padding:var(--spacing-md);max-height:350px}.chart__canvas{height:200px;max-height:250px;min-height:180px}.chart__title{font-size:var(--text-base)}}@container (min-width: 501px) and (max-width: 700px){.chart{padding:var(--spacing-lg);max-height:400px}.chart__canvas{height:250px;max-height:300px}}@media (max-width: 768px){.chart-dashboard{grid-template-columns:1fr;gap:var(--spacing-md)}.chart{max-height:400px}.chart__canvas{height:250px;max-height:300px}.chart__legend{gap:var(--spacing-sm);font-size:var(--text-xs)}}@media (max-width: 480px){.chart{padding:var(--spacing-sm);max-height:350px}.chart__canvas{height:200px;max-height:250px;min-height:150px}.chart__title{font-size:var(--text-base);margin-bottom:var(--spacing-sm)}.chart__legend{gap:var(--spacing-xs)}.chart-legend-item{font-size:var(--text-xs)}}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.chart-container{background:#fffffff2;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);transition:all var(--transition-normal);position:relative;overflow:hidden;-webkit-backdrop-filter:var(--blur-sm);backdrop-filter:var(--blur-sm);border:1px solid rgba(255,255,255,.2);max-height:500px;min-height:300px}.chart-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-xs)}.chart-canvas{max-width:100%;height:300px;max-height:400px;min-height:250px;background:transparent}.chart-container:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}@media (max-width: 768px){.chart-container{max-height:400px;min-height:250px;padding:var(--spacing-md)}.chart-canvas{height:250px;max-height:300px;min-height:200px}}@media (max-width: 480px){.chart-container{max-height:350px;min-height:200px}.chart-canvas{height:200px;max-height:250px;min-height:180px}}}@layer components{.chart-dashboard{display:none;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg);container-type:inline-size}.chart-dashboard.show{display:grid;animation:fadeIn .6s ease-out}.chart-container{background:var(--bg-white);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:all .3s ease;border:1px solid var(--border-light);display:flex;flex-direction:column;gap:var(--spacing-md);max-height:500px;overflow:hidden;container-type:inline-size}.chart-container:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}@container (max-width: 500px){.chart-container{padding:var(--spacing-md);max-height:350px}}.chart-title{color:#2d3748;font-weight:600;font-size:1.1rem;margin-bottom:var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-sm)}.chart-title i{color:var(--obang-blue)}.chart-canvas{width:100%;height:300px;max-height:400px;min-height:200px;flex:1}.chart-legend{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:var(--spacing-sm)}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:var(--text-sm);color:var(--text-secondary)}.legend-item:before{content:"";width:12px;height:12px;border-radius:2px;background:currentColor}@media (max-width: 768px){.chart-dashboard{grid-template-columns:1fr;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.chart-container{padding:var(--spacing-md);border-radius:var(--radius-sm);max-height:400px}.chart-canvas{height:250px;max-height:300px;min-height:200px}.chart-title{font-size:var(--text-base);margin-bottom:var(--spacing-sm)}}@media (max-width: 480px){.chart-container{max-height:350px}.chart-canvas{height:200px;max-height:250px;min-height:180px}.chart-legend{flex-direction:column;gap:var(--spacing-sm)}.legend-item{font-size:var(--text-sm)}}body:not(.modal-open) .chart-dashboard{filter:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}@layer components{.all-number-sets{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);margin-top:var(--spacing-lg)}@media (min-width: 769px){.all-number-sets{grid-template-columns:1fr;gap:var(--spacing-xl);margin-top:var(--spacing-xl)}.method-set{padding:var(--spacing-lg);border-radius:var(--radius-lg)}}.method-set{background:var(--bg-glass);border-radius:var(--radius-md);padding:var(--spacing-md);border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-sm);transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.method-set:hover{background:var(--bg-white-transparent);border-color:#fff3;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.method-set:hover{transform:none}.method-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.method-info{flex:1}.method-header .save-set-btn{width:80px!important;margin-left:auto;flex-shrink:0}.method-name{font-weight:600;color:#333;font-size:1rem;margin-bottom:var(--spacing-xs)}.method-description{font-size:.85rem;color:#666;font-weight:400;line-height:1.4;margin-bottom:var(--spacing-sm)}.method-numbers{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-top:var(--spacing-sm)}.method-ball{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 2px 8px #00000026;cursor:default;transition:transform .2s ease}.method-ball.range-1{background:linear-gradient(135deg,gold,#ffed4a)}.method-ball.range-2{background:linear-gradient(135deg,#3498db,#74b9ff)}.method-ball.range-3{background:linear-gradient(135deg,#e74c3c,#fd79a8)}.method-ball.range-4{background:linear-gradient(135deg,#2ecc71,#55efc4)}.method-ball.range-5{background:linear-gradient(135deg,#9b59b6,#a29bfe)}.method-ball:hover{transform:none}.method-ball:focus{outline:2px solid var(--primary-color);outline-offset:2px}.method-plus{font-size:1.2rem;color:#666;margin:0 5px;font-weight:700}@media (max-width: 768px){.all-number-sets{grid-template-columns:1fr;gap:1rem}.method-set{margin:0;padding:var(--spacing-sm)}.method-ball{width:35px;height:35px;font-size:.8rem}.method-numbers{gap:6px}.method-name{font-size:.95rem}.method-description{font-size:.8rem}}@media (max-width: 480px){.all-number-sets{gap:var(--spacing-md)}.method-set{padding:var(--spacing-xs)}.method-ball{width:32px;height:32px;font-size:.75rem}.method-numbers{gap:4px}.method-plus{font-size:1rem;margin:0 3px}.method-name{font-size:.9rem}.method-description{font-size:.75rem}}.lotto-ball,.method-ball,.lotto-number,.number-ball{cursor:default}.lucky-numbers .lotto-ball:hover,.method-numbers .method-ball:hover,.lotto-number:hover,.number-ball:hover{transform:none;box-shadow:inherit}.lotto-ball:focus,.method-ball:focus,.lotto-number:focus,.number-ball:focus{outline:2px solid var(--primary-color);outline-offset:2px}}@layer components{.card:first-child{margin-top:0}.multi-card{margin-top:2rem}.multi-card,.multi-card *{cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none}.multi-card .btn{cursor:pointer;pointer-events:auto}.lucky-card,.lucky-card *{cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none}.lucky-card .btn{cursor:pointer;pointer-events:auto}.card.active{background:#fff;border-color:#6464644d;box-shadow:0 2px 8px #00000026;transform:translateY(-2px);transition:all .3s ease}.mobile-back-button{display:none}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(30px)}}.card-slide-in{animation:slideInUp .6s ease-out}.card-slide-out{animation:slideOutDown .4s ease-in}@media (max-width: 768px){.card:first-child{margin-top:0}.multi-card{margin-top:1.5rem}.mobile-back-button{display:block;text-align:center;margin-top:1rem;padding:var(--spacing-sm)}.mobile-back-button .btn{width:100%;max-width:200px;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);background:var(--obang-secondary);color:#fff;border:none;font-weight:500;transition:all .3s ease}.mobile-back-button .btn:hover{background:var(--obang-primary);transform:translateY(-1px)}.mobile-back-button .btn:active{transform:translateY(0)}}@media (max-width: 480px){.multi-card{margin-top:1rem}.mobile-back-button{margin-top:var(--spacing-sm)}.mobile-back-button .btn{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--text-sm)}}@media print{.mobile-back-button{display:none!important}.card.active{box-shadow:none;transform:none}.multi-card,.lucky-card{break-inside:avoid}}}@layer components{.social-divider{text-align:center;margin:20px 0;position:relative}.social-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e1e5e9}.social-divider span{background:#fff;padding:0 15px;color:var(--text-muted);font-size:14px;position:relative;z-index:1}.social-login-buttons{display:flex;flex-direction:column;gap:10px;margin-top:15px}.social-button{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;width:100%}.social-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.social-button:active{transform:translateY(0)}.social-button.google{background:#fff;color:#757575;border:1px solid #dadce0}.social-button.google:hover{background:var(--bg-body);box-shadow:0 4px 12px #4285f426}.social-button.google i{color:#4285f4}.social-button.kakao{background:#fee500;color:#000;border:1px solid #fee500}.social-button.kakao:hover{background:#fdd835;box-shadow:0 4px 12px #fee5004d}.social-button.kakao i{color:#000}.social-button.naver{background:#03c75a;color:#fff;border:1px solid #03c75a}.social-button.naver:hover{background:#02b351;box-shadow:0 4px 12px #03c75a4d}.social-button.naver strong{font-size:16px;font-weight:800;background:#fff;color:#03c75a;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:2px}@media (max-width: 480px){.social-login-buttons{gap:8px}.social-button{padding:10px 16px;font-size:13px}.social-button.naver strong{width:18px;height:18px;font-size:14px}.social-divider{margin:15px 0}}}@layer components{.message{padding:15px;margin:15px 0;border-radius:var(--radius-sm);position:relative;animation:slideIn var(--animation-duration-base) ease-out;font-weight:500;border:1px solid transparent}.message.success{background:linear-gradient(135deg,var(--success-color),#45a049);color:#fff;border-color:#45a049}.message.error{background:linear-gradient(135deg,var(--error-color),#d32f2f);color:#fff;border-color:#d32f2f}.message.warning{background:linear-gradient(135deg,var(--warning-color),#f57c00);color:#fff;border-color:#f57c00}.message.info{background:linear-gradient(135deg,var(--info-color),#1976D2);color:#fff;border-color:#1976d2}.message:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}}@layer components{.form-label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--text-secondary);font-size:var(--text-sm)}.form-input{width:100%;padding:12px 16px;border:2px solid var(--bs-border-color, #e2e8f0);border-radius:var(--radius-sm);font-size:var(--text-base);transition:border-color var(--transition-normal);box-sizing:border-box}.form-input:focus{outline:none;border-color:var(--obang-blue);box-shadow:0 0 0 3px #667eea1a}.form-button{width:100%;background:var(--obang-secondary);color:#fff;border:none;padding:12px 20px;border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.form-button:hover{transform:translateY(-1px);box-shadow:0 6px 20px #667eea4d}.form-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.toggle-switch{position:relative;width:50px;height:25px;background:var(--bs-border-color, #e2e8f0);border-radius:25px;cursor:pointer;transition:background var(--transition-normal)}.toggle-switch.active{background:var(--obang-blue)}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:21px;height:21px;background:#fff;border-radius:50%;transition:transform var(--transition-normal)}.toggle-switch.active:after{transform:translate(25px)}.lucky-numbers-input{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;margin-top:10px}.lucky-number-input{width:60px;padding:var(--spacing-xs);border:2px solid var(--bs-border-color, #e2e8f0);border-radius:var(--spacing-xs);text-align:center;font-weight:600;font-size:var(--text-sm)}.form-control,.form-select{border:2px solid var(--bs-gray-200, #e2e8f0);border-radius:var(--radius-md);padding:calc(var(--spacing-sm) * 1.5);font-size:var(--text-sm);transition:all var(--transition-normal);box-sizing:border-box}.form-control:focus,.form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem #667eea40;outline:none}.form-label{font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm);display:block}.form-group{margin-bottom:var(--spacing-lg)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;color:var(--text-muted)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group-text{display:flex;align-items:center;padding:calc(var(--spacing-sm) * 1.5);font-size:var(--text-sm);font-weight:400;line-height:1.5;color:var(--text-secondary);text-align:center;white-space:nowrap;background-color:var(--bs-gray-100, #f8f9fa);border:2px solid var(--bs-gray-200, #e2e8f0);border-radius:var(--radius-md)}.is-valid{border-color:var(--success-color)!important}.is-invalid{border-color:var(--error-color)!important}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:var(--text-sm);color:var(--success-color)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:var(--text-sm);color:var(--error-color)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);appearance:none;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:var(--primary-color);outline:0;box-shadow:0 0 0 .25rem #667eea40}.form-check-input:checked{background-color:var(--primary-color);border-color:var(--primary-color)}.form-check-label{color:var(--text-primary);cursor:pointer}}@layer components{.user-greeting-line{display:flex;align-items:center;gap:12px;margin-bottom:.5rem;padding:.5rem 0}.user-greeting-line #userGreeting{font-weight:600;color:var(--success-color);flex:1}.logout-inline{padding:4px 10px;font-size:.8rem;width:80px;flex:none;white-space:nowrap}.personalized-menu{padding:15px;background:linear-gradient(135deg,#28a74514,#20c99714);border-radius:12px;border:2px solid rgba(40,167,69,.15);margin-top:1rem;box-shadow:0 2px 10px #28a7451a;animation:fadeInUp .5s ease-out}.personalized-header{margin-bottom:12px;text-align:center}.personalized-title{color:var(--success-color);font-weight:700;font-size:1rem;margin:0;display:flex;align-items:center;justify-content:center;gap:8px}.personalized-title i{font-size:1.1rem;color:#20c997}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.personalized-menu .btn{font-size:.9rem;padding:10px 16px;transition:all .3s ease;border:2px solid transparent;font-weight:600;position:relative;overflow:hidden}.personalized-menu .btn: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}.personalized-menu .btn:hover:before{left:100%}.personalized-menu .btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #28a7454d}.personalized-menu .btn-outline-primary{border-color:var(--obang-blue);color:var(--obang-blue)}.personalized-menu .btn-outline-primary:hover{background:linear-gradient(135deg,#357abd 0%,var(--obang-blue) 100%);border-color:transparent;color:var(--obang-white);box-shadow:0 6px 20px #4a90e266}.personalized-menu .btn-outline-success{border-color:var(--success-color);color:var(--success-color)}.personalized-menu .btn-outline-success:hover{background:linear-gradient(135deg,#28a745,#20c997);border-color:transparent;color:#fff;box-shadow:0 6px 20px #28a74566}.personalized-menu .btn-outline-info{border-color:#17a2b8;color:#17a2b8}.personalized-menu .btn-outline-info:hover{background:linear-gradient(135deg,#17a2b8,#20c9c0);border-color:transparent;color:#fff;box-shadow:0 6px 20px #17a2b866}.admin-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff;text-decoration:none;border-radius:20px;font-size:.875rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 10px #f39c124d;margin-top:.5rem}.admin-link:hover{background:linear-gradient(135deg,#e67e22,#d35400);transform:translateY(-2px);box-shadow:0 4px 15px #f39c1266;color:#fff;text-decoration:none}.admin-link i{font-size:1rem}.user-info{background:linear-gradient(135deg,#28a74514,#20c99714);border:2px solid rgba(40,167,69,.2);border-radius:12px;padding:18px;margin-bottom:15px;box-shadow:0 3px 15px #28a74526;animation:fadeInScale .6s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.user-welcome{display:flex;align-items:center;gap:12px;margin-bottom:10px}.user-welcome i{font-size:2rem;color:var(--success-color)}.user-details .username{font-weight:600;color:#2c3e50;font-size:1.1rem}.user-details .user-email{font-size:.85rem;color:var(--text-muted);margin:2px 0}.user-details .login-time{font-size:.8rem;color:var(--success-color)}.user-actions{margin-top:.75rem;text-align:center}.auth-container{display:flex;flex-direction:column;gap:8px;margin:15px 0;padding:15px;background:linear-gradient(135deg,#667eea08,#764ba208);border-radius:12px;border:1px solid rgba(102,126,234,.08)}.auth-buttons-container{display:flex;gap:8px;width:100%}button.auth-button{flex:1;height:var(--button-height);padding:var(--button-padding);background:var(--obang-secondary);color:#fff;border:none;border-radius:var(--button-radius);font-weight:600;font-size:.9rem;transition:all .3s ease;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}button.auth-button:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea4d;background:linear-gradient(135deg,#5a6fd8,#6a42a6)}button.auth-button:active{transform:translateY(0);box-shadow:0 2px 8px #667eea33}.btn.auth-button{border-radius:var(--button-radius)}#loginBtn{background:linear-gradient(135deg,#4a90e2,#3558bd);color:var(--obang-white);box-shadow:0 4px 15px #4a90e24d;border-radius:var(--button-radius)}#loginBtn:hover{background:linear-gradient(135deg,#357abd 0%,var(--obang-blue) 100%);box-shadow:0 8px 25px #4a90e280}#registerBtn{background:linear-gradient(135deg,#4a90e2,#3558bd);color:var(--obang-white);box-shadow:0 4px 15px #4a90e24d;border-radius:var(--button-radius)}#registerBtn:hover{background:linear-gradient(135deg,#357abd 0%,var(--obang-blue) 100%);box-shadow:0 8px 25px #4a90e280}@media (max-width: 768px){.auth-container{margin:10px 0;padding:12px}.auth-button{height:52px;padding:var(--button-padding);font-size:.95rem}.user-info{padding:12px}.user-welcome{flex-direction:column;text-align:center;gap:8px}.user-welcome i{font-size:1.5rem}.user-details .username{font-size:1rem}}@media (max-width: 480px){.auth-container{padding:10px}.auth-button{height:56px;padding:var(--button-padding);font-size:1rem}.personalized-menu .btn{padding:8px 12px;font-size:.85rem}.personalized-menu{padding:12px}.personalized-title{font-size:.9rem}}.saved-number-item{display:flex;justify-content:space-between;align-items:center;padding:15px;margin-bottom:10px;background:var(--bg-body);border-radius:16px;border:1px solid var(--bs-border-color, #e9ecef);transition:all .3s ease}.saved-number-item:hover{background:#e8f4f8;border-color:#667eea;transform:translateY(-1px);box-shadow:0 2px 8px #667eea1a}.saved-number-title{font-weight:600;color:var(--text-primary)}.saved-numbers{display:flex;gap:5px;margin-bottom:5px}.number-ball.small{width:28px;height:28px;font-size:12px;line-height:28px}.saved-number-date{margin-top:5px}.saved-number-info{flex:1}.saved-number-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.saved-number-title{font-weight:700}.saved-numbers{display:flex;gap:4px;margin-bottom:5px;flex-wrap:wrap}.saved-number-date{font-size:.85em;color:var(--text-muted)}.saved-number-actions{display:flex;gap:5px;align-items:center;flex-shrink:0}.saved-number-actions .btn{width:32px;height:32px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px}#saveNumbersSection{text-align:center;padding-top:15px;border-top:1px solid var(--bs-border-color, #e9ecef)}#saveNumbersSection .btn{margin:0 5px}.user-welcome i{font-size:2rem;color:#667eea}.user-details{flex:1}.username{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.user-email{font-size:.85rem;color:#718096;margin-bottom:2px}.login-time{font-size:.8rem;color:#a0aec0}.user-profile-section{margin-bottom:20px;padding:16px;background:#fff;border-radius:16px;box-shadow:0 2px 4px #0000001a;border:1px solid var(--bs-border-color, #e2e8f0)}.user-profile-section h4{color:var(--text-primary);margin-bottom:12px;font-size:1.1rem;font-weight:600}.profile-info{display:grid;gap:8px}.profile-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f7fafc}.profile-item:last-child{border-bottom:none}.profile-item strong{color:var(--text-secondary);font-weight:500}.status-active{color:#38a169;background:#38a1691a;padding:2px 8px;border-radius:12px;font-size:.85rem;font-weight:500}.dashboard-stats{margin-bottom:20px}.dashboard-stats h4{color:var(--text-primary);margin-bottom:16px;font-size:1.1rem;font-weight:600}.stats-cards-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat-card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 2px 4px #0000001a;border:1px solid var(--bs-border-color, #e2e8f0);display:flex;align-items:center;gap:12px;transition:transform .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.stat-icon{background:var(--obang-secondary);color:#fff;width:40px;height:40px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.stat-content{flex:1}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1}.stat-title{font-size:.85rem;color:#718096;margin-top:2px}.personalized-feature{display:none;margin:20px 0;padding:20px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:12px;border-left:4px solid #667eea}.personalized-options{display:flex;gap:10px;margin:15px 0;flex-wrap:wrap}.personalized-options .btn,.personalized-menu .btn,#userDashboard .btn,#savedNumbersList .btn{padding:10px 16px;border:none;border-radius:16px;cursor:pointer;font-weight:500;transition:all .3s ease;font-size:.9rem}.btn-lunar{background:linear-gradient(135deg,#4c51bf,#667eea);color:#fff}.btn-balanced{background:linear-gradient(135deg,#38b2ac,#4299e1);color:#fff}.btn-hot{background:linear-gradient(135deg,#ed8936,#f56565);color:#fff}.btn-save{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;margin:5px}.btn-cancel{background:#e2e8f0;color:var(--text-secondary)}.personalized-options .btn:hover,.personalized-menu .btn:hover,#userDashboard .btn:hover,#savedNumbersList .btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.dashboard-container{display:none;margin-top:30px}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card h3{margin:0 0 10px;color:var(--text-secondary);font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:2rem;font-weight:700;color:#667eea;margin:0}.recent-numbers,.top-numbers{background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 12px #0000000d;margin-bottom:20px}.recent-numbers h3,.top-numbers h3{margin:0 0 15px;color:var(--text-primary);font-size:1.1rem;font-weight:600}.number-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--bs-border-color, #e2e8f0)}.number-item:last-child{border-bottom:none}.numbers{font-weight:600;color:#667eea}.date{color:#a0aec0;font-size:.9rem}.top-number{display:inline-block;background:var(--obang-blue);color:#fff;padding:4px 8px;border-radius:6px;margin:2px;font-size:.8rem;font-weight:500}.save-numbers-container{margin:20px 0;padding:20px;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;border-left:4px solid #48bb78}.save-options h4{margin:0 0 15px;color:var(--text-primary);font-weight:600}.save-buttons{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}#messageContainer{animation:slideIn .3s ease}.settings-panel{display:none;background:#fff;padding:25px;border-radius:12px;box-shadow:0 4px 12px #0000000d;margin:20px 0}.settings-section{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid var(--bs-border-color, #e2e8f0)}.settings-section:last-child{border-bottom:none;margin-bottom:0}.settings-section h3{margin:0 0 15px;color:var(--text-primary);font-size:1.1rem;font-weight:600}.settings-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.settings-label{font-weight:500;color:var(--text-secondary)}@media (max-width: 768px){.personalized-options{flex-direction:column}.dashboard-stats{grid-template-columns:1fr}.settings-row{flex-direction:column;align-items:flex-start;gap:10px}.save-buttons{gap:10px}.auth-container{flex-direction:column;align-items:stretch}}}@layer utilities;@layer utilities.utilities{.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-light{color:var(--text-light)}.bg-primary-gradient{background:var(--primary-gradient)}.bg-glass{background:var(--bg-glass)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.section-spacer{margin-bottom:2rem}.radius-sm{border-radius:var(--radius-sm)}.radius-md{border-radius:var(--radius-md)}.radius-lg{border-radius:var(--radius-lg)}.radius-xl{border-radius:var(--radius-xl)}.radius-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-none{box-shadow:none}.transition-fast{transition:all var(--transition-fast)}.transition-normal{transition:all var(--transition-normal)}.transition-slow{transition:all var(--transition-slow)}.transition-none{transition:none}}@layer base{html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--bs-font-sans-serif, "Noto Sans KR"),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:var(--text-base);font-weight:var(--bs-body-font-weight, 400);line-height:var(--bs-body-line-height, 1.6);color:var(--text-primary);background:var(--primary-gradient);background-attachment:fixed;margin:0;padding:0}.main-content{padding:0;background:transparent}.header{padding:var(--spacing-xl);text-align:center;color:#fff;margin-bottom:var(--spacing-xl)}.main-title{font-size:var(--text-5xl);font-weight:800;margin-bottom:var(--spacing-md);text-shadow:2px 2px 4px rgba(0,0,0,.3)}.main-title i{color:gold;margin-right:1rem}.subtitle{font-size:1.2rem;opacity:.9;margin-bottom:0}.results-container{padding:0 2rem 2rem}.card{border:none;border-radius:15px;box-shadow:0 10px 30px #0000001a;margin-top:2rem;margin-bottom:2rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card-header{background:linear-gradient(135deg,#2c5aa0,#1a365d);color:#fff;border-radius:15px 15px 0 0;padding:1rem 1.5rem;border-bottom:none;display:flex;justify-content:space-between;align-items:center}.card-header h5{margin:0;font-weight:600}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#667eea80}::selection{background:#667eea33;color:var(--text-primary)}::-moz-selection{background:#667eea33;color:var(--text-primary)}}.sidebar-buttons{margin-bottom:1rem}.button-row{display:flex;gap:.5rem;margin-bottom:1rem}.sidebar-btn-half{flex:1;height:var(--button-height);font-size:.9rem;padding:.5rem .25rem}.sidebar-btn-full{width:100%;height:var(--button-height);font-size:1rem;padding:.5rem 1rem}.pwa-install,.sidebar .guide,.sidebar .disclaimer{margin-bottom:0}@media print{.sidebar,.page-layout__sidebar,.no-print{display:none!important}.main-content,.page-layout__main{box-shadow:none;border:none}body{background:#fff}}:root{--ball-gradient-direction: 145deg;--ball-radial-position: circle at 30% 30%;--ball-radial-transparency: transparent 50%;--ball-border-width: 2px;--ball-border-style: solid;--ball-border-opacity: .8;--ball-shadow-offset: 0 4px 15px;--ball-shadow-opacity: .5;--ball-text-shadow: 0 1px 2px rgba(0, 0, 0, .3)}.lucky-numbers{display:flex;flex-direction:row;gap:clamp(.6rem,2vw,1rem);justify-content:center;align-items:center;padding:var(--spacing-lg, 1.5rem);background:var(--bg-white, #ffffff);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-md, 0 4px 15px rgba(0, 0, 0, .1));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);margin-bottom:var(--spacing-lg, 1.5rem);flex-wrap:wrap;min-height:100px;position:relative;animation:slideInUp var(--animation-duration-slow, .6s) ease-out;container-type:inline-size}.lucky-numbers__balls{display:flex;justify-content:center;align-items:center;gap:clamp(.5rem,2vw,1rem);flex:1;flex-wrap:wrap;flex-direction:row;width:auto}.lucky-numbers__balls--horizontal{flex-direction:row;justify-content:center}.lucky-numbers__balls--vertical{flex-direction:column;align-items:center}.lucky-numbers__balls--compact{gap:clamp(.25rem,1vw,.5rem)}.lucky-numbers__ball{width:clamp(40px,6vw,55px);height:clamp(40px,6vw,55px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(.9rem,2.2vw,1.2rem);color:#fff;background:var(--primary-gradient, linear-gradient(135deg, #667eea 0%, #764ba2 100%));box-shadow:0 4px 15px #667eea66;text-shadow:1px 1px 2px rgba(0,0,0,.3);position:relative;overflow:hidden;animation:bounceIn var(--animation-duration-slow, .6s) ease-out forwards;opacity:0;transform:scale(0);transition:var(--transition-normal, all .3s ease);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;cursor:default}.lucky-numbers__ball:before{content:"";position:absolute;top:10%;left:20%;width:30%;height:30%;background:radial-gradient(circle,rgba(255,255,255,.4) 0%,transparent 70%);border-radius:50%;pointer-events:none}.lucky-numbers__ball--range-1{background:linear-gradient(145deg,#e8d8ff,#9333ea);background-image:radial-gradient(circle at 30% 30%,rgba(232,216,255,.9),transparent 50%),linear-gradient(145deg,#e8d8ff,#9333ea);border:2px solid rgba(147,51,234,.8);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 4px 15px #9333ea80}.lucky-numbers__ball--range-2{background:linear-gradient(145deg,#ffd93d,#ffb700);background-image:radial-gradient(circle at 30% 30%,#fff3a1,transparent 50%),linear-gradient(145deg,#ffd93d,#ffb700);border:2px solid rgba(255,217,61,.8);box-shadow:0 4px 15px #ffd93d80}.lucky-numbers__ball--range-3{background:linear-gradient(145deg,#4a90e2,#357abd);background-image:radial-gradient(circle at 30% 30%,#74c0fc,transparent 50%),linear-gradient(145deg,#4a90e2,#357abd);border:2px solid rgba(74,144,226,.8);box-shadow:0 4px 15px #4a90e280}.lucky-numbers__ball--range-4{background:linear-gradient(145deg,#ff6b6b,#ee5a24);background-image:radial-gradient(circle at 30% 30%,#ffa8a8,transparent 50%),linear-gradient(145deg,#ff6b6b,#ee5a24);border:2px solid rgba(255,107,107,.8);box-shadow:0 4px 15px #ff6b6b80}.lucky-numbers__ball--range-5{background:linear-gradient(145deg,#c8f7dc,#059669);background-image:radial-gradient(circle at 30% 30%,rgba(200,247,220,.9),transparent 50%),linear-gradient(145deg,#c8f7dc,#059669);border:2px solid rgba(5,150,105,.8);color:#fff;box-shadow:0 4px 15px #05966980}.lucky-numbers__ball--bonus{background:linear-gradient(145deg,#34495e,#2c3e50);background-image:radial-gradient(circle at 30% 30%,#5d6d7e,transparent 50%),linear-gradient(145deg,#34495e,#2c3e50);border:2px solid #1b2631;position:relative;box-shadow:0 4px 15px #34495e80}.lucky-numbers__ball--bonus:after{content:"+";position:absolute;top:-8px;right:-8px;width:20px;height:20px;background:linear-gradient(145deg,#e74c3c,#c0392b);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;box-shadow:0 2px 4px #0000004d}.lucky-numbers__ball--selected{transform:scale(1.1);box-shadow:0 0 20px #ffd700cc,0 5px 15px #0000004d,inset 0 2px 4px #ffffff80;animation:pulse 1.5s infinite}.lucky-numbers__ball--disabled{opacity:.5;pointer-events:none;filter:grayscale(50%)}.lucky-numbers__save-btn{width:80px!important;margin-left:auto;flex-shrink:0;padding:.25rem .5rem;background:#fff;color:#0d6efd;border:1px solid #0d6efd;border-radius:.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease}.lucky-numbers__save-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0d6efd66}.lucky-numbers__save-btn:active{transform:translateY(0)}.lucky-numbers__ball:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 8px 25px #667eea99}.lucky-numbers__ball:active{transform:scale(.95)}.lucky-numbers__ball:focus{outline:3px solid var(--primary-color, #667eea);outline-offset:2px}.lucky-numbers__ball:nth-child(1){animation-delay:.1s}.lucky-numbers__ball:nth-child(2){animation-delay:.2s}.lucky-numbers__ball:nth-child(3){animation-delay:.3s}.lucky-numbers__ball:nth-child(4){animation-delay:.4s}.lucky-numbers__ball:nth-child(5){animation-delay:.5s}.lucky-numbers__ball:nth-child(6){animation-delay:.6s}@keyframes bounceIn{0%{opacity:0;transform:scale(.3) translateY(-20px)}50%{transform:scale(1.05) translateY(-5px)}70%{transform:scale(.95) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{box-shadow:0 0 10px #ffd700cc,0 5px 15px #0000004d}50%{box-shadow:0 0 25px gold,0 5px 20px #0006}}@media (min-width: 1200px){.lucky-numbers__ball,.lotto-ball{width:clamp(48px,4vw,58px);height:clamp(48px,4vw,58px);font-size:clamp(1rem,1.8vw,1.3rem)}}@media (max-width: 1199px) and (min-width: 992px){.lucky-numbers__ball,.lotto-ball{width:clamp(44px,5vw,54px);height:clamp(44px,5vw,54px);font-size:clamp(.95rem,2vw,1.25rem)}}@media (max-width: 991px) and (min-width: 768px){.lucky-numbers__ball,.lotto-ball{width:clamp(42px,5.5vw,50px);height:clamp(42px,5.5vw,50px);font-size:clamp(.9rem,2.1vw,1.15rem)}}@media (max-width: 767px) and (min-width: 481px){.lucky-numbers__ball,.lotto-ball{width:clamp(40px,6vw,48px);height:clamp(40px,6vw,48px);font-size:clamp(.85rem,2.2vw,1.1rem)}}@media (max-width: 768px){.lucky-numbers{gap:.5rem;padding:.875rem}.lucky-numbers__balls{gap:.5rem}.lucky-numbers__ball,.lotto-ball{width:clamp(38px,5.5vw,48px);height:clamp(38px,5.5vw,48px);font-size:clamp(.85rem,2vw,1.05rem)}.lucky-numbers__ball--bonus:after{width:18px;height:18px;font-size:12px;top:-6px;right:-6px}}@media (max-width: 480px){.lucky-numbers{gap:.4rem;padding:.625rem}.lucky-numbers__balls{gap:.4rem}.lucky-numbers__ball,.lotto-ball{width:clamp(35px,5vw,42px);height:clamp(35px,5vw,42px);font-size:clamp(.8rem,1.8vw,.95rem)}.lucky-numbers__ball--bonus:after{width:16px;height:16px;font-size:11px;top:-5px;right:-5px}.lucky-numbers__save-btn{font-size:.8rem;padding:.4rem .8rem}}@container (max-width: 500px){.lucky-numbers__ball,.lotto-ball{width:clamp(36px,7vw,44px);height:clamp(36px,7vw,44px);font-size:clamp(.8rem,2.3vw,1rem)}.lucky-numbers__balls,.lucky-balls{gap:clamp(.3rem,1.5vw,.6rem)}}@container (max-width: 400px){.lucky-numbers__ball,.lotto-ball{width:clamp(34px,8vw,42px);height:clamp(34px,8vw,42px);font-size:clamp(.75rem,2.5vw,.95rem)}.lucky-numbers__balls,.lucky-balls{gap:clamp(.25rem,1.2vw,.5rem)}}@container (max-width: 300px){.lucky-numbers__ball,.lotto-ball{width:clamp(32px,9vw,38px);height:clamp(32px,9vw,38px);font-size:clamp(.7rem,2.8vw,.85rem)}.lucky-numbers__balls,.lucky-balls{gap:clamp(.2rem,1vw,.4rem)}}@media (prefers-reduced-motion: reduce){.lucky-numbers__ball{animation:none;transition:none}.lucky-numbers__ball--selected,.lucky-numbers{animation:none}}@media (prefers-contrast: high){.lucky-numbers__ball{border-width:3px;font-weight:800;text-shadow:none}}.lucky-balls{@extend .lucky-numbers__balls;}.lotto-ball{@extend .lucky-numbers__ball;}.lotto-ball.range-1{@extend .lucky-numbers__ball--range-1;}.lotto-ball.range-2{@extend .lucky-numbers__ball--range-2;}.lotto-ball.range-3{@extend .lucky-numbers__ball--range-3;}.lotto-ball.range-4{@extend .lucky-numbers__ball--range-4;}.lotto-ball.range-5{@extend .lucky-numbers__ball--range-5;}.lucky-balls,.lucky-numbers .lucky-balls{display:flex;justify-content:center;align-items:center;gap:clamp(.5rem,2vw,1rem);flex:1;flex-wrap:wrap;flex-direction:row;width:auto}.lotto-ball{width:clamp(40px,6vw,55px);height:clamp(40px,6vw,55px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(.9rem,2.2vw,1.2rem);color:#fff;background:var(--primary-gradient, linear-gradient(135deg, #667eea 0%, #764ba2 100%));box-shadow:0 4px 15px #667eea66;text-shadow:1px 1px 2px rgba(0,0,0,.3);position:relative;overflow:hidden;animation:bounceIn var(--animation-duration-slow, .6s) ease-out forwards;opacity:0;transform:scale(0);transition:var(--transition-normal, all .3s ease);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;cursor:default}.number-ball{width:clamp(40px,6vw,55px);height:clamp(40px,6vw,55px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(.9rem,2.2vw,1.2rem);color:#fff;background:var(--primary-gradient, linear-gradient(135deg, #667eea 0%, #764ba2 100%));box-shadow:0 4px 15px #667eea66;text-shadow:1px 1px 2px rgba(0,0,0,.3);position:relative;overflow:hidden;animation:bounceIn var(--animation-duration-slow, .6s) ease-out forwards;opacity:0;transform:scale(0);transition:var(--transition-normal, all .3s ease);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;cursor:default;margin:2px}.number-ball.range-1{background:linear-gradient(var(--ball-gradient-direction),#e8d8ff,#9333ea);background-image:radial-gradient(var(--ball-radial-position),rgba(232,216,255,.9),var(--ball-radial-transparency)),linear-gradient(var(--ball-gradient-direction),#e8d8ff,#9333ea);border:var(--ball-border-width) var(--ball-border-style) rgba(147,51,234,var(--ball-border-opacity));color:#fff;text-shadow:var(--ball-text-shadow);box-shadow:var(--ball-shadow-offset) rgba(147,51,234,var(--ball-shadow-opacity))}.number-ball.range-2{background:linear-gradient(var(--ball-gradient-direction),#ffd93d,#ffb700);background-image:radial-gradient(var(--ball-radial-position),#fff3a1,var(--ball-radial-transparency)),linear-gradient(var(--ball-gradient-direction),#ffd93d,#ffb700);border:var(--ball-border-width) var(--ball-border-style) rgba(255,217,61,var(--ball-border-opacity));box-shadow:var(--ball-shadow-offset) rgba(255,217,61,var(--ball-shadow-opacity))}.number-ball.range-3{background:linear-gradient(var(--ball-gradient-direction),#4a90e2,#357abd);background-image:radial-gradient(var(--ball-radial-position),#74c0fc,var(--ball-radial-transparency)),linear-gradient(var(--ball-gradient-direction),#4a90e2,#357abd);border:var(--ball-border-width) var(--ball-border-style) rgba(74,144,226,var(--ball-border-opacity));box-shadow:var(--ball-shadow-offset) rgba(74,144,226,var(--ball-shadow-opacity))}.number-ball.range-4{background:linear-gradient(var(--ball-gradient-direction),#ffc1cc,#e91e63);background-image:radial-gradient(var(--ball-radial-position),#ffa8a8,var(--ball-radial-transparency)),linear-gradient(var(--ball-gradient-direction),#ffc1cc,#e91e63);border:var(--ball-border-width) var(--ball-border-style) rgba(233,30,99,var(--ball-border-opacity));box-shadow:var(--ball-shadow-offset) rgba(233,30,99,var(--ball-shadow-opacity))}.number-ball.range-5{background:linear-gradient(var(--ball-gradient-direction),#c8f7dc,#059669);background-image:radial-gradient(var(--ball-radial-position),rgba(200,247,220,.9),var(--ball-radial-transparency)),linear-gradient(var(--ball-gradient-direction),#c8f7dc,#059669);border:var(--ball-border-width) var(--ball-border-style) rgba(5,150,105,var(--ball-border-opacity));color:#fff;text-shadow:var(--ball-text-shadow);box-shadow:var(--ball-shadow-offset) rgba(5,150,105,var(--ball-shadow-opacity))}.ad-container{text-align:center;margin:25px 0;padding:15px;background:linear-gradient(145deg,#f8f9fa,#e9ecef);border-radius:12px;border:1px solid #dee2e6;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;position:relative;overflow:hidden}.ad-container:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.ad-label{font-size:10px;color:#6c757d;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;opacity:.8}.ad-content{min-height:90px;display:flex;align-items:center;justify-content:center;position:relative}.ad-loading{display:flex;flex-direction:column;align-items:center;gap:8px;color:#6c757d}.loading-spinner{width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.loading-text{font-size:12px;opacity:.7}.ad-result{margin-top:30px;background:linear-gradient(145deg,#fff,#f8f9fa);border:1px solid #e3e6ea}.ad-result:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:12px 12px 0 0}.ad-banner-responsive{width:100%;height:100px;background:linear-gradient(45deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;border-radius:8px;max-width:400px;min-width:280px;margin:0 auto;padding:10px;box-sizing:border-box;text-align:center}@media (max-width: 768px){.ad-container{margin:20px 0;padding:12px;border-radius:10px}.ad-content{min-height:80px}.ad-banner-responsive{height:90px;font-size:13px;min-width:260px;max-width:350px}.ad-result{margin-top:25px}}@media (max-width: 480px){.ad-container{margin:15px 0;padding:10px}.ad-content{min-height:70px}.ad-banner-responsive{height:80px;font-size:12px;min-width:240px;max-width:300px}}@media (min-width: 769px){.ad-container{max-width:728px;margin:30px auto}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.ad-container,.loading-spinner{animation:none;transition:none}.ad-container:hover{transform:none}}
