*,:after,:before{box-sizing:border-box}:root{--font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,"Noto Sans KR",sans-serif;--font-size-title:24px;--font-size-subtitle:18px;--font-size-body:15px;--font-size-small:13px;--font-size-caption:12px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-body:1.6;--line-height-loose:1.8;--color-text-primary:#1d1d1f;--color-text-secondary:#666;--color-text-tertiary:#767676;--color-text-disabled:#9ca3af;--color-bg-primary:#fff;--color-bg-secondary:#f5f5f7;--color-bg-tertiary:#fbfbfd;--color-surface:#fafafa;--color-accent:#3b82f6;--color-accent-hover:#2563eb;--color-accent-active:#1d4ed8;--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-background:#fff;--color-success:#34c759;--color-warning:#ff9500;--color-error:#ff3b30;--color-border:#e2e8f0;--color-border-light:#e5e5e5;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--nav-height:52px;--button-height-sm:36px;--button-height-md:44px;--button-height-lg:52px;--button-padding-sm:8px 16px;--button-padding-md:12px 24px;--button-padding-lg:16px 32px;--border-radius-sm:6px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-xl:16px;--border-radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--transition-fast:0.15s ease;--transition-default:0.3s cubic-bezier(0.25,0.1,0.25,1);--transition-slow:0.4s cubic-bezier(0.25,0.1,0.25,1);--z-dropdown:100;--z-sticky:500;--z-fixed:1000;--z-modal:1500;--z-tooltip:2000}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--color-bg-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Arial,Noto Sans KR,sans-serif;font-family:var(--font-family);font-size:15px;font-size:var(--font-size-body);font-weight:400;font-weight:var(--font-weight-regular);letter-spacing:-.022em;line-height:1.6;line-height:var(--line-height-body);margin:0}body,h1,h2,h3,h4,h5,h6{color:#1d1d1f;color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:-.03em;line-height:1.2;line-height:var(--line-height-tight);margin:0 0 16px;margin:0 0 var(--spacing-md) 0}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}p{color:#666;color:var(--color-text-secondary);line-height:1.6;line-height:var(--line-height-body);margin:0 0 16px;margin:0 0 var(--spacing-md) 0}a{color:#3b82f6;color:var(--color-accent);text-decoration:none;transition:opacity .15s ease;transition:opacity var(--transition-fast)}a:hover{opacity:.7}::selection{background-color:#3b82f626;color:#1d1d1f;color:var(--color-text-primary)}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#c1c1c6}::-webkit-scrollbar-thumb:hover{background:#a1a1a6}:focus{outline:none}:focus-visible{border-radius:4px;outline:2px solid #3b82f6;outline:2px solid var(--color-accent);outline-offset:2px}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}img{display:block;height:auto;max-width:100%}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (max-width:1068px){h1{font-size:2.75rem}h2{font-size:2rem}}@media (max-width:768px){h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.language-selector{position:relative}.lang-trigger{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;border-radius:8px;cursor:pointer;display:flex;gap:4px;padding:6px 8px;touch-action:manipulation;transition:background .2s ease}.lang-trigger:hover{background:#f5f5f7}.lang-trigger:active{background:#e8e8ed}.lang-flag{font-size:1.1rem;line-height:1}.lang-code{color:#1d1d1f;font-size:.85rem;font-weight:600;letter-spacing:.02em}.lang-code-option{background:#e8f4fd;border-radius:4px;color:#0071e3;font-size:.8rem;font-weight:600;min-width:28px;padding:2px 6px;text-align:center}.lang-trigger.changing{opacity:.6;pointer-events:none}.lang-trigger.changing .lang-code{animation:pulse .5s ease-in-out infinite}.lang-arrow{color:#86868b;transition:transform .2s ease}.lang-arrow.open{transform:rotate(180deg)}.lang-dropdown{animation:dropdownFadeIn .2s ease;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background:#fffffffa;border-radius:12px;box-shadow:0 4px 20px #0000001f,0 0 0 1px #0000000d;margin-top:8px;min-width:140px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1010}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.lang-option{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;cursor:pointer;display:flex;gap:10px;padding:12px 14px;text-align:left;touch-action:manipulation;transition:background .15s ease;width:100%}.lang-option:hover{background:#f5f5f7}.lang-option:active{background:#e8e8ed}.lang-option.active{background:#e8f4fd}.lang-option .lang-flag{font-size:1rem}.lang-option .lang-code-option{flex-shrink:0}.lang-name{color:#1d1d1f;flex:1 1;font-size:.9rem}.lang-check{color:#0071e3;font-weight:600}@media (max-width:768px){.lang-dropdown{right:-.5rem}}.app-header{backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background-color:#fbfbfdcc;border-bottom:1px solid #0000000d;left:0;position:fixed;right:0;top:0;transition:all .3s ease;z-index:1000}.app-header.scrolled{background-color:#fbfbfdf2;box-shadow:0 1px 3px #00000014}.app-header.dropdown-open{background-color:#fbfbfd}.nav-container{align-items:center;display:flex;height:44px;justify-content:space-between;margin:0 auto;max-width:980px;padding:0 22px}.logo{-webkit-tap-highlight-color:transparent;color:#1d1d1f;flex-shrink:0;font-size:1.25rem;font-weight:600;letter-spacing:-.02em;margin-right:auto;position:relative;text-decoration:none;touch-action:manipulation;transition:opacity .3s ease;z-index:1005}.logo:hover{opacity:.7}.logo:active{opacity:.5}.main-nav{display:flex;flex:1 1;justify-content:center}.nav-menu{display:flex;gap:0;list-style:none;margin:0;padding:0}.nav-item{position:relative}.nav-link{align-items:center;background:none;border:none;color:#1d1d1f;cursor:pointer;display:flex;font-size:12px;font-weight:400;height:44px;line-height:44px;padding:0 12px;text-decoration:none;transition:opacity .3s ease;white-space:nowrap}.nav-link:hover{opacity:.65}.nav-link.active{font-weight:500}.nav-actions{align-items:center;display:flex;gap:16px;position:relative;z-index:1005}.flyout-container{backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background:#fbfbfdfa;border-bottom:1px solid #0000001a;left:0;max-height:0;opacity:0;overflow:hidden;position:absolute;right:0;top:44px;transition:max-height .4s ease,opacity .3s ease}.flyout-container.visible{max-height:200px;opacity:1}.flyout-panel{display:none;padding:8px 0}.flyout-panel.active{animation:fadeIn .2s ease;display:block}.flyout-content{margin:0 auto;max-width:980px;padding:0 22px}.flyout-section{align-items:center;display:flex;flex-direction:row;gap:16px}.flyout-section-title{display:none}.flyout-links{display:flex;gap:8px}.flyout-link{align-items:center;border-radius:8px;display:flex;gap:10px;padding:10px 16px;text-decoration:none;transition:background .2s ease}.flyout-link:hover{background:#0000000a}.flyout-link-icon{align-items:center;color:#3b82f6;display:inline-flex;flex-shrink:0;justify-content:center}.flyout-link-text{display:flex;flex-direction:column;gap:1px}.flyout-link-title{color:#1d1d1f;font-size:13px;font-weight:500}.flyout-link-desc{color:#86868b;font-size:11px}.mobile-submenu{display:none}.flyout-backdrop{background:#0000004d;bottom:0;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;z-index:999}.flyout-backdrop.visible{opacity:1;pointer-events:auto;visibility:visible}.user-menu-dropdown{position:relative}.user-menu-trigger{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;border-radius:980px;cursor:pointer;display:flex;gap:8px;padding:4px 10px;touch-action:manipulation;transition:all .2s ease}.user-menu-trigger:hover{background:#0000000a}.user-menu-trigger:active{background:#00000014}.user-avatar-small{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:600;height:28px;justify-content:center;width:28px}.user-name{color:#1d1d1f;font-size:12px;font-weight:500}.dropdown-arrow{transition:transform .3s ease}.dropdown-arrow.open{transform:rotate(180deg)}.user-dropdown-menu{opacity:0;padding-top:8px;pointer-events:none;position:absolute;right:0;top:100%;transform:translateY(10px);transition:all .3s ease;visibility:hidden;z-index:1001}@media (min-width:834px){.user-menu-dropdown:hover .user-dropdown-menu{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}}.user-menu-dropdown.open .user-dropdown-menu{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}.user-dropdown-content{backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background:#fffffffa;border-radius:14px;box-shadow:0 4px 24px #0000001f,0 0 0 1px #0000000d;min-width:280px;padding:8px}.user-dropdown-item{align-items:center;background:#0000;border:none;border-radius:8px;color:#1d1d1f;cursor:pointer;display:flex;font-size:14px;gap:12px;padding:10px 12px;text-decoration:none;transition:background-color .2s ease;width:100%}.user-dropdown-item:hover{background-color:#0000000a}.user-dropdown-item.logout{color:#ff3b30}.user-dropdown-item.logout:hover{background-color:#ff3b301a}.user-dropdown-item .dropdown-icon{font-size:16px;text-align:center;width:24px}.admin-user-info{padding:8px 12px}.user-info-header{gap:12px}.user-avatar,.user-info-header{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;color:#fff;flex-shrink:0;font-size:18px;font-weight:600;height:44px;justify-content:center;width:44px}.user-details{display:flex;flex-direction:column;gap:2px;min-width:0}.user-name-display{color:#1d1d1f;font-size:14px;font-weight:600}.user-email-display,.user-name-display{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email-display{color:#86868b;font-size:12px}.user-tier-badge{background:#3b82f61a;border-radius:980px;color:#3b82f6;display:inline-block;font-size:11px;font-weight:500;margin-top:2px;padding:2px 8px;width:-webkit-fit-content;width:fit-content}.dropdown-divider{background:#00000014;height:1px;margin:8px 0}.tier-simulation-section{padding:8px 12px}.tier-simulation-label{color:#86868b;display:block;font-size:11px;font-weight:600;letter-spacing:.02em;margin-bottom:8px;text-transform:uppercase}.tier-buttons{display:flex;flex-direction:column;gap:4px}.tier-btn{background:#0000;border:1px solid #00000014;border-radius:8px;color:#1d1d1f;cursor:pointer;font-size:13px;font-weight:400;padding:8px 12px;text-align:left;transition:all .2s ease;width:100%}.tier-btn:hover{background:#0000000a;border-color:#0000001f}.tier-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:500}.viewing-as-indicator{animation:pulse 2s infinite;font-size:12px;margin-left:4px}.viewing-as-notice{background:#fff3cd;border-radius:8px;color:#856404;font-size:12px;margin-top:12px;padding:8px 12px;text-align:center}.viewing-as-notice strong{font-weight:600}.login-btn{-webkit-tap-highlight-color:transparent;background-color:#3b82f6;border-radius:980px;color:#fff;display:inline-block;font-size:12px;font-weight:500;padding:8px 16px;position:relative;text-decoration:none;touch-action:manipulation;transition:all .3s ease;z-index:1005}.login-btn:hover{background-color:#2563eb}.login-btn:active{background-color:#1d4ed8;transform:scale(.98)}.mobile-menu-btn,.mobile-nav-panel,.mobile-overlay{display:none}@media (max-width:833px){.app-header{z-index:9999}.nav-container{padding:0 16px}.main-nav{display:none!important}.mobile-overlay{-webkit-tap-highlight-color:transparent;animation:mobileOverlayFadeIn .2s ease;background:#0006;bottom:0;display:block;left:0;position:fixed;right:0;top:44px;z-index:10000}@keyframes mobileOverlayFadeIn{0%{opacity:0}to{opacity:1}}.mobile-menu-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;cursor:pointer;display:flex!important;flex-direction:column;gap:5px;height:44px;justify-content:center;padding:10px;touch-action:manipulation;width:44px}.mobile-menu-btn span{background-color:#1d1d1f;border-radius:1px;display:block;height:2px;transition:all .3s ease;width:20px}.mobile-menu-btn.active span:first-child{transform:rotate(45deg) translate(5px,5px)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:last-child{transform:rotate(-45deg) translate(5px,-5px)}.mobile-nav-panel{-webkit-overflow-scrolling:touch;background:#fff;box-shadow:-4px 0 20px #0000001a;display:block;height:calc(100vh - 44px);height:calc(100dvh - 44px);max-width:80%;overflow-y:auto;pointer-events:none;position:fixed;right:0;top:44px;transform:translateX(100%);transition:transform .3s ease;width:280px;z-index:10001}.mobile-nav-panel.open{pointer-events:auto;transform:translateX(0)}.mobile-nav-panel .nav-menu{display:flex;flex-direction:column;list-style:none;margin:0;padding:8px 0}.mobile-nav-panel .nav-item{border-bottom:none}.mobile-nav-panel .nav-link{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;color:#1d1d1f;cursor:pointer;display:flex;font-size:17px;font-weight:400;height:auto;justify-content:flex-start;line-height:1.3;padding:14px 24px;text-decoration:none;touch-action:manipulation;width:100%}.mobile-nav-panel .nav-link:active,.mobile-nav-panel .nav-link:hover{background:#0000000a;opacity:1}.mobile-nav-panel .nav-link.active{color:#3b82f6;font-weight:500}.mobile-nav-panel .nav-item.has-flyout .nav-link:after{border-bottom:2px solid #86868b;border-right:2px solid #86868b;content:"";height:8px;margin-left:auto;transform:rotate(45deg);transition:transform .3s ease;width:8px}.mobile-nav-panel .nav-item.has-flyout.flyout-open .nav-link:after{transform:rotate(-135deg)}.mobile-nav-panel .mobile-submenu{background:#f5f5f7;border-left:3px solid #3b82f6;display:none;margin-left:16px;max-height:0;overflow:hidden;transition:max-height .3s ease}.mobile-nav-panel .nav-item.has-flyout.flyout-open .mobile-submenu{display:block;max-height:200px}.mobile-nav-panel .mobile-submenu-link{-webkit-tap-highlight-color:transparent;border-bottom:1px solid #00000014;color:#1d1d1f;display:block;font-size:15px;font-weight:400;padding:12px 24px 12px 20px;text-decoration:none;touch-action:manipulation}.mobile-nav-panel .mobile-submenu-link:last-child{border-bottom:none}.mobile-nav-panel .mobile-submenu-link:active{background:#0000000a}.logo{font-size:18px}.nav-actions{gap:4px}.user-name{display:none}.login-btn{font-size:13px;padding:8px 14px}.user-avatar-small{height:30px;width:30px}.user-menu-trigger{padding:4px 8px}.user-menu-trigger .dropdown-arrow{display:none}.user-dropdown-menu{left:8px;max-width:none;padding-top:8px;position:fixed;right:8px;top:44px;width:auto}.user-dropdown-content{border-radius:12px;max-height:calc(100vh - 60px);max-height:calc(100dvh - 60px);overflow-y:auto}.tier-buttons{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr}.tier-btn{font-size:12px;padding:8px 10px}.language-selector{margin-right:0}}.notification-dropdown{position:relative}.notification-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:flex;height:36px;justify-content:center;position:relative;touch-action:manipulation;transition:all .2s ease;width:36px}.notification-btn:hover{background:#0000000a}.notification-btn:active{background:#00000014}.notification-icon{color:#1d1d1f;transition:color .2s ease}.notification-btn.has-unread .notification-icon{color:#3b82f6}.notification-badge{align-items:center;background:#ff3b30;border-radius:8px;color:#fff;display:flex;font-size:10px;font-weight:600;height:16px;justify-content:center;min-width:16px;padding:0 4px;position:absolute;right:4px;top:4px}.notification-panel{backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background:#fffffffa;border-radius:14px;box-shadow:0 4px 24px #0000001f,0 0 0 1px #0000000d;display:flex;flex-direction:column;max-height:480px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:360px;z-index:1002}.notification-header{align-items:center;border-bottom:1px solid #00000014;display:flex;justify-content:space-between;padding:16px 20px}.notification-header h3{color:#1d1d1f;font-size:14px;font-weight:600;margin:0}.mark-all-read{background:none;border:none;border-radius:6px;color:#3b82f6;cursor:pointer;font-size:12px;font-weight:500;padding:4px 8px;transition:background .2s ease}.mark-all-read:hover{background:#3b82f61a}.notification-list{flex:1 1;max-height:360px;overflow-y:auto}.notification-empty{align-items:center;color:#86868b;display:flex;flex-direction:column;justify-content:center;padding:48px 24px}.notification-empty .empty-icon{font-size:40px;margin-bottom:12px;opacity:.5}.notification-empty p{font-size:14px;margin:0}.notification-item{align-items:flex-start;border-bottom:1px solid #0000000a;cursor:pointer;display:flex;gap:12px;padding:14px 20px;position:relative;transition:background .2s ease}.notification-item:hover{background:#0000000a}.notification-item.unread{background:#3b82f60d}.notification-item.unread:hover{background:#3b82f61a}.notification-type-icon{align-items:center;background:#0000000a;border-radius:8px;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;width:32px}.notification-item.unread .notification-type-icon{background:#3b82f6;color:#fff}.notification-content{flex:1 1;min-width:0}.notification-title{color:#1d1d1f;font-size:13px;font-weight:500;margin:0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-message{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6e6e73;display:-webkit-box;font-size:12px;margin:0 0 4px;overflow:hidden}.notification-time{color:#86868b;font-size:11px}.notification-delete{align-items:center;background:#0000;border:none;border-radius:50%;color:#86868b;cursor:pointer;display:flex;font-size:16px;height:20px;justify-content:center;opacity:0;position:absolute;right:12px;top:8px;transition:all .2s ease;width:20px}.notification-item:hover .notification-delete{opacity:1}.notification-delete:hover{background:#0000001a;color:#ff3b30}.notification-footer{border-top:1px solid #00000014;padding:12px 20px;text-align:center}.notification-footer a{color:#3b82f6;font-size:13px;font-weight:500;text-decoration:none}.notification-footer a:hover{text-decoration:underline}@media (max-width:833px){.notification-panel{border-radius:0;border-bottom-left-radius:14px;border-bottom-right-radius:14px;left:0;max-height:calc(100vh - 44px);position:fixed;right:0;top:44px;width:100%}.notification-btn{height:32px;width:32px}.notification-badge{font-size:9px;height:14px;min-width:14px}.language-selector{margin-right:4px}}.background-analysis-indicator{animation:slideIn .3s ease-out;background:linear-gradient(135deg,#1e40af,#3b82f6);border-radius:var(--border-radius-lg);bottom:20px;box-shadow:0 4px 20px #3b82f666;color:#fff;padding:var(--spacing-md) var(--spacing-lg);position:fixed;right:20px;z-index:1000}@keyframes slideIn{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.indicator-content{align-items:center;display:flex;gap:var(--spacing-md)}.indicator-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}.indicator-info{display:flex;flex-direction:column;gap:2px;max-width:200px}.indicator-text{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.indicator-filename{font-size:11px;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.indicator-actions{align-items:center;display:flex;gap:var(--spacing-sm);margin-left:var(--spacing-sm)}.indicator-link{background:#fff3;border-radius:var(--border-radius-sm);color:#fff;font-size:12px;font-weight:var(--font-weight-medium);padding:4px 10px;text-decoration:none;transition:background .2s}.indicator-link:hover{background:#ffffff4d}.indicator-cancel{align-items:center;background:#0000;border:1px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.indicator-cancel:hover{background:#fff3;border-color:#ffffff80}@media (max-width:480px){.background-analysis-indicator{bottom:70px;left:10px;padding:var(--spacing-sm) var(--spacing-md);right:10px}.indicator-info{flex:1 1;max-width:none}}.landing-container{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0 auto;max-width:1200px;padding:2rem;position:relative;z-index:1}.hero-section{margin-bottom:2rem;padding:4rem 1rem;text-align:center}.hero-section h1{font-size:4rem;font-weight:600;margin-bottom:.5rem}.hero-section .subtitle{color:#666;font-size:1.5rem;font-weight:300}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));text-align:center}.feature-card{background-color:#f9f9f9;border:1px solid #eee;border-radius:12px;padding:2rem;transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{box-shadow:0 4px 20px #0000000d;transform:translateY(-5px)}.feature-card h2{font-size:1.75rem;font-weight:500;margin-bottom:1rem}.feature-card p{color:#555;font-size:1rem;line-height:1.6}.about-container{margin:0 auto;max-width:1200px;padding:0 2rem}.about-hero{background:linear-gradient(135deg,#f5f5f7,#fff);margin:-2rem -2rem 0;padding:6rem calc(2rem + 50vw - 600px);text-align:center}.about-hero h1{color:#1d1d1f;font-size:3.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1rem}.hero-subtitle{color:#666;font-size:1.5rem;line-height:1.6;margin:0 auto;max-width:600px}.about-section{border-bottom:1px solid #e5e5e5;padding:5rem 0}.about-section:last-child{border-bottom:none}.about-section h2{color:#1d1d1f;font-size:2rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.section-content{margin:0 auto;max-width:800px;text-align:center}.section-content p{color:#555;font-size:1.125rem;line-height:1.8}.values-section{background-color:#f9f9f9;margin:0 -2rem;padding-left:2rem;padding-right:2rem}.values-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-left:auto;margin-right:auto;margin-top:3rem;max-width:1000px}.value-card{background-color:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;padding:2.5rem 2rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.value-card:hover{box-shadow:0 8px 30px #0000001a;transform:translateY(-4px)}.value-icon{font-size:3rem;margin-bottom:1rem}.value-card h3{color:#1d1d1f;font-size:1.25rem;font-weight:600;margin-bottom:.75rem}.value-card p{color:#666;font-size:1rem;line-height:1.6}.ventures-intro{color:#666;font-size:1.125rem;line-height:1.7;margin:0 auto 3rem;max-width:700px;text-align:center}.ventures-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.venture-card{background-color:#fff;border:1px solid #e5e5e5;border-radius:16px;padding:2rem;position:relative;transition:all .3s ease}.venture-card:hover{border-color:#1d1d1f;box-shadow:0 4px 20px #00000014}.venture-card.coming-soon{opacity:.7}.venture-badge{background-color:#1d1d1f;border-radius:4px;color:#fff;display:inline-block;font-size:.75rem;font-weight:500;margin-bottom:1rem;padding:.25rem .75rem}.venture-card.coming-soon .venture-badge{background-color:#666}.venture-card h3{color:#1d1d1f;font-size:1.5rem;font-weight:600;margin-bottom:.75rem}.venture-card p{color:#666;font-size:1rem;line-height:1.6}.contact-section{text-align:center}.contact-section p{color:#666;font-size:1.125rem;margin-bottom:2rem}.contact-info{display:flex;gap:3rem;justify-content:center}.contact-item{display:flex;flex-direction:column;gap:.5rem}.contact-label{color:#999;font-size:.875rem;letter-spacing:.5px;text-transform:uppercase}.contact-value{color:#1d1d1f;font-size:1.125rem;font-weight:500}@media (max-width:768px){.about-hero{margin:-1rem -1rem 0;padding:4rem 1rem}.about-hero h1{font-size:2.5rem}.hero-subtitle{font-size:1.125rem}.about-container{padding:0 1rem}.about-section{padding:3rem 0}.about-section h2{font-size:1.5rem}.values-section{margin:0 -1rem;padding-left:1rem;padding-right:1rem}.values-grid,.ventures-grid{grid-template-columns:1fr}.contact-info{flex-direction:column;gap:1.5rem}}.auth-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 120px);padding:2rem}.auth-card{background-color:#fff;border:1px solid #e5e5e5;border-radius:16px;box-shadow:0 4px 20px #00000014;max-width:400px;padding:3rem;width:100%}.auth-card h1{font-size:2rem;font-weight:600;margin-bottom:.5rem;text-align:center}.auth-subtitle{color:#666;margin-bottom:2rem;text-align:center}.auth-error{background-color:#fee2e2;border-radius:8px;color:#dc2626;font-size:.9rem;margin-bottom:1.5rem;padding:.75rem 1rem;text-align:center}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{gap:.5rem}.form-group label{color:#333;font-size:.9rem}.form-group input{border:1px solid #e5e5e5;border-radius:8px;font-family:inherit;font-size:1rem;padding:.875rem 1rem;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus{border-color:#333;box-shadow:0 0 0 3px #0000000d;outline:none}.form-group input::placeholder{color:#aaa}.auth-button{-webkit-tap-highlight-color:transparent;background-color:#1d1d1f;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-top:.5rem;padding:.875rem 1.5rem;touch-action:manipulation;transition:background-color .2s ease,transform .1s ease}.auth-button:hover:not(:disabled){background-color:#333}.auth-button:active:not(:disabled){transform:scale(.98)}.auth-button:disabled{background-color:#999;cursor:not-allowed}.auth-switch{color:#666;font-size:.9rem;margin-top:1.5rem;text-align:center}.auth-switch a{color:#1d1d1f;font-weight:500;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-switch a{-webkit-tap-highlight-color:transparent}.social-login-section{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.social-btn{-webkit-tap-highlight-color:transparent;align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.75rem;justify-content:center;padding:.875rem 1rem;touch-action:manipulation;transition:all .2s ease;width:100%}.social-btn:disabled{cursor:not-allowed;opacity:.7}.social-icon{height:20px;width:20px}.kakao-btn{background-color:#fee500;border-color:#fee500;color:#000}.kakao-btn:hover:not(:disabled){background-color:#f5dc00}.kakao-btn .social-icon{color:#000}.google-btn{background-color:#fff;border-color:#e5e5e5;color:#333}.google-btn:hover:not(:disabled){background-color:#f5f5f5;border-color:#d0d0d0}.auth-divider{align-items:center;display:flex;margin:1.5rem 0}.auth-divider:after,.auth-divider:before{background-color:#e5e5e5;content:"";flex:1 1;height:1px}.auth-divider span{color:#999;font-size:.85rem;padding:0 1rem}.pending-notice{text-align:center}.pending-icon{font-size:4rem}.pending-icon,.pending-notice h1{margin-bottom:1rem}.pending-notice p{color:#666;line-height:1.6}.external-browser-prompt{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:12px;display:flex;gap:12px;margin-bottom:1.5rem;padding:16px}.prompt-icon{flex-shrink:0;font-size:28px}.prompt-content{flex:1 1}.prompt-content strong{color:#1d4ed8;display:block;font-size:15px;margin-bottom:8px}.prompt-content p{color:#1d4ed8;font-size:13px;line-height:1.5;margin:0 0 12px}.prompt-actions{display:flex;gap:8px}.open-browser-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 16px;transition:background .2s}.open-browser-btn:hover{background:#2563eb}.copy-url-btn{background:#fff;border:1px solid #3b82f6;border-radius:8px;color:#3b82f6;cursor:pointer;font-size:14px;font-weight:500;padding:12px 16px;transition:all .2s}.copy-url-btn:hover{background:#eff6ff}.login-tabs{border:1px solid #e5e5e5;border-radius:8px;display:flex;gap:0;margin-bottom:1.5rem;overflow:hidden}.login-tab{-webkit-tap-highlight-color:transparent;background:#f5f5f5;border:none;color:#666;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:500;padding:.875rem 1rem;transition:all .2s ease}.login-tab:first-child{border-right:1px solid #e5e5e5}.login-tab:hover:not(.active){background:#eee}.login-tab.active{background:#1d1d1f;color:#fff}.admin-login-hint{color:#999;font-size:.8rem;margin-top:1rem;text-align:center}.profile-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0 auto;max-width:900px;padding:2rem}.profile-header{margin-bottom:3rem;text-align:center}.profile-header h1{font-size:2.5rem;font-weight:600}.profile-header p{color:#666}.profile-card{background-color:#f9f9f9;border:1px solid #eee;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:2rem;padding:2rem}.profile-card h2{font-size:1.8rem;margin-top:0}.profile-detail{color:#333;margin:.5rem 0}.tier-badge{background-color:#eff6ff;border-radius:12px;color:#1d4ed8;display:inline-block;font-size:.9rem;font-weight:500;padding:.25rem .75rem}.profile-section{margin-top:3rem}.profile-section h2{border-bottom:1px solid #eee;font-size:1.8rem;margin-bottom:1rem;padding-bottom:.5rem}.creations-placeholder,.settings-placeholder{background-color:#f9f9f9;border:1px solid #eee;border-radius:8px;color:#777;padding:2rem;text-align:center}.notification-settings{background-color:#fff;border:1px solid #eee;border-radius:12px;padding:1.5rem}.setting-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:1rem 0}.setting-item:last-child{border-bottom:none}.setting-info{display:flex;flex-direction:column;gap:.25rem}.setting-label{color:#1d1d1f;font-size:.95rem;font-weight:500}.setting-description{color:#86868b;font-size:.8rem}.setting-subtitle{color:#86868b;font-size:.85rem;font-weight:600;letter-spacing:.02em;margin:.5rem 0 0;text-transform:uppercase}.setting-divider{background:#e5e5e7;height:1px;margin:1rem 0}.toggle-switch{display:inline-block;height:28px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{-webkit-tap-highlight-color:transparent;background-color:#e5e5e7;border-radius:28px;bottom:0;cursor:pointer;left:0;right:0;top:0}.toggle-slider,.toggle-slider:before{position:absolute;transition:all .3s ease}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;box-shadow:0 2px 4px #00000026;content:"";height:22px;left:3px;width:22px}.toggle-switch input:checked+.toggle-slider{background-color:#34c759}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(22px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 2px #34c75933}.clear-notifications-btn{-webkit-tap-highlight-color:transparent;background:#ff3b30;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;margin-top:.5rem;padding:.875rem;touch-action:manipulation;transition:all .2s ease;width:100%}.clear-notifications-btn:hover{background:#e63329;transform:scale(1.01)}@media (max-width:768px){.notification-settings{padding:1rem}.setting-item{padding:.875rem 0}.toggle-switch{height:26px;width:44px}.toggle-slider:before{height:20px;width:20px}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(18px)}}.storyboard-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0 auto;max-width:1200px;padding:2rem}.storyboard-header{margin-bottom:3rem;text-align:center}.storyboard-header h1{font-size:2.5rem;font-weight:600}.storyboard-header p{color:#666}.pipeline{margin-bottom:3rem}.pipeline-step{align-items:flex-start;border-bottom:1px solid #eee;display:flex;margin-bottom:2.5rem;padding-bottom:2.5rem}.pipeline-step:last-child{border-bottom:none;padding-bottom:0}.step-number{color:#ddd;font-size:2rem;line-height:1;margin-right:2rem}.step-content{flex-grow:1}.step-content h2{font-size:1.8rem;font-weight:500;margin-top:0}.step-content p{color:#555;margin-bottom:1rem}.step-content textarea{border:1px solid #ccc;border-radius:8px;font-family:inherit;font-size:1rem;padding:.75rem;resize:vertical;width:100%}.placeholder-box{background-color:#f9f9f9;border:1px dashed #ccc;border-radius:8px;color:#777;margin:1rem 0;padding:2rem;text-align:center}button{background-color:#007aff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .3s ease}button:hover{background-color:#0056b3}button:disabled{background-color:#ccc;cursor:not-allowed}.options-panel{background-color:#f9f9f9;border:1px solid #eee;border-radius:12px;padding:2rem}.options-panel h3{border-bottom:1px solid #ddd;margin-top:0;padding-bottom:.5rem}.option{margin-top:1rem}.option label{display:block;font-weight:500;margin-bottom:.5rem}.option input[type=checkbox],.option select{border:1px solid #ccc;border-radius:4px;padding:.5rem;width:100%}.option.character-lock{align-items:center;display:flex}.option.character-lock input{margin-right:.5rem;width:auto}.ai-content-tools{margin:0 auto;max-width:1200px;padding:2rem}.ai-content-tools .page-header{margin-bottom:3rem;text-align:center}.ai-content-tools .page-header h1{color:#1d1d1f;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.ai-content-tools .page-header p{color:#86868b;font-size:1.1rem}.tools-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.tool-card{background:#fff;border:1px solid #e5e5e7;border-radius:16px;padding:2rem;position:relative;text-align:center;transition:all .3s ease}.tool-card:hover{border-color:#3b82f6;box-shadow:0 4px 20px #3b82f61a;transform:translateY(-2px)}.tool-card.available{background:linear-gradient(135deg,#fff,#f1f8e9);border-color:#4caf50}.tool-card.available:hover{border-color:#2e7d32;box-shadow:0 4px 20px #4caf5033}.tool-icon{font-size:3rem;margin-bottom:1rem}.tool-card h3{color:#1d1d1f;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.tool-card p{color:#6e6e73;font-size:.9rem;line-height:1.5;margin-bottom:1rem}.tool-status{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;padding:.375rem .75rem}.tool-status.coming-soon{background:#f5f5f7;color:#86868b}.tool-status.available{background:#e8f5e9;color:#2e7d32}@media (max-width:768px){.ai-content-tools{padding:1rem}.ai-content-tools .page-header h1{font-size:1.75rem}.tools-grid{grid-template-columns:1fr}.tool-card{padding:1.5rem}}.ai-video-creator{margin:0 auto;max-width:900px;padding:20px}.tab-navigation{display:flex;gap:8px;margin-bottom:30px;overflow-x:auto;padding-bottom:4px}.tab-nav-btn{align-items:center;background:#fff;border:2px solid #e5e5e5;border-radius:10px;cursor:pointer;display:flex;font-size:.95rem;gap:8px;padding:12px 20px;position:relative;transition:all .2s;white-space:nowrap}.tab-nav-btn:hover:not(.disabled){border-color:#3b82f6}.tab-nav-btn.active{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#0000;color:#fff}.tab-nav-btn.disabled{cursor:not-allowed;opacity:.6}.tab-nav-btn .tab-icon{font-size:1.1rem}.tab-nav-btn .tab-name{font-weight:600}.coming-soon-badge{background:#9ca3af;border-radius:8px;font-size:.6rem;padding:2px 6px;position:absolute;right:-6px;top:-6px}.ai-video-creator .page-header{margin-bottom:30px;text-align:center}.ai-video-creator .page-header h1{color:#1d1d1f;font-size:2rem;font-weight:700;margin-bottom:8px}.ai-video-creator .page-header p{color:#6e6e73;font-size:1rem}.tab-content{animation:fadeIn .3s ease}.input-section{background:#fff;border-radius:16px;box-shadow:0 2px 20px #0000000f;margin-bottom:24px;padding:24px}.section-header{margin-bottom:16px}.section-header h2{font-size:1.1rem;margin-bottom:4px}.section-header p{color:#6e6e73;font-size:.85rem}.input-with-button{display:flex;gap:10px}.input-with-button input{border:2px solid #e5e5e5;border-radius:10px;flex:1 1;font-size:1rem;outline:none;padding:12px 16px;transition:border-color .2s}.input-with-button input:focus{border-color:#3b82f6}.input-with-button input:disabled{background:#f5f5f7}.generate-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:transform .2s,opacity .2s;white-space:nowrap}.generate-btn:hover:not(:disabled){transform:translateY(-2px)}.generate-btn:disabled{cursor:not-allowed;opacity:.6}.example-topics{margin-top:20px}.topic-category{margin-bottom:12px}.category-label{align-items:center;color:#6e6e73;display:flex;font-size:.8rem;font-weight:600;gap:6px;margin-bottom:6px}.category-icon{font-size:.9rem}.topic-chips{display:flex;flex-wrap:wrap;gap:6px}.topic-chip{background:#f5f5f7;border:1px solid #e5e5e5;border-radius:16px;cursor:pointer;font-size:.85rem;padding:6px 14px;transition:all .2s}.topic-chip:hover:not(:disabled){background:#e5e5ea}.topic-chip.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.topic-chip:disabled{cursor:not-allowed;opacity:.5}.options-section{background:#fff;border-radius:16px;box-shadow:0 2px 20px #0000000f;margin-bottom:24px;padding:24px}.option-group:last-child{margin-bottom:0}.option-label{color:#1d1d1f;display:block;font-size:.9rem;font-weight:600;margin-bottom:10px}.style-cards{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.style-card{align-items:center;background:#f5f5f7;border:2px solid #e5e5e5;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:14px 12px;text-align:center;transition:all .2s}.style-card:hover:not(:disabled):not(.active){background:#e8e8ea;border-color:#3b82f6}.style-card.active,.style-card.active:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#0000;color:#fff}.style-card:disabled{cursor:not-allowed;opacity:.5}.style-icon{font-size:1.8rem}.style-label{font-size:.85rem;font-weight:600}.style-desc{font-size:.7rem;opacity:.8}.option-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.duration-buttons,.resolution-buttons{display:flex;flex-direction:column;gap:8px}.duration-btn,.resolution-btn{align-items:flex-start;background:#f5f5f7;border:2px solid #e5e5e5;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;padding:12px 14px;text-align:left;transition:all .2s}.duration-btn:hover:not(:disabled):not(.active),.resolution-btn:hover:not(:disabled):not(.active){background:#e8e8ea;border-color:#3b82f6}.duration-btn.active,.duration-btn.active:hover,.resolution-btn.active,.resolution-btn.active:hover{background:#eff6ff;border-color:#3b82f6}.duration-btn:disabled,.resolution-btn:disabled{cursor:not-allowed;opacity:.5}.duration-value,.resolution-value{color:#1d1d1f;font-size:.9rem;font-weight:600}.duration-desc,.resolution-desc{color:#6e6e73;font-size:.75rem;margin-top:2px}.progress-section{background:#fff;border-radius:16px;box-shadow:0 2px 20px #0000000f;margin-bottom:24px;padding:24px}.progress-section h2{color:#1d1d1f;font-size:1.1rem;margin-bottom:16px}.steps-container{display:flex;flex-direction:column;gap:12px}.step-item{align-items:center;background:#f5f5f7;border-radius:10px;display:flex;gap:12px;opacity:.5;padding:12px;transition:all .3s}.step-item.active{background:#eff6ff;border:2px solid #3b82f6;opacity:1}.step-item.completed{background:#e8f5e9;opacity:1}.step-item .step-icon{font-size:1.3rem;text-align:center;width:36px}.step-info{flex:1 1}.step-name{color:#1d1d1f;display:block;font-size:.9rem;font-weight:600}.step-desc{color:#6e6e73;font-size:.8rem}.step-spinner{animation:spin 1s linear infinite;border:2px solid #e5e5e5;border-radius:50%;border-top-color:#3b82f6;height:20px;width:20px}.result-section{background:#fff;border-radius:16px;box-shadow:0 2px 20px #0000000f;margin-bottom:24px;padding:24px}.result-section h2{color:#1d1d1f;font-size:1.2rem;margin-bottom:16px}.result-card{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1.5fr}.result-preview{align-items:center;aspect-ratio:9/16;background:#1d1d1f;border-radius:12px;display:flex;justify-content:center;max-height:350px;overflow:hidden}.preview-placeholder{color:#fff;text-align:center}.placeholder-icon{display:block;font-size:2.5rem;margin-bottom:8px}.placeholder-note{color:#6e6e73;font-size:.75rem;margin-top:8px}.result-video{height:100%;object-fit:contain;width:100%}.result-info{display:flex;flex-direction:column;gap:16px}.result-content h3{color:#1d1d1f;font-size:1.1rem;margin-bottom:6px}.result-description{color:#6e6e73;font-size:.9rem;margin-bottom:12px}.content-preview{background:#f5f5f7;border-radius:10px;padding:12px}.content-item{margin-bottom:8px}.content-item:last-child{margin-bottom:0}.content-label{color:#6e6e73;display:block;font-size:.8rem;margin-bottom:2px}.content-text{color:#1d1d1f;display:block;font-size:.95rem;font-weight:500}.result-meta{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr)}.meta-item{border-radius:8px;padding:10px}.meta-label{font-size:.7rem}.meta-value{font-size:.95rem;margin-top:2px}.result-actions{gap:10px;margin-top:auto}.action-btn{font-size:.95rem;padding:12px;transition:opacity .2s}.action-btn.primary{background:#3b82f6}.action-btn.secondary:hover:not(:disabled){background:#e8e8ea}.action-btn.youtube{background:red;color:#fff}.step-number{background:linear-gradient(135deg,#3b82f6,#2563eb)}.coming-soon-section{background:#fff;border-radius:16px;box-shadow:0 2px 20px #0000000f;padding:60px 20px;text-align:center}.coming-soon-icon{font-size:4rem;margin-bottom:20px}.coming-soon-section h2{color:#1d1d1f;font-size:1.5rem;margin-bottom:8px}.coming-soon-section>p{color:#6e6e73;font-size:1rem;margin-bottom:30px}.feature-preview{background:#f5f5f7;border-radius:12px;margin:0 auto;max-width:400px;padding:24px;text-align:left}.feature-preview h3{color:#1d1d1f;font-size:1rem;margin-bottom:12px}.feature-preview ul{list-style:none;margin:0;padding:0}.feature-preview li{border-bottom:1px solid #e5e5e5;color:#1d1d1f;font-size:.9rem;padding:8px 0 8px 24px;position:relative}.feature-preview li:last-child{border-bottom:none}.feature-preview li:before{color:#34c759;content:"✓";font-weight:600;left:0;position:absolute}.history-section{background:#fff;border-radius:16px;box-shadow:0 2px 20px #0000000f;margin-bottom:24px;padding:24px}.history-header{align-items:center;justify-content:space-between;margin-bottom:16px}.history-header h2{color:#1d1d1f;font-size:1.1rem}.clear-history-btn{background:#fff;border:1px solid #ff3b30;border-radius:8px;color:#ff3b30;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 12px;transition:all .2s}.clear-history-btn:hover{background:#ff3b30;color:#fff}.history-list{display:flex;flex-direction:column;gap:10px}.history-item{align-items:center;background:#f5f5f7;border-radius:10px;display:flex;justify-content:space-between;padding:12px 16px;transition:background .2s}.history-item:hover{background:#e8e8ea}.history-info{flex:1 1}.history-topic{color:#1d1d1f;display:block;font-size:.9rem;font-weight:600;margin-bottom:4px}.history-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.history-badge{background:#3b82f6;border-radius:10px;color:#fff;font-size:.7rem;font-weight:600;padding:2px 8px}.history-date,.history-detail{color:#6e6e73;font-size:.75rem}.history-date{margin-left:12px}@media (max-width:768px){.ai-video-creator{padding:16px}.ai-video-creator .page-header h1{font-size:1.5rem}.tab-navigation{gap:6px}.tab-nav-btn{font-size:.85rem;padding:10px 14px}.input-with-button{flex-direction:column}.result-card{grid-template-columns:1fr}.result-preview{max-height:280px}.result-meta{grid-template-columns:repeat(2,1fr)}.feature-steps{flex-direction:column}.option-row{grid-template-columns:1fr}.style-cards{grid-template-columns:repeat(2,1fr)}.history-item{align-items:flex-start;flex-direction:column;gap:8px}.history-date{margin-left:0}}@media (max-width:480px){.tab-nav-btn .tab-name{display:none}.tab-nav-btn .tab-icon{font-size:1.3rem}.tab-nav-btn{padding:10px 12px}}.image-upload-area{background:#fafafa;border:2px dashed #d1d1d6;border-radius:16px;cursor:pointer;min-height:300px;overflow:hidden;position:relative;transition:all .3s}.image-upload-area:hover{background:#f5f5f7;border-color:#3b82f6}.upload-placeholder{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:40px 20px}.upload-icon{font-size:3.5rem;margin-bottom:16px;opacity:.6}.upload-text{color:#1d1d1f;font-size:1.1rem;font-weight:600;margin-bottom:8px}.upload-hint{color:#6e6e73;font-size:.9rem}.image-preview{height:100%;min-height:300px;position:relative;width:100%}.image-preview img{height:100%;max-height:500px;object-fit:contain;width:100%}.image-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s}.image-preview:hover .image-overlay{opacity:1}.change-image-btn{background:#fff;border:none;border-radius:10px;color:#1d1d1f;cursor:pointer;font-weight:600;padding:12px 24px;transition:transform .2s}.change-image-btn:hover{transform:scale(1.05)}.settings-section{background:#fff;border-radius:16px;box-shadow:0 2px 20px #0000000f;padding:24px}.setting-group,.settings-section{margin-bottom:24px}.setting-group:last-child{margin-bottom:0}.setting-group h3{color:#1d1d1f;font-size:1rem;font-weight:600;margin-bottom:12px}.motion-styles-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.motion-style-btn{align-items:flex-start;background:#f5f5f7;border:2px solid #0000;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;padding:14px 16px;text-align:left;transition:all .2s}.motion-style-btn:hover:not(:disabled){background:#e5e5ea;border-color:#3b82f6}.motion-style-btn.active{background:linear-gradient(135deg,#3b82f61a,#2563eb1a);border-color:#3b82f6}.motion-style-btn:disabled{cursor:not-allowed;opacity:.5}.motion-name{color:#1d1d1f;font-size:.9rem;font-weight:600;margin-bottom:4px}.motion-desc{color:#6e6e73;font-size:.8rem}.duration-options{display:flex;gap:10px}.duration-btn{background:#f5f5f7;border:2px solid #0000;border-radius:10px;color:#1d1d1f;cursor:pointer;flex:1 1;font-size:1.1rem;font-weight:600;padding:12px;transition:all .2s}.duration-btn:hover:not(:disabled){background:#e5e5ea;border-color:#3b82f6}.duration-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.duration-btn:disabled{cursor:not-allowed;opacity:.5}.resolution-options{display:flex;gap:10px}.resolution-btn{align-items:center;background:#f5f5f7;border:2px solid #0000;border-radius:10px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;padding:12px;transition:all .2s}.resolution-btn:hover:not(:disabled){background:#e5e5ea;border-color:#3b82f6}.resolution-btn.active{background:linear-gradient(135deg,#3b82f61a,#2563eb1a);border-color:#3b82f6}.resolution-btn:disabled{cursor:not-allowed;opacity:.5}.res-name{color:#1d1d1f;font-size:.95rem;font-weight:600;margin-bottom:4px}.res-size{color:#6e6e73;font-size:.75rem}.convert-btn{margin-top:16px;width:100%}.convert-progress{margin-bottom:24px}.progress-bar-container{margin-top:16px}.progress-bar{background:#e5e5ea;margin-bottom:12px}.progress-fill{background:linear-gradient(135deg,#3b82f6,#2563eb)}.progress-info{align-items:center}.progress-percent{color:#3b82f6;font-size:1.1rem;font-weight:700}.progress-message{color:#6e6e73;font-size:.9rem}.img2video-result{grid-template-columns:1fr 1.2fr}.thumbnail-image{height:100%;object-fit:cover;width:100%}.video-placeholder-overlay{align-items:center;background:#000000b3;bottom:0;color:#fff;display:flex;flex-direction:column;justify-content:center;left:0;padding:20px;position:absolute;right:0;text-align:center;top:0}.action-btn.secondary{background:#6e6e73;color:#fff}.action-btn.secondary:hover:not(:disabled){opacity:.8}@media (max-width:768px){.motion-styles-grid{grid-template-columns:1fr}.duration-options,.resolution-options{flex-direction:column}.img2video-result{grid-template-columns:1fr}}.prompt-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f;margin-bottom:24px;padding:24px}.prompt-section .section-header h2{color:#1a1a1a;font-size:20px;font-weight:600;margin-bottom:4px}.prompt-section .section-header p{color:#666;font-size:14px;margin-bottom:16px}.prompt-input-wrapper{margin-bottom:20px;position:relative}.prompt-textarea{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;color:#1a1a1a;font-family:inherit;font-size:15px;line-height:1.6;min-height:120px;padding:16px;resize:vertical;transition:all .2s ease;width:100%}.prompt-textarea:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.prompt-textarea:disabled{background:#f1f5f9;cursor:not-allowed}.prompt-textarea::placeholder{color:#9ca3af}.prompt-counter{bottom:12px;color:#9ca3af;font-size:12px;position:absolute;right:12px}.prompt-counter .warning{color:#f59e0b}.inspiration-section{margin-bottom:16px}.inspiration-header{align-items:center;color:#666;display:flex;font-size:14px;font-weight:500;gap:6px;margin-bottom:12px}.inspiration-icon{font-size:16px}.inspiration-buttons{display:flex;flex-wrap:wrap;gap:8px}.inspiration-btn{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;height:72px;justify-content:center;min-width:72px;padding:12px 16px;transition:all .2s ease}.inspiration-btn:hover{background:#eff6ff;border-color:#3b82f6;transform:translateY(-2px)}.inspiration-btn:active{transform:translateY(0)}.inspiration-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.inspiration-btn .btn-icon{font-size:24px;margin-bottom:4px}.inspiration-btn .btn-name{color:#1a1a1a;font-size:12px;font-weight:500}.prompt-guide-section{border-top:1px solid #e2e8f0;padding-top:16px}.guide-toggle{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 0;transition:color .2s ease}.guide-toggle:hover{color:#3b82f6}.guide-toggle span:first-child{font-size:10px;width:16px}.guide-content{background:#f8fafc;border-radius:8px;margin-top:8px;padding:16px}.guide-content ul{list-style:none;margin:0;padding:0}.guide-content li{color:#4b5563;font-size:14px;line-height:1.5;margin-bottom:8px;padding-left:20px;position:relative}.guide-content li:last-child{margin-bottom:0}.guide-content li:before{color:#3b82f6;content:"•";font-weight:700;left:0;position:absolute}@media (max-width:768px){.prompt-section{padding:16px}.prompt-textarea{min-height:100px}.inspiration-buttons{justify-content:space-between}.inspiration-btn{flex:1 1;height:64px;max-width:80px;min-width:60px}.inspiration-btn .btn-icon{font-size:20px}}@media (max-width:480px){.inspiration-buttons{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.inspiration-btn{max-width:none}}.prompt-input-row{display:flex;gap:16px;margin-bottom:20px}.prompt-input-row .prompt-input-wrapper{flex:1 1;margin-bottom:0}.generate-btn-side{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;box-shadow:0 4px 12px #3b82f64d;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:15px;font-weight:600;gap:8px;justify-content:center;min-width:100px;padding:16px 24px;transition:all .2s ease}.generate-btn-side:hover:not(:disabled){box-shadow:0 6px 16px #3b82f666;transform:translateY(-2px)}.generate-btn-side:active:not(:disabled){transform:translateY(0)}.generate-btn-side:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed}.generate-btn-side .btn-icon-main{font-size:28px}.generate-btn-side .btn-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:24px;width:24px}@media (max-width:768px){.prompt-input-row{flex-direction:column}.generate-btn-side{flex-direction:row;min-width:auto;padding:14px 24px}.generate-btn-side .btn-icon-main{font-size:20px}}.reference-section{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:20px}.reference-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.reference-icon{font-size:18px}.reference-header>span:nth-child(2){color:#1a1a1a;font-size:14px;font-weight:500}.reference-optional{color:#9ca3af;font-size:12px;font-weight:400}.reference-desc{color:#666;font-size:13px;margin-bottom:12px}.reference-upload-btn{align-items:center;background:#f8fafc;border:2px dashed #d1d5db;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;height:140px;justify-content:center;transition:all .2s ease;width:140px}.reference-upload-btn:hover:not(:disabled){background:#eff6ff;border-color:#3b82f6}.reference-upload-btn:disabled{cursor:not-allowed;opacity:.5}.reference-upload-btn .upload-icon{color:#9ca3af;font-size:32px}.reference-upload-btn .upload-text{color:#4b5563;font-size:13px;font-weight:500}.reference-upload-btn .upload-hint{color:#9ca3af;font-size:11px}.reference-preview-wrapper{position:relative;width:140px}.reference-preview-img{border:2px solid #e2e8f0;border-radius:12px;height:140px;object-fit:cover;width:140px}.reference-preview-overlay{align-items:center;background:#00000080;border-radius:12px;bottom:20px;display:flex;gap:8px;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease}.reference-preview-wrapper:hover .reference-preview-overlay{opacity:1}.reference-change-btn,.reference-remove-btn{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.reference-change-btn{background:#fff;color:#1a1a1a}.reference-change-btn:hover{background:#f0f0f0}.reference-remove-btn{background:#ef4444;color:#fff}.reference-remove-btn:hover{background:#dc2626}.reference-filename{color:#666;display:block;font-size:11px;margin-top:8px;max-width:140px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.image-upscaler{margin:0 auto;max-width:1200px}.upload-section{padding:20px 0}.upload-area{background:#fff;border:3px dashed #e5e5e5;border-radius:16px;padding:60px 40px;transition:all .3s}.upload-area:hover{background:#f5f9ff;border-color:#007aff}.upload-area.drag-active{background:#e3f2fd;border-color:#007aff;transform:scale(1.02)}.upload-icon{font-size:4rem;margin-bottom:20px}.upload-area h3{color:#1d1d1f;font-size:1.5rem;margin-bottom:8px}.upload-area p{color:#6e6e73;font-size:1rem;margin-bottom:20px}.upload-formats{display:flex;gap:20px;justify-content:center;margin-top:20px}.upload-formats span{color:#6e6e73;font-size:.85rem}.upscale-options-section{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:24px}.options-panel,.preview-panel{background:#fff;border-radius:16px;box-shadow:0 2px 20px #0000000f;padding:24px}.options-panel h3,.preview-panel h3{color:#1d1d1f;font-size:1.1rem;margin-bottom:20px}.option-group{margin-bottom:20px}.option-group label{color:#1d1d1f;display:block;font-size:.9rem;font-weight:600;margin-bottom:10px}.option-buttons{display:flex;gap:8px}.option-btn{background:#f5f5f7;border:2px solid #e5e5e5;border-radius:10px;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;padding:12px;transition:all .2s}.option-btn:hover:not(:disabled){background:#e5e5ea}.option-btn.active{background:#007aff;border-color:#007aff;color:#fff}.option-btn:disabled{cursor:not-allowed;opacity:.5}.image-info{background:#f5f5f7;border-radius:10px;margin:20px 0;padding:16px}.info-row{border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;padding:8px 0}.info-row:last-child{border-bottom:none}.info-label{color:#6e6e73;font-size:.85rem}.info-value{color:#1d1d1f;font-size:.85rem;font-weight:600}.upscale-actions{display:flex;gap:10px}.action-btn{border-radius:10px;flex:1 1;font-size:1rem;padding:14px;transition:all .2s}.action-btn.primary{background:linear-gradient(135deg,#007aff,#5856d6);color:#fff}.action-btn.primary:hover:not(:disabled){box-shadow:0 4px 12px #007aff4d;transform:translateY(-2px)}.action-btn.secondary{background:#f5f5f7;border:2px solid #e5e5e5;color:#1d1d1f}.action-btn.secondary:hover:not(:disabled){background:#e5e5ea}.action-btn:disabled{cursor:not-allowed;opacity:.5}.preview-container{align-items:center;aspect-ratio:16/9;background:#f5f5f7;border-radius:12px;display:flex;justify-content:center;overflow:hidden;position:relative}.preview-image{max-height:100%;max-width:100%;object-fit:contain}.preview-label{background:#000000b3;border-radius:6px;color:#fff;font-size:.8rem;left:12px;padding:6px 12px;position:absolute;top:12px}.upscale-progress-section{background:#fff;border-radius:16px;box-shadow:0 2px 20px #0000000f;margin-bottom:24px;padding:24px;text-align:center}.upscale-progress-section h3{color:#1d1d1f;font-size:1.1rem;margin-bottom:20px}.progress-bar-container{background:#e5e5e5;border-radius:4px;height:8px;margin-bottom:12px;overflow:hidden;width:100%}.progress-bar-fill{background:linear-gradient(90deg,#007aff,#5856d6);height:100%;transition:width .3s ease}.progress-text{color:#007aff;font-size:1.2rem;font-weight:600}.error-message{background:#ffebee;border-radius:10px;color:#c62828;font-size:.9rem;gap:8px;margin:16px 0;padding:12px 16px}.error-icon{font-size:1.1rem}.upscale-result-section{background:#fff;border-radius:16px;box-shadow:0 2px 20px #0000000f;margin-bottom:24px;padding:24px}.upscale-result-section h2{color:#1d1d1f;font-size:1.2rem;margin-bottom:20px;text-align:center}.compare-container{margin-bottom:24px}.compare-image-wrapper{aspect-ratio:16/9;background:#1d1d1f;border-radius:12px;cursor:ew-resize;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;width:100%}.compare-image{object-fit:contain;width:100%}.compare-image,.compare-overlay{height:100%;left:0;position:absolute;top:0}.compare-overlay{overflow:hidden}.compare-before{left:0;position:absolute;top:0}.compare-slider{height:100%;pointer-events:none;top:0;transform:translateX(-50%);width:2px}.compare-slider,.slider-button{background:#fff;position:absolute}.slider-button{align-items:center;border-radius:50%;box-shadow:0 2px 10px #0000004d;display:flex;height:40px;justify-content:center;left:50%;top:50%;transform:translate(-50%,-50%);width:40px}.slider-button span{color:#1d1d1f;font-size:1.2rem}.compare-labels{display:flex;justify-content:space-between;left:12px;pointer-events:none;position:absolute;right:12px;top:12px}.label-after,.label-before{background:#000000b3;border-radius:6px;color:#fff;font-size:.8rem;padding:6px 12px}.compare-instruction{color:#6e6e73;font-size:.85rem;margin-top:12px;text-align:center}.result-info-panel{margin-top:24px}.result-meta-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.meta-item{background:#f5f5f7;border-radius:10px;padding:12px;text-align:center}.meta-label{color:#6e6e73;display:block;font-size:.75rem;margin-bottom:4px}.meta-value{color:#1d1d1f;display:block;font-size:1rem;font-weight:600}.result-actions{display:flex;gap:12px}.mock-notice{background:#e3f2fd;border-radius:10px;color:#1976d2;font-size:.85rem;margin-top:16px;padding:12px;text-align:center}.feature-info{background:#f5f5f7;border-radius:16px;margin-top:24px;padding:24px}.feature-info h3{color:#1d1d1f;font-size:1rem;margin-bottom:16px}.feature-steps{display:flex;gap:16px}.feature-step{align-items:flex-start;display:flex;flex:1 1;gap:12px}.step-number{align-items:center;background:linear-gradient(135deg,#007aff,#5856d6);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:28px;justify-content:center;width:28px}.step-content h4{color:#1d1d1f;font-size:.9rem;margin-bottom:4px}.step-content p{color:#6e6e73;font-size:.8rem;line-height:1.4}@media (max-width:768px){.upscale-options-section{grid-template-columns:1fr}.result-meta-grid{grid-template-columns:repeat(2,1fr)}.feature-steps{flex-direction:column}.upload-area{padding:40px 20px}}@media (max-width:480px){.compare-labels,.option-buttons,.result-actions{flex-direction:column}.compare-labels{align-items:flex-start;gap:4px}}.audio-analysis{margin:0 auto;max-width:1000px;padding:var(--spacing-2xl) var(--spacing-lg)}.audio-analysis .page-header{margin-bottom:var(--spacing-2xl);text-align:center}.audio-analysis .page-header h1{color:var(--color-text-primary);font-size:var(--font-size-title);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.audio-analysis .page-header p{color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-body)}.analysis-container{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.history-section{border-radius:var(--border-radius-xl);padding:var(--spacing-xl)}.history-header-row{justify-content:space-between;margin-bottom:var(--spacing-lg)}.history-controls,.history-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.sort-buttons{background:var(--color-bg-secondary);border-radius:var(--border-radius-md);display:flex;gap:var(--spacing-xs);padding:4px}.sort-btn{background:#0000;border:none;border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-md);transition:all var(--transition-fast);white-space:nowrap}.sort-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.sort-btn.active{background:var(--color-accent);color:#fff}.history-section h2.history-title{color:var(--color-text-primary);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-bold);margin:0}.search-container{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--border-radius-full);display:flex;gap:var(--spacing-xs);height:32px;max-width:200px;min-width:140px;padding:6px var(--spacing-md);transition:all var(--transition-default)}.search-container:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 2px #3b82f626}.search-input{color:var(--color-text-primary);font-size:var(--font-size-small)}.search-input::placeholder{color:var(--color-text-tertiary)}.search-clear{align-items:center;background:var(--color-bg-tertiary);border:none;border-radius:50%;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;transition:all var(--transition-fast);width:20px}.search-clear:hover{background:var(--color-border);color:var(--color-text-primary)}.history-empty{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl);text-align:center}.history-empty .empty-icon{font-size:2rem;margin-bottom:var(--spacing-md);opacity:.5}.history-empty p{font-size:var(--font-size-body);margin:0}.history-loading{gap:var(--spacing-md)}.board-table .col-actions{width:120px}.title-text{align-items:center;color:var(--color-text-primary);display:flex;font-weight:var(--font-weight-medium);gap:var(--spacing-xs)}.lock-icon{font-size:.875rem;opacity:.7}.title-keywords{margin-top:2px}.admin-toggle{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-sm);-webkit-user-select:none;user-select:none}.admin-toggle input[type=checkbox]{accent-color:var(--color-accent);cursor:pointer;height:16px;width:16px}.admin-toggle .toggle-label{color:var(--color-text-secondary);font-size:var(--font-size-small);white-space:nowrap}.admin-toggle:hover .toggle-label{color:var(--color-accent)}.col-user{min-width:120px;width:140px}.user-info{display:flex;flex-direction:column;gap:2px}.user-name{color:var(--color-text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-medium)}.user-email{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.board-table.with-user .col-title{width:auto}.history-header{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.history-title-row{align-items:center;display:flex;gap:var(--spacing-md);justify-content:space-between}.history-title{flex:1 1;font-size:var(--font-size-body)}.history-filename-sub,.history-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-filename-sub{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.history-actions{display:flex;gap:var(--spacing-xs);opacity:0;transition:opacity var(--transition-fast)}.history-item:hover .history-actions{opacity:1}.action-btn.lock:hover{background:#f59e0b1a;border-color:var(--color-warning)}.action-btn.edit:hover{background:#3b82f61a;border-color:var(--color-accent);color:var(--color-accent)}.title-edit-container{align-items:center;display:flex;gap:var(--spacing-sm);width:100%}.title-edit-input{background:var(--color-bg-primary);border:1px solid var(--color-accent);border-radius:var(--border-radius-sm);color:var(--color-text-primary);flex:1 1;font-size:var(--font-size-body);outline:none;padding:var(--spacing-sm) var(--spacing-md)}.title-edit-input:focus{box-shadow:0 0 0 2px #3b82f633}.title-btn{align-items:center;border:none;border-radius:var(--border-radius-sm);cursor:pointer;display:flex;font-size:16px;font-weight:var(--font-weight-bold);height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.title-btn.save{background:var(--color-accent);color:#fff}.title-btn.save:hover{background:var(--color-accent-hover)}.title-btn.cancel{background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary)}.title-btn.cancel:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.history-filename{color:var(--color-text-primary);flex:1 1;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-date{font-size:var(--font-size-caption);white-space:nowrap}.history-date,.history-summary{color:var(--color-text-secondary)}.history-summary{font-size:var(--font-size-small);line-height:var(--line-height-body);margin:0 0 var(--spacing-sm) 0}.history-keywords{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.history-keyword{background:#3b82f61a;border:1px solid var(--color-accent);border-radius:var(--border-radius-sm);color:var(--color-accent);display:inline-block;font-size:var(--font-size-caption);padding:2px var(--spacing-sm)}.upload-form{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-sm);padding:var(--spacing-xl)}.form-section{margin-bottom:var(--spacing-lg)}.form-section:last-of-type{margin-bottom:0}.form-label{color:var(--color-text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}.file-input-wrapper{position:relative}.file-input{height:0;opacity:0;position:absolute;width:0}.file-input-label{align-items:center;background:var(--color-bg-secondary);border:2px dashed var(--color-border);border-radius:var(--border-radius-md);cursor:pointer;display:flex;gap:var(--spacing-md);min-height:var(--button-height-lg);padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-default)}.file-input-label:hover{background:var(--color-bg-tertiary);border-color:var(--color-accent)}.file-input:focus+.file-input-label{outline:2px solid var(--color-accent);outline-offset:2px}.file-input:disabled+.file-input-label{cursor:not-allowed;opacity:.5}.file-text{font-size:var(--font-size-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-info,.file-text{color:var(--color-text-secondary)}.file-info{font-size:var(--font-size-small);margin-top:var(--spacing-sm)}.file-size{background:var(--color-bg-secondary);border-radius:var(--border-radius-sm);display:inline-block;padding:var(--spacing-xs) var(--spacing-sm)}.error-message{margin-bottom:var(--spacing-lg)}.error-icon{font-size:1.25rem}.progress-section{margin-bottom:var(--spacing-lg)}.progress-label{color:var(--color-text-secondary);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-sm)}.progress-bar{background:var(--color-bg-secondary);width:100%}.progress-bar,.progress-fill{border-radius:var(--border-radius-full)}.progress-fill{background:linear-gradient(90deg,var(--color-accent),var(--color-accent-hover));transition:width var(--transition-default)}.loading-message{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-body);gap:var(--spacing-md);justify-content:center;margin-bottom:var(--spacing-lg)}.loading-spinner{height:20px;width:20px}.loading-message.background-analysis{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #7dd3fc;flex-direction:column;gap:var(--spacing-sm)}.loading-message.background-analysis span:not(.loading-spinner){line-height:1.4;text-align:center}.cancel-analysis-btn{background:#0000;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-small);margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-lg);transition:all var(--transition-fast)}.cancel-analysis-btn:hover{background:var(--color-error);border-color:var(--color-error);color:#fff}.analyzing-row{animation:pulse-bg 2s ease-in-out infinite;background:linear-gradient(135deg,#fef3c7,#fde68a)!important}@keyframes pulse-bg{0%,to{opacity:1}50%{opacity:.85}}.title-content.analyzing{align-items:center;flex-direction:row;gap:var(--spacing-sm)}.analyzing-spinner{animation:spin .8s linear infinite;border:2px solid var(--color-border);border-radius:50%;border-top-color:var(--color-accent);flex-shrink:0;height:16px;width:16px}.analyzing-status{color:var(--color-text-secondary);font-size:var(--font-size-small);font-weight:var(--font-weight-medium)}.action-btn.cancel-btn{color:var(--color-error)}.action-btn.cancel-btn:hover{background:#ef44441a;border-color:var(--color-error)}.submit-button{border-radius:var(--border-radius-md);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);height:var(--button-height-md);padding:var(--button-padding-md);transition:all var(--transition-default)}.submit-button:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{background:var(--color-bg-secondary);color:var(--color-text-disabled)}.results-container{display:flex;flex-direction:column;gap:var(--spacing-xl)}.results-title-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.results-title{font-size:var(--font-size-title);font-weight:var(--font-weight-bold)}.results-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.results-date,.results-lock-btn{color:var(--color-text-secondary);font-size:var(--font-size-small)}.results-lock-btn{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer;display:flex;font-weight:var(--font-weight-medium);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);transition:all var(--transition-fast)}.results-lock-btn:hover{background:#f59e0b1a;border-color:var(--color-warning);color:var(--color-warning)}.keywords-top{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg)}.keywords-top,.result-section{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--border-radius-xl)}.result-section{box-shadow:var(--shadow-sm);padding:var(--spacing-xl)}.section-header{gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.section-title{font-size:var(--font-size-subtitle);margin:0}.section-icon{font-size:1.5rem}.toggle-transcript-btn{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-accent);cursor:pointer;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-md);transition:all var(--transition-default);white-space:nowrap}.toggle-transcript-btn:hover{background:#3b82f61a;border-color:var(--color-accent)}.toggle-transcript-btn:active{transform:scale(.98)}.transcript-content{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md);max-height:400px;overflow-y:auto;padding-right:var(--spacing-sm)}.transcript-content::-webkit-scrollbar{width:8px}.transcript-content::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:var(--border-radius-sm)}.transcript-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--border-radius-sm)}.transcript-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.transcript-item{align-items:flex-start;background:var(--color-bg-secondary);border-radius:var(--border-radius-sm);display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.transcript-item .transcript-meta{display:flex;flex-shrink:0;gap:var(--spacing-xs)}.transcript-item .transcript-text{flex:1 1;font-size:var(--font-size-small);line-height:1.5;margin:0}.transcript-meta{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.speaker-label,.timestamp-label{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--border-radius-sm);display:inline-block;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm)}.speaker-label{color:var(--color-accent)}.timestamp-label{color:var(--color-text-secondary)}.transcript-wrapper{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.speaker-panel{background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--border-radius-md);padding:var(--spacing-md)}.speaker-panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.speaker-panel-title{color:var(--color-text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.speaker-panel-hint{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.speaker-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.speaker-item{flex-shrink:0}.speaker-name-btn{align-items:center;background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--border-radius-sm);cursor:pointer;display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--transition-fast)}.speaker-name-btn:hover{background:#3b82f60d;border-color:var(--color-accent)}.speaker-name-btn:hover .speaker-edit-icon{opacity:1}.speaker-color{border-radius:50%;flex-shrink:0;height:10px;width:10px}.speaker-display-name{color:var(--color-text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-medium)}.speaker-edit-icon,.speaker-original{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.speaker-edit-icon{opacity:0;transition:opacity var(--transition-fast)}.speaker-edit-input{border:1px solid var(--color-accent);border-radius:var(--border-radius-sm);font-size:var(--font-size-small);outline:none;padding:var(--spacing-xs) var(--spacing-sm);width:100px}.transcript-content.compact{background:var(--color-bg-secondary);border-radius:var(--border-radius-md);gap:0;max-height:350px;padding:var(--spacing-sm)}.transcript-line{align-items:baseline;border-radius:var(--border-radius-xs);display:flex;gap:var(--spacing-sm);padding:4px var(--spacing-sm);transition:background var(--transition-fast)}.transcript-line:hover{background:var(--color-bg-primary)}.line-time{color:var(--color-text-tertiary);flex-shrink:0;font-family:monospace;font-size:11px;width:40px}.line-speaker{flex-shrink:0;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);max-width:80px;min-width:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-text{font-size:var(--font-size-small);line-height:1.4}.line-text,.transcript-text{color:var(--color-text-primary)}.transcript-text{font-size:var(--font-size-body);line-height:var(--line-height-body);margin:0;white-space:pre-wrap}.key-points-list{display:flex;flex-direction:column;gap:var(--spacing-md);list-style:none;padding:0}.key-point-item{padding-left:var(--spacing-lg);position:relative}.key-point-item:before{color:var(--color-accent);content:"•";font-size:1.25rem;font-weight:var(--font-weight-bold);left:0;position:absolute}.keywords-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.keyword-tag{background:var(--color-bg-secondary);border:1px solid var(--color-border-light);color:var(--color-accent);font-size:var(--font-size-small);padding:var(--spacing-xs) var(--spacing-md);transition:all var(--transition-fast)}.keyword-tag:hover{background:#3b82f61a;border-color:var(--color-accent)}.summary-text{white-space:pre-wrap}.modal-overlay{padding:var(--spacing-lg)}.modal-content{background:var(--color-bg-primary);border-radius:var(--border-radius-xl);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:400px;padding:var(--spacing-2xl)}.modal-title{color:var(--color-text-primary);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-sm) 0}.modal-description{color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-body);margin:0 0 var(--spacing-lg) 0}.password-input{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-bold);letter-spacing:8px;margin-bottom:var(--spacing-lg);outline:none;padding:var(--spacing-md);text-align:center;transition:all var(--transition-default);width:100%}.password-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #3b82f61a}.password-input::placeholder{color:var(--color-text-tertiary);letter-spacing:normal}.modal-actions{gap:var(--spacing-md)}.modal-btn{border-radius:var(--border-radius-md);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);height:var(--button-height-md);min-width:80px;padding:var(--spacing-sm) var(--spacing-xl);transition:all var(--transition-default)}.modal-btn.cancel{background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary)}.modal-btn.cancel:hover{background:var(--color-bg-tertiary);border-color:var(--color-border);color:var(--color-text-primary)}.modal-btn.confirm{background:var(--color-accent);border:none;color:#fff}.modal-btn.confirm:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.modal-btn.confirm:active{transform:translateY(0)}@media (max-width:768px){.audio-analysis{padding:var(--spacing-lg) var(--spacing-md)}.audio-analysis .page-header h1{font-size:1.75rem}.history-section,.result-section,.upload-form{padding:var(--spacing-lg)}.file-input-label{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.file-text{white-space:normal}.transcript-meta{gap:var(--spacing-xs)}.section-header,.transcript-meta{align-items:flex-start;flex-direction:column}.toggle-transcript-btn{width:100%}.history-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-xs)}.history-item{transform:none}.history-item:hover{transform:translateX(2px)}.history-controls,.history-header-row{align-items:stretch;flex-direction:column}.sort-buttons{width:100%}.search-container{max-width:none;min-width:auto}.board-table .col-no{display:none}.board-table .col-date{font-size:11px;width:80px}.board-table .col-actions{width:100px}.action-buttons{opacity:1}.modal-overlay{padding:var(--spacing-md)}.modal-content{padding:var(--spacing-lg)}.modal-actions{flex-direction:column}.modal-btn{width:100%}}@media (max-width:480px){.section-title{font-size:var(--font-size-body)}.keywords-list{gap:var(--spacing-xs)}.keyword-tag{font-size:var(--font-size-caption);padding:4px var(--spacing-sm)}.history-filename{font-size:var(--font-size-small)}.history-summary{font-size:var(--font-size-caption)}.board-table td,.board-table th{font-size:var(--font-size-small);padding:var(--spacing-sm)}.action-btn{font-size:12px;height:24px;width:24px}.sort-btn{font-size:var(--font-size-caption);padding:var(--spacing-xs) var(--spacing-sm)}}.content-summarize{margin:0 auto;max-width:900px;padding:var(--spacing-xl) var(--spacing-md)}.page-header{margin-bottom:var(--spacing-2xl);text-align:center}.page-header h1{color:var(--color-text-primary);font-size:var(--font-size-title);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}.page-header p{color:var(--color-text-secondary);font-size:var(--font-size-body);margin:0}.summarize-container{display:flex;flex-direction:column;gap:var(--spacing-xl)}.summarize-form{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.api-key-section{border-bottom:1px solid var(--color-border-light);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.api-key-label{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.label-icon{font-size:20px}.api-key-select{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-body);padding:var(--spacing-md);transition:border-color var(--transition-fast);width:100%}.api-key-select:focus,.api-key-select:hover{border-color:var(--color-accent)}.api-key-select:focus{box-shadow:0 0 0 3px #3b82f61a;outline:none}.api-key-select:disabled{cursor:not-allowed;opacity:.5}.loading-keys{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-body);gap:var(--spacing-sm);padding:var(--spacing-md)}.no-keys-warning{background:#fff3cd;border:1px solid #ffe69c;border-radius:var(--border-radius-md);padding:var(--spacing-lg);text-align:center}.warning-icon{display:block;font-size:32px;margin-bottom:var(--spacing-sm)}.no-keys-warning p{color:#856404;margin:var(--spacing-xs) 0}.warning-hint{color:#856404;font-size:var(--font-size-caption);opacity:.8}.tabs{border-bottom:1px solid var(--color-border-light);gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.tab-button{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--color-text-secondary);cursor:pointer;flex:1 1;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-fast)}.tab-button:hover{color:var(--color-text-primary)}.tab-button.active{border-bottom-color:var(--color-accent);color:var(--color-accent)}.tab-content{margin-bottom:var(--spacing-lg)}.input-section{width:100%}.text-input{border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-body);line-height:var(--line-height-body);padding:var(--spacing-md);resize:vertical;transition:border-color var(--transition-fast);width:100%}.text-input:focus{border-color:var(--color-accent);outline:none}.text-input:disabled{background:var(--color-bg-secondary);color:var(--color-text-disabled);cursor:not-allowed}.url-input{border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-body);height:var(--button-height-md);padding:0 var(--spacing-md);transition:border-color var(--transition-fast);width:100%}.url-input:focus{border-color:var(--color-accent);outline:none}.url-input:disabled{background:var(--color-bg-secondary);color:var(--color-text-disabled);cursor:not-allowed}.file-drop-zone{align-items:center;background:var(--color-bg-tertiary);border:2px dashed var(--color-border);border-radius:var(--border-radius-lg);cursor:pointer;display:flex;justify-content:center;min-height:200px;padding:var(--spacing-lg);transition:all var(--transition-fast)}.file-drop-zone:hover{background:var(--color-surface);border-color:var(--color-accent)}.file-drop-zone.drag-active{background:#3b82f60d;border-color:var(--color-accent)}.file-drop-zone.has-file{background:var(--color-surface);border-style:solid}.drop-zone-content{text-align:center}.drop-icon{display:block;font-size:48px;margin-bottom:var(--spacing-md)}.drop-text{color:var(--color-text-primary);font-size:var(--font-size-body);margin-bottom:var(--spacing-xs)}.drop-hint{color:var(--color-text-tertiary);font-size:var(--font-size-caption);margin:0}.file-info{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-sm)}.file-icon{font-size:48px}.file-name{color:var(--color-text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-medium)}.file-size{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.error-message{align-items:center;background:#ff3b301a;border:1px solid var(--color-error);border-radius:var(--border-radius-md);color:var(--color-error);display:flex;font-size:var(--font-size-body);gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.error-icon{font-size:20px}.loading-message{background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--border-radius-md);padding:var(--spacing-lg)}.loading-content{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.loading-text{flex:1 1}.loading-title{color:var(--color-text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);margin:0 0 var(--spacing-xs) 0}.loading-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-caption);margin:0}.loading-progress-bar{background:var(--color-border-light);border-radius:2px;height:4px;overflow:hidden;width:100%}.loading-progress-fill{animation:loading-progress 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--color-accent) 0,var(--color-accent-light) 100%);height:100%;width:100%}@keyframes loading-progress{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.loading-spinner{animation:spin .6s linear infinite;border:2px solid var(--color-border);border-top-color:var(--color-accent);height:16px;width:16px}.form-actions{gap:var(--spacing-sm)}.clear-button,.submit-button{border:none;border-radius:var(--border-radius-md);cursor:pointer;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);height:var(--button-height-md);padding:var(--button-padding-md);transition:all var(--transition-fast)}.clear-button{background:#0000;border:1px solid var(--color-border);color:var(--color-text-secondary)}.clear-button:hover:not(:disabled){background:var(--color-bg-secondary);color:var(--color-text-primary)}.submit-button{background:var(--color-accent);min-width:120px}.submit-button:hover:not(:disabled){background:var(--color-accent-hover)}.submit-button:active:not(:disabled){background:var(--color-accent-active)}.clear-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.5}.results-container{animation:fadeInUp .3s ease;background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.results-header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.results-title{color:var(--color-text-primary);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-semibold);margin:0}.result-metadata{align-items:center;display:flex;gap:var(--spacing-sm)}.result-badge{background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--border-radius-sm);color:var(--color-text-secondary)}.remaining-badge,.result-badge{align-items:center;display:inline-flex;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm)}.remaining-badge{background:#e8f5e9;border:1px solid #a5d6a7;border-radius:var(--border-radius-sm);color:#2e7d32}.result-section{margin-bottom:var(--spacing-lg)}.result-section:last-child{margin-bottom:0}.section-title{color:var(--color-text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.section-icon{font-size:20px}.keywords-container{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.keyword-tag{background:var(--color-accent);border-radius:var(--border-radius-full);color:#fff;display:inline-block;font-weight:var(--font-weight-medium);padding:6px 12px;white-space:nowrap}.summary-card{background:var(--color-surface);border-radius:var(--border-radius-md);padding:var(--spacing-md)}.summary-text{margin:0}.organized-content{background:var(--color-surface);border-radius:var(--border-radius-md);padding:var(--spacing-md)}.organize-section{margin-bottom:var(--spacing-lg)}.organize-section:last-child{margin-bottom:0}.section-heading{border-left:3px solid var(--color-accent);color:var(--color-text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md);padding-left:var(--spacing-sm)}.section-content{list-style:disc;margin:0 0 var(--spacing-md) 0;padding-left:var(--spacing-xl)}.section-content li{color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.section-content li,.section-quote{font-size:var(--font-size-body);line-height:var(--line-height-body)}.section-quote{background:var(--color-bg-primary);border-left:4px solid var(--color-accent);border-radius:var(--border-radius-md);color:var(--color-text-secondary);font-style:italic;margin:var(--spacing-md) 0;padding:var(--spacing-md) var(--spacing-lg)}.key-points-list{list-style:decimal;margin:0;padding-left:var(--spacing-lg)}.key-point-item{color:var(--color-text-primary);font-size:var(--font-size-body);line-height:var(--line-height-body);margin-bottom:var(--spacing-sm)}.key-point-item:last-child{margin-bottom:0}.history-section{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.history-header{border-bottom:1px solid var(--color-border-light);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md)}.history-title{color:var(--color-text-primary);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-semibold);margin:0}.history-loading{align-items:center;color:var(--color-text-secondary);display:flex;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-xl)}.board-container{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--border-radius-md);overflow:hidden}.board-table{border-collapse:collapse;font-size:var(--font-size-body);width:100%}.board-table thead{background:var(--color-bg-secondary);border-bottom:2px solid var(--color-border)}.board-table th{color:var(--color-text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);padding:var(--spacing-md);text-align:left}.board-table .col-no{text-align:center;width:60px}.board-table .col-type{text-align:center;width:80px}.board-table .col-title{width:auto}.board-table .col-date{text-align:center;width:120px}.board-table .col-actions{text-align:center;width:80px}.board-table tbody tr{border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:all var(--transition-fast)}.board-table tbody tr:hover{background:var(--color-bg-secondary)}.board-table tbody tr.selected{background:#3b82f614;border-left:3px solid var(--color-accent)}.board-table td{padding:var(--spacing-md)}.board-table .col-no{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.col-type{text-align:center}.type-badge{background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);display:inline-block;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);padding:4px 8px;text-transform:uppercase}.title-content{align-items:flex-start;flex-direction:column}.title-content,.title-keywords{display:flex;gap:var(--spacing-xs)}.title-keywords{flex-wrap:wrap;margin-bottom:4px}.keyword-tag-sm{background:#3b82f61a;border:1px solid #3b82f64d;border-radius:var(--border-radius-sm);color:var(--color-accent);display:inline-block;font-size:11px;font-weight:var(--font-weight-medium);padding:2px var(--spacing-xs)}.title-preview{display:block;line-height:1.4}.col-date,.title-preview{color:var(--color-text-secondary);font-size:var(--font-size-small)}.action-buttons{align-items:center;display:flex;gap:var(--spacing-xs);justify-content:center}.action-btn{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);height:28px;position:relative;transition:all var(--transition-fast);width:28px}.action-btn[data-tooltip]:hover:after{animation:tooltipFade .15s ease-out;background:var(--color-text-primary);border-radius:var(--border-radius-sm);bottom:calc(100% + 8px);color:var(--color-bg-primary);content:attr(data-tooltip);font-size:12px;font-weight:var(--font-weight-medium);left:50%;padding:6px 10px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:100}.action-btn[data-tooltip]:hover:before{border:6px solid #0000;border-top:6px solid var(--color-text-primary);bottom:calc(100% + 2px);content:"";left:50%;position:absolute;transform:translateX(-50%);z-index:100}@keyframes tooltipFade{0%{opacity:0;transform:translateX(-50%) translateY(4px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.action-btn.delete:hover{background:#ef44441a;border-color:var(--color-error)}.empty-state{padding:var(--spacing-3xl) var(--spacing-lg)}.empty-icon{display:block;font-size:64px;margin-bottom:var(--spacing-md)}.empty-title{color:var(--color-text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.empty-description{color:var(--color-text-secondary);font-size:var(--font-size-small);margin:0}@media (max-width:768px){.content-summarize{padding:var(--spacing-lg) var(--spacing-md)}.page-header{margin-bottom:var(--spacing-lg)}.page-header h1{font-size:20px}.history-section,.results-container,.summarize-form{padding:var(--spacing-md)}.tabs{flex-direction:row;overflow-x:auto}.tab-button{flex:0 0 auto;font-size:var(--font-size-small);min-width:80px;padding:var(--spacing-sm) var(--spacing-md)}.form-actions{flex-direction:column}.clear-button,.submit-button{width:100%}.file-drop-zone{min-height:150px}.drop-icon{font-size:36px}.board-table .col-date,.board-table .col-no{display:none}.board-table .col-actions,.board-table .col-type{width:60px}.board-table td,.board-table th{font-size:var(--font-size-small);padding:var(--spacing-sm)}.action-btn{font-size:12px;height:24px;width:24px}}.sub-menu{background:#fff;border-bottom:1px solid #0000000f;position:-webkit-sticky;position:sticky;top:44px;z-index:90}.sub-menu-inner{-ms-overflow-style:none;display:flex;gap:4px;justify-content:flex-start;margin:0 auto;max-width:980px;overflow-x:auto;padding:0 22px 0 44px;scrollbar-width:none}.sub-menu-inner::-webkit-scrollbar{display:none}.sub-menu-item{align-items:center;background:#0000;border:none;border-radius:980px;color:#1d1d1f;display:flex;font-size:12px;font-weight:400;gap:6px;padding:10px 16px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.sub-menu-item.active,.sub-menu-item:hover{background:#0000000f;color:#1d1d1f}.sub-menu-item.active{font-weight:500}.sub-menu-icon{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center;opacity:.7}.sub-menu-item.active .sub-menu-icon,.sub-menu-item:hover .sub-menu-icon{opacity:1}.sub-menu-label{line-height:1}@media (prefers-color-scheme:dark){.sub-menu{background:#2c2c2e;border-bottom-color:#ffffff1a}.sub-menu-item{color:#ffffffd9}.sub-menu-item:hover{background:#ffffff14;color:#fff}.sub-menu-item.active{background:#ffffff1f;color:#fff}}@media (max-width:833px){.sub-menu{top:44px}.sub-menu-inner{justify-content:flex-start;padding:0 16px 0 24px}.sub-menu-item{font-size:13px;padding:10px 14px}}.community-container{margin:0 auto;max-width:1100px;padding:2rem}.community-layout{display:flex;gap:2rem}.community-main{flex:1 1;min-width:0;order:2}.community-header{margin-bottom:2rem}.community-header h1{font-size:2rem;font-weight:600;margin-bottom:.5rem}.community-header p{color:#666}.community-message{border-radius:8px;margin-bottom:1.5rem;padding:1rem;text-align:center}.community-message.success{background-color:#d1fae5;color:#065f46}.community-message.error{background-color:#fee2e2;color:#dc2626}.tabs{border-bottom:1px solid #e5e5e5;display:flex;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem}.tab{-webkit-tap-highlight-color:transparent;background:none;border:none;border-radius:8px 8px 0 0;color:#666;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;touch-action:manipulation;transition:all .2s ease}.tab:hover{color:#333}.tab.active,.tab:hover{background-color:#f5f5f5}.tab.active{color:#1d1d1f}.write-btn{-webkit-tap-highlight-color:transparent;background-color:#1d1d1f;border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:1rem;font-weight:500;margin-bottom:1.5rem;padding:.75rem 1.5rem;touch-action:manipulation;transition:all .2s ease}.write-btn:hover{background-color:#333}.write-form{background-color:#fff;border:1px solid #e5e5e5;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.write-form input,.write-form textarea{border:1px solid #e5e5e5;border-radius:8px;font-family:inherit;font-size:1rem;margin-bottom:1rem;padding:.875rem 1rem;transition:border-color .2s ease;width:100%}.write-form input:focus,.write-form textarea:focus{border-color:#333;outline:none}.write-form textarea{min-height:120px;resize:vertical}.form-actions{display:flex;gap:.75rem;justify-content:flex-end}.cancel-btn{-webkit-tap-highlight-color:transparent;background-color:initial;border:1px solid #e5e5e5;border-radius:8px;color:#666;cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;touch-action:manipulation;transition:all .2s ease}.cancel-btn:hover{background-color:#f5f5f5}.submit-btn{-webkit-tap-highlight-color:transparent;background-color:#1d1d1f;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;touch-action:manipulation;transition:background-color .2s ease}.submit-btn:hover{background-color:#333}.posts-list{gap:1rem}.no-posts{color:#999;padding:3rem}.post-item{-webkit-tap-highlight-color:transparent;background-color:#fff;border:1px solid #e5e5e5;border-radius:12px;cursor:pointer;padding:1.25rem;transition:all .2s ease}.post-item:hover{border-color:#ccc;box-shadow:0 2px 8px #0000000a}.post-item-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.post-item-header h3{font-size:1.1rem;font-weight:500;margin:0}.post-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.post-badge.announcement{background-color:#eff6ff;color:#2563eb}.post-item-meta{color:#666;display:flex;font-size:.85rem;gap:1rem}.back-btn{color:#666;font-size:.95rem;margin-bottom:1.5rem;padding:.5rem 0;transition:color .2s ease}.back-btn:hover{color:#1d1d1f}.post-detail{background-color:#fff;border:1px solid #e5e5e5;border-radius:12px;margin-bottom:2rem;padding:2rem}.post-header{border-bottom:1px solid #e5e5e5;margin-bottom:1.5rem;padding-bottom:1rem}.post-header h1{font-size:1.5rem;font-weight:600;margin:.5rem 0}.post-meta{color:#666;font-size:.9rem;gap:1rem}.post-content{color:#333;line-height:1.8}.post-content p{margin-bottom:1rem}.delete-btn{background-color:#fee2e2;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.delete-btn:hover{background-color:#fecaca}.comments-section{background-color:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:1.5rem}.comments-section h2{font-size:1.1rem;font-weight:600;margin-bottom:1rem}.comment-form{margin-bottom:1.5rem}.comment-form textarea{border:1px solid #e5e5e5;border-radius:8px;font-family:inherit;font-size:.95rem;margin-bottom:.75rem;padding:.875rem 1rem;resize:vertical;transition:border-color .2s ease;width:100%}.comment-form textarea:focus{border-color:#333;outline:none}.comment-form button{background-color:#1d1d1f;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.625rem 1.25rem;transition:background-color .2s ease}.comment-form button:hover:not(:disabled){background-color:#333}.comment-form button:disabled{background-color:#999;cursor:not-allowed}.comments-list{display:flex;flex-direction:column;gap:1rem}.no-comments{color:#999;padding:1rem;text-align:center}.comment-item{background-color:#f9f9f9;border-radius:8px;padding:1rem}.comment-header{display:flex;font-size:.85rem;gap:.75rem;margin-bottom:.5rem}.comment-author{color:#333;font-weight:500}.comment-date{color:#999}.comment-content{color:#555;line-height:1.5;margin:0}.comment-delete-btn{background:none;border:none;color:#dc2626;cursor:pointer;font-size:.8rem;margin-top:.5rem;padding:.25rem .5rem}.comment-delete-btn:hover{text-decoration:underline}.category-sidebar{flex-shrink:0;order:1;width:220px}.category-sidebar h3{color:#666;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:1rem;text-transform:uppercase}.category-list{list-style:none;margin:0;padding:0}.category-item{-webkit-tap-highlight-color:transparent;align-items:center;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:.25rem;padding:.75rem 1rem;touch-action:manipulation;transition:all .2s ease}.category-item:hover{background-color:#f5f5f5}.category-item.active{background-color:#1d1d1f;color:#fff}.category-item.active .category-count{background-color:#fff3;color:#fff}.category-count{background-color:#e5e5e5;border-radius:10px;color:#666;font-size:.8rem;padding:.2rem .5rem}.category-select{background-color:#fff;border:1px solid #e5e5e5;border-radius:8px;cursor:pointer;font-family:inherit;font-size:1rem;margin-bottom:1rem;padding:.875rem 1rem;width:100%}.category-select:focus{border-color:#333;outline:none}.post-badges{gap:.5rem;margin-bottom:.5rem}.post-badge.category-general{background-color:#e5e5e5;color:#666}.post-badge.category-question{background-color:#fef3c7;color:#b45309}.post-badge.category-discussion{background-color:#eff6ff;color:#2563eb}.post-badge.category-showcase{background-color:#d1fae5;color:#065f46}.post-badge.category-tip{background-color:#ede9fe;color:#6d28d9}.report-btn{background-color:#fff7ed;border:none;border-radius:6px;color:#c2410c;cursor:pointer;font-size:.85rem;font-weight:500;margin-left:.5rem;padding:.5rem 1rem;transition:all .2s ease}.report-btn:hover{background-color:#ffedd5}.comment-actions{display:flex;gap:.5rem;margin-top:.5rem}.comment-report-btn{background:none;border:none;color:#c2410c;cursor:pointer;font-size:.8rem;padding:.25rem .5rem}.comment-report-btn:hover{text-decoration:underline}.modal-overlay{background-color:#00000080}.modal-content{border-radius:12px;max-width:500px;padding:2rem}.modal-content h3{font-size:1.25rem;font-weight:600;margin:0 0 1rem}.modal-content textarea{border:1px solid #e5e5e5;border-radius:8px;font-family:inherit;font-size:1rem;margin-bottom:1rem;padding:.875rem 1rem;resize:vertical;width:100%}.modal-content textarea:focus{border-color:#333;outline:none}.modal-actions{gap:.75rem;justify-content:flex-end}.post-actions{border-top:1px solid #e5e5e5;gap:.5rem;margin-top:1.5rem;padding-top:1rem}@media (max-width:768px){.community-container{padding:1rem}.community-layout{flex-direction:column}.category-sidebar{margin-bottom:1rem;order:-1;width:100%}.category-list{display:flex;flex-wrap:wrap;gap:.5rem}.category-item{margin-bottom:0;padding:.5rem .75rem}.post-detail{padding:1.25rem}.post-item-meta{flex-wrap:wrap;gap:.5rem}}.form-group{margin:1rem 0}.form-group label{margin-bottom:.5rem}.attachments-preview{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.attachment-chip{align-items:center;background-color:#f0f0f0;border-radius:16px;display:flex;font-size:.85rem;padding:.25rem .75rem}.attachment-chip span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-chip button{background:none;border:none;color:#999;cursor:pointer;font-size:1.25rem;line-height:1;margin-left:.5rem}.attachment-chip button:hover{color:#333}.post-attachments{border-top:1px solid #e5e5e5;margin-top:1.5rem;padding-top:1.5rem}.post-attachments h4{font-weight:600;margin:0 0 1rem}.attachment-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.attachment-preview-image{border-radius:8px;height:100px;object-fit:cover;width:100%}.attachment-file{background-color:#f9f9f9;border-radius:8px;color:#333;display:block;font-size:.9rem;padding:1rem;text-align:center;text-decoration:none;word-break:break-all}.attachment-file:hover{background-color:#f0f0f0}.community-news{margin:0 auto;max-width:900px;padding:var(--spacing-lg)}.community-news .news-header{margin-bottom:var(--spacing-lg)}.community-news .news-header h1{color:var(--color-text-primary);font-size:24px;font-weight:700;margin:0 0 var(--spacing-xs) 0}.community-news .subtitle{color:var(--color-text-secondary);font-size:var(--font-size-body);margin:0}.category-filter{border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.category-chip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-caption);padding:6px 14px;transition:all .2s}.category-chip:hover{background:var(--color-background);color:var(--color-text-primary)}.category-chip.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.category-chip.active:hover{background:#2563eb;border-color:#2563eb}.date-group{margin-bottom:var(--spacing-xl)}.date-header{border-bottom:2px solid var(--color-primary);color:var(--color-text-primary);display:inline-block;font-size:16px;font-weight:600;margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm)}.articles-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.news-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-md);transition:all .2s}.news-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #0000000d}.news-card-header{justify-content:space-between;margin-bottom:var(--spacing-sm)}.news-card-header,.news-card-header .header-left{align-items:center;display:flex;gap:var(--spacing-sm)}.news-card-header .header-left{flex:1 1;flex-wrap:wrap;min-width:0}.article-keywords{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.article-keyword{background:#eef2ff;border-radius:4px;color:#6366f1;font-size:11px;padding:2px 6px;white-space:nowrap}.category-badge{background:var(--color-background);color:var(--color-text-secondary);font-weight:500;padding:3px 8px}.category-badge.entertainment{background:#fce7f3;color:#be185d}.category-badge.sports{background:#dbeafe;color:#1d4ed8}.category-badge.headlines{background:#fee2e2;color:#b91c1c}.category-badge.business{background:#e0e7ff;color:#4338ca}.category-badge.technology{background:#cffafe;color:#0e7490}.category-badge.economy,.category-badge.stock{background:#d1fae5;color:#047857}.category-badge.ai{background:#ede9fe;color:#6d28d9}.news-time{color:var(--color-text-tertiary);font-size:11px}.news-title{font-size:var(--font-size-body);line-height:1.4;margin:0 0 var(--spacing-xs) 0}.news-title a{color:var(--color-text-primary);text-decoration:none}.news-title a:hover{color:var(--color-primary)}.news-desc{color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:1.5;margin:0 0 var(--spacing-sm) 0}.news-meta{gap:var(--spacing-md)}.news-source{color:var(--color-text-tertiary);font-size:11px}.news-empty,.news-error,.news-loading{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:center;min-height:300px}.news-loading .spinner{animation:spin 1s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:40px;width:40px}.news-error{color:var(--color-text-secondary)}.news-error .error-icon{color:#f59e0b}.news-empty button,.news-error button{background:#3b82f6;border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;font-size:var(--font-size-body);margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg)}.news-empty button:hover,.news-error button:hover{background:#2563eb}.news-empty{color:var(--color-text-tertiary)}.news-empty .empty-icon{opacity:.5}.pagination{align-items:center;border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg)}.pagination button{background:#f8fafc;border:1px solid #e2e8f0;border-radius:var(--border-radius-md);color:#1a1a1a;cursor:pointer;font-size:var(--font-size-body);padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s}.pagination button:hover:not(:disabled){background:#3b82f6;border-color:#3b82f6;color:#fff}.pagination button:disabled{color:#9ca3af;cursor:not-allowed;opacity:.5}.page-info{color:var(--color-text-secondary);font-size:var(--font-size-body)}.ai-summary-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.ai-summary-section .summary-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.ai-summary-section .summary-header h2{align-items:center;color:var(--color-text-primary);display:flex;font-size:18px;font-weight:600;gap:var(--spacing-sm);margin:0}.summary-actions{display:flex;gap:var(--spacing-sm)}.refresh-summary-btn,.toggle-summary-btn{align-items:center;background:#fff;border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:var(--font-size-caption);gap:var(--spacing-xs);padding:6px 12px;transition:all .2s}.refresh-summary-btn:hover,.toggle-summary-btn:hover{background:var(--color-background);color:var(--color-text-primary)}.refresh-summary-btn:disabled{cursor:not-allowed;opacity:.5}.summary-loading{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-body);gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-lg)}.summary-loading .spinner.small{animation:spin 1s linear infinite;border:2px solid var(--color-border);border-radius:50%;border-top:2px solid #3b82f6;height:20px;width:20px}.summary-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.overall-summary{background:linear-gradient(135deg,#eff6ff,#f0fdf4);border-radius:var(--border-radius-md);padding:var(--spacing-md)}.overall-summary p{color:var(--color-text-primary);font-size:var(--font-size-body);line-height:1.6;margin:0 0 var(--spacing-sm) 0}.summary-meta{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.hot-keywords h3,.themes-section h3{color:var(--color-text-primary);font-size:14px;font-weight:600;margin:0 0 var(--spacing-sm) 0}.keyword-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.ai-summary-section .keyword-tag{align-items:center;background:#fff;border:1px solid var(--color-border);border-radius:16px;color:var(--color-text-primary);display:inline-flex;font-size:var(--font-size-caption);gap:4px;padding:4px 10px;transition:all .2s}.ai-summary-section .keyword-tag:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}.ai-summary-section .keyword-count{background:#00000014;border-radius:10px;color:var(--color-text-tertiary);font-size:10px;padding:2px 6px}.ai-summary-section .keyword-tag:hover .keyword-count{background:#fff3;color:#fff}.themes-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.theme-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-md)}.theme-header{margin-bottom:var(--spacing-sm)}.theme-keyword{color:#3b82f6;font-size:var(--font-size-body);font-weight:600}.theme-count{color:var(--color-text-tertiary)}.theme-count,.theme-summary{font-size:var(--font-size-caption)}.theme-summary{color:var(--color-text-secondary);line-height:1.5;margin:0 0 var(--spacing-sm) 0}.theme-articles{border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:6px;padding-top:var(--spacing-sm)}.theme-article{align-items:flex-start;display:flex;gap:var(--spacing-sm);justify-content:space-between}.theme-article .article-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-primary);display:-webkit-box;font-size:12px;line-height:1.4;overflow:hidden;text-overflow:ellipsis}.theme-article .article-source{color:var(--color-text-tertiary);flex-shrink:0;font-size:10px}.category-badge.world{background:#ecfdf5;color:#065f46}.category-badge.childcare{background:#fef3c7;color:#92400e}.category-badge.education{background:#f3e8ff;color:#7c3aed}.category-badge.healthcare{background:#fce7f3;color:#db2777}@media (max-width:768px){.community-news{padding:var(--spacing-md)}.category-filter{gap:var(--spacing-xs)}.category-chip{font-size:11px;padding:5px 10px}.news-card{padding:var(--spacing-sm)}.news-title{font-size:14px}.ai-summary-section{padding:var(--spacing-md)}.ai-summary-section .summary-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.summary-actions{justify-content:flex-end;width:100%}.themes-grid{grid-template-columns:1fr}.theme-article{flex-direction:column;gap:2px}}.news-briefing{margin:0 auto;max-width:900px;padding:var(--spacing-lg)}.briefing-error,.briefing-loading{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:center;min-height:300px}.briefing-loading .spinner{animation:spin 1s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:40px;width:40px}.briefing-error{color:var(--color-text-secondary)}.briefing-error .error-icon{color:#f59e0b}.briefing-error button{background:#3b82f6;border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;font-size:var(--font-size-body);margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg)}.briefing-error button:hover{background:#2563eb}.briefing-header{align-items:flex-start;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.header-content h1{color:var(--color-text-primary);font-size:24px;font-weight:700;margin:0 0 var(--spacing-xs) 0}.briefing-date{color:var(--color-text-secondary);font-size:var(--font-size-body);margin:0}.header-actions{gap:var(--spacing-md)}.generated-time{color:var(--color-text-tertiary)}.generated-time,.regenerate-btn{font-size:var(--font-size-caption)}.regenerate-btn{align-items:center;background:#3b82f6;border:1px solid #3b82f6;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:inline-flex;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s}.regenerate-btn:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.regenerate-btn:disabled{cursor:not-allowed;opacity:.6}.briefing-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.tab-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-body);gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s}.tab-btn:hover{background:var(--color-background);color:var(--color-text-primary)}.tab-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.briefing-content{display:flex;flex-direction:column;gap:var(--spacing-xl)}.briefing-section{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg)}.briefing-section h2{font-size:18px;margin:0 0 var(--spacing-md) 0}.briefing-section h2,.briefing-section h3{align-items:center;color:var(--color-text-primary);display:flex;font-weight:600;gap:var(--spacing-sm)}.briefing-section h3{font-size:16px;margin:0 0 var(--spacing-sm) 0}.summary-list{display:flex;flex-direction:column;gap:var(--spacing-sm);list-style:none;margin:0;padding:0}.summary-item{align-items:flex-start;background:var(--color-surface);border-radius:var(--border-radius-md);display:flex;gap:var(--spacing-md);padding:var(--spacing-md)}.summary-number{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:var(--font-size-caption);font-weight:600;height:24px;justify-content:center;width:24px}.summary-text{color:var(--color-text-primary);font-size:var(--font-size-body);line-height:var(--line-height-body)}.keywords-cloud{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.keyword-tag{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);display:inline-flex;font-size:var(--font-size-caption);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);transition:all .2s}.keyword-tag:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}.keyword-count{background:#0000001a;border-radius:10px;font-size:11px;padding:2px 6px}.keyword-tag:hover .keyword-count{background:#fff3}.keyword-tag.size-1{font-size:12px}.keyword-tag.size-2{font-size:13px}.keyword-tag.size-3{font-size:14px;font-weight:500}.keyword-tag.size-4{font-size:15px;font-weight:500}.keyword-tag.size-5{font-size:16px;font-weight:600}.sector-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.sector-card{align-items:center;background:var(--color-surface);border-left:3px solid var(--color-border);border-radius:var(--border-radius-md);display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);text-align:center}.sector-card.status-positive{background:#10b9810d;border-left-color:#10b981}.sector-card.status-neutral{background:var(--color-surface);border-left-color:#6b7280}.sector-card.status-negative{background:#ef44440d;border-left-color:#ef4444}.sector-name{color:var(--color-text-primary);font-size:var(--font-size-body)}.sector-status{color:var(--color-text-secondary)}.sector-count,.sector-status{font-size:var(--font-size-caption)}.sector-count{color:var(--color-text-tertiary)}.category-bars{gap:var(--spacing-sm)}.category-bar-item{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:100px 1fr 40px}.category-label{color:var(--color-text-secondary);font-size:var(--font-size-caption);text-align:right}.category-bar{background:var(--color-surface);height:20px;overflow:hidden}.category-bar,.category-bar-fill{border-radius:var(--border-radius-sm)}.category-bar-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa);height:100%;transition:width .5s ease-out}.category-count{color:var(--color-text-primary);font-size:var(--font-size-caption);font-weight:500}.briefing-stats{background:var(--color-surface);border-radius:var(--border-radius-md);display:flex;gap:var(--spacing-lg);justify-content:center;padding:var(--spacing-md)}.stat-item{align-items:center;display:flex;font-size:var(--font-size-body);gap:var(--spacing-xs)}.stat-icon,.stat-item{color:var(--color-text-secondary)}.stat-icon{display:inline-flex}.personal-content{gap:var(--spacing-lg)}.keyword-result-section h3{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.keyword-badge{background:var(--color-primary);border-radius:var(--border-radius-md);color:#fff;display:inline-block;font-size:var(--font-size-body);padding:var(--spacing-xs) var(--spacing-sm)}.result-count{color:var(--color-text-tertiary);font-size:var(--font-size-caption);font-weight:400}.keyword-articles{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;margin:0;padding:0}.keyword-article{align-items:center;background:var(--color-surface);border-radius:var(--border-radius-sm);display:flex;gap:var(--spacing-md);justify-content:space-between;padding:var(--spacing-sm)}.keyword-article a{color:var(--color-text-primary);flex:1 1;font-size:var(--font-size-body);overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.keyword-article a:hover{color:var(--color-primary)}.article-source{flex-shrink:0;font-size:var(--font-size-caption)}.article-source,.empty-message{color:var(--color-text-tertiary)}.empty-message{font-size:var(--font-size-body);padding:var(--spacing-lg);text-align:center}.empty-personal{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl);text-align:center}.empty-personal .empty-icon{color:#94a3b8;margin-bottom:var(--spacing-md)}.empty-personal h3{color:var(--color-text-primary);font-size:18px;margin:0 0 var(--spacing-sm) 0}.empty-personal p{color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-body);margin:0}.themes-content{gap:var(--spacing-lg)}.themes-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding-bottom:var(--spacing-md)}.themes-description{color:var(--color-text-secondary);font-size:var(--font-size-body);margin:0}.refresh-themes-btn{align-items:center;background:#3b82f6;border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--font-size-caption);gap:var(--spacing-xs);padding:8px 16px;transition:all .2s}.refresh-themes-btn:hover:not(:disabled){background:#2563eb}.refresh-themes-btn:disabled{cursor:not-allowed;opacity:.6}.theme-loading{align-items:center;color:var(--color-text-secondary);justify-content:center;padding:var(--spacing-2xl)}.theme-issues-grid,.theme-loading{display:flex;flex-direction:column;gap:var(--spacing-md)}.theme-issue-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);transition:all .2s}.theme-issue-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.theme-issue-header{align-items:center;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.theme-rank{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;color:#fff;display:flex;font-size:12px;height:28px;justify-content:center;width:28px}.theme-keyword-title{color:var(--color-text-primary);font-size:18px;font-weight:700}.theme-article-count{background:var(--color-surface);border-radius:12px;color:var(--color-text-tertiary);font-size:var(--font-size-caption);margin-left:auto;padding:4px 10px}.theme-issue-summary{background:linear-gradient(135deg,#f0f9ff,#f0fdf4);border-left:3px solid #3b82f6;border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-body);line-height:1.7;margin:0 0 var(--spacing-md) 0;padding:var(--spacing-md)}.theme-related-articles{display:flex;flex-direction:column;gap:8px}.theme-article-link{align-items:flex-start;background:var(--color-surface);border-radius:var(--border-radius-md);display:flex;gap:var(--spacing-sm);padding:10px 12px;text-decoration:none;transition:all .2s}.theme-article-link:hover{background:#eff6ff}.mini-badge{background:var(--color-background);border-radius:4px;color:var(--color-text-secondary);flex-shrink:0;font-size:10px;font-weight:500;padding:2px 6px}.mini-badge.entertainment{background:#fce7f3;color:#be185d}.mini-badge.sports{background:#dbeafe;color:#1d4ed8}.mini-badge.headlines{background:#fee2e2;color:#b91c1c}.mini-badge.business{background:#e0e7ff;color:#4338ca}.mini-badge.technology{background:#cffafe;color:#0e7490}.mini-badge.economy,.mini-badge.stock{background:#d1fae5;color:#047857}.mini-badge.ai{background:#ede9fe;color:#6d28d9}.mini-badge.world{background:#ecfdf5;color:#065f46}.mini-badge.childcare{background:#fef3c7;color:#92400e}.mini-badge.education{background:#f3e8ff;color:#7c3aed}.mini-badge.healthcare{background:#fce7f3;color:#db2777}.article-link-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-primary);display:-webkit-box;line-height:1.4;overflow:hidden;text-overflow:ellipsis}.article-link-title,.themes-stats{font-size:var(--font-size-caption)}.themes-stats{align-items:center;background:var(--color-surface);border-radius:var(--border-radius-md);color:var(--color-text-secondary);display:flex;justify-content:space-between;padding:var(--spacing-md)}.themes-time{color:var(--color-text-tertiary)}.empty-themes{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl);text-align:center}.empty-themes .empty-icon{color:#94a3b8;margin-bottom:var(--spacing-md)}.empty-themes h3{color:var(--color-text-primary);font-size:18px;margin:0 0 var(--spacing-sm) 0}.empty-themes p{color:var(--color-text-secondary);font-size:var(--font-size-body);margin:0}@media (max-width:768px){.news-briefing{padding:var(--spacing-md)}.briefing-header{flex-direction:column;gap:var(--spacing-md)}.header-actions{justify-content:space-between;width:100%}.briefing-tabs{flex-wrap:wrap}.tab-btn{flex:1 1;text-align:center}.sector-grid{grid-template-columns:repeat(2,1fr)}.category-bar-item{gap:var(--spacing-sm);grid-template-columns:80px 1fr 30px}.keyword-article{align-items:flex-start;flex-direction:column;gap:var(--spacing-xs)}.keyword-article a{white-space:normal}.themes-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.refresh-themes-btn{justify-content:center;width:100%}.theme-issue-header{flex-wrap:wrap}.theme-article-count{margin-left:0;margin-top:var(--spacing-xs);text-align:center;width:100%}.theme-issue-card{padding:var(--spacing-md)}.themes-stats{flex-direction:column;gap:var(--spacing-xs);text-align:center}}.games-container{margin:0 auto;max-width:1200px;padding:2rem}.games-header{margin-bottom:3rem;text-align:center}.games-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:.5rem}.games-header h1{color:#1d1d1f;font-size:2.5rem;font-weight:600;margin:0}.header-buttons{align-items:center;display:flex;gap:.75rem}.ranking-btn{border:none;border-radius:20px;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.ranking-btn.main{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1d1d1f}.ranking-btn.main:hover{box-shadow:0 4px 12px #fbbf2466;transform:scale(1.05)}.fullscreen-toggle{display:none}.games-header p{color:#666;font-size:1.1rem}.games-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.game-card{background:#fff;border:1px solid #e5e5e5;border-radius:16px;cursor:pointer;padding:2rem;text-align:center;transition:all .2s ease}.game-card:hover{border-color:#3b82f6;box-shadow:0 8px 24px #0000001a;transform:translateY(-4px)}.game-card:active{transform:translateY(-2px)}.game-icon{align-items:center;display:flex;font-size:4rem;height:4.5rem;justify-content:center;line-height:1;margin-bottom:1rem}.game-card h3{color:#1d1d1f;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.game-card p{color:#666;font-size:.95rem;line-height:1.5;margin-bottom:.75rem}.game-top-score{background:#fef3c7;border-radius:20px;color:#f59e0b;display:inline-block;font-size:.85rem;font-weight:500;padding:.5rem 1rem}.game-play-area{margin:0 auto;max-width:600px;padding:1rem}.game-header-bar{align-items:center;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.game-header-bar h2{color:#1d1d1f;font-size:1.5rem;font-weight:600;margin:0}.back-btn{border-radius:8px;color:#3b82f6;font-size:1rem;padding:.5rem;transition:background .2s}.back-btn:hover{background:#f0f7ff}.game-score{background:#f5f5f5;border-radius:20px;color:#666;font-size:.9rem;padding:.5rem 1rem}.sound-toggle{align-items:center;background:#f5f5f5;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;height:40px;justify-content:center;transition:all .2s;width:40px}.sound-toggle:hover{background:#e5e5e5;transform:scale(1.05)}.sound-toggle:active{transform:scale(.95)}.sound-toggle.muted{background:#fee2e2}.game-btn{background:#1d1d1f;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.game-btn:hover{background:#333}.game-btn:active{transform:scale(.98)}.game-btn.secondary{background:#f5f5f5;color:#333}.game-btn.secondary:hover{background:#e5e5e5}.game-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.reset-btn{display:block;margin:1.5rem auto 0}.game-complete{background:linear-gradient(135deg,#f0f7ff,#e8f5e9);border-radius:16px;margin-bottom:1.5rem;padding:2rem;text-align:center}.game-complete h3{font-size:1.5rem;margin-bottom:.5rem}.game-complete p{color:#666;margin-bottom:1rem}.memory-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);margin-bottom:1rem}.memory-card{aspect-ratio:1;cursor:pointer;perspective:1000px}.card-inner{height:100%;position:relative;transform-style:preserve-3d;transition:transform .5s;width:100%}.memory-card.flipped .card-inner{transform:rotateY(180deg)}.card-back,.card-front{align-items:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:12px;display:flex;font-size:2rem;font-weight:600;height:100%;justify-content:center;position:absolute;width:100%}.card-front{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.card-back{background:#fff;border:2px solid #e5e5e5;transform:rotateY(180deg)}.memory-card.matched .card-back{background:#e8f5e9;border-color:#4caf50}.ttt-status{color:#1d1d1f;font-size:1.25rem;font-weight:500;margin-bottom:1.5rem;text-align:center}.ttt-board{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:300px}.ttt-cell{aspect-ratio:1;background:#f5f5f5;border:none;border-radius:12px;cursor:pointer;font-size:2.5rem;font-weight:700;transition:all .2s}.ttt-cell:hover:not(:disabled){background:#e5e5e5}.ttt-cell.X{color:#3b82f6}.ttt-cell.O{color:#ef4444}.ttt-cell.winning{animation:pulse .5s ease-in-out infinite alternate;background:#fef3c7}.sudoku-area{text-align:center}.sudoku-controls{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:1.5rem}.difficulty-select{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border:none;border-radius:12px;color:#0369a1;cursor:pointer;font-size:.95rem;font-weight:500;outline:none;padding:.6rem 1.25rem;transition:all .2s}.difficulty-select:hover{background:linear-gradient(135deg,#bae6fd,#7dd3fc)}.difficulty-select:focus{box-shadow:0 0 0 3px #38bdf84d}.game-btn.small{background:linear-gradient(135deg,#0ea5e9,#0284c7);border-radius:12px;font-size:.9rem;padding:.6rem 1.25rem}.game-btn.small:hover{background:linear-gradient(135deg,#0284c7,#0369a1)}.sudoku-timer{color:#0369a1;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.sudoku-board{background:linear-gradient(145deg,#e0f2fe,#f0f9ff 50%,#e0f2fe);border:3px solid #7dd3fc;border-radius:16px;box-shadow:0 4px 20px #0ea5e926,inset 0 1px 0 #fffc;display:flex;flex-direction:column;margin:0 auto 1.5rem;max-width:380px;padding:6px}.sudoku-row{display:flex}.sudoku-cell{align-items:center;aspect-ratio:1;background:linear-gradient(145deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;color:#1e3a5f;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,sans-serif;font-size:1.35rem;font-weight:600;justify-content:center;transition:all .15s ease;width:11.11111%}.sudoku-cell:hover:not(.initial):not(.selected){background:linear-gradient(145deg,#bae6fd,#7dd3fc)}.sudoku-cell.initial{background:linear-gradient(145deg,#dbeafe,#bfdbfe);color:#d95b15;cursor:default;font-weight:700}.sudoku-cell.selected{background:linear-gradient(145deg,#38bdf8,#0ea5e9);box-shadow:inset 0 2px 4px #0000001a;color:#fff}.sudoku-cell.highlighted{background:linear-gradient(145deg,#bae6fd,#93c5fd)}.sudoku-cell.error{background:linear-gradient(145deg,#fecaca,#fca5a5);color:#dc2626}.sudoku-cell.border-right{border-right:3px solid #38bdf8}.sudoku-cell.border-bottom{border-bottom:3px solid #38bdf8}.sudoku-cell.initial.border-bottom,.sudoku-cell.initial.border-right,.sudoku-row:first-child .sudoku-cell:nth-child(-n+3),.sudoku-row:first-child .sudoku-cell:nth-child(n+7),.sudoku-row:nth-child(2) .sudoku-cell:nth-child(-n+3),.sudoku-row:nth-child(2) .sudoku-cell:nth-child(n+7),.sudoku-row:nth-child(3) .sudoku-cell:nth-child(-n+3),.sudoku-row:nth-child(3) .sudoku-cell:nth-child(n+7),.sudoku-row:nth-child(4) .sudoku-cell:nth-child(n+4):nth-child(-n+6),.sudoku-row:nth-child(5) .sudoku-cell:nth-child(n+4):nth-child(-n+6),.sudoku-row:nth-child(6) .sudoku-cell:nth-child(n+4):nth-child(-n+6),.sudoku-row:nth-child(7) .sudoku-cell:nth-child(-n+3),.sudoku-row:nth-child(7) .sudoku-cell:nth-child(n+7),.sudoku-row:nth-child(8) .sudoku-cell:nth-child(-n+3),.sudoku-row:nth-child(8) .sudoku-cell:nth-child(n+7),.sudoku-row:nth-child(9) .sudoku-cell:nth-child(-n+3),.sudoku-row:nth-child(9) .sudoku-cell:nth-child(n+7){background:linear-gradient(145deg,#dbeafe,#bfdbfe)}.sudoku-numpad{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:0 auto;max-width:380px}.numpad-btn{background:linear-gradient(145deg,#e0f2fe,#bae6fd);border:none;border-radius:12px;box-shadow:0 2px 8px #0ea5e926;color:#0369a1;cursor:pointer;font-size:1.2rem;font-weight:600;height:40px;transition:all .2s;width:40px}.numpad-btn:hover{background:linear-gradient(145deg,#7dd3fc,#38bdf8);box-shadow:0 4px 12px #0ea5e940;color:#fff;transform:translateY(-2px)}.numpad-btn:active{transform:translateY(0)}.numpad-btn.erase{background:linear-gradient(145deg,#fecaca,#fca5a5);color:#dc2626;font-size:1rem;padding:0 1.25rem;width:auto}.numpad-btn.erase:hover{background:linear-gradient(145deg,#f87171,#ef4444);color:#fff}.sudoku-lives{background:#fff;border:1px solid #dc26261a;border-radius:16px;box-shadow:0 2px 12px #0000000f;gap:1rem;justify-content:center;margin-bottom:1.25rem;margin-left:auto;margin-right:auto;max-width:380px;padding:.875rem 1.25rem}.lives-label,.sudoku-lives{align-items:center;display:flex}.lives-label{color:#1d1d1f;font-size:.9rem;font-weight:600;gap:.5rem}.lives-label:before{content:"❤️";font-size:1rem}.lives-hearts{display:flex;flex:1 1;gap:3px;justify-content:center}.lives-hearts .heart{background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:50%;box-shadow:0 1px 3px #dc26264d;height:12px;transition:all .3s cubic-bezier(.4,0,.2,1);width:12px}.lives-hearts .heart.lost{background:#e5e5e5;box-shadow:none;transform:scale(.8)}.lives-count{font-feature-settings:"tnum";color:#dc2626;font-size:1rem;font-variant-numeric:tabular-nums;font-weight:700;min-width:55px;text-align:right}.sudoku-gameover{animation:slideUp .4s ease-out;background:#fff;border:1px solid #dc262633;border-radius:20px;box-shadow:0 8px 32px #dc262626;margin-bottom:1.25rem;margin-left:auto;margin-right:auto;max-width:380px;padding:2rem;text-align:center}.sudoku-gameover h3{color:#dc2626;font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .75rem}.sudoku-gameover p{color:#666;font-size:1rem;line-height:1.5;margin:0 0 1.5rem}.sudoku-gameover .game-btn{background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:12px;font-size:1rem;font-weight:600;padding:.875rem 2rem}.sudoku-gameover .game-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:scale(1.02)}.sudoku-board.game-over{filter:grayscale(.3) blur(1px);opacity:.4;pointer-events:none;transition:all .3s ease}.gostop-container{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,sans-serif;margin:0 auto;max-width:800px;padding:1.5rem}.gostop-header{margin-bottom:1.5rem;text-align:center}.gostop-header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.gostop-header h1{color:#1d1d1f;font-size:2rem;font-weight:700;letter-spacing:-.03em;margin:0}.gostop-chips-display,.header-actions{align-items:center;gap:.5rem}.gostop-chips-display{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:980px;box-shadow:0 2px 8px #fbbf2433;display:inline-flex;padding:.5rem 1.25rem}.chips-amount,.chips-icon{font-size:1.25rem}.chips-amount{color:#92400e;font-weight:700}.chips-label{color:#a16207;font-size:.85rem;font-weight:500}.gostop-message-bar{background:linear-gradient(135deg,#f5f5f7,#fff);border-radius:16px;box-shadow:0 2px 12px #0000000a;margin-bottom:1.5rem;padding:.875rem 1.25rem}.gostop-message-bar p{color:#1d1d1f;font-size:1rem;font-weight:600;margin:0;text-align:center}.gostop-content{display:flex;flex-direction:column;gap:1.25rem}.section-card{background:#fff;border-radius:24px;box-shadow:0 4px 24px #0000000f;padding:1.5rem}.section-header{margin-bottom:1.25rem;padding-bottom:.875rem}.section-header h2{font-size:1.25rem}.betting-section{display:flex;flex-direction:column;gap:1.25rem}.bet-chips-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);margin-bottom:1.5rem}.bet-chip{align-items:center;background:#f5f5f7;border:none;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;padding:1.25rem .75rem;transition:all .3s ease}.bet-chip:hover:not(:disabled){background:#e8e8ed;transform:translateY(-2px)}.bet-chip.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 6px 20px #667eea4d}.bet-chip.active .chip-icon,.bet-chip.active .chip-value{color:#fff}.bet-chip:disabled{cursor:not-allowed;opacity:.4}.chip-icon{font-size:1.75rem}.chip-value{color:#1d1d1f;font-size:1.1rem;font-weight:700}.start-game-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:980px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem;transition:all .3s ease;width:100%}.start-game-btn:hover{box-shadow:0 6px 24px #667eea59;transform:scale(1.02)}.rules-card{background:#fbfbfd}.rules-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,1fr)}.rule-item{align-items:flex-start;border-radius:12px;box-shadow:0 2px 8px #0000000a;gap:.75rem;padding:.75rem}.rule-icon{flex-shrink:0;font-size:1.5rem}.rule-text strong{color:#1d1d1f;display:block;font-size:.9rem;margin-bottom:.25rem}.rule-text p{color:#86868b;font-size:.8rem;margin:0}.opponent-section{background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.opponent-header{align-items:center;display:flex;gap:1rem;margin-bottom:.75rem}.opponent-avatar{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px #00000014;display:flex;font-size:2rem;height:48px;justify-content:center;width:48px}.opponent-info{flex:1 1}.opponent-name{color:#1d1d1f;display:block;font-size:1rem;font-weight:600}.opponent-cards-count{color:#86868b;font-size:.85rem}.opponent-score-display{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:12px;box-shadow:0 2px 8px #fbbf244d;padding:.5rem 1rem;text-align:center}.score-value{color:#1d1d1f;display:block;font-size:1.25rem;font-weight:700}.score-label{color:#92400e;font-size:.75rem}.collected-cards-bar,.player-collected-bar{background:#00000008;border-radius:12px;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;min-height:40px;padding:.75rem}.collected-chip{border-radius:980px;font-size:.8rem;font-weight:600;padding:.35rem .875rem}.collected-chip.gwang{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 2px 6px #fbbf2466;color:#1d1d1f}.collected-chip.yeol{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 6px #ef444466;color:#fff}.collected-chip.tti{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 6px #3b82f666;color:#fff}.collected-chip.pi{background:#e5e5e5;color:#666}.player-score-chip{background:linear-gradient(135deg,#10b981,#059669);border-radius:980px;box-shadow:0 2px 8px #10b98166;color:#fff;font-size:.9rem;font-weight:700;padding:.35rem 1rem}.field-section{background:linear-gradient(145deg,#0d5c2e,#1a7a40 50%,#0d5c2e);border:3px solid #0a4a24}.field-section .section-header{border-bottom-color:#ffffff26}.field-section .section-header h2{color:#ffffffe6}.field-count{background:#ffffff26;border-radius:980px;color:#fffc;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.field-cards-container{min-height:100px}.empty-field{color:#ffffff80;font-size:.9rem;padding:2rem;text-align:center}.hwatu-cards-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.hand-grid{background:#00000005;border-radius:16px;padding:.5rem}.hwatu-card-new{background:#1a1a1a;border:2px solid #c41e3a;border-radius:6px;box-shadow:0 4px 12px #0000004d,0 1px 3px #0003;cursor:pointer;height:90px;overflow:hidden;position:relative;transition:all .25s ease;width:60px}.hwatu-card-new.small{height:78px;width:52px}.hwatu-card-new.mini{border-radius:4px;border-width:1.5px;cursor:default;height:60px;width:40px}.hwatu-card-inner{height:100%;position:relative;width:100%}.hwatu-image-container{align-items:center;background:linear-gradient(145deg,#fffbeb,#fff7ed);display:flex;height:100%;justify-content:center;width:100%}.hwatu-real-image{display:block;height:100%;object-fit:cover;width:100%}.hwatu-fallback{color:#666;font-size:.8rem;font-weight:600}.hwatu-overlay{background:linear-gradient(#0000,#000000b3);bottom:0;display:flex;justify-content:center;left:0;padding:2px;position:absolute;right:0}.hwatu-card-new.mini .hwatu-overlay{display:none}.collected-cards-display{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.collected-group{background:#fff9;border-left:3px solid #e5e5e5;border-radius:12px;padding:.5rem .75rem}.collected-group.gwang{background:linear-gradient(135deg,#fbbf2426,#f59e0b1a);border-left-color:#f59e0b}.collected-group.yeol{background:linear-gradient(135deg,#ef44441a,#dc26260d);border-left-color:#ef4444}.collected-group.tti{background:linear-gradient(135deg,#3b82f61a,#2563eb0d);border-left-color:#3b82f6}.collected-group.pi{background:#00000008;border-left-color:#9ca3af}.collected-group-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.group-label{border-radius:6px;color:#fff;font-size:.75rem;font-weight:700;padding:.2rem .5rem}.collected-group.gwang .group-label{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1d1d1f}.collected-group.yeol .group-label{background:linear-gradient(135deg,#ef4444,#dc2626)}.collected-group.tti .group-label{background:linear-gradient(135deg,#3b82f6,#2563eb)}.collected-group.pi .group-label{background:#9ca3af}.group-count{color:#86868b;font-size:.7rem;font-weight:600}.collected-cards-row{display:flex;flex-wrap:wrap;gap:4px}.player-collected-section{margin-bottom:.75rem}.player-collected-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.collected-title,.player-collected-header h3{color:#1d1d1f;font-size:.9rem;font-weight:600;margin:0}.no-collected{background:#00000005;border-radius:8px;color:#86868b;font-size:.85rem;padding:1rem;text-align:center}.hwatu-card-new:hover:not(.disabled):not(.mini){box-shadow:0 12px 24px #0003,0 4px 8px #00000026;transform:translateY(-6px) scale(1.02)}.hwatu-card-new.selected{border-color:#3b82f6;box-shadow:0 16px 32px #3b82f64d,0 6px 12px #3b82f633;transform:translateY(-10px) scale(1.05)}.hwatu-card-new.disabled{cursor:default;opacity:.6}.hwatu-card-new.playing{animation:cardPlay .8s ease-out forwards;z-index:100}@keyframes cardPlay{0%{transform:scale(1)}40%{box-shadow:0 25px 50px #0006;transform:scale(1.2) translateY(-25px)}to{box-shadow:0 20px 40px #3b82f666;transform:scale(1.1) translateY(-20px)}}.hwatu-card-new.matched{animation:cardMatch .7s ease-in-out infinite;z-index:50}@keyframes cardMatch{0%,to{box-shadow:0 0 0 0 #fbbf24cc;transform:scale(1)}50%{box-shadow:0 0 30px 12px #fbbf2499;transform:scale(1.12)}}.hwatu-card-new.clickable{animation:cardPulse 1.5s ease-in-out infinite;cursor:pointer}@keyframes cardPulse{0%,to{box-shadow:0 0 0 0 #3b82f6b3;transform:scale(1)}50%{box-shadow:0 0 20px 8px #3b82f680;transform:scale(1.08)}}.hwatu-card-new.clickable:hover{box-shadow:0 8px 24px #3b82f666;transform:scale(1.1)}.selection-hint{animation:hintBounce 2s ease-in-out infinite;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;color:#fff;font-size:1rem;font-weight:500;margin-top:1rem;padding:1rem;text-align:center}@keyframes hintBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.card-play-effect{animation:playGlow .8s ease-out;background:radial-gradient(circle,#ffffffe6 0,#0000 70%);inset:0;pointer-events:none;position:absolute}@keyframes playGlow{0%{opacity:0;transform:scale(.5)}40%{opacity:1}to{opacity:0;transform:scale(1.8)}}.card-match-effect{animation:matchPulse .7s ease-in-out infinite;border:4px solid #fbbf24;border-radius:10px;inset:-6px;pointer-events:none;position:absolute}@keyframes matchPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.08)}}.match-effect-overlay{align-items:center;animation:matchOverlay 1.2s ease-out forwards;background:#0006;border-radius:16px;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:100}@keyframes matchOverlay{0%{opacity:0}15%{opacity:1}75%{opacity:1}to{opacity:0}}.match-text{animation:matchTextPop 1.2s ease-out forwards;color:#fbbf24;font-size:2rem;font-weight:800;text-shadow:0 4px 20px #0009,0 0 40px #fbbf2480}@keyframes matchTextPop{0%{opacity:0;transform:scale(0) rotate(-10deg)}20%{opacity:1;transform:scale(1.4) rotate(5deg)}40%{transform:scale(1.2) rotate(-2deg)}75%{opacity:1;transform:scale(1.2) rotate(0deg)}to{opacity:0;transform:scale(1.1)}}.computer-playing-card-section{align-items:center;animation:computerCardSection .5s ease-out;background:linear-gradient(135deg,#3b82f61a,#9333ea1a);border:2px dashed #3b82f64d;border-radius:12px;display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0;padding:1rem}@keyframes computerCardSection{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.computer-action-label{color:#3b82f6;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.computer-playing-card-container{animation:computerCardPop .6s ease-out}@keyframes computerCardPop{0%{opacity:0;transform:scale(0) rotate(-180deg)}60%{transform:scale(1.1) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.field-cards-container{position:relative}.hand-hint{color:#86868b;font-size:.65rem;font-weight:400;margin-left:auto}.hwatu-type-badge{border-radius:6px;font-size:.5rem;font-weight:700;padding:1px 5px}.hwatu-type-badge.광{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1d1d1f}.hwatu-type-badge.열끗{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.hwatu-type-badge.띠{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.hwatu-type-badge.피{background:#d1d5db;color:#4b5563}.hwatu-subtype{color:#a1a1aa;font-size:.4rem}.player-collected-bar{background:#f5f5f7;margin-bottom:0}.player-hand-section{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #86efac}.hand-count{background:#10b981;border-radius:980px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.play-card-btn{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;border-radius:980px;box-shadow:0 4px 16px #fbbf2459;color:#1d1d1f;cursor:pointer;display:block;font-size:1rem;font-weight:700;margin:1rem auto 0;max-width:200px;padding:.875rem 2rem;transition:all .3s ease;width:100%}.play-card-btn:hover{box-shadow:0 6px 24px #fbbf2473;transform:scale(1.02)}.go-stop-section{display:flex;gap:1rem;justify-content:center}.go-btn,.stop-btn{border:none;border-radius:980px;cursor:pointer;flex:1 1;font-size:1.1rem;font-weight:700;max-width:160px;padding:1rem 2rem;transition:all .3s ease}.go-btn{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 16px #ef444459;color:#fff}.go-btn:hover{box-shadow:0 6px 24px #ef444473;transform:scale(1.05)}.stop-btn{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 16px #10b98159;color:#fff}.stop-btn:hover{box-shadow:0 6px 24px #10b98173;transform:scale(1.05)}.result-section{text-align:center}.result-header{margin-bottom:1.5rem}.result-header h2{color:#1d1d1f;font-size:1.5rem;font-weight:700}.result-comparison{align-items:center;background:#f5f5f7;border-radius:16px;display:flex;gap:1.5rem;justify-content:center;margin-bottom:1.5rem;padding:1.5rem}.result-player{flex:1 1;text-align:center}.result-avatar{font-size:2.5rem;margin-bottom:.5rem}.result-name{color:#86868b;display:block;font-size:.9rem;margin-bottom:.25rem}.result-score{color:#1d1d1f;display:block;font-size:1.5rem;font-weight:700}.go-multiplier{color:#f59e0b;display:block;font-size:.85rem;font-weight:600}.result-vs{background:#fff;border-radius:12px;color:#86868b;font-size:1.1rem;font-weight:700;padding:.5rem 1rem}.result-player.you .result-score{color:#10b981}.score-breakdown-section{background:#f5f5f7;border-radius:16px;margin-bottom:1.5rem;padding:1.25rem;text-align:left}.score-breakdown-section h3{color:#86868b;font-size:.95rem;font-weight:600;margin:0 0 .75rem}.breakdown-list{display:flex;flex-direction:column;gap:.5rem}.breakdown-row{align-items:center;background:#fff;border-radius:8px;display:flex;justify-content:space-between;padding:.5rem .75rem}.breakdown-name{color:#1d1d1f;font-size:.9rem}.breakdown-score{color:#10b981;font-size:.9rem;font-weight:600}.play-again-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:980px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem;transition:all .3s ease;width:100%}.play-again-btn:hover{box-shadow:0 6px 24px #667eea59;transform:scale(1.02)}.poker-area{text-align:center}.poker-info{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-bottom:1.5rem}.poker-chips{background:linear-gradient(135deg,#fef3c7,#fcd34d);color:#92400e;font-weight:600}.poker-chips,.poker-pot{border-radius:12px;padding:.75rem 1.5rem}.poker-pot{background:#f5f5f5;font-weight:500}.poker-table{background:linear-gradient(135deg,#1a472a,#2d5a3c);border-radius:16px;padding:1.5rem}.poker-section,.poker-table{margin-bottom:1.5rem}.poker-section:last-child{margin-bottom:0}.poker-label{color:#ffffffb3;font-size:.85rem;margin-bottom:.5rem}.poker-cards{flex-wrap:wrap;gap:.5rem;min-height:80px}.poker-card,.poker-cards{display:flex;justify-content:center}.poker-card{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0003;cursor:pointer;flex-direction:column;font-size:1.1rem;font-weight:600;gap:.25rem;height:80px;transition:all .2s;width:55px}.poker-card.red{color:#dc2626}.poker-card.black{color:#1d1d1f}.poker-card:hover:not(.disabled):not(.hidden){box-shadow:0 4px 12px #0000004d;transform:translateY(-4px)}.poker-card.selected{border:2px solid #3b82f6;box-shadow:0 6px 16px #3b82f666;transform:translateY(-10px)}.poker-card.hidden{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.poker-card.disabled{cursor:default;opacity:.6}.poker-card .suit{font-size:1.5rem}.poker-card .rank{font-size:1rem}.poker-center{background:#ffffff1a;border-radius:12px;padding:1rem}.poker-message{color:#fff;font-size:1.1rem;font-weight:500;margin-bottom:1rem}.poker-result{color:#fbbf24;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.poker-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.poker-btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.poker-btn.primary{background:#fbbf24;color:#1d1d1f}.poker-btn.primary:hover{background:#f59e0b}.poker-btn.secondary{background:#fff3;color:#fff}.poker-btn.secondary:hover{background:#ffffff4d}.poker-btn.danger{background:#ef4444;color:#fff}.poker-btn.danger:hover{background:#dc2626}.poker-btn:disabled{cursor:not-allowed;opacity:.5}.betting-area{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.bet-input{-moz-appearance:textfield;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;color:#fff;font-size:1rem;padding:.5rem 1rem;text-align:center;width:100px}.bet-input::-webkit-inner-spin-button,.bet-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bet-input:focus{border-color:#fbbf24;outline:none}.bet-input::placeholder{color:#ffffff80}.leaderboard-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.leaderboard-modal{background:#fff;border-radius:16px;max-height:80vh;max-width:400px;overflow-y:auto;padding:2rem;width:100%}.leaderboard-modal h3{color:#1d1d1f;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.leaderboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.leaderboard-header h3{margin:0}.close-btn{background:none;border:none;color:#999;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem;transition:color .2s}.close-btn:hover{color:#333}.leaderboard-content{margin-bottom:1rem}.no-scores{color:#999;padding:2rem;text-align:center}.leaderboard-modal.all-rankings{max-width:500px}.all-rankings-content{display:flex;flex-direction:column;gap:1.5rem}.game-ranking-section{background:#f9fafb;border-radius:12px;padding:1rem}.game-ranking-section h4{align-items:center;color:#1d1d1f;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin-bottom:.75rem}.top-3{display:flex;flex-direction:column;gap:.5rem}.rank-item{align-items:center;background:#fff;border-radius:8px;display:flex;gap:.75rem;padding:.5rem}.rank-item.rank-1{background:linear-gradient(135deg,#fef3c7,#fde68a)}.rank-item.rank-2{background:linear-gradient(135deg,#f3f4f6,#e5e7eb)}.rank-item.rank-3{background:linear-gradient(135deg,#fed7aa,#fdba74)}.rank-item .rank-badge{font-size:1.25rem}.rank-item .rank-name{color:#1d1d1f;flex:1 1;font-weight:500}.rank-item .rank-score{color:#3b82f6;font-weight:600}.leaderboard-modal.score-submit{text-align:center}.final-score{font-size:1.5rem;margin-bottom:.5rem}.final-score strong{color:#3b82f6}.rank-notice{color:#f59e0b;font-weight:600;margin-bottom:1.5rem}.name-input-area{display:flex;gap:.75rem;margin-bottom:1rem}.name-input{border:2px solid #e5e5e5;border-radius:8px;flex:1 1;font-size:1rem;padding:.75rem 1rem;text-align:center}.name-input:focus{border-color:#3b82f6;outline:none}.skip-btn{background:none;border:none;color:#999;cursor:pointer;font-size:.9rem;padding:.5rem}.skip-btn:hover{color:#666}.leaderboard-table{border-collapse:collapse;margin-bottom:1.5rem;width:100%}.leaderboard-table td,.leaderboard-table th{border-bottom:1px solid #e5e5e5;padding:.75rem;text-align:left}.leaderboard-table th{color:#666;font-size:.85rem;font-weight:600;text-transform:uppercase}.leaderboard-table td{color:#1d1d1f}.leaderboard-table tr:last-child td{border-bottom:none}.rank-badge{align-items:center;border-radius:50%;display:inline-flex;font-size:.9rem;font-weight:600;height:28px;justify-content:center;width:28px}.rank-badge.gold{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.rank-badge.silver{background:linear-gradient(135deg,#d1d5db,#9ca3af);color:#fff}.rank-badge.bronze{background:linear-gradient(135deg,#d97706,#b45309);color:#fff}.rank-badge.normal{background:#f5f5f5;color:#666}.leaderboard-empty{color:#666;padding:2rem;text-align:center}.score-submit{background:#f5f5f5;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.score-submit h4{color:#1d1d1f;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.score-submit-form{display:flex;gap:.75rem}.score-submit-input{border:2px solid #e5e5e5;border-radius:8px;flex:1 1;font-size:1rem;padding:.75rem 1rem}.score-submit-input:focus{border-color:#3b82f6;outline:none}.score-submit-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background .2s}.score-submit-btn:hover{background:#2563eb}.leaderboard-close{background:#1d1d1f;border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:1rem;font-weight:500;padding:.75rem;transition:background .2s;width:100%}.leaderboard-close:hover{background:#333}.all-rankings{border-top:1px solid #e5e5e5;margin-top:3rem;padding-top:2rem}.all-rankings h2{color:#1d1d1f;font-size:1.75rem;font-weight:600;margin-bottom:2rem;text-align:center}.rankings-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.ranking-card{background:#fff;border:1px solid #e5e5e5;border-radius:16px;padding:1.5rem}.ranking-card h3{align-items:center;color:#1d1d1f;display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;margin-bottom:1rem}.ranking-card .game-emoji{font-size:1.5rem}.ranking-list{list-style:none;margin:0;padding:0}.ranking-item{align-items:center;border-bottom:1px solid #f5f5f5;display:flex;gap:.75rem;padding:.75rem 0}.ranking-item:last-child{border-bottom:none}.ranking-item .rank{align-items:center;background:#f5f5f5;border-radius:50%;color:#666;display:flex;font-size:.85rem;font-weight:600;height:24px;justify-content:center;width:24px}.ranking-item .rank.top-1{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.ranking-item .rank.top-2{background:linear-gradient(135deg,#d1d5db,#9ca3af);color:#fff}.ranking-item .rank.top-3{background:linear-gradient(135deg,#d97706,#b45309);color:#fff}.ranking-item .name{color:#1d1d1f;flex:1 1;font-weight:500}.ranking-item .score{color:#3b82f6;font-weight:600}.ranking-empty{color:#999;font-size:.9rem;padding:1rem;text-align:center}@media (max-width:768px){.games-container{padding:1.25rem 1rem}.games-title-row{flex-direction:column;gap:.75rem}.games-header h1{font-size:1.75rem}.header-buttons{gap:.5rem}.ranking-btn{font-size:.85rem;padding:.5rem 1rem}.games-header p{font-size:.95rem}.games-grid{gap:.75rem;grid-template-columns:repeat(2,1fr)}.game-card{border-radius:14px;padding:1.25rem 1rem}.game-icon{font-size:2.5rem;height:3rem;margin-bottom:.5rem}.game-card h3{font-size:1rem;margin-bottom:.25rem}.game-card p{font-size:.8rem;line-height:1.4;margin-bottom:.5rem}.game-top-score{font-size:.7rem;padding:.3rem .6rem}.game-play-area{padding:.75rem}.game-header-bar{grid-gap:.5rem;align-items:center;display:grid;gap:.5rem;grid-template-columns:auto 1fr auto;padding-bottom:.75rem}.game-header-bar h2{font-size:1.1rem;margin:0;text-align:center}.back-btn{font-size:.9rem;padding:.4rem .6rem}.header-right{align-items:center;display:flex;gap:.4rem}.game-score{font-size:.75rem;padding:.35rem .6rem;white-space:nowrap}.sound-toggle{font-size:1rem;height:34px;width:34px}.ranking-btn:not(.main){font-size:.85rem;min-width:34px;padding:.35rem .5rem}.memory-grid{gap:.4rem;margin:0 auto;max-width:320px}.card-back,.card-front{border-radius:10px;font-size:1.4rem}.memory-card{border-radius:10px}.game-complete{border-radius:14px;margin-bottom:1rem;padding:1.25rem}.game-complete h3{font-size:1.25rem}.game-complete p{font-size:.9rem}.ttt-status{font-size:1.1rem;margin-bottom:1rem}.ttt-board{gap:6px;max-width:280px}.ttt-cell{border-radius:10px;font-size:2.25rem}.game-buttons{flex-direction:row;gap:.75rem}.game-btn{border-radius:10px;font-size:.9rem;padding:.65rem 1.25rem}.sudoku-area .game-header-bar{margin-bottom:.75rem}.sudoku-lives{border-radius:12px;gap:.6rem;margin-bottom:.875rem;max-width:100%;padding:.6rem .875rem}.lives-label{font-size:.8rem}.lives-label:before{font-size:.85rem}.lives-hearts{gap:2px}.lives-hearts .heart{height:10px;width:10px}.lives-count{font-size:.85rem;min-width:45px}.sudoku-controls{gap:.5rem;margin-bottom:1rem}.difficulty-select{padding:.5rem .875rem}.difficulty-select,.game-btn.small{border-radius:10px;font-size:.85rem}.game-btn.small{padding:.5rem 1rem}.sudoku-board{border-radius:12px;border-width:2px;margin-bottom:1rem;max-width:100%;padding:4px}.sudoku-cell{border-width:1px;font-size:1rem}.sudoku-cell.border-right{border-right-width:2px}.sudoku-cell.border-bottom{border-bottom-width:2px}.sudoku-numpad{gap:.35rem;max-width:100%}.numpad-btn{border-radius:8px;font-size:1.1rem;height:38px;width:32px}.numpad-btn.erase{font-size:.9rem;padding:0 .875rem}.sudoku-gameover{border-radius:16px;max-width:100%;padding:1.5rem}.sudoku-gameover h3{font-size:1.35rem}.sudoku-gameover p{font-size:.9rem;margin-bottom:1.25rem}.sudoku-gameover .game-btn{font-size:.95rem;padding:.75rem 1.5rem}.game-play-area.fullscreen-mode,.gostop-container.fullscreen-mode{-webkit-overflow-scrolling:touch;background:#f5f5f7;bottom:0;left:0;max-width:none;overflow-y:auto;padding:0;position:fixed;right:0;top:0;z-index:9999}.game-play-area.fullscreen-mode .game-header-bar{background:#fff;border-bottom:1px solid #e5e5e5;margin-bottom:0;padding:.75rem 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.game-play-area.fullscreen-mode .sudoku-area{padding:.75rem}.gostop-container.fullscreen-mode .gostop-header{background:#fff;border-bottom:1px solid #e5e5e5;margin-bottom:0;padding:.75rem 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.gostop-container.fullscreen-mode .gostop-content{padding:.75rem}.fullscreen-toggle{align-items:center;background:#f5f5f7;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;font-size:1.1rem;height:36px;justify-content:center;transition:all .2s;width:36px}.fullscreen-toggle:hover{background:#e8e8ed}.fullscreen-toggle:active{transform:scale(.95)}.gostop-container{padding:1rem}.gostop-header-top{gap:.5rem}.gostop-header h1{font-size:1.5rem}.gostop-chips-display{padding:.4rem 1rem}.chips-amount,.chips-icon{font-size:1rem}.chips-label{font-size:.75rem}.gostop-message-bar{border-radius:12px;margin-bottom:1rem;padding:.625rem 1rem}.gostop-message-bar p{font-size:.9rem}.gostop-content{gap:1rem}.section-card{border-radius:16px;padding:1rem}.section-header{margin-bottom:1rem;padding-bottom:.625rem}.section-header h2{font-size:1rem}.bet-chips-grid{gap:.5rem;grid-template-columns:repeat(2,1fr);margin-bottom:1rem}.bet-chip{border-radius:12px;padding:1rem .5rem}.chip-icon{font-size:1.5rem}.chip-value{font-size:1rem}.start-game-btn{font-size:1rem;padding:.875rem}.rules-grid{gap:.625rem;grid-template-columns:1fr}.rule-item{padding:.625rem}.rule-icon{font-size:1.25rem}.rule-text strong{font-size:.85rem}.rule-text p{font-size:.75rem}.opponent-header{gap:.75rem}.opponent-avatar{font-size:1.5rem;height:40px;width:40px}.opponent-name{font-size:.9rem}.opponent-cards-count{font-size:.75rem}.opponent-score-display{border-radius:10px;padding:.4rem .75rem}.score-value{font-size:1.1rem}.score-label{font-size:.65rem}.collected-cards-bar,.player-collected-bar{gap:.35rem;min-height:32px;padding:.5rem}.collected-chip{font-size:.7rem;padding:.25rem .625rem}.player-score-chip{font-size:.8rem;padding:.25rem .75rem}.field-section{border-width:2px}.field-count{font-size:.7rem;padding:.2rem .5rem}.field-cards-container{min-height:80px}.empty-field{font-size:.8rem;padding:1.5rem}.hwatu-cards-grid{gap:5px}.hwatu-card-new{border-radius:5px;border-width:1.5px;height:78px;width:52px}.hwatu-card-new.small{height:69px;width:46px}.hwatu-overlay{padding:1px}.hwatu-type-badge{font-size:.4rem;padding:.5px 4px}.hand-count{font-size:.7rem;padding:.2rem .5rem}.hand-grid{border-radius:10px;padding:.35rem}.collected-cards-display{gap:.5rem;margin-top:.5rem}.collected-group{border-left-width:2px;border-radius:8px;padding:.4rem .5rem}.collected-group-header{gap:.35rem;margin-bottom:.35rem}.group-label{border-radius:4px;font-size:.65rem;padding:.15rem .4rem}.group-count{font-size:.6rem}.collected-cards-row{gap:3px}.hwatu-card-new.mini{border-radius:3px;border-width:1px;height:51px;width:34px}.player-collected-section{margin-bottom:.5rem}.collected-title,.player-collected-header h3{font-size:.8rem}.no-collected{border-radius:6px;font-size:.75rem;padding:.75rem}.hwatu-card-new:hover:not(.disabled){transform:translateY(-4px)}.hwatu-card-new.selected{transform:translateY(-7px)}.play-card-btn{font-size:.9rem;max-width:180px;padding:.65rem 1.5rem}.go-stop-section{gap:.75rem}.go-btn,.stop-btn{font-size:1rem;max-width:140px;padding:.75rem 1.5rem}.result-header h2{font-size:1.25rem}.result-comparison{border-radius:12px;gap:1rem;padding:1rem}.result-avatar{font-size:2rem}.result-name{font-size:.8rem}.result-score{font-size:1.25rem}.go-multiplier{font-size:.75rem}.result-vs{border-radius:8px;font-size:.9rem;padding:.35rem .75rem}.score-breakdown-section{border-radius:12px;margin-bottom:1rem;padding:1rem}.score-breakdown-section h3{font-size:.85rem;margin-bottom:.5rem}.breakdown-row{border-radius:6px;padding:.4rem .5rem}.breakdown-name,.breakdown-score{font-size:.8rem}.play-again-btn{font-size:1rem;padding:.875rem}.poker-area .game-header-bar,.poker-message{margin-bottom:.75rem}.poker-message{font-size:1rem;padding:.5rem}.poker-table{border-radius:14px;padding:1rem}.opponent-hand,.player-hand{margin-bottom:1rem}.opponent-hand p,.player-hand p{color:#fffc;font-size:.9rem;margin-bottom:.5rem}.cards{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center}.poker-card{border-radius:6px;font-size:.85rem;height:62px;width:44px}.poker-card .card-value{font-size:.95rem}.poker-card .card-suit{font-size:1.1rem}.poker-card.selected{transform:translateY(-6px)}.exchange-controls{margin-top:1rem}.exchange-controls .game-btn{padding:.65rem 1.25rem}.leaderboard-overlay{padding:.75rem}.leaderboard-modal{border-radius:16px;margin:0;max-height:85vh;max-width:100%;padding:1.25rem}.leaderboard-header{margin-bottom:1rem}.leaderboard-header h3{font-size:1.15rem}.close-btn{font-size:1.25rem;padding:.25rem}.leaderboard-table{font-size:.85rem}.leaderboard-table td,.leaderboard-table th{padding:.5rem .4rem}.leaderboard-table .rank{font-size:1rem}.leaderboard-table .date{font-size:.75rem}.leaderboard-modal.score-submit{padding:1.5rem}.final-score{font-size:1.25rem}.rank-notice{font-size:1rem;margin-bottom:1rem}.name-input-area{flex-direction:column;gap:.75rem}.name-input{font-size:1rem;padding:.65rem 1rem;width:100%}.name-input-area .game-btn{padding:.65rem;width:100%}.skip-btn{margin-top:.5rem}.leaderboard-modal.all-rankings{max-width:100%}.all-rankings-content{gap:1rem}.game-ranking-section{border-radius:10px;padding:.875rem}.game-ranking-section h4{font-size:.95rem;margin-bottom:.6rem}.top-3{gap:.4rem}.rank-item{border-radius:8px;padding:.5rem}.rank-item .rank-badge{font-size:1rem}.rank-item .rank-name{font-size:.9rem}.no-scores,.rank-item .rank-score{font-size:.85rem}.no-scores{padding:1rem}.loading-scores{padding:2rem}}@media (max-width:360px){.games-grid{grid-template-columns:1fr}.game-card{padding:1.5rem}.game-icon{font-size:3rem;height:3.5rem}.sudoku-cell{font-size:.9rem}.numpad-btn{font-size:1rem;height:34px;width:28px}.lives-hearts .heart{height:8px;width:8px}.hwatu-card{height:52px;padding:3px 2px;width:36px}.hwatu-month{font-size:.5rem;padding:1px 4px}.hwatu-symbol{font-size:1rem}.hwatu-type{font-size:.4rem;padding:1px 3px}.bet-btn{font-size:.9rem;min-width:55px;padding:.6rem 1rem}.go-btn,.stop-btn{font-size:.95rem;padding:.7rem 1.25rem}.matgo-table{padding:.75rem}.field-cards-grid,.hand-cards{gap:4px}.poker-card{height:54px;width:38px}}.family-calendar{margin:0 auto;max-width:1200px;padding:20px}.calendar-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 320px}.calendar-main{background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;padding:24px}.calendar-header{justify-content:space-between;margin-bottom:24px}.calendar-header,.calendar-nav{align-items:center;display:flex}.calendar-nav{gap:16px}.nav-btn{align-items:center;background:#f5f5f7;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.nav-btn:hover{background:#e5e5e7}.current-month{color:#1d1d1f;font-size:24px;font-weight:600;margin:0;min-width:180px;text-align:center}.sidebar-search{background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;padding:16px;position:relative}.search-input-wrapper{align-items:center;background:#f5f5f7;border-radius:10px;display:flex;padding:0 12px;transition:all .2s ease}.search-input-wrapper:focus-within{background:#fff;box-shadow:0 0 0 2px #0071e3}.search-icon{margin-right:8px;opacity:.6}.search-input{background:#0000;border:none;flex:1 1;font-size:14px;min-width:0;outline:none;padding:10px 0;width:100%}.search-input::placeholder{color:#86868b}.search-clear-btn{align-items:center;background:#c7c7cc;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:20px;justify-content:center;line-height:1;width:20px}.search-clear-btn:hover{background:#86868b}.search-results{background:#fff;border:1px solid #e5e5e7;border-radius:12px;margin-top:12px;max-height:300px;overflow-y:auto}.search-results-header{background:#f9f9f9;border-bottom:1px solid #e5e5e7;color:#86868b;font-size:12px;padding:10px 12px}.search-no-results{color:#86868b;font-size:13px;padding:20px 12px;text-align:center}.search-result-item{align-items:center;cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:background .2s ease}.search-result-item:hover{background:#f5f5f7}.search-result-color{border-radius:2px;flex-shrink:0;height:28px;width:3px}.search-result-info{flex:1 1;min-width:0}.search-result-title{color:#1d1d1f;display:block;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-date{color:#86868b;display:block;font-size:11px;margin-top:2px}.search-more{border-top:1px solid #e5e5e7;color:#86868b;font-size:11px;padding:10px 12px;text-align:center}.calendar-actions{display:flex;gap:12px}.today-btn{background:#fff;border:1px solid #d2d2d7;border-radius:980px;color:#1d1d1f;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.today-btn:hover{background:#f5f5f7}.add-event-btn{background:#0071e3;border:none;border-radius:980px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.add-event-btn:hover{background:#0077ed}.google-btn,.google-connected{align-items:center;display:flex;gap:8px}.google-btn{background:#fff;border:1px solid #d2d2d7;border-radius:980px;color:#1d1d1f;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.google-btn:hover{background:#f5f5f7;border-color:#4285f4}.google-btn.connected{background:#e8f0fe;border-color:#4285f4;color:#4285f4}.google-btn:disabled{cursor:not-allowed;opacity:.6}.google-icon{align-items:center;background:linear-gradient(135deg,#4285f4,#34a853,#fbbc05,#ea4335);border-radius:50%;color:#fff;display:flex;font-size:11px;font-weight:700;height:18px;justify-content:center;width:18px}.google-icon.small{font-size:10px;height:16px;width:16px}.refresh-btn{align-items:center;background:#fff;border:1px solid #d2d2d7;border-radius:50%;display:flex;font-size:18px;height:36px;justify-content:center;width:36px}.refresh-btn:hover{background:#f5f5f7;border-color:#4285f4;color:#4285f4}.refresh-btn:disabled{opacity:.6}.google-error{background:#fff3f3;border-radius:10px;color:#ff3b30;font-size:14px;margin-bottom:16px;padding:12px 16px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.weekday{color:#86868b;font-size:13px;font-weight:600;padding:12px 0;text-align:center}.weekday.sunday{color:#ff3b30}.weekday.saturday{color:#0071e3}.calendar-grid{grid-gap:1px;background:#e5e5e7;border-radius:12px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);overflow:hidden}.calendar-day{background:#fff;cursor:pointer;display:flex;flex-direction:column;min-height:90px;min-width:0;overflow:hidden;padding:6px;position:relative;transition:background .2s ease}.calendar-day:hover{background:#f5f5f7}.calendar-day.other-month{background:#fafafa}.calendar-day.other-month .day-number{color:#c7c7cc}.calendar-day.today{background:#f0f7ff}.calendar-day.today .day-number{align-items:center;background:#0071e3;border-radius:50%;color:#fff;display:inline-flex;font-size:14px;font-weight:600;height:28px;justify-content:center;line-height:1;width:28px}.calendar-day.selected{background:#e8f4ff;box-shadow:inset 0 0 0 2px #0071e3}.calendar-day.sunday .day-number{color:#ff3b30}.calendar-day.saturday .day-number{color:#0071e3}.day-number{color:#1d1d1f;font-size:14px;font-weight:500}.day-events{display:flex;flex-direction:column;gap:2px;margin-top:4px;min-width:0;overflow:hidden;width:100%}.event-label{border-radius:3px;color:#fff;display:block;font-size:10px;line-height:1.2;max-width:100%;overflow:hidden;padding:2px 4px;text-overflow:ellipsis;white-space:nowrap}.event-dot{border-radius:50%;height:8px;width:8px}.more-events{color:#86868b;font-size:10px;padding-left:2px}.calendar-sidebar,.sidebar-sections{display:flex;flex-direction:column;gap:20px}.sidebar-section{background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;padding:20px}.sidebar-section h3{color:#1d1d1f;font-size:16px;font-weight:600;margin:0 0 16px}.no-events{color:#86868b;font-size:14px;padding:20px 0;text-align:center}.event-list{display:flex;flex-direction:column;gap:12px}.event-item{align-items:flex-start;background:#f5f5f7;border-radius:12px;display:flex;gap:12px;padding:12px;transition:background .2s ease}.event-item:hover{background:#e5e5e7}.event-color{border-radius:2px;flex-shrink:0;height:100%;min-height:40px;width:4px}.event-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.event-title{color:#1d1d1f;font-size:14px;font-weight:500}.event-time{color:#0071e3;font-size:12px}.event-category{color:#86868b;font-size:11px}.event-actions{display:flex;gap:4px}.event-actions button{background:#0000;border:none;border-radius:6px;cursor:pointer;font-size:14px;height:28px;transition:background .2s ease;width:28px}.edit-btn:hover{background:#0071e31a;color:#0071e3}.delete-btn:hover{background:#ff3b301a;color:#ff3b30}.event-item.google-event{background:#e8f0fe}.event-item.google-event:hover{background:#d3e3fd}.google-badge{background:#4285f4;border-radius:50%;color:#fff;display:inline-flex;font-size:9px;font-weight:700;height:16px;margin-left:6px;vertical-align:middle;width:16px}.google-badge,.google-link-btn{align-items:center;justify-content:center}.google-link-btn{background:#0000;border:none;border-radius:6px;color:#4285f4;cursor:pointer;display:flex;font-size:14px;height:28px;text-decoration:none;transition:background .2s ease;width:28px}.google-link-btn:hover{background:#4285f41a}.google-sync-label{background:#f0f7ff;border:1px solid #d3e3fd;border-radius:10px;padding:12px 16px!important}.google-sync-label .google-icon{margin-left:4px}.google-event-notice{align-items:center;background:#e8f0fe;border-radius:10px;color:#4285f4;display:flex;font-size:13px;gap:8px;margin-bottom:20px;padding:12px 16px}.upcoming-list{display:flex;flex-direction:column;gap:8px}.upcoming-item{align-items:center;background:#f5f5f7;border-radius:10px;display:flex;gap:12px;padding:10px 12px}.upcoming-info{display:flex;flex-direction:column;gap:2px}.upcoming-title{color:#1d1d1f;font-size:13px;font-weight:500}.upcoming-date{color:#86868b;font-size:11px}.modal-overlay{background:#00000080;padding:20px}.event-modal{background:#fff;border-radius:20px;max-height:90vh;max-width:480px;overflow-y:auto;padding:32px;width:100%}.event-modal h2{color:#1d1d1f;font-size:24px;font-weight:600;margin:0 0 24px}.form-group{margin-bottom:20px}.form-group label{color:#1d1d1f}.form-group input[type=date],.form-group input[type=text],.form-group input[type=time],.form-group select,.form-group textarea{background:#fff;border:1px solid #d2d2d7;border-radius:12px;box-sizing:border-box;color:#1d1d1f;font-size:16px;padding:12px 16px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31a}.form-group textarea{min-height:80px}.checkbox-label{align-items:center;cursor:pointer;display:flex!important;gap:8px}.checkbox-label input[type=checkbox]{accent-color:#0071e3;height:18px;width:18px}.modal-actions{display:flex;gap:12px;margin-top:24px}.modal-actions button{border-radius:12px;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:14px 24px;transition:all .2s ease}.modal-actions .cancel-btn{background:#fff;border:1px solid #d2d2d7;color:#1d1d1f}.modal-actions .cancel-btn:hover{background:#f5f5f7}.modal-actions .submit-btn{background:#0071e3;border:none;color:#fff}.modal-actions .submit-btn:hover{background:#0077ed}@media (max-width:900px){.calendar-layout{grid-template-columns:1fr}.calendar-sidebar{gap:16px;order:-1}.sidebar-search{width:100%}.sidebar-sections{-webkit-overflow-scrolling:touch;display:flex;flex-direction:row;gap:16px;overflow-x:auto;padding-bottom:8px}.sidebar-section{flex-shrink:0;min-width:280px}}@media (max-width:600px){.family-calendar{padding:12px}.calendar-main{padding:16px}.calendar-header{flex-direction:column;gap:12px}.current-month{font-size:20px}.sidebar-search{padding:12px}.search-results{max-height:250px}.calendar-day{min-height:70px;padding:4px}.day-number{font-size:12px}.event-label{font-size:9px;padding:1px 3px}.calendar-day.today .day-number{font-size:12px;height:24px;width:24px}.event-modal{border-radius:16px;padding:24px}}.family-space-container{margin:0 auto;max-width:1200px;min-height:100vh;padding:80px 20px 40px}.family-space-header{margin-bottom:32px;text-align:center}.family-space-header h1{color:#1d1d1f;font-size:40px;font-weight:700;letter-spacing:-.02em;margin:0 0 12px}.family-space-header p{color:#86868b;font-size:18px;margin:0}.family-tabs{display:flex;gap:12px;justify-content:center;margin-bottom:32px}.family-tab{align-items:center;background:#f5f5f7;border:none;border-radius:980px;color:#1d1d1f;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:8px;padding:12px 24px;transition:all .2s ease}.family-tab:hover{background:#e5e5e7}.family-tab.active{background:#3b82f6;color:#fff}.tab-icon{font-size:18px}.family-content{background:#0000}.gallery-placeholder{background:#fff;border-radius:20px;box-shadow:0 2px 12px #00000014;padding:80px 40px;text-align:center}.placeholder-icon{font-size:64px;margin-bottom:24px;opacity:.5}.gallery-placeholder h2{color:#1d1d1f;font-size:28px;font-weight:600;margin:0 0 12px}.gallery-placeholder p{color:#86868b;font-size:16px;margin:0 auto 24px;max-width:400px}.coming-soon-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:980px;color:#fff;display:inline-block;font-size:14px;font-weight:600;padding:8px 20px}@media (max-width:600px){.family-space-container{padding:70px 16px 32px}.family-space-header h1{font-size:28px}.family-space-header p{font-size:15px}.family-tabs{align-items:stretch;flex-direction:column}.family-tab{justify-content:center}.gallery-placeholder{padding:48px 24px}.placeholder-icon{font-size:48px}.gallery-placeholder h2{font-size:22px}}.server-monitor{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:12px;border-radius:var(--border-radius-md,12px);box-shadow:0 1px 3px #0000000d;margin-bottom:32px;margin-bottom:var(--spacing-xl,32px);padding:24px;padding:var(--spacing-lg,24px)}.monitor-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;gap:var(--spacing-md,16px);justify-content:space-between;margin-bottom:24px;margin-bottom:var(--spacing-lg,24px)}.header-info h3{font-weight:var(--font-weight-bold,700);letter-spacing:-.02em;margin:0 0 4px;margin:0 0 var(--spacing-xs,4px) 0}.header-info p{font-size:12px;font-size:var(--font-size-caption,12px);line-height:1.5}.header-actions{display:flex;gap:8px;gap:var(--spacing-sm,8px)}.refresh-select{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:6px;border-radius:var(--border-radius-sm,6px);color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);cursor:pointer;font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500;font-weight:var(--font-weight-medium,500);padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px);transition:all .15s ease}.refresh-select:focus,.refresh-select:hover{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6)}.refresh-select:focus{box-shadow:0 0 0 3px #3b82f61a;outline:none}.btn-refresh{background:#3b82f6;background:var(--color-primary,#3b82f6);border:none;border-radius:6px;border-radius:var(--border-radius-sm,6px);color:#fff;cursor:pointer;font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500;font-weight:var(--font-weight-medium,500);min-height:44px;min-height:var(--button-height-md,44px);padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px);transition:all .15s ease}.btn-refresh:hover{background:#2563eb;background:var(--color-primary-hover,#2563eb);box-shadow:0 2px 4px #3b82f633}.btn-refresh:active{transform:translateY(1px)}.monitor-message{border-radius:6px;border-radius:var(--border-radius-sm,6px);font-size:15px;font-size:var(--font-size-body,15px);font-weight:500;font-weight:var(--font-weight-medium,500);line-height:1.6;line-height:var(--line-height-body,1.6);margin-bottom:16px;margin-bottom:var(--spacing-md,16px);padding:16px;padding:var(--spacing-md,16px)}.monitor-message.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.monitor-message.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.error-message{border-radius:6px;border-radius:var(--border-radius-sm,6px);color:#991b1b;font-weight:500;font-weight:var(--font-weight-medium,500);line-height:1.6;line-height:var(--line-height-body,1.6);margin-bottom:16px;margin-bottom:var(--spacing-md,16px)}.monitor-tabs{-webkit-overflow-scrolling:touch;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);display:flex;gap:4px;gap:var(--spacing-xs,4px);margin-bottom:24px;margin-bottom:var(--spacing-lg,24px);overflow-x:auto;padding-bottom:0}.monitor-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#666;color:var(--color-text-secondary,#666);cursor:pointer;font-size:15px;font-size:var(--font-size-body,15px);font-weight:500;font-weight:var(--font-weight-medium,500);margin-bottom:-1px;min-height:44px;min-height:var(--button-height-md,44px);padding:16px 24px;padding:var(--spacing-md,16px) var(--spacing-lg,24px);transition:all .15s ease;white-space:nowrap}.monitor-tab:hover{background:#f8fafc;background:var(--color-surface,#f8fafc);color:#1a1a1a;color:var(--color-text-primary,#1a1a1a)}.monitor-tab.active{border-bottom-color:#3b82f6;border-bottom-color:var(--color-primary,#3b82f6);color:#3b82f6;color:var(--color-primary,#3b82f6);font-weight:700;font-weight:var(--font-weight-bold,700)}.section-content{min-height:200px}.empty-state,.loading-state{align-items:center;color:#666;color:var(--color-text-secondary,#666);display:flex;font-size:14px;justify-content:center;min-height:200px}.resource-gauges{grid-gap:16px;grid-gap:var(--spacing-md,16px);display:grid;gap:16px;gap:var(--spacing-md,16px);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:24px;margin-bottom:var(--spacing-lg,24px)}.gauge-card{background:#f8fafc;background:var(--color-surface,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:12px;border-radius:var(--border-radius-md,12px);padding:24px;padding:var(--spacing-lg,24px);transition:all .15s ease}.gauge-card:hover{box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.gauge-header{margin-bottom:16px;margin-bottom:var(--spacing-md,16px)}.gauge-label{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:15px;font-size:var(--font-size-body,15px)}.gauge-label,.gauge-value{font-weight:700;font-weight:var(--font-weight-bold,700)}.gauge-value{color:#3b82f6;color:var(--color-primary,#3b82f6);font-size:24px;font-size:var(--font-size-title,24px);letter-spacing:-.02em}.gauge-bar{background:#e5e7eb;height:8px;height:var(--spacing-sm,8px);margin-bottom:16px;margin-bottom:var(--spacing-md,16px)}.gauge-bar,.gauge-fill{border-radius:6px;border-radius:var(--border-radius-sm,6px)}.gauge-fill{background:#3b82f6;background:var(--color-primary,#3b82f6);transition:width .4s cubic-bezier(.4,0,.2,1)}.gauge-fill.warning{background:#f59e0b;background:var(--color-warning,#f59e0b)}.gauge-fill.danger{background:#ef4444;background:var(--color-error,#ef4444)}.gauge-info{color:#666;color:var(--color-text-secondary,#666);display:flex;font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500;font-weight:var(--font-weight-medium,500);justify-content:space-between}.gauge-model{max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-info-grid{grid-gap:16px;grid-gap:var(--spacing-md,16px);display:grid;gap:16px;gap:var(--spacing-md,16px);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.info-card{background:#f8fafc;background:var(--color-surface,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:6px;border-radius:var(--border-radius-sm,6px);padding:24px;padding:var(--spacing-lg,24px);text-align:center;transition:all .15s ease}.info-card:hover{box-shadow:0 2px 8px #00000014}.info-label{color:#666;color:var(--color-text-secondary,#666);font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500;font-weight:var(--font-weight-medium,500);letter-spacing:.05em;margin-bottom:8px;margin-bottom:var(--spacing-sm,8px);text-transform:uppercase}.info-value{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:15px;font-size:var(--font-size-body,15px);font-weight:var(--font-weight-bold,700)}.process-grid{grid-gap:16px;grid-gap:var(--spacing-md,16px);display:grid;gap:16px;gap:var(--spacing-md,16px);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.process-card{background:#f8fafc;background:var(--color-surface,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-left:var(--spacing-xs,4px) solid #9ca3af;border-radius:12px;border-radius:var(--border-radius-md,12px);padding:24px;padding:var(--spacing-lg,24px);transition:all .15s ease}.process-card:hover{box-shadow:0 2px 8px #00000014}.process-card.online{border-left-color:#10b981;border-left-color:var(--color-secondary,#10b981)}.process-card.errored,.process-card.stopped{border-left-color:#ef4444;border-left-color:var(--color-error,#ef4444)}.process-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px;margin-bottom:var(--spacing-md,16px)}.process-name{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:15px;font-size:var(--font-size-body,15px);font-weight:700;font-weight:var(--font-weight-bold,700);letter-spacing:-.01em}.process-status{border-radius:12px;border-radius:var(--border-radius-md,12px);font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500;font-weight:var(--font-weight-medium,500);padding:4px 16px;padding:var(--spacing-xs,4px) var(--spacing-md,16px)}.status-online{background:#d1fae5;color:#065f46}.status-errored,.status-stopped{background:#fee2e2;color:#991b1b}.process-metrics{grid-gap:16px;grid-gap:var(--spacing-md,16px);display:grid;gap:16px;gap:var(--spacing-md,16px);grid-template-columns:repeat(3,1fr);margin-bottom:16px;margin-bottom:var(--spacing-md,16px)}.metric{background:#fff;border-radius:6px;border-radius:var(--border-radius-sm,6px);padding:8px;padding:var(--spacing-sm,8px);text-align:center}.metric-label{color:#666;color:var(--color-text-secondary,#666);display:block;font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500;font-weight:var(--font-weight-medium,500);letter-spacing:.05em;margin-bottom:4px;margin-bottom:var(--spacing-xs,4px);text-transform:uppercase}.metric-value{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:15px;font-size:var(--font-size-body,15px);font-weight:700;font-weight:var(--font-weight-bold,700)}.process-actions{display:flex;gap:8px;gap:var(--spacing-sm,8px)}.btn-logs,.btn-restart{border:none;border-radius:6px;border-radius:var(--border-radius-sm,6px);cursor:pointer;flex:1 1;font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500;font-weight:var(--font-weight-medium,500);min-height:44px;min-height:var(--button-height-md,44px);padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px);transition:all .15s ease}.btn-restart{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.btn-restart:hover{background:#fde68a;box-shadow:0 2px 4px #92400e33;transform:translateY(-1px)}.btn-logs{background:#e5e7eb;border:1px solid #d1d5db;color:#374151}.btn-logs:hover{background:#d1d5db;box-shadow:0 2px 4px #37415133;transform:translateY(-1px)}.btn-logs:active,.btn-restart:active{transform:translateY(0)}.log-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:24px;padding:var(--spacing-lg,24px);position:fixed;right:0;top:0;z-index:1000}.log-modal{background:#fff;border-radius:12px;border-radius:var(--border-radius-md,12px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:80vh;max-width:800px;width:100%}.log-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);display:flex;justify-content:space-between;padding:24px;padding:var(--spacing-lg,24px)}.log-modal-header h4{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:15px;font-size:var(--font-size-body,15px);font-weight:700;font-weight:var(--font-weight-bold,700);margin:0}.btn-close{background:#0000;border:none;border-radius:6px;border-radius:var(--border-radius-sm,6px);color:#666;color:var(--color-text-secondary,#666);cursor:pointer;font-size:24px;height:44px;height:var(--button-height-md,44px);transition:all .15s ease;width:44px;width:var(--button-height-md,44px)}.btn-close:hover{background:#f8fafc;background:var(--color-surface,#f8fafc);color:#1a1a1a;color:var(--color-text-primary,#1a1a1a)}.log-content{background:#1a1a1a;color:#10b981;flex:1 1;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;font-size:var(--font-size-caption,12px);line-height:1.6;margin:0;overflow:auto;padding:24px;padding:var(--spacing-lg,24px);white-space:pre-wrap;word-break:break-all}.services-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.service-card{align-items:center;background:#f8fafc;background:var(--color-surface,#f8fafc);border-left:4px solid #9ca3af;border-radius:12px;display:flex;gap:16px;padding:20px}.service-card.running{border-left-color:#10b981}.service-card.stopped{border-left-color:#ef4444}.service-icon{font-size:32px}.service-info{flex:1 1}.service-name{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:16px;font-weight:600}.service-version{color:#666;color:var(--color-text-secondary,#666);font-size:12px}.service-status{border-radius:16px;font-size:12px;font-weight:500;padding:6px 12px}.service-status.online{background:#d1fae5;color:#065f46}.service-status.offline{background:#fee2e2;color:#991b1b}.db-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:24px}.db-stat{background:#f8fafc;background:var(--color-surface,#f8fafc);border-radius:12px;padding:20px;text-align:center}.db-stat-value{color:#3b82f6;color:var(--color-primary,#3b82f6);display:block;font-size:28px;font-weight:700;margin-bottom:4px}.db-stat-label{color:#666;color:var(--color-text-secondary,#666);font-size:13px}.table-stats h4{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:16px;font-weight:600;margin:0 0 16px}.table-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.table-stat{align-items:center;background:#f8fafc;background:var(--color-surface,#f8fafc);border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.table-name{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-family:monospace;font-size:13px}.table-count{color:#3b82f6;color:var(--color-primary,#3b82f6);font-size:14px;font-weight:600}.log-controls{display:flex;gap:12px;margin-bottom:16px}.log-type-select{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);flex:1 1;font-size:14px;max-width:300px;padding:10px 14px}.btn-refresh-logs{background:#3b82f6;background:var(--color-primary,#3b82f6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s}.btn-refresh-logs:hover:not(:disabled){background:#2563eb;background:var(--color-primary-hover,#2563eb)}.btn-refresh-logs:disabled{cursor:not-allowed;opacity:.7}.log-viewer{background:#1a1a1a;border-radius:12px;color:#10b981;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;line-height:1.5;margin:0;max-height:500px;overflow:auto;padding:20px;white-space:pre-wrap;word-break:break-all}@media (max-width:768px){.server-monitor{padding:16px;padding:var(--spacing-md,16px)}.monitor-header{align-items:stretch;flex-direction:column}.header-info h3{font-size:20px}.header-actions{flex-direction:column}.btn-refresh,.refresh-select{width:100%}.monitor-tabs{gap:0;margin-bottom:16px;margin-bottom:var(--spacing-md,16px)}.monitor-tab{font-size:12px;font-size:var(--font-size-caption,12px);padding:16px;padding:var(--spacing-md,16px)}.resource-gauges{grid-template-columns:1fr}.gauge-card{padding:16px;padding:var(--spacing-md,16px)}.process-grid{grid-template-columns:1fr}.process-card{padding:16px;padding:var(--spacing-md,16px)}.process-metrics{gap:8px;gap:var(--spacing-sm,8px);grid-template-columns:repeat(2,1fr)}.db-summary,.services-grid,.table-grid{grid-template-columns:1fr}.log-controls{flex-direction:column}.log-type-select{max-width:none}.log-modal{max-height:90vh}.log-modal-overlay{padding:16px;padding:var(--spacing-md,16px)}}.ai-usage-stats{background:#f8fafc;background:var(--color-surface,#f8fafc);border-radius:12px;border-radius:var(--border-radius-lg,12px);padding:24px;padding:var(--spacing-lg,24px)}.ai-usage-stats .stats-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;gap:var(--spacing-md,16px);justify-content:space-between;margin-bottom:24px;margin-bottom:var(--spacing-lg,24px)}.ai-usage-stats .stats-header h2{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:24px;font-size:var(--font-size-title,24px);font-weight:600;margin:0}.ai-usage-stats .header-controls{align-items:center;display:flex;gap:8px;gap:var(--spacing-sm,8px)}.ai-usage-stats .days-select{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--border-radius-md,8px)}.ai-usage-stats .days-select,.ai-usage-stats .refresh-btn{cursor:pointer;font-size:14px;font-size:var(--font-size-body,14px);min-height:40px;padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px)}.ai-usage-stats .refresh-btn{background:#3b82f6;background:var(--color-primary,#3b82f6);border:none;border-radius:8px;border-radius:var(--border-radius-md,8px);color:#fff;transition:background .2s}.ai-usage-stats .refresh-btn:hover{background:#2563eb;background:var(--color-primary-hover,#2563eb)}.ai-usage-stats .summary-cards{grid-gap:16px;grid-gap:var(--spacing-md,16px);display:grid;gap:16px;gap:var(--spacing-md,16px);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px;margin-bottom:var(--spacing-lg,24px)}.ai-usage-stats .summary-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--border-radius-md,8px);box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;gap:8px;gap:var(--spacing-sm,8px);padding:16px;padding:var(--spacing-md,16px)}.ai-usage-stats .card-icon{align-items:center;border-radius:8px;border-radius:var(--border-radius-md,8px);color:#fff;display:flex;font-size:14px;font-weight:700;height:40px;justify-content:center;width:40px}.ai-usage-stats .card-icon.calls{background:linear-gradient(135deg,#3b82f6,#2563eb)}.ai-usage-stats .card-icon.tokens{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.ai-usage-stats .card-icon.cost{background:linear-gradient(135deg,#10b981,#059669)}.ai-usage-stats .card-icon.success{background:linear-gradient(135deg,#f59e0b,#d97706);font-size:11px}.ai-usage-stats .card-content{display:flex;flex-direction:column}.ai-usage-stats .card-value{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:28px;font-weight:700;line-height:1.2}.ai-usage-stats .card-label{color:#666;color:var(--color-text-secondary,#666)}.ai-usage-stats .card-label,.ai-usage-stats .card-sub{font-size:12px;font-size:var(--font-size-caption,12px)}.ai-usage-stats .card-sub{border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);color:#999;color:var(--color-text-tertiary,#999);padding-top:4px;padding-top:var(--spacing-xs,4px)}.ai-usage-stats .stats-tabs{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--border-radius-md,8px);display:flex;gap:4px;gap:var(--spacing-xs,4px);margin-bottom:16px;margin-bottom:var(--spacing-md,16px);padding:4px;padding:var(--spacing-xs,4px)}.ai-usage-stats .tab-btn{background:#0000;border:none;border-radius:6px;border-radius:var(--border-radius-sm,6px);color:#666;color:var(--color-text-secondary,#666);cursor:pointer;flex:1 1;font-size:14px;font-size:var(--font-size-body,14px);min-height:40px;padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px);transition:all .2s}.ai-usage-stats .tab-btn:hover{background:#f8fafc;background:var(--color-surface,#f8fafc)}.ai-usage-stats .tab-btn.active{background:#3b82f6;background:var(--color-primary,#3b82f6);color:#fff;font-weight:500}.ai-usage-stats .tab-content{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--border-radius-md,8px);min-height:300px}.ai-usage-stats .usage-item{grid-gap:16px;grid-gap:var(--spacing-md,16px);align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);display:grid;gap:16px;gap:var(--spacing-md,16px);grid-template-columns:32px 40px 1fr auto;padding:16px;padding:var(--spacing-md,16px);position:relative}.ai-usage-stats .usage-item:last-child{border-bottom:none}.ai-usage-stats .feature-list .usage-item,.ai-usage-stats .provider-list .usage-item{grid-template-columns:32px 1fr auto}.ai-usage-stats .item-rank{align-items:center;background:#f8fafc;background:var(--color-surface,#f8fafc);border-radius:50%;color:#666;color:var(--color-text-secondary,#666);display:flex;font-size:12px;font-size:var(--font-size-caption,12px);font-weight:600;height:28px;justify-content:center;width:28px}.ai-usage-stats .item-icon{font-size:24px;text-align:center}.ai-usage-stats .item-info{display:flex;flex-direction:column;gap:2px;min-width:0}.ai-usage-stats .item-name{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:14px;font-size:var(--font-size-body,14px);font-weight:500}.ai-usage-stats .item-type{color:#999;color:var(--color-text-tertiary,#999);font-size:12px;font-size:var(--font-size-caption,12px)}.ai-usage-stats .item-stats{display:flex;gap:24px;gap:var(--spacing-lg,24px)}.ai-usage-stats .item-stats .stat{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.ai-usage-stats .stat-value{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:14px;font-size:var(--font-size-body,14px);font-weight:600}.ai-usage-stats .stat-label{color:#999;color:var(--color-text-tertiary,#999);font-size:11px}.ai-usage-stats .item-bar{background:#e2e8f0;background:var(--color-border,#e2e8f0);border-radius:2px;bottom:0;height:3px;left:16px;left:var(--spacing-md,16px);overflow:hidden;position:absolute;right:16px;right:var(--spacing-md,16px)}.ai-usage-stats .bar-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:2px;height:100%;transition:width .5s ease}.ai-usage-stats .bar-fill.feature{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.ai-usage-stats .bar-fill.provider{background:linear-gradient(90deg,#10b981,#34d399)}.ai-usage-stats .bar-fill.apikey{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.ai-usage-stats .daily-chart{padding:16px;padding:var(--spacing-md,16px)}.ai-usage-stats .chart-container{align-items:flex-end;display:flex;height:250px;padding:16px 0;padding:var(--spacing-md,16px) 0}.ai-usage-stats .chart-bars{align-items:flex-end;display:flex;gap:2px;height:100%;width:100%}.ai-usage-stats .chart-bar-wrapper{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%;justify-content:flex-end;min-width:0}.ai-usage-stats .chart-bar{background:linear-gradient(180deg,#3b82f6,#60a5fa);border-radius:4px 4px 0 0;cursor:pointer;max-width:30px;min-height:2px;position:relative;transition:height .3s ease;width:100%}.ai-usage-stats .chart-bar:hover{background:linear-gradient(180deg,#2563eb,#3b82f6)}.ai-usage-stats .bar-value{color:#666;color:var(--color-text-secondary,#666);font-size:10px;left:50%;position:absolute;top:-20px;transform:translateX(-50%);white-space:nowrap}.ai-usage-stats .bar-label{color:#999;color:var(--color-text-tertiary,#999);font-size:10px;margin-top:4px;margin-top:var(--spacing-xs,4px);white-space:nowrap}.ai-usage-stats .chart-legend{border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);color:#666;color:var(--color-text-secondary,#666);font-size:12px;font-size:var(--font-size-caption,12px);padding-top:8px;padding-top:var(--spacing-sm,8px);text-align:center}.ai-usage-stats .empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:48px 24px;padding:var(--spacing-2xl,48px) var(--spacing-lg,24px);text-align:center}.ai-usage-stats .empty-icon{font-size:48px;margin-bottom:16px;margin-bottom:var(--spacing-md,16px)}.ai-usage-stats .empty-state p{color:#666;color:var(--color-text-secondary,#666);font-size:14px;font-size:var(--font-size-body,14px);margin:0}.ai-usage-stats .loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:48px;padding:var(--spacing-2xl,48px)}.ai-usage-stats .loading-spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-top-color:#3b82f6;border:3px solid var(--color-border,#e2e8f0);border-radius:50%;border-top-color:var(--color-primary,#3b82f6);height:40px;width:40px}.ai-usage-stats .loading-state p{color:#666;color:var(--color-text-secondary,#666);margin-top:16px;margin-top:var(--spacing-md,16px)}.ai-usage-stats .error-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:48px;padding:var(--spacing-2xl,48px);text-align:center}.ai-usage-stats .error-state .error-icon{align-items:center;background:#fee2e2;border-radius:50%;color:#dc2626;display:flex;font-size:24px;font-weight:700;height:48px;justify-content:center;margin-bottom:16px;margin-bottom:var(--spacing-md,16px);width:48px}.ai-usage-stats .error-state p{color:#666;color:var(--color-text-secondary,#666);margin-bottom:16px;margin-bottom:var(--spacing-md,16px)}.ai-usage-stats .error-state button{background:#3b82f6;background:var(--color-primary,#3b82f6);border:none;border-radius:8px;border-radius:var(--border-radius-md,8px);color:#fff;cursor:pointer;min-height:40px;padding:8px 24px;padding:var(--spacing-sm,8px) var(--spacing-lg,24px)}@media (max-width:768px){.ai-usage-stats{padding:16px;padding:var(--spacing-md,16px)}.ai-usage-stats .stats-header{align-items:flex-start;flex-direction:column}.ai-usage-stats .header-controls{width:100%}.ai-usage-stats .days-select{flex:1 1}.ai-usage-stats .summary-cards{grid-template-columns:repeat(2,1fr)}.ai-usage-stats .stats-tabs{flex-wrap:wrap}.ai-usage-stats .tab-btn{flex:1 1 45%}.ai-usage-stats .usage-item{gap:8px;gap:var(--spacing-sm,8px);grid-template-columns:28px 32px 1fr}.ai-usage-stats .item-stats{grid-column:1/-1;justify-content:space-between;padding-top:8px;padding-top:var(--spacing-sm,8px)}.ai-usage-stats .item-stats .stat{align-items:center}}@media (max-width:480px){.ai-usage-stats .summary-cards{grid-template-columns:1fr}.ai-usage-stats .tab-btn{flex:1 1 100%}}.usage-chart{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:12px;border-radius:var(--border-radius-md,12px);box-shadow:0 1px 3px #0000000d;margin-bottom:32px;margin-bottom:var(--spacing-xl,32px);padding:24px;padding:var(--spacing-lg,24px)}.usage-chart.loading{align-items:center;color:#666;color:var(--color-text-secondary,#666);display:flex;justify-content:center;min-height:200px}.chart-header{align-items:flex-start;flex-wrap:wrap;gap:16px;gap:var(--spacing-md,16px);margin-bottom:24px;margin-bottom:var(--spacing-lg,24px)}.chart-title h4{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:15px;font-size:var(--font-size-body,15px);font-weight:700;font-weight:var(--font-weight-bold,700);letter-spacing:-.01em;margin:0 0 4px;margin:0 0 var(--spacing-xs,4px) 0}.chart-summary{display:flex;flex-wrap:wrap;gap:16px;gap:var(--spacing-md,16px)}.summary-item{color:#666;color:var(--color-text-secondary,#666);font-size:12px;font-size:var(--font-size-caption,12px);line-height:1.4}.summary-item .label{margin-right:4px;margin-right:var(--spacing-xs,4px)}.summary-item strong{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-weight:500;font-weight:var(--font-weight-medium,500)}.chart-controls{display:flex;gap:8px;gap:var(--spacing-sm,8px)}.chart-type-selector,.period-selector{background:#f8fafc;background:var(--color-surface,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:6px;border-radius:var(--border-radius-sm,6px);display:flex;padding:4px;padding:var(--spacing-xs,4px)}.chart-type-selector button,.period-selector button{background:#0000;border:none;border-radius:6px;border-radius:var(--border-radius-sm,6px);color:#666;color:var(--color-text-secondary,#666);cursor:pointer;font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500;font-weight:var(--font-weight-medium,500);padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px);transition:all .15s ease;white-space:nowrap}.chart-type-selector button:hover,.period-selector button:hover{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a)}.chart-type-selector button.active,.period-selector button.active{background:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;color:#3b82f6;color:var(--color-primary,#3b82f6);font-weight:700;font-weight:var(--font-weight-bold,700)}.chart-container{height:280px;padding:8px 0;padding:var(--spacing-sm,8px) 0}.chart-empty{align-items:center;background:#f8fafc;background:var(--color-surface,#f8fafc);border-radius:6px;border-radius:var(--border-radius-sm,6px);color:#666;color:var(--color-text-secondary,#666);display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:32px;padding:var(--spacing-xl,32px);text-align:center}.chart-empty p{line-height:1.6;line-height:var(--line-height-body,1.6);margin:4px 0;margin:var(--spacing-xs,4px) 0}.chart-empty p:first-child{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:15px;font-size:var(--font-size-body,15px);font-weight:500;font-weight:var(--font-weight-medium,500)}.chart-empty p:last-child{font-size:12px;font-size:var(--font-size-caption,12px);opacity:.7}.chart-tooltip{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:6px;border-radius:var(--border-radius-sm,6px);box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a;min-width:200px;padding:16px;padding:var(--spacing-md,16px)}.tooltip-date{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:12px;font-size:var(--font-size-caption,12px);letter-spacing:.02em;margin:0 0 8px;margin:0 0 var(--spacing-sm,8px) 0;padding-bottom:8px;padding-bottom:var(--spacing-sm,8px)}.tooltip-date,.tooltip-total{font-weight:700;font-weight:var(--font-weight-bold,700)}.tooltip-total{color:#3b82f6;color:var(--color-primary,#3b82f6);font-size:15px;font-size:var(--font-size-body,15px);margin:0 0 4px;margin:0 0 var(--spacing-xs,4px) 0}.tooltip-groq{color:#10b981}.tooltip-gemini,.tooltip-groq{font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500;font-weight:var(--font-weight-medium,500);margin:4px 0;margin:var(--spacing-xs,4px) 0}.tooltip-gemini{color:#3b82f6}.tooltip-anthropic{color:#8b5cf6}.tooltip-anthropic,.tooltip-openai{font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500;font-weight:var(--font-weight-medium,500);margin:4px 0;margin:var(--spacing-xs,4px) 0}.tooltip-openai{color:#f59e0b}.tooltip-fail{border-top:1px dashed #e2e8f0;border-top:1px dashed var(--color-border,#e2e8f0);color:#ef4444;font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500;font-weight:var(--font-weight-medium,500);margin:8px 0 0;margin:var(--spacing-sm,8px) 0 0 0;padding-top:8px;padding-top:var(--spacing-sm,8px)}.chart-legend{border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);display:flex;gap:16px;gap:var(--spacing-md,16px);justify-content:center;margin-top:16px;margin-top:var(--spacing-md,16px);padding-top:16px;padding-top:var(--spacing-md,16px)}.legend-item{color:#666;color:var(--color-text-secondary,#666);font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500;font-weight:var(--font-weight-medium,500);gap:8px;gap:var(--spacing-sm,8px)}.legend-item:before{background:var(--color);border-radius:50%;content:"";display:inline-block;flex-shrink:0;height:8px;height:var(--spacing-sm,8px);width:8px;width:var(--spacing-sm,8px)}@media (max-width:640px){.usage-chart{padding:16px;padding:var(--spacing-md,16px)}.chart-header{flex-direction:column;gap:16px;gap:var(--spacing-md,16px)}.chart-controls{justify-content:space-between;width:100%}.chart-type-selector button,.period-selector button{font-size:11px;padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px)}.chart-summary{flex-direction:column;gap:4px;gap:var(--spacing-xs,4px)}.chart-container{height:240px}.chart-legend{flex-wrap:wrap;gap:16px;gap:var(--spacing-md,16px);justify-content:flex-start}.legend-item{font-size:11px}}.api-key-manager{padding:0}.api-key-manager.loading{align-items:center;color:#666;color:var(--color-text-secondary,#666);display:flex;justify-content:center;min-height:200px}.manager-header{align-items:flex-start;display:flex;gap:16px;gap:var(--spacing-md,16px);justify-content:space-between;margin-bottom:32px;margin-bottom:var(--spacing-xl,32px)}.header-info h3{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:24px;font-size:var(--font-size-title,24px);font-weight:700;margin:0 0 8px;margin:0 0 var(--spacing-sm,8px) 0}.header-info p{color:#666;color:var(--color-text-secondary,#666);margin:0}.header-info p,.manager-message{font-size:15px;font-size:var(--font-size-body,15px);line-height:1.6}.manager-message{border-radius:8px;border-radius:var(--border-radius-md,8px);margin-bottom:24px;margin-bottom:var(--spacing-lg,24px);padding:16px;padding:var(--spacing-md,16px)}.manager-message.success{background:#d1fae5;border:1px solid #bbf7d0;color:#065f46}.manager-message.error{background:#fee2e2;border:1px solid #fecaca;color:#dc2626}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;border-radius:var(--border-radius-md,8px);color:#dc2626;margin-bottom:24px;margin-bottom:var(--spacing-lg,24px);padding:16px;padding:var(--spacing-md,16px)}.btn-add,.error-message{font-size:15px;font-size:var(--font-size-body,15px)}.btn-add{align-items:center;background:#3b82f6;background:var(--color-primary,#3b82f6);border:none;border-radius:8px;border-radius:var(--border-radius-md,8px);color:#fff;cursor:pointer;display:inline-flex;font-weight:600;justify-content:center;min-height:44px;min-height:var(--button-height-md,44px);padding:12px 24px;padding:var(--button-padding-md,12px 24px);transition:all .2s ease;white-space:nowrap}.btn-add:hover{background:#2563eb;background:var(--color-primary-hover,#2563eb);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.btn-add:active{transform:translateY(0)}.add-key-section{margin:32px 0;margin:var(--spacing-xl,32px) 0;text-align:right}.provider-status-grid{grid-gap:16px;grid-gap:var(--spacing-md,16px);display:grid;gap:16px;gap:var(--spacing-md,16px);grid-template-columns:repeat(4,1fr);margin-bottom:48px;margin-bottom:var(--spacing-2xl,48px)}@media (max-width:900px){.provider-status-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.provider-status-grid{grid-template-columns:1fr}}.provider-status-card{background:#fff;border:2px solid #e2e8f0;border:2px solid var(--color-border,#e2e8f0);border-radius:12px;border-radius:var(--border-radius-lg,12px);display:flex;flex-direction:column;gap:16px;gap:var(--spacing-md,16px);padding:24px 16px;padding:var(--spacing-lg,24px) var(--spacing-md,16px);transition:all .2s ease}.provider-status-card:hover{box-shadow:0 8px 16px #00000014;transform:translateY(-2px)}.provider-status-card.has-key{background:linear-gradient(180deg,#f0fdf4,#fff);border-color:#10b981}.provider-status-card.no-key{background:#f8fafc;background:var(--color-surface,#f8fafc);border-color:#e5e7eb}.provider-header{align-items:center;display:flex;justify-content:space-between}.provider-name{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:15px;font-size:var(--font-size-body,15px);font-weight:700}.tier-badge{border-radius:6px;font-size:12px;font-size:var(--font-size-caption,12px);font-weight:700;letter-spacing:.5px;padding:4px 8px;padding:4px var(--spacing-sm,8px);text-transform:uppercase}.tier-badge.free{background:#d1fae5;color:#065f46}.tier-badge.paid{background:#fef3c7;color:#92400e}.provider-body{padding:16px 0;padding:var(--spacing-md,16px) 0;text-align:center}.key-count{color:#10b981;font-size:32px;font-weight:700;line-height:1}.key-label{color:#666;color:var(--color-text-secondary,#666);display:block;font-size:12px;font-size:var(--font-size-caption,12px);margin-top:8px;margin-top:var(--spacing-sm,8px)}.no-key-text{color:#999;color:var(--color-text-secondary,#999);font-size:15px;font-size:var(--font-size-body,15px)}.provider-link-btn{background:#f8fafc;background:var(--color-surface,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:6px;color:#3b82f6;color:var(--color-primary,#3b82f6);display:block;font-size:12px;font-size:var(--font-size-caption,12px);font-weight:600;padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px);text-align:center;text-decoration:none;transition:all .2s ease}.provider-link-btn:hover{background:#e0f2fe;border-color:#3b82f6;border-color:var(--color-primary,#3b82f6);transform:translateY(-1px)}.add-form{background:#fff;border:2px solid #e2e8f0;border:2px solid var(--color-border,#e2e8f0);border-radius:12px;border-radius:var(--border-radius-lg,12px);box-shadow:0 2px 8px #0000000a;margin-bottom:48px;margin-bottom:var(--spacing-2xl,48px);padding:24px;padding:var(--spacing-lg,24px)}.add-form h4{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:24px;font-size:var(--font-size-title,24px);font-weight:700;margin:0 0 24px;margin:0 0 var(--spacing-lg,24px) 0}.form-row{grid-gap:16px;grid-gap:var(--spacing-md,16px);display:grid;gap:var(--spacing-md,16px);grid-template-columns:1fr 1fr}@media (max-width:640px){.form-row{grid-template-columns:1fr}}.form-group{margin-bottom:24px;margin-bottom:var(--spacing-lg,24px)}.form-group label{color:var(--color-text-primary,#1a1a1a);display:block;font-size:15px;font-size:var(--font-size-body,15px);margin-bottom:8px;margin-bottom:var(--spacing-sm,8px)}.form-group input,.form-group select{background:#fff;border:2px solid #e2e8f0;border:2px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--border-radius-md,8px);box-sizing:border-box;font-size:var(--font-size-body,15px);min-height:44px;min-height:var(--button-height-md,44px);padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px);transition:all .2s ease;width:100%}.form-group input:hover,.form-group select:hover{border-color:#cbd5e1}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6);box-shadow:0 0 0 3px #3b82f61a}.provider-info{background:#f0f9ff;border:2px solid #bae6fd;border-radius:8px;border-radius:var(--border-radius-md,8px);margin-bottom:24px;margin-bottom:var(--spacing-lg,24px);padding:16px;padding:var(--spacing-md,16px)}.provider-info p{color:#0369a1;font-size:15px;font-size:var(--font-size-body,15px);line-height:1.6;margin:0 0 8px;margin:0 0 var(--spacing-sm,8px) 0}.provider-info p:last-child{margin-bottom:0}.provider-info a{color:#0284c7;font-size:15px;font-size:var(--font-size-body,15px);font-weight:600;text-decoration:underline}.provider-info a:hover{color:#0369a1}.btn-submit{align-items:center;background:#3b82f6;background:var(--color-primary,#3b82f6);border:none;border-radius:8px;border-radius:var(--border-radius-md,8px);color:#fff;cursor:pointer;display:inline-flex;font-size:15px;font-size:var(--font-size-body,15px);font-weight:600;justify-content:center;min-height:44px;min-height:var(--button-height-md,44px);padding:12px 24px;padding:var(--button-padding-md,12px 24px);transition:all .2s ease}.btn-submit:hover{background:#2563eb;background:var(--color-primary-hover,#2563eb);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.btn-submit:active{transform:translateY(0)}.btn-submit:disabled{background:#cbd5e1;box-shadow:none;cursor:not-allowed;transform:none}.keys-section{margin-bottom:48px;margin-bottom:var(--spacing-2xl,48px)}.keys-section h4{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:24px;font-size:var(--font-size-title,24px);font-weight:700;margin:0 0 24px;margin:0 0 var(--spacing-lg,24px) 0}.empty-state{background:#f8fafc;background:var(--color-surface,#f8fafc);border:2px dashed #e2e8f0;border:2px dashed var(--color-border,#e2e8f0);border-radius:12px;border-radius:var(--border-radius-lg,12px);padding:48px 24px;padding:var(--spacing-2xl,48px) var(--spacing-lg,24px)}.empty-state p{color:#666;color:var(--color-text-secondary,#666);line-height:1.6}.empty-state p:first-child{font-weight:600;margin-bottom:8px;margin-bottom:var(--spacing-sm,8px)}.empty-state p:first-child,.empty-state p:last-child{font-size:15px;font-size:var(--font-size-body,15px)}.keys-grid{grid-gap:16px;grid-gap:var(--spacing-md,16px);display:grid;gap:16px;gap:var(--spacing-md,16px);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}@media (max-width:640px){.keys-grid{grid-template-columns:1fr}}.key-card{background:#fff;border:2px solid #e2e8f0;border:2px solid var(--color-border,#e2e8f0);border-radius:12px;border-radius:var(--border-radius-lg,12px);padding:24px;padding:var(--spacing-lg,24px);transition:all .2s ease}.key-card:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-2px)}.key-card.inactive{background:#f8fafc;background:var(--color-surface,#f8fafc);opacity:.5}.key-header{margin-bottom:16px;margin-bottom:var(--spacing-md,16px)}.provider-badge{border-radius:6px;display:inline-block;font-size:var(--font-size-caption,12px);font-weight:700;letter-spacing:.5px;padding:6px 16px;padding:6px var(--spacing-md,16px)}.provider-badge.free{background:#d1fae5;color:#065f46}.provider-badge.paid{background:#fef3c7;color:#92400e}.switch{display:inline-block;height:22px;position:relative;width:40px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;border-radius:22px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.3s}.slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:16px;left:3px;width:16px}input:checked+.slider{background-color:#3b82f6;background-color:var(--color-primary,#3b82f6)}input:checked+.slider:before{transform:translateX(18px)}.key-body{margin-bottom:16px;margin-bottom:var(--spacing-md,16px)}.key-body .key-label{align-items:center;color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);cursor:pointer;display:flex;font-size:15px;font-size:var(--font-size-body,15px);font-weight:600;gap:8px;gap:var(--spacing-sm,8px);margin-bottom:8px;margin-bottom:var(--spacing-sm,8px);transition:color .2s ease}.key-body .key-label:hover{color:#3b82f6;color:var(--color-primary,#3b82f6)}.key-body .key-label .edit-hint{font-size:12px;font-size:var(--font-size-caption,12px);opacity:0;transition:opacity .2s ease}.key-body .key-label:hover .edit-hint{opacity:.7}.key-label-wrapper{margin-bottom:8px;margin-bottom:var(--spacing-sm,8px)}.key-label-edit{align-items:center;display:flex;gap:8px;gap:var(--spacing-sm,8px)}.key-label-edit input{border:2px solid #3b82f6;border:2px solid var(--color-primary,#3b82f6);border-radius:8px;border-radius:var(--border-radius-md,8px);flex:1 1;font-size:15px;font-size:var(--font-size-body,15px);outline:none;padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px)}.key-label-edit .btn-cancel-label,.key-label-edit .btn-save-label{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-size:var(--font-size-caption,12px);font-weight:600;padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px);transition:all .2s ease}.key-label-edit .btn-save-label{background:#3b82f6;background:var(--color-primary,#3b82f6);color:#fff}.key-label-edit .btn-save-label:hover{background:#2563eb;background:var(--color-primary-hover,#2563eb)}.key-label-edit .btn-cancel-label{background:#f1f5f9;background:var(--color-surface,#f1f5f9);color:#666;color:var(--color-text-secondary,#666)}.key-label-edit .btn-cancel-label:hover{background:#e2e8f0}.key-masked{background:#f8fafc;background:var(--color-surface,#f8fafc);border-radius:4px;color:#666;color:var(--color-text-secondary,#666);font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;margin-bottom:8px;margin-bottom:var(--spacing-sm,8px);padding:8px;padding:var(--spacing-sm,8px)}.key-masked,.key-usage{font-size:12px;font-size:var(--font-size-caption,12px)}.key-usage{color:#999;color:var(--color-text-secondary,#999)}.key-model{align-items:center;background:#f8fafc;background:var(--color-surface,#f8fafc);border-radius:8px;border-radius:var(--border-radius-md,8px);display:flex;flex-wrap:wrap;gap:8px;gap:var(--spacing-sm,8px);margin:16px 0;margin:var(--spacing-md,16px) 0;padding:8px;padding:var(--spacing-sm,8px)}.model-description{color:#888;color:var(--color-text-secondary,#888);line-height:1.5;margin-top:4px;width:100%}.key-model .model-label,.model-description{font-size:12px;font-size:var(--font-size-caption,12px)}.key-model .model-label{color:#666;color:var(--color-text-secondary,#666);font-weight:600;white-space:nowrap}.key-model .model-select{background:#fff;border:2px solid #e2e8f0;border:2px solid var(--color-border,#e2e8f0);border-radius:6px;color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);cursor:pointer;flex:1 1;font-size:12px;font-size:var(--font-size-caption,12px);padding:6px 8px;padding:6px var(--spacing-sm,8px);transition:all .2s ease}.key-model .model-select:focus{box-shadow:0 0 0 3px #3b82f61a;outline:none}.key-model .model-select:focus,.key-model .model-select:hover{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6)}.key-actions{display:flex;gap:8px;gap:var(--spacing-sm,8px);margin-top:16px;margin-top:var(--spacing-md,16px)}.btn-balance,.btn-delete,.btn-test{align-items:center;border:2px solid #0000;border-radius:8px;border-radius:var(--border-radius-md,8px);cursor:pointer;display:inline-flex;flex:1 1;font-size:12px;font-size:var(--font-size-caption,12px);font-weight:600;justify-content:center;min-height:36px;padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px);transition:all .2s ease}.btn-test{background:#e0f2fe;border-color:#bae6fd;color:#0369a1}.btn-test:hover{background:#bae6fd;border-color:#7dd3fc;transform:translateY(-1px)}.btn-test:active{transform:translateY(0)}.btn-test:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-balance{background:#fef3c7;border-color:#fde68a;color:#92400e}.btn-balance:hover{background:#fde68a;border-color:#fcd34d;transform:translateY(-1px)}.btn-balance:active{transform:translateY(0)}.btn-balance:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-delete{background:#fee2e2;border-color:#fecaca;color:#dc2626}.btn-delete:hover{background:#fecaca;border-color:#fca5a5;transform:translateY(-1px)}.btn-delete:active{transform:translateY(0)}.test-result{border:2px solid;border-radius:8px;border-radius:var(--border-radius-md,8px);font-size:15px;font-size:var(--font-size-body,15px);line-height:1.6;margin-top:16px;margin-top:var(--spacing-md,16px);padding:16px;padding:var(--spacing-md,16px)}.test-result.success{background:#d1fae5;border-color:#bbf7d0;color:#065f46}.test-result.fail{background:#fee2e2;border-color:#fecaca;color:#dc2626}.balance-info{border:2px solid;border-radius:8px;border-radius:var(--border-radius-md,8px);font-size:15px;font-size:var(--font-size-body,15px);line-height:1.6;margin-top:16px;margin-top:var(--spacing-md,16px);padding:16px;padding:var(--spacing-md,16px)}.balance-info.supported{background:#f0fdf4;border-color:#bbf7d0}.balance-info.unsupported{background:#fffbeb;border-color:#fde68a}.balance-info .label{color:#666;color:var(--color-text-secondary,#666);font-weight:600;margin-right:4px}.balance-limit,.balance-plan,.balance-usage{align-items:center;display:flex;font-size:15px;font-size:var(--font-size-body,15px);gap:8px;gap:var(--spacing-sm,8px);margin-bottom:8px;margin-bottom:var(--spacing-sm,8px)}.balance-plan{color:#065f46;font-weight:700}.balance-usage{color:#0369a1;font-weight:600}.balance-limit{color:#666;color:var(--color-text-secondary,#666)}.balance-msg{background:#92400e1a;border-radius:4px;color:#92400e;margin-top:8px;margin-top:var(--spacing-sm,8px);padding:8px;padding:var(--spacing-sm,8px)}.balance-link,.balance-msg{font-size:12px;font-size:var(--font-size-caption,12px)}.balance-link{background:#3b82f6;background:var(--color-primary,#3b82f6);border-radius:6px;color:#fff;display:inline-block;font-weight:600;margin-top:16px;margin-top:var(--spacing-md,16px);padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px);text-decoration:none;transition:all .2s ease}.balance-link:hover{background:#2563eb;background:var(--color-primary-hover,#2563eb);box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.stats-footer{background:#fff;border:2px solid #e2e8f0;border:2px solid var(--color-border,#e2e8f0);border-radius:12px;border-radius:var(--border-radius-lg,12px);box-shadow:0 2px 8px #0000000a;margin-top:48px;margin-top:var(--spacing-2xl,48px);padding:24px;padding:var(--spacing-lg,24px)}.today-usage{color:#666;color:var(--color-text-secondary,#666);font-size:15px;font-size:var(--font-size-body,15px);line-height:1.6}.today-usage strong{color:#3b82f6;color:var(--color-primary,#3b82f6);display:inline-block;font-size:24px;font-size:var(--font-size-title,24px);font-weight:700;margin:0 4px}.recent-errors{border-top:2px solid #e2e8f0;border-top:2px solid var(--color-border,#e2e8f0);margin-top:24px;margin-top:var(--spacing-lg,24px);padding-top:24px;padding-top:var(--spacing-lg,24px)}.recent-errors h4{color:#dc2626;font-size:15px;font-size:var(--font-size-body,15px);font-weight:700;margin:0 0 16px;margin:0 0 var(--spacing-md,16px) 0}.recent-errors ul{display:flex;flex-direction:column;gap:8px;gap:var(--spacing-sm,8px);list-style:none;margin:0;padding:0}.recent-errors li{align-items:flex-start;background:#fef2f2;border:1px solid #fee2e2;border-radius:8px;border-radius:var(--border-radius-md,8px);display:flex;font-size:15px;font-size:var(--font-size-body,15px);gap:16px;gap:var(--spacing-md,16px);padding:16px;padding:var(--spacing-md,16px)}.error-provider{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);flex-shrink:0;font-weight:700;min-width:80px}.error-msg{color:#dc2626;flex:1 1;line-height:1.6}@media (max-width:768px){.manager-header{align-items:stretch;flex-direction:column}.btn-add{width:100%}.provider-status-grid{gap:8px;gap:var(--spacing-sm,8px)}.key-card{padding:16px;padding:var(--spacing-md,16px)}.key-actions{flex-direction:column}.btn-balance,.btn-delete,.btn-test{width:100%}.recent-errors li{flex-direction:column;gap:8px;gap:var(--spacing-sm,8px)}.error-provider{min-width:auto}}@media (max-width:640px){.add-form,.stats-footer{padding:16px;padding:var(--spacing-md,16px)}}.api-usage-monitor{padding:0}.api-usage-error,.api-usage-loading{color:#666;color:var(--color-text-secondary,#666);font-size:15px;font-size:var(--font-size-body,15px);font-weight:500;font-weight:var(--font-weight-medium,500);padding:48px;padding:var(--spacing-2xl,48px);text-align:center}.api-usage-error{color:#dc2626;color:var(--color-error,#dc2626)}.usage-summary-cards{grid-gap:16px;grid-gap:var(--spacing-md,16px);display:grid;gap:16px;gap:var(--spacing-md,16px);grid-template-columns:repeat(3,1fr);margin-bottom:24px;margin-bottom:var(--spacing-lg,24px)}.summary-card{background:#fff;border:1px solid var(--color-border,#e2e8f0);border-radius:12px;border-radius:var(--border-radius-md,12px);box-shadow:0 1px 3px #0000000d;padding:24px;padding:var(--spacing-lg,24px);transition:all .15s ease}.summary-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.summary-card.today{border-top:4px solid #3b82f6;border-top:var(--spacing-xs,4px) solid var(--color-primary,#3b82f6)}.summary-card.week{border-top:4px solid #10b981;border-top:var(--spacing-xs,4px) solid var(--color-secondary,#10b981)}.summary-card.month{border-top:4px solid #8b5cf6;border-top:var(--spacing-xs,4px) solid #8b5cf6}.card-header{color:#666;color:var(--color-text-secondary,#666);font-size:12px;font-size:var(--font-size-caption,12px);letter-spacing:.05em;margin-bottom:16px;margin-bottom:var(--spacing-md,16px);text-transform:uppercase}.card-header,.card-value{font-weight:700;font-weight:var(--font-weight-bold,700)}.card-value{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:32px;letter-spacing:-.02em;line-height:1.2}.card-details{display:flex;font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500;font-weight:var(--font-weight-medium,500);gap:16px;gap:var(--spacing-md,16px);justify-content:center;margin-top:16px;margin-top:var(--spacing-md,16px)}.card-details .success{color:#059669;color:var(--color-secondary,#059669)}.card-details .error{color:#dc2626;color:var(--color-error,#dc2626)}.card-meta{color:#666;color:var(--color-text-secondary,#666);font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500;font-weight:var(--font-weight-medium,500);margin-top:8px;margin-top:var(--spacing-sm,8px)}.usage-tabs{-webkit-overflow-scrolling:touch;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);display:flex;gap:4px;gap:var(--spacing-xs,4px);margin-bottom:16px;margin-bottom:var(--spacing-md,16px);overflow-x:auto;padding-bottom:0}.tab-btn{color:#666;color:var(--color-text-secondary,#666);font-size:15px;font-size:var(--font-size-body,15px);font-weight:500;font-weight:var(--font-weight-medium,500);margin-bottom:-1px;min-height:44px;min-height:var(--button-height-md,44px);padding:16px 24px;padding:var(--spacing-md,16px) var(--spacing-lg,24px);transition:all .15s ease}.tab-btn:hover{background:#f8fafc;background:var(--color-surface,#f8fafc);color:#1a1a1a;color:var(--color-text-primary,#1a1a1a)}.tab-btn.active{background:#0000;border-bottom-color:#3b82f6;border-bottom-color:var(--color-primary,#3b82f6);color:#3b82f6;color:var(--color-primary,#3b82f6);font-weight:700;font-weight:var(--font-weight-bold,700)}.usage-filters{display:flex;flex-wrap:wrap;gap:8px;gap:var(--spacing-sm,8px);margin-bottom:16px;margin-bottom:var(--spacing-md,16px)}.filter-select{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:6px;border-radius:var(--border-radius-sm,6px);cursor:pointer;font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500;font-weight:var(--font-weight-medium,500);min-height:44px;min-height:var(--button-height-md,44px);padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px);transition:all .15s ease}.filter-select:focus,.filter-select:hover{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6)}.filter-select:focus{box-shadow:0 0 0 3px #3b82f61a;outline:none}.usage-content{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:12px;border-radius:var(--border-radius-md,12px);box-shadow:0 1px 3px #0000000d;overflow:hidden}.category-summary{padding:24px;padding:var(--spacing-lg,24px)}.category-summary h3{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:15px;font-size:var(--font-size-body,15px);font-weight:700;font-weight:var(--font-weight-bold,700);margin:0 0 24px;margin:0 0 var(--spacing-lg,24px)}.category-bars{flex-direction:column}.category-bar-item,.category-bars{display:flex;gap:16px;gap:var(--spacing-md,16px)}.category-bar-item{align-items:center}.bar-label{display:flex;font-size:12px;font-size:var(--font-size-caption,12px);justify-content:space-between;width:120px}.cat-name{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a)}.cat-count,.cat-name{font-weight:500;font-weight:var(--font-weight-medium,500)}.cat-count{color:#666;color:var(--color-text-secondary,#666)}.bar-container{background:#f8fafc;background:var(--color-surface,#f8fafc);flex:1 1;height:8px;height:var(--spacing-sm,8px);overflow:hidden}.bar-container,.bar-fill{border-radius:6px;border-radius:var(--border-radius-sm,6px)}.bar-fill{background:linear-gradient(90deg,#3b82f6,#8b5cf6);background:linear-gradient(90deg,var(--color-primary,#3b82f6),#8b5cf6);height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.bar-percent{color:#666;color:var(--color-text-secondary,#666);font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500;font-weight:var(--font-weight-medium,500);text-align:right;width:48px}.category-table,.costly-section,.endpoint-table,.errors-section,.logs-table{overflow-x:auto}.usage-content table{border-collapse:collapse;width:100%}.usage-content td,.usage-content th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);padding:16px;padding:var(--spacing-md,16px);text-align:left}.usage-content td,.usage-content th{font-size:12px;font-size:var(--font-size-caption,12px)}.usage-content th{background:#f8fafc;background:var(--color-surface,#f8fafc);color:#666;color:var(--color-text-secondary,#666);font-weight:700;font-weight:var(--font-weight-bold,700);letter-spacing:.05em;text-transform:uppercase}.usage-content tbody tr{transition:background .15s ease}.usage-content code,.usage-content tbody tr:hover{background:#f8fafc;background:var(--color-surface,#f8fafc)}.usage-content code{border-radius:6px;border-radius:var(--border-radius-sm,6px);font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;font-size:var(--font-size-caption,12px);padding:4px 8px;padding:var(--spacing-xs,4px) var(--spacing-sm,8px)}.usage-content .success,.usage-content code{font-weight:500;font-weight:var(--font-weight-medium,500)}.usage-content .success{color:#059669;color:var(--color-secondary,#059669)}.usage-content .error{color:#dc2626;color:var(--color-error,#dc2626)}.usage-content .error,.usage-content .warning{font-weight:500;font-weight:var(--font-weight-medium,500)}.usage-content .warning{color:#d97706;color:var(--color-warning,#d97706)}.error-row{background:#fef2f2!important}.costly-row{background:#fefce8!important}.category-badge{background:#eff6ff;color:#1d4ed8;padding:4px 8px}.category-badge,.method-badge{border-radius:6px;border-radius:var(--border-radius-sm,6px);font-size:12px;font-size:var(--font-size-caption,12px);font-weight:var(--font-weight-bold,700);padding:var(--spacing-xs,4px) var(--spacing-sm,8px);text-transform:uppercase}.method-badge{font-family:SF Mono,Monaco,Consolas,monospace}.method-get{background:#eff6ff;color:#1d4ed8}.method-post{background:#dcfce7;color:#16a34a}.method-put{background:#fef3c7;color:#b45309}.method-delete{background:#fef2f2;color:#dc2626}.status-badge{border-radius:12px;border-radius:var(--border-radius-md,12px);font-size:var(--font-size-caption,12px);font-weight:var(--font-weight-medium,500);padding:4px 16px;padding:var(--spacing-xs,4px) var(--spacing-md,16px)}.status-success{background:#dcfce7;color:#16a34a}.status-error{background:#fef2f2;color:#dc2626}.costly-badge{font-size:12px;font-size:var(--font-size-caption,12px);margin-left:8px;margin-left:var(--spacing-sm,8px)}.costly-section{padding:24px;padding:var(--spacing-lg,24px)}.costly-section h3{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:15px;font-size:var(--font-size-body,15px);font-weight:700;font-weight:var(--font-weight-bold,700);margin:0 0 24px;margin:0 0 var(--spacing-lg,24px)}.costly-apis,.top-users{margin-bottom:32px;margin-bottom:var(--spacing-xl,32px)}.errors-section{padding:24px;padding:var(--spacing-lg,24px)}.errors-section h3{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:15px;font-size:var(--font-size-body,15px);font-weight:700;font-weight:var(--font-weight-bold,700);margin:0 0 24px;margin:0 0 var(--spacing-lg,24px)}.error-by-endpoint,.error-by-status{margin-bottom:32px;margin-bottom:var(--spacing-xl,32px)}.error-codes{display:flex;flex-wrap:wrap;gap:16px;gap:var(--spacing-md,16px)}.error-code-card{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;border-radius:var(--border-radius-md,12px);display:flex;flex-direction:column;min-width:100px;padding:16px 24px;padding:var(--spacing-md,16px) var(--spacing-lg,24px);transition:all .15s ease}.error-code-card:hover{box-shadow:0 2px 8px #dc262626;transform:translateY(-2px)}.error-code{color:#dc2626;color:var(--color-error,#dc2626);font-size:20px;font-weight:700;font-weight:var(--font-weight-bold,700);letter-spacing:-.01em}.error-count{color:#991b1b;font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500;font-weight:var(--font-weight-medium,500);margin-top:4px;margin-top:var(--spacing-xs,4px)}.no-data{background:#f8fafc;background:var(--color-surface,#f8fafc);border-radius:6px;border-radius:var(--border-radius-sm,6px);font-size:var(--font-size-body,15px);margin:24px;margin:var(--spacing-lg,24px);padding:48px;padding:var(--spacing-2xl,48px)}.no-data,.time-cell{color:#666;color:var(--color-text-secondary,#666)}.time-cell{font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500;font-weight:var(--font-weight-medium,500);white-space:nowrap}@media (max-width:768px){.usage-summary-cards{gap:16px;gap:var(--spacing-md,16px);grid-template-columns:1fr}.summary-card{padding:16px;padding:var(--spacing-md,16px)}.card-value{font-size:28px}.usage-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.tab-btn{flex-shrink:0;font-size:12px;font-size:var(--font-size-caption,12px);padding:16px;padding:var(--spacing-md,16px)}.usage-filters{flex-wrap:wrap}.filter-select{flex:1 1;min-width:140px}.bar-label{font-size:11px;width:80px}.bar-percent{font-size:11px;width:40px}.category-summary,.costly-section,.errors-section{padding:16px;padding:var(--spacing-md,16px)}.usage-content td,.usage-content th{font-size:11px;padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px)}.error-codes{gap:8px;gap:var(--spacing-sm,8px)}.error-code-card{min-width:80px;padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px)}.error-code{font-size:18px}}.api-dashboard{display:flex;flex-direction:column;gap:24px;gap:var(--spacing-lg,24px)}.dashboard-tabs{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:12px;border-radius:var(--border-radius-lg,12px);display:flex;gap:4px;gap:var(--spacing-xs,4px);overflow-x:auto;padding:4px;padding:var(--spacing-xs,4px)}.dashboard-tab{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--border-radius-md,8px);color:#666;color:var(--color-text-secondary,#666);cursor:pointer;display:flex;flex:1 1;font-size:14px;font-size:var(--font-size-body,14px);gap:8px;gap:var(--spacing-sm,8px);justify-content:center;min-height:44px;min-width:120px;padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px);transition:all .2s;white-space:nowrap}.dashboard-tab:hover{background:#f8fafc;background:var(--color-surface,#f8fafc)}.dashboard-tab.active{background:#3b82f6;background:var(--color-primary,#3b82f6);color:#fff;font-weight:500}.dashboard-tab .tab-icon{font-size:16px}.dashboard-tab .tab-label{font-size:14px;font-size:var(--font-size-body,14px)}.dashboard-content{min-height:400px}.api-endpoints-section{background:#f8fafc;background:var(--color-surface,#f8fafc);border-radius:12px;border-radius:var(--border-radius-lg,12px);padding:24px;padding:var(--spacing-lg,24px)}.api-endpoints-section .api-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;gap:var(--spacing-md,16px);justify-content:space-between;margin-bottom:24px;margin-bottom:var(--spacing-lg,24px)}.api-endpoints-section .api-header h2{color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);font-size:20px;font-size:var(--font-size-title,20px);font-weight:600;margin:0}.api-endpoints-section .api-filter{display:flex;flex-wrap:wrap;gap:4px;gap:var(--spacing-xs,4px)}.api-endpoints-section .filter-btn{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:6px;border-radius:var(--border-radius-sm,6px);color:#666;color:var(--color-text-secondary,#666);cursor:pointer;font-size:12px;font-size:var(--font-size-caption,12px);padding:4px 8px;padding:var(--spacing-xs,4px) var(--spacing-sm,8px);transition:all .2s}.api-endpoints-section .filter-btn:hover{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6);color:#3b82f6;color:var(--color-primary,#3b82f6)}.api-endpoints-section .filter-btn.active{background:#3b82f6;background:var(--color-primary,#3b82f6);border-color:#3b82f6;border-color:var(--color-primary,#3b82f6);color:#fff}.api-endpoints-section .api-table-container{margin-bottom:24px;margin-bottom:var(--spacing-lg,24px);overflow-x:auto}.api-endpoints-section .api-table{background:#fff;border-collapse:collapse;border-radius:8px;border-radius:var(--border-radius-md,8px);overflow:hidden;width:100%}.api-endpoints-section .api-table td,.api-endpoints-section .api-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px);text-align:left}.api-endpoints-section .api-table th{background:#f8fafc;background:var(--color-surface,#f8fafc);color:#666;color:var(--color-text-secondary,#666);font-size:12px;font-size:var(--font-size-caption,12px);font-weight:600;text-transform:uppercase}.api-endpoints-section .api-table td{font-size:14px;font-size:var(--font-size-body,14px)}.api-endpoints-section .api-row:hover{background:#f8fafc;background:var(--color-surface,#f8fafc)}.api-endpoints-section .category-badge,.api-endpoints-section .method-badge,.api-endpoints-section .priority-badge,.api-endpoints-section .status-badge{border-radius:4px;border-radius:var(--border-radius-sm,4px);display:inline-block;font-size:11px;font-weight:500;padding:2px 8px}.api-endpoints-section .method-badge{color:#fff}.api-endpoints-section .method-badge.method-get{background:#10b981}.api-endpoints-section .method-badge.method-post{background:#3b82f6}.api-endpoints-section .method-badge.method-put{background:#f59e0b}.api-endpoints-section .method-badge.method-delete{background:#ef4444}.api-endpoints-section .status-btn{border:none;border-radius:6px;border-radius:var(--border-radius-sm,6px);cursor:pointer;font-size:12px;min-height:32px;padding:4px 12px}.api-endpoints-section .api-status-key-set{background:#d1fae5;color:#065f46}.api-endpoints-section .api-status-needs-key{background:#fef3c7;color:#92400e}.api-endpoints-section .endpoint-cell{position:relative}.api-endpoints-section .endpoint-cell code{background:#f1f5f9;background:var(--color-surface,#f1f5f9);border-radius:4px;font-size:12px;padding:2px 6px}.api-endpoints-section .api-tooltip{background:#1e293b;border-radius:8px;box-shadow:0 10px 25px #0003;color:#fff;font-size:12px;left:0;max-width:400px;min-width:250px;padding:12px;position:absolute;top:100%;z-index:100}.api-endpoints-section .api-tooltip pre{font-family:monospace;margin:0;white-space:pre-wrap}.api-endpoints-section .api-description{display:flex;flex-direction:column;gap:4px}.api-endpoints-section .api-note{color:#999;color:var(--color-text-tertiary,#999);font-size:11px}.api-endpoints-section .priority-badge.priority-high{background:#fee2e2;color:#991b1b}.api-endpoints-section .priority-badge.priority-medium{background:#fef3c7;color:#92400e}.api-endpoints-section .priority-badge.priority-low{background:#e0e7ff;color:#3730a3}.api-endpoints-section .api-summary{margin-top:24px;margin-top:var(--spacing-lg,24px)}.api-endpoints-section .api-summary h3{font-size:14px;font-size:var(--font-size-body,14px);font-weight:600;margin-bottom:16px;margin-bottom:var(--spacing-md,16px)}.api-endpoints-section .summary-cards{grid-gap:8px;grid-gap:var(--spacing-sm,8px);display:grid;gap:8px;gap:var(--spacing-sm,8px);grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.api-endpoints-section .summary-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--border-radius-md,8px);padding:8px 16px;padding:var(--spacing-sm,8px) var(--spacing-md,16px)}.api-endpoints-section .summary-header{display:flex;justify-content:space-between;margin-bottom:4px;margin-bottom:var(--spacing-xs,4px)}.api-endpoints-section .summary-category{font-size:12px;font-size:var(--font-size-caption,12px);font-weight:500}.api-endpoints-section .summary-count{color:#666;color:var(--color-text-secondary,#666);font-size:12px;font-size:var(--font-size-caption,12px)}.api-endpoints-section .progress-bar-mini{background:#e2e8f0;background:var(--color-border,#e2e8f0);border-radius:2px;height:4px;margin-bottom:4px;margin-bottom:var(--spacing-xs,4px);overflow:hidden}.api-endpoints-section .progress-fill-mini{background:#3b82f6;background:var(--color-primary,#3b82f6);border-radius:2px;height:100%;transition:width .3s ease}.api-endpoints-section .summary-percentage{color:#999;color:var(--color-text-tertiary,#999);font-size:11px}@media (max-width:768px){.dashboard-tabs{flex-wrap:nowrap;overflow-x:auto}.dashboard-tab{flex-direction:column;gap:4px;min-width:100px;padding:8px;padding:var(--spacing-sm,8px)}.dashboard-tab .tab-label{font-size:11px}.api-endpoints-section{padding:16px;padding:var(--spacing-md,16px)}.api-endpoints-section .api-header{align-items:flex-start;flex-direction:column}.api-endpoints-section .api-filter{justify-content:flex-start;width:100%}}.project-management{width:100%}.project-loading{color:#525252;color:var(--admin-text-secondary,#525252);font-size:15px;padding:64px 32px;text-align:center}.project-message{align-items:center;border-radius:10px;display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:24px;padding:16px 20px}.project-message.success{background-color:#ecfdf5;border:1px solid #a7f3d0;color:#059669}.project-message.error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626}.project-header{align-items:center;border-bottom:2px solid #e2e8f0;margin-bottom:24px;padding-bottom:16px}.project-header-left{align-items:baseline;display:flex;gap:12px}.project-header h2{color:#1a1a1a;font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0}.post-count{color:#737373;font-size:14px;font-weight:500}.create-btn{background-color:#1a1a1a;border:none;border-radius:10px;box-shadow:0 1px 3px #0000001a;color:#fff;cursor:pointer;font-size:14px;font-weight:600;min-height:44px;padding:12px 24px;transition:all .2s ease;white-space:nowrap}.create-btn:hover{background-color:#333;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.project-filters{background-color:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 2px #0000000a;display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding:20px}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.no-posts{background-color:#f9fafb;border:1px solid #e2e8f0;border-radius:14px;color:#737373;font-size:15px;line-height:1.6;padding:64px 32px;text-align:center}.no-posts p{margin:0 0 20px}.create-btn-empty{background-color:#2563eb;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;min-height:44px;padding:12px 24px;transition:all .2s ease}.create-btn-empty:hover{background-color:#1d4ed8}.posts-list{display:flex;flex-direction:column;gap:16px}.post-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 2px #0000000a;padding:24px;transition:all .2s ease}.post-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014}.post-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.post-badges{display:flex;gap:8px}.priority-badge,.status-badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.02em;padding:4px 10px}.status-active{background-color:#eff6ff;color:#1d4ed8}.status-completed{background-color:#ecfdf5;color:#059669}.status-archived{background-color:#f3f4f6;color:#6b7280}.priority-normal{background-color:#fef3c7;color:#b45309}.post-actions{display:flex;gap:8px}.action-btn{font-size:12px;padding:6px 12px}.action-btn.view{background-color:#f3f4f6;color:#4b5563}.action-btn.view:hover{background-color:#e5e7eb}.action-btn.edit{background-color:#eff6ff;color:#2563eb}.action-btn.edit:hover{background-color:#dbeafe}.action-btn.delete{background-color:#fef2f2;color:#dc2626}.action-btn.delete:hover{background-color:#fecaca}.post-title{color:#1a1a1a;cursor:pointer;font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:1.4;margin:0 0 12px}.post-title:hover{color:#2563eb}.post-preview{color:#525252;font-size:14px;line-height:1.6;margin:0 0 16px;word-break:break-word}.post-meta{color:#737373;display:flex;font-size:13px;gap:16px}.post-author:before{content:""}.post-date{color:#9ca3af}.project-modal{max-width:720px;width:90%}.project-modal .modal-body{max-height:60vh;overflow-y:auto}.post-detail{padding:8px 0}.detail-header{display:flex;gap:8px;margin-bottom:16px}.detail-title{color:#1a1a1a;font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.3;margin:0 0 16px}.detail-meta{border-bottom:1px solid #e2e8f0;color:#737373;display:flex;flex-wrap:wrap;font-size:13px;gap:16px;margin-bottom:24px;padding-bottom:16px}.detail-content{color:#1a1a1a;font-size:15px;line-height:1.8}.detail-content p{margin:0 0 12px}.post-form{display:flex;flex-direction:column;gap:20px}.form-group label{color:#1a1a1a;font-size:14px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid #e2e8f0;border-radius:10px;font-family:inherit;font-size:14px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-group textarea{line-height:1.6;min-height:200px;resize:vertical}.form-row{gap:16px}.form-group.half{flex:1 1}.modal-btn.edit{background-color:#2563eb;color:#fff}.modal-btn.edit:hover{background-color:#1d4ed8}@media (max-width:768px){.project-header{align-items:flex-start;flex-direction:column;gap:16px}.create-btn{width:100%}.post-card-header{align-items:flex-start;flex-direction:column;gap:12px}.post-actions{justify-content:flex-start;width:100%}.form-row,.post-meta{flex-direction:column}.post-meta{gap:4px}.project-modal{max-width:95%}}:root{--admin-bg:#f8fafc;--admin-surface:#fff;--admin-border:#e2e8f0;--admin-text-primary:#1a1a1a;--admin-text-secondary:#525252;--admin-text-tertiary:#737373;--admin-primary:#2563eb;--admin-primary-light:#eff6ff;--admin-success:#059669;--admin-success-light:#ecfdf5;--admin-warning:#d97706;--admin-warning-light:#fffbeb;--admin-error:#dc2626;--admin-error-light:#fef2f2;--admin-radius-sm:6px;--admin-radius-md:10px;--admin-radius-lg:14px;--admin-shadow-sm:0 1px 2px #0000000a;--admin-shadow-md:0 4px 12px #00000014}.admin-container{min-height:100vh}.admin-container,.admin-layout{background-color:#f8fafc;background-color:var(--admin-bg)}.admin-layout{min-height:calc(100vh - 80px)}.drawer-overlay{animation:fadeIn .2s ease;background-color:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.admin-drawer{background-color:#fff;background-color:var(--admin-surface);box-shadow:4px 0 20px #00000026;display:flex;flex-direction:column;height:100vh;left:-300px;position:fixed;top:0;transition:left .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:1000}.admin-drawer.open{left:0}.drawer-header{align-items:center;background-color:#fff;background-color:var(--admin-surface);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--admin-border);display:flex;justify-content:space-between;padding:20px}.drawer-header h2{color:#1a1a1a;color:var(--admin-text-primary);font-size:18px;font-weight:700;margin:0}.drawer-close-btn{align-items:center;background:none;border:none;border-radius:8px;color:#737373;color:var(--admin-text-tertiary);cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;transition:all .15s;width:36px}.drawer-close-btn:hover{background-color:#f3f4f6;color:#1a1a1a;color:var(--admin-text-primary)}.drawer-nav{flex:1 1;overflow-y:auto;padding:8px 0}.sidebar-nav{flex:1 1;padding:12px 0}.menu-group{margin-bottom:4px}.menu-header{align-items:center;background:none;border:none;color:#1a1a1a;color:var(--admin-text-primary);cursor:pointer;display:flex;font-size:15px;font-weight:600;justify-content:space-between;padding:14px 20px;transition:all .2s ease;width:100%}.menu-header:hover{background-color:#eff6ff;background-color:var(--admin-primary-light)}.menu-header-content{align-items:center;display:flex;gap:10px}.menu-icon{font-size:18px;line-height:1;opacity:.85}.menu-label{align-items:center;display:flex;gap:10px}.menu-badge{background-color:#dc2626;background-color:var(--admin-error);border-radius:10px;color:#fff;font-size:11px;font-weight:600;min-width:20px;padding:3px 8px;text-align:center}.menu-arrow{color:#737373;color:var(--admin-text-tertiary);font-size:12px;transition:transform .2s ease}.menu-header[aria-expanded=true] .menu-arrow{transform:rotate(90deg)}.submenu-list{background-color:#fafbfc;list-style:none;margin:0;max-height:0;overflow:hidden;padding:0;transition:max-height .3s ease}.submenu-list.expanded{max-height:500px}.submenu-item{min-height:44px}.submenu-link{align-items:center;background:none;border:none;border-left:3px solid #0000;color:#525252;color:var(--admin-text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:space-between;padding:12px 20px 12px 52px;text-align:left;text-decoration:none;transition:all .15s ease;width:100%}.submenu-link.active,.submenu-link:hover{background-color:#eff6ff;background-color:var(--admin-primary-light);color:#2563eb;color:var(--admin-primary)}.submenu-link.active{border-left-color:#2563eb;border-left-color:var(--admin-primary);font-weight:600}.submenu-badge{background-color:#2563eb;background-color:var(--admin-primary);border-radius:10px;color:#fff;font-size:11px;font-weight:600;margin-left:auto;padding:2px 8px}.submenu-badge.badge-warning{background-color:#d97706;background-color:var(--admin-warning)}.submenu-badge.badge-error{background-color:#dc2626;background-color:var(--admin-error)}.admin-content{margin:0 auto;max-width:1400px;overflow-y:auto;padding:32px}.admin-header{align-items:center;background-color:#fff;background-color:var(--admin-surface);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--admin-border);display:flex;padding:16px 24px;position:-webkit-sticky;position:sticky;top:60px;z-index:100}.admin-header-left{align-items:center;display:flex;gap:16px}.drawer-toggle-btn{align-items:center;background:none;border:1px solid #e2e8f0;border:1px solid var(--admin-border);border-radius:8px;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .15s;width:40px}.drawer-toggle-btn:hover{background-color:#f3f4f6;border-color:#d1d5db}.hamburger-icon,.header-titles h1{color:#1a1a1a;color:var(--admin-text-primary);font-size:20px}.header-titles h1{font-weight:700;letter-spacing:-.02em;margin:0}.admin-header p{color:#525252;color:var(--admin-text-secondary);font-size:14px;margin:0}.admin-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:32px}.stat-card{background-color:#fff;background-color:var(--admin-surface);border:1px solid #e2e8f0;border:1px solid var(--admin-border);border-radius:14px;border-radius:var(--admin-radius-lg);box-shadow:0 1px 2px #0000000a;box-shadow:var(--admin-shadow-sm);padding:20px 16px;transition:all .2s ease}.stat-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014;box-shadow:var(--admin-shadow-md);transform:translateY(-2px)}.stat-number{color:#1a1a1a;color:var(--admin-text-primary);display:block;font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:8px}.stat-label{color:#525252;color:var(--admin-text-secondary);display:block;font-size:13px;font-weight:500;letter-spacing:-.01em}.stat-card.stat-completed{border-left:4px solid #059669;border-left:4px solid var(--admin-success)}.stat-card.stat-pending{border-left:4px solid #d97706;border-left:4px solid var(--admin-warning)}.stat-card.stat-high{border-left:4px solid #dc2626;border-left:4px solid var(--admin-error)}.stat-card.stat-needs-key{border-left:4px solid #8b5cf6}.admin-message{align-items:center;border-radius:10px;border-radius:var(--admin-radius-md);display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:24px;padding:16px 20px}.admin-message.success{background-color:#ecfdf5;background-color:var(--admin-success-light);border:1px solid #a7f3d0;color:#059669;color:var(--admin-success)}.admin-message.error{background-color:#fef2f2;background-color:var(--admin-error-light);border:1px solid #fecaca;color:#dc2626;color:var(--admin-error)}.api-header h2,.api-keys-section h2,.api-section h2,.moderation-section h2,.pending-section h2,.users-section h2{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--admin-border);color:#1a1a1a;color:var(--admin-text-primary);font-size:18px;font-weight:700;letter-spacing:-.02em;margin-bottom:16px;padding-bottom:12px}.api-table-container,.users-table-container{background-color:#fff;background-color:var(--admin-surface);border:1px solid #e2e8f0;border:1px solid var(--admin-border);border-radius:14px;border-radius:var(--admin-radius-lg);box-shadow:0 1px 2px #0000000a;box-shadow:var(--admin-shadow-sm);overflow:hidden}.api-table,.users-table{border-collapse:collapse;width:100%}.api-table td,.api-table th,.users-table td,.users-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--admin-border);padding:10px 14px;text-align:left}.api-table th,.users-table th{background-color:#f8fafc;color:#525252;color:var(--admin-text-secondary);font-size:12px;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-transform:uppercase}.api-table td,.users-table td{color:#1a1a1a;color:var(--admin-text-primary);font-size:14px;line-height:1.5;padding:14px 16px}.api-table tbody tr,.users-table tbody tr{transition:background-color .15s ease}.api-table tbody tr:hover,.users-table tbody tr:hover{background-color:#f8fafc}.api-table tbody tr:last-child td,.users-table tbody tr:last-child td{border-bottom:none}.users-table tbody tr.current-user{background-color:#eff6ff;background-color:var(--admin-primary-light)}.you-badge{background-color:#1a1a1a;background-color:var(--admin-text-primary);border-radius:3px;color:#fff;display:inline-block;font-size:10px;font-weight:600;letter-spacing:.02em;margin-left:6px;padding:2px 6px}.provider-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:4px 8px}.provider-google{background-color:#eff6ff;color:#1d4ed8}.provider-kakao{background-color:#fef9c3;color:#854d0e}.provider-email{background-color:#f3f4f6;color:#4b5563}.users-section{margin-top:32px}.users-header{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.users-header-top{align-items:center;display:flex;gap:16px;justify-content:space-between}.users-header h2{border-bottom:none;font-size:20px;margin-bottom:0;padding-bottom:0}.filter-container{background-color:#fff;background-color:var(--admin-surface);border:1px solid #e2e8f0;border:1px solid var(--admin-border);border-radius:14px;border-radius:var(--admin-radius-lg);box-shadow:0 1px 2px #0000000a;box-shadow:var(--admin-shadow-sm);gap:16px;padding:20px}.filter-container,.filter-group{display:flex;flex-direction:column}.filter-group{gap:12px}.filter-label{color:#525252;color:var(--admin-text-secondary);font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:4px;text-transform:uppercase}.provider-filter,.tier-filter{display:flex;flex-wrap:wrap;gap:8px}.filter-btn{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;color:#525252;color:var(--admin-text-secondary);cursor:pointer;font-size:13px;font-weight:500;min-height:36px;padding:8px 16px;transition:all .2s ease}.filter-btn:hover{background-color:#e5e7eb;border-color:#cbd5e1;color:#1a1a1a;color:var(--admin-text-primary)}.filter-btn.active{border-color:#1a1a1a;border-color:var(--admin-text-primary);box-shadow:0 2px 8px #1a1a1a26}.create-account-btn,.filter-btn.active{background-color:#1a1a1a;background-color:var(--admin-text-primary);color:#fff;font-weight:600}.create-account-btn{border:none;border-radius:10px;border-radius:var(--admin-radius-md);box-shadow:0 1px 3px #0000001a;cursor:pointer;font-size:14px;min-height:44px;padding:12px 24px;transition:all .2s ease;white-space:nowrap}.create-account-btn:hover{background-color:#333;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.tier-select{background-color:#fff;background-color:var(--admin-surface);border:1px solid #e2e8f0;border:1px solid var(--admin-border);border-radius:6px;border-radius:var(--admin-radius-sm);cursor:pointer;font-size:13px;min-width:100px;padding:6px 10px;transition:border-color .2s ease}.tier-select:focus{border-color:#2563eb;border-color:var(--admin-primary);box-shadow:0 0 0 2px #2563eb1a;outline:none}.delete-btn{background-color:#fef2f2;background-color:var(--admin-error-light);border:none;border-radius:6px;border-radius:var(--admin-radius-sm);color:#dc2626;color:var(--admin-error);cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .15s ease}.delete-btn:hover:not(:disabled){background-color:#fecaca}.delete-btn:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.pending-section{margin-bottom:32px}.pending-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.pending-card{align-items:center;background-color:#fffbeb;background-color:var(--admin-warning-light);border:1px solid #fcd34d;border-left:4px solid #d97706;border-left:4px solid var(--admin-warning);border-radius:14px;border-radius:var(--admin-radius-lg);box-shadow:0 1px 2px #0000000a;box-shadow:var(--admin-shadow-sm);display:flex;gap:20px;justify-content:space-between;padding:24px;transition:all .2s ease}.pending-card:hover{box-shadow:0 4px 12px #00000014;box-shadow:var(--admin-shadow-md);transform:translateY(-1px)}.pending-info{display:flex;flex:1 1;flex-direction:column;gap:6px}.pending-info strong{color:#1a1a1a;color:var(--admin-text-primary);font-size:16px;font-weight:600;letter-spacing:-.01em}.pending-info span{color:#525252;color:var(--admin-text-secondary);font-size:14px;line-height:1.4}.pending-date{color:#737373!important;color:var(--admin-text-tertiary)!important;font-size:13px!important;margin-top:2px}.pending-actions{display:flex;flex-direction:column;gap:8px;min-width:100px}.approve-btn{background-color:#059669;background-color:var(--admin-success);border:none;border-radius:10px;border-radius:var(--admin-radius-md);color:#fff;cursor:pointer;font-size:14px;font-weight:600;min-height:44px;padding:12px 20px;transition:all .2s ease;white-space:nowrap}.approve-btn:hover{background-color:#047857;box-shadow:0 2px 8px #0596694d}.reject-btn{background-color:initial;border:1px solid #dc2626;border:1px solid var(--admin-error);border-radius:10px;border-radius:var(--admin-radius-md);color:#dc2626;color:var(--admin-error);cursor:pointer;font-size:14px;font-weight:600;min-height:44px;padding:12px 20px;transition:all .2s ease;white-space:nowrap}.reject-btn:hover{background-color:#fef2f2;background-color:var(--admin-error-light);box-shadow:0 2px 8px #dc262626}.moderation-section{margin-bottom:32px}.no-data{background-color:#f9fafb;border:1px solid #e2e8f0;border:1px solid var(--admin-border);border-radius:14px;border-radius:var(--admin-radius-lg);color:#737373;color:var(--admin-text-tertiary);font-size:15px;line-height:1.6;padding:64px 32px;text-align:center}.reports-list{display:flex;flex-direction:column;gap:16px}.report-card{background-color:#fff;background-color:var(--admin-surface);border:1px solid #e2e8f0;border:1px solid var(--admin-border);border-radius:14px;border-radius:var(--admin-radius-lg);box-shadow:0 1px 2px #0000000a;box-shadow:var(--admin-shadow-sm);padding:24px;transition:all .2s ease}.report-card:hover{box-shadow:0 4px 12px #00000014;box-shadow:var(--admin-shadow-md)}.report-card.pending{border-left:4px solid #d97706;border-left:4px solid var(--admin-warning)}.report-card.actioned{border-left:4px solid #059669;border-left:4px solid var(--admin-success);opacity:.85}.report-card.dismissed{border-left:4px solid #9ca3af;opacity:.85}.report-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.report-type{border-radius:4px;font-size:12px;font-weight:600;padding:4px 10px}.report-type.post{background-color:#eff6ff;background-color:var(--admin-primary-light);color:#2563eb;color:var(--admin-primary)}.report-type.comment{background-color:#f3f4f6;color:#4b5563}.report-status{border-radius:4px;font-size:12px;font-weight:600;padding:4px 10px}.status-pending{background-color:#fffbeb;background-color:var(--admin-warning-light);color:#d97706;color:var(--admin-warning)}.status-reviewed{background-color:#eff6ff;background-color:var(--admin-primary-light);color:#2563eb;color:var(--admin-primary)}.status-dismissed{background-color:#f3f4f6;color:#6b7280}.status-actioned{background-color:#ecfdf5;background-color:var(--admin-success-light);color:#059669;color:var(--admin-success)}.report-content{margin-bottom:16px}.report-target{color:#1a1a1a;color:var(--admin-text-primary);font-size:15px;font-weight:500;margin:0 0 8px}.report-reason{color:#525252;color:var(--admin-text-secondary);font-size:14px;line-height:1.5;margin:0}.report-meta{color:#737373;color:var(--admin-text-tertiary);display:flex;flex-wrap:wrap;font-size:13px;gap:16px;margin-top:12px}.report-actions{border-top:1px solid #e2e8f0;border-top:1px solid var(--admin-border);display:flex;gap:8px;padding-top:16px}.action-btn{border-radius:var(--admin-radius-sm);font-size:13px;font-weight:600;padding:10px 16px;transition:all .15s ease}.action-btn.hide{background-color:#fef2f2;background-color:var(--admin-error-light);color:#dc2626;color:var(--admin-error)}.action-btn.hide:hover{background-color:#fecaca}.action-btn.dismiss{background-color:#f3f4f6;color:#6b7280}.action-btn.dismiss:hover{background-color:#e5e7eb}.hidden-posts-list{display:flex;flex-direction:column;gap:12px}.hidden-post-card{align-items:center;background-color:#f9fafb;border:1px solid #e2e8f0;border:1px solid var(--admin-border);border-radius:10px;border-radius:var(--admin-radius-md);display:flex;justify-content:space-between;padding:16px 20px}.hidden-post-info{display:flex;flex-direction:column;gap:4px}.hidden-post-info strong{color:#1a1a1a;color:var(--admin-text-primary);font-size:15px}.hidden-post-info span{color:#525252;color:var(--admin-text-secondary);font-size:13px}.restore-btn{background-color:#eff6ff;background-color:var(--admin-primary-light);border:none;border-radius:6px;border-radius:var(--admin-radius-sm);color:#2563eb;color:var(--admin-primary);cursor:pointer;font-size:13px;font-weight:600;padding:10px 16px;transition:all .15s ease}.restore-btn:hover{background-color:#dbeafe}.api-section{margin-top:32px}.api-header{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.api-filter{display:flex;flex-wrap:wrap;gap:8px}.api-keys-section{background-color:#fff;background-color:var(--admin-surface);border:1px solid #e2e8f0;border:1px solid var(--admin-border);border-radius:14px;border-radius:var(--admin-radius-lg);margin-bottom:32px;padding:24px}.section-desc{color:#525252;color:var(--admin-text-secondary);font-size:14px;line-height:1.5;margin:0 0 24px}.key-message{border-radius:10px;border-radius:var(--admin-radius-md);font-size:14px;font-weight:500;margin-bottom:16px;padding:12px 16px}.key-message.success{background-color:#ecfdf5;background-color:var(--admin-success-light);color:#059669;color:var(--admin-success)}.key-message.error{background-color:#fef2f2;background-color:var(--admin-error-light);color:#dc2626;color:var(--admin-error)}.api-keys-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.api-key-card{background-color:#fff;background-color:var(--admin-surface);border:1px solid #e2e8f0;border:1px solid var(--admin-border);border-radius:14px;border-radius:var(--admin-radius-lg);padding:20px}.key-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.key-name{color:#1a1a1a;color:var(--admin-text-primary);font-size:16px;font-weight:700}.key-status{border-radius:4px;font-size:12px;font-weight:600;padding:4px 10px}.key-status.active{background-color:#ecfdf5;background-color:var(--admin-success-light);color:#059669;color:var(--admin-success)}.key-status.inactive{background-color:#fef2f2;background-color:var(--admin-error-light);color:#dc2626;color:var(--admin-error)}.key-desc{color:#525252;color:var(--admin-text-secondary);font-size:14px;line-height:1.5;margin:0 0 16px}.key-input-group{display:flex;gap:8px}.key-input-group input{border:1px solid #e2e8f0;border:1px solid var(--admin-border);border-radius:6px;border-radius:var(--admin-radius-sm);flex:1 1;font-family:SF Mono,Monaco,monospace;font-size:14px;padding:10px 14px}.key-input-group input:focus{border-color:#2563eb;border-color:var(--admin-primary);box-shadow:0 0 0 3px #2563eb1a;outline:none}.key-input-group button{background-color:#1a1a1a;background-color:var(--admin-text-primary);border:none;border-radius:6px;border-radius:var(--admin-radius-sm);color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 16px;transition:background-color .15s}.key-input-group button:hover:not(:disabled){background-color:#333}.key-input-group button:disabled{background-color:#d1d5db;cursor:not-allowed}.delete-key-btn{background-color:#fef2f2!important;background-color:var(--admin-error-light)!important;color:#dc2626!important;color:var(--admin-error)!important}.delete-key-btn:hover{background-color:#fecaca!important}.api-keys-summary{background-color:#f9fafb;border:1px solid #e2e8f0;border:1px solid var(--admin-border);border-radius:10px;border-radius:var(--admin-radius-md);margin-bottom:24px;padding:16px 20px}.api-keys-summary h3{color:#1a1a1a;color:var(--admin-text-primary);font-size:14px;font-weight:700;margin:0 0 12px}.key-status-chips{display:flex;flex-wrap:wrap;gap:10px}.key-chip{align-items:center;border:none;border-radius:20px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .15s}.key-chip.active{background-color:#ecfdf5;background-color:var(--admin-success-light);color:#059669;color:var(--admin-success)}.key-chip.active:hover{background-color:#a7f3d0}.key-chip.inactive{background-color:#fef2f2;background-color:var(--admin-error-light);color:#dc2626;color:var(--admin-error)}.key-chip.inactive:hover{background-color:#fecaca}.status-btn{align-items:center;border:none;border-radius:6px;border-radius:var(--admin-radius-sm);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;padding:6px 12px;transition:all .15s}.status-btn.api-status-needs-key{background-color:#ede9fe;color:#7c3aed}.status-btn.api-status-needs-key:hover{background-color:#ddd6fe}.status-btn.api-status-key-set{background-color:#ecfdf5;background-color:var(--admin-success-light);color:#059669;color:var(--admin-success)}.status-btn.api-status-key-set:hover{background-color:#a7f3d0}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009}.modal-content{animation:slideUp .3s cubic-bezier(.4,0,.2,1);background-color:#fff;background-color:var(--admin-surface);border-radius:14px;border-radius:var(--admin-radius-lg);box-shadow:0 24px 80px #0006;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(32px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--admin-border);padding:24px 28px}.modal-header h3{color:#1a1a1a;color:var(--admin-text-primary);font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0}.modal-close{background:none;color:#737373;color:var(--admin-text-tertiary);font-size:24px;line-height:1}.modal-close:hover{color:#1a1a1a;color:var(--admin-text-primary)}.modal-body{padding:28px}.modal-desc{color:#525252;color:var(--admin-text-secondary);font-size:15px;line-height:1.6;margin:0 0 20px}.current-key-status{background-color:#ecfdf5;background-color:var(--admin-success-light);border-radius:10px;border-radius:var(--admin-radius-md);font-size:14px;margin-bottom:16px;padding:12px 16px}.modal-input-group{display:flex;flex-direction:column;gap:8px}.modal-input-group label{color:#1a1a1a;color:var(--admin-text-primary);font-size:14px;font-weight:600}.modal-input-group input{border:1px solid #e2e8f0;border:1px solid var(--admin-border);border-radius:10px;border-radius:var(--admin-radius-md);font-family:SF Mono,Monaco,monospace;font-size:14px;padding:12px 16px}.modal-input-group input:focus{border-color:#2563eb;border-color:var(--admin-primary);box-shadow:0 0 0 3px #2563eb1a;outline:none}.modal-footer{background-color:#f9fafb;border-radius:0 0 14px 14px;border-radius:0 0 var(--admin-radius-lg) var(--admin-radius-lg);border-top:1px solid #e2e8f0;border-top:1px solid var(--admin-border);padding:20px 28px}.modal-btn{border:none;border-radius:10px;border-radius:var(--admin-radius-md);cursor:pointer;font-size:14px;font-weight:600;min-height:44px;padding:12px 24px;transition:all .2s}.modal-btn.cancel{background-color:#f3f4f6;color:#525252;color:var(--admin-text-secondary)}.modal-btn.cancel:hover{background-color:#e5e7eb}.modal-btn.save{background-color:#1a1a1a;background-color:var(--admin-text-primary);color:#fff}.modal-btn.save:hover:not(:disabled){background-color:#333}.modal-btn.save:disabled{background-color:#d1d5db;cursor:not-allowed}.modal-btn.delete{background-color:#fef2f2;background-color:var(--admin-error-light);color:#dc2626;color:var(--admin-error);margin-right:auto}.modal-btn.delete:hover{background-color:#fecaca}.key-guide{background-color:#eff6ff;background-color:var(--admin-primary-light);border:1px solid #bfdbfe;border-left:4px solid #2563eb;border-left:4px solid var(--admin-primary);border-radius:10px;border-radius:var(--admin-radius-md);margin-bottom:24px;padding:20px 24px}.guide-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.guide-title{font-size:14px;font-weight:700}.guide-link,.guide-title{color:#2563eb;color:var(--admin-primary)}.guide-link{font-size:13px;font-weight:600;text-decoration:none}.guide-link:hover{text-decoration:underline}.guide-steps{list-style:none;margin:0;padding-left:0}.guide-steps li{border-left:2px solid #93c5fd;color:#334155;font-size:14px;line-height:1.4;margin-bottom:4px;padding:6px 0 6px 12px}.guide-pricing{border-top:1px dashed #bfdbfe;font-size:13px;margin-top:12px;padding-top:12px}.pricing-label{color:#2563eb;color:var(--admin-primary);font-weight:700;margin-right:8px}.pricing-info{color:#475569}.api-table{min-width:800px}.api-row.completed{background-color:#ecfdf5;background-color:var(--admin-success-light)}.api-row.pending{background-color:#fffbeb;background-color:var(--admin-warning-light)}.api-row.needs-key{background-color:#f5f3ff}.api-status-needs-key{background-color:#ede9fe;color:#7c3aed}.category-badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.02em;padding:4px 10px}.category-badge.category-인증{background-color:#eff6ff;color:#1d4ed8}.category-badge.category-사용자{background-color:#ede9fe;color:#7c3aed}.category-badge.category-AI{background-color:#fce7f3;color:#db2777}.category-badge.category-커뮤니티{background-color:#dcfce7;color:#16a34a}.category-badge.category-파일{background-color:#fef3c7;color:#b45309}.category-badge.category-알림{background-color:#e0e7ff;color:#4f46e5}.method-badge{border-radius:4px;display:inline-block;font-family:monospace;font-size:11px;font-weight:700;letter-spacing:.02em;padding:4px 8px}.method-badge.method-get{background-color:#eff6ff;color:#1d4ed8}.method-badge.method-post{background-color:#dcfce7;color:#16a34a}.method-badge.method-put{background-color:#fef3c7;color:#b45309}.method-badge.method-delete{background-color:#fef2f2;color:#dc2626}.endpoint-cell{position:relative}.endpoint-cell code{background-color:#f3f4f6;border-radius:4px;color:#1a1a1a;color:var(--admin-text-primary);font-family:SF Mono,Monaco,monospace;font-size:13px;padding:6px 10px}.api-tooltip{animation:tooltipFadeIn .2s ease;background-color:#1d1d1f;border-radius:10px;border-radius:var(--admin-radius-md);box-shadow:0 4px 20px #00000040;color:#fff;left:0;margin-top:8px;max-width:400px;min-width:280px;padding:12px 16px;position:absolute;top:100%;z-index:1000}.api-tooltip:before{border-bottom:6px solid #1d1d1f;border-left:6px solid #0000;border-right:6px solid #0000;content:"";left:20px;position:absolute;top:-6px}.api-tooltip pre{color:#e5e5e5;font-family:SF Mono,Monaco,monospace;font-size:12px;line-height:1.5;margin:0;white-space:pre-wrap;word-break:break-word}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.api-description{display:flex;flex-direction:column;gap:4px}.api-note{color:#737373;color:var(--admin-text-tertiary);font-size:12px;font-style:italic}.status-badge{border-radius:4px;font-weight:600;padding:4px 10px}.api-status-completed{background-color:#ecfdf5;background-color:var(--admin-success-light);color:#059669;color:var(--admin-success)}.api-status-pending{background-color:#fffbeb;background-color:var(--admin-warning-light);color:#d97706;color:var(--admin-warning)}.api-status-in-progress{background-color:#eff6ff;background-color:var(--admin-primary-light);color:#2563eb;color:var(--admin-primary)}.priority-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.priority-high{background-color:#fef2f2;background-color:var(--admin-error-light);color:#dc2626;color:var(--admin-error)}.priority-medium{background-color:#fffbeb;background-color:var(--admin-warning-light);color:#d97706;color:var(--admin-warning)}.priority-low{background-color:#f3f4f6;color:#6b7280}.api-summary{margin-top:32px}.api-summary h3{color:#1a1a1a;color:var(--admin-text-primary);font-size:16px;font-weight:700;margin-bottom:16px}.summary-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.summary-card{background-color:#fff;background-color:var(--admin-surface);border:1px solid #e2e8f0;border:1px solid var(--admin-border);border-radius:10px;border-radius:var(--admin-radius-md);padding:16px;text-align:center}.summary-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.summary-category{color:#1a1a1a;color:var(--admin-text-primary);font-size:14px;font-weight:600}.summary-count{color:#525252;color:var(--admin-text-secondary);font-size:13px}.progress-bar-mini{background-color:#e5e7eb;border-radius:3px;height:6px;margin-bottom:8px;overflow:hidden}.progress-fill-mini{background-color:#059669;background-color:var(--admin-success);border-radius:3px;height:100%;transition:width .3s ease}.summary-percentage{color:#525252;color:var(--admin-text-secondary);font-size:13px;font-weight:500}.admin-tabs{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--admin-border);display:flex;gap:8px;margin-bottom:32px;padding-bottom:8px}.admin-tab{align-items:center;background:none;border:none;border-radius:10px 10px 0 0;border-radius:var(--admin-radius-md) var(--admin-radius-md) 0 0;color:#737373;color:var(--admin-text-tertiary);cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:8px;padding:12px 20px;transition:all .15s ease}.admin-tab.active,.admin-tab:hover{background-color:#f9fafb;color:#1a1a1a;color:var(--admin-text-primary)}.admin-tab.active,.tab-badge{font-weight:600}.tab-badge{background-color:#dc2626;background-color:var(--admin-error);border-radius:10px;color:#fff;font-size:11px;padding:2px 8px}.tab-badge.api-badge{background-color:#d97706;background-color:var(--admin-warning)}@media (max-width:768px){.admin-header{padding:12px 16px}.admin-content{padding:20px 16px}.api-table-container,.users-table-container{overflow-x:auto}.users-table{min-width:600px}.admin-stats{gap:12px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:16px 12px}.stat-number{font-size:28px}.admin-tabs{overflow-x:auto}.report-meta{flex-direction:column;gap:4px}.hidden-post-card{align-items:flex-start;flex-direction:column;gap:12px}.summary-cards{grid-template-columns:repeat(2,1fr)}.pending-cards{grid-template-columns:1fr}.pending-card{align-items:flex-start;flex-direction:column;gap:16px}.pending-actions{flex-direction:row;width:100%}.approve-btn,.reject-btn{flex:1 1}.users-header-top{align-items:stretch;flex-direction:column}.filter-container{padding:16px}.filter-btn{font-size:12px;padding:8px 12px}.modal-content{max-width:95%}.modal-body,.modal-footer,.modal-header{padding:20px}}.submenu-link.external{color:#2563eb;color:var(--admin-primary)}.submenu-link.external:hover{background-color:#eff6ff;background-color:var(--admin-primary-light)}.external-icon{font-size:10px;margin-left:4px;opacity:.7}.asset-library-container{background-color:#fff;border-radius:12px;margin-top:2rem;padding:1.5rem}.asset-library-container h2{font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.upload-area{background-color:#f9f9f9;border:2px dashed #0071e3;border-radius:12px;cursor:pointer;margin-bottom:1.5rem;padding:2rem;text-align:center;transition:background-color .2s ease}.upload-area:hover{background-color:#f0f8ff}.upload-area p{color:#666;margin:.5rem 0 0}.upload-area .upload-icon{color:#0071e3;font-size:2rem}.asset-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.asset-card{border:1px solid #e5e5e5;border-radius:8px;overflow:hidden;position:relative;transition:box-shadow .2s ease}.asset-card:hover{box-shadow:0 4px 12px #00000014}.asset-preview{align-items:center;background-color:#f9f9f9;display:flex;height:120px;justify-content:center;width:100%}.asset-preview img{height:100%;object-fit:cover;width:100%}.file-icon{color:#999;font-size:3rem}.asset-info{padding:.75rem}.asset-info p{color:#333;font-size:.85rem;font-weight:500;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-info .asset-size{color:#999;font-size:.75rem}.delete-asset-btn{background-color:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:14px;height:24px;line-height:24px;opacity:0;position:absolute;right:8px;text-align:center;top:8px;transition:opacity .2s ease;width:24px}.asset-card:hover .delete-asset-btn{opacity:1}.test-zone-container{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,sans-serif;margin:0 auto;max-width:1200px;padding:3rem 1.5rem}.test-zone-header{margin-bottom:3rem;text-align:center}.test-zone-header h1{color:#1d1d1f;font-size:3rem;font-weight:700;letter-spacing:-.03em;margin-bottom:.75rem}.test-zone-header p{color:#86868b;font-size:1.25rem;font-weight:400}.test-zone-content{display:flex;flex-direction:column;gap:2rem}.welcome-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:24px;color:#fff;padding:2.5rem;text-align:center}.welcome-icon{font-size:3rem;margin-bottom:1rem}.welcome-card p{font-size:1.1rem;margin:0;opacity:.95}.test-section{background:#fff;border-radius:24px;box-shadow:0 4px 24px #0000000f;padding:2rem}.test-section h2{border-bottom:1px solid #f5f5f7;color:#1d1d1f;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:1rem}.test-placeholder{background:#fbfbfd;border-radius:16px;padding:3rem 2rem;text-align:center}.test-placeholder p{color:#86868b;font-size:1rem;margin:0}.gostop-card-test{display:flex;flex-direction:column;gap:1.5rem}.gostop-card-test .test-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.gostop-card-test .test-header h3{font-size:1.5rem;font-weight:600;margin:0}.view-toggle{background:#f5f5f7;border-radius:10px;display:flex;padding:4px}.view-toggle button{background:#0000;border:none;border-radius:8px;color:#86868b;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.view-toggle button.active{background:#fff;box-shadow:0 2px 8px #0000001a;color:#1d1d1f}.selection-panel{background:linear-gradient(135deg,#f8f9fa,#f0f0f5);border-radius:16px;padding:1.25rem}.selection-panel h4{color:#1d1d1f;font-size:1rem;font-weight:600;margin:0 0 1rem}.selected-cards-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;min-height:120px}.selected-cards-row .hint{color:#86868b;font-size:.9rem}.match-result{align-items:center;border-radius:10px;display:flex;font-weight:500;gap:.75rem;margin-top:1rem;padding:.75rem 1rem}.match-result.matched{background:linear-gradient(135deg,#22c55e1a,#16a34a1a);border:1px solid #22c55e4d;color:#16a34a}.match-result.not-matched{background:linear-gradient(135deg,#ef44441a,#dc26261a);border:1px solid #ef44444d;color:#dc2626}.match-result .match-icon{font-size:1.2rem}.match-result .pi-total{background:#0000001a;border-radius:6px;font-size:.85rem;margin-left:auto;padding:.25rem .5rem}.clear-btn{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;margin-top:1rem;padding:.5rem 1rem;transition:all .2s}.clear-btn:hover{background:#b91c1c}.test-hwatu-card{background:#1a1a1a;border:2px solid #c41e3a;border-radius:8px;cursor:pointer;overflow:hidden;transition:all .2s;width:70px}.test-hwatu-card:hover{box-shadow:0 8px 20px #0003;transform:translateY(-4px)}.test-hwatu-card.selected{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f64d;transform:translateY(-4px)}.test-hwatu-card .card-image-wrapper{background:#fffbeb;height:90px;position:relative;width:100%}.test-hwatu-card .card-image-wrapper img{height:100%;object-fit:cover;width:100%}.test-hwatu-card .card-info{background:#1a1a1a;display:flex;flex-wrap:wrap;gap:2px;padding:4px}.test-hwatu-card .card-month{color:#fff;font-size:.6rem;font-weight:600}.test-hwatu-card .card-type-badge{border-radius:4px;color:#fff;font-size:.5rem;font-weight:600;padding:1px 4px}.test-hwatu-card .card-type-badge.광{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1d1d1f}.test-hwatu-card .card-type-badge.열끗{background:linear-gradient(135deg,#ef4444,#dc2626)}.test-hwatu-card .card-type-badge.띠{background:linear-gradient(135deg,#3b82f6,#2563eb)}.test-hwatu-card .card-type-badge.피{background:#9ca3af;color:#1d1d1f}.test-hwatu-card .card-subtype{color:#fbbf24;font-size:.5rem;font-weight:500}.test-hwatu-card .card-pi-count{color:#ef4444;font-size:.5rem;font-weight:700}.test-hwatu-card .card-desc{background:#1a1a1a;color:#86868b;font-size:.55rem;padding:2px 4px 4px;text-align:center}.cards-by-month{display:flex;flex-direction:column;gap:1rem}.month-group{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow:hidden}.month-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#f0f0f5);border-bottom:1px solid #e5e5e7;display:flex;gap:.75rem;padding:.75rem 1rem}.month-number{color:#1d1d1f;font-weight:700}.month-name{color:#86868b;font-size:.9rem}.month-cards{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem}.card-with-edit{align-items:center;display:flex;flex-direction:column;gap:.5rem;position:relative}.edit-btn{background:#f5f5f7;border:1px solid #e5e5e7;border-radius:6px;cursor:pointer;font-size:.8rem;padding:.25rem .5rem;transition:all .2s}.edit-btn:hover{background:#e5e5e7}.edit-panel{background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;gap:.75rem;left:50%;margin-top:.5rem;min-width:200px;padding:1rem;position:absolute;top:100%;transform:translateX(-50%);z-index:100}.edit-panel,.edit-panel label{display:flex;flex-direction:column}.edit-panel label{color:#1d1d1f;font-size:.8rem;font-weight:500;gap:.25rem}.edit-panel input,.edit-panel select{border:1px solid #e5e5e7;border-radius:6px;font-size:.85rem;padding:.5rem}.cards-by-type{display:flex;flex-direction:column;gap:1.5rem}.type-group{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow:hidden}.type-header{align-items:center;color:#fff;display:flex;justify-content:space-between;padding:.75rem 1rem}.type-header.광{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1d1d1f}.type-header.열끗{background:linear-gradient(135deg,#ef4444,#dc2626)}.type-header.띠{background:linear-gradient(135deg,#3b82f6,#2563eb)}.type-header.피{background:linear-gradient(135deg,#9ca3af,#6b7280)}.type-name{font-size:1.1rem;font-weight:700}.type-count{font-size:.9rem;opacity:.8}.type-cards{display:flex;flex-wrap:wrap;gap:.75rem;padding:1rem}.scoring-rules{background:linear-gradient(135deg,#f8f9fa,#f0f0f5);border-radius:16px;padding:1.25rem}.scoring-rules h4{font-size:1rem;font-weight:600;margin:0 0 1rem}.rules-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.rule-item{align-items:center;background:#fff;border-radius:8px;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem .75rem}.rule-name{color:#1d1d1f;font-weight:600}.rule-desc{color:#86868b;flex:1 1;font-size:.75rem}.rule-score{background:#16a34a1a;border-radius:4px;color:#16a34a;font-size:.8rem;font-weight:700;padding:.2rem .4rem}.json-output{background:#1d1d1f;border-radius:16px;color:#fff;padding:1.25rem}.json-output h4{font-size:1rem;font-weight:600;margin:0 0 1rem}.json-output button{margin-bottom:1rem}.json-output pre{background:#2d2d2d;border-radius:8px;font-size:.75rem;max-height:300px;overflow-x:auto;overflow-y:auto;padding:1rem}.test-zone-nav{background:#f5f5f7;border-radius:16px;display:flex;gap:.5rem;margin-bottom:1.5rem;overflow-x:auto;padding:.5rem}.nav-tab{align-items:center;background:#0000;border:none;border-radius:12px;color:#86868b;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s;white-space:nowrap}.nav-tab:hover{background:#ffffff80;color:#1d1d1f}.nav-tab.active{background:#fff;box-shadow:0 2px 8px #0000001a;color:#1d1d1f}.tab-icon{font-size:1.1rem}.test-hwatu-card.drag-over{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f64d;transform:scale(1.05)}.drop-indicator{align-items:center;background:#3b82f6e6;border-radius:6px;color:#fff;display:flex;font-size:.7rem;font-weight:600;inset:0;justify-content:center;position:absolute}.notes-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:16px;padding:1.25rem}.notes-section h4{color:#92400e;font-size:1rem;font-weight:600;margin:0 0 1rem}.notes-textarea{background:#fffc;border:2px solid #92400e33;border-radius:12px;color:#1d1d1f;font-family:inherit;font-size:.9rem;padding:1rem;resize:vertical;transition:border-color .2s;width:100%}.notes-textarea:focus{background:#fff;border-color:#f59e0b;outline:none}.notes-textarea::placeholder{color:#a8a29e}.json-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.json-output button{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.json-output button:hover{background:#2563eb;transform:translateY(-1px)}.json-tabs details{margin-bottom:.5rem}.json-tabs summary{background:#2d2d2d;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1rem}.json-tabs summary:hover{background:#3d3d3d}.json-tabs details[open] summary{border-radius:8px 8px 0 0}.json-tabs details pre{border-radius:0 0 8px 8px;margin-top:0}.gostop-rules{display:flex;flex-direction:column;gap:1.5rem}.rules-nav{background:#f5f5f7;border-radius:12px;display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem}.rules-nav button{background:#0000;border:none;border-radius:8px;color:#86868b;cursor:pointer;font-size:.85rem;font-weight:500;padding:.6rem 1rem;transition:all .2s}.rules-nav button:hover{background:#ffffff80;color:#1d1d1f}.rules-nav button.active{background:#fff;box-shadow:0 2px 8px #0000001a;color:#1d1d1f}.rules-content{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;padding:1.5rem}.rules-section h3{color:#1d1d1f;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.rule-block{background:#f8f9fa;border-radius:12px;margin-bottom:1.5rem;padding:1rem}.rule-block h4{color:#1d1d1f;font-size:1rem;font-weight:600;margin:0 0 .75rem}.rule-block p{color:#4b5563;line-height:1.6;margin:0 0 .5rem}.rule-block ol,.rule-block ul{color:#4b5563;line-height:1.8;margin:0;padding-left:1.25rem}.rule-block li{margin-bottom:.25rem}.card-types-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card-type-info{border-left:4px solid;border-radius:12px;padding:1.25rem}.card-type-info.광{background:linear-gradient(135deg,#fbbf241a,#f59e0b1a);border-left-color:#f59e0b}.card-type-info.열끗{background:linear-gradient(135deg,#ef44441a,#dc26261a);border-left-color:#ef4444}.card-type-info.띠{background:linear-gradient(135deg,#3b82f61a,#2563eb1a);border-left-color:#3b82f6}.card-type-info.피{background:linear-gradient(135deg,#9ca3af1a,#6b72801a);border-left-color:#9ca3af}.card-type-info h4{font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.card-type-info p{color:#6b7280;font-size:.9rem;margin:0 0 .5rem}.card-type-info ul{color:#4b5563;font-size:.85rem;margin:0;padding-left:1rem}.badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;margin-right:.25rem;padding:.15rem .4rem}.badge.hongdan{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.badge.chungdan{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.badge.chodan{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.badge.ssangpi{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.scoring-table{display:flex;flex-direction:column;gap:1.5rem}.scoring-table h4{color:#1d1d1f;font-size:1rem;font-weight:600;margin:0 0 .75rem}.scoring-table table{border-collapse:collapse;font-size:.9rem;width:100%}.scoring-table td,.scoring-table th{border-bottom:1px solid #e5e7eb;padding:.75rem;text-align:left}.scoring-table th{background:#f3f4f6;color:#374151;font-weight:600}.scoring-table td.score{color:#16a34a;font-weight:700}.gostop-spec-doc{display:flex;flex-direction:column;gap:1.5rem}.spec-header{border-bottom:1px solid #e5e7eb;padding-bottom:1rem;text-align:center}.spec-header h2{color:#1d1d1f;font-size:1.75rem;font-weight:700;margin:0 0 .5rem}.spec-subtitle{color:#6b7280;font-size:.9rem;margin:0}.spec-nav{background:#f5f5f7;border-radius:12px;display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem}.spec-nav button{background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;font-size:.85rem;font-weight:500;padding:.6rem 1rem;transition:all .2s}.spec-nav button:hover{background:#ffffff80;color:#1d1d1f}.spec-nav button.active{background:#fff;box-shadow:0 2px 8px #0000001a;color:#1d1d1f}.spec-content{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;padding:1.5rem}.spec-section h3{color:#1d1d1f;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.spec-section h4{color:#374151;font-size:1rem;font-weight:600;margin:1.5rem 0 .75rem}.spec-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-bottom:1.5rem}.spec-card{background:#f9fafb;border-left:4px solid #3b82f6;border-radius:12px;padding:1rem}.spec-card h4{font-size:.95rem;margin:0 0 .5rem}.spec-card p{color:#6b7280;font-size:.85rem;margin:0 0 .5rem}.spec-card ul{color:#4b5563;font-size:.85rem;margin:0;padding-left:1rem}.spec-meta{border-top:1px solid #e5e7eb;color:#9ca3af;font-size:.75rem;margin-top:.5rem;padding-top:.5rem}.spec-table{border-collapse:collapse;font-size:.85rem;margin-bottom:1rem;width:100%}.spec-table td,.spec-table th{border-bottom:1px solid #e5e7eb;padding:.6rem .75rem;text-align:left}.spec-table th{background:#f3f4f6;color:#374151;font-weight:600}.spec-table code{background:#e5e7eb;border-radius:4px;font-size:.8rem;padding:.15rem .4rem}.spec-table small{color:#9ca3af}.spec-note{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:0 8px 8px 0;color:#92400e;font-size:.85rem;margin-bottom:1rem;padding:.75rem 1rem}.spec-note code{background:#0000001a;border-radius:4px;padding:.15rem .4rem}.code-block{background:#1f2937;border-radius:8px;color:#e5e7eb;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8rem;overflow-x:auto;padding:1rem;white-space:pre}.scoring-category{margin-bottom:1.5rem}.scoring-category h4{margin:1rem 0 .5rem}.special-rules-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.special-rule-card{background:#f9fafb;border-left:4px solid #8b5cf6;border-radius:12px;padding:1rem}.special-rule-card h4{color:#1d1d1f;margin:0 0 .5rem}.special-rule-card p{color:#4b5563;font-size:.85rem;margin:0 0 .5rem}.special-rule-card ul{color:#6b7280;font-size:.8rem;margin:.5rem 0 0;padding-left:1rem}@media (max-width:768px){.test-zone-container{padding:2rem 1rem}.test-zone-header h1{font-size:2rem}.test-zone-header p{font-size:1rem}.welcome-card{padding:2rem 1.5rem}.test-section{padding:1.5rem}.test-zone-nav{gap:.25rem;padding:.25rem}.nav-tab{font-size:.8rem;padding:.5rem .75rem}.tab-name{display:none}.tab-icon{font-size:1.25rem}.rules-nav{gap:.25rem;padding:.25rem}.rules-nav button{font-size:.75rem;padding:.5rem .75rem}.json-buttons{flex-direction:column}}.file-upload-container{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,sans-serif;margin:0 auto;max-width:1000px;padding:3rem 1.5rem}.file-upload-header{margin-bottom:3rem;text-align:center}.file-upload-header h1{color:#1d1d1f;font-size:3rem;font-weight:700;letter-spacing:-.03em;margin-bottom:.75rem}.file-upload-header p{color:#86868b;font-size:1.25rem;font-weight:400}.file-upload-content{display:flex;flex-direction:column;gap:2rem}.upload-mode-selector{background:#f5f5f7;border-radius:12px;display:flex;gap:.5rem;padding:.25rem}.mode-btn{background:#0000;border:none;border-radius:10px;color:#86868b;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:.6rem 1rem;transition:all .2s ease}.mode-btn:hover{color:#1d1d1f}.mode-btn.active{background:#fff;box-shadow:0 2px 8px #00000014;color:#1d1d1f}.folder-path-input{align-items:center;background:#f5f5f7;border-radius:12px;display:flex;gap:1rem;padding:.75rem 1rem}.folder-path-input label{color:#86868b;font-size:.9rem;font-weight:500;white-space:nowrap}.folder-path-input input{background:#fff;border:1px solid #e5e5e5;border-radius:8px;flex:1 1;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.folder-path-input input:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31a;outline:none}.upload-dropzone{-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#f5f5f7,#fff);border:none;border-radius:24px;cursor:pointer;overflow:hidden;padding:4rem 3rem;position:relative;touch-action:manipulation;transition:all .4s ease}.upload-dropzone:before{border:2px dashed #d2d2d7;border-radius:24px;content:"";inset:0;pointer-events:none;position:absolute;transition:all .3s ease}.upload-dropzone:hover{box-shadow:0 8px 32px #00000014;transform:scale(1.01)}.upload-dropzone:hover:before{border-color:#0071e3}.upload-dropzone.dropzone-active{background:linear-gradient(135deg,#e3f2ff,#f0f7ff);box-shadow:0 12px 48px #0071e333;transform:scale(1.02)}.upload-dropzone.dropzone-active:before{border-color:#0071e3;border-width:3px}.upload-dropzone.uploading{pointer-events:none}.dropzone-content{align-items:center;display:flex;flex-direction:column;gap:1rem}.dropzone-icon{color:#86868b;transition:all .3s ease}.upload-dropzone:hover .dropzone-icon{color:#0071e3;transform:translateY(-4px)}.dropzone-text{color:#1d1d1f;font-size:1.25rem;font-weight:600;margin:0}.dropzone-hint{color:#86868b;font-size:.95rem;margin:0}.dropzone-buttons{display:flex;gap:1rem;margin-top:1.5rem}.dropzone-btn{-webkit-tap-highlight-color:transparent;border:none;border-radius:980px;cursor:pointer;font-size:.95rem;font-weight:600;min-height:44px;min-width:120px;padding:.75rem 1.5rem;touch-action:manipulation;transition:all .3s ease}.dropzone-btn.file-btn{background:linear-gradient(135deg,#0071e3,#00c7be);box-shadow:0 4px 16px #0071e34d;color:#fff}.dropzone-btn.file-btn:hover{box-shadow:0 6px 24px #0071e366;transform:scale(1.05)}.dropzone-btn.folder-btn{background:linear-gradient(135deg,#f5f5f7,#e8e8ed);box-shadow:0 4px 16px #00000014;color:#1d1d1f}.dropzone-btn.folder-btn:hover{box-shadow:0 6px 24px #0000001f;transform:scale(1.05)}.file-input-hidden{display:none}.upload-spinner{animation:spin .8s linear infinite;border:3px solid #e8e8ed;border-radius:50%;border-top-color:#0071e3;height:48px;width:48px}.uploaded-files-section{background:#fff;border-radius:24px;box-shadow:0 4px 24px #0000000f;padding:2rem}.section-header{border-bottom:1px solid #f5f5f7;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem}.section-header h2{color:#1d1d1f;font-size:1.5rem}.header-left{gap:1rem}.section-header .header-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.file-checkbox,.select-all-checkbox,.server-file-checkbox{align-items:center;cursor:pointer;display:flex;gap:.5rem}.file-checkbox input,.select-all-checkbox input,.server-file-checkbox input{accent-color:#0071e3;cursor:pointer;height:18px;width:18px}.select-all-checkbox span{color:#86868b;font-size:.9rem;font-weight:500}.save-selected-btn{background:linear-gradient(135deg,#34c759,#30d158);border:none;border-radius:980px;box-shadow:0 2px 8px #34c75940;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.save-selected-btn:hover{box-shadow:0 4px 12px #34c75959;transform:scale(1.02)}.delete-selected-btn{background:linear-gradient(135deg,#ff3b30,#ff453a);border:none;border-radius:980px;box-shadow:0 2px 8px #ff3b3040;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.delete-selected-btn:hover{box-shadow:0 4px 12px #ff3b3059;transform:scale(1.02)}.delete-all-btn{background:#ffebee;border:none;border-radius:980px;color:#ff3b30;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.delete-all-btn:hover{background:#ffcdd2}.refresh-btn{background:#f5f5f7;border-radius:980px;color:#1d1d1f;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.refresh-btn:hover{background:#e8e8ed}.folder-badge{align-items:center;background:#e3f2ff;border-radius:6px;color:#0071e3;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.15rem .5rem}.save-all-btn{background:linear-gradient(135deg,#0071e3,#00c7be);border:none;border-radius:980px;box-shadow:0 2px 8px #0071e340;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.save-all-btn:hover{box-shadow:0 4px 12px #0071e359;transform:scale(1.02)}.clear-all-btn{background:#f5f5f7;border:none;border-radius:980px;color:#86868b;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.clear-all-btn:hover{background:#e8e8ed;color:#1d1d1f}.files-list{display:flex;flex-direction:column;gap:1rem}.file-card{background:#fbfbfd;border-radius:16px;padding:1.25rem;transition:all .3s ease}.file-card:hover{background:#f5f5f7}.file-card.analyzing,.file-card.uploading{background:#fff8e6}.file-card.completed{background:#f0f9f4}.file-card.selected{background:#e3f2ff;border:2px solid #0071e3}.file-card-header{align-items:center;display:flex;gap:1rem}.file-number-badge{background:linear-gradient(135deg,#0071e3,#00c7be);border-radius:980px;color:#fff;font-size:.85rem;font-weight:600;height:36px;min-width:36px;padding:0 10px}.file-number-badge,.file-preview-small{align-items:center;display:flex;flex-shrink:0;justify-content:center}.file-preview-small{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;height:48px;overflow:hidden;width:48px}.file-preview-small img{height:100%;object-fit:cover;width:100%}.file-icon{font-size:1.5rem}.file-info{flex:1 1;min-width:0}.file-info .file-name{color:#1d1d1f;font-size:1rem;font-weight:600;margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{align-items:center;color:#86868b;display:flex;font-size:.8rem;gap:.5rem}.file-meta .separator{opacity:.5}.file-status-badge span{border-radius:980px;font-size:.75rem;font-weight:500;padding:.35rem .75rem}.status-uploading{background:#fff3cd;color:#856404}.status-analyzing{background:#cce5ff;color:#004085}.status-completed{background:#d4edda;color:#155724}.remove-file-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#86868b;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;line-height:1;transition:all .2s ease;width:32px}.remove-file-btn:hover{background:#ffebee;color:#ff3b30}.analysis-result{border-top:1px solid #0000000d;margin-top:1rem;padding-top:1rem}.analysis-description{color:#1d1d1f;font-size:.95rem;font-weight:500;margin:0 0 .75rem}.analysis-details{color:#86868b;font-size:.85rem;margin:0;padding-left:1.25rem}.analysis-details li{margin-bottom:.25rem}.analyzing-indicator{align-items:center;border-top:1px solid #0000000d;color:#0071e3;display:flex;font-size:.9rem;gap:.75rem;margin-top:1rem;padding-top:1rem}.analyzing-dots{display:flex;gap:4px}.analyzing-dots span{animation:bounce 1.4s ease-in-out infinite both;background:#0071e3;border-radius:50%;height:6px;width:6px}.analyzing-dots span:first-child{animation-delay:-.32s}.analyzing-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.file-preview-large{border-radius:12px;margin-top:1rem;max-height:300px;overflow:hidden}.file-preview-large img{background:#f5f5f7;height:auto;max-height:300px;object-fit:contain;width:100%}.empty-state{background:#fbfbfd;border-radius:16px;padding:3rem 2rem}.empty-state p{color:#86868b;font-size:1rem;margin:0}.file-tabs{background:#f5f5f7;border-radius:12px;display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.25rem}.file-tab{-webkit-tap-highlight-color:transparent;background:#0000;border:none;border-radius:10px;color:#86868b;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:500;min-height:44px;padding:.75rem 1rem;touch-action:manipulation;transition:all .2s ease}.file-tab:hover{color:#1d1d1f}.file-tab.active{background:#fff;box-shadow:0 2px 8px #00000014;color:#1d1d1f}.file-actions{align-items:center;display:flex;gap:.5rem}.save-server-btn{-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#0071e3,#00c7be);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;min-height:36px;padding:.5rem 1rem;touch-action:manipulation;transition:all .2s ease}.save-server-btn:hover{box-shadow:0 4px 12px #0071e34d;transform:scale(1.05)}.status-compressing{color:#ff9500;font-size:.85rem;font-weight:500}.status-saving{color:#0071e3}.status-saved,.status-saving{font-size:.85rem;font-weight:500}.status-saved{color:#34c759}.status-error{color:#ff3b30;font-size:.85rem;font-weight:500}.server-files-section{min-height:300px}.server-files-header{align-items:center;background:#f5f5f7;border-radius:16px;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1.5rem;padding:1rem}.server-files-header .header-left{align-items:center;display:flex;gap:1rem}.server-files-header .file-count{color:#86868b;font-size:.9rem;font-weight:500}.server-file-checkbox{position:absolute;right:12px;top:12px;z-index:15}.server-file-checkbox input{background:#fff;border-radius:4px;box-shadow:0 2px 8px #00000026;height:20px;width:20px}.view-mode-toggle{background:#e8e8ed;border-radius:8px;display:flex;padding:2px}.view-btn-toggle{background:#0000;border:none;border-radius:6px;cursor:pointer;font-size:1rem;padding:.4rem .75rem;transition:all .2s}.view-btn-toggle.active{background:#fff;box-shadow:0 2px 6px #0000001a}.view-btn-toggle:hover:not(.active){background:#ffffff80}.toggle-folders-btn{background:#f5f5f7;border:none;border-radius:980px;color:#1d1d1f;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.toggle-folders-btn:hover{background:#e8e8ed}.server-folders-view{display:flex;flex-direction:column;gap:1rem}.folder-group{background:#fff;border-radius:16px;box-shadow:0 4px 16px #0000000f;overflow:hidden}.folder-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#f0f0f5);cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.25rem;transition:all .2s}.folder-header:hover{background:linear-gradient(135deg,#f0f0f5,#e8e8ed)}.folder-header-left{align-items:center;display:flex;gap:.75rem}.folder-expand-icon{color:#86868b;font-size:.75rem;transition:transform .3s}.folder-icon{font-size:1.5rem}.folder-name{color:#1d1d1f;font-size:1.1rem;font-weight:600}.folder-file-count{background:#e8e8ed;border-radius:980px;color:#86868b;font-size:.85rem;padding:.2rem .6rem}.folder-header-right{align-items:center;display:flex;gap:.5rem}.folder-checkbox input{accent-color:#0071e3;cursor:pointer;height:20px;width:20px}.folder-files-grid{grid-gap:1rem;background:#fbfbfd;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));padding:1rem}.server-file-card.compact{border-radius:12px}.server-file-card.compact .server-file-preview{height:120px}.server-file-card.compact .server-file-info{padding:.75rem}.server-file-card.compact .server-file-info h3{font-size:.85rem}.server-file-card.compact .server-file-info .file-meta{font-size:.75rem}.server-file-card.compact .server-file-actions{gap:.35rem;padding:0 .75rem .75rem}.server-file-card.compact .server-file-actions .delete-btn,.server-file-card.compact .server-file-actions .view-btn{font-size:.9rem;padding:.4rem}.loading-state{align-items:center;color:#86868b;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 2rem}.server-files-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.server-file-card{background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;overflow:hidden;position:relative;transition:all .3s ease}.server-file-number{background:linear-gradient(135deg,#0071e3,#00c7be);border-radius:20px;box-shadow:0 2px 8px #0071e34d;color:#fff;font-size:.85rem;font-weight:700;left:12px;padding:4px 10px;position:absolute;top:12px;z-index:10}.server-file-card:hover{box-shadow:0 8px 32px #0000001f;transform:translateY(-4px)}.server-file-card.selected{border:3px solid #0071e3;box-shadow:0 8px 32px #0071e333}.server-file-preview{align-items:center;background:#f5f5f7;display:flex;height:180px;justify-content:center;overflow:hidden}.server-file-preview img{height:100%;object-fit:cover;width:100%}.file-icon-large{font-size:4rem}.server-file-info{padding:1rem}.server-file-info h3{color:#1d1d1f;font-size:1rem;font-weight:600;margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-file-info .file-meta{color:#86868b;font-size:.8rem}.server-file-actions{display:flex;gap:.5rem;padding:0 1rem 1rem}.server-file-actions .delete-btn,.server-file-actions .view-btn{-webkit-tap-highlight-color:transparent;align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:.85rem;font-weight:500;justify-content:center;min-height:44px;padding:.6rem;text-align:center;text-decoration:none;touch-action:manipulation;transition:all .2s ease}.server-file-actions .view-btn{background:#f5f5f7;color:#1d1d1f}.server-file-actions .view-btn:hover{background:#e8e8ed}.server-file-actions .delete-btn{background:#ffebee;color:#ff3b30}.server-file-actions .delete-btn:hover{background:#ffcdd2}@media (max-width:768px){.file-upload-container{padding:2rem 1rem}.file-upload-header h1{font-size:2rem}.file-upload-header p{font-size:1rem}.dropzone-buttons{flex-direction:column;gap:.75rem;max-width:200px;width:100%}.dropzone-btn{font-size:.9rem;min-height:48px;padding:.75rem 1rem;width:100%}.folder-path-input{align-items:stretch;flex-direction:column;gap:.5rem}.folder-path-input label{font-size:.85rem}.upload-dropzone{padding:2.5rem 1.25rem}.dropzone-icon svg{height:48px;width:48px}.dropzone-text{font-size:1.1rem}.dropzone-hint{font-size:.85rem}.section-header{align-items:stretch;flex-direction:column}.header-left{justify-content:space-between}.header-buttons{justify-content:flex-end}.select-all-checkbox span{font-size:.85rem}.clear-all-btn,.delete-all-btn,.delete-selected-btn,.refresh-btn,.save-all-btn,.save-selected-btn{font-size:.8rem;padding:.4rem .75rem}.file-card-header{flex-wrap:wrap}.file-checkbox{left:1rem;position:absolute;top:1rem;z-index:5}.file-status-badge{margin-top:.5rem;order:4;width:100%}.remove-file-btn{position:absolute;right:1rem;top:1rem}.file-card{padding-left:2.5rem;position:relative}.server-files-header{padding:.75rem}.server-files-header .file-count{font-size:.85rem}.server-files-grid{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.server-file-preview{height:120px}.server-file-info h3{font-size:.9rem}.server-file-info .file-meta{font-size:.75rem}.server-file-actions .delete-btn,.server-file-actions .view-btn{font-size:.8rem;padding:.5rem}.file-icon-large{font-size:3rem}.view-mode-toggle{padding:1px}.view-btn-toggle{font-size:.9rem;padding:.35rem .6rem}.toggle-folders-btn{font-size:.8rem;padding:.4rem .75rem}.folder-header{padding:.75rem 1rem}.folder-header-left{gap:.5rem}.folder-icon{font-size:1.25rem}.folder-name{font-size:.95rem}.folder-file-count{font-size:.75rem;padding:.15rem .5rem}.folder-files-grid{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));padding:.75rem}.server-file-card.compact .server-file-preview{height:100px}.server-file-card.compact .server-file-info{padding:.5rem}.server-file-card.compact .server-file-info h3{font-size:.75rem}.server-file-card.compact .server-file-actions{padding:0 .5rem .5rem}}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{border:0;height:0;left:-9999em;margin:0;opacity:0;overflow:hidden;padding:0;position:absolute;resize:none;top:0;white-space:nowrap;width:0;z-index:-5}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;bottom:0;cursor:default;left:0;overflow-y:scroll;position:absolute;right:0;top:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{left:0;position:absolute;top:0}.xterm-char-measure-element{display:inline-block;left:-9999em;line-height:normal;position:absolute;top:0;visibility:hidden}.xterm.enable-mouse-events{cursor:default}.xterm .xterm-cursor-pointer,.xterm.xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{bottom:0;color:#0000;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:10}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:-webkit-fit-content;width:fit-content}.xterm .live-region{height:1px;left:-9999px;overflow:hidden;position:absolute;width:1px}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{position:absolute;z-index:6}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{pointer-events:none;position:absolute;right:0;top:0;z-index:8}.xterm-decoration-top{position:relative;z-index:2}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{background:#0000;opacity:1;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{box-shadow:inset 0 6px 6px -6px #000;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;height:3px;left:3px;top:0;width:100%}.xterm .xterm-scrollable-element>.shadow.left{box-shadow:inset 6px 0 6px -6px #000;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;height:100%;left:0;top:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;height:3px;left:0;top:0;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:inset 6px 0 6px -6px #000;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.terminal-page{--tp-bg:#f5f5f7;--tp-bg-card:#fff;--tp-bg-secondary:#fafafa;--tp-bg-tertiary:#f0f0f5;--tp-text-primary:#1d1d1f;--tp-text-secondary:#86868b;--tp-border:#e5e5e5;--tp-border-light:#d2d2d7;--tp-accent:#0071e3;--tp-accent-hover:#0077ed;--tp-accent-bg:#0071e314;--tp-error:#ff3b30;--tp-error-bg:#fff2f2;--tp-warning:#ff9500;--tp-shadow:#0000000f;--tp-shadow-lg:#0000001f;--tp-overlay:#0006}.terminal-page.theme-dark{--tp-bg:#0f172a;--tp-bg-card:#1e293b;--tp-bg-secondary:#1e293b;--tp-bg-tertiary:#334155;--tp-text-primary:#f1f5f9;--tp-text-secondary:#94a3b8;--tp-border:#334155;--tp-border-light:#475569;--tp-accent:#667eea;--tp-accent-hover:#7c8ff5;--tp-accent-bg:#667eea26;--tp-error:#f87171;--tp-error-bg:#f8717126;--tp-warning:#fbbf24;--tp-shadow:#0000004d;--tp-shadow-lg:#00000080;--tp-overlay:#0009}.terminal-page,.terminal-page .modal-content,.terminal-page .terminal-container,.terminal-page .terminal-main,.terminal-page .terminal-sidebar{transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.terminal-page{background:var(--tp-bg);color:var(--tp-text-primary);display:flex;min-height:calc(100vh - 60px)}.terminal-page.sidebar-open .terminal-main{margin-left:280px}.terminal-sidebar{background:var(--tp-bg-card);border-right:1px solid var(--tp-border);bottom:0;box-shadow:2px 0 12px var(--tp-shadow);display:flex;flex-direction:column;left:0;position:fixed;top:60px;transform:translateX(-100%);transition:transform .3s ease;width:280px;z-index:100}.terminal-sidebar.open{transform:translateX(0)}.sidebar-header{align-items:center;background:var(--tp-bg-secondary);border-bottom:1px solid var(--tp-border);display:flex;justify-content:space-between;padding:16px}.sidebar-tabs{background:var(--tp-bg-tertiary);border-radius:8px;display:flex;gap:4px;padding:3px}.sidebar-tabs button{background:#0000;border:none;border-radius:6px;color:var(--tp-text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:all .2s ease}.sidebar-tabs button.active,.sidebar-tabs button:hover{color:var(--tp-text-primary)}.sidebar-tabs button.active{background:var(--tp-bg-card);box-shadow:0 1px 4px var(--tp-shadow)}.sidebar-toggle{background:none;border:none;border-radius:6px;color:var(--tp-text-secondary);cursor:pointer;font-size:20px;padding:4px 8px;transition:all .2s}.sidebar-toggle:hover{background:var(--tp-bg-tertiary);color:var(--tp-text-primary)}.sidebar-content{flex:1 1;overflow-y:auto;padding:16px}.list-header{align-items:center;border-bottom:1px solid var(--tp-border);display:flex;justify-content:space-between;margin-bottom:12px;padding:8px 0}.list-header span{color:var(--tp-text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.list-header button{align-items:center;background:var(--tp-accent);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:26px;justify-content:center;transition:all .2s;width:26px}.list-header button:hover{background:var(--tp-accent-hover);transform:scale(1.05)}.list-empty{color:var(--tp-text-secondary);font-size:14px;padding:32px 0;text-align:center}.connection-item,.key-item{align-items:center;background:var(--tp-bg-secondary);border:1px solid #0000;border-radius:10px;cursor:pointer;display:flex;margin-bottom:6px;padding:12px;transition:all .2s ease}.connection-item:hover,.key-item:hover{background:var(--tp-bg-tertiary);border-color:var(--tp-border)}.item-info{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.item-icon{flex-shrink:0;font-size:18px}.item-details{display:flex;flex-direction:column;gap:2px;min-width:0}.item-name{color:var(--tp-text-primary);font-size:14px;font-weight:500}.item-meta,.item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-meta{font-size:12px}.item-delete,.item-meta{color:var(--tp-text-secondary)}.item-delete{background:none;border:none;border-radius:6px;cursor:pointer;font-size:18px;opacity:0;padding:4px 8px;transition:all .2s}.connection-item:hover .item-delete,.key-item:hover .item-delete{opacity:1}.item-delete:hover{background:var(--tp-error-bg);color:var(--tp-error)}.sidebar-actions{background:var(--tp-bg-secondary);border-top:1px solid var(--tp-border);padding:16px}.btn-local{align-items:center;background:var(--tp-bg-card);border:1px solid var(--tp-border);border-radius:10px;color:var(--tp-text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px;transition:all .2s;width:100%}.btn-local:hover{background:var(--tp-bg-tertiary);border-color:var(--tp-border-light)}.terminal-main{display:flex;flex:1 1;flex-direction:column;max-width:100%;overflow:hidden;padding:24px;transition:margin-left .3s ease}.terminal-header{align-items:center;display:flex;gap:16px;margin-bottom:20px}.sidebar-open-btn{background:var(--tp-bg-card);border:1px solid var(--tp-border);border-radius:10px;color:var(--tp-text-primary);cursor:pointer;font-size:16px;padding:10px 14px;transition:all .2s}.sidebar-open-btn:hover{background:var(--tp-bg-tertiary);border-color:var(--tp-border-light)}.terminal-header h1{color:var(--tp-text-primary);flex:1 1;font-size:28px;font-weight:700;letter-spacing:-.03em;margin:0}.terminal-actions{align-items:center;display:flex;gap:8px}.btn-theme-toggle{align-items:center;background:var(--tp-accent-bg);border:none;border-radius:8px;color:var(--tp-text-primary);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.btn-theme-toggle:hover{background:var(--tp-accent);color:#fff}.btn-theme-toggle svg{height:20px;width:20px}.btn-new-terminal{background:var(--tp-accent);border:none;border-radius:980px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-new-terminal:hover{background:var(--tp-accent-hover)}.terminal-error{align-items:center;background:var(--tp-error-bg);border:1px solid #0000;border-radius:12px;color:var(--tp-error);display:flex;font-size:14px;justify-content:space-between;margin-bottom:20px;padding:14px 18px}.terminal-page.theme-dark .terminal-error{border-color:#f871714d}.terminal-error button{background:none;border:none;color:var(--tp-error);cursor:pointer;font-size:20px;opacity:.7;padding:0 4px;transition:opacity .2s}.terminal-error button:hover{opacity:1}.terminal-empty{align-items:center;background:var(--tp-bg-card);border:1px solid var(--tp-border);border-radius:20px;box-shadow:0 2px 12px var(--tp-shadow);display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:48px;text-align:center}.terminal-empty .empty-icon{font-size:64px;margin-bottom:20px}.terminal-empty h2{color:var(--tp-text-primary);font-size:24px;font-weight:600;margin:0 0 8px}.terminal-empty p{color:var(--tp-text-secondary);font-size:16px;margin:0 0 28px}.btn-primary{background:var(--tp-accent);border:none;border-radius:980px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;padding:14px 28px;transition:all .2s}.btn-primary:hover{background:var(--tp-accent-hover)}.terminal-container{background:var(--tp-bg-card);border:1px solid var(--tp-border);border-radius:16px;box-shadow:0 2px 12px var(--tp-shadow);display:flex;flex:1 1;flex-direction:column;overflow:hidden}.terminal-tabs{background:var(--tp-bg-secondary);border-bottom:1px solid var(--tp-border);display:flex;gap:4px;overflow-x:auto;padding:8px 8px 0}.terminal-tab{align-items:center;background:var(--tp-bg-tertiary);border:1px solid #0000;border-bottom:none;border-radius:10px 10px 0 0;color:var(--tp-text-secondary);cursor:pointer;display:flex;font-size:13px;gap:8px;max-width:200px;min-width:120px;padding:10px 14px;transition:all .2s}.terminal-tab:hover{background:var(--tp-border);color:var(--tp-text-primary)}.terminal-tab.active{background:#1e1e1e;border-color:#1e1e1e;color:#fff}.tab-icon{font-size:14px}.tab-name{flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-status{font-size:10px}.tab-close{background:none;border:none;border-radius:4px;color:inherit;cursor:pointer;font-size:16px;opacity:.6;padding:2px 6px;transition:all .2s}.tab-close:hover{background:#ff3b3033;color:#ff3b30;opacity:1}.terminal-tab.active .tab-close:hover{background:#fff3;color:#fff}.tab-add{background:none;border:none;border-radius:8px;color:var(--tp-text-secondary);cursor:pointer;font-size:20px;padding:8px 14px;transition:all .2s}.tab-add:hover{background:var(--tp-accent-bg);color:var(--tp-accent)}.terminal-panes{background:#1e1e1e;flex:1 1;min-height:400px;position:relative}.terminal-pane{bottom:0;display:none;left:0;position:absolute;right:0;top:0}.terminal-pane.active{display:block}.xterm-container{box-sizing:border-box;height:100%;padding:12px;width:100%}.xterm{height:100%}.xterm-viewport{overflow-y:auto!important}.modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--tp-overlay);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:scaleIn .25s ease;background:var(--tp-bg-card);border:1px solid var(--tp-border);border-radius:16px;box-shadow:0 20px 60px var(--tp-shadow-lg);max-height:90vh;max-width:480px;overflow-y:auto;width:100%}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-content.modal-small{max-width:380px}.modal-header{align-items:center;border-bottom:1px solid var(--tp-border);display:flex;justify-content:space-between;padding:20px 24px}.modal-header h2{color:var(--tp-text-primary);font-size:20px;font-weight:600;margin:0}.modal-close{align-items:center;background:var(--tp-bg-tertiary);border:none;border-radius:50%;color:var(--tp-text-secondary);cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.modal-close:hover{background:var(--tp-border);color:var(--tp-text-primary)}.modal-body{padding:24px}.modal-footer{background:var(--tp-bg-secondary);border-radius:0 0 16px 16px;border-top:1px solid var(--tp-border);display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.connection-types{display:flex;gap:12px;margin-bottom:24px}.type-btn{background:var(--tp-bg-tertiary);border:2px solid var(--tp-border);border-radius:12px;color:var(--tp-text-secondary);cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:18px;transition:all .2s}.type-btn:hover{border-color:var(--tp-accent);color:var(--tp-text-primary)}.type-btn.active{background:var(--tp-accent-bg);border-color:var(--tp-accent);color:var(--tp-accent)}.local-info{background:var(--tp-bg-tertiary);border-radius:12px;padding:24px;text-align:center}.local-info p{color:var(--tp-text-primary);font-size:15px;margin:0 0 12px}.local-info .warning{color:var(--tp-warning);font-size:13px;margin:0}.ssh-form{gap:18px}.form-group,.ssh-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:var(--tp-text-primary);font-size:13px;font-weight:500}.form-group input,.form-group select{background:var(--tp-bg-tertiary);border:1px solid var(--tp-border);border-radius:10px;color:var(--tp-text-primary);font-size:15px;padding:12px 14px;transition:all .2s}.form-group input:focus,.form-group select:focus{background:var(--tp-bg-card);border-color:var(--tp-accent);box-shadow:0 0 0 3px var(--tp-accent-bg);outline:none}.form-group input::placeholder{color:var(--tp-text-secondary)}.form-group select option{background:var(--tp-bg-card);color:var(--tp-text-primary)}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1 1}.form-row .form-group.small{flex:0 0 100px}.form-checkbox{align-items:center;display:flex;gap:10px;padding-top:4px}.form-checkbox input[type=checkbox]{accent-color:var(--tp-accent);cursor:pointer;height:18px;width:18px}.btn-cancel,.form-checkbox label{color:var(--tp-text-primary);cursor:pointer;font-size:14px}.btn-cancel{background:var(--tp-bg-card);border:1px solid var(--tp-border);border-radius:980px;font-weight:500;padding:12px 24px;transition:all .2s}.btn-cancel:hover{background:var(--tp-bg-tertiary);border-color:var(--tp-border-light)}.btn-connect{background:var(--tp-accent);border:none;border-radius:980px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s}.btn-connect:hover{background:var(--tp-accent-hover)}.btn-connect:disabled{background:var(--tp-border);color:var(--tp-text-secondary);cursor:not-allowed}@media (max-width:768px){.terminal-page.sidebar-open .terminal-main{margin-left:0}.terminal-sidebar{width:100%}.terminal-main{padding:16px}.terminal-header{flex-wrap:wrap;gap:12px}.terminal-header h1{font-size:22px;order:-1;width:100%}.modal-content{border-radius:14px;margin:16px;max-width:calc(100% - 32px)}.connection-types{flex-direction:column}.terminal-tabs{padding:6px 6px 0}.terminal-tab{min-width:100px;padding:8px 12px}}.stock-chart-container{background:#fff;background:var(--stock-bg-primary,#fff);border:1px solid #e5e8eb;border:1px solid var(--stock-border,#e5e8eb);border-radius:16px;margin-bottom:16px;padding:16px}.stock-chart-legend{display:flex;gap:16px;margin-bottom:12px;padding-left:8px}.stock-chart-legend .legend-item{align-items:center;display:flex;font-size:12px;font-weight:500;gap:4px}.stock-chart-legend .legend-item:before{border-radius:1px;content:"";display:inline-block;height:2px;width:12px}.stock-chart-legend .legend-item.ma5:before{background-color:#f59e0b}.stock-chart-legend .legend-item.ma20:before{background-color:#10b981}.stock-chart-legend .legend-item.ma60:before{background-color:#8b5cf6}.stock-chart{width:100%}.stock-chart-empty{background:#f8f9fa;background:var(--stock-bg-secondary,#f8f9fa);border:1px solid #e5e8eb;border:1px solid var(--stock-border,#e5e8eb);border-radius:16px;color:#8b95a1;color:var(--stock-text-tertiary,#8b95a1);padding:60px 20px;text-align:center}@media (max-width:768px){.stock-chart-container{border-radius:12px;padding:12px}.stock-chart-legend{gap:12px;margin-bottom:8px}.stock-chart-legend .legend-item{font-size:11px}}.rsi-chart-container{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:12px;padding:1.25rem}.rsi-chart-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.rsi-chart-title{font-size:.875rem;font-weight:700;margin:0}.rsi-chart-legend{align-items:center;display:flex;font-size:.75rem;gap:.75rem}.rsi-chart-legend .legend-item{align-items:center;display:flex;gap:.25rem}.rsi-chart-legend .legend-line{display:inline-block;height:2px;width:.5rem}.rsi-chart-legend .legend-line.overbought{background-color:#ef4444}.rsi-chart-legend .legend-line.oversold{background-color:#22c55e}.rsi-chart-legend .legend-text{color:#64748b;color:var(--foreground-muted,#64748b)}.rsi-chart{width:100%}.macd-chart-container{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:12px;padding:1.25rem}.macd-chart-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.macd-chart-title{font-size:.875rem;font-weight:700;margin:0}.macd-chart-legend{align-items:center;display:flex;font-size:.75rem;gap:.75rem}.macd-chart-legend .legend-item{align-items:center;display:flex;gap:.25rem}.macd-chart-legend .legend-dot{border-radius:50%;display:inline-block;height:.5rem;width:.5rem}.macd-chart-legend .legend-dot.macd{background-color:#3b82f6}.macd-chart-legend .legend-dot.signal{background-color:#f97316}.macd-chart-legend .legend-bar{display:inline-block;height:.25rem;width:.5rem}.macd-chart-legend .legend-bar.histogram{background-color:#94a3b8}.macd-chart-legend .legend-text{color:#64748b;color:var(--foreground-muted,#64748b)}.macd-chart{width:100%}.volume-chart-container{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:12px;padding:1.25rem}.volume-chart-title{font-size:1.125rem;font-weight:700;margin:0 0 1rem}.volume-chart{width:100%}.investor-chart-container{background:#1f2937;border:1px solid #374151;border-radius:12px;padding:1.25rem}.investor-chart-title{color:#f9fafb;font-size:18px;font-weight:700;margin-bottom:1rem}.investor-section{margin-bottom:1.5rem}.investor-section:last-child{margin-bottom:0}.investor-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.investor-label-group{align-items:center;display:flex;gap:.5rem}.investor-label{color:#f9fafb;font-size:14px;font-weight:700}.investor-badge{border-radius:4px;font-size:12px;font-weight:500;padding:.25rem .5rem}.badge-buy{background:#ef444433;color:#ef4444}.badge-sell{background:#3b82f633;color:#3b82f6}.badge-institution-sell{background:#f59e0b33;color:#f59e0b}.badge-neutral{background:#9ca3af33;color:#9ca3af}.investor-legend{color:#9ca3af;font-size:12px;gap:.75rem}.investor-legend,.legend-item{align-items:center;display:flex}.legend-item{gap:.25rem}.legend-color{border-radius:2px;height:8px;width:8px}.legend-buy{background:#ef4444}.legend-sell{background:#3b82f6}.legend-institution{background:#f59e0b}.short-selling-container{background:#1f2937;border:1px solid #374151;border-radius:12px;padding:1.25rem}.short-selling-title{color:#f9fafb;font-size:18px;font-weight:700;margin-bottom:1rem}.short-selling-summary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem}.summary-card{background:#111827;border-radius:8px;padding:.75rem}.summary-label{color:#9ca3af;margin-bottom:.25rem}.summary-value{color:#f9fafb;font-size:18px;font-weight:700;margin-bottom:.25rem}.summary-change{font-size:14px;font-weight:500}.summary-change.positive{color:#f87171}.summary-change.negative{color:#60a5fa}.summary-change.neutral{color:#9ca3af}.chart-section{margin-bottom:1.5rem}.chart-section:last-of-type{margin-bottom:1rem}.chart-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.chart-label{color:#f9fafb;font-size:14px;font-weight:700}.chart-unit{color:#9ca3af;font-size:12px}.chart-container{width:100%}.short-selling-info{background:#111827;border-radius:8px;color:#9ca3af;font-size:12px;margin-top:1rem;padding:.75rem}.short-selling-info strong{color:#f9fafb}.indicator-panel{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:12px;padding:.75rem 1rem}.indicator-panel-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr}@media (min-width:640px){.indicator-panel-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.indicator-panel{padding:1rem}.indicator-panel-grid{gap:1rem;grid-template-columns:auto 1fr 1fr}}.indicator-section{display:flex;flex-direction:column}.indicator-section.advanced{grid-column:span 1}@media (min-width:640px){.indicator-section.advanced{grid-column:span 2}}@media (min-width:1024px){.indicator-section.advanced{grid-column:span 1}}.indicator-section-title{color:#64748b;color:var(--foreground-muted,#64748b);font-size:.75rem;font-weight:500;margin:0 0 .5rem}@media (min-width:640px){.indicator-section-title{font-size:.875rem}}.indicator-buttons{display:flex;flex-wrap:wrap;gap:.375rem}@media (min-width:640px){.indicator-buttons{gap:.5rem}}.indicator-button{align-items:center;background:#f1f5f9;background:var(--btn-secondary-bg,#f1f5f9);border:none;border-radius:6px;color:#64748b;color:var(--foreground-muted,#64748b);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.375rem;padding:.375rem .75rem;transition:all .2s}.indicator-button:hover:not(.disabled){background:#e2e8f0;background:var(--btn-secondary-hover,#e2e8f0)}.indicator-button.disabled{cursor:not-allowed;opacity:.5}.indicator-button.active{background:#3b82f6;box-shadow:0 4px 6px -1px #3b82f64d;color:#fff}.indicator-button.ma5.active{background:#eab308;box-shadow:0 4px 6px -1px #eab3084d}.indicator-button.ma20.active{background:#a855f7;box-shadow:0 4px 6px -1px #a855f74d}.indicator-button.ma60.active{background:#10b981;box-shadow:0 4px 6px -1px #10b9814d}.indicator-button.bollinger.active{background:#06b6d4;box-shadow:0 4px 6px -1px #06b6d44d}.indicator-button.rsi.active{background:#f97316;box-shadow:0 4px 6px -1px #f973164d}.indicator-button.macd.active{background:#6366f1;box-shadow:0 4px 6px -1px #6366f14d}.indicator-button.support.active{background:#ec4899;box-shadow:0 4px 6px -1px #ec48994d}.indicator-button.vwap.active{background:linear-gradient(90deg,#10b981,#ef4444);box-shadow:0 4px 6px -1px #10b9814d}.indicator-dot{border-radius:50%;display:inline-block;height:.5rem;width:.5rem}.ai-summary-panel{display:flex;flex-direction:column;gap:1.25rem}.ai-summary-panel.loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem}.loading-spinner{border:3px solid #8b5cf64d;border-top-color:#8b5cf6}.beginner-summary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:.75rem;box-shadow:0 4px 12px #8b5cf64d;color:#fff;padding:1.5rem}.beginner-summary .summary-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.beginner-summary .icon{font-size:1.5rem}.beginner-summary h3{font-size:1.25rem;font-weight:700;margin:0}.beginner-summary .summary-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:.5rem;padding:1rem}.beginner-summary .summary-text{font-size:.938rem;line-height:1.6;margin:0}.toggle-detail-btn{align-items:center;background:var(--background-secondary);border:1px solid var(--border-color);border-radius:.75rem;color:var(--foreground-muted);cursor:pointer;display:flex;font-size:.938rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .2s;width:100%}.toggle-detail-btn:hover{background:var(--card-bg-hover);color:var(--foreground)}.toggle-detail-btn.expanded{background:#8b5cf61a;border-color:#8b5cf64d;color:#8b5cf6}.toggle-detail-btn .toggle-icon{height:1.25rem;transition:transform .2s;width:1.25rem}.toggle-detail-btn.expanded .toggle-icon{transform:rotate(180deg)}.toggle-detail-btn .subtitle{font-size:.875rem;opacity:.7}.detailed-analysis{display:flex;flex-direction:column;gap:1.25rem}.ai-header{background:linear-gradient(135deg,#8b5cf6,#6d28d9 50%,#4c1d95);border-radius:.75rem;box-shadow:0 8px 24px #8b5cf666;overflow:hidden;padding:1.5rem;position:relative}.ai-header .header-bg-pattern{inset:0;opacity:.15;pointer-events:none;position:absolute}.ai-header .header-content{position:relative;z-index:1}.ai-header .header-top{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.ai-header .header-left{align-items:center;display:flex;gap:.75rem}.ai-header .icon-wrapper{align-items:center;background:#fff3;border-radius:.5rem;display:flex;height:2.5rem;justify-content:center;width:2.5rem}.ai-header .icon-wrapper svg{color:#fff;height:1.25rem;width:1.25rem}.ai-header h3{color:#fff;font-size:1.25rem;font-weight:700;margin:0}.ai-header .header-meta{align-items:center;color:#ffffffb3;display:flex;font-size:.938rem;gap:.5rem;margin-top:.25rem}.ai-header .separator{color:#fff6}.ai-header .header-right{align-items:center;display:flex;gap:.5rem}.ai-header .refresh-btn{background:#ffffff1a;border:none;border-radius:.5rem;color:#fffc;cursor:pointer;padding:.5rem;transition:all .2s}.ai-header .refresh-btn:hover:not(:disabled){background:#fff3;color:#fff}.ai-header .refresh-btn:disabled{background:#ffffff0d;cursor:not-allowed;opacity:.5}.ai-header .refresh-btn svg{height:1rem;width:1rem}.ai-header .refresh-btn .cooldown-text{font-family:Courier New,monospace;font-size:.75rem}.confidence-badge{border:1px solid;border-radius:.5rem;font-size:.938rem;font-weight:500;padding:.375rem .75rem}.confidence-high-bg{background:#22c55e1a}.confidence-high-border{border-color:#22c55e4d}.confidence-high-text{color:#22c55e}.confidence-medium-bg{background:#fbbf241a}.confidence-medium-border{border-color:#fbbf244d}.confidence-medium-text{color:#fbbf24}.confidence-low-bg{background:#ef44441a}.confidence-low-border{border-color:#ef44444d}.confidence-low-text{color:#ef4444}.ai-header .summary-text{color:#fffffff2;font-size:.938rem;line-height:1.6;margin:0}.key-points-risks{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr}@media (min-width:768px){.key-points-risks{grid-template-columns:1fr 1fr}}.card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.75rem;padding:1.25rem}.card-header{align-items:center;display:flex;gap:.5rem;margin-bottom:1rem}.card-header .icon-wrapper{align-items:center;border-radius:.5rem;display:flex;height:2rem;justify-content:center;width:2rem}.card-header .icon-wrapper svg{height:1rem;width:1rem}.card-header .icon-wrapper.info{background:#3b82f61a}.card-header .icon-wrapper.info svg{color:#3b82f6}.card-header .icon-wrapper.warning{background:#fbbf241a}.card-header .icon-wrapper.warning svg{color:#fbbf24}.card-header .icon-wrapper.success{background:#22c55e1a}.card-header .icon-wrapper.success svg{color:#22c55e}.card-header .icon-wrapper.ai{background:#8b5cf61a}.card-header .icon-wrapper.ai svg{color:#8b5cf6}.card-header h4{font-size:1.125rem;font-weight:600;margin:0}.point-list{display:flex;flex-direction:column;gap:.625rem;list-style:none;margin:0;padding:0}.point-list li{align-items:flex-start;display:flex;gap:.625rem}.point-list .bullet{background:#3b82f6;border-radius:50%;flex-shrink:0;height:.375rem;margin-top:.625rem;width:.375rem}.point-list .bullet.warning{background:#fbbf24}.point-list li span:last-child{color:var(--foreground-muted);font-size:.938rem;line-height:1.6}.market-forces,.technical-analysis{border-color:#8b5cf64d;box-shadow:0 2px 8px #8b5cf61a}.analysis-content{display:flex;flex-direction:column;gap:1.25rem}.analysis-section h5{border-bottom:1px solid #8b5cf633;color:#a78bfa;font-size:1rem;margin:0 0 .75rem;padding-bottom:.5rem}.section-items{display:flex;flex-direction:column;gap:.75rem}.section-items .item-subtitle{color:var(--foreground);font-size:.938rem;margin:0 0 .25rem}.section-items .item-content{padding-left:.75rem}.recommendation .strategy-text,.section-items .item-content{color:var(--foreground-muted);font-size:.938rem;line-height:1.6;margin:0}.recommendation .strategy-text{white-space:pre-line}.data-sources{background:var(--background-secondary);border:1px solid var(--border-color);border-radius:.5rem;padding:1rem}.sources-label{color:var(--foreground-muted);font-size:.938rem;margin-bottom:.5rem}.sources-list{display:flex;flex-wrap:wrap;gap:.5rem}.source-badge{align-items:center;border:1px solid;border-radius:.25rem;display:inline-flex;font-size:.938rem;gap:.25rem;padding:.25rem .5rem}.source-badge.available{background:#22c55e1a;border-color:#22c55e4d;color:#22c55e}.source-badge.mock{background:#fbbf241a;border-color:#fbbf244d;color:#fbbf24}.source-badge.unavailable{background:var(--background);border-color:var(--border-color);color:var(--foreground-muted);opacity:.5}.source-badge .count{opacity:.7}.disclaimer{background:var(--background-secondary);border:1px solid var(--border-color);border-radius:.5rem}.disclaimer p{color:var(--foreground-muted);font-size:.938rem;line-height:1.6;margin:0}.disclaimer strong{color:#fbbf24}.disclaimer .meta{align-items:center;color:var(--foreground-muted);display:flex;flex-wrap:wrap;font-size:.938rem;gap:.5rem;justify-content:space-between;margin-top:.5rem;opacity:.6}.disclaimer .model-badge{background:var(--background);border:1px solid var(--border-color);border-radius:.25rem;padding:.125rem .5rem}@media (max-width:768px){.ai-header .header-top{align-items:flex-start;flex-direction:column}.ai-header .header-right{justify-content:space-between;width:100%}.key-points-risks{grid-template-columns:1fr}}.backtest-panel-container{background:#1f2937;border:1px solid #374151;border-radius:12px;padding:1.5rem}.backtest-panel-title{color:#f9fafb;font-size:18px;font-weight:700;margin-bottom:1rem}.form-group{margin-bottom:1rem}.form-label{color:#9ca3af;display:block;font-size:14px;font-weight:500;margin-bottom:.5rem}.form-input,.form-select{background:#111827;border:1px solid #374151;border-radius:8px;color:#f9fafb;font-size:14px;padding:.5rem 1rem;transition:border-color .2s;width:100%}.form-input:focus,.form-select:focus{border-color:#3b82f6;outline:none}.form-input:disabled,.form-select:disabled{cursor:not-allowed;opacity:.5}.period-buttons{display:flex;gap:.5rem}.period-button{background:#111827;border:1px solid #374151;border-radius:8px;color:#9ca3af;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:.5rem 1rem;transition:all .2s}.period-button:hover:not(:disabled){background:#1f2937}.period-button.active{background:#3b82f6;box-shadow:0 10px 15px -3px #3b82f64d;color:#fff}.period-button:disabled{cursor:not-allowed;opacity:.5}.form-hint{color:#9ca3af;font-size:12px;margin-top:.25rem}.submit-button{background:linear-gradient(90deg,#3b82f6,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;margin-top:1rem;padding:.75rem 1.5rem;transition:all .2s;width:100%}.submit-button:hover:not(:disabled){background:linear-gradient(90deg,#2563eb,#7c3aed);box-shadow:0 10px 15px -3px #3b82f680}.submit-button:disabled{background:#111827;color:#9ca3af;cursor:not-allowed}.loading-text{align-items:center;display:flex;gap:.5rem;justify-content:center}.loading-spinner{display:inline-block}.insight-panel{color:#f9fafb}.verdict-card{border-radius:12px;box-shadow:0 10px 15px -3px #0000004d;margin-bottom:1.5rem;padding:1.5rem}.verdict-strong-buy{background:linear-gradient(90deg,#dc2626,#ef4444)}.verdict-buy{background:linear-gradient(90deg,#ef4444,#f87171)}.verdict-buy-watch{background:linear-gradient(90deg,#f87171,#fb923c)}.verdict-neutral{background:linear-gradient(90deg,#6b7280,#9ca3af)}.verdict-watch{background:linear-gradient(90deg,#475569,#64748b)}.verdict-caution{background:linear-gradient(90deg,#eab308,#fb923c)}.verdict-sell-watch{background:linear-gradient(90deg,#38bdf8,#3b82f6)}.verdict-sell{background:linear-gradient(90deg,#3b82f6,#2563eb)}.verdict-strong-sell{background:linear-gradient(90deg,#2563eb,#1d4ed8)}.verdict-content{align-items:center;display:flex;justify-content:space-between}.verdict-label{color:#fffc;font-size:14px;font-weight:500;margin-bottom:.25rem}.verdict-title{color:#fff;font-size:28px;font-weight:700;margin-bottom:.5rem}.verdict-reason{color:#ffffffe6;font-size:14px}.verdict-price-box{text-align:right}.verdict-price{color:#fff;font-size:24px;font-weight:700}.verdict-change{font-size:14px;font-weight:500;margin-top:.25rem}.verdict-change.positive{color:#fca5a5}.verdict-change.negative{color:#93c5fd}.verdict-change.neutral{color:#d1d5db}.verdict-warning{color:#fff9;font-size:12px;margin-top:.25rem}.signals-section{margin-bottom:1.5rem}.signals-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.signals-title{color:#f9fafb;font-size:18px;font-weight:700}.signals-count{color:#6b7280;font-size:12px}.signal-category{background:#1f2937;border:1px solid #374151;border-radius:12px;margin-bottom:1rem;padding:1.5rem}.signal-category:last-child{margin-bottom:0}.score-bar-container{margin-bottom:1rem}.score-bar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.25rem}.score-bar-label{align-items:center;color:#9ca3af;display:flex;font-size:14px;gap:.25rem}.score-bar-value{color:#f9fafb;font-size:14px;font-weight:700}.score-bar-track{background:#111827;border-radius:999px;height:12px;overflow:hidden}.score-bar-fill{border-radius:999px;height:100%;transition:width .5s ease}.score-buy{background:linear-gradient(90deg,#ef4444,#f87171)}.score-sell{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.score-caution{background:linear-gradient(90deg,#eab308,#fb923c)}.signal-list{display:flex;flex-direction:column;gap:.5rem}.signal-card{border-left-style:solid;border-left-width:4px;border-radius:8px;padding:1rem}.signal-buy{background:#ef44441a;border-left-color:#ef4444}.signal-sell{background:#3b82f61a;border-left-color:#3b82f6}.signal-caution{background:#eab3081a;border-left-color:#eab308}.border-strong{border-left-width:4px}.border-moderate{border-left-width:2px}.border-weak{border-left-style:dashed;border-left-width:1px}.signal-card-content{align-items:flex-start;display:flex;justify-content:space-between}.signal-info{flex:1 1}.signal-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.25rem}.signal-title{color:#f9fafb;font-size:14px;font-weight:700}.signal-source{background:#ffffff1a;border-radius:4px;color:#9ca3af;font-size:12px;padding:.125rem .5rem}.signal-description{color:#9ca3af;font-size:14px;margin-bottom:.25rem}.signal-date{color:#9ca3af99;font-size:12px}.signal-score-box{margin-left:1rem;text-align:right}.signal-score{color:#f9fafb;font-size:24px;font-weight:700}.signal-score-label{color:#9ca3af;font-size:12px}.signal-empty{color:#9ca3af;font-size:14px;padding:1rem 0;text-align:center}.insight-footer{color:#9ca3af99;font-size:12px;text-align:right}.news-panel{gap:1.5rem}.news-panel,.news-panel.loading{display:flex;flex-direction:column}.news-panel.loading{align-items:center;gap:1rem;justify-content:center;padding:3rem}.news-analysis-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.analysis-title{font-size:1.125rem;font-weight:700;margin:0 0 1rem}.sentiment-gauge{margin-bottom:1rem}.gauge-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.gauge-label{color:var(--foreground-muted);font-size:.875rem}.gauge-value{font-size:.875rem;font-weight:500}.gauge-value.positive{color:var(--stock-up)}.gauge-value.negative{color:var(--stock-down)}.gauge-value.neutral{color:var(--foreground-muted)}.gauge-bar{background:var(--background-secondary);border-radius:9999px;height:.75rem;overflow:hidden;position:relative}.gauge-center-line{background:var(--border-color);width:1px}.gauge-fill{bottom:0;position:absolute;top:0;transition:all .5s}.gauge-fill.positive{background:var(--stock-up)}.gauge-fill.negative{background:var(--stock-down)}.gauge-fill.neutral{background:var(--foreground-muted)}.gauge-labels{color:var(--foreground-muted);font-size:.75rem;margin-top:.25rem;opacity:.6}.sentiment-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-top:1rem}.stat-card{border-radius:.5rem;padding:.75rem;text-align:center}.stat-card.positive{background:#ef44441a}.stat-card.neutral{background:var(--card-bg-hover)}.stat-card.negative{background:#3b82f61a}.stat-value{font-size:1.5rem}.stat-card.positive .stat-value{color:var(--stock-up)}.stat-card.neutral .stat-value{color:var(--foreground-muted)}.stat-card.negative .stat-value{color:var(--stock-down)}.stat-label{color:var(--foreground-muted);font-size:.75rem;margin-top:.25rem}.news-list-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.list-title{font-size:1.125rem;font-weight:700;margin:0 0 1rem}.news-count{color:var(--foreground-muted);font-size:.875rem;font-weight:400;margin-left:.5rem}.news-items{flex-direction:column}.news-item,.news-items{display:flex;gap:.75rem}.news-item{align-items:flex-start;border:1px solid;border-radius:.5rem;color:inherit;cursor:pointer;padding:1rem;text-decoration:none;transition:all .2s}.news-item:hover{opacity:.8;transform:translateX(2px)}.sentiment-positive-bg{background:#ef44441a}.sentiment-positive-border{border-color:#ef44444d}.sentiment-positive-text{color:var(--stock-up)}.sentiment-positive-badge{background:#ef44441a;color:var(--stock-up)}.sentiment-negative-bg{background:#3b82f61a}.sentiment-negative-border{border-color:#3b82f64d}.sentiment-negative-text{color:var(--stock-down)}.sentiment-negative-badge{background:#3b82f61a;color:var(--stock-down)}.sentiment-neutral-bg{background:var(--card-bg-hover)}.sentiment-neutral-border{border-color:var(--border-color)}.sentiment-neutral-badge,.sentiment-neutral-text{color:var(--foreground-muted)}.sentiment-neutral-badge{background:var(--card-bg-hover)}.news-icon{font-size:1.5rem}.news-content{flex:1 1;min-width:0}.news-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--foreground);display:-webkit-box;font-size:.938rem;font-weight:500;margin:0 0 .25rem;overflow:hidden}.news-meta{align-items:center;color:var(--foreground-muted);display:flex;flex-wrap:wrap;font-size:.75rem;gap:.5rem}.sentiment-badge{border-radius:.25rem;padding:.125rem .5rem}.meta-separator{opacity:.5}.empty-state{color:var(--foreground-muted);padding:2rem}.news-source-info{color:var(--foreground-muted);font-size:.75rem;opacity:.6;text-align:right}@media (max-width:768px){.sentiment-stats{gap:.5rem;grid-template-columns:1fr}.stat-card{padding:.5rem}.stat-value{font-size:1.25rem}.news-item{align-items:flex-start;flex-direction:column}.news-icon{font-size:1.25rem}}.leading-sector-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.75rem;display:flex;flex-direction:column;gap:1rem;padding:1rem}.leading-sector-panel.loading-card{padding:1rem}.loading-skeleton{display:flex;flex-direction:column;gap:.75rem}.skeleton-bar{animation:pulse 1.5s ease-in-out infinite;background:#ffffff1a;border-radius:.25rem;height:1rem}.skeleton-bar.large{width:33%}.skeleton-bar.medium{width:66%}.skeleton-bar.small{width:50%}.leading-sector-panel.error-card{align-items:center;background:#ef44441a;border-color:#ef44444d;display:flex;flex-direction:column;gap:.5rem}.error-message,.retry-btn{font-size:.875rem}.retry-btn{background:#ef444433;border-radius:.375rem;color:#ef4444;padding:.25rem .75rem}.retry-btn:hover{background:#ef44444d}.panel-header{align-items:center;display:flex;justify-content:space-between}.panel-title{color:var(--foreground);font-size:1.125rem;font-weight:700;margin:0}.refresh-btn{background:#3b82f633;color:#3b82f6;padding:.25rem .75rem}.refresh-btn:hover:not(:disabled){background:#3b82f64d}.analysis-summary{background:#ffffff0d;border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem}.summary-text{font-size:.875rem;margin:0 0 .25rem}.analysis-time,.summary-text{color:var(--foreground-muted)}.analysis-time{font-size:.75rem;margin:0;opacity:.6}.leading-sectors{display:flex;flex-direction:column;gap:.5rem}.section-title{font-weight:600;margin:0 0 .5rem}.subtitle{font-weight:400;opacity:.7}.sector-list{display:flex;flex-direction:column;gap:.5rem}.sector-card{background:#ffffff0d;border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem}.sector-card.top-sector{background:#ef44441a;border-color:#ef444480}.sector-header{align-items:center;cursor:pointer;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.sector-rank{background:#ffffff1a;border-radius:.25rem;color:var(--foreground-muted);font-size:.75rem;font-weight:700;padding:.125rem .375rem}.sector-rank.top{background:#ef4444;color:#fff}.sector-name{color:var(--foreground);font-weight:500}.stock-count{color:var(--foreground-muted);font-size:.75rem}.trade-amount{color:#fbbf24}.avg-change-rate,.trade-amount{font-size:.875rem;font-weight:500}.avg-change-rate{color:#ef4444}.expand-icon{font-size:.75rem}.leader-stock{align-items:center;background:#ffffff0d;border:1px solid var(--border-color);border-radius:.375rem;cursor:pointer;display:flex;justify-content:space-between;margin-top:.5rem;padding:.5rem;transition:background .2s}.leader-stock:hover{background:#ffffff1a}.leader-left{align-items:center;display:flex;gap:.25rem}.leader-icon{color:#ef4444;font-size:.875rem}.leader-name{color:var(--foreground);font-weight:500}.leader-label{color:var(--foreground-muted);font-size:.75rem}.leader-right{align-items:center;display:flex;gap:.5rem;text-align:right}.leader-change-rate{color:#ef4444;font-weight:500}.leader-trade-amount{color:var(--foreground-muted);font-size:.75rem}.stock-list{gap:.25rem;margin-top:.5rem}.stock-item{border-radius:.25rem;cursor:pointer;font-size:.875rem;padding:.375rem .5rem}.stock-item:hover{background:#ffffff1a}.item-name{color:var(--foreground-muted)}.item-change-rate{color:#ef4444}.top-volume-stocks{display:flex;flex-direction:column;gap:.5rem}.stock-table-wrapper{border-radius:.375rem;max-height:15rem;overflow-y:auto}.stock-table{border-collapse:collapse;font-size:.875rem;width:100%}.stock-table thead{background:var(--card-bg);position:-webkit-sticky;position:sticky;top:0;z-index:1}.stock-table th{border-bottom:1px solid var(--border-color);color:var(--foreground-muted);font-size:.75rem;padding:.25rem;text-align:left}.stock-table th.right{text-align:right}.stock-table tbody tr{border-bottom:1px solid var(--border-color);cursor:pointer;transition:background .2s}.stock-table tbody tr:hover{background:#ffffff0d}.stock-table tbody tr.highlighted{background:#ef44441a}.stock-table td{padding:.25rem}.stock-table td.right{text-align:right}.stock-name{color:var(--foreground)}.stock-code{margin-left:.25rem}.change-rate.positive{color:#ef4444}.change-rate.negative{color:#3b82f6}.trade-amount{color:var(--foreground-muted)}@media (max-width:768px){.sector-header{align-items:flex-start;flex-direction:column}.header-right{justify-content:space-between;width:100%}.leader-stock{align-items:flex-start;flex-direction:column;gap:.5rem}.leader-right{justify-content:space-between;width:100%}}.disclosures-panel{max-width:100%;padding:16px 0;width:100%}.disclosures-empty,.disclosures-loading{align-items:center;color:#666;color:var(--color-text-secondary,#666);display:flex;flex-direction:column;gap:12px;justify-content:center;padding:48px 16px}.loading-spinner{border:3px solid #f3f4f6;border-top:3px solid var(--color-primary,#3b82f6);height:32px;width:32px}.empty-icon{font-size:48px}.disclosures-list{display:flex;flex-direction:column;gap:12px}.disclosure-item{background:#f8fafc;background:var(--color-surface,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;display:block;padding:16px;transition:all .2s ease}.disclosure-item:hover{background:#fff;border-color:#3b82f6;border-color:var(--color-primary,#3b82f6);box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.disclosure-header{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.disclosure-type-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:4px 10px;white-space:nowrap}.disclosure-date{color:#666;color:var(--color-text-secondary,#666);font-size:13px;font-weight:500}.disclosure-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1a1a1a;color:var(--color-text-primary,#1a1a1a);display:-webkit-box;font-size:14px;font-weight:500;line-height:1.5;margin:0 0 8px}.disclosure-footer{align-items:center;border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);display:flex;justify-content:space-between;padding-top:8px}.disclosure-full-date{color:#9ca3af;color:var(--color-text-tertiary,#9ca3af);font-size:12px}.disclosure-link-icon{color:#3b82f6;color:var(--color-primary,#3b82f6);font-size:14px;font-weight:600}@media (max-width:640px){.disclosure-type-badge{font-size:11px;padding:3px 8px}.disclosure-title{font-size:13px}.disclosure-date{font-size:12px}.disclosure-full-date{font-size:11px}}.orderbook-container{background:#fff;background:var(--stock-bg-primary,#fff);border:1px solid #e5e8eb;border:1px solid var(--stock-border,#e5e8eb);border-radius:16px;padding:16px}.orderbook-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.orderbook-header h3{color:#191f28;color:var(--stock-text-primary,#191f28);font-size:16px;font-weight:600;margin:0}.orderbook-refresh{background:#f8f9fa;background:var(--stock-bg-secondary,#f8f9fa);border:1px solid #e5e8eb;border:1px solid var(--stock-border,#e5e8eb);border-radius:8px;cursor:pointer;font-size:12px;padding:6px 12px;transition:background .2s}.orderbook-refresh:hover{background:#f1f3f5;background:var(--stock-bg-tertiary,#f1f3f5)}.orderbook-wall-alert{align-items:center;background:#fbbf241a;border:1px solid #fbbf244d;border-radius:8px;display:flex;gap:8px;margin-bottom:12px;padding:10px 12px}.wall-icon{font-size:14px}.wall-text{color:#191f28;color:var(--stock-text-primary,#191f28);font-size:13px}.sell-wall{color:#3182f6;color:var(--stock-down,#3182f6);font-weight:500}.buy-wall{color:#f04452;color:var(--stock-up,#f04452);font-weight:500}.orderbook-table{margin-bottom:12px}.orderbook-row{border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:2px;padding:8px 12px;transition:background .15s}.orderbook-row:hover{background:#f8f9fa;background:var(--stock-bg-secondary,#f8f9fa)}.orderbook-row.selected{outline:2px solid #3182f6;outline:2px solid var(--stock-brand,#3182f6);outline-offset:-2px}.orderbook-row.wall{outline:2px solid #fbbf24;outline-offset:-2px}.orderbook-bar{border-radius:6px;right:0;transition:width .3s ease}.ask-bar{background:#3182f626}.bid-bar{background:#f0445226}.orderbook-price{align-items:center;display:flex;gap:8px;position:relative;z-index:1}.price-value{font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:500}.orderbook-row.ask .price-value{color:#3182f6;color:var(--stock-down,#3182f6)}.orderbook-row.bid .price-value{color:#f04452;color:var(--stock-up,#f04452)}.price-change{font-size:11px}.price-change.up{color:#f04452;color:var(--stock-up,#f04452)}.price-change.down{color:#3182f6;color:var(--stock-down,#3182f6)}.wall-badge{font-size:12px}.orderbook-volume{color:#4e5968;color:var(--stock-text-secondary,#4e5968);font-family:SF Mono,Monaco,monospace;font-size:13px;position:relative;z-index:1}.orderbook-current-price{align-items:center;background:#f8f9fa;background:var(--stock-bg-secondary,#f8f9fa);border:1px dashed #e5e8eb;border:1px dashed var(--stock-border,#e5e8eb);border-radius:8px;display:flex;justify-content:space-between;margin:8px 0;padding:10px 12px}.current-label{color:#8b95a1;color:var(--stock-text-tertiary,#8b95a1);font-size:12px}.current-value{color:#191f28;color:var(--stock-text-primary,#191f28);font-size:15px;font-weight:600}.orderbook-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:12px}.summary-item{border-radius:10px;padding:12px;text-align:center}.ask-summary{background:#3182f61a}.bid-summary{background:#f044521a}.summary-label{color:#8b95a1;color:var(--stock-text-tertiary,#8b95a1);display:block;font-size:12px;margin-bottom:4px}.summary-value{font-family:SF Mono,Monaco,monospace;font-size:16px;font-weight:600}.ask-summary .summary-value{color:#3182f6;color:var(--stock-down,#3182f6)}.bid-summary .summary-value{color:#f04452;color:var(--stock-up,#f04452)}.orderbook-ratio{margin-bottom:12px}.ratio-labels{color:#4e5968;color:var(--stock-text-secondary,#4e5968);display:flex;font-size:12px;justify-content:space-between;margin-bottom:6px}.ratio-bar{background:#f8f9fa;background:var(--stock-bg-secondary,#f8f9fa);border-radius:4px;display:flex;height:8px;overflow:hidden}.ratio-bid{background:#f04452;background:var(--stock-up,#f04452)}.ratio-ask,.ratio-bid{transition:width .3s ease}.ratio-ask{background:#3182f6;background:var(--stock-down,#3182f6)}.orderbook-help{background:#f8f9fa;background:var(--stock-bg-secondary,#f8f9fa);border-radius:8px;color:#8b95a1;color:var(--stock-text-tertiary,#8b95a1);font-size:12px;padding:10px 12px}.orderbook-help p{margin:0}.orderbook-help strong{color:#4e5968;color:var(--stock-text-secondary,#4e5968)}.orderbook-empty{background:#f8f9fa;background:var(--stock-bg-secondary,#f8f9fa);border:1px solid #e5e8eb;border:1px solid var(--stock-border,#e5e8eb);border-radius:16px;color:#8b95a1;color:var(--stock-text-tertiary,#8b95a1);padding:40px 20px;text-align:center}@media (max-width:768px){.orderbook-container{border-radius:12px;padding:12px}.orderbook-row{padding:6px 10px}.price-value{font-size:13px}.orderbook-volume{font-size:12px}.orderbook-help{display:none}}.pattern-list-container{background:#1f2937;border:1px solid #374151;border-radius:12px;padding:1.25rem}.pattern-list-title{color:#f9fafb;font-size:18px;font-weight:700;margin-bottom:1rem}.pattern-empty{color:#6b7280;padding:2rem 0;text-align:center}.pattern-list-scroll{max-height:384px;overflow-y:auto}.pattern-card{border:1px solid;border-radius:8px;margin-bottom:.75rem;padding:.75rem;transition:all .2s}.pattern-card:last-child{margin-bottom:0}.pattern-card.clickable{cursor:pointer}.pattern-card.clickable:hover{box-shadow:0 10px 15px -3px #0000004d;transform:scale(1.02)}.pattern-card-content{align-items:flex-start;display:flex;gap:.75rem}.pattern-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.pattern-info{flex:1 1;min-width:0}.pattern-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.25rem}.pattern-name{color:#fff;font-size:14px;font-weight:700}.pattern-signal{border-radius:4px;font-size:12px;font-weight:500;padding:.125rem .5rem}.signal-buy{background:#22c55e33;color:#4ade80}.signal-sell{background:#ef444433;color:#f87171}.signal-neutral{background:#6b728033;color:#9ca3af}.pattern-description{color:#d1d5db;font-size:14px;margin-bottom:.25rem}.pattern-meta{align-items:center;color:#9ca3af;display:flex;font-size:12px;gap:.75rem}.pattern-hint{color:#6b7280;font-size:12px;margin-top:.75rem;text-align:center}.stock-search-container{position:relative;width:100%}.stock-search-input-wrapper{position:relative}.stock-search-input{background:var(--stock-bg-primary);border:1px solid var(--stock-border-primary);border-radius:var(--stock-radius-sm);color:var(--stock-text-primary);font-size:var(--stock-font-sm);outline:none;padding:10px 40px 10px 12px;transition:all var(--stock-transition-fast);width:100%}.stock-search-input:focus{border-color:var(--stock-brand);box-shadow:0 0 0 3px #3182f61a}.stock-search-input::placeholder{color:var(--stock-text-tertiary)}.stock-search-input:disabled{cursor:not-allowed;opacity:.6}.stock-search-icon{align-items:center;display:flex;justify-content:center;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.search-icon-svg{color:var(--stock-text-tertiary);height:16px;width:16px}.search-spinner{animation:spin 1s linear infinite;color:var(--stock-brand);height:16px;width:16px}.stock-search-dropdown{background:var(--stock-bg-card);border:1px solid var(--stock-border-primary);border-radius:var(--stock-radius-sm);box-shadow:var(--stock-shadow-lg);margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;width:100%;z-index:var(--stock-z-dropdown)}.stock-search-result-item{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:12px;text-align:left;transition:background var(--stock-transition-fast);width:100%}.stock-search-result-item.selected,.stock-search-result-item:hover{background:var(--stock-bg-hover)}.stock-search-result-item:first-child{border-top-left-radius:var(--stock-radius-sm);border-top-right-radius:var(--stock-radius-sm)}.stock-search-result-item:last-child{border-bottom-left-radius:var(--stock-radius-sm);border-bottom-right-radius:var(--stock-radius-sm)}.stock-search-result-info{flex:1 1;min-width:0}.stock-search-result-header{align-items:center;display:flex;gap:8px;margin-bottom:2px}.stock-search-result-name{truncate:ellipsis;color:var(--stock-text-primary);font-size:var(--stock-font-sm);font-weight:var(--stock-font-medium);overflow:hidden;white-space:nowrap}.stock-search-result-market{background:var(--stock-bg-secondary);border-radius:var(--stock-radius-xs);flex-shrink:0;padding:2px 6px}.stock-search-result-code,.stock-search-result-market{color:var(--stock-text-tertiary);font-size:var(--stock-font-xs)}.stock-search-result-icon{color:var(--stock-text-tertiary);flex-shrink:0;height:16px;margin-left:8px;width:16px}.stock-search-no-results{color:var(--stock-text-tertiary);font-size:var(--stock-font-sm);padding:16px;text-align:center}.stock-search-message{border-radius:var(--stock-radius-sm);font-size:var(--stock-font-xs);margin-top:8px;padding:8px 12px}.stock-search-message.error{background:#f044521a;border:1px solid #f044524d;color:var(--stock-error)}.stock-search-message.success{background:#03c75a1a;border:1px solid #03c75a4d;color:var(--stock-success)}.stock-search-loading-overlay{align-items:center;background:#ffffff80;border-radius:var(--stock-radius-sm);display:flex;inset:0;justify-content:center;position:absolute}.dark .stock-search-loading-overlay,[data-theme=dark] .stock-search-loading-overlay{background:#00000080}.indicator-toggle{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:8px;padding:1rem}.indicator-toggle-title{color:#64748b;color:var(--foreground-muted,#64748b);font-size:.875rem;font-weight:500;margin:0 0 .75rem}.indicator-toggle-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.toggle-button{align-items:center;background:#f1f5f9;background:var(--btn-secondary-bg,#f1f5f9);border:none;border-radius:6px;color:#64748b;color:var(--foreground-muted,#64748b);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.toggle-button:hover{background:#e2e8f0;background:var(--btn-secondary-hover,#e2e8f0)}.toggle-button.active{color:#fff}.toggle-button.ma5.active{background:#eab308;box-shadow:0 4px 6px -1px #eab3084d}.toggle-button.ma20.active{background:#a855f7;box-shadow:0 4px 6px -1px #a855f74d}.toggle-button.ma60.active{background:#10b981;box-shadow:0 4px 6px -1px #10b9814d}.toggle-dot{border-radius:50%;display:inline-block;height:.75rem;width:.75rem}.indicator-toggle-hint{color:#64748b;color:var(--foreground-muted,#64748b);font-size:.75rem;margin-top:.75rem}.backtest-result-container{background:#1f2937;border:1px solid #374151;border-radius:12px;padding:1.5rem}.backtest-result-title{color:#f9fafb;font-size:18px;font-weight:700;margin-bottom:1rem}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem}@media (min-width:1024px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{border:1px solid;border-radius:8px;padding:1rem}.stat-win{background:linear-gradient(to bottom right,#10b9811a,#0596691a);border-color:#10b9814d}.stat-return-positive{background:linear-gradient(to bottom right,#3b82f61a,#2563eb1a);border-color:#3b82f64d}.stat-return-negative{background:linear-gradient(to bottom right,#ef44441a,#dc26261a);border-color:#ef44444d}.stat-mdd{background:linear-gradient(to bottom right,#f59e0b1a,#d977061a);border-color:#f59e0b4d}.stat-trades{background:linear-gradient(to bottom right,#a855f71a,#9333ea1a);border-color:#a855f74d}.stat-label{color:#9ca3af;font-size:12px;margin-bottom:.25rem}.stat-value{font-size:24px;margin-bottom:.25rem}.stat-value.positive{color:#60a5fa}.stat-value.negative{color:#f87171}.stat-win .stat-value{color:#10b981}.stat-mdd .stat-value{color:#f59e0b}.stat-trades .stat-value{color:#a855f7}.stat-meta{color:#9ca3af;font-size:12px;margin-top:.25rem}.trades-section{margin-top:1.5rem}.trades-title{color:#f9fafb;font-size:14px;font-weight:700;margin-bottom:.75rem}.trades-table-wrapper{overflow-x:auto}.trades-table{border-collapse:collapse;font-size:14px;width:100%}.trades-table thead{background:#111827;border-bottom:1px solid #374151}.trades-table th{color:#9ca3af;font-size:12px;font-weight:500;padding:.5rem 1rem;text-align:left}.trades-table th.text-right{text-align:right}.trades-table th.text-center{text-align:center}.trades-table tbody tr{border-bottom:1px solid #374151;transition:background-color .2s}.trades-table tbody tr:hover{background:#1f2937}.trades-table td{color:#f9fafb;padding:.5rem 1rem}.trades-table td.text-right{text-align:right}.trades-table td.text-center{text-align:center}.trades-table td.font-medium{font-weight:500}.trades-table td.positive{color:#4ade80}.trades-table td.negative{color:#f87171}.exit-reason,.trades-count{color:#9ca3af;font-size:12px}.trades-count{margin-top:.5rem;text-align:center}.stock-list{gap:2px;padding:4px 8px}.stock-list-item{border-radius:var(--stock-radius-sm);cursor:pointer;padding:8px 10px;position:relative;transition:all var(--stock-transition-fast)}.stock-list-item:hover{background:var(--stock-bg-hover)}.stock-list-item.selected{background:var(--stock-brand);box-shadow:var(--stock-shadow-sm);color:#fff}.stock-list-delete-btn-wrapper{opacity:0;position:absolute;right:6px;top:50%;transform:translateY(-50%);transition:opacity var(--stock-transition-fast);z-index:10}.stock-list-delete-btn-wrapper.visible{opacity:1}.stock-list-delete-btn{align-items:center;background:none;border:none;border-radius:var(--stock-radius-xs);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all var(--stock-transition-fast)}.stock-list-item.selected .stock-list-delete-btn{color:#ffffffb3}.stock-list-item.selected .stock-list-delete-btn:hover{background:#fff3;color:#fff}.stock-list-item:not(.selected) .stock-list-delete-btn{color:var(--stock-text-tertiary)}.stock-list-item:not(.selected) .stock-list-delete-btn:hover{background:var(--stock-bg-secondary);color:var(--stock-error)}.stock-list-delete-btn:disabled{cursor:not-allowed;opacity:.5}.stock-list-delete-btn svg{height:14px;width:14px}.delete-spinner{animation:spin 1s linear infinite}.stock-list-info{padding-right:20px}.stock-list-name-row{align-items:center;display:flex;gap:4px;margin-bottom:2px}.stock-list-name{truncate:ellipsis;font-size:var(--stock-font-sm);font-weight:var(--stock-font-medium);overflow:hidden;white-space:nowrap}.stock-list-item.selected .stock-list-name{color:#fff}.stock-list-item:not(.selected) .stock-list-name{color:var(--stock-text-primary)}.stock-list-favorite-icon{align-items:center;display:flex;flex-shrink:0}.stock-list-item.selected .stock-list-favorite-icon{color:#fbbf24}.stock-list-item:not(.selected) .stock-list-favorite-icon{color:#f59e0b}.stock-list-favorite-icon svg{height:14px;width:14px}.stock-list-details-row{align-items:center;display:flex;justify-content:space-between;margin-top:0}.stock-list-code{font-size:var(--stock-font-xs)}.stock-list-item.selected .stock-list-code{color:#fff9}.stock-list-item:not(.selected) .stock-list-code{color:var(--stock-text-tertiary)}.stock-list-price-info{align-items:center;display:flex;gap:6px}.stock-list-price{font-size:var(--stock-font-xs);font-weight:var(--stock-font-semibold);transition:all .3s ease}.stock-list-item.selected .stock-list-price{color:#fff}.stock-list-item:not(.selected) .stock-list-price{color:var(--stock-text-primary)}.stock-list-change{border-radius:var(--stock-radius-xs);font-size:var(--stock-font-xs);font-weight:var(--stock-font-bold);padding:2px 4px;transition:all .3s ease}.stock-list-item.selected .stock-list-change.up{background:#ef44444d;color:#fca5a5}.stock-list-item.selected .stock-list-change.down{background:#3b82f64d;color:#93c5fd}.stock-list-item.selected .stock-list-change.flat{background:#fff3;color:#ffffffb3}.stock-list-item:not(.selected) .stock-list-change.up{background:var(--stock-up-bg);color:var(--stock-up)}.stock-list-item:not(.selected) .stock-list-change.down{background:var(--stock-down-bg);color:var(--stock-down)}.stock-list-item:not(.selected) .stock-list-change.flat{background:var(--stock-bg-secondary);color:var(--stock-text-tertiary)}.stock-list-empty{padding:32px 16px;text-align:center}.stock-list-empty-icon{align-items:center;background:var(--stock-bg-secondary);border-radius:var(--stock-radius-md);display:flex;height:48px;justify-content:center;margin:0 auto 12px;width:48px}.stock-list-empty-icon svg{color:var(--stock-text-tertiary);height:24px;width:24px}.stock-list-empty-text{color:var(--stock-text-tertiary);font-size:var(--stock-font-sm);margin-bottom:4px}.stock-list-empty-subtext{color:var(--stock-text-disabled);font-size:var(--stock-font-xs)}.volume-strength-container{background:#1f2937;border:1px solid #374151;border-radius:12px;padding:1.25rem}.volume-strength-title{color:#f9fafb;font-size:18px;font-weight:700;margin-bottom:1rem}.strength-section{margin-bottom:1rem}.strength-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.strength-label{color:#9ca3af;font-size:14px}.strength-badges{align-items:center;display:flex;gap:.5rem}.strength-value{border-radius:8px;font-size:14px;font-weight:700;padding:.25rem .75rem}.strength-status{border-radius:4px;font-size:12px;font-weight:500;padding:.25rem .5rem}.gauge-container{background:#111827;border-radius:8px;height:32px;overflow:hidden;position:relative}.gauge-center-line{background:#374151;bottom:0;left:50%;position:absolute;top:0;width:2px;z-index:10}.gauge-fill{height:100%;opacity:.6;transition:width .3s ease}.gauge-labels{align-items:center;color:#9ca3af;display:flex;font-size:12px;inset:0;justify-content:space-between;padding:0 .75rem;pointer-events:none;position:absolute}.gauge-center-label,.gauge-ticks{color:#9ca3af}.gauge-ticks{display:flex;font-size:12px;justify-content:space-between;margin-top:.25rem}.program-section{border-top:1px solid #374151;padding-top:1rem}.program-header{align-items:center;display:flex;justify-content:space-between}.program-label{color:#9ca3af;font-size:14px}.program-badges{align-items:center;display:flex;gap:.5rem}.program-value{border-radius:8px;font-size:14px;font-weight:700;padding:.25rem .75rem}.program-status{border-radius:4px;font-size:12px;font-weight:500;padding:.25rem .5rem}.strength-info{background:#111827;border-radius:8px;color:#9ca3af;font-size:12px;margin-top:1rem;padding:.75rem}.strength-info strong{color:#f9fafb}.info-note{margin-top:.25rem}.theme-recommendation{background:var(--background);display:flex;flex-direction:column;gap:1rem;height:100%;overflow-y:auto;padding:1rem}.theme-recommendation.loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #3b82f64d;border-top-color:#3b82f6;height:3rem;width:3rem}.theme-recommendation.error{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center}.error-icon{color:#ef4444;font-size:3rem}.error-message{color:#ef4444;margin:0}.retry-btn{background:#3b82f6;border-radius:.5rem;font-size:.938rem;padding:.5rem 1rem}.retry-btn:hover{background:#2563eb}.theme-header{background:var(--background);border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.header-left,.theme-header{align-items:center;display:flex}.header-left{gap:.5rem}.header-icon{font-size:1.5rem}.theme-header h1{font-size:1.25rem;font-weight:700;margin:0}.header-right{align-items:center;display:flex;gap:.75rem}.update-time{color:var(--foreground-muted);font-size:.75rem}.refresh-btn{background:var(--btn-secondary-bg);border:none;border-radius:.375rem;color:var(--foreground);cursor:pointer;font-size:.875rem;padding:.375rem .75rem;transition:background .2s}.refresh-btn:hover:not(:disabled){background:var(--btn-secondary-hover)}.refresh-btn:disabled{cursor:not-allowed;opacity:.5}.theme-description{color:var(--foreground-muted);font-size:.875rem;margin:0 1rem}.theme-list{display:flex;flex-direction:column;gap:1rem}.empty-state{padding:2.5rem;text-align:center}.empty-state p{color:var(--foreground-muted);margin:0 0 1rem}.start-analysis-btn{background:#3b82f6;border:none;border-radius:.5rem;color:#fff;cursor:pointer;padding:.5rem 1rem}.start-analysis-btn:hover{background:#2563eb}.theme-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.5rem;overflow:hidden}.theme-card-header{align-items:center;cursor:pointer;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding:1rem;transition:background .2s}.theme-card-header:hover{background:var(--card-bg-hover)}.theme-card-header .header-left{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.theme-rank{color:var(--foreground-muted);font-size:1.125rem;font-weight:700}.theme-name{font-size:1.125rem;font-weight:600;margin:0}.score-value,.theme-score{font-size:.875rem}.score-value{font-weight:500}.score-high{color:#ef4444}.score-medium{color:#f97316}.score-low{color:#fbbf24}.score-very-low{color:#9ca3af}.ai-badge{color:#22c55e;font-size:.75rem}.expand-icon{font-size:1.125rem}.expand-icon,.theme-reason{color:var(--foreground-muted)}.theme-reason{font-size:.875rem;margin:0;padding:0 1rem 1rem 2rem}.theme-expanded{border-top:1px solid var(--border-color)}.ai-analysis-section{background:var(--background-secondary);display:flex;flex-direction:column;gap:1rem;padding:1rem}.section-header{color:#3b82f6;gap:.5rem;margin-bottom:.75rem}.analysis-block{display:flex;flex-direction:column;gap:.5rem}.block-title{color:#fbbf24;font-size:.938rem;font-weight:600;margin:0 0 .5rem}.block-content{border-left:2px solid var(--border-color);display:flex;flex-direction:column;font-size:.875rem;gap:.25rem;padding-left:.5rem}.block-content .label{color:var(--foreground-muted)}.cycle-초기{color:#22c55e}.cycle-성장{color:#3b82f6}.cycle-과열{color:#ef4444}.summary{font-size:.875rem;margin:.5rem 0 0}.stock-analysis-list{display:flex;flex-direction:column;gap:.75rem}.stock-analysis-item{background:var(--card-bg);border-radius:.375rem;font-size:.875rem;padding:.75rem}.stock-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.stock-name{font-weight:500}.stock-code{color:var(--foreground-muted);font-size:.75rem}.stock-type{border-radius:.25rem;font-size:.75rem;padding:.125rem .5rem}.stock-type.대장주{background:#ef444433;color:#ef4444}.stock-type.후발주{background:#3b82f633;color:#3b82f6}.stock-type.신규{background:#22c55e33;color:#22c55e}.stock-analysis-item p{margin:.25rem 0}.recommendation{color:#3b82f6;margin-top:.5rem}.risk-list{color:#f97316;list-style:disc;margin:.25rem 0 0;padding-left:1.5rem}.recommended-stocks-section{padding:1rem}.stock-list{display:flex;flex-direction:column;gap:.5rem}.stock-item{align-items:center;background:var(--background);border-radius:.5rem;display:flex;gap:.75rem;justify-content:space-between;padding:.75rem;transition:background .2s}.stock-item:hover{background:var(--card-bg-hover)}.stock-info{cursor:pointer;flex:1 1}.stock-name-code{align-items:center;display:flex;gap:.75rem;margin-bottom:.25rem}.stock-name-code .name{font-weight:500}.stock-name-code .code{color:var(--foreground-muted);font-size:.75rem}.stock-price{align-items:center;display:flex;font-size:.875rem;gap:1rem;margin-top:.25rem}.change-rate{font-weight:500}.change-rate.positive{color:var(--stock-up)}.change-rate.negative{color:var(--stock-down)}.change-rate.neutral,.stock-reason{color:var(--foreground-muted)}.stock-reason{font-size:.75rem;margin:.25rem 0 0}.add-stock-btn{background:#3b82f6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;padding:.375rem .75rem;transition:background .2s;white-space:nowrap}.add-stock-btn:hover:not(:disabled){background:#2563eb}.add-stock-btn:disabled{background:#6b7280;cursor:not-allowed}.empty-stocks{font-size:.875rem}.disclaimer,.empty-stocks{color:var(--foreground-muted);padding:1rem;text-align:center}.disclaimer{border-top:1px solid var(--border-color);font-size:.75rem}@media (max-width:768px){.theme-header{align-items:flex-start;flex-direction:column}.header-right{justify-content:space-between;width:100%}.stock-item{align-items:flex-start;flex-direction:column}.add-stock-btn{width:100%}}.company-info{display:flex;flex-direction:column;gap:1.5rem}.company-info.loading{padding:1rem}.skeleton-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.skeleton{animation:pulse 1.5s ease-in-out infinite;background:var(--btn-secondary-bg);border-radius:.25rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-line{height:1rem}.skeleton-line.full{width:100%}.skeleton-line.large{width:75%}.skeleton-line.medium{width:50%}.skeleton-line.small{width:25%}.skeleton-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.skeleton-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.5rem;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.company-info.empty{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.75rem;padding:2rem;text-align:center}.company-info.empty p{color:var(--foreground-muted);margin:0}.info-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.5rem;padding:1rem}.section-title{align-items:center;color:var(--foreground-muted);display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin:0 0 .75rem}.title-icon{height:1rem;width:1rem}.section-subtitle{color:var(--foreground-muted);font-size:.75rem;font-weight:400}.business-summary{font-size:.875rem;line-height:1.6;margin:0;white-space:pre-line}.info-grid{grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.info-grid.small{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}@media (min-width:768px){.info-grid{grid-template-columns:repeat(3,1fr)}}.info-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem 1rem}.info-label{color:var(--foreground-muted);font-size:.75rem;margin:0 0 .25rem}.info-value{font-size:1.125rem;font-weight:700;margin:0}.info-value.negative{color:#3b82f6}.info-subtext{color:var(--foreground-muted);font-size:.75rem;margin:.125rem 0 0}.homepage-link{color:#8b5cf6;display:block;font-size:.875rem;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.homepage-link:hover{color:#a78bfa}.sector-tags{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.sector-tag{border-radius:9999px;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.sector-tag.primary{background:#8b5cf633;color:#8b5cf6;cursor:pointer;transition:background .2s}.sector-tag.primary:hover{background:#8b5cf64d}.sector-tag.secondary{background:var(--btn-secondary-bg);color:var(--foreground)}.range-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.5rem;padding:1rem}.range-labels{display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:.5rem}.range-label.low{color:var(--stock-down)}.range-label.high{color:var(--stock-up)}.range-bar{background:var(--btn-secondary-bg);border-radius:9999px;height:.75rem;overflow:hidden;position:relative}.range-gradient{background:linear-gradient(to right,#3b82f64d 0,var(--background-secondary) 50%,#ef44444d 100%);inset:0;position:absolute}.range-marker{background:var(--card-bg);border:2px solid #8b5cf6;border-radius:50%;box-shadow:0 2px 8px #0000004d;height:1rem;position:absolute;top:50%;transform:translateY(-50%);transition:left .3s;width:1rem}.current-price{margin-top:.5rem;text-align:center}.price-value{font-size:1.125rem;font-weight:700}.price-change{font-size:.875rem;font-weight:500;margin-left:.5rem}.price-change.positive{color:var(--stock-up)}.price-change.negative{color:var(--stock-down)}.disclosure-list{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.5rem;overflow:hidden}.disclosure-item{align-items:flex-start;border-bottom:1px solid var(--border-color);color:inherit;display:flex;gap:.5rem;justify-content:space-between;padding:.75rem;text-decoration:none;transition:background .2s}.disclosure-item:last-child{border-bottom:none}.disclosure-item:hover{background:var(--card-bg-hover)}.disclosure-content{flex:1 1;min-width:0}.disclosure-title{font-size:.875rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.disclosure-remark{margin:.125rem 0 0}.disclosure-date,.disclosure-remark{color:var(--foreground-muted);font-size:.75rem}.disclosure-date{white-space:nowrap}.dart-link{align-items:center;color:#8b5cf6;display:inline-flex;font-size:.75rem;gap:.25rem;margin-top:.5rem;text-decoration:none}.dart-link:hover{color:#a78bfa}.link-icon{height:.75rem;width:.75rem}.notice-card{background:#fbbf241a;border:1px solid #fbbf244d;border-radius:.5rem;padding:1rem}.notice-card p{color:#fbbf24;font-size:.875rem;margin:0}.data-footer{color:var(--foreground-muted);font-size:.75rem;text-align:right}.data-footer p{margin:.125rem 0}@media (max-width:768px){.info-grid{grid-template-columns:1fr}.range-labels{flex-direction:column;gap:.25rem}.disclosure-item{align-items:flex-start;flex-direction:column}}:root{--stock-bg-primary:#fff;--stock-bg-secondary:#f8f9fa;--stock-bg-tertiary:#f1f3f5;--stock-bg-card:#fff;--stock-bg-hover:#f8f9fa;--stock-text-primary:#191f28;--stock-text-secondary:#4e5968;--stock-text-tertiary:#8b95a1;--stock-text-disabled:#b0b8c1;--stock-border-primary:#e5e8eb;--stock-border-secondary:#f1f3f5;--stock-up:#f04452;--stock-up-bg:#f0445214;--stock-up-light:#fef2f2;--stock-down:#3182f6;--stock-down-bg:#3182f614;--stock-down-light:#eff6ff;--stock-neutral:#8b95a1;--stock-brand:#3182f6;--stock-brand-hover:#1b64da;--stock-brand-light:#e8f3ff;--stock-success:#03c75a;--stock-warning:#ff9500;--stock-error:#f04452;--stock-font-family:-apple-system,BlinkMacSystemFont,"Pretendard","Segoe UI",Roboto,sans-serif;--stock-font-xs:11px;--stock-font-sm:13px;--stock-font-md:15px;--stock-font-lg:17px;--stock-font-xl:20px;--stock-font-2xl:24px;--stock-font-3xl:28px;--stock-font-4xl:36px;--stock-font-regular:400;--stock-font-medium:500;--stock-font-semibold:600;--stock-font-bold:700;--stock-line-tight:1.3;--stock-line-normal:1.5;--stock-line-relaxed:1.6;--stock-space-xs:4px;--stock-space-sm:8px;--stock-space-md:12px;--stock-space-lg:16px;--stock-space-xl:20px;--stock-space-2xl:24px;--stock-space-3xl:32px;--stock-space-4xl:40px;--stock-radius-xs:4px;--stock-radius-sm:8px;--stock-radius-md:12px;--stock-radius-lg:16px;--stock-radius-xl:20px;--stock-radius-full:9999px;--stock-shadow-xs:0 1px 2px #0000000a;--stock-shadow-sm:0 1px 3px #0000000f,0 1px 2px #0000000a;--stock-shadow-md:0 4px 6px #0000000f,0 2px 4px #0000000a;--stock-shadow-lg:0 10px 15px #00000014,0 4px 6px #0000000a;--stock-shadow-card:0 2px 8px #0000000a;--stock-transition-fast:0.15s ease;--stock-transition-normal:0.2s ease;--stock-transition-slow:0.3s ease;--stock-z-dropdown:100;--stock-z-sticky:200;--stock-z-fixed:300;--stock-z-modal:400;--stock-z-toast:500;--stock-btn-height-sm:36px;--stock-btn-height-md:44px;--stock-btn-height-lg:52px;--stock-input-height:48px;--stock-card-padding:20px}.dark,[data-theme=dark]{--stock-bg-primary:#0a0a0f;--stock-bg-secondary:#12121a;--stock-bg-tertiary:#16161f;--stock-bg-card:#16161f;--stock-bg-hover:#1c1c28;--stock-text-primary:#f0f0f5;--stock-text-secondary:#a0a0b0;--stock-text-tertiary:#8b8b9a;--stock-text-disabled:#5a5a68;--stock-border-primary:#2a2a3a;--stock-border-secondary:#1e1e2a;--stock-up:#ef4444;--stock-up-bg:#ef444426;--stock-up-light:#ef444414;--stock-down:#3b82f6;--stock-down-bg:#3b82f626;--stock-down-light:#3b82f614;--stock-neutral:#6b7280;--stock-brand:#6366f1;--stock-brand-hover:#818cf8;--stock-brand-light:#6366f126;--stock-success:#22c55e;--stock-warning:#f59e0b;--stock-error:#ef4444;--stock-shadow-xs:0 1px 2px #0000004d;--stock-shadow-sm:0 1px 3px #0006,0 1px 2px #0000004d;--stock-shadow-md:0 4px 6px #0006,0 2px 4px #0000004d;--stock-shadow-lg:0 10px 15px #00000080,0 4px 6px #0006;--stock-shadow-card:0 2px 8px #0000004d}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f8f9fa;background:var(--stock-bg-secondary);border-radius:4px}::-webkit-scrollbar-thumb{background:#e5e8eb;background:var(--stock-border-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#8b95a1;background:var(--stock-text-tertiary)}.skeleton{animation:skeleton-loading 1.5s infinite;background:linear-gradient(90deg,#f8f9fa 25%,#f8f9fa 50%,#f8f9fa 75%);background:linear-gradient(90deg,var(--stock-bg-secondary) 25%,var(--stock-bg-hover) 50%,var(--stock-bg-secondary) 75%);background-size:200% 100%;border-radius:4px;border-radius:var(--stock-radius-xs)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .3s ease-out}.stock-home-container{background:var(--stock-bg-primary);color:var(--stock-text-primary);display:flex;flex-direction:column;font-family:var(--stock-font-family);height:100vh;overflow:hidden}.stock-home-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(var(--stock-bg-primary),.8);border-bottom:1px solid var(--stock-border-primary);flex-shrink:0;height:56px;z-index:var(--stock-z-sticky)}@media (min-width:768px){.stock-home-header{height:64px}}.stock-home-header-content{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:1800px;padding:0 16px}@media (min-width:768px){.stock-home-header-content{padding:0 24px}}.stock-home-logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;background-clip:text;background-color:initial;border:none;cursor:pointer;font-size:var(--stock-font-2xl);font-weight:var(--stock-font-bold);transition:all var(--stock-transition-fast)}.stock-home-logo:hover{opacity:.8}.stock-home-header-actions{align-items:center;display:flex;gap:16px}.stock-home-menu-btn{align-items:center;background:none;border:none;border-radius:var(--stock-radius-sm);color:var(--stock-text-tertiary);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all var(--stock-transition-fast)}.stock-home-menu-btn:hover{background:var(--stock-bg-hover);color:var(--stock-text-primary)}.stock-home-menu-btn svg{height:20px;width:20px}@media (min-width:1024px){.stock-home-menu-btn{display:none}}.stock-home-main{display:flex;flex:1 1;min-height:0;position:relative}.stock-home-sidebar{background:var(--stock-bg-secondary);border-right:1px solid var(--stock-border-primary);display:flex;flex-direction:column;height:calc(100vh - 56px);left:0;position:fixed;top:56px;transition:transform var(--stock-transition-normal);width:288px;z-index:calc(var(--stock-z-sticky) - 1)}@media (min-width:768px){.stock-home-sidebar{height:calc(100vh - 64px);top:64px}}@media (min-width:1024px){.stock-home-sidebar{position:-webkit-sticky;position:sticky;top:64px;transform:translateX(0)!important}}.stock-home-sidebar.collapsed{transform:translateX(-100%)}.stock-home-search-section{padding:12px}.stock-home-search-section,.stock-home-view-tabs{border-bottom:1px solid var(--stock-border-primary)}.stock-home-view-tabs{display:flex;gap:8px;padding:8px 12px}.view-tab{background:var(--stock-bg-secondary);border:1px solid var(--stock-border-primary);border-radius:var(--stock-radius-md);color:var(--stock-text-secondary);cursor:pointer;flex:1 1;font-size:var(--stock-font-sm);font-weight:var(--stock-font-medium);padding:10px 16px;transition:all var(--stock-transition-fast)}.view-tab:hover{background:var(--stock-bg-tertiary);color:var(--stock-text-primary)}.view-tab.active{background:var(--stock-accent-primary);border-color:var(--stock-accent-primary);color:#fff}.stock-home-market-tabs{border-bottom:1px solid var(--stock-border-primary);display:flex}.market-tab{align-items:center;background:#0000;border:none;color:var(--stock-text-tertiary);cursor:pointer;display:flex;flex:1 1;font-size:var(--stock-font-sm);font-weight:var(--stock-font-medium);gap:4px;justify-content:center;padding:10px;transition:all var(--stock-transition-fast)}.market-tab:hover{background:var(--stock-bg-hover);color:var(--stock-text-primary)}.market-tab.active{background:var(--stock-brand);color:#fff}.stock-home-list-section{flex:1 1;min-height:0;overflow-y:auto}.stock-home-error,.stock-home-loading{padding:48px 24px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid var(--stock-bg-tertiary);border-radius:50%;border-top-color:var(--stock-brand);height:40px;margin:0 auto 16px;width:40px}.stock-home-loading span{color:var(--stock-text-tertiary);display:block;font-size:var(--stock-font-sm)}.stock-home-error p{color:var(--stock-error);font-size:var(--stock-font-sm);margin-bottom:16px}.retry-btn{background:var(--stock-brand);border:none;border-radius:var(--stock-radius-sm);color:#fff;cursor:pointer;font-size:var(--stock-font-sm);font-weight:var(--stock-font-medium);padding:8px 16px;transition:all var(--stock-transition-fast)}.retry-btn:hover{background:var(--stock-brand-hover)}.stock-home-overlay{background:#00000080;display:block;inset:56px 0 0 0;position:fixed;z-index:calc(var(--stock-z-sticky) - 2)}@media (min-width:768px){.stock-home-overlay{inset:64px 0 0 0}}@media (min-width:1024px){.stock-home-overlay{display:none}}.stock-home-content{background:var(--stock-bg-primary);flex:1 1;min-width:0;overflow-y:auto}@media (min-width:1024px){.stock-home-content{margin-left:288px}}.stock-home-welcome{margin:0 auto;max-width:600px;padding:120px 24px;text-align:center}.welcome-icon{align-items:center;background:var(--stock-bg-secondary);border-radius:var(--stock-radius-lg);display:flex;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.welcome-icon svg{color:var(--stock-text-tertiary);height:40px;width:40px}.stock-home-welcome h2{color:var(--stock-text-primary);font-size:var(--stock-font-2xl);font-weight:var(--stock-font-bold);margin:0 0 12px}.stock-home-welcome p{color:var(--stock-text-tertiary);font-size:var(--stock-font-md);line-height:var(--stock-line-relaxed);margin:0}.stock-home-detail-placeholder{padding:48px 24px;text-align:center}.stock-home-detail-placeholder p{color:var(--stock-text-tertiary);font-size:var(--stock-font-md)}.stock-detail{background:var(--stock-bg-secondary);color:var(--stock-text-primary);font-family:var(--stock-font-family);min-height:100vh;padding-bottom:100px}.stock-detail-error,.stock-detail-loading{align-items:center;color:var(--stock-text-tertiary);display:flex;flex-direction:column;gap:var(--stock-space-lg);justify-content:center;min-height:60vh}.stock-detail-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid var(--stock-border-primary);border-radius:50%;border-top-color:var(--stock-brand);height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.stock-detail-error .error-icon{font-size:56px;opacity:.6}.stock-detail-error button{background:var(--stock-brand);border:none;border-radius:var(--stock-radius-sm);color:#fff;cursor:pointer;font-family:inherit;font-size:var(--stock-font-md);font-weight:var(--stock-font-medium);margin-top:var(--stock-space-lg);padding:var(--stock-space-md) var(--stock-space-2xl);transition:var(--stock-transition-fast)}.stock-detail-error button:hover{background:var(--stock-brand-hover)}.stock-detail-header{background:var(--stock-bg-primary);border-bottom:1px solid var(--stock-border-primary);padding:var(--stock-space-lg) var(--stock-space-xl) var(--stock-space-2xl)}.back-btn{align-items:center;background:none;border:none;color:var(--stock-text-tertiary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--stock-font-sm);gap:var(--stock-space-xs);margin-bottom:var(--stock-space-lg);padding:var(--stock-space-sm) 0;transition:var(--stock-transition-fast)}.back-btn:hover{color:var(--stock-text-primary)}.stock-info-main{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--stock-space-lg)}.stock-info-left{display:flex;flex-direction:column;gap:var(--stock-space-xs)}.stock-detail-name{color:var(--stock-text-primary);font-size:var(--stock-font-2xl);font-weight:var(--stock-font-bold);letter-spacing:-.02em;margin:0}.stock-detail-symbol{color:var(--stock-text-tertiary);font-size:var(--stock-font-sm)}.watch-btn{align-items:center;background:var(--stock-bg-secondary);border:1px solid var(--stock-border-primary);border-radius:50%;cursor:pointer;display:flex;font-size:20px;height:44px;justify-content:center;transition:var(--stock-transition-fast);width:44px}.watch-btn:hover{background:var(--stock-bg-tertiary)}.watch-btn.watched{background:#fef3c7;border-color:#fbbf24;color:#f59e0b}.stock-price-section{display:flex;flex-direction:column;gap:var(--stock-space-xs)}.stock-detail-price{color:var(--stock-text-primary);font-size:var(--stock-font-4xl);font-weight:var(--stock-font-bold);letter-spacing:-.02em}.stock-change-info{align-items:center;display:flex;gap:var(--stock-space-sm)}.stock-change-amount,.stock-change-percent{font-size:var(--stock-font-lg);font-weight:var(--stock-font-semibold)}.stock-change-amount.up,.stock-change-percent.up{color:var(--stock-up)}.stock-change-amount.down,.stock-change-percent.down{color:var(--stock-down)}.stock-tabs{-webkit-overflow-scrolling:touch;background:var(--stock-bg-primary);border-bottom:1px solid var(--stock-border-primary);display:flex;overflow-x:auto}.stock-tabs::-webkit-scrollbar{display:none}.tab-btn{background:none;border:none;border-bottom:2px solid #0000;color:var(--stock-text-tertiary);cursor:pointer;flex:1 1;font-family:inherit;font-size:var(--stock-font-md);font-weight:var(--stock-font-medium);padding:var(--stock-space-lg) var(--stock-space-xl);transition:var(--stock-transition-fast);white-space:nowrap}.tab-btn:hover{color:var(--stock-text-secondary)}.tab-btn.active{border-bottom-color:var(--stock-text-primary);color:var(--stock-text-primary);font-weight:var(--stock-font-semibold)}.stock-tab-content{margin:0 auto;max-width:800px;padding:var(--stock-space-2xl) var(--stock-space-xl)}.chart-section{gap:var(--stock-space-2xl)}.chart-placeholder,.chart-section{display:flex;flex-direction:column}.chart-placeholder{align-items:center;background:var(--stock-bg-primary);border:1px solid var(--stock-border-primary);border-radius:var(--stock-radius-lg);color:var(--stock-text-tertiary);height:320px;justify-content:center}.chart-icon{font-size:56px;margin-bottom:var(--stock-space-md);opacity:.5}.chart-placeholder p{font-size:var(--stock-font-md);margin:var(--stock-space-xs) 0}.chart-hint{color:var(--stock-text-disabled);font-size:var(--stock-font-sm)}.day-info{grid-gap:var(--stock-space-md);display:grid;gap:var(--stock-space-md);grid-template-columns:repeat(2,1fr)}.day-info-item{align-items:center;background:var(--stock-bg-primary);border:1px solid var(--stock-border-secondary);border-radius:var(--stock-radius-md);display:flex;justify-content:space-between;padding:var(--stock-space-lg)}.day-info-item .label{color:var(--stock-text-tertiary);font-size:var(--stock-font-sm)}.day-info-item .value{color:var(--stock-text-primary);font-size:var(--stock-font-sm);font-weight:var(--stock-font-semibold)}.day-info-item .value.up{color:var(--stock-up)}.day-info-item .value.down{color:var(--stock-down)}.orderbook-section{background:var(--stock-bg-primary);border:1px solid var(--stock-border-secondary);border-radius:var(--stock-radius-lg);padding:var(--stock-space-xl)}.orderbook,.orderbook-asks,.orderbook-bids{display:flex;flex-direction:column;gap:var(--stock-space-xs)}.orderbook-row{align-items:center;border-radius:var(--stock-radius-sm);display:grid;grid-template-columns:1fr 1fr;padding:var(--stock-space-md) var(--stock-space-md);position:relative}.orderbook-row.ask{background:var(--stock-down-bg)}.orderbook-row.bid{background:var(--stock-up-bg)}.orderbook-price{font-size:var(--stock-font-sm);font-weight:var(--stock-font-semibold)}.orderbook-row.ask .orderbook-price{color:var(--stock-down);text-align:right}.orderbook-row.bid .orderbook-price{color:var(--stock-up)}.orderbook-volume{color:var(--stock-text-tertiary);font-size:var(--stock-font-sm)}.orderbook-row.ask .orderbook-volume{text-align:left}.orderbook-row.bid .orderbook-volume{text-align:right}.orderbook-bar{border-radius:var(--stock-radius-sm);bottom:0;opacity:.12;position:absolute;top:0}.orderbook-row.ask .orderbook-bar{background:var(--stock-down);right:0}.orderbook-row.bid .orderbook-bar{background:var(--stock-up);left:0}.orderbook-current{background:var(--stock-bg-tertiary);border-radius:var(--stock-radius-sm);display:flex;justify-content:center;margin:var(--stock-space-sm) 0;padding:var(--stock-space-lg)}.current-price{font-size:var(--stock-font-xl);font-weight:var(--stock-font-bold)}.current-price.up{color:var(--stock-up)}.current-price.down{color:var(--stock-down)}.info-section{background:var(--stock-bg-primary);border:1px solid var(--stock-border-secondary);border-radius:var(--stock-radius-lg);padding:var(--stock-space-xl)}.info-grid{grid-gap:var(--stock-space-xl);display:grid;gap:var(--stock-space-xl);grid-template-columns:repeat(2,1fr)}.info-item{display:flex;flex-direction:column;gap:var(--stock-space-sm)}.info-label{color:var(--stock-text-tertiary);font-size:var(--stock-font-sm)}.info-value{color:var(--stock-text-primary);font-size:var(--stock-font-lg);font-weight:var(--stock-font-semibold)}.news-section{background:var(--stock-bg-primary);border:1px solid var(--stock-border-secondary);border-radius:var(--stock-radius-lg);padding:var(--stock-space-4xl) var(--stock-space-xl)}.news-placeholder{align-items:center;color:var(--stock-text-tertiary);display:flex;flex-direction:column}.news-icon{font-size:56px;margin-bottom:var(--stock-space-md);opacity:.5}.order-buttons{grid-gap:var(--stock-space-md);background:var(--stock-bg-primary);border-top:1px solid var(--stock-border-primary);bottom:0;box-shadow:0 -4px 12px #0000000a;display:grid;gap:var(--stock-space-md);grid-template-columns:1fr 1fr;left:0;padding:var(--stock-space-lg) var(--stock-space-xl);position:fixed;right:0;z-index:var(--stock-z-fixed)}.order-btn{border:none;border-radius:var(--stock-radius-md);cursor:pointer;font-family:inherit;font-size:var(--stock-font-lg);font-weight:var(--stock-font-semibold);height:var(--stock-btn-height-lg);transition:var(--stock-transition-fast)}.order-btn.sell{background:var(--stock-down);color:#fff}.order-btn.sell:hover{background:var(--stock-brand-hover)}.order-btn.buy{background:var(--stock-up);color:#fff}.order-btn.buy:hover{opacity:.9}@media (max-width:768px){.stock-detail-header{padding:var(--stock-space-md) var(--stock-space-lg) var(--stock-space-xl)}.stock-detail-name{font-size:var(--stock-font-xl)}.stock-detail-price{font-size:var(--stock-font-3xl)}.stock-change-amount,.stock-change-percent{font-size:var(--stock-font-md)}.day-info,.info-grid{grid-template-columns:1fr}.stock-tab-content{padding:var(--stock-space-lg)}.order-buttons{gap:var(--stock-space-sm);padding:var(--stock-space-md) var(--stock-space-lg)}.order-btn{font-size:var(--stock-font-md);height:var(--stock-btn-height-md)}}.disclosures-section{padding:var(--stock-space-lg)}.disclosures-note{background:var(--stock-bg-tertiary);border-left:3px solid var(--stock-brand);border-radius:var(--stock-radius-sm);color:var(--stock-text-secondary);font-size:var(--stock-font-sm);line-height:1.6;margin-top:var(--stock-space-lg);padding:var(--stock-space-md)}.work-dashboard{margin:0 auto;max-width:1200px;padding:32px 24px}.work-dashboard-header{margin-bottom:32px}.work-dashboard-header h1{color:#1e293b;font-size:28px;font-weight:700;margin:0 0 8px}.work-dashboard-subtitle{color:#64748b;font-size:15px;margin:0}.work-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin-bottom:40px}.work-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;gap:16px;padding:24px}.stat-icon,.work-stat-card{align-items:center;display:flex}.stat-icon{background:#f8fafc;border-radius:12px;font-size:32px;height:56px;justify-content:center;width:56px}.stat-info{display:flex;flex-direction:column}.stat-value{color:#1e293b;font-size:28px;font-weight:700}.stat-label{color:#64748b;font-size:14px}.work-projects-section{margin-bottom:40px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h2{color:#1e293b;font-size:20px;font-weight:600;margin:0}.view-all-link{color:#3b82f6;font-size:14px;font-weight:500;text-decoration:none}.view-all-link:hover{text-decoration:underline}.work-projects-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.work-project-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;cursor:pointer;padding:24px;transition:transform .2s,box-shadow .2s}.work-project-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.project-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.project-name{color:#1e293b;font-size:18px;font-weight:600;margin:0}.project-status{border-radius:20px;color:#fff;font-size:12px;font-weight:500;padding:4px 10px}.project-progress{margin-bottom:16px}.progress-info{color:#64748b;display:flex;font-size:13px;justify-content:space-between;margin-bottom:8px}.progress-bar{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden}.progress-fill{border-radius:4px;height:100%;transition:width .3s ease}.project-meta{color:#64748b;display:flex;font-size:13px;gap:20px;margin-bottom:16px}.project-due,.project-tasks{align-items:center;display:flex;gap:6px}.meta-icon{font-size:14px}.project-team{display:flex;gap:-8px}.team-member{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:13px;font-weight:600;height:32px;justify-content:center;margin-left:-8px;width:32px}.team-member:first-child{margin-left:0}.work-activity-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:24px}.work-activity-section h2{color:#1e293b;font-size:20px;font-weight:600;margin:0 0 20px}.activity-list{display:flex;flex-direction:column;gap:16px}.activity-item{border-bottom:1px solid #f1f5f9;display:flex;gap:16px;padding-bottom:16px}.activity-item:last-child{border-bottom:none;padding-bottom:0}.activity-icon{align-items:center;background:#f8fafc;border-radius:10px;display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.activity-content p{color:#334155;font-size:14px;line-height:1.5;margin:0 0 4px}.activity-content strong{color:#1e293b}.activity-time{color:#94a3b8;font-size:12px}@media (max-width:1024px){.work-projects-list,.work-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.work-dashboard{padding:24px 16px}.work-stats-grid{gap:12px;grid-template-columns:1fr 1fr}.work-stat-card{padding:16px}.stat-icon{font-size:24px;height:44px;width:44px}.stat-value{font-size:22px}.work-projects-list{grid-template-columns:1fr}}.work-projects{margin:0 auto;max-width:1200px;padding:32px 24px}.work-projects-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:32px}.header-left h1{color:#1e293b;font-size:28px;font-weight:700;margin:0 0 8px}.work-projects-header .subtitle{color:#64748b;font-size:15px;margin:0}.create-project-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:transform .2s,box-shadow .2s}.create-project-btn:hover{box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.create-project-btn span{font-size:18px;font-weight:400}.projects-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.filter-tabs{display:flex;flex-wrap:wrap;gap:8px}.filter-tab{background:#f1f5f9;border:none;border-radius:20px;color:#64748b;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.filter-tab:hover{background:#e2e8f0;color:#334155}.filter-tab.active{background:#3b82f6;color:#fff}.search-box{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:10px;min-width:280px;padding:10px 16px}.search-icon{color:#94a3b8;font-size:14px}.search-box input{background:#0000;border:none;color:#1e293b;font-size:14px;outline:none;width:100%}.search-box input::placeholder{color:#94a3b8}.projects-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.projects-table{border-collapse:collapse;width:100%}.projects-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:12px;font-weight:600;letter-spacing:.05em;padding:16px 20px;text-align:left;text-transform:uppercase}.projects-table td{border-bottom:1px solid #f1f5f9;padding:16px 20px;vertical-align:middle}.projects-table tr:last-child td{border-bottom:none}.projects-table tr:hover{background:#f8fafc}.project-info-cell{min-width:250px}.project-info{display:flex;flex-direction:column;gap:4px}.project-info .project-name{color:#1e293b;font-size:15px;font-weight:600}.project-info .project-desc{color:#64748b;font-size:13px}.status-badge{border-radius:20px;color:#fff;display:inline-block;font-size:12px;font-weight:500;padding:5px 12px}.progress-cell{align-items:center;display:flex;gap:12px;min-width:120px}.mini-progress-bar{background:#e2e8f0;border-radius:3px;flex:1 1;height:6px;overflow:hidden}.mini-progress-fill{border-radius:3px;height:100%;transition:width .3s}.progress-text{color:#334155;font-size:13px;font-weight:500;min-width:40px}.avatar,.team-avatars{display:flex}.avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #fff;border-radius:50%;color:#fff;font-size:12px;font-weight:600;height:30px;justify-content:center;margin-left:-8px;width:30px}.avatar:first-child{margin-left:0}.avatar.more{background:#94a3b8;font-size:10px}.due-date{color:#64748b;font-size:13px}.actions{display:flex;gap:4px}.action-btn{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;transition:background .2s;width:32px}.action-btn:hover{background:#f1f5f9}.no-projects{padding:60px 20px;text-align:center}.no-projects .empty-icon{display:block;font-size:48px;margin-bottom:16px}.no-projects p{color:#64748b;font-size:15px;margin:0}@media (max-width:1024px){.projects-table-container{overflow-x:auto}.projects-table{min-width:800px}}@media (max-width:768px){.work-projects{padding:24px 16px}.work-projects-header{flex-direction:column;gap:16px}.create-project-btn{justify-content:center;width:100%}.projects-toolbar{align-items:stretch;flex-direction:column}.filter-tabs{overflow-x:auto;padding-bottom:8px}.search-box{min-width:100%}}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{flex-grow:1;min-height:calc(100vh - 52px);min-height:calc(100vh - var(--nav-height, 52px));padding-top:calc(52px + 1rem);padding-top:calc(var(--nav-height, 52px) + 1rem)}.main-content>*{animation:pageEnter .4s ease-out}@keyframes pageEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
/*# sourceMappingURL=main.a5d29281.css.map*/