:root{--primary-color: #357ce6;--background-color: #131722;--surface-color: #1e222d;--border-color: #2a2e39;--text-color: #f0f0f0;--text-muted-color: #9e9e9e;--positive-color: #26a69a;--negative-color: #ef5350;--sidebar-bg: #1e222d;--card-bg: #1e222d;--input-bg: #161b27;--text-primary-color: #f0f0f0;--accent-color: #357ce6}*{margin:0;padding:0;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(66,73,85,.5) transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--background-color);color:var(--text-color);line-height:1.6;overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:#42495580;border-radius:4px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:#5e6673b3}a{color:var(--primary-color);text-decoration:none;transition:color .2s}h2{font-size:1.8rem;margin-bottom:1.5rem;color:var(--text-color);font-weight:500;display:flex;align-items:center}h2 i{margin-right:1rem;color:var(--primary-color)}.app-container{display:flex;height:100vh}.sidebar{width:250px;background-color:var(--surface-color);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:width .3s ease-in-out;flex-shrink:0}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:18px 15px;border-bottom:1px solid var(--border-color);flex-shrink:0;background:linear-gradient(135deg,rgba(53,124,230,.1) 0%,transparent 100%)}.logo-title{font-size:22px;font-weight:700;color:#fff;letter-spacing:.5px;background:linear-gradient(135deg,#ffffff 0%,var(--primary-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#sidebar-toggle-btn{background:none;border:none;color:var(--text-muted-color);font-size:1.1em;cursor:pointer;padding:6px 8px;border-radius:6px;transition:all .3s ease}#sidebar-toggle-btn:hover{background-color:var(--border-color);color:var(--primary-color)}.sidebar-middle{flex:1;overflow-y:auto;display:flex;flex-direction:column}.main-nav{padding:12px 0;flex-shrink:0}.main-nav ul{list-style:none}.sidebar-item{padding:0 12px;margin-bottom:4px}.sidebar-item .item-content{display:flex;align-items:center;padding:12px 10px;cursor:pointer;border-radius:6px;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .2s ease}.sidebar-item .item-content span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.sidebar-item .item-content:hover{background-color:var(--border-color);color:#fff}.sidebar-item a.active .item-content{background-color:#357ce633;color:#fff}.sidebar-item i{width:20px;text-align:center;margin-right:12px;color:var(--text-muted-color);transition:color .2s ease}.sidebar-item .item-content:hover i,.sidebar-item a.active i{color:var(--primary-color)}.sidebar-item .collapse-icon{width:15px;margin-right:8px;transition:transform .2s ease;color:var(--text-muted-color);font-size:12px}.sidebar-item.open>.item-content .collapse-icon{transform:rotate(90deg);color:var(--primary-color)}.submenu{list-style:none;padding-left:48px;padding-right:8px;max-height:0;overflow:hidden;transition:max-height .3s ease-out}.sidebar-item.open .submenu{max-height:500px}.submenu li{padding:0}.submenu li a{color:var(--text-muted-color);font-size:14px;display:flex;align-items:center;padding:8px 10px;border-radius:6px;transition:all .2s ease}.submenu li a i{width:18px;text-align:center;margin-right:10px;font-size:13px}.submenu li a:hover{color:#fff;background-color:var(--border-color)}.submenu li a.active{color:#fff;background-color:#357ce626;border-left:3px solid var(--primary-color);padding-left:7px}.dashboard-add-btn{margin-left:auto;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:none;color:var(--text-muted-color);border-radius:4px;cursor:pointer;font-size:11px;transition:background .15s,color .15s}.dashboard-add-btn:hover{background:var(--border-color);color:#fff}.dashboard-menu-item{position:relative}.dashboard-menu-btn{margin-left:auto;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:none;color:var(--text-muted-color);border-radius:4px;cursor:pointer;font-size:12px;opacity:0;transition:opacity .15s,background .15s,color .15s}.dashboard-menu-item:hover .dashboard-menu-btn,.dashboard-menu-btn:focus{opacity:1}.dashboard-menu-btn:hover{background:var(--border-color);color:#fff}.dashboard-context-menu{position:absolute;top:100%;right:0;background:#1e222d;border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 16px #0006;z-index:200;min-width:120px;overflow:hidden}.dashboard-context-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:none;color:var(--text-color);font-size:13px;cursor:pointer;transition:background .15s}.dashboard-context-menu button:hover{background:var(--border-color)}.dashboard-context-menu button.danger{color:var(--negative-color)}.dashboard-context-menu button.danger:hover{background:#ef53501f}.sidebar-footer{padding:12px 15px;border-top:1px solid var(--border-color);margin-top:auto;background:linear-gradient(to top,rgba(53,124,230,.05) 0%,transparent 100%)}.user-profile{display:flex;align-items:center;padding:10px 8px;border-radius:8px;transition:background-color .2s ease}.user-profile:hover{background-color:var(--border-color)}.user-profile img{border-radius:50%;margin-right:10px;width:32px;height:32px}.user-profile span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem}.user-info{display:flex;flex-direction:column;gap:.4rem;flex-grow:1}.user-info span{font-size:.95rem;color:var(--text-color);font-weight:500}.sidebar-item.collapsible>.item-content{font-weight:600;font-size:12px;letter-spacing:.3px;color:var(--text-muted-color)}.sidebar-item.collapsible.open>.item-content{color:var(--text-color)}.sidebar-item.collapsible>.item-content span{font-size:13px}.app-container.sidebar-collapsed .sidebar{width:80px}.app-container.sidebar-collapsed .logo-title,.app-container.sidebar-collapsed .item-content span,.app-container.sidebar-collapsed .submenu,.app-container.sidebar-collapsed .collapse-icon,.app-container.sidebar-collapsed .user-profile span,.app-container.sidebar-collapsed .dashboard-add-btn{display:none}.app-container.sidebar-collapsed #sidebar-toggle-btn{transform:rotate(180deg)}.app-container.sidebar-collapsed .sidebar-item i{margin-right:0}.app-container.sidebar-collapsed .item-content{justify-content:center}.main-content{flex-grow:1;padding:30px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;display:flex;flex-direction:column;min-height:0}.indicator-section{margin-bottom:32px}.indicator-section-title{font-size:.95rem;font-weight:700;color:var(--text-muted);letter-spacing:.03em;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;flex-grow:1}.widget{background-color:var(--surface-color);border-radius:12px;padding:25px;border:1px solid var(--border-color);box-shadow:0 4px 12px #0003;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.widget:hover{transform:translateY(-3px);box-shadow:0 8px 16px #0000004d}.widget h3{margin:0 0 20px;font-weight:600;color:#fff;display:flex;align-items:center;font-size:1.25rem}.widget h3 i{margin-right:10px;color:var(--primary-color)}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.summary-item{display:grid;grid-template-columns:1fr auto;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.summary-item-name{color:var(--text-muted-color)}.summary-item-value{font-weight:700;color:#fff}.positive{color:var(--positive-color)}.negative{color:var(--negative-color)}.auth-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:9500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-modal-content{background-color:var(--surface-color);border-radius:20px;width:100%;max-width:420px;position:relative;border:1px solid var(--border-color);overflow:hidden;box-shadow:0 20px 60px #0006}.auth-close-btn{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--text-muted-color);font-size:1rem;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s,color .15s;z-index:1}.auth-close-btn:hover{background:var(--border-color);color:var(--text-color)}.auth-tabs{display:flex;border-bottom:1px solid var(--border-color)}.auth-tab{flex:1;padding:1.1rem;background:none;border:none;color:var(--text-muted-color);font-size:.95rem;font-weight:500;cursor:pointer;transition:color .15s,background .15s;border-bottom:2px solid transparent;margin-bottom:-1px}.auth-tab:hover{color:var(--text-color);background:var(--background-color)}.auth-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:600}.auth-form{padding:1.75rem 2rem 2rem;display:flex;flex-direction:column;gap:1.1rem}.auth-field{display:flex;flex-direction:column;gap:.4rem}.auth-field label{font-size:.8rem;font-weight:600;color:var(--text-muted-color);letter-spacing:.03em;text-transform:uppercase}.auth-field input{width:100%;padding:.75rem .9rem;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:10px;color:var(--text-color);font-size:.95rem;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.auth-field input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 20%,transparent)}.auth-password-wrap{position:relative}.auth-password-wrap input{padding-right:2.8rem}.auth-password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted-color);cursor:pointer;padding:4px;font-size:.85rem;transition:color .15s}.auth-password-toggle:hover{color:var(--text-color)}.auth-error{display:flex;align-items:center;gap:.5rem;padding:.65rem .9rem;background:#ef44441f;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#f87171;font-size:.85rem}.auth-submit-btn{width:100%;padding:.85rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:opacity .15s,transform .1s;margin-top:.3rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-submit-btn:hover:not(:disabled){opacity:.88}.auth-submit-btn:active:not(:disabled){transform:scale(.98)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.logout-btn{background:none;border:1px solid var(--border-color);color:var(--text-muted-color);padding:2px 8px;border-radius:4px;font-size:.75rem;cursor:pointer;margin-top:5px}.page{display:flex;flex-direction:column;height:100%}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.page-description{margin-bottom:1.5rem;font-size:1rem;color:var(--text-muted-color)}.chart-container{position:relative;height:300px;width:100%;margin-top:15px}.widget-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;flex-grow:1}.learning-category{background-color:var(--surface-color);margin-bottom:10px;border-radius:8px;border:1px solid var(--border-color);overflow:hidden}.learning-category-header{width:100%;background:transparent;padding:1.2rem 1rem;border:none;text-align:left;font-size:1.3rem;font-weight:700;color:var(--primary-color);cursor:pointer;display:flex;justify-content:space-between;align-items:center}.learning-category-header:hover{background-color:var(--border-color)}.category-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out;padding:0}.learning-category.active .category-content{max-height:2000px;transition:max-height .4s ease-in}.accordion{padding:0}.accordion-item{border-bottom:1px solid var(--border-color)}.accordion-item:last-child{border-bottom:none}.accordion-header{width:100%;background:transparent;border:none;padding:1rem 1.5rem;text-align:left;color:var(--text-color);font-size:1.1rem;font-weight:500;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.accordion-header:hover{background-color:var(--border-color)}.accordion-header i{transition:transform .2s ease}.accordion-item.active .accordion-header i{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out;padding:0 1.5rem;background-color:var(--background-color)}.accordion-item.active .accordion-content{max-height:500px;transition:max-height .4s ease-in;padding:1rem 1.5rem}.accordion-content p{margin-bottom:.8rem;color:var(--text-muted-color)}.community-feed{max-width:800px;margin:0 auto}.post-composer{background-color:var(--surface-color);padding:1rem;border-radius:12px;border:1px solid var(--border-color);margin-bottom:1.5rem}.post-composer textarea{width:100%;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:8px;padding:.8rem;color:var(--text-color);font-family:inherit;resize:vertical;min-height:80px;margin-bottom:.8rem}.composer-actions{display:flex;justify-content:space-between;align-items:center}.composer-actions button{background:none;border:1px solid var(--border-color);color:var(--text-muted-color);padding:.5rem .8rem;border-radius:6px;cursor:pointer;transition:all .2s}.composer-actions button:hover{background-color:var(--border-color);color:var(--text-color)}.post-btn{background-color:var(--primary-color)!important;color:#fff!important;font-weight:700;padding:.6rem 1.5rem!important}.post-btn:hover{opacity:.9}.post{background-color:var(--surface-color);border-radius:12px;border:1px solid var(--border-color);padding:1.5rem;margin-bottom:1rem}.post-header{display:flex;align-items:center;margin-bottom:1rem}.post-header img{border-radius:50%;margin-right:.75rem;width:40px;height:40px}.post-author{font-weight:700;color:var(--text-color)}.post-time{color:var(--text-muted-color);margin-left:.5rem;font-size:.9rem}.post-body{margin-bottom:1rem}.post-body p{line-height:1.6}.post-body a{color:var(--primary-color)}.post-actions{display:flex;gap:2rem;color:var(--text-muted-color)}.post-actions span{cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:color .2s}.post-actions span:hover{color:var(--primary-color)}.titans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.titan-card{background-color:var(--surface-color);border-radius:12px;border:1px solid var(--border-color);padding:1.5rem}.titan-card h3{margin-bottom:1rem;color:var(--primary-color)}.titan-card .description{color:var(--text-muted-color);margin-bottom:.8rem;font-size:.95rem}.titan-card .philosophy{color:var(--text-color);font-style:italic;margin-bottom:1.5rem;padding:.8rem;background-color:var(--background-color);border-left:3px solid var(--primary-color);border-radius:4px}.portfolio-section{margin-top:1.5rem}.portfolio-section h4{margin-bottom:1rem;color:var(--text-color);font-size:1.1rem}.holding-list{list-style:none;margin-bottom:1.5rem}.holding-list li{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--border-color)}.holding-list li:last-child{border-bottom:none}.holding-list .ticker{font-weight:700;color:var(--primary-color);min-width:80px}.holding-list .company-name{flex-grow:1;color:var(--text-color);padding:0 1rem}.holding-list .weight{font-weight:600;color:var(--positive-color)}.portfolio-chart-container{height:250px;margin-top:1rem}.titans-strip{background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;padding:14px 18px;margin-bottom:20px}.titans-strip-label{font-size:.78rem;font-weight:600;color:var(--text-muted-color);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.titans-strip-label i{margin-right:6px;color:var(--primary-color)}.titans-strip-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.titans-strip-scroll::-webkit-scrollbar{height:4px}.titans-strip-scroll::-webkit-scrollbar-track{background:transparent}.titans-strip-scroll::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.titan-chip{display:flex;align-items:center;gap:10px;background:var(--background-color);border:1px solid var(--border-color);border-radius:10px;padding:10px 14px;cursor:pointer;flex-shrink:0;transition:border-color .15s,background .15s;text-align:left}.titan-chip:hover{border-color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 6%,var(--background-color))}.titan-chip-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:#1a1a1a;flex-shrink:0}.titan-chip-info{display:flex;flex-direction:column;gap:2px}.titan-chip-name{font-size:.88rem;font-weight:600;color:var(--text-color);white-space:nowrap}.titan-chip-desc{font-size:.74rem;color:var(--text-muted-color);white-space:nowrap}.titan-modal-overlay{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px}.titan-modal{background:var(--surface-color);border:1px solid var(--border-color);border-radius:16px;width:min(560px,100%);max-height:85vh;overflow-y:auto;padding:28px;position:relative;box-shadow:0 24px 60px #00000080}.titan-modal-close{position:absolute;top:16px;right:16px;background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted-color);transition:color .15s,border-color .15s}.titan-modal-close:hover{color:var(--text-color);border-color:var(--text-muted-color)}.titan-modal-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.titan-modal-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:700;color:#1a1a1a;flex-shrink:0}.titan-modal-name{font-size:1.3rem;font-weight:700;color:var(--text-color);margin-bottom:4px}.titan-modal-desc{font-size:.85rem;color:var(--text-muted-color)}.titan-modal-philosophy{background:var(--background-color);border-left:3px solid var(--primary-color);border-radius:0 8px 8px 0;padding:14px 16px;margin:0 0 24px;font-size:.875rem;line-height:1.65;color:var(--text-color);font-style:italic}.titan-modal-section-title{font-size:.78rem;font-weight:600;color:var(--text-muted-color);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}.titan-modal-holdings{list-style:none;display:flex;flex-direction:column;gap:12px}.titan-holding-meta{display:flex;align-items:baseline;gap:8px;margin-bottom:5px}.titan-holding-ticker{font-weight:700;font-size:.9rem;color:var(--primary-color);min-width:52px}.titan-holding-company{flex:1;font-size:.82rem;color:var(--text-muted-color)}.titan-holding-weight{font-weight:600;font-size:.85rem;color:var(--text-color)}.titan-holding-bar-bg{height:5px;background:var(--border-color);border-radius:3px;overflow:hidden}.titan-holding-bar-fill{height:100%;border-radius:3px;transition:width .4s ease}.portfolio-card{border:1px solid var(--border-color);background-color:var(--surface-color);border-radius:12px;padding:1.5rem;transition:transform .2s,box-shadow .2s}.portfolio-card:hover{transform:translateY(-3px);box-shadow:0 8px 16px #0000004d}.portfolio-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.portfolio-card h3{margin:0 0 .5rem;color:var(--text-color)}.portfolio-card .author{color:var(--text-muted-color);font-size:.9rem}.portfolio-card .description{color:var(--text-muted-color);margin-bottom:1rem;line-height:1.6}.risk-badge{padding:.3rem .6rem;border-radius:20px;font-size:.8rem;font-weight:700;flex-shrink:0}.risk-badge.high{background-color:var(--negative-color);color:#fff}.risk-badge.medium{background-color:#f39c12;color:#333}.risk-badge.low{background-color:var(--positive-color);color:#fff}.top-assets-list{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.top-assets-list strong{margin-right:.5rem;color:var(--text-color)}.asset-tag{background-color:var(--border-color);border:1px solid #404652;padding:.3rem .6rem;border-radius:8px;font-size:.8rem;color:var(--text-color)}.preset-card{position:relative}.preset-level{display:inline-block;background-color:var(--primary-color);color:#fff;padding:.3rem .8rem;border-radius:20px;font-size:.75rem;font-weight:700;margin-bottom:1rem}.indicator-list{list-style:none;padding:0;margin:1rem 0}.indicator-list li{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--border-color);color:var(--text-color)}.indicator-list li:last-child{border-bottom:none}.indicator-list li span{color:var(--text-muted-color)}.add-preset-btn{width:100%;padding:.7rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;margin-top:.5rem;transition:opacity .2s}.add-preset-btn:hover{opacity:.9}.recommendation-item{margin-bottom:1.5rem;padding:1rem;background-color:var(--background-color);border-radius:8px;border-left:3px solid var(--primary-color)}.recommendation-item:last-child{margin-bottom:0}.asset-name{font-weight:700;color:var(--text-color);font-size:1.1rem;margin-right:1rem}.asset-probability{color:var(--primary-color);font-weight:600}.asset-reason{color:var(--text-muted-color);margin-top:.5rem;line-height:1.6}.probability-result{font-size:1.2rem;font-weight:700;color:var(--primary-color);margin-bottom:1rem;padding:1rem;background-color:var(--background-color);border-radius:8px;text-align:center}.risk-level{font-weight:700;color:var(--primary-color);margin-bottom:1rem;padding:.8rem;background-color:var(--background-color);border-radius:8px}.sidebar.sidebar-just-opened .main-nav a,.sidebar.sidebar-just-opened .main-nav button,.sidebar.sidebar-just-opened .db-item-btn,.sidebar.sidebar-just-opened .db-new-btn{pointer-events:none}.mobile-header,.sidebar-overlay,.mobile-close-btn,.mobile-card-view{display:none}@media(max-width:768px){.app-container{flex-direction:column;height:100dvh}.mobile-header{display:flex;align-items:center;gap:.75rem;padding:0 1rem;height:52px;background:var(--surface-color);border-bottom:1px solid var(--border-color);flex-shrink:0;position:sticky;top:0;z-index:900}.mobile-menu-btn{background:none;border:none;color:var(--text-muted-color);font-size:1.1rem;cursor:pointer;padding:6px 8px;border-radius:6px}.mobile-logo{font-size:1rem;font-weight:700;background:linear-gradient(135deg,#ffffff 0%,var(--primary-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar,.app-container.sidebar-collapsed .sidebar{position:fixed;top:0;left:0;width:100%;max-width:100vw;height:100dvh;transform:translate(-100%);z-index:1000;transition:transform .25s ease;overflow-y:auto}.sidebar.open{transform:translate(0)}.sidebar-overlay,#sidebar-toggle-btn{display:none}.app-container.sidebar-collapsed .logo-title,.app-container.sidebar-collapsed .item-content span,.app-container.sidebar-collapsed .submenu,.app-container.sidebar-collapsed .collapse-icon,.app-container.sidebar-collapsed .user-profile span{display:revert}.app-container.sidebar-collapsed .sidebar-item i{margin-right:.6rem}.mobile-close-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted-color);font-size:1.2rem;cursor:pointer;padding:6px 8px;border-radius:6px;margin-left:auto}.mobile-close-btn:hover{background:var(--border-color);color:var(--text-primary-color)}.main-content{padding:1rem;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;min-height:0}.titans-grid,.widget-grid,.summary-grid{grid-template-columns:1fr}.chat-sessions{display:none}.chat-panel{height:90dvh;max-height:90dvh;border-radius:12px 12px 0 0}.chat-panel-overlay{align-items:flex-end;padding:0}.widget-picker-modal{max-width:95vw;max-height:90vh}.widget-picker-sidebar{display:none}.widget-picker-grid{grid-template-columns:1fr}.mobile-card-view{display:flex;flex-direction:column;gap:0;height:calc(100dvh - 152px)}.mobile-card-dots{display:flex;justify-content:center;align-items:center;gap:6px;padding:8px 0;flex-shrink:0}.mobile-card-dot{width:7px;height:7px;border-radius:50%;background:var(--border-color);cursor:pointer;transition:background .2s,transform .2s}.mobile-card-dot.active{background:var(--primary-color);transform:scale(1.3)}.mobile-card-scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;min-height:0}.mobile-card-scroll::-webkit-scrollbar{display:none}.mobile-card{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;-webkit-tap-highlight-color:transparent}.mobile-card-header{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border-color);flex-shrink:0;background:#ffffff05}.mobile-card-header i:first-child{color:var(--primary-color);font-size:.9rem}.mobile-card-header span{flex:1;font-size:.85rem;font-weight:600;color:var(--text-color)}.mobile-card-expand-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#ffffff12;border-radius:6px;color:var(--text-muted-color);font-size:.75rem;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.mobile-card-expand-btn:active{background:#ffffff26;color:var(--accent-color)}.mobile-card-content{flex:1;overflow:hidden;padding:8px;min-height:0}.widget-detail-modal{width:100vw;height:100dvh;max-width:100%;border-radius:0}}.onboarding-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,var(--background-color) 0%,#0d1117 100%);padding:2rem}.onboarding-card{background-color:var(--surface-color);border-radius:20px;border:1px solid var(--border-color);width:100%;max-width:700px;padding:2.5rem;box-shadow:0 20px 60px #0006}.onboarding-header{text-align:center;margin-bottom:2rem}.onboarding-header h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#ffffff 0%,var(--primary-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.onboarding-header p{color:var(--text-muted-color);font-size:1rem}.progress-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;position:relative;padding:0 10px}.progress-line{position:absolute;top:50%;left:30px;right:30px;height:3px;background-color:var(--border-color);transform:translateY(-50%);z-index:0}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),#26a69a);border-radius:2px;transition:width .4s ease}.progress-step{width:40px;height:40px;border-radius:50%;background-color:var(--border-color);display:flex;align-items:center;justify-content:center;z-index:1;transition:all .3s ease}.progress-step.active{background-color:var(--primary-color)}.progress-step.current{box-shadow:0 0 0 4px #357ce64d;transform:scale(1.1)}.step-number{font-weight:700;color:#fff;font-size:.9rem}.onboarding-content{min-height:400px}.onboarding-step h2{font-size:1.5rem;color:var(--text-color);margin-bottom:.5rem;display:block}.step-description{color:var(--text-muted-color);margin-bottom:1.5rem;font-size:.95rem}.experience-options{display:flex;flex-direction:column;gap:1rem}.experience-card{background-color:var(--background-color);border:2px solid var(--border-color);border-radius:12px;padding:1.2rem 1.5rem;cursor:pointer;transition:all .2s ease}.experience-card:hover{border-color:var(--primary-color);background-color:#357ce60d}.experience-card.selected{border-color:var(--primary-color);background-color:#357ce61a}.experience-label{font-weight:700;color:var(--text-color);font-size:1.1rem;margin-bottom:.3rem}.experience-description{color:var(--text-muted-color);font-size:.9rem}.asset-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.asset-card{background-color:var(--background-color);border:2px solid var(--border-color);border-radius:12px;padding:1.2rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.8rem;position:relative}.asset-card:hover{border-color:var(--primary-color)}.asset-card.selected{border-color:var(--positive-color);background-color:#26a69a1a}.asset-card i{font-size:1.5rem;color:var(--primary-color);width:30px;text-align:center}.asset-card span{font-weight:500;color:var(--text-color)}.check-icon{position:absolute;top:10px;right:10px;color:var(--positive-color)!important;font-size:1rem!important}.style-options{display:flex;flex-direction:column;gap:1rem}.style-card{background-color:var(--background-color);border:2px solid var(--border-color);border-radius:12px;padding:1.2rem 1.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:1rem}.style-card:hover{border-color:var(--primary-color)}.style-card.selected{border-color:var(--primary-color);background-color:#357ce61a}.style-card>i{font-size:1.5rem;color:var(--primary-color);width:30px;text-align:center}.style-content{flex:1}.style-label{font-weight:700;color:var(--text-color);font-size:1.05rem;margin-bottom:.2rem}.style-description{color:var(--text-muted-color);font-size:.9rem}.priority-list{display:flex;flex-direction:column;gap:.5rem;max-height:350px;overflow-y:auto;padding-right:.5rem}.priority-item{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:10px;padding:.8rem 1rem;display:flex;align-items:center;gap:.8rem;cursor:grab;transition:all .2s ease}.priority-item:active{cursor:grabbing}.priority-item.top-priority{background-color:#357ce61a;border-color:var(--primary-color)}.priority-item.dragging{opacity:.5;transform:scale(.98)}.priority-rank{width:28px;height:28px;background-color:var(--border-color);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:var(--text-muted-color);flex-shrink:0}.priority-item.top-priority .priority-rank{background-color:var(--primary-color);color:#fff}.priority-icon{font-size:1.3rem;width:30px;text-align:center}.priority-content{flex:1}.priority-label{font-weight:600;color:var(--text-color);font-size:.95rem}.priority-description{color:var(--text-muted-color);font-size:.8rem}.drag-handle{color:var(--text-muted-color);font-size:1rem}.priority-legend{display:flex;gap:1.5rem;margin-top:1rem;padding:.8rem;background-color:var(--background-color);border-radius:8px;font-size:.85rem}.legend-main{color:var(--primary-color)}.legend-sub{color:var(--text-color)}.legend-more{color:var(--text-muted-color)}.goal-options{display:flex;flex-direction:column;gap:.75rem}.goal-card{display:flex;align-items:center;gap:1rem;background-color:var(--background-color);border:2px solid var(--border-color);border-radius:12px;padding:1rem 1.25rem;cursor:pointer;transition:border-color .2s,background-color .2s;position:relative}.goal-card:hover{border-color:var(--primary-color)}.goal-card.selected{border-color:var(--primary-color);background-color:#357ce60f}.goal-icon{font-size:1.8rem;flex-shrink:0}.goal-content{flex:1}.goal-label{font-weight:600;font-size:.95rem;color:var(--text-color)}.goal-description{font-size:.82rem;color:var(--text-muted-color);margin-top:2px}.goal-check{color:var(--primary-color);font-size:1.1rem}.risk-options{display:flex;flex-direction:column;gap:.75rem}.risk-card{display:flex;align-items:center;gap:1rem;background-color:var(--background-color);border:2px solid var(--border-color);border-radius:12px;padding:1rem 1.25rem;cursor:pointer;transition:border-color .2s,background-color .2s;position:relative}.risk-card:hover{border-color:var(--primary-color)}.risk-card.selected{border-color:var(--primary-color);background-color:#357ce60f}.risk-score-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;background-color:var(--text-muted-color)}.risk-score-dot[data-score="1"]{background-color:#22c55e}.risk-score-dot[data-score="2"]{background-color:#84cc16}.risk-score-dot[data-score="3"]{background-color:#eab308}.risk-score-dot[data-score="4"]{background-color:#f97316}.risk-score-dot[data-score="5"]{background-color:#ef4444}.risk-content{flex:1}.risk-label{font-weight:600;font-size:.95rem;color:var(--text-color)}.risk-description{font-size:.82rem;color:var(--text-muted-color);margin-top:2px}.risk-check{color:var(--primary-color);font-size:1.1rem}.info-pattern-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.info-card{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;background-color:var(--background-color);border:2px solid var(--border-color);border-radius:12px;padding:1rem;cursor:pointer;transition:border-color .2s,background-color .2s;position:relative}.info-card:hover{border-color:var(--primary-color)}.info-card.selected{border-color:var(--positive-color);background-color:#22c55e0f}.info-icon{font-size:1.5rem}.info-content{flex:1}.info-label{font-weight:600;font-size:.88rem;color:var(--text-color)}.info-description{font-size:.78rem;color:var(--text-muted-color);margin-top:2px;line-height:1.3}.info-card .check-icon{position:absolute;top:8px;right:8px;color:var(--positive-color);font-size:.85rem}.asset-emoji{font-size:1.4rem}.onboarding-card-result{max-width:560px}.persona-result{text-align:center}.persona-result-header{margin-bottom:2rem}.persona-result-label{font-size:.9rem;color:var(--text-muted-color);margin-bottom:.75rem}.persona-icon-large{font-size:4rem;margin-bottom:.75rem;animation:persona-bounce .6s ease-out}@keyframes persona-bounce{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.persona-name{font-size:1.8rem;font-weight:700;color:var(--text-color);margin-bottom:.75rem}.persona-desc{font-size:.95rem;color:var(--text-muted-color);line-height:1.6;max-width:400px;margin:0 auto}.persona-strengths{background-color:var(--background-color);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;text-align:left}.persona-strengths h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted-color);margin-bottom:.75rem}.persona-strengths ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.persona-strengths li{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--text-color)}.persona-strengths li i{color:var(--positive-color);font-size:.8rem}.persona-preset-preview{margin-bottom:2rem;text-align:left}.persona-preset-preview h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted-color);margin-bottom:.75rem}.preset-widget-chips{display:flex;flex-wrap:wrap;gap:.5rem}.preset-chip{display:inline-flex;align-items:center;gap:.4rem;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:20px;padding:.3rem .75rem;font-size:.8rem;color:var(--text-color)}.preset-chip.more{background-color:#357ce61a;border-color:var(--primary-color);color:var(--primary-color)}.persona-result-actions{display:flex;flex-direction:column;gap:.75rem}.persona-result-actions .btn-primary,.persona-result-actions .btn-secondary{width:100%;padding:.875rem}.onboarding-footer{display:flex;justify-content:space-between;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,#2857a4 100%);color:#fff;border:none;padding:.8rem 2rem;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #357ce666}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background-color:transparent;color:var(--text-muted-color);border:1px solid var(--border-color);padding:.8rem 2rem;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background-color:var(--border-color);color:var(--text-color)}.btn-secondary:disabled{opacity:.3;cursor:not-allowed}@media(max-width:600px){.onboarding-card{padding:1.5rem}.asset-grid,.info-pattern-grid{grid-template-columns:1fr}.priority-legend{flex-direction:column;gap:.5rem}.onboarding-footer{flex-direction:column-reverse;gap:1rem}.btn-primary,.btn-secondary{width:100%}}.learning-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.learning-topbar{display:flex;align-items:center;gap:10px;padding:12px 0 16px;flex-shrink:0}.learning-search-wrap{flex:1;position:relative}.learning-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted-color);font-size:.85rem;pointer-events:none}.learning-search-input{width:100%;padding:10px 36px 10px 34px;background-color:var(--bg-secondary, var(--background-color));border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);font-size:.9rem;box-sizing:border-box}.learning-search-input:focus{outline:none;border-color:var(--accent-color, var(--primary-color))}.learning-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted-color);cursor:pointer;padding:4px 6px;border-radius:4px;font-size:.8rem}.learning-search-clear:hover{color:var(--text-color);background:var(--hover-bg)}.learning-topbar-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.learning-filter-toggle{display:none;align-items:center;gap:6px;padding:8px 14px;background:var(--card-bg, var(--surface-color));border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);font-size:.85rem;cursor:pointer;position:relative;white-space:nowrap}.learning-filter-toggle.has-filter{border-color:var(--accent-color, var(--primary-color));color:var(--accent-color, var(--primary-color))}.learning-filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:var(--accent-color, var(--primary-color));color:#fff;border-radius:9px;font-size:.7rem;font-weight:700}.learning-center-container{display:flex;gap:20px;flex-grow:1;overflow:hidden;min-height:0}.filter-sidebar{width:260px;flex-shrink:0;background-color:var(--surface-color);padding:18px;border-radius:12px;border:1px solid var(--border-color);overflow-y:auto;display:flex;flex-direction:column;gap:20px}.filter-section{display:flex;flex-direction:column;gap:10px}.filter-section>label{font-weight:600;color:var(--text-color);font-size:.9rem;display:flex;align-items:center;gap:6px}.filter-chips{display:flex;flex-wrap:wrap;gap:7px}.category-chips{max-height:240px;overflow-y:auto}.filter-chip{padding:5px 12px;border-radius:20px;border:1px solid var(--border-color);background:var(--background-color);color:var(--text-muted-color);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.filter-chip:hover{border-color:var(--accent-color, var(--primary-color));color:var(--text-color)}.filter-chip.active{background:var(--accent-color, var(--primary-color));border-color:var(--accent-color, var(--primary-color));color:#fff}.filter-chip.level-beginner.active{background:#26a69a;border-color:#26a69a}.filter-chip.level-intermediate.active{background:#f39c12;border-color:#f39c12}.filter-chip.level-advanced.active{background:#ef5350;border-color:#ef5350}.filter-result-count{margin-top:auto;padding:10px 12px;background-color:var(--background-color);border-radius:8px;text-align:center;color:var(--text-muted-color);font-size:.85rem}.filter-result-count strong{color:var(--accent-color, var(--primary-color))}.view-switcher{display:flex;border-radius:8px;background-color:var(--background-color);border:1px solid var(--border-color);overflow:hidden}.view-btn{padding:8px 12px;background:transparent;border:none;color:var(--text-muted-color);cursor:pointer;font-size:.82rem;transition:background-color .15s;display:flex;align-items:center;gap:5px}.view-btn.active{background-color:var(--accent-color, var(--primary-color));color:#fff;font-weight:600}.view-btn:not(.active):hover{background-color:var(--border-color)}.content-display{flex-grow:1;overflow-y:auto;min-width:0}.learning-content-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;align-content:start}.learning-item-card{cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}.learning-item-card h3{font-size:1rem;margin-bottom:10px;color:var(--text-color)}.learning-item-card .one-line-def{font-size:.88rem;color:var(--text-muted-color);margin-bottom:12px;line-height:1.5}.learning-item-card .tags{display:flex;gap:6px;flex-wrap:wrap}.learning-item-card .tag{padding:3px 9px;border-radius:12px;font-size:.72rem;font-weight:600}@media(hover:hover){.learning-item-card:hover{border-color:var(--accent-color, var(--primary-color));box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}}@media(hover:none){.learning-item-card:active{opacity:.75}}.tag.level-beginner{background:#26a69a33;color:#26a69a}.tag.level-intermediate{background:#f39c1233;color:#f39c12}.tag.level-advanced{background:#ef535033;color:#ef5350}.tag.category{background:var(--border-color);color:var(--text-muted-color)}.difficulty-tag{padding:2px 8px;border-radius:10px;font-size:.8rem;font-weight:500}.difficulty-tag.level-beginner{background:#26a69a33;color:#26a69a}.difficulty-tag.level-intermediate{background:#f39c1233;color:#f39c12}.difficulty-tag.level-advanced{background:#ef535033;color:#ef5350}.no-results{color:var(--text-muted-color);text-align:center;padding:60px 20px;grid-column:1 / -1}.no-results i{font-size:2.5rem;margin-bottom:1rem;opacity:.4;display:block}.learning-content-tree{display:flex;flex-direction:column;gap:10px}.tree-category{background-color:var(--surface-color);border-radius:10px;border:1px solid var(--border-color);overflow:hidden}.tree-category-header{display:flex;align-items:center;padding:14px 18px;cursor:pointer;font-weight:600;color:var(--text-color);background-color:var(--surface-color);transition:background-color .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-height:48px}.tree-category-header:hover{background-color:var(--hover-bg, var(--border-color))}.tree-category-header i{margin-right:10px;color:var(--accent-color, var(--primary-color));width:14px;flex-shrink:0}.tree-category-header .item-count{margin-left:auto;background-color:var(--border-color);padding:2px 9px;border-radius:10px;font-size:.78rem;color:var(--text-muted-color)}.tree-category-items{border-top:1px solid var(--border-color)}.tree-item{display:flex;align-items:center;padding:12px 18px 12px 40px;cursor:pointer;color:var(--text-muted-color);transition:background .15s,color .15s;border-bottom:1px solid var(--border-color);min-height:44px}.tree-item:last-child{border-bottom:none}@media(hover:hover){.tree-item:hover{background-color:var(--background-color);color:var(--text-color)}}@media(hover:none){.tree-item:active{background-color:var(--hover-bg, var(--border-color))}}.difficulty-dot{width:8px;height:8px;border-radius:50%;margin-right:10px;flex-shrink:0}.difficulty-dot.level-beginner{background:#26a69a}.difficulty-dot.level-intermediate{background:#f39c12}.difficulty-dot.level-advanced{background:#ef5350}.tree-item-title{font-size:.88rem}.filter-drawer-overlay{position:fixed;inset:0;background:#00000080;z-index:900;display:flex;align-items:flex-end}.filter-drawer{width:100%;background:var(--card-bg, var(--surface-color));border-radius:20px 20px 0 0;max-height:80dvh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,16px)}.filter-drawer-handle{width:40px;height:4px;background:var(--border-color);border-radius:2px;margin:12px auto 0;flex-shrink:0}.filter-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;flex-shrink:0;border-bottom:1px solid var(--border-color)}.filter-drawer-title{font-size:1rem;font-weight:700;color:var(--text-color)}.filter-drawer-close{background:none;border:none;color:var(--text-muted-color);font-size:1rem;cursor:pointer;padding:6px;border-radius:6px;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center}.filter-drawer-body{overflow-y:auto;padding:16px 20px;flex:1;display:flex;flex-direction:column;gap:20px}.filter-drawer-footer{display:flex;gap:10px;padding:12px 20px 16px;border-top:1px solid var(--border-color);flex-shrink:0}.filter-drawer-reset{flex:1;padding:12px;border-radius:10px;border:1px solid var(--border-color);background:none;color:var(--text-muted-color);font-size:.9rem;font-weight:600;cursor:pointer}.filter-drawer-reset:disabled{opacity:.4;cursor:not-allowed}.filter-drawer-apply{flex:2;padding:12px;border-radius:10px;border:none;background:var(--accent-color, var(--primary-color));color:#fff;font-size:.9rem;font-weight:700;cursor:pointer}.learning-modal-container{display:none;position:fixed;inset:0;background:#000000b3;z-index:1000;align-items:center;justify-content:center;padding:20px}.learning-modal-container.active{display:flex}.modal-drag-handle{display:none;width:40px;height:4px;background:var(--border-color);border-radius:2px;margin:12px auto 0;flex-shrink:0}.modal-content{background:var(--surface-color);border-radius:20px;max-width:700px;width:100%;max-height:90vh;position:relative;box-shadow:0 20px 60px #00000080;border:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.modal-header-section{padding:36px 36px 18px;border-bottom:1px solid var(--border-color);flex-shrink:0;position:relative}.modal-body-section{padding:20px 36px 36px;overflow-y:auto;flex:1}.modal-body-section::-webkit-scrollbar{width:5px}.modal-body-section::-webkit-scrollbar-track{background:var(--background-color);border-radius:3px}.modal-body-section::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--hover-bg, rgba(255,255,255,.08));border:1px solid var(--border-color);border-radius:50%;cursor:pointer;color:var(--text-muted-color);font-size:.85rem;transition:all .15s;z-index:10}.modal-close:hover{color:var(--text-color);background:var(--border-color)}.modal-header{display:flex;align-items:center;gap:14px;padding-right:40px}.modal-icon{font-size:3rem;line-height:1}.modal-title{font-size:1.75rem;color:var(--text-color);font-weight:700;line-height:1.2}.modal-meta{color:var(--text-muted-color);font-size:.85rem;margin-top:6px}.modal-section{margin-bottom:22px}.modal-section-title{font-size:1rem;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:8px}.modal-section-title:before{content:"";width:3px;height:18px;background:currentColor;border-radius:2px;flex-shrink:0}.modal-text{line-height:1.8;color:var(--text-color);font-size:.95rem}.modal-def-box{background:var(--background-color);padding:14px 16px;border-radius:8px;border-left:4px solid}.related-concepts{display:grid;gap:10px}.related-concept{background:var(--background-color);padding:12px 14px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;transition:border-color .15s,transform .15s;min-height:44px}@media(hover:hover){.related-concept:hover{border-color:var(--accent-color, var(--primary-color));transform:translate(4px)}}@media(hover:none){.related-concept:active{background:var(--hover-bg, var(--border-color))}}.relationship-badge{background:var(--surface-color);padding:3px 10px;border-radius:10px;font-size:.72rem;color:var(--text-muted-color);font-weight:600;border:1px solid var(--border-color);flex-shrink:0;margin-left:8px;white-space:nowrap}.node-tags{display:flex;flex-wrap:wrap;gap:6px}@media(max-width:900px){.learning-center-container{flex-direction:column;overflow:visible}.filter-sidebar{width:100%}.content-display{overflow:visible}.learning-page{overflow:visible;height:auto}}@media(max-width:768px){.learning-page{overflow:visible;height:auto}.learning-topbar{position:sticky;top:0;z-index:100;background:var(--bg-primary, var(--background-color));padding:10px 0}.learning-filter-toggle{display:flex}.filter-sidebar{display:none}.learning-search-input{font-size:16px}.view-btn-label{display:none}.learning-center-container{overflow:visible;flex-direction:column}.content-display{overflow:visible}.learning-content-list{grid-template-columns:1fr}.learning-item-card .one-line-def{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:unset}.no-results{padding:40px 20px}.no-results i{font-size:2rem}.tree-item{padding:12px 16px 12px 32px}.learning-modal-container{align-items:flex-end;padding:0}.modal-drag-handle{display:block}.modal-content{max-width:100%;max-height:92dvh;border-radius:20px 20px 0 0;border-left:none;border-right:none;border-bottom:none}.modal-header-section{padding:16px 16px 14px}.modal-body-section{padding:14px 16px 32px}.modal-title{font-size:1.35rem}.modal-icon{font-size:2.25rem}.related-concept{padding:14px 12px}}@media(max-width:480px){.modal-title{font-size:1.15rem}.modal-icon{font-size:1.75rem}.filter-chip{font-size:.78rem;padding:5px 10px}.learning-item-card h3{font-size:.95rem}}.user-profile-section{display:flex;flex-direction:column;gap:8px}.user-profile.clickable{cursor:pointer;transition:all .2s ease}.user-profile.clickable:hover{background-color:#357ce61a}.user-profile .user-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.user-profile .user-name{font-weight:600;color:var(--text-color);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-profile .user-email{font-size:.75rem;color:var(--text-muted-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-profile .profile-arrow{color:var(--text-muted-color);font-size:.8rem;margin-left:auto;transition:transform .2s}.user-profile.clickable:hover .profile-arrow{transform:translate(3px);color:var(--primary-color)}.sidebar-footer .logout-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-muted-color);font-size:.8rem;cursor:pointer;transition:all .2s}.sidebar-footer .logout-btn:hover{background-color:#ef53501a;border-color:var(--negative-color);color:var(--negative-color)}.app-container.sidebar-collapsed .user-profile .user-info,.app-container.sidebar-collapsed .user-profile .profile-arrow,.app-container.sidebar-collapsed .logout-btn span{display:none}.app-container.sidebar-collapsed .logout-btn{padding:8px}.profile-page{max-width:900px;margin:0 auto}.profile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;gap:1rem;color:var(--text-muted-color)}.profile-loading i{font-size:2rem;color:var(--primary-color)}.profile-header-section{position:relative;margin-bottom:2rem}.profile-cover{height:120px;background:linear-gradient(135deg,var(--primary-color) 0%,#2857a4 50%,#1a3a6e 100%);border-radius:16px}.profile-avatar-section{display:flex;align-items:flex-end;gap:1.5rem;margin-top:-50px;padding:0 2rem}.profile-avatar{width:100px;height:100px;border-radius:50%;border:4px solid var(--surface-color);box-shadow:0 4px 12px #0000004d}.profile-basic-info{padding-bottom:.5rem}.profile-basic-info h1{font-size:1.8rem;color:var(--text-color);margin:0;font-weight:700}.profile-basic-info p{color:var(--text-muted-color);margin:.25rem 0 .75rem;font-size:.95rem}.profile-badges{display:flex;gap:.5rem}.profile-badges .badge{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600}.profile-badges .badge.level-beginner{background-color:#26a69a33;color:#26a69a}.profile-badges .badge.level-elementary{background-color:#42a5f533;color:#42a5f5}.profile-badges .badge.level-intermediate{background-color:#f39c1233;color:#f39c12}.profile-badges .badge.level-advanced{background-color:#ef535033;color:#ef5350}.profile-badges .badge.style{background-color:var(--border-color);color:var(--text-muted-color)}.profile-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:0}.tab-btn{padding:.8rem 1.5rem;background:transparent;border:none;color:var(--text-muted-color);font-size:.95rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.tab-btn:hover{color:var(--text-color)}.tab-btn.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.profile-content{padding-bottom:2rem}.profile-tab-content{display:flex;flex-direction:column;gap:1.5rem}.profile-card{background-color:var(--surface-color);border-radius:12px;border:1px solid var(--border-color);overflow:hidden}.profile-card.danger{border-color:#ef53504d}.profile-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background-color:#0000001a}.profile-card.danger .card-header{background-color:#ef53500d}.profile-card .card-header h3{margin:0;font-size:1rem;color:var(--text-color);display:flex;align-items:center;gap:.5rem}.profile-card .card-header h3 i{color:var(--primary-color)}.profile-card.danger .card-header h3 i{color:var(--negative-color)}.profile-card .card-body{padding:1.5rem}.edit-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-muted-color);padding:6px 12px;border-radius:6px;font-size:.8rem;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.edit-btn:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.info-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.info-row:last-child{border-bottom:none}.info-label{color:var(--text-muted-color);font-size:.9rem}.info-value{color:var(--text-color);font-weight:500}.summary-stat{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:var(--background-color);border-radius:8px;margin-bottom:.75rem}.summary-stat:last-child{margin-bottom:0}.stat-icon{width:45px;height:45px;background:linear-gradient(135deg,var(--primary-color) 0%,#2857a4 100%);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem}.stat-info{display:flex;flex-direction:column}.stat-label{font-size:.8rem;color:var(--text-muted-color)}.stat-value{font-size:1.1rem;font-weight:600;color:var(--text-color)}.asset-tags{display:flex;flex-wrap:wrap;gap:.5rem}.asset-tag{padding:8px 16px;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:20px;font-size:.85rem;color:var(--text-color)}.priority-list-view{display:flex;flex-direction:column;gap:.5rem}.priority-item-view{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background-color:var(--background-color);border-radius:8px;border:1px solid var(--border-color)}.priority-item-view.top{border-color:var(--primary-color);background-color:#357ce60d}.priority-num{width:24px;height:24px;background-color:var(--border-color);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:var(--text-muted-color)}.priority-item-view.top .priority-num{background-color:var(--primary-color);color:#fff}.priority-name{flex:1;color:var(--text-color);font-size:.9rem}.priority-badge{font-size:.7rem;padding:2px 8px;background-color:var(--primary-color);color:#fff;border-radius:10px;font-weight:600}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border-color)}.setting-row:last-child{border-bottom:none}.setting-row.clickable{cursor:pointer;margin:0 -1.5rem;padding:1rem 1.5rem;transition:background-color .2s}.setting-row.clickable:hover{background-color:var(--background-color)}.setting-info{display:flex;flex-direction:column;gap:.25rem}.setting-label{color:var(--text-color);font-weight:500}.setting-desc{font-size:.8rem;color:var(--text-muted-color)}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--border-color);border-radius:26px;transition:.3s}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary-color)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.btn-danger{background-color:transparent;border:1px solid var(--negative-color);color:var(--negative-color);padding:8px 16px;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s}.btn-danger:hover{background-color:var(--negative-color);color:#fff}.empty-state{text-align:center;padding:2rem}.empty-state i{font-size:3rem;color:var(--text-muted-color);margin-bottom:1rem}.empty-state h4{color:var(--text-color);margin-bottom:.5rem}.empty-state p{color:var(--text-muted-color);margin-bottom:1.5rem}@media(max-width:768px){.profile-page{padding:0 0 2rem}.profile-cover{height:90px;border-radius:0}.profile-avatar-section{flex-direction:column;align-items:center;text-align:center;margin-top:0;padding:0 1rem .75rem}.profile-avatar{width:80px;height:80px;margin-top:-40px}.profile-basic-info h1{font-size:1.35rem}.profile-basic-info p{font-size:.85rem;word-break:break-all}.profile-badges{justify-content:center;flex-wrap:wrap}.profile-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(to right,black calc(100% - 32px),transparent 100%);mask-image:linear-gradient(to right,black calc(100% - 32px),transparent 100%);gap:0}.tab-btn{padding:.75rem 1rem;white-space:nowrap;min-height:44px;font-size:.875rem}.profile-card .card-header{padding:.875rem 1rem}.profile-card .card-body{padding:1rem}.profile-tab-content{gap:1rem}.info-row{flex-wrap:wrap;gap:4px}.info-value{word-break:break-all}.setting-row{min-height:52px}.portfolio-card-header{flex-wrap:wrap;gap:8px}.sub-current-plan{flex-wrap:wrap;gap:12px}.sub-limit-item{flex-wrap:wrap}.portfolio-card{padding:1rem}.portfolio-card h3{font-size:.95rem}.portfolio-card-actions{flex-wrap:wrap;gap:10px;margin-top:12px}.stat-icon{width:38px;height:38px;min-width:38px;font-size:1rem}.stat-value{font-size:.95rem}.empty-state{padding:1.25rem 1rem}.empty-state i{font-size:2rem;margin-bottom:.75rem}}@media(max-width:480px){.profile-basic-info h1{font-size:1.2rem}.profile-card .card-body{padding:.875rem}.tab-btn{padding:.75rem;font-size:.8rem;gap:.3rem}.tab-btn span{display:none}}.portfolio-risk-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.portfolio-risk-option{display:flex;align-items:center;gap:4px;cursor:pointer;min-height:36px}.portfolio-card-actions{display:flex;justify-content:space-between;align-items:center}.portfolio-public-toggle{display:flex;align-items:center;gap:8px;cursor:pointer}.portfolio-public-label{font-size:.82rem;color:var(--text-muted-color)}.portfolio-delete-btn{padding:6px 14px;min-height:36px;border-radius:6px;border:1px solid var(--negative-color, #ef5350);background:transparent;color:var(--negative-color, #ef5350);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s;display:flex;align-items:center;gap:5px}.portfolio-delete-btn:hover{background:var(--negative-color, #ef5350);color:#fff}.settings-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:3000}.settings-modal-content{background-color:var(--surface-color);border-radius:20px;border:1px solid var(--border-color);width:100%;max-width:600px;max-height:90vh;padding:2.5rem;position:relative;display:flex;flex-direction:column;box-shadow:0 30px 60px #00000080;animation:modalAppear .3s ease-out}@keyframes modalAppear{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.settings-modal-header{margin-bottom:2rem}.settings-modal-header h2{font-size:1.5rem;margin-bottom:.5rem;color:var(--primary-color);display:flex;align-items:center;gap:10px}.settings-modal-header p{color:var(--text-muted-color);font-size:.9rem}.settings-tabs-nav{display:flex;gap:10px;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:10px}.settings-tabs-nav button{background:none;border:none;color:var(--text-muted-color);padding:8px 15px;cursor:pointer;font-size:.95rem;font-weight:500;border-radius:6px;transition:all .2s}.settings-tabs-nav button.active{background-color:#357ce61a;color:var(--primary-color);font-weight:700}.settings-tabs-content{flex:1;overflow-y:auto;padding-right:10px}.settings-section{margin-bottom:1.5rem}.settings-section label{display:block;font-weight:600;color:var(--text-color);margin-bottom:10px;font-size:.9rem}.experience-options.compact,.style-options.compact{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.experience-options.compact .experience-card,.style-options.compact .style-card{padding:.8rem 1rem}.experience-options.compact .experience-label,.style-options.compact .style-label{font-size:.95rem;margin-bottom:0}.asset-grid.compact{grid-template-columns:repeat(2,1fr);gap:.8rem}.asset-grid.compact .asset-card{padding:.8rem;font-size:.9rem}.priority-list.compact{max-height:300px}.priority-list.compact .priority-item{padding:.6rem .8rem}.settings-hint{margin-top:1rem;font-size:.8rem;color:var(--text-muted-color);background-color:var(--background-color);padding:8px;border-radius:6px;text-align:center}.settings-notif-status{font-size:.875rem;padding:.6rem .9rem;border-radius:6px;display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.settings-notif-status.granted{color:var(--positive-color);background:#4caf501a}.settings-notif-status.denied{color:var(--negative-color);background:#f443361a}.settings-notif-status.default,.settings-notif-status.unsupported{color:var(--text-muted-color);background:#ffffff0d}.settings-notif-request{display:flex;flex-direction:column;gap:.75rem}.settings-notif-grant-btn{align-self:flex-start;font-size:.875rem;padding:.5rem 1rem}.settings-notif-list{display:flex;flex-direction:column;gap:.5rem}.settings-notif-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#ffffff0a;border:1px solid var(--border-color);border-radius:8px;gap:1rem;transition:opacity .2s}.settings-notif-item.disabled{opacity:.4;pointer-events:none}.settings-notif-info{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.settings-notif-info>i{font-size:1rem;color:var(--accent-color);width:1.25rem;text-align:center}.settings-notif-title{font-size:.9rem;font-weight:600;color:var(--text-color)}.settings-notif-desc{font-size:.775rem;color:var(--text-muted-color);margin-top:.1rem}.settings-toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.settings-toggle input{opacity:0;width:0;height:0}.settings-toggle-slider{position:absolute;inset:0;background:#ffffff26;border-radius:24px;cursor:pointer;transition:background .2s}.settings-toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}.settings-toggle input:checked+.settings-toggle-slider{background:var(--accent-color)}.settings-toggle input:checked+.settings-toggle-slider:before{transform:translate(20px)}.settings-modal-footer{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.close-btn{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:var(--text-muted-color);font-size:1.2rem;cursor:pointer;transition:color .2s}.close-btn:hover{color:var(--negative-color)}.react-grid-item.resizing{z-index:1000;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:1001;will-change:transform;cursor:grabbing}.react-grid-placeholder{background:#357ce61a;border-radius:12px;margin:10px;z-index:2;transition-duration:.1s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.widget{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;height:100%}.widget-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background-color:#ffffff05}.widget-header h3{font-size:1rem;font-weight:600;margin:0;display:flex;align-items:center;gap:8px;color:var(--text-color)}.widget-header h3 i{color:var(--primary-color);font-size:.9rem}.widget-actions{display:flex;align-items:center;gap:8px}.widget-action-btn{background:none;border:none;color:var(--text-muted-color);cursor:pointer;font-size:.9rem;padding:4px;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.widget-action-btn:hover{color:var(--text-color);background-color:#ffffff0d}.widget-action-btn.remove:hover{color:var(--negative-color)}.drag-handle{cursor:grab;color:var(--text-muted-color);padding:4px;font-size:.9rem}.drag-handle:active{cursor:grabbing}.widget-content{padding:1.25rem;flex:1;overflow-y:auto}.widget-content::-webkit-scrollbar{width:6px}.widget-content::-webkit-scrollbar-track{background:transparent}.widget-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:10px}.widget-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted-color)}.react-resizable-handle{position:absolute;width:20px;height:20px;bottom:0;right:0;cursor:se-resize}.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid var(--text-muted-color);border-bottom:2px solid var(--text-muted-color)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-header-actions{display:flex;align-items:center;gap:.75rem}.widget-add-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1rem;background:var(--accent-color);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s;white-space:nowrap}.widget-add-btn:hover{background:var(--accent-hover-color, #3a5bd9);transform:translateY(-1px)}.widget-add-btn:active{transform:translateY(0)}.empty-dashboard{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:5rem 2rem;color:var(--text-muted-color);text-align:center}.empty-dashboard>i{font-size:3rem;opacity:.3}.empty-dashboard>p{font-size:1rem;font-weight:600;margin:0;color:var(--text-secondary-color)}.empty-dashboard>span{font-size:.85rem;opacity:.7}.empty-dashboard .widget-add-btn{margin-top:.5rem}.widget-sub-text{font-size:.8rem;color:var(--text-muted-color);margin-top:.5rem}.hint-float-btn{position:fixed;bottom:1.5rem;right:1.5rem;z-index:900;width:44px;height:44px;border-radius:50%;background-color:var(--surface-color);border:1px solid var(--border-color);color:var(--text-muted-color);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #00000040;transition:color .2s,border-color .2s}.hint-float-btn:hover{color:#facc15;border-color:#facc15}.hint-panel{position:fixed;bottom:0;left:0;right:0;z-index:900;background-color:var(--surface-color);border-top:1px solid var(--border-color);box-shadow:0 -4px 24px #0003;max-height:60vh;overflow-y:auto;animation:hint-slide-up .25s ease-out}@keyframes hint-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.hint-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;border-bottom:1px solid var(--border-color);position:sticky;top:0;background-color:var(--surface-color);z-index:1}.hint-panel-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem;color:var(--text-color)}.hint-panel-title i{color:#facc15}.hint-panel-close{background:none;border:none;color:var(--text-muted-color);cursor:pointer;font-size:1rem;padding:.25rem;line-height:1}.hint-panel-close:hover{color:var(--text-color)}.hint-panel-body{padding:1rem 1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.hint-persona-row{display:flex;flex-direction:column;gap:.4rem}.hint-persona-badge{display:inline-flex;align-items:center;gap:.4rem;background-color:#357ce61f;color:var(--primary-color);border-radius:20px;padding:.25rem .75rem;font-size:.82rem;font-weight:600;width:-moz-fit-content;width:fit-content}.hint-why{font-size:.88rem;color:var(--text-muted-color);line-height:1.55;margin:0}.hint-widgets{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.5rem}.hint-widget-item{display:flex;flex-direction:column;gap:.2rem;background-color:var(--background-color);border-radius:8px;padding:.6rem .875rem}.hint-widget-label{font-size:.8rem;font-weight:600;color:var(--text-color)}.hint-widget-role{font-size:.76rem;color:var(--text-muted-color);line-height:1.4}.hint-connection{background-color:#357ce60f;border:1px solid rgba(53,124,230,.2);border-radius:10px;padding:.875rem 1rem}.hint-connection-title{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;color:var(--primary-color);margin-bottom:.5rem}.hint-connection p{font-size:.85rem;color:var(--text-muted-color);line-height:1.6;margin:0}@media(max-width:768px){.hint-panel{max-height:70vh}.hint-widgets{grid-template-columns:1fr}.hint-float-btn{bottom:5rem;right:1rem}}.bgregen-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.6rem;padding:.7rem 1.2rem;border-radius:12px;font-size:.875rem;font-weight:500;z-index:9999;box-shadow:0 4px 20px #0006;animation:bgregen-in .25s ease;max-width:calc(100vw - 2rem);pointer-events:all}@keyframes bgregen-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.bgregen-running{background:#1e293bf7;border:1px solid rgba(78,143,247,.4);color:#94b8ff}.bgregen-running .fa-circle-notch{color:#4e8ff7}.bgregen-done{background:#14281ef7;border:1px solid rgba(38,166,91,.5);color:#6ee7a0}.bgregen-done .fa-check-circle{color:#26a65b}.bgregen-error{background:#281414f7;border:1px solid rgba(220,80,80,.5);color:#f87171}.bgregen-error .fa-exclamation-circle{color:#dc5050}.bgregen-dismiss{background:none;border:none;color:inherit;opacity:.6;cursor:pointer;padding:0 .2rem;margin-left:.3rem;font-size:.8rem}.bgregen-dismiss:hover{opacity:1}.widget-detail-overlay{position:fixed;inset:0;background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1500;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}.widget-detail-modal{background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;width:min(960px,92vw);height:min(720px,88vh);display:flex;flex-direction:column;box-shadow:0 24px 64px #0000008c;animation:slideUp .18s ease;overflow:hidden}.widget-detail-header{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--border-color);flex-shrink:0}.widget-detail-header i:first-child{color:var(--primary-color);font-size:1rem}.widget-detail-header span{flex:1;font-weight:600;font-size:.95rem;color:var(--text-color)}.widget-detail-header button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;color:var(--text-muted-color);border-radius:6px;cursor:pointer;font-size:.95rem;transition:background .15s,color .15s}.widget-detail-header button:hover{background:var(--border-color);color:#fff}.widget-detail-body{flex:1;overflow:auto;padding:20px}@keyframes slideUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.widget-picker-overlay{position:fixed;inset:0;background:#0000008c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.widget-picker-modal{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:820px;max-height:82vh;box-shadow:0 20px 60px #0006;display:flex;flex-direction:column;overflow:hidden}.widget-picker-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.widget-picker-header h3{font-size:1.05rem;font-weight:700;margin:0;display:flex;align-items:center;gap:.5rem}.widget-picker-close{background:none;border:none;color:var(--text-muted-color);font-size:1.1rem;cursor:pointer;padding:.3rem .5rem;border-radius:6px;transition:background .2s,color .2s}.widget-picker-close:hover{background:var(--hover-bg);color:var(--text-primary-color)}.widget-picker-body{display:flex;flex:1;overflow:hidden;min-height:0}.widget-picker-sidebar{width:148px;flex-shrink:0;border-right:1px solid var(--border-color);overflow-y:auto;padding:.75rem .5rem;display:flex;flex-direction:column;gap:2px}.widget-picker-sidebar-item{display:flex;align-items:center;gap:.55rem;padding:.55rem .75rem;border-radius:8px;cursor:pointer;font-size:.83rem;color:var(--text-secondary-color);transition:background .15s,color .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.widget-picker-sidebar-item:hover{background:var(--hover-bg);color:var(--text-primary-color)}.widget-picker-sidebar-item.active{background:var(--accent-color);color:#fff;font-weight:600}.widget-picker-sidebar-item i{width:16px;text-align:center;flex-shrink:0}.widget-picker-main{flex:1;display:flex;flex-direction:column;gap:.75rem;padding:1rem;overflow-y:auto;min-width:0}.widget-picker-search-wrap{position:relative;flex-shrink:0}.widget-picker-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-muted-color);font-size:.85rem;pointer-events:none}.widget-picker-search{width:100%;padding:.55rem .75rem .55rem 2.2rem;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg, var(--sidebar-bg));color:var(--text-primary-color);font-size:.85rem;outline:none;box-sizing:border-box;transition:border-color .2s}.widget-picker-search:focus{border-color:var(--accent-color)}.widget-picker-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.widget-picker-card{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem .9rem;border:1px solid var(--border-color);border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;background:var(--sidebar-bg);position:relative}.widget-picker-card:hover{border-color:var(--accent-color);background:var(--hover-bg);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-color) 12%,transparent)}.widget-picker-card-icon{width:36px;height:36px;border-radius:9px;background:var(--accent-color);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;flex-shrink:0}.widget-picker-card-info{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0;padding-right:1.6rem}.widget-picker-card-info strong{font-size:.85rem;font-weight:600;color:var(--text-primary-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-picker-card-info span{font-size:.75rem;color:var(--text-muted-color);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.widget-picker-card-add{position:absolute;top:.65rem;right:.65rem;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--border-color);background:none;color:var(--text-muted-color);font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s,color .2s;pointer-events:none}.widget-picker-card:hover .widget-picker-card-add{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.widget-picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:3rem 1rem;color:var(--text-muted-color);text-align:center}.widget-picker-empty i{font-size:2rem;opacity:.3}.widget-picker-empty p{font-size:.88rem;margin:0}.dashboard-create-item{list-style:none}.dashboard-create-form{padding:.6rem .75rem;display:flex;flex-direction:column;gap:.5rem}.dashboard-name-input{width:100%;padding:.4rem .6rem;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg, var(--card-bg));color:var(--text-primary-color);font-size:.82rem;outline:none;box-sizing:border-box;transition:border-color .2s}.dashboard-name-input:focus{border-color:var(--accent-color)}.dashboard-edit-input{flex:1;min-width:0}.dashboard-edit-input input{width:100%;padding:.2rem .5rem;background:var(--input-bg);color:var(--text-primary-color);border:1px solid var(--accent-color);border-radius:4px;font-size:.82rem;outline:none;box-sizing:border-box}.dashboard-icon-picker{display:flex;flex-wrap:wrap;gap:4px}.icon-pick-btn{width:28px;height:28px;border-radius:6px;border:1px solid var(--border-color);background:none;color:var(--text-muted-color);font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s}.icon-pick-btn:hover{background:var(--hover-bg);border-color:var(--accent-color);color:var(--accent-color)}.icon-pick-btn.selected{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.dashboard-create-actions{display:flex;gap:.4rem}.create-confirm-btn{flex:1;padding:.35rem .5rem;background:var(--accent-color);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.3rem;transition:background .2s}.create-confirm-btn:hover{background:var(--accent-hover-color, #3a5bd9)}.create-cancel-btn{width:30px;height:30px;background:none;border:1px solid var(--border-color);border-radius:6px;color:var(--text-muted-color);font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.create-cancel-btn:hover{background:var(--hover-bg);color:var(--text-primary-color)}.dashboard-empty-hint{list-style:none;padding:.4rem .75rem}.dashboard-empty-hint span{font-size:.78rem;color:var(--text-muted-color);opacity:.8}.widget-chart-container{flex:1;min-height:120px;max-height:360px;position:relative}.widget-loading,.widget-error{display:flex;align-items:center;justify-content:center;height:100%;min-height:80px;font-size:.82rem;color:var(--text-muted-color)}.widget-error{color:#ff6384}.widget-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1rem;color:var(--text-muted-color);text-align:center}.widget-placeholder i{font-size:1.8rem;opacity:.3}.widget-placeholder p{margin:0;font-size:.88rem;font-weight:600}.widget-login-prompt,.widget-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1rem;color:var(--text-muted-color);text-align:center}.widget-login-prompt i,.widget-empty-state i{font-size:1.8rem;opacity:.3}.widget-login-prompt p,.widget-empty-state p{margin:0;font-size:.88rem;font-weight:600}.widget-empty-state span{font-size:.78rem}.macro-widget{display:flex;flex-direction:column;gap:.5rem;height:100%}.macro-widget-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;flex-shrink:0}.macro-search-wrap{flex:1;min-width:120px;position:relative}.macro-search-input{width:100%;padding:.35rem .6rem;border:1px solid var(--border-color);border-radius:6px;background:var(--sidebar-bg);color:var(--text-primary-color);font-size:.8rem;outline:none;cursor:pointer;box-sizing:border-box}.macro-search-input:focus{border-color:var(--accent-color);cursor:text}.macro-search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#1e222d;border:1px solid var(--border-color);border-radius:6px;max-height:220px;overflow-y:auto;z-index:999;list-style:none;margin:0;padding:.25rem 0}.macro-search-item{display:flex;justify-content:space-between;align-items:center;padding:.4rem .75rem;cursor:pointer;gap:.5rem}.macro-search-item:hover{background:#4e8ff726}.macro-search-item.selected{background:#4e8ff733}.macro-search-label{font-size:.8rem;color:var(--text-primary-color)}.macro-search-sym{font-size:.7rem;color:var(--text-muted-color);flex-shrink:0}.macro-search-empty{padding:.5rem .75rem;font-size:.8rem;color:var(--text-muted-color)}.macro-period-btns{display:flex;gap:3px;flex-shrink:0}.macro-period-btn{padding:.25rem .55rem;border:1px solid var(--border-color);border-radius:5px;background:none;color:var(--text-muted-color);font-size:.75rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.macro-period-btn.active,.macro-period-btn:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.macro-stat-header{display:flex;align-items:baseline;gap:.75rem;flex-shrink:0}.macro-stat-label{font-size:.8rem;color:var(--text-muted-color)}.macro-stat-value{font-size:1.2rem;font-weight:700;color:var(--text-primary-color)}.forex-list{display:flex;flex-direction:column;gap:.3rem;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.forex-card{display:flex;align-items:center;gap:.6rem;padding:.55rem .5rem;border-radius:8px;border:1px solid var(--border-color);background:var(--background-color)}.forex-card-left{display:flex;flex-direction:column;gap:2px;min-width:72px}.forex-card-label{font-size:.78rem;font-weight:700;color:var(--text-color);white-space:nowrap}.forex-card-value{font-size:.85rem;font-weight:600;font-family:monospace;color:var(--text-color)}.forex-card-spark{flex:1;height:36px;min-width:0}.forex-card-right{flex-shrink:0;text-align:right;min-width:60px}.forex-card-change{font-size:.82rem;font-weight:600;color:var(--text-muted-color)}.forex-card-change.positive{color:#36d399}.forex-card-change.negative{color:#ff6384}.commodity-cards{display:flex;gap:.75rem;flex-shrink:0;flex-wrap:wrap}.commodity-card{flex:1;min-width:100px;background:var(--sidebar-bg);border:1px solid var(--border-color);border-radius:8px;padding:.6rem .75rem;display:flex;flex-direction:column;gap:.15rem}.commodity-label{font-size:.75rem;color:var(--text-muted-color)}.commodity-value{font-size:1rem;font-weight:700;color:var(--text-primary-color)}.commodity-change{font-size:.78rem;font-weight:600}.commodity-unit{font-size:.72rem;color:var(--text-muted-color)}.fear-greed-widget{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:.5rem 0;height:100%}.fear-greed-gauge-wrap{position:relative;width:min(220px,100%);flex-shrink:0}.fear-greed-semicircle{width:100%;aspect-ratio:2 / 1;border-radius:9999px 9999px 0 0;position:relative;overflow:hidden}.fear-greed-needle{position:absolute;bottom:0;left:50%;width:2px;height:88%;transform-origin:bottom center}.fear-greed-needle-line{width:2px;height:100%;background:#fff;border-radius:2px;box-shadow:0 0 4px #00000080}.fear-greed-center{position:absolute;bottom:-5%;left:50%;transform:translate(-50%);width:10%;aspect-ratio:1;background:var(--card-bg);border:2px solid #fff;border-radius:50%}.fear-greed-labels{display:flex;justify-content:space-between;width:100%;font-size:.72rem;font-weight:600;margin-top:4px}.fear-greed-result{padding:.5rem 1.25rem;border-radius:20px;text-align:center}.fear-greed-level{font-size:1rem;font-weight:700;display:block}.fear-greed-vix{font-size:.78rem;color:var(--text-muted-color);display:block;margin-top:2px}.fear-greed-aux{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--text-muted-color);border-top:1px solid var(--border-color);padding-top:.5rem;width:100%;justify-content:center}.aux-value{font-weight:600;color:var(--text-secondary-color)}.stock-widget{display:flex;flex-direction:column;height:100%;gap:0}.stock-top-bar{display:flex;flex-direction:column;gap:.4rem;flex-shrink:0;padding-bottom:.4rem;border-bottom:1px solid var(--border-color);margin-bottom:.5rem}.stock-tabs{display:flex;gap:.3rem}.stock-tab{display:flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border:1px solid var(--border-color);border-radius:8px;background:none;color:var(--text-muted-color);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.stock-tab:hover{border-color:var(--primary-color);color:var(--text-color)}.stock-tab.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.stock-tab-symbol{background:#fff3;border-radius:4px;padding:1px 5px;font-size:.72rem;font-weight:700}.stock-tab:not(.active) .stock-tab-symbol{background:var(--border-color);color:var(--text-color)}.stock-search-row{display:flex;align-items:center;gap:.4rem}.stock-symbol-input{flex:1;padding:.38rem .7rem;border:1px solid var(--border-color);border-radius:8px;background:var(--background-color);color:var(--text-color);font-size:.82rem;outline:none;text-transform:uppercase;transition:border-color .2s}.stock-symbol-input:focus{border-color:var(--primary-color)}.stock-search-btn{padding:.38rem .65rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.82rem;transition:opacity .2s;flex-shrink:0}.stock-search-btn:hover{opacity:.85}.stock-list.stock-list-full{list-style:none;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:2px;padding:0;margin:0;min-height:0}.stock-list-item{display:flex;align-items:center;padding:.5rem .5rem .5rem .25rem;border-radius:8px;cursor:pointer;transition:background .15s;border:1px solid transparent;min-height:48px;gap:.3rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.stock-list-item:hover{background:var(--background-color)}.stock-list-item.active{background:var(--background-color);border-color:var(--primary-color)}.stock-list-item.skeleton{background:var(--border-color);animation:skeletonPulse 1.2s infinite;cursor:default;height:48px;border-radius:8px}@keyframes skeletonPulse{0%,to{opacity:1}50%{opacity:.4}}.stock-list-arrow{font-size:.65rem;color:var(--text-muted-color);flex-shrink:0;margin-left:auto;opacity:.5}.stock-fav-btn{background:none;border:none;cursor:pointer;padding:4px 6px;color:var(--text-muted-color);font-size:.78rem;flex-shrink:0;transition:color .15s,transform .15s;line-height:1}.stock-fav-btn:hover{color:#facc15;transform:scale(1.2)}.stock-fav-btn.active{color:#facc15}.stock-list-left{display:flex;flex-direction:column;gap:2px;overflow:hidden;flex:1}.stock-list-symbol{font-size:.85rem;font-weight:700;color:var(--text-color)}.stock-list-name{font-size:.72rem;color:var(--text-muted-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stock-list-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.stock-list-price{font-size:.85rem;font-weight:600;color:var(--text-color)}.stock-list-change{font-size:.72rem;font-weight:600}.stock-list-change.up{color:#22c55e}.stock-list-change.down{color:#ef4444}.stock-list-na{font-size:.8rem;color:var(--text-muted-color)}.stock-detail.stock-detail-full{flex:1;display:flex;flex-direction:column;gap:.5rem;min-height:0;overflow:hidden}.stock-detail-header{display:flex;justify-content:space-between;align-items:flex-start;flex-shrink:0;padding-bottom:.4rem;border-bottom:1px solid var(--border-color)}.stock-detail-symbol{font-size:1.05rem;font-weight:700;color:var(--text-color);margin-right:.35rem}.stock-detail-name{font-size:.8rem;color:var(--text-muted-color)}.stock-detail-price-block{text-align:right}.stock-detail-price{display:block;font-size:1.15rem;font-weight:700;color:var(--text-color)}.stock-detail-change{font-size:.8rem;font-weight:600}.stock-detail-change.up{color:#22c55e}.stock-detail-change.down{color:#ef4444}.stock-detail-chart{flex:1;min-height:0;position:relative}.news-list{display:flex;flex-direction:column;overflow-y:auto;height:100%}.news-item{display:flex;gap:.75rem;padding:.65rem .25rem;border-bottom:1px solid rgba(255,255,255,.05);text-decoration:none;transition:background .15s;border-radius:6px}.news-item:hover{background:var(--hover-bg)}.news-thumb{width:56px;height:42px;-o-object-fit:cover;object-fit:cover;border-radius:5px;flex-shrink:0}.news-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.news-headline{font-size:.82rem;font-weight:500;color:var(--text-primary-color);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-meta{display:flex;gap:.5rem;align-items:center}.news-source{font-size:.72rem;color:var(--accent-color);font-weight:600}.news-time{font-size:.72rem;color:var(--text-muted-color)}.portfolio-summary-list{display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;height:100%}.portfolio-card-mini{background:var(--sidebar-bg);border:1px solid var(--border-color);border-radius:8px;padding:.65rem .85rem;display:flex;flex-direction:column;gap:.3rem;transition:border-color .2s}.portfolio-card-mini:hover{border-color:var(--accent-color)}.portfolio-card-mini-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.portfolio-card-mini-name{font-size:.88rem;font-weight:600;color:var(--text-primary-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portfolio-risk-badge{font-size:.68rem;font-weight:700;color:#fff;padding:.15rem .5rem;border-radius:10px;flex-shrink:0}.portfolio-card-mini-desc{font-size:.75rem;color:var(--text-muted-color);margin:0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.portfolio-card-mini-footer{display:flex;align-items:center;gap:.75rem;font-size:.73rem;color:var(--text-muted-color)}.portfolio-public-badge{color:var(--accent-color);font-weight:600}.positive{color:#36d399}.newsletter-page{display:flex;flex-direction:column;gap:0}.newsletter-layout{display:grid;grid-template-columns:1fr 280px;gap:1.5rem;align-items:start}.newsletter-subscribe-card{background:linear-gradient(135deg,#1a2a4a,#0d1b2e);border:1px solid var(--accent-color);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.subscribe-card-content{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.subscribe-icon{font-size:2rem;color:var(--accent-color);flex-shrink:0}.subscribe-text h3{font-size:1rem;font-weight:600;color:var(--text-primary-color);margin:0 0 .25rem}.subscribe-text p{font-size:.83rem;color:var(--text-muted-color);margin:0}.subscribe-form{display:flex;gap:.75rem}.subscribe-input{flex:1;background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;padding:.6rem 1rem;color:var(--text-primary-color);font-size:.88rem;outline:none;transition:border-color .2s}.subscribe-input:focus{border-color:var(--accent-color)}.subscribe-btn{background:var(--accent-color);color:#fff;border:none;border-radius:8px;padding:.6rem 1.25rem;font-size:.88rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .2s}.subscribe-btn:hover{opacity:.85}.subscribe-success{display:flex;align-items:center;gap:.5rem;color:#36d399;font-size:.9rem;font-weight:500}.subscribe-success i{font-size:1.1rem}.newsletter-issues-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.newsletter-issues-header h3{font-size:.95rem;font-weight:600;color:var(--text-color);margin:0}.issue-count{background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;padding:.1rem .55rem;font-size:.75rem;color:var(--text-muted-color)}.newsletter-issues-list{display:flex;flex-direction:column;gap:.75rem}.newsletter-issue-card{display:flex;align-items:stretch;background:var(--surface-color);border:1px solid var(--border-color);border-radius:10px;overflow:hidden;cursor:pointer;transition:border-color .2s,transform .15s}.newsletter-issue-card:hover{border-color:var(--accent-color);transform:translateY(-1px)}.issue-number{display:flex;align-items:center;justify-content:center;width:52px;flex-shrink:0;background:var(--background-color);color:var(--text-muted-color);font-size:.8rem;font-weight:600;border-right:1px solid var(--border-color)}.issue-content{flex:1;padding:1rem 1rem .85rem}.issue-meta{display:flex;align-items:center;gap:1rem;margin-bottom:.4rem}.issue-date,.issue-read-time{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--text-muted-color)}.issue-title{font-size:.95rem;font-weight:600;color:var(--text-primary-color);margin:0 0 .4rem;line-height:1.4}.issue-summary{font-size:.82rem;color:var(--text-muted-color);margin:0 0 .6rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.issue-tags{display:flex;flex-wrap:wrap;gap:.35rem}.issue-tag{background:#357ce626;color:var(--accent-color);border:1px solid rgba(53,124,230,.3);border-radius:4px;padding:.1rem .45rem;font-size:.72rem;font-weight:500}.issue-arrow{display:flex;align-items:center;padding:0 .75rem;color:var(--text-muted-color);font-size:.8rem;flex-shrink:0}.newsletter-sidebar{display:flex;flex-direction:column;gap:1rem;position:sticky;top:1rem}.newsletter-sidebar-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:10px;padding:1rem}.newsletter-sidebar-card h4{font-size:.85rem;font-weight:600;color:var(--text-color);margin:0 0 .75rem;display:flex;align-items:center;gap:.4rem}.newsletter-sidebar-card h4 i{color:var(--accent-color);font-size:.8rem}.sidebar-tags{display:flex;flex-wrap:wrap;gap:.35rem}.sidebar-tag{background:var(--background-color);border:1px solid var(--border-color);border-radius:4px;padding:.15rem .5rem;font-size:.73rem;color:var(--text-muted-color);cursor:pointer;transition:border-color .15s,color .15s}.sidebar-tag:hover{border-color:var(--accent-color);color:var(--accent-color)}.schedule-list,.calendar-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.schedule-list li{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-muted-color)}.text-success{color:#36d399}.calendar-list li{display:flex;align-items:center;gap:.5rem;font-size:.8rem;padding:.35rem 0;border-bottom:1px solid var(--border-color)}.calendar-list li:last-child{border-bottom:none}.cal-date{font-size:.73rem;color:var(--accent-color);font-weight:600;flex-shrink:0;min-width:70px}.cal-event{color:var(--text-muted-color)}.newsletter-modal-overlay{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1600;display:flex;align-items:center;justify-content:center;padding:1rem}.newsletter-modal{background:var(--surface-color);border:1px solid var(--border-color);border-radius:14px;width:min(760px,95vw);max-height:88vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #0000008c;animation:slideUp .2s ease}.newsletter-modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);position:relative}.newsletter-modal-meta{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.newsletter-modal-title{font-size:1.15rem;font-weight:700;color:var(--text-primary-color);margin:0 0 .6rem;line-height:1.4;padding-right:2rem}.newsletter-modal-close{position:absolute;top:1rem;right:1rem;background:var(--background-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-muted-color);width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.85rem;transition:color .15s,border-color .15s}.newsletter-modal-close:hover{color:var(--text-primary-color);border-color:var(--text-muted-color)}.newsletter-modal-body{flex:1;overflow-y:auto;padding:1.5rem}.newsletter-modal-content h2{font-size:1.05rem;font-weight:700;color:var(--accent-color);margin:1.25rem 0 .5rem;padding-bottom:.35rem;border-bottom:1px solid var(--border-color)}.newsletter-modal-content h2:first-child{margin-top:0}.newsletter-modal-content h3{font-size:.92rem;font-weight:600;color:var(--text-color);margin:1rem 0 .4rem}.newsletter-modal-content p{font-size:.88rem;color:var(--text-muted-color);line-height:1.7;margin:.3rem 0}.newsletter-modal-content li{font-size:.88rem;color:var(--text-muted-color);line-height:1.7;margin-left:1.25rem;list-style:disc}.newsletter-modal-content strong{color:var(--text-primary-color);font-weight:600}.newsletter-modal-content table{width:100%;border-collapse:collapse;font-size:.83rem;margin:.75rem 0}.newsletter-modal-content th,.newsletter-modal-content td{padding:.45rem .75rem;border:1px solid var(--border-color);text-align:left;color:var(--text-muted-color)}.newsletter-modal-content th{background:var(--background-color);color:var(--text-color);font-weight:600}.news-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.news-search-wrap{flex:1;display:flex;align-items:center;gap:.5rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:.45rem .85rem;color:var(--text-muted-color);font-size:.83rem}.news-search-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary-color);font-size:.88rem}.news-date-group{margin-bottom:1.25rem}.news-date-label{font-size:.75rem;font-weight:700;color:var(--text-muted-color);text-transform:uppercase;letter-spacing:.05em;padding:.25rem 0;border-bottom:1px solid var(--border-color);margin-bottom:.5rem}.news-group-list{display:flex;flex-direction:column;gap:.5rem}.news-card{display:flex;align-items:stretch;background:var(--surface-color);border:1px solid var(--border-color);border-radius:10px;overflow:hidden;cursor:pointer;transition:border-color .2s,transform .15s}.news-card:hover{border-color:var(--accent-color);transform:translateY(-1px)}.news-card-image{width:100px;flex-shrink:0;overflow:hidden}.news-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.news-card-body{flex:1;padding:.75rem .85rem;min-width:0}.news-card-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:.3rem}.news-source{font-size:.72rem;font-weight:700;color:var(--accent-color);background:#357ce61f;border-radius:4px;padding:.1rem .4rem}.news-time{display:flex;align-items:center;gap:.25rem;font-size:.72rem;color:var(--text-muted-color)}.news-headline{font-size:.88rem;font-weight:600;color:var(--text-primary-color);margin:0 0 .3rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-summary{font-size:.78rem;color:var(--text-muted-color);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-loading,.news-error,.news-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:var(--text-muted-color);font-size:.9rem}.news-loading i{font-size:1.5rem;color:var(--accent-color)}.news-error i{font-size:1.5rem;color:#ff6384}.news-empty i{font-size:1.5rem}.news-modal-image{width:100%;max-height:220px;-o-object-fit:cover;object-fit:cover;border-radius:8px;margin-bottom:1rem;display:block}.news-modal-summary{font-size:.9rem;color:var(--text-muted-color);line-height:1.7;margin:0 0 1.25rem}.news-modal-link-btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--accent-color);color:#fff;border-radius:8px;padding:.55rem 1.1rem;font-size:.88rem;font-weight:600;text-decoration:none;transition:opacity .2s}.news-modal-link-btn:hover{opacity:.85}@media(max-width:900px){.newsletter-layout{grid-template-columns:1fr}.newsletter-sidebar{position:static}}.negative{color:#ff6384}.preset-modal-overlay{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1700;display:flex;align-items:center;justify-content:center;padding:1rem}.preset-modal{background:var(--surface-color);border:1px solid var(--border-color);border-radius:16px;width:min(600px,95vw);max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px #0009;animation:slideUp .22s ease}.preset-modal-header{padding:1.5rem 1.5rem 1rem;position:relative;border-bottom:1px solid var(--border-color)}.preset-modal-badge{display:inline-flex;align-items:center;gap:.35rem;background:#357ce626;color:var(--accent-color);border:1px solid rgba(53,124,230,.3);border-radius:20px;padding:.2rem .7rem;font-size:.75rem;font-weight:600;margin-bottom:.75rem}.preset-modal-close{position:absolute;top:1rem;right:1rem;background:var(--background-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-muted-color);width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.85rem;transition:color .15s,border-color .15s}.preset-modal-close:hover{color:var(--text-primary-color);border-color:var(--text-muted-color)}.preset-modal-title{font-size:1.1rem;font-weight:700;color:var(--text-primary-color);margin:0 0 .3rem;padding-right:2rem}.preset-modal-sub{font-size:.83rem;color:var(--text-muted-color);margin:0;line-height:1.5}.preset-info{padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.4rem}.preset-name-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;padding:.35rem .75rem;font-size:.85rem;font-weight:700;color:var(--text-color);align-self:flex-start}.preset-name-badge i{color:var(--accent-color)}.preset-description{font-size:.82rem;color:var(--text-muted-color);margin:0}.preset-widget-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.6rem;padding:0 1.5rem 1rem}.preset-widget-thumb{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:var(--background-color);border:1px solid var(--border-color);border-radius:10px;padding:.75rem .5rem;transition:border-color .15s}.preset-widget-thumb:hover{border-color:var(--accent-color)}.preset-widget-thumb-icon{width:38px;height:38px;background:#357ce61a;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--accent-color);font-size:1rem}.preset-widget-thumb-title{font-size:.7rem;color:var(--text-muted-color);text-align:center;line-height:1.3}.preset-warning{display:flex;align-items:center;gap:.5rem;margin:0 1.5rem .75rem;background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:8px;padding:.55rem .85rem;font-size:.8rem;color:#ffc107}.preset-modal-actions{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--border-color)}.preset-btn-apply{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;background:var(--accent-color);color:#fff;border:none;border-radius:8px;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .2s}.preset-btn-apply:hover{opacity:.85}.preset-btn-save{display:flex;align-items:center;gap:.4rem;background:var(--background-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:8px;padding:.65rem 1rem;font-size:.88rem;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s}.preset-btn-save:hover{border-color:var(--accent-color);color:var(--accent-color)}.preset-btn-dismiss{background:transparent;color:var(--text-muted-color);border:none;padding:.65rem .75rem;font-size:.85rem;cursor:pointer;transition:color .15s}.chat-toggle-btn{display:flex;align-items:center;gap:.6rem;width:calc(100% - 2rem);margin:.5rem 1rem;padding:.6rem 1rem;background:#357ce626;border:1px solid rgba(53,124,230,.3);border-radius:8px;color:var(--primary-color);font-size:.85rem;cursor:pointer;transition:background .2s}.chat-toggle-btn:hover{background:#357ce640}.sidebar-collapsed .chat-toggle-btn span{display:none}.chat-panel-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:flex-end;justify-content:flex-start;padding:1rem}.chat-panel{display:flex;width:min(820px,95vw);height:600px;max-height:80vh;background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0006}.chat-sessions{width:220px;min-width:220px;border-right:1px solid var(--border-color);display:flex;flex-direction:column;background:var(--background-color)}.chat-sessions-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;font-size:.8rem;font-weight:600;color:var(--text-muted, #9e9e9e);border-bottom:1px solid var(--border-color)}.chat-new-btn{background:none;border:none;color:var(--primary-color);cursor:pointer;padding:.2rem .4rem;border-radius:4px;font-size:.85rem}.chat-new-btn:hover{background:#357ce626}.chat-provider-select{display:flex;gap:.4rem;padding:.6rem .8rem;border-bottom:1px solid var(--border-color)}.provider-btn{flex:1;padding:.3rem 0;font-size:.75rem;border:1px solid var(--border-color);border-radius:6px;background:none;color:var(--text-muted, #9e9e9e);cursor:pointer;transition:all .15s}.provider-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.chat-session-list{flex:1;overflow-y:auto;list-style:none;margin:0;padding:.4rem 0}.chat-session-empty{padding:1rem;font-size:.8rem;color:var(--text-muted, #9e9e9e);text-align:center}.chat-session-item{display:flex;align-items:center;gap:.5rem;padding:.55rem .8rem;cursor:pointer;font-size:.82rem;color:var(--text-color);border-radius:6px;margin:.1rem .4rem;transition:background .15s}.chat-session-item:hover{background:#ffffff0d}.chat-session-item.active{background:#357ce633;color:var(--primary-color)}.session-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-delete-btn{background:none;border:none;color:var(--text-muted, #9e9e9e);cursor:pointer;opacity:0;padding:.2rem;font-size:.75rem;transition:opacity .15s}.chat-session-item:hover .session-delete-btn{opacity:1}.provider-icon.claude{color:#d97706}.provider-icon.gemini{color:#4285f4}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid var(--border-color);font-size:.9rem;font-weight:600;color:var(--text-color)}.chat-close-btn{background:none;border:none;color:var(--text-muted, #9e9e9e);cursor:pointer;padding:.3rem;border-radius:4px}.chat-close-btn:hover{background:#ffffff14}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.8rem}.chat-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;color:var(--text-muted, #9e9e9e);font-size:.85rem;text-align:center;padding:2rem}.chat-empty-state i{font-size:2rem;opacity:.4}.chat-message{display:flex}.chat-message.user{justify-content:flex-end}.chat-message.assistant{justify-content:flex-start}.message-bubble{max-width:75%;padding:.6rem .9rem;border-radius:10px;font-size:.875rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.chat-message.user .message-bubble{background:var(--primary-color);color:#fff}.chat-message.assistant .message-bubble{background:#ffffff0f;color:var(--text-color);border:1px solid var(--border-color)}.streaming-cursor{animation:blink .8s infinite;margin-left:1px}.chat-input-area{display:flex;align-items:flex-end;gap:.5rem;padding:.8rem 1rem;border-top:1px solid var(--border-color)}.chat-input{flex:1;background:#ffffff0d;border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);padding:.6rem .8rem;font-size:.875rem;resize:none;font-family:inherit;line-height:1.5;outline:none;transition:border-color .15s}.chat-input:focus{border-color:var(--primary-color)}.chat-input:disabled{opacity:.6}.chat-send-btn{padding:.6rem .9rem;background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;transition:opacity .15s;align-self:flex-end}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.widget:has(.aiw) .widget-content{padding:0;display:flex;flex-direction:column;overflow:hidden}.aiw{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--surface-color)}.aiw-toolbar{display:flex;align-items:center;padding:.4rem .75rem;border-bottom:1px solid var(--border-color);flex-shrink:0;gap:.5rem}.aiw-tabs{display:flex;background:#ffffff0d;border-radius:6px;padding:2px;gap:2px}.aiw-tab{padding:.2rem .65rem;font-size:.73rem;font-weight:500;border:none;border-radius:4px;background:transparent;color:var(--text-muted, #9e9e9e);cursor:pointer;transition:all .15s;letter-spacing:.01em}.aiw-tab.on{background:var(--surface-color);color:var(--text-color);box-shadow:0 1px 3px #0000004d}.aiw-reset{margin-left:auto;background:none;border:none;color:var(--text-muted, #9e9e9e);cursor:pointer;font-size:.82rem;padding:.25rem .4rem;border-radius:4px;transition:color .15s,background .15s}.aiw-reset:hover{color:var(--text-color);background:#ffffff0f}.aiw-messages{flex:1;overflow-y:auto;padding:1rem .9rem .5rem;display:flex;flex-direction:column;gap:1rem;min-height:0}.aiw-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted, #9e9e9e);font-size:.82rem;text-align:center;padding:1rem;opacity:.7}.aiw-row{display:flex;gap:.55rem;align-items:flex-start}.aiw-row.user{flex-direction:row-reverse}.aiw-avatar{width:26px;height:26px;border-radius:50%;background:#357ce633;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--primary-color);flex-shrink:0;margin-top:1px}.aiw-bubble{max-width:82%;padding:.5rem .75rem;border-radius:10px;font-size:.83rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.aiw-row.user .aiw-bubble{background:var(--primary-color);color:#fff;border-radius:10px 10px 2px}.aiw-row.assistant .aiw-bubble{background:#ffffff0d;color:var(--text-color);border:1px solid var(--border-color);border-radius:10px 10px 10px 2px}.aiw-cursor{animation:blink .8s step-end infinite;margin-left:1px;opacity:.8}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.aiw-input-wrap{display:flex;align-items:flex-end;gap:.5rem;padding:.6rem .75rem;border-top:1px solid var(--border-color);flex-shrink:0;background:var(--surface-color)}.aiw-input{flex:1;background:#ffffff0a;border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);padding:.5rem .7rem;font-size:.83rem;resize:none;font-family:inherit;line-height:1.45;outline:none;transition:border-color .15s;min-height:38px;max-height:100px}.aiw-input:focus{border-color:#357ce699;background:#ffffff0f}.aiw-input:disabled{opacity:.5}.aiw-send{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.82rem;flex-shrink:0;transition:opacity .15s,transform .1s;align-self:flex-end;margin-bottom:1px}.aiw-send:hover:not(:disabled){opacity:.85}.aiw-send:active:not(:disabled){transform:scale(.93)}.aiw-send:disabled{opacity:.3;cursor:not-allowed}.aiw-login{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.5rem;color:var(--text-muted, #9e9e9e);font-size:.82rem;opacity:.6}.preset-btn-dismiss:hover{color:var(--text-primary-color)}.guest-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1.25rem;background:linear-gradient(135deg,#357ce61f,#357ce60d);border:1px solid rgba(53,124,230,.25);border-radius:10px;margin-bottom:1rem;flex-wrap:wrap}.guest-banner-left{display:flex;align-items:center;gap:.5rem;color:var(--text-muted-color);font-size:.82rem}.guest-banner-left i{color:var(--primary-color);font-size:.9rem}.guest-banner-actions{display:flex;gap:.5rem;flex-shrink:0}.guest-banner-change{background:none;border:1px solid var(--border-color);color:var(--text-muted-color);font-size:.78rem;padding:.3rem .75rem;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.35rem}.guest-banner-change:hover{border-color:var(--primary-color);color:var(--primary-color)}.guest-banner-cta{background:var(--primary-color);border:none;color:#fff;font-size:.78rem;font-weight:600;padding:.3rem .85rem;border-radius:6px;cursor:pointer;transition:opacity .2s;display:flex;align-items:center;gap:.35rem}.guest-banner-cta:hover{opacity:.85}.guest-preset-page{max-width:860px;margin:0 auto;padding:2rem 0}.guest-preset-hero{text-align:center;padding:2.5rem 1rem 2rem}.guest-preset-hero-icon{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,var(--primary-color),#1a4fa0);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;font-size:1.8rem;color:#fff}.guest-preset-hero h1{font-size:1.6rem;font-weight:700;color:var(--text-primary-color);margin-bottom:.75rem}.guest-preset-hero p{color:var(--text-muted-color);font-size:.92rem;line-height:1.7;margin-bottom:1.5rem}.guest-login-cta{background:var(--primary-color);border:none;color:#fff;font-size:.88rem;font-weight:600;padding:.6rem 1.5rem;border-radius:8px;cursor:pointer;transition:opacity .2s;display:inline-flex;align-items:center;gap:.5rem}.guest-login-cta:hover{opacity:.85}.guest-preset-section-label{font-size:.78rem;font-weight:600;color:var(--text-muted-color);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem;padding:0 .25rem}.guest-preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.guest-preset-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:14px;padding:1.25rem;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .15s;display:flex;flex-direction:column;gap:.9rem}.guest-preset-card:hover{border-color:var(--primary-color);box-shadow:0 4px 20px #357ce626;transform:translateY(-2px)}.guest-preset-card-header{display:flex;align-items:flex-start;gap:.85rem}.guest-preset-card-icon{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,#357ce62e,#357ce60f);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--primary-color);flex-shrink:0}.guest-preset-card-header h3{font-size:.95rem;font-weight:700;color:var(--text-primary-color);margin:0 0 .25rem}.guest-preset-card-header p{font-size:.78rem;color:var(--text-muted-color);margin:0;line-height:1.5}.guest-preset-widget-tags{display:flex;flex-wrap:wrap;gap:.35rem}.guest-preset-widget-tag{font-size:.72rem;color:var(--text-muted-color);background:var(--background-color);border:1px solid var(--border-color);border-radius:5px;padding:.2rem .5rem;display:inline-flex;align-items:center;gap:.3rem}.guest-preset-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.5rem;border-top:1px solid var(--border-color)}.guest-preset-card-footer>span{font-size:.75rem;color:var(--text-muted-color)}.guest-preset-select-btn{background:none;border:1px solid var(--primary-color);color:var(--primary-color);font-size:.78rem;font-weight:600;padding:.3rem .85rem;border-radius:6px;cursor:pointer;transition:background .2s,color .2s;display:flex;align-items:center;gap:.35rem}.guest-preset-select-btn:hover{background:var(--primary-color);color:#fff}@media(max-width:768px){.guest-banner{flex-direction:column;align-items:flex-start}.guest-preset-hero h1{font-size:1.25rem}.guest-preset-grid{grid-template-columns:1fr}}.feedback-page{padding:2rem;max-width:860px;margin:0 auto}.feedback-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:2rem}.feedback-title{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin:0 0 .35rem;display:flex;align-items:center;gap:.5rem}.feedback-subtitle{font-size:.875rem;color:var(--text-secondary);margin:0}.feedback-write-btn{flex-shrink:0;background:var(--primary-color);color:#fff;border:none;border-radius:8px;padding:.55rem 1.1rem;font-size:.875rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:background .2s}.feedback-write-btn:hover{background:var(--primary-hover, #3a6fd8)}.feedback-list{display:flex;flex-direction:column;gap:1rem}.feedback-card{background:var(--surface-color, #1e1e2e);border:1px solid var(--border-color, #2a2a3e);border-radius:10px;padding:1.1rem 1.25rem;transition:border-color .15s}.feedback-card-clickable{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.feedback-card-clickable:hover{border-color:var(--accent-color, #00f5c9)}.feedback-card-header{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.55rem}.feedback-category{font-size:.72rem;font-weight:700;padding:.2rem .55rem;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.feedback-category-bug{background:#ef44442e;color:#f87171}.feedback-category-improvement{background:#3b82f62e;color:#60a5fa}.feedback-category-badge,.feedback-platform-badge{font-size:.72rem;font-weight:600;padding:.18rem .5rem;border-radius:4px;display:inline-flex;align-items:center;gap:.3rem}.feedback-edit-hint{margin-left:auto;color:var(--text-muted-color);font-size:.75rem;opacity:.5}.feedback-card-clickable:hover .feedback-edit-hint{opacity:1;color:var(--accent-color)}.feedback-status{font-size:.72rem;font-weight:600;padding:.2rem .55rem;border-radius:4px}.status-open{background:#eab30826;color:#fbbf24}.status-in-progress{background:#8b5cf626;color:#a78bfa}.status-resolved{background:#22c55e26;color:#4ade80}.feedback-author{font-size:.78rem;color:var(--text-secondary);margin-left:auto}.feedback-date{font-size:.78rem;color:var(--text-secondary)}.feedback-card-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.4rem}.feedback-card-content{font-size:.875rem;color:var(--text-secondary);line-height:1.6;white-space:pre-wrap}.feedback-admin-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--border-color, #2a2a3e)}.feedback-admin-label{font-size:.78rem;color:var(--text-secondary);margin-right:.25rem}.feedback-admin-status-bar{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding:.75rem 1.4rem;border-top:1px solid var(--border-color, #2a2a3e);background:#ffffff05}.feedback-admin-status-label{font-size:.78rem;color:var(--text-secondary);margin-right:.2rem;flex-shrink:0}.feedback-chip-row{display:flex;gap:.5rem;flex-wrap:wrap}.feedback-chip{padding:.4rem .85rem;border-radius:20px;border:1px solid var(--border-color, #2a2a3e);background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:all .15s}.feedback-chip:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.feedback-chip:disabled{opacity:.6;cursor:default}.feedback-status-btn{font-size:.75rem;padding:.25rem .65rem;border-radius:5px;border:1px solid var(--border-color, #2a2a3e);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.feedback-status-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.feedback-status-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.feedback-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:200px;color:var(--text-secondary);font-size:.9rem}.feedback-empty i{font-size:2.5rem;opacity:.35}.feedback-modal-overlay{position:fixed;inset:0;background:#0009;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1rem}.feedback-modal{background:var(--bg-secondary, #161625);border:1px solid var(--border-color, #2a2a3e);border-radius:12px;width:100%;max-width:520px;display:flex;flex-direction:column;gap:0;animation:slideUp .2s ease}.feedback-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem;border-bottom:1px solid var(--border-color, #2a2a3e)}.feedback-modal-header h2{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin:0}.feedback-modal-close{background:none;border:none;color:var(--text-secondary);font-size:1.1rem;cursor:pointer;padding:.2rem;line-height:1;transition:color .15s}.feedback-modal-close:hover{color:var(--text-primary)}.feedback-modal-body{padding:1.25rem 1.4rem;display:flex;flex-direction:column;gap:1.1rem}.feedback-field{display:flex;flex-direction:column;gap:.45rem}.feedback-field label{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.feedback-category-select{display:flex;gap:.5rem}.feedback-cat-btn{flex:1;padding:.55rem;border-radius:7px;border:1px solid var(--border-color, #2a2a3e);background:transparent;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:.4rem}.feedback-cat-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.feedback-cat-btn.selected{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.feedback-input{background:var(--input-bg, #1a1a2e);border:1px solid var(--border-color, #2a2a3e);border-radius:7px;padding:.6rem .85rem;color:var(--text-primary);font-size:.9rem;outline:none;transition:border-color .15s}.feedback-input:focus{border-color:var(--primary-color)}.feedback-textarea{background:var(--input-bg, #1a1a2e);border:1px solid var(--border-color, #2a2a3e);border-radius:7px;padding:.6rem .85rem;color:var(--text-primary);font-size:.9rem;outline:none;resize:vertical;font-family:inherit;transition:border-color .15s}.feedback-textarea:focus{border-color:var(--primary-color)}.feedback-modal-footer{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem 1.4rem;border-top:1px solid var(--border-color, #2a2a3e)}.feedback-cancel-btn{background:transparent;border:1px solid var(--border-color, #2a2a3e);border-radius:7px;color:var(--text-secondary);padding:.5rem 1rem;font-size:.875rem;cursor:pointer;transition:all .15s}.feedback-cancel-btn:hover{border-color:var(--text-primary);color:var(--text-primary)}.feedback-submit-btn{background:var(--primary-color);border:none;border-radius:7px;color:#fff;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s;min-width:80px}.feedback-submit-btn:hover:not(:disabled){background:var(--primary-hover, #3a6fd8)}.feedback-submit-btn:disabled{opacity:.5;cursor:not-allowed}.feedback-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--primary-color);color:#fff;padding:.75rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:500;z-index:1200;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 20px #0006;animation:slideUp .25s ease;white-space:nowrap;max-width:90vw;text-align:center}@media(max-width:768px){.feedback-page{padding:1rem}.feedback-header{flex-direction:column}.feedback-write-btn{width:100%;justify-content:center;min-height:44px}.feedback-card{padding:.9rem 1rem}.feedback-toast{bottom:auto;top:1rem;font-size:.82rem;padding:.65rem 1.1rem}.feedback-chip{min-height:40px}.feedback-status-btn{min-height:36px}}@media(max-width:600px){.feedback-modal-overlay{align-items:flex-end;padding:0}.feedback-modal{border-radius:16px 16px 0 0;max-height:90dvh;overflow-y:auto;overscroll-behavior:contain}.feedback-modal-body{padding:1rem}.feedback-admin-status-bar{padding:.75rem 1rem}.feedback-modal-footer{flex-direction:column-reverse;gap:.5rem;padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}.feedback-modal-footer button{width:100%;justify-content:center}.feedback-thumb-wrap{width:72px;height:72px}.feedback-thumb-remove{width:26px;height:26px;font-size:.75rem}.feedback-attach-btn{width:100%;justify-content:center;min-height:44px;padding:.65rem 1rem}.feedback-thumb:hover{opacity:1}.feedback-card-thumb{width:56px;height:56px}.feedback-card-thumb:hover{opacity:1;transform:none}.feedback-lightbox img{max-width:100vw;max-height:calc(100dvh - 5rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:4px}.feedback-lightbox-close{width:44px;height:44px;font-size:1.1rem;top:max(1rem,env(safe-area-inset-top,0px));right:max(1rem,env(safe-area-inset-right,0px))}}.upgrade-modal-overlay{position:fixed;inset:0;background:#000000a6;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem}.upgrade-modal{background:var(--bg-secondary, #161625);border:1px solid var(--border-color, #2a2a3e);border-radius:14px;width:100%;max-width:780px;max-height:90vh;overflow-y:auto;animation:slideUp .22s ease}.upgrade-modal-header{text-align:center;padding:2rem 1.5rem 1.25rem;position:relative}.upgrade-modal-icon{font-size:2rem;color:#f59e0b;margin-bottom:.6rem}.upgrade-modal-header h2{font-size:1.3rem;font-weight:700;color:var(--text-primary);margin:0 0 .4rem}.upgrade-modal-header p{font-size:.875rem;color:var(--text-secondary);margin:0}.upgrade-modal-close{position:absolute;top:1.1rem;right:1.1rem;background:none;border:none;color:var(--text-secondary);font-size:1.1rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .15s}.upgrade-modal-close:hover{color:var(--text-primary)}.upgrade-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:0 1.5rem 1.5rem}.upgrade-plan-card{background:var(--surface-color, #1e1e2e);border:1px solid var(--border-color, #2a2a3e);border-radius:10px;padding:1.25rem;display:flex;flex-direction:column;gap:.85rem;transition:border-color .2s}.upgrade-plan-card.highlight{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}.upgrade-plan-card.current{opacity:.65}.plan-card-header{display:flex;flex-direction:column;gap:.3rem}.plan-name{font-size:.9rem;font-weight:700;color:var(--text-primary)}.plan-current-badge{font-size:.7rem;font-weight:600;background:#6366f133;color:#818cf8;padding:.15rem .5rem;border-radius:4px;align-self:flex-start}.plan-price{margin-top:.25rem}.plan-amount{font-size:1.35rem;font-weight:800;color:var(--text-primary)}.plan-period{font-size:.8rem;color:var(--text-secondary);margin-left:2px}.plan-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.45rem;flex:1}.plan-features li{font-size:.8rem;color:var(--text-secondary);display:flex;align-items:center;gap:.4rem}.plan-features li i.fa-check{color:#4ade80;font-size:.7rem}.plan-features li.feature-no{opacity:.45}.plan-features li.feature-no i.fa-times{color:#f87171;font-size:.7rem}.plan-upgrade-btn{width:100%;padding:.55rem;border-radius:7px;border:1px solid var(--primary-color);background:transparent;color:var(--primary-color);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:auto}.plan-upgrade-btn:hover{background:var(--primary-color);color:#fff}.plan-upgrade-btn.pro{border-color:#f59e0b;color:#f59e0b}.plan-upgrade-btn.pro:hover{background:#f59e0b;color:#000}.upgrade-modal-notice{text-align:center;font-size:.78rem;color:var(--text-secondary);padding:0 1.5rem 1.5rem;margin:0;display:flex;align-items:center;justify-content:center;gap:.4rem}.sub-current-plan{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-secondary, #161625);border-radius:8px;margin-bottom:1rem}.sub-plan-badge{font-size:.85rem;font-weight:700;padding:.4rem .9rem;border-radius:6px;flex-shrink:0}.sub-plan-free{background:#94a3b826;color:#94a3b8}.sub-plan-standard{background:#6366f133;color:#818cf8}.sub-plan-pro{background:#f59e0b33;color:#fbbf24}.sub-plan-label{font-size:.875rem;color:var(--text-primary);font-weight:500}.sub-plan-expires{font-size:.78rem;color:var(--text-secondary);display:block;margin-top:.2rem}.sub-limits{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1.25rem}.sub-limit-item{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;background:var(--surface-color, #1e1e2e);border:1px solid var(--border-color, #2a2a3e);border-radius:7px;font-size:.82rem;color:var(--text-secondary)}.sub-limit-item i{color:var(--primary-color);width:14px;text-align:center}.sub-limit-val{margin-left:auto;font-weight:600;color:var(--text-primary);font-size:.8rem}.sub-upgrade-btn{width:100%;padding:.7rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:background .2s}.sub-upgrade-btn:hover{background:var(--primary-hover, #3a6fd8)}@media(max-width:768px){.upgrade-plans,.sub-limits{grid-template-columns:1fr}}.db-new-btn--top{border-top:none!important;border-bottom:1px solid var(--border-color, #2a2a3e)}.sidebar-dashboards{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--border-color, #2a2a3e);padding:.5rem 0 0;flex-shrink:0}.sidebar-dashboards-header{display:flex;align-items:center;justify-content:space-between;padding:.3rem .85rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);opacity:.6}.db-list{padding:.2rem 0}.db-item{position:relative;display:flex;align-items:center;gap:0;margin:1px .5rem;border-radius:6px;transition:background .12s}.db-item:hover{background:var(--hover-bg, rgba(255,255,255,.05))}.db-item.active{background:var(--active-bg, rgba(99,102,241,.15))}.db-item.dragging{box-shadow:0 4px 16px #00000059;border:1px solid var(--primary-color);z-index:100}.db-drag-handle{color:var(--text-secondary);cursor:grab;padding:.45rem .3rem .45rem .5rem;font-size:.7rem;flex-shrink:0;line-height:1;touch-action:none;opacity:0;transition:opacity .12s}@media(hover:hover){.db-item:hover .db-drag-handle{opacity:.4}.db-item:hover .db-drag-handle:hover{opacity:.8}}@media(hover:none){.db-drag-handle{opacity:.3}}.db-item-btn{flex:1;display:flex;align-items:center;gap:.55rem;background:none;border:none;color:var(--text-secondary);font-size:.85rem;padding:.45rem .5rem;cursor:pointer;text-align:left;min-width:0;transition:color .12s}.db-item.active .db-item-btn{color:var(--text-primary);font-weight:500}.db-item-btn:hover{color:var(--text-primary)}.db-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.db-item-actions{display:flex;align-items:center;gap:0;transition:opacity .12s;flex-shrink:0;opacity:0}@media(hover:hover){.db-item:hover .db-item-actions{opacity:1}}@media(hover:none){.db-item-actions{opacity:1}}.db-fav-btn,.db-more-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.3rem .35rem;font-size:.72rem;line-height:1;border-radius:4px;transition:color .12s,background .12s}.db-fav-btn:hover,.db-more-btn:hover{color:var(--text-primary);background:#ffffff12}.db-fav-btn.active{color:#f59e0b;opacity:1}.db-item .db-item-actions .db-fav-btn.active{opacity:1!important}.db-edit-input{flex:1;background:var(--input-bg, #1a1a2e);border:1px solid var(--primary-color);border-radius:5px;color:var(--text-primary);font-size:.85rem;padding:.3rem .5rem;margin:.2rem .5rem .2rem .3rem;outline:none;width:100%}.db-context-menu{position:absolute;right:.4rem;top:calc(100% + 2px);background:var(--bg-secondary, #161625);border:1px solid var(--border-color, #2a2a3e);border-radius:8px;box-shadow:0 8px 24px #00000080;z-index:200;min-width:150px;overflow:hidden}.db-context-menu button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem .85rem;background:none;border:none;color:var(--text-secondary);font-size:.82rem;cursor:pointer;text-align:left;transition:background .12s,color .12s}.db-context-menu button:hover{background:#ffffff0f;color:var(--text-primary)}.db-context-menu button.danger{color:#f87171}.db-context-menu button.danger:hover{background:#ef44441f}.db-divider{height:1px;background:var(--border-color, #2a2a3e);margin:.3rem .85rem;opacity:.5}.db-empty{font-size:.78rem;color:var(--text-secondary);opacity:.5;text-align:center;padding:.6rem 0}.db-new-btn{display:flex;align-items:center;gap:0;background:none;border:none;border-top:1px solid var(--border-color, #2a2a3e);color:var(--text-color);font-size:inherit;padding:12px 10px 12px 22px;cursor:pointer;width:100%;text-align:left;transition:color .15s,background .15s;flex-shrink:0;border-radius:0}.db-new-btn:hover{color:#fff;background:var(--border-color)}.db-new-btn i{width:20px;text-align:center;margin-right:12px;color:var(--text-muted-color);transition:color .2s ease;font-size:inherit}.db-new-btn:hover i{color:var(--primary-color)}.sidebar-collapsed .db-drag-handle,.sidebar-collapsed .db-item-actions,.sidebar-collapsed .db-context-menu{display:none}.sidebar-collapsed .db-item-btn{justify-content:center;padding:.45rem}.sidebar-collapsed .sidebar-dashboards{max-height:none}.sidebar-collapsed .sidebar-dashboards-header{display:none}.sidebar-collapsed .db-new-btn{justify-content:center;padding:12px}.sidebar-collapsed .db-divider{margin:.3rem .4rem}.ndm-overlay{position:fixed;inset:0;background:#000000a6;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1rem}.ndm-modal{background:var(--bg-secondary, #161625);border:1px solid var(--border-color, #2a2a3e);border-radius:14px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease}.ndm-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem;border-bottom:1px solid var(--border-color, #2a2a3e)}.ndm-header h2{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0}.ndm-close{background:none;border:none;color:var(--text-secondary);font-size:1rem;cursor:pointer;padding:.2rem;transition:color .15s}.ndm-close:hover{color:var(--text-primary)}.ndm-body{padding:1.25rem 1.4rem;display:flex;flex-direction:column;gap:1.1rem}.ndm-field{display:flex;flex-direction:column;gap:.45rem}.ndm-field label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.ndm-input{background:var(--input-bg, #1a1a2e);border:1px solid var(--border-color, #2a2a3e);border-radius:7px;padding:.6rem .85rem;color:var(--text-primary);font-size:.9rem;outline:none;transition:border-color .15s}.ndm-input:focus{border-color:var(--primary-color)}.ndm-icon-picker{display:flex;gap:.4rem;flex-wrap:wrap}.ndm-icon-btn{width:34px;height:34px;border-radius:6px;border:1px solid var(--border-color, #2a2a3e);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.875rem;transition:all .12s;display:flex;align-items:center;justify-content:center}.ndm-icon-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.ndm-icon-btn.selected{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.ndm-mode-btns{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.ndm-mode-btn{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.85rem .6rem;border-radius:8px;border:1px solid var(--border-color, #2a2a3e);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.ndm-mode-btn i{font-size:1.2rem}.ndm-mode-btn span{font-size:.82rem;font-weight:600;color:var(--text-primary)}.ndm-mode-btn small{font-size:.72rem;color:var(--text-secondary)}.ndm-mode-btn:hover{border-color:var(--primary-color)}.ndm-mode-btn.selected{border-color:var(--primary-color);background:#6366f11f}.ndm-preset-list{display:flex;flex-direction:column;gap:.5rem}.ndm-preset-card{display:flex;align-items:center;gap:.85rem;padding:.75rem .9rem;border-radius:8px;border:1px solid var(--border-color, #2a2a3e);background:transparent;cursor:pointer;text-align:left;transition:all .15s;width:100%}.ndm-preset-card:hover{border-color:var(--primary-color);background:#6366f10f}.ndm-preset-card.selected{border-color:var(--primary-color);background:#6366f11f}.ndm-preset-icon{width:36px;height:36px;border-radius:8px;background:#6366f126;color:var(--primary-color);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.ndm-preset-info{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.ndm-preset-name{font-size:.875rem;font-weight:600;color:var(--text-primary)}.ndm-preset-desc{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ndm-preset-check{color:var(--primary-color);font-size:1rem;flex-shrink:0}.ndm-footer{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem 1.4rem;border-top:1px solid var(--border-color, #2a2a3e)}.ndm-cancel-btn{background:transparent;border:1px solid var(--border-color, #2a2a3e);border-radius:7px;color:var(--text-secondary);padding:.5rem 1rem;font-size:.875rem;cursor:pointer;transition:all .15s}.ndm-cancel-btn:hover{border-color:var(--text-primary);color:var(--text-primary)}.ndm-confirm-btn{background:var(--primary-color);border:none;border-radius:7px;color:#fff;padding:.5rem 1.1rem;font-size:.875rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:background .2s}.ndm-confirm-btn:hover:not(:disabled){background:var(--primary-hover, #3a6fd8)}.ndm-confirm-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width:768px){.ndm-mode-btns{grid-template-columns:1fr}}.maint-overlay{position:fixed;inset:0;z-index:9000;background:var(--bg-primary, #0d0d1a);display:flex;align-items:center;justify-content:center;pointer-events:all}.maint-box{display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:480px;padding:3rem 2rem;text-align:center}.maint-icon{width:80px;height:80px;border-radius:50%;background:#6366f11f;border:2px solid rgba(99,102,241,.3);display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--primary-color, #6366f1);margin-bottom:.5rem;animation:maint-pulse 2.5s ease-in-out infinite}@keyframes maint-pulse{0%,to{box-shadow:0 0 #6366f14d}50%{box-shadow:0 0 0 16px #6366f100}}.maint-title{font-size:1.8rem;font-weight:800;color:var(--text-primary, #fff);margin:0}.maint-desc{font-size:.95rem;color:var(--text-secondary, #9ca3af);line-height:1.7;margin:0}.maint-coming{font-size:.85rem;font-weight:700;letter-spacing:.15em;color:var(--primary-color, #6366f1);opacity:.7;margin:0}.maint-admin-btn{margin-top:1.5rem;background:none;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:var(--text-secondary, #9ca3af);font-size:.82rem;padding:.55rem 1.1rem;cursor:pointer;transition:all .15s}.maint-admin-btn:hover{border-color:var(--primary-color, #6366f1);color:var(--primary-color, #6366f1);background:#6366f114}.aisig{display:flex;flex-direction:column;height:100%;overflow:hidden}.aisig-presets{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px 8px;border-bottom:1px solid var(--border-color);flex-shrink:0}.aisig-preset-btn{padding:4px 10px;border-radius:20px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s;display:flex;align-items:center;gap:5px}.aisig-preset-btn:hover{background:var(--primary-color, #6366f1);border-color:var(--primary-color, #6366f1);color:#fff}.aisig-preset-btn--reset{margin-left:auto;color:var(--text-muted)}.aisig-preset-btn--reset:hover{background:var(--bg-tertiary, #2a2d3a);border-color:var(--border-color);color:var(--text-primary)}.aisig-checklist{flex:1;overflow-y:auto;padding:6px 12px;display:flex;flex-direction:column;gap:10px;max-height:320px}@media(max-width:768px){.aisig-checklist{max-height:220px}}.aisig-cat-label{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;padding-bottom:2px;border-bottom:1px solid var(--border-color)}.aisig-item{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer;font-size:.8rem;color:var(--text-secondary);transition:color .12s}.aisig-item:hover{color:var(--text-primary)}.aisig-checkbox{width:14px;height:14px;accent-color:var(--primary-color, #6366f1);cursor:pointer;flex-shrink:0}.aisig-footer{padding:10px 12px;border-top:1px solid var(--border-color);flex-shrink:0;display:flex;flex-direction:column;gap:6px}.aisig-analyze-btn{width:100%;padding:9px 16px;border-radius:8px;border:none;background:var(--primary-color, #6366f1);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .15s,transform .1s}.aisig-analyze-btn:hover:not(:disabled){opacity:.88}.aisig-analyze-btn:active:not(:disabled){transform:scale(.98)}.aisig-analyze-btn:disabled{opacity:.35;cursor:not-allowed}.aisig-result-header{display:flex;align-items:center;gap:10px;padding:10px 12px 8px;border-bottom:1px solid var(--border-color);flex-shrink:0}.aisig-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 14px;border-radius:20px;font-size:.8rem;font-weight:700;border:1.5px solid currentColor;letter-spacing:.03em}.aisig-badge--on{color:#22c55e;background:#22c55e1a}.aisig-badge--off{color:#ef4444;background:#ef44441a}.aisig-badge--neutral{color:var(--text-secondary);background:var(--bg-secondary)}.aisig-badge--loading{color:var(--text-muted);background:var(--bg-secondary);border-color:var(--border-color)}.aisig-retry-btn{margin-left:auto;padding:4px 10px;border-radius:6px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:.75rem;cursor:pointer;display:flex;align-items:center;gap:5px;transition:background .12s}.aisig-retry-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.aisig-header-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.aisig-cache-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:10px;font-size:.7rem;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border-color);cursor:default}.aisig-text{flex:1;overflow-y:auto;padding:10px 14px;font-size:.82rem;line-height:1.6;color:var(--text-secondary)}.aisig-md h2{font-size:.82rem;font-weight:700;color:var(--text-primary);margin:12px 0 4px;padding-bottom:3px;border-bottom:1px solid var(--border-color)}.aisig-md h3{font-size:.8rem;font-weight:600;color:var(--text-primary);margin:8px 0 3px}.aisig-md p{margin:3px 0;color:var(--text-secondary)}.aisig-md strong{font-weight:700;color:var(--text-primary)}.aisig-md ul,.aisig-md ol{margin:4px 0 4px 16px;padding:0}.aisig-md li{margin:2px 0;color:var(--text-secondary);line-height:1.5}.aisig-md li strong{color:var(--text-primary)}.aisig-md blockquote{border-left:3px solid var(--border-color);margin:4px 0;padding:2px 8px;color:var(--text-muted);font-style:italic}.aisig-md hr{border:none;border-top:1px solid var(--border-color);margin:8px 0}.aisig-error{font-size:.78rem;color:#ef4444;padding:0 12px 8px;margin:0}@media(max-width:768px){.db-fav-btn,.db-more-btn{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;padding:.5rem}.db-item-btn{min-height:44px;padding:.55rem .5rem}.db-new-btn{min-height:44px}.widget-action-btn{min-height:36px;min-width:36px}.aisig-item{padding:8px 0;min-height:44px}.aisig-checkbox{width:18px;height:18px}.aisig-preset-btn{padding:6px 12px;min-height:36px}.aisig-analyze-btn{padding:12px 16px;font-size:.9rem}.aiw-input{font-size:16px}.settings-modal-content{padding:1.5rem}}@media(max-width:480px){.settings-modal-content{padding:1rem}.aisig-presets{display:grid;grid-template-columns:1fr 1fr;gap:5px}.aisig-preset-btn{font-size:.75rem;padding:8px 10px;justify-content:center;min-height:36px}.aisig-preset-btn--reset{grid-column:1 / -1;margin-left:0}}@media(max-width:768px){.chat-toggle-btn span{display:none}}@media(max-width:768px){.widget-picker-modal{max-height:92dvh;border-radius:16px 16px 0 0;margin-top:auto}.widget-picker-header{position:sticky;top:0;z-index:1;background:var(--card-bg);border-bottom:1px solid var(--border-color)}}@media(max-width:360px){body{font-size:14px}.settings-modal-content{padding:.75rem}.aisig-preset-btn{font-size:.73rem;padding:7px 8px}.feedback-modal{padding:.75rem}.onboarding-container{padding:1rem .75rem;align-items:flex-start}.admin-panel-content,.admin-section{padding:.75rem}}@media(max-width:768px){.risk-badge{font-size:.8rem;padding:3px 8px}.portfolio-risk-badge{font-size:.72rem;padding:.18rem .55rem}}.admin-panel{padding:2rem;max-width:960px;margin:0 auto}.admin-title{font-size:1.35rem;font-weight:700;margin-bottom:1.75rem;display:flex;align-items:center;gap:.6rem;color:var(--text-color)}.admin-title i{color:#6366f1}.admin-service-card{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.5rem;border-radius:12px;margin-bottom:2rem;flex-wrap:wrap}.admin-service-card.online{background:#10b98114;border:1px solid rgba(16,185,129,.27)}.admin-service-card.offline{background:#ef444414;border:1px solid rgba(239,68,68,.27)}.admin-service-info{flex:1;min-width:0}.admin-service-status{font-size:.95rem;font-weight:700;margin-bottom:4px;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.status-online{color:#10b981}.status-offline{color:#ef4444}.admin-service-meta{font-size:.75rem;color:#6b7280}.admin-service-warn{font-size:.75rem;color:#f59e0b;margin-top:4px}.admin-service-btn{padding:.6rem 1.4rem;border-radius:8px;border:none;font-weight:700;font-size:.875rem;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:opacity .15s}.admin-service-btn:disabled{opacity:.6;cursor:not-allowed}.admin-service-btn.to-offline{background:#ef4444;color:#fff}.admin-service-btn.to-online{background:#10b981;color:#fff}.admin-section-title{font-size:1rem;font-weight:700;margin-bottom:.875rem;color:var(--text-color)}.admin-loading{color:#9ca3af}.admin-error{color:#ef4444}.admin-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:600}.admin-action-group{display:flex;flex-wrap:wrap;gap:6px}.admin-action-btn{padding:4px 12px;border-radius:6px;border:none;font-weight:600;font-size:.8rem;cursor:pointer;color:#fff;transition:opacity .15s}.admin-action-btn:disabled{opacity:.5;cursor:not-allowed}.admin-action-btn.approve{background:#10b981}.admin-action-btn.reject{background:#ef4444}.admin-action-btn.promote{background:#6366f1}.admin-action-btn.demote{background:#6b7280}.admin-superadmin-label{font-size:.75rem;font-weight:600;color:#f59e0b}.admin-action-btn.edit{background:#374151;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center}.admin-action-btn.edit:hover{background:#4b5563}.admin-tr-clickable{cursor:pointer}.admin-tr-clickable:hover td{background:#00f5c90a}.admin-card-clickable{cursor:pointer}.admin-card-clickable:hover{border-color:var(--accent-color)}.admin-edit-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.admin-edit-modal{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;width:100%;max-width:440px;overflow:hidden}.admin-edit-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.25rem 0;gap:.75rem}.admin-edit-modal-title{display:flex;flex-direction:column;gap:.2rem;min-width:0}.admin-edit-modal-name{font-size:1rem;font-weight:600;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-edit-modal-email{font-size:.8rem;color:var(--text-muted-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-edit-modal-close{background:none;border:none;color:var(--text-muted-color);font-size:1rem;cursor:pointer;padding:.2rem;flex-shrink:0;line-height:1}.admin-edit-modal-close:hover{color:var(--text-color)}.admin-edit-tabs{display:flex;border-bottom:1px solid var(--border-color);margin-top:1rem;padding:0 1.25rem}.admin-edit-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted-color);font-size:.85rem;font-weight:500;cursor:pointer;padding:.6rem .9rem;margin-bottom:-1px;display:flex;align-items:center;gap:.4rem;transition:color .15s,border-color .15s}.admin-edit-tab:hover{color:var(--text-color)}.admin-edit-tab.active{color:var(--accent-color);border-bottom-color:var(--accent-color)}.admin-edit-modal-body{padding:1.25rem}.admin-edit-form{display:flex;flex-direction:column;gap:.5rem}.admin-edit-label{font-size:.78rem;color:var(--text-muted-color);font-weight:500;margin-top:.4rem}.admin-edit-input{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);font-size:.9rem;padding:.55rem .75rem;width:100%;box-sizing:border-box;transition:border-color .15s}.admin-edit-input:focus{outline:none;border-color:var(--accent-color)}.admin-edit-error{font-size:.8rem;color:#ef4444;margin:.2rem 0}.admin-edit-success{font-size:.8rem;color:#10b981;margin:.2rem 0}.admin-edit-save-btn{margin-top:.75rem;background:var(--accent-color);color:#000;border:none;border-radius:8px;font-size:.9rem;font-weight:600;padding:.65rem 1rem;cursor:pointer;transition:opacity .15s}.admin-edit-save-btn:hover:not(:disabled){opacity:.85}.admin-edit-save-btn:disabled{opacity:.5;cursor:not-allowed}.admin-edit-ban-banner{background:#dc26261a;border-top:1px solid rgba(220,38,38,.3);color:#fca5a5;font-size:.8rem;padding:.6rem 1.25rem;display:flex;align-items:center;gap:.5rem}.admin-edit-danger-zone{border-top:1px solid var(--border-color);padding:.9rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.admin-edit-danger-label{font-size:.75rem;font-weight:600;color:#dc2626;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0}.admin-edit-ban-btn{border:none;border-radius:7px;font-size:.82rem;font-weight:600;padding:.45rem .9rem;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:opacity .15s}.admin-edit-ban-btn.ban{background:#dc2626;color:#fff}.admin-edit-ban-btn.unban{background:#10b981;color:#fff}.admin-edit-ban-btn:hover:not(:disabled){opacity:.8}.admin-edit-ban-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:480px){.admin-edit-overlay{align-items:flex-end;padding:0}.admin-edit-modal{border-radius:14px 14px 0 0}}.admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table th{padding:10px 12px;text-align:left;border-bottom:2px solid var(--border-color);font-weight:600;white-space:nowrap;color:var(--text-muted-color)}.admin-table td{padding:10px 12px;border-bottom:1px solid var(--border-color);vertical-align:middle}.admin-td-name{font-weight:500}.admin-td-email{color:#6b7280}.admin-td-date{color:#9ca3af;font-size:.78rem;white-space:nowrap}.admin-card-list{display:none;flex-direction:column;gap:.75rem}.admin-user-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;padding:1rem}.admin-user-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.admin-user-name{display:block;font-weight:600;font-size:.95rem;margin-bottom:2px}.admin-user-email{display:block;font-size:.8rem;color:#6b7280;word-break:break-all}.admin-user-badges{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.admin-user-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.admin-user-date{font-size:.75rem;color:#9ca3af;white-space:nowrap}@media(max-width:768px){.admin-panel{padding:1.25rem 1rem}.admin-service-card{padding:1rem;gap:.75rem}.admin-service-btn{width:100%;text-align:center}.admin-table-wrap{display:none}.admin-card-list{display:flex}.admin-action-btn{padding:6px 14px;font-size:.82rem;min-height:36px}}.learning-stats-bar{display:flex;align-items:center;gap:1.2rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:.75rem 1.25rem;flex-wrap:wrap}.stats-bar-level{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.stats-level-badge{background:var(--primary-color);color:#fff;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px}.stats-level-name{font-size:.82rem;font-weight:600;color:var(--text-primary)}.stats-bar-sp{flex:1;min-width:160px}.stats-sp-row{display:flex;align-items:center;gap:.5rem;margin-bottom:4px}.stats-sp-value{font-size:.82rem;font-weight:700;color:var(--primary-color)}.stats-sp-next{font-size:.72rem;color:var(--text-secondary)}.stats-sp-bar{height:5px;background:var(--border-color);border-radius:3px;overflow:hidden}.stats-sp-fill{height:100%;background:var(--primary-color);border-radius:3px;transition:width .5s ease}.stats-bar-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.stats-streak{font-size:.82rem;font-weight:700;color:#f59e0b}.stats-nodes{font-size:.75rem;color:var(--text-secondary)}.sp-toast{position:fixed;top:72px;left:50%;transform:translate(-50%);background:var(--primary-color);color:#fff;padding:.5rem 1.25rem;border-radius:999px;font-size:.9rem;font-weight:700;z-index:9999;box-shadow:0 4px 16px #357ce666;animation:toast-in .3s ease,toast-out .4s ease 2.1s forwards;pointer-events:none}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(-12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toast-out{0%{opacity:1}to{opacity:0}}.learning-item-card.node-completed{border-color:#26a69a55;position:relative}.node-check{position:absolute;top:8px;right:10px;color:#26a69a;font-size:.85rem;font-weight:700}.tag.sp-tag{background:#357ce61f;color:var(--primary-color);border:1px solid rgba(53,124,230,.3)}.tree-item-done .tree-item-title{color:#26a69a}.tree-item-check{margin-left:auto;color:#26a69a;font-size:.75rem;font-weight:700}.tree-done-count{margin-left:auto;font-size:.72rem;color:#26a69a;font-weight:600}.modal-footer{padding:1rem 1.25rem;border-top:1px solid var(--border-color);display:flex;justify-content:center}.modal-complete-btn{width:100%;background:var(--primary-color);color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.92rem;font-weight:700;cursor:pointer;transition:opacity .2s}.modal-complete-btn:hover:not(:disabled){opacity:.88}.modal-complete-btn:disabled{opacity:.5;cursor:not-allowed}.modal-completed-badge{display:flex;align-items:center;gap:.4rem;color:#26a69a;font-size:.9rem;font-weight:700;padding:.5rem 0}.modal-completed-badge i{font-size:1.1rem}@media(max-width:768px){.learning-stats-bar{gap:.75rem;padding:.6rem 1rem}.stats-sp-next{display:none}}@media(max-width:480px){.admin-panel{padding:1rem .75rem}.admin-user-card-header{flex-direction:column;gap:.5rem}.admin-user-badges{flex-direction:row;align-items:center}}.modal-news-loading{font-size:.82rem;color:var(--text-muted);padding:.25rem 0}.modal-news-list{display:flex;flex-direction:column;gap:.5rem}.modal-news-item{display:block;padding:.6rem .8rem;border-radius:8px;background:var(--card-bg, rgba(255,255,255,.04));border:1px solid var(--border-color);text-decoration:none;color:inherit;transition:border-color .15s,background .15s}.modal-news-item:hover{border-color:var(--primary-color);background:#26a69a14}.modal-news-headline{font-size:.85rem;font-weight:600;color:var(--text-primary);line-height:1.4;margin-bottom:.25rem}.modal-news-meta{display:flex;gap:.75rem;font-size:.75rem;color:var(--text-muted)}.news-modal-skills{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-color)}.news-modal-skills-title{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.6rem}.news-modal-skills-loading{font-size:.82rem;color:var(--text-muted)}.news-modal-skills-list{display:flex;flex-wrap:wrap;gap:.5rem}.news-modal-skill-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:20px;background:#26a69a1a;border:1px solid rgba(38,166,154,.3);color:var(--text-primary);font-size:.82rem;cursor:pointer;transition:background .15s,border-color .15s}.news-modal-skill-chip:hover{background:#26a69a33;border-color:var(--primary-color)}.chip-icon{font-size:.9rem}.chip-title{font-weight:600}.chip-level{font-size:.72rem;color:var(--text-muted);margin-left:.1rem}.news-modal-skill-chip{position:relative}.chip-tooltip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--bg-secondary, #1a1d24);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;padding:.4rem .65rem;font-size:.78rem;font-weight:400;white-space:normal;max-width:220px;min-width:120px;text-align:center;box-shadow:0 4px 12px #00000059;z-index:100;pointer-events:none;line-height:1.4}.chip-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--border-color)}.news-modal-skill-chip:hover .chip-tooltip{display:block}.quiz-section{padding:1rem 1.25rem .5rem;border-top:1px solid var(--border-color)}.quiz-open-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:8px;border:1.5px solid;background:transparent;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;width:100%;justify-content:center}.quiz-open-btn:hover{opacity:.8}.quiz-count-badge{background:#ffffff1a;border-radius:10px;padding:.1rem .45rem;font-size:.75rem;font-weight:700}.quiz-body{display:flex;flex-direction:column;gap:1.1rem}.quiz-header{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:.4rem}.quiz-score{margin-left:auto;font-size:.85rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.quiz-sp-earned{color:#f0b429;font-size:.82rem}.quiz-question{background:var(--card-bg, rgba(255,255,255,.03));border:1px solid var(--border-color);border-radius:10px;padding:.9rem 1rem;transition:border-color .2s}.quiz-question.q-correct{border-color:#26a69a}.quiz-question.q-wrong{border-color:#ef5350}.quiz-q-num{font-size:.72rem;font-weight:700;color:var(--text-muted);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.06em}.quiz-q-text{font-size:.9rem;line-height:1.55;color:var(--text-primary);margin-bottom:.75rem}.quiz-options{display:flex;gap:.5rem;flex-wrap:wrap}.quiz-options-ox{gap:.75rem}.quiz-opt{background:transparent;border:1.5px solid var(--border-color);border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s;padding:0}.quiz-opt:disabled{cursor:default}.quiz-opt:not(:disabled):hover{border-color:var(--primary-color)}.ox-btn{display:flex;align-items:center;justify-content:center;width:52px;height:44px;font-size:1.2rem;font-weight:900;border-radius:7px}.ox-o{color:#26a69a}.ox-x{color:#ef5350}.quiz-options-multi .quiz-opt{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;width:100%;text-align:left;font-size:.86rem;color:var(--text-primary)}.opt-idx{min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--border-color);font-size:.72rem;font-weight:700}.quiz-opt-selected{border-color:var(--primary-color)!important;background:#26a69a1a}.quiz-opt-correct{border-color:#26a69a!important;background:#26a69a26}.quiz-opt-wrong{border-color:#ef5350!important;background:#ef53501f}.quiz-explanation{margin-top:.6rem;padding:.55rem .75rem;border-radius:7px;font-size:.82rem;line-height:1.5;display:flex;gap:.45rem;align-items:flex-start}.expl-correct{background:#26a69a1a;color:#26a69a}.expl-wrong{background:#ef53501a;color:#ef5350}.quiz-explanation i{margin-top:.15rem;flex-shrink:0}.quiz-submit-btn{width:100%;color:#fff;border:none;border-radius:8px;padding:.7rem 1rem;font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .2s}.quiz-submit-btn:hover:not(:disabled){opacity:.88}.quiz-submit-btn:disabled{opacity:.45;cursor:not-allowed}.quiz-result-summary{text-align:center;padding:.6rem 0;font-size:.9rem;color:var(--text-secondary)}.feedback-attach-hint{font-size:.78rem;color:var(--text-secondary);font-weight:400}.feedback-thumb-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.feedback-thumb-wrap{position:relative;width:80px;height:80px;border-radius:8px;overflow:hidden;border:1px solid var(--border-color);background:var(--bg-secondary)}.feedback-thumb{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;cursor:pointer;transition:opacity .15s}.feedback-thumb:hover{opacity:.85}.feedback-thumb-remove{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;background:#000000a6;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.65rem;line-height:1;padding:0;transition:background .15s}.feedback-thumb-remove:hover{background:#ef4444d9}.feedback-attach-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .85rem;border-radius:6px;border:1px dashed var(--border-color);background:transparent;color:var(--text-secondary);font-size:.82rem;cursor:pointer;transition:border-color .2s,color .2s}.feedback-attach-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.feedback-file-error{margin-top:.4rem;font-size:.78rem;color:#ef4444}.feedback-card-thumbs{display:flex;gap:.4rem;margin-top:.6rem;flex-wrap:wrap}.feedback-card-thumb{width:64px;height:64px;-o-object-fit:cover;object-fit:cover;border-radius:6px;border:1px solid var(--border-color);cursor:pointer;transition:opacity .15s,transform .15s}.feedback-card-thumb:hover{opacity:.85;transform:scale(1.04)}.feedback-lightbox{position:fixed;inset:0;z-index:9999;background:#000000e0;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.feedback-lightbox img{max-width:90vw;max-height:88vh;border-radius:8px;-o-object-fit:contain;object-fit:contain;cursor:default;box-shadow:0 8px 40px #0009}.feedback-lightbox-close{position:absolute;top:1.2rem;right:1.4rem;background:#ffffff26;color:#fff;border:none;width:36px;height:36px;border-radius:50%;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.feedback-lightbox-close:hover{background:#ffffff4d}@media(max-width:480px){.quiz-options-multi .quiz-opt{font-size:.82rem}.ox-btn{width:46px;height:40px;font-size:1.1rem}}.ai-related-skills{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}.ai-skill-hint{font-size:.78rem;color:var(--text-muted, #888);white-space:nowrap}.ai-skill-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;border:1px solid var(--accent, #4f8ef7);background:transparent;color:var(--accent, #4f8ef7);font-size:.78rem;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.ai-skill-chip:hover{background:var(--accent, #4f8ef7);color:#fff}.probability-factor-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.probability-factor-list li{display:flex;flex-direction:column;gap:4px}.admin-main-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border-color, #2a2a3a);padding-bottom:0}.admin-main-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted, #888);font-size:.88rem;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px;white-space:nowrap}.admin-main-tab:hover{color:var(--text-primary, #e0e0e0)}.admin-main-tab.active{color:var(--accent, #4f8ef7);border-bottom-color:var(--accent, #4f8ef7)}.admin-tab-content{min-height:200px}.admin-tr-flagged{background:#ef44440f!important}.admin-card-flagged{border-left:3px solid #ef4444!important}.admin-flag-icon{margin-left:4px;font-size:.8rem;cursor:help}.admin-flag-modal{background:var(--bg-card, #1e1e2e);border-radius:12px;padding:24px;width:min(420px,92vw);display:flex;flex-direction:column;gap:12px}.admin-flag-modal-title{font-size:1rem;font-weight:600}.admin-flag-modal-user{font-size:.85rem;color:var(--text-muted, #888)}.admin-flag-textarea{background:var(--bg-input, #2a2a3a);border:1px solid var(--border-color, #3a3a4a);border-radius:8px;color:var(--text-primary, #e0e0e0);padding:10px 12px;font-size:.88rem;resize:vertical;font-family:inherit}.admin-flag-modal-actions{display:flex;gap:8px;justify-content:flex-end}.admin-flag-cancel-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--border-color, #3a3a4a);background:transparent;color:var(--text-muted, #888);cursor:pointer;font-size:.88rem}.admin-flag-submit-btn{padding:8px 16px;border-radius:8px;border:none;background:#ef4444;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600}.admin-flag-submit-btn:disabled{opacity:.5;cursor:not-allowed}.admin-action-btn.flag{background:#ef44441f;color:#ef4444}.admin-action-btn.flag:hover{background:#ef444440}.admin-action-btn.unflag{background:#10b9811f;color:#10b981}.admin-action-btn.unflag:hover{background:#10b98140}.admin-flagged-list{display:flex;flex-direction:column;gap:10px}.admin-flagged-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#ef44440f;border:1px solid rgba(239,68,68,.2);border-radius:10px}.admin-flagged-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.admin-flagged-name{font-weight:600;font-size:.9rem}.admin-flagged-email{font-size:.8rem;color:var(--text-muted, #888)}.admin-flagged-reason{font-size:.82rem;color:#ef4444}.admin-flagged-date{font-size:.78rem;color:var(--text-muted, #888)}.admin-ip-section{display:flex;flex-direction:column;gap:16px}.admin-ip-add-form{display:flex;gap:8px;flex-wrap:wrap}.admin-ip-input,.admin-ip-reason-input{background:var(--bg-input, #2a2a3a);border:1px solid var(--border-color, #3a3a4a);border-radius:8px;color:var(--text-primary, #e0e0e0);padding:8px 12px;font-size:.88rem}.admin-ip-input{width:200px}.admin-ip-reason-input{flex:1;min-width:140px}.admin-ip-add-btn{padding:8px 16px;border:none;border-radius:8px;background:#ef4444;color:#fff;font-size:.88rem;font-weight:600;cursor:pointer;white-space:nowrap}.admin-ip-add-btn:disabled{opacity:.5;cursor:not-allowed}.admin-ip-list{display:flex;flex-direction:column;gap:8px}.admin-ip-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--bg-widget, #1a1a2e);border:1px solid var(--border-color, #2a2a3a);border-radius:10px}.admin-ip-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.admin-ip-addr{font-family:monospace;font-size:.95rem;font-weight:600}.admin-ip-reason{font-size:.82rem;color:var(--text-muted, #888)}.admin-ip-meta{font-size:.78rem;color:var(--text-muted, #888)}.admin-log-section{display:flex;flex-direction:column;gap:12px}.admin-log-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-log-type-btns{display:flex;gap:4px}.admin-log-type-btn{padding:6px 14px;border-radius:6px;border:1px solid var(--border-color, #3a3a4a);background:transparent;color:var(--text-muted, #888);font-size:.85rem;cursor:pointer;transition:all .15s}.admin-log-type-btn.active{background:var(--accent, #4f8ef7);color:#fff;border-color:transparent}.admin-log-type-btn.active.error{background:#ef4444}.admin-log-lines-select{background:var(--bg-input, #2a2a3a);border:1px solid var(--border-color, #3a3a4a);border-radius:6px;color:var(--text-primary, #e0e0e0);padding:6px 10px;font-size:.85rem;cursor:pointer}.admin-log-refresh-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;border:1px solid var(--border-color, #3a3a4a);background:transparent;color:var(--text-primary, #e0e0e0);font-size:.85rem;cursor:pointer}.admin-log-refresh-btn:disabled{opacity:.5}.admin-log-meta{font-size:.78rem;color:var(--text-muted, #888)}.admin-log-message{padding:8px 12px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;font-size:.85rem;color:#f59e0b}.admin-log-viewer{background:#0d1117;border:1px solid var(--border-color, #2a2a3a);border-radius:10px;padding:12px;max-height:480px;overflow-y:auto;font-family:Consolas,Monaco,monospace;font-size:.78rem;line-height:1.6}.admin-log-viewer.log-error-theme{background:#160a0a}.admin-log-line{color:#c9d1d9;white-space:pre-wrap;word-break:break-all}.admin-log-line.log-line-error{color:#f87171}.admin-log-empty{color:var(--text-muted, #888);text-align:center;padding:20px}.admin-empty{text-align:center;padding:40px 20px;color:var(--text-muted, #888);font-size:.9rem}@media(max-width:600px){.admin-main-tab span{display:none}.admin-main-tab{padding:8px 12px}.admin-ip-add-form{flex-direction:column}.admin-ip-input,.admin-ip-reason-input{width:100%}.admin-flagged-item,.admin-ip-item{flex-direction:column;align-items:flex-start}.admin-log-toolbar{gap:6px}}.today-section{padding:.75rem 1.25rem;background:linear-gradient(135deg,#00f5c90a,#4f8ef70a);border-bottom:1px solid var(--border-color)}.today-label{font-size:.78rem;font-weight:700;color:var(--primary-color);letter-spacing:.03em;margin-bottom:.6rem;display:flex;align-items:center;gap:5px}.today-cards{display:flex;gap:.6rem;flex-wrap:wrap}.today-card{display:flex;align-items:center;gap:.5rem;padding:.45rem .85rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s;text-align:left}.today-card:hover{border-color:var(--primary-color);background:#00f5c90f}.today-card-icon{font-size:1.1rem;line-height:1}.today-card-title{font-size:.85rem;font-weight:600;color:var(--text-primary)}.today-card-tags{display:flex;align-items:center;gap:4px}.today-card-sp{font-size:.72rem;color:#f0b429;font-weight:600}@media(max-width:600px){.today-cards{gap:.45rem}.today-card{padding:.4rem .65rem}.today-card-title{font-size:.8rem}}.cat-progress-list{display:flex;flex-direction:column;gap:.55rem;margin-top:.25rem}.cat-progress-item{display:flex;flex-direction:column;gap:4px}.cat-progress-header{display:flex;justify-content:space-between;align-items:center}.cat-progress-name{font-size:.78rem;color:var(--text-secondary)}.cat-progress-count{font-size:.72rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.cat-progress-bar{height:4px;background:var(--border-color);border-radius:999px;overflow:hidden}.cat-progress-fill{height:100%;background:var(--primary-color);border-radius:999px;transition:width .4s ease;min-width:0}.quiz-retry-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:.55rem;background:transparent;border:1px dashed var(--border-color);border-radius:8px;color:var(--text-muted);font-size:.82rem;cursor:pointer;transition:color .15s,border-color .15s}.quiz-retry-btn:hover{color:var(--primary-color);border-color:var(--primary-color)}.report-modal-overlay{position:fixed;inset:0;background:#000000a6;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.report-modal{background:var(--bg-card, #1a1a2e);border:1px solid var(--border-color);border-radius:16px;width:min(820px,100%);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px #00000080}.report-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);flex-shrink:0}.report-modal-title{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:700;color:var(--primary-color)}.report-modal-close{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .15s}.report-modal-close:hover{background:#ffffff14;color:var(--text-primary)}.report-stream-status{padding:12px 20px;background:#00f5c90a;border-bottom:1px solid var(--border-color);flex-shrink:0}.rss-phases{display:flex;align-items:center;gap:0}.rss-phase{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-muted);padding:0 14px 0 0;position:relative}.rss-phase:not(:last-child):after{content:"→";position:absolute;right:2px;color:var(--border-color)}.rss-phase.done{color:#26a69a}.rss-phase.active{color:var(--primary-color);font-weight:600}.rss-phase-dot{width:22px;height:22px;border-radius:50%;background:#ffffff0d;display:flex;align-items:center;justify-content:center;font-size:.65rem;flex-shrink:0}.rss-phase.done .rss-phase-dot{background:#26a69a33;color:#26a69a}.rss-phase.active .rss-phase-dot{background:#00f5c926;color:var(--primary-color)}.rss-spin{animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.rss-progress{margin-top:8px;display:flex;align-items:center;gap:10px}.rss-chars{font-size:.72rem;color:var(--text-muted);white-space:nowrap}.rss-bar{flex:1;height:3px;background:var(--border-color);border-radius:999px;overflow:hidden}.rss-bar-fill{height:100%;width:60%;background:linear-gradient(90deg,var(--primary-color),#4f8ef7);border-radius:999px;animation:rss-slide 1.8s ease-in-out infinite}@keyframes rss-slide{0%{transform:translate(-100%)}to{transform:translate(200%)}}.report-modal-body{flex:1;overflow-y:auto;padding:20px 24px}.report-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 24px;text-align:center;color:#e06c75}.report-error .fa-exclamation-circle{font-size:2.2rem;opacity:.85}.report-error p{font-size:.9rem;color:var(--text-muted);line-height:1.6;max-width:320px}.report-retry-btn{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:8px 18px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:.85rem;cursor:pointer;transition:opacity .15s}.report-retry-btn:hover{opacity:.85}.report-modal-waiting{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;text-align:center;position:relative}.report-pulse-ring{position:absolute;width:80px;height:80px;border-radius:50%;border:2px solid var(--primary-color);opacity:.4;animation:pulse-ring 1.8s ease-out infinite}@keyframes pulse-ring{0%{transform:scale(.8);opacity:.5}to{transform:scale(1.6);opacity:0}}.report-pulse-core{width:52px;height:52px;border-radius:50%;background:#00f5c91f;border:1px solid var(--primary-color);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--primary-color);animation:pulse-core 1.8s ease-in-out infinite}@keyframes pulse-core{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.report-modal-waiting p{font-size:.88rem;color:var(--text-muted);line-height:1.6;margin-top:16px}.report-md-wrap{line-height:1.85;font-size:.9rem}.report-summary-card{background:linear-gradient(135deg,#00b8a914,#6366f10f);border:1px solid rgba(0,184,169,.25);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.5rem}.report-summary-card-header{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;color:var(--primary-color);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.65rem}.report-summary-card-header i{font-size:.85rem}.report-summary-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.report-summary-card li{font-size:.875rem;color:var(--text-primary);line-height:1.55;padding-left:1.1rem;position:relative}.report-summary-card li:before{content:"•";position:absolute;left:0;color:var(--primary-color);font-weight:700}.report-term{position:relative;display:inline;color:var(--primary-color);border-bottom:1px dashed var(--primary-color);cursor:pointer;white-space:nowrap}.report-term:hover{background:#00b8a914;border-radius:3px}.report-term-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:9999;background:var(--surface-color, #1e2330);border:1px solid var(--border-color);border-radius:8px;padding:8px 12px;min-width:180px;max-width:260px;display:flex;align-items:flex-start;gap:8px;box-shadow:0 4px 16px #00000059;pointer-events:none;white-space:normal;font-style:normal}.report-term-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--border-color)}.rtt-icon{font-size:1.2rem;flex-shrink:0;margin-top:1px}.rtt-body{display:flex;flex-direction:column;gap:3px}.rtt-title{font-size:.8rem;font-weight:700;color:var(--text-primary)}.rtt-def{font-size:.74rem;color:var(--text-secondary);line-height:1.45}.report-md-wrap h2{font-size:1rem;font-weight:700;margin:2rem 0 .6rem;color:var(--primary-color);padding:.55rem .75rem;background:#00b8a90f;border-left:3px solid var(--primary-color);border-radius:0 6px 6px 0}.report-md-wrap h2:first-child{margin-top:.25rem}.report-md-wrap h3{font-size:.88rem;font-weight:700;margin:1.4rem 0 .4rem;color:var(--text-primary);padding-bottom:.25rem;border-bottom:1px solid var(--border-color)}.report-md-wrap blockquote{margin:.5rem 0 .75rem;padding:.55rem 1rem;background:#ffffff0a;border-left:3px solid var(--accent-color, #6366f1);border-radius:0 6px 6px 0;color:var(--text-primary);font-size:.875rem}.report-md-wrap blockquote p{margin:0;color:inherit}.report-md-wrap p{margin:.6rem 0;color:var(--text-secondary)}.report-md-wrap ul,.report-md-wrap ol{padding-left:1.4rem;margin:.5rem 0}.report-md-wrap li{margin:.35rem 0;color:var(--text-secondary);line-height:1.65}.report-md-wrap hr{border:none;border-top:1px solid var(--border-color);margin:1.5rem 0}.report-md-wrap strong{color:var(--text-primary);font-weight:700}.report-md-wrap strong.up{color:var(--positive-color)}.report-md-wrap strong.down{color:var(--negative-color)}.report-md-wrap table{width:100%;border-collapse:collapse;font-size:.85rem;margin:.75rem 0;overflow-x:auto;display:block}.report-md-wrap thead tr{background:#00f5c914;border-bottom:2px solid var(--primary-color)}.report-md-wrap th{padding:8px 12px;text-align:left;font-weight:700;color:var(--primary-color);white-space:nowrap}.report-md-wrap td{padding:7px 12px;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.report-md-wrap tbody tr:last-child td{border-bottom:none}.report-md-wrap tbody tr:hover td{background:#ffffff08}.report-md-wrap code{font-family:Consolas,monospace;background:#ffffff12;padding:1px 5px;border-radius:4px;font-size:.82rem;color:#f0b429}.report-cursor{color:var(--primary-color);animation:blink .9s step-end infinite}.report-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border-color);flex-shrink:0}.report-regen-wrap{display:flex;align-items:center;gap:4px}.report-regen-wrap button:disabled{cursor:not-allowed}.report-pdf-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.report-pdf-btn:hover{background:#ef444433}.report-close-btn{padding:8px 20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:background .15s}.report-close-btn:hover{background:#ffffff14}.report-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.report-tabs{display:flex;gap:4px;padding:.75rem 1.25rem 0;border-bottom:1px solid var(--border-color);flex-shrink:0}.report-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:.9rem;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px;white-space:nowrap}.report-tab:hover{color:var(--text-primary)}.report-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.report-content{flex:1;overflow-y:auto;padding:1.25rem}.report-section-title{font-size:.78rem;font-weight:700;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin:1.25rem 0 .6rem}.report-section-title:first-child{margin-top:0}.report-loading{text-align:center;padding:40px;color:var(--text-muted);font-size:.9rem}.report-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:10px 14px;font-size:.85rem;color:#ef4444;margin:12px 0}.report-empty{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:.9rem;display:flex;flex-direction:column;align-items:center;gap:10px}.report-empty i{font-size:2rem;opacity:.4}.report-indicator-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}.report-indicator-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:.7rem .9rem;display:flex;flex-direction:column;gap:2px}.report-stock-card{border-color:#4f8ef740}.ric-label{font-size:.72rem;color:var(--text-muted);line-height:1.3}.ric-value{font-size:1.05rem;font-weight:700;color:var(--primary-color)}.ric-date{font-size:.68rem;color:var(--text-muted);margin-top:2px}.report-news-list{display:flex;flex-direction:column;gap:6px}.report-news-item{display:flex;flex-direction:column;gap:3px;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;text-decoration:none;transition:border-color .15s}.report-news-item:hover{border-color:var(--primary-color)}.report-news-headline{font-size:.85rem;color:var(--text-primary);line-height:1.4}.report-news-meta{font-size:.72rem;color:var(--text-muted)}.report-action-row{display:flex;gap:8px;margin:1.25rem 0 .5rem}.report-generate-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .2s}.report-generate-btn:hover{opacity:.88}.report-stop-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3);border-radius:8px;font-size:.88rem;cursor:pointer;transition:opacity .2s}.report-ai-output{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;margin-top:.5rem;line-height:1.7;font-size:.9rem}.report-thinking{color:var(--text-muted);font-size:.88rem;padding:8px 0}.report-cursor{color:var(--primary-color);animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.report-dot-anim:after{content:"";animation:dots 1.4s steps(4,end) infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.report-markdown h2{font-size:1rem;font-weight:700;margin:1rem 0 .4rem;color:var(--primary-color)}.report-markdown h3{font-size:.9rem;font-weight:600;margin:.75rem 0 .3rem}.report-markdown p{margin:.4rem 0;color:var(--text-secondary)}.report-markdown ul,.report-markdown ol{padding-left:1.4rem;margin:.3rem 0}.report-markdown li{margin:.2rem 0;color:var(--text-secondary)}.report-markdown hr{border-color:var(--border-color);margin:1rem 0}.report-markdown strong{color:var(--text-primary)}.report-portfolio-list{display:flex;flex-direction:column;gap:8px}.report-portfolio-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;transition:border-color .15s}.report-portfolio-item.selected{border-color:var(--primary-color)}.rpi-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0;flex-wrap:wrap}.rpi-name{font-size:.9rem;font-weight:600}.rpi-risk{font-size:.72rem;padding:2px 8px;border-radius:999px;background:#00f5c91a;color:var(--primary-color)}.rpi-holdings{font-size:.78rem;color:var(--text-muted)}.rpi-btn{display:flex;align-items:center;gap:5px;padding:6px 14px;background:transparent;border:1px solid var(--primary-color);border-radius:6px;color:var(--primary-color);font-size:.82rem;cursor:pointer;white-space:nowrap;transition:background .15s}.rpi-btn:hover{background:#00f5c91a}.rpi-btn:disabled{opacity:.4;cursor:not-allowed}.report-login-notice{text-align:center;padding:60px 20px;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:12px}.report-login-notice i{font-size:2.5rem;opacity:.4}.report-docs{display:flex;flex-direction:column;height:100%}.report-docs-tabs{display:flex;gap:4px;margin-bottom:10px;border-bottom:1px solid var(--border-color);padding-bottom:0}.report-docs-tab{padding:6px 14px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:.85rem;cursor:pointer;margin-bottom:-1px;transition:color .15s}.report-docs-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.report-docs-iframe{flex:1;width:100%;height:calc(100vh - 220px);border:none;border-radius:8px}@media(max-width:768px){.report-tab{padding:8px 10px;font-size:.82rem;gap:4px}.report-indicator-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.report-modal{width:100%;max-height:95vh;border-radius:12px 12px 0 0;position:fixed;bottom:0;left:0;right:0}.report-modal-overlay{align-items:flex-end;padding:0}.rss-phases{gap:0;flex-wrap:nowrap;overflow-x:auto}.rss-phase{font-size:.7rem;padding:0 8px 0 0;white-space:nowrap}.report-md-wrap table{font-size:.78rem}.report-md-wrap th,.report-md-wrap td{padding:6px 8px}.report-portfolio-item{flex-direction:column;align-items:flex-start}.rpi-btn,.report-generate-btn{width:100%;justify-content:center}.report-modal-body{padding:14px 16px}.report-modal-header{padding:12px 16px}.report-modal-footer{padding:10px 16px}}@media(max-width:420px){.report-indicator-grid{grid-template-columns:repeat(2,1fr)}.report-tab span{display:none}}.notif-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#4e8ff71a;border-bottom:1px solid rgba(78,143,247,.2);font-size:.83rem;color:var(--text-primary)}.notif-banner-icon{color:#f7b84e;font-size:1rem;flex-shrink:0}.notif-banner-text{flex:1}.notif-banner-allow{padding:4px 14px;border-radius:16px;background:#4e8ff7;color:#fff;font-size:.8rem;font-weight:600;border:none;cursor:pointer;transition:background .15s;flex-shrink:0}.notif-banner-allow:hover{background:#3a7de0}.notif-banner-dismiss{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:.85rem;padding:4px 6px;flex-shrink:0;transition:color .15s}.notif-banner-dismiss:hover{color:var(--text-primary)}.eco-cal{display:flex;flex-direction:column;gap:6px;padding:2px 0}.eco-cal-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px 0;color:var(--text-muted);font-size:.85rem}.eco-cal-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:var(--widget-bg, rgba(255,255,255,.04));border:1px solid transparent;transition:background .15s}.eco-cal-item:hover{background:#ffffff12}.eco-cal-item.eco-cal-today{border-color:#4e8ff759;background:#4e8ff714}.eco-cal-left{flex-shrink:0}.eco-cal-icon{font-size:1rem;width:24px;text-align:center}.eco-cal-body{flex:1;min-width:0}.eco-cal-title{font-size:.83rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eco-cal-meta{display:flex;align-items:center;gap:6px;margin-top:2px}.eco-cal-date{font-size:.75rem;color:var(--text-muted)}.eco-cal-country{font-size:.68rem;font-weight:700;padding:1px 5px;border-radius:4px;background:#ffffff14;color:var(--text-secondary);letter-spacing:.03em}.eco-cal-right{flex-shrink:0}.eco-cal-dday{font-size:.78rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.eco-cal-badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:.73rem;font-weight:700;letter-spacing:.02em}.eco-cal-badge--today{background:#4e8ff7;color:#fff}.eco-cal-badge--soon{background:#f7b84e2e;color:#f7b84e;border:1px solid rgba(247,184,78,.3)}.aisig-related-nodes{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.aisig-related-title{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.aisig-node-chips{display:flex;flex-wrap:wrap;gap:6px}.aisig-node-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);font-size:.78rem;cursor:pointer;transition:background .15s,border-color .15s}.aisig-node-chip:hover{background:#4e8ff71f;border-color:#4e8ff74d}.aisig-node-chip span:first-child{font-size:.9rem}.levelup-overlay{position:fixed;inset:0;z-index:9999;background:#000000b3;display:flex;align-items:center;justify-content:center;animation:levelup-fade-in .3s ease}@keyframes levelup-fade-in{0%{opacity:0}to{opacity:1}}.levelup-card{background:var(--card-bg, #1e2130);border-radius:20px;border:1px solid rgba(78,143,247,.3);padding:40px 48px;text-align:center;box-shadow:0 20px 60px #00000080,0 0 40px #4e8ff726;animation:levelup-pop .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes levelup-pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.levelup-emoji{font-size:3.5rem;margin-bottom:12px;line-height:1}.levelup-label{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#f7b84e;margin-bottom:4px}.levelup-level{font-size:3rem;font-weight:800;color:#4e8ff7;line-height:1.1}.levelup-name{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin-top:4px;margin-bottom:24px}.levelup-btn{padding:10px 32px;border-radius:24px;background:#4e8ff7;color:#fff;font-size:.9rem;font-weight:700;border:none;cursor:pointer;transition:background .15s,transform .1s}.levelup-btn:hover{background:#3a7de0;transform:translateY(-1px)}.today-label--review{color:#00b8a9!important}.today-card--review{border-left:3px solid #00b8a9!important}.review-tag{display:inline-block;padding:1px 7px;border-radius:10px;font-size:.68rem;font-weight:700;background:#00b8a91f;color:#00b8a9;border:1px solid rgba(0,184,169,.25);margin-left:4px;vertical-align:middle}.modal-live-indicators{margin-bottom:16px;padding:14px;border-radius:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.07)}.modal-live-indicators h4{margin:0 0 10px;font-size:.78rem;font-weight:600;color:var(--text-secondary);letter-spacing:.05em;display:flex;align-items:center;gap:6px}.modal-indicator-grid{display:flex;flex-wrap:wrap;gap:8px}.modal-indicator-card{flex:1 1 120px;padding:8px 12px;border-radius:8px;background:#4e8ff712;border:1px solid rgba(78,143,247,.15);min-width:100px}.mic-label{font-size:.72rem;color:var(--text-muted);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mic-value{font-size:1.05rem;font-weight:700;color:var(--text-primary)}.mic-unit{font-size:.72rem;color:var(--text-secondary);margin-left:2px}.mic-date{font-size:.68rem;color:var(--text-muted);margin-top:2px}.lang-switcher{display:flex;justify-content:center;gap:4px;padding:8px 12px;border-top:1px solid rgba(255,255,255,.06)}.lang-btn{background:none;border:1px solid rgba(255,255,255,.1);border-radius:5px;color:var(--text-muted);font-size:.68rem;font-weight:600;letter-spacing:.04em;padding:3px 7px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.lang-btn:hover{background:#ffffff12;color:var(--text-secondary)}.lang-btn.active{background:#4e8ff726;border-color:#4e8ff766;color:var(--accent-blue)}.sidebar-collapsed .lang-switcher{flex-direction:column;align-items:center;padding:6px 4px;gap:3px}.curriculum-page{display:flex;flex-direction:column;gap:0}.page-header-desc{font-size:.85rem;color:var(--text-muted-color);margin-top:.25rem}.curriculum-loading,.curriculum-error,.curriculum-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:4rem 2rem;color:var(--text-muted-color);font-size:.9rem}.curriculum-loading i,.curriculum-error i,.curriculum-empty i{font-size:2rem;opacity:.5}.curriculum-error{color:var(--negative-color)}.curriculum-progress-bar-wrap{background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.5rem}.curriculum-progress-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;font-size:.85rem}.curriculum-progress-label{color:var(--text-muted-color);flex:1}.curriculum-progress-count{color:var(--text-color);font-weight:500}.curriculum-progress-pct{color:var(--accent-color);font-weight:700;min-width:2.5rem;text-align:right}.curriculum-progress-bar{height:6px;background:var(--border-color);border-radius:99px;overflow:hidden}.curriculum-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-color),#5ba3f5);border-radius:99px;transition:width .4s ease}.curriculum-semester-group{margin-bottom:1.5rem}.curriculum-semester-label{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;color:var(--text-muted-color);text-transform:uppercase;letter-spacing:.05em;padding:.5rem 0;border-bottom:1px solid var(--border-color);margin-bottom:.75rem}.curriculum-semester-label i{color:var(--accent-color)}.curriculum-semester-count{margin-left:auto;font-weight:400;font-size:.75rem}.curriculum-node-list{display:flex;flex-direction:column;gap:.5rem}.curriculum-node-card{display:flex;align-items:flex-start;gap:.9rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:10px;padding:.9rem 1rem;cursor:pointer;transition:border-color .15s,background .15s}.curriculum-node-card:hover:not(.locked){border-color:var(--accent-color);background:#1a2035}.curriculum-node-card.done{border-color:#357ce659;background:#357ce60d}.curriculum-node-card.locked{opacity:.55;cursor:default}.curriculum-node-status{flex-shrink:0;margin-top:.15rem;font-size:1.1rem}.curriculum-node-body{flex:1;min-width:0}.curriculum-node-meta{display:flex;align-items:center;gap:.4rem;margin-bottom:.3rem;flex-wrap:wrap}.curriculum-node-subject{font-size:.7rem;font-weight:600;color:var(--accent-color);background:#357ce61f;border-radius:4px;padding:.1rem .45rem;letter-spacing:.02em}.curriculum-node-category{font-size:.7rem;color:var(--text-muted-color)}.curriculum-node-title{font-size:.95rem;font-weight:600;color:var(--text-color);margin-bottom:.25rem;line-height:1.35}.curriculum-node-summary{font-size:.8rem;color:var(--text-muted-color);line-height:1.5;margin-bottom:.4rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.curriculum-node-info{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:var(--text-muted-color);flex-wrap:wrap}.curriculum-node-info i{margin-right:.2rem}.curriculum-node-stars{color:#f0c040;letter-spacing:-.05em;font-size:.7rem}.curriculum-node-textbook{font-size:.72rem;color:var(--text-muted-color);margin-top:.4rem;opacity:.75}.curriculum-node-textbook i{margin-right:.3rem}.curriculum-node-lock-msg{font-size:.72rem;color:#888;margin-top:.35rem;font-style:italic}.curriculum-node-arrow{flex-shrink:0;color:var(--text-muted-color);font-size:.75rem;align-self:center;opacity:.5}.curriculum-lesson{max-width:800px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:0}.curriculum-lesson-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.curriculum-back-btn{display:flex;align-items:center;gap:.4rem;background:none;border:1px solid var(--border-color);color:var(--text-muted-color);font-size:.8rem;padding:.4rem .75rem;border-radius:6px;cursor:pointer;transition:border-color .15s,color .15s;flex-shrink:0}.curriculum-back-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.curriculum-lesson-breadcrumb{font-size:.78rem;color:var(--text-muted-color)}.curriculum-lesson-title{font-size:1.6rem;font-weight:700;color:var(--text-color);line-height:1.3;margin-bottom:.75rem}.curriculum-textbook-refs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.curriculum-textbook-chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;padding:.3rem .65rem;font-size:.75rem;color:var(--text-muted-color);max-width:100%}.curriculum-textbook-chip .fa-book-open{color:var(--accent-color);flex-shrink:0;font-size:.7rem}.curriculum-textbook-chip-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curriculum-textbook-chip-chapter{flex-shrink:0;background:var(--accent-color);color:#fff;border-radius:4px;padding:.1rem .4rem;font-size:.68rem;font-weight:600;letter-spacing:.02em}.curriculum-lesson-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border-color);font-size:.8rem;color:var(--text-muted-color)}.curriculum-lesson-meta-item{display:flex;align-items:center;gap:.3rem}.curriculum-ocw-link{color:var(--accent-color);text-decoration:none}.curriculum-ocw-link:hover{text-decoration:underline}.curriculum-lesson-summary{font-size:1rem;color:var(--text-muted-color);line-height:1.65;background:var(--surface-color);border-left:3px solid var(--accent-color);padding:.85rem 1rem;border-radius:0 8px 8px 0;margin-bottom:1.5rem}.curriculum-lesson-section{margin-bottom:1.75rem}.curriculum-section-title{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;color:var(--text-muted-color);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.curriculum-section-title i{color:var(--accent-color)}.curriculum-lesson-content{font-size:.9rem;color:var(--text-color);line-height:1.75;background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:1rem 1.25rem}.curriculum-md{font-size:.925rem;line-height:1.8;color:var(--text-color)}.curriculum-md h2{font-size:1.2rem;font-weight:700;color:var(--text-color);margin:1.75rem 0 .75rem;padding-bottom:.4rem;border-bottom:1px solid var(--border-color)}.curriculum-md h2:first-child{margin-top:0}.curriculum-md h3{font-size:1rem;font-weight:600;color:var(--text-color);margin:1.25rem 0 .5rem}.curriculum-md p{margin:.6rem 0}.curriculum-md ul,.curriculum-md ol{margin:.5rem 0 .5rem 1.5rem;display:flex;flex-direction:column;gap:.2rem}.curriculum-md li{line-height:1.7}.curriculum-md strong{color:var(--text-color);font-weight:600}.curriculum-md code{background:#ffffff12;border:1px solid var(--border-color);border-radius:4px;padding:.1em .4em;font-size:.85em;font-family:Courier New,monospace}.curriculum-md blockquote{border-left:3px solid var(--accent-color);margin:.75rem 0;padding:.5rem 1rem;background:#ffffff0a;border-radius:0 6px 6px 0;color:var(--text-muted-color)}.curriculum-md table{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.875rem}.curriculum-md th,.curriculum-md td{padding:.5rem .75rem;border:1px solid var(--border-color);text-align:left}.curriculum-md th{background:#ffffff0f;font-weight:600}.curriculum-md tr:nth-child(2n) td{background:#ffffff05}.curriculum-lesson-content .curriculum-md h2,.curriculum-lesson-content .curriculum-md h3{border-bottom:none;margin-top:1rem}.curriculum-graph-wrap{margin:1.25rem 0;border:1px solid var(--border-color);border-radius:10px;overflow:hidden;background:#0f172a}.curriculum-graph-title{font-size:.75rem;font-weight:600;color:var(--text-muted-color);text-transform:uppercase;letter-spacing:.06em;padding:.5rem .875rem;border-bottom:1px solid #1e293b;background:#0d1117}.curriculum-graph-svg{width:100%;display:block}.curriculum-formula-list{display:flex;flex-direction:column;gap:.5rem}.curriculum-formula-item{background:#0d1117;border:1px solid var(--border-color);border-radius:8px;padding:.75rem 1.25rem;overflow-x:auto}.curriculum-formula-katex{color:#e6edf3;text-align:center}.curriculum-formula-katex .katex{font-size:1.1rem}.curriculum-indicator-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.curriculum-indicator-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:.75rem 1rem}.curriculum-indicator-label{font-size:.72rem;color:var(--text-muted-color);margin-bottom:.25rem}.curriculum-indicator-value{font-size:1.2rem;font-weight:700;color:var(--accent-color)}.curriculum-indicator-unit{font-size:.75rem;color:var(--text-muted-color);margin-left:.2rem}.curriculum-indicator-date{font-size:.68rem;color:var(--text-muted-color);margin-top:.2rem}.curriculum-indicator-chart-btn{margin-top:.5rem;display:flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:5px;border:1px solid var(--border-color);background:transparent;color:var(--accent-color);font-size:.73rem;font-weight:600;cursor:pointer;width:-moz-fit-content;width:fit-content;transition:background .15s}.curriculum-indicator-chart-btn:hover{background:var(--surface-color)}.curriculum-linked-nodes{display:flex;flex-wrap:wrap;gap:.5rem}.curriculum-linked-node-chip{position:relative;display:flex;align-items:center;gap:.4rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:99px;padding:.35rem .85rem;font-size:.8rem;color:var(--text-color);cursor:pointer;transition:border-color .15s;overflow:visible}.curriculum-linked-node-chip:hover{border-color:var(--accent-color);color:var(--accent-color)}.curriculum-linked-node-chip .chip-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1a1f2e;border:1px solid var(--border-color);border-radius:6px;padding:.5rem .75rem;font-size:.75rem;color:var(--text-muted-color);white-space:nowrap;max-width:260px;white-space:normal;z-index:100;pointer-events:none}.curriculum-linked-node-chip:hover .chip-tooltip{display:block}.curriculum-notes-list{display:flex;flex-direction:column;gap:.6rem;margin-bottom:.75rem}.curriculum-note-item{background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;padding:.65rem .75rem;display:flex;flex-direction:column;gap:.4rem}.curriculum-note-content{font-size:.88rem;line-height:1.55;white-space:pre-wrap;word-break:break-word}.curriculum-note-actions{display:flex;gap:.4rem;justify-content:flex-end}.curriculum-note-edit-btn,.curriculum-note-delete-btn,.curriculum-note-cancel-btn{padding:.2rem .55rem;border-radius:5px;border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-muted-color);font-size:.76rem;cursor:pointer}.curriculum-note-delete-btn:hover{color:var(--negative-color);border-color:var(--negative-color)}.curriculum-note-edit-btn:hover{color:var(--accent-color);border-color:var(--accent-color)}.curriculum-note-save-btn{padding:.2rem .7rem;border-radius:5px;border:none;background:var(--accent-color);color:#fff;font-size:.76rem;font-weight:600;cursor:pointer}.curriculum-note-input-row{display:flex;gap:.6rem;align-items:flex-end}.curriculum-note-textarea{flex:1;background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;padding:.55rem .75rem;font-size:.88rem;color:var(--text-color);resize:vertical;font-family:inherit;line-height:1.5}.curriculum-note-textarea:focus{outline:none;border-color:var(--accent-color)}.curriculum-note-add-btn{display:flex;align-items:center;gap:.35rem;padding:.5rem .9rem;border-radius:8px;border:none;background:var(--accent-color);color:#fff;font-size:.84rem;font-weight:600;cursor:pointer;white-space:nowrap}.curriculum-note-add-btn:disabled{opacity:.4;cursor:default}.curriculum-lesson-title-row{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}.curriculum-lesson-title-row .curriculum-lesson-title{margin-bottom:0;flex:1}.curriculum-tutor-fab{width:40px;height:40px;border-radius:50%;border:2px solid var(--accent-color);background:var(--surface-color);color:var(--accent-color);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:6px;transition:background .15s,color .15s}.curriculum-tutor-fab:hover{background:var(--accent-color);color:#fff}.curriculum-tutor-overlay{position:fixed;inset:0;background:#0000008c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.curriculum-tutor-modal{width:560px;height:620px;background:var(--background-color);border:1px solid var(--border-color);border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.curriculum-tutor-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.1rem;border-bottom:1px solid var(--border-color);font-size:.95rem;font-weight:700;color:var(--accent-color)}.curriculum-tutor-close-btn{width:28px;height:28px;border-radius:50%;border:none;background:var(--surface-color);color:var(--text-muted-color);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:background .15s}.curriculum-tutor-close-btn:hover{background:var(--border-color)}.curriculum-tutor-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;min-height:120px}.curriculum-tutor-empty{font-size:.85rem;color:var(--text-muted-color);text-align:center;padding:1.5rem 0}.curriculum-tutor-msg{display:flex;flex-direction:column;max-width:88%}.curriculum-tutor-msg.user{align-self:flex-end;background:var(--accent-color);color:#fff;border-radius:12px 12px 2px;padding:.55rem .85rem;font-size:.88rem}.curriculum-tutor-msg.assistant{align-self:flex-start;background:var(--surface-color);border:1px solid var(--border-color);border-radius:2px 12px 12px;padding:.55rem .85rem;font-size:.88rem;line-height:1.6}.curriculum-tutor-msg.assistant .curriculum-md p{margin:.2rem 0}.curriculum-tutor-msg.assistant .curriculum-md p:first-child{margin-top:0}.curriculum-tutor-msg.assistant .curriculum-md p:last-child{margin-bottom:0}.curriculum-tutor-input-row{display:flex;gap:.5rem;align-items:flex-end;padding:.75rem;border-top:1px solid var(--border-color)}.curriculum-tutor-input{flex:1;background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:.55rem .75rem;font-size:.88rem;color:var(--text-color);resize:none;font-family:inherit;line-height:1.5}.curriculum-tutor-input:focus{outline:none;border-color:var(--accent-color)}.curriculum-tutor-send-btn{width:38px;height:38px;border-radius:8px;border:none;background:var(--accent-color);color:#fff;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s}.curriculum-tutor-send-btn:disabled{opacity:.4;cursor:default}.curriculum-lesson-actions{display:flex;gap:.75rem;padding-top:1.5rem;padding-bottom:3rem;border-top:1px solid var(--border-color);flex-wrap:wrap}.curriculum-quiz-start-btn{display:flex;align-items:center;gap:.5rem;background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-color);font-size:.9rem;padding:.65rem 1.25rem;border-radius:8px;cursor:pointer;transition:border-color .15s}.curriculum-quiz-start-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.curriculum-complete-btn{display:flex;align-items:center;gap:.5rem;background:var(--accent-color);border:none;color:#fff;font-size:.9rem;font-weight:600;padding:.65rem 1.5rem;border-radius:8px;cursor:pointer;transition:opacity .15s}.curriculum-complete-btn:hover:not(:disabled){opacity:.85}.curriculum-complete-btn.done{background:var(--surface-color);border:1px solid var(--positive-color);color:var(--positive-color);cursor:default}.curriculum-complete-btn:disabled{cursor:default}.curriculum-quiz-pass-badge{margin-left:.5rem;background:#22c55e33;color:#22c55e;border-radius:10px;padding:.1rem .5rem;font-size:.72rem;font-weight:600}.curriculum-view-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.curriculum-view-tab{display:flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border-radius:8px;border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-muted-color);font-size:.85rem;cursor:pointer;transition:all .15s}.curriculum-view-tab:hover{border-color:var(--accent-color);color:var(--accent-color)}.curriculum-view-tab.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff;font-weight:600}.curriculum-review-banner{background:var(--surface-color);border:1px solid var(--border-color);border-left:3px solid #f97316;border-radius:10px;padding:.9rem 1rem;margin-bottom:1.25rem}.curriculum-review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.curriculum-review-title{font-size:.88rem;font-weight:700;color:#f97316;display:flex;align-items:center;gap:.4rem}.curriculum-review-count{font-size:.8rem;font-weight:600;color:var(--text-muted-color)}.curriculum-review-list{display:flex;flex-direction:column;gap:.5rem}.curriculum-review-item{display:flex;align-items:center;gap:.75rem;padding:.55rem .75rem;background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;transition:opacity .2s}.curriculum-review-item.done{opacity:.45}.curriculum-review-item-info{flex:1;display:flex;align-items:center;gap:.6rem;cursor:pointer;min-width:0}.curriculum-review-item.done .curriculum-review-item-info{cursor:default}.curriculum-review-subject{font-size:.72rem;font-weight:600;white-space:nowrap}.curriculum-review-item-title{font-size:.86rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.curriculum-review-interval{font-size:.72rem;color:var(--text-muted-color);white-space:nowrap}.curriculum-review-done-btn{padding:.3rem .75rem;border-radius:6px;border:1px solid #f97316;background:transparent;color:#f97316;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s,color .15s}.curriculum-review-done-btn:hover:not(:disabled){background:#f97316;color:#fff}.curriculum-review-done-btn.done{border-color:var(--positive-color);color:var(--positive-color);cursor:default}.curriculum-stats-banner{display:flex;align-items:center;gap:1.5rem;padding:1rem 1.25rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1.5rem;flex-wrap:wrap}.curriculum-stats-gauge-area{flex:1;min-width:160px}.curriculum-stats-gauge-label{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.4rem}.curriculum-stats-pct{font-size:1.5rem;font-weight:700;color:var(--accent-color)}.curriculum-stats-sub{font-size:.78rem;color:var(--text-muted-color)}.curriculum-stats-gauge-track{height:8px;background:var(--border-color);border-radius:4px;overflow:hidden}.curriculum-stats-gauge-fill{height:100%;background:var(--accent-color);border-radius:4px;transition:width .5s ease}.curriculum-stats-semester-bars{display:flex;align-items:flex-end;gap:.5rem;height:60px}.curriculum-stats-sem-bar{display:flex;flex-direction:column;align-items:center;gap:.2rem}.curriculum-stats-sem-bar-track{width:20px;height:40px;background:var(--border-color);border-radius:3px;overflow:hidden;display:flex;align-items:flex-end}.curriculum-stats-sem-bar-fill{width:100%;background:var(--accent-color);border-radius:3px;transition:height .4s ease}.curriculum-stats-sem-label{font-size:.65rem;color:var(--text-muted-color)}.curriculum-stats-sem-count{font-size:.62rem;color:var(--text-muted-color)}.curriculum-stats-next-lesson{flex:1;min-width:160px;padding:.75rem 1rem;background:var(--background-color);border:1px solid var(--accent-color);border-radius:10px;cursor:pointer;transition:opacity .15s}.curriculum-stats-next-lesson:hover{opacity:.8}.curriculum-stats-next-badge{font-size:.7rem;font-weight:600;color:var(--accent-color);margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.04em}.curriculum-stats-next-title{font-size:.9rem;font-weight:600;margin-bottom:.35rem}.curriculum-stats-next-meta{display:flex;gap:.6rem;font-size:.75rem;color:var(--text-muted-color);flex-wrap:wrap}.curriculum-path{display:flex;flex-direction:column;gap:1.25rem}.curriculum-path-track-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.curriculum-path-track-tab{display:flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border-radius:8px;border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-muted-color);font-size:.85rem;cursor:pointer;transition:all .15s}.curriculum-path-track-tab:hover{opacity:.85}.curriculum-path-track-tab.active{font-weight:600}.curriculum-path-track-desc{display:flex;align-items:center;gap:.75rem;padding:.6rem .9rem;background:var(--surface-color);border-left:3px solid var(--accent-color);border-radius:0 8px 8px 0;font-size:.82rem;color:var(--text-muted-color);flex-wrap:wrap}.curriculum-path-track-count{margin-left:auto;font-weight:600;color:var(--accent-color)}.curriculum-path-semester{display:flex;flex-direction:column;gap:.5rem}.curriculum-path-sem-header{display:flex;align-items:center;justify-content:space-between;padding:.4rem .5rem;border-bottom:1px solid var(--border-color)}.curriculum-path-sem-label{font-size:.82rem;font-weight:600;color:var(--text-muted-color);text-transform:uppercase;letter-spacing:.04em}.curriculum-path-sem-count{font-size:.78rem;color:var(--accent-color);font-weight:600}.curriculum-path-lessons{display:flex;flex-direction:column;gap:0}.curriculum-path-connector{width:2px;height:14px;background:var(--border-color);margin-left:17px}.curriculum-path-connector.done{background:#22c55e}.curriculum-path-lesson-card{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border-radius:8px;border:1px solid var(--border-color);background:var(--surface-color);cursor:pointer;transition:border-color .15s,background .15s}.curriculum-path-lesson-card:hover:not(.locked){border-color:var(--accent-color)}.curriculum-path-lesson-card.completed{border-color:#22c55e;background:#22c55e0d}.curriculum-path-lesson-card.locked{opacity:.55;cursor:not-allowed}.curriculum-path-lesson-dot{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0}.curriculum-path-lesson-info{flex:1;min-width:0}.curriculum-path-lesson-title{font-size:.88rem;font-weight:600;margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.curriculum-path-lesson-meta{display:flex;gap:.6rem;font-size:.74rem;color:var(--text-muted-color);flex-wrap:wrap}.curriculum-loading{display:flex;align-items:center;gap:.5rem;padding:2rem;justify-content:center;color:var(--text-muted-color)}.curriculum-filter-bar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:1.25rem;padding:.75rem 1rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:10px}.curriculum-subject-filters{display:flex;flex-wrap:wrap;gap:.4rem;flex:1}.curriculum-subject-filter-btn{padding:.25rem .7rem;border-radius:20px;border:1px solid var(--border-color);background:transparent;color:var(--text-muted-color);font-size:.75rem;cursor:pointer;transition:all .15s}.curriculum-subject-filter-btn:hover{border-color:#666;color:#ccc}.curriculum-subject-filter-btn.active{background:#357ce626;border-color:var(--accent-color);color:var(--accent-color)}.curriculum-track-toggle-btn{display:flex;align-items:center;gap:.4rem;padding:.3rem .8rem;border-radius:20px;border:1px solid var(--border-color);background:transparent;color:var(--text-muted-color);font-size:.78rem;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}.curriculum-track-toggle-btn:hover,.curriculum-track-toggle-btn.active{border-color:var(--accent-color);color:var(--accent-color)}.curriculum-track-badge{background:var(--accent-color);color:#fff;font-size:.65rem;border-radius:10px;padding:.05rem .4rem;font-weight:700}.curriculum-track-panel{margin-bottom:1.25rem;padding:1rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:10px}.curriculum-track-panel-title{font-size:.85rem;font-weight:600;color:#ccc;margin-bottom:.75rem;display:flex;align-items:center;gap:.6rem}.curriculum-track-panel-hint{font-size:.72rem;color:var(--text-muted-color);font-weight:400}.curriculum-track-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem}.curriculum-track-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.75rem;background:#161b27;border:1.5px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .15s;text-align:left}.curriculum-track-card:hover{border-color:#555}.curriculum-track-card.selected{background:#357ce612}.curriculum-track-icon{font-size:1.4rem;margin-bottom:.15rem}.curriculum-track-name{font-size:.82rem;font-weight:600;color:#ddd}.curriculum-track-desc{font-size:.7rem;color:var(--text-muted-color);line-height:1.3}.curriculum-track-check{position:absolute;top:.5rem;right:.6rem;font-size:.9rem;font-weight:700}.curriculum-node-card{position:relative;overflow:hidden}.curriculum-node-subject-bar{width:3px;align-self:stretch;border-radius:2px;flex-shrink:0;opacity:.85}.curriculum-node-card.on-track{border-color:var(--track-color, var(--accent-color));box-shadow:0 0 0 1px var(--track-color, var(--accent-color)) 33}.curriculum-node-track-badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.65rem;font-weight:600;padding:.1rem .45rem;border-radius:10px;border:1px solid;white-space:nowrap}.curriculum-track-btn-group{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.curriculum-track-filter-btn{display:flex;align-items:center;gap:.3rem;padding:.3rem .7rem;border-radius:20px;border:1px solid var(--border-color);background:transparent;color:var(--text-muted-color);font-size:.75rem;cursor:pointer;transition:all .15s;white-space:nowrap}.curriculum-track-filter-btn.active{background:#357ce626;border-color:var(--accent-color);color:var(--accent-color)}.curriculum-track-subjects{font-size:.65rem;color:var(--text-muted-color);line-height:1.4;margin-top:.15rem;text-align:left}.curriculum-lesson.has-toc{position:relative}.curriculum-toc{position:fixed;top:6rem;right:1.5rem;width:200px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:10px;padding:.75rem;z-index:10;max-height:calc(100vh - 8rem);overflow-y:auto}@media(max-width:1200px){.curriculum-toc{display:none}}.curriculum-toc-title{font-size:.72rem;font-weight:600;color:var(--text-muted-color);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;display:flex;align-items:center;gap:.4rem}.curriculum-toc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.15rem}.curriculum-toc-item a{display:block;font-size:.72rem;color:var(--text-muted-color);text-decoration:none;padding:.2rem .4rem;border-radius:4px;line-height:1.4;transition:color .1s,background .1s}.curriculum-toc-item.level-3 a{padding-left:.9rem;font-size:.68rem}.curriculum-toc-item a:hover{color:#ccc;background:#ffffff0a}.curriculum-toc-item.active a{color:var(--accent-color);background:#357ce61a}.curriculum-quiz-screen{max-width:640px;width:100%;margin:0 auto;padding-bottom:3rem}.curriculum-quiz-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.curriculum-quiz-progress{font-size:.82rem;color:var(--text-muted-color)}.curriculum-quiz-body{background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.curriculum-quiz-question{font-size:1.05rem;font-weight:600;color:var(--text-color);line-height:1.5}.curriculum-quiz-type-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;color:var(--accent-color);background:#6366f11f;border:1px solid rgba(99,102,241,.25);border-radius:20px;padding:.2rem .65rem;margin-bottom:.75rem}.curriculum-quiz-numeric{display:flex;align-items:center;gap:.75rem;margin:.75rem 0}.curriculum-quiz-numeric-input{flex:1;max-width:220px;background:var(--surface-color);border:2px solid var(--border-color);border-radius:8px;color:var(--text-color);font-size:1.25rem;font-weight:600;padding:.6rem 1rem;text-align:center;transition:border-color .15s;-moz-appearance:textfield}.curriculum-quiz-numeric-input::-webkit-inner-spin-button,.curriculum-quiz-numeric-input::-webkit-outer-spin-button{opacity:1}.curriculum-quiz-numeric-input:focus{outline:none;border-color:var(--accent-color)}.curriculum-quiz-numeric-input.correct{border-color:var(--positive-color);color:var(--positive-color)}.curriculum-quiz-numeric-input.wrong{border-color:var(--negative-color);color:var(--negative-color)}.curriculum-quiz-numeric-input:disabled{opacity:.85}.curriculum-quiz-unit-hint{font-size:.9rem;color:var(--text-muted-color);white-space:nowrap}.curriculum-quiz-correct-answer{font-size:.9rem;color:var(--text-muted-color);margin-bottom:.25rem}.curriculum-quiz-correct-answer strong{color:var(--positive-color);font-size:1rem}.curriculum-quiz-options{display:flex;flex-direction:column;gap:.5rem}.curriculum-quiz-option{background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;padding:.75rem 1rem;color:var(--text-color);font-size:.9rem;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.curriculum-quiz-option:hover:not(:disabled){border-color:var(--accent-color)}.curriculum-quiz-option.selected{border-color:var(--accent-color);background:#357ce61a}.curriculum-quiz-option.correct{border-color:var(--positive-color);background:#26a69a1a;color:var(--positive-color)}.curriculum-quiz-option.wrong{border-color:var(--negative-color);background:#ef535014;color:var(--negative-color)}.curriculum-quiz-result{border-radius:8px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.curriculum-quiz-result.correct{background:#26a69a14;border:1px solid var(--positive-color)}.curriculum-quiz-result.wrong{background:#ef53500f;border:1px solid var(--negative-color)}.curriculum-quiz-result-icon{font-size:1rem;font-weight:700}.curriculum-quiz-sp{font-size:.82rem;color:var(--accent-color);font-weight:600}.curriculum-quiz-explanation{font-size:.83rem;color:var(--text-muted-color);line-height:1.6}.curriculum-quiz-actions{display:flex;justify-content:flex-end}.curriculum-quiz-submit-btn,.curriculum-quiz-next-btn{background:var(--accent-color);border:none;color:#fff;font-size:.9rem;font-weight:600;padding:.6rem 1.5rem;border-radius:8px;cursor:pointer;transition:opacity .15s}.curriculum-quiz-submit-btn:hover:not(:disabled),.curriculum-quiz-next-btn:hover{opacity:.85}.curriculum-quiz-submit-btn:disabled{opacity:.4;cursor:default}@keyframes skeleton-shine{0%{opacity:.4}50%{opacity:.8}to{opacity:.4}}.skeleton-shine{background:#ffffff12;border-radius:4px;animation:skeleton-shine 1.4s ease-in-out infinite}.ws-chart{display:flex;flex-direction:column;height:100%;gap:6px;padding:8px 4px 0}.ws-chart-area{display:flex;align-items:flex-end;gap:4px;flex:1}.ws-bar{width:100%;border-radius:3px 3px 0 0}.ws-xaxis{display:flex;justify-content:space-around;padding-top:4px}.ws-label{height:10px;border-radius:3px}.ws-list{display:flex;flex-direction:column;gap:10px;padding:8px 0}.ws-list-row{display:flex;justify-content:space-between;align-items:center;height:32px}.ws-list-left{flex:1;height:12px;border-radius:4px;margin-right:12px}.ws-list-right{height:12px;border-radius:4px}.ws-cards{display:flex;gap:10px;flex-wrap:wrap;padding:8px 0}.ws-card{flex:1 1 80px;height:60px;border-radius:8px;min-width:60px}.ws-gauge{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 0}.ws-gauge-semi{width:120px;height:60px;border-radius:60px 60px 0 0}.ws-gauge-text{width:80px;height:14px;border-radius:4px}.widget-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;color:var(--text-muted-color);font-size:.88rem;text-align:center;padding:16px}.widget-error-state i{font-size:1.4rem;color:var(--negative-color)}.widget-error-state p{margin:0}.widget-retry-btn{display:flex;align-items:center;gap:6px;background:#ffffff0f;border:1px solid var(--border-color);color:var(--text-muted-color);font-size:.83rem;padding:5px 12px;border-radius:6px;cursor:pointer;transition:background .15s}.widget-retry-btn:hover{background:#ffffff1a}.period-selector{display:flex;gap:4px}.ps-btn{padding:3px 10px;font-size:.78rem;font-weight:600;border:1px solid var(--border-color);background:transparent;color:var(--text-muted-color);border-radius:5px;cursor:pointer;transition:background .15s,color .15s}.ps-btn.active,.ps-btn:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.macro-controls-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-wrap:wrap}.macro-latest-row{display:flex;gap:6px;flex-wrap:wrap}.macro-chip{display:flex;align-items:center;gap:5px;background:#ffffff0d;border:1px solid var(--border-color);border-radius:6px;padding:3px 8px;font-size:.8rem}.macro-chip-label{color:var(--text-muted-color)}.macro-chip-value{font-weight:600}.yield-inversion-badge{display:flex;align-items:center;gap:6px;background:#ff63841f;border:1px solid rgba(255,99,132,.3);color:#ff6384;font-size:.82rem;font-weight:600;padding:5px 10px;border-radius:6px;margin-bottom:8px}.fear-greed-vix-row{display:flex;align-items:center;gap:8px}.fear-greed-vix-delta{font-size:.82rem;font-weight:600;padding:1px 6px;border-radius:4px}.fear-greed-vix-delta.up{color:var(--negative-color);background:#ff63841f}.fear-greed-vix-delta.down{color:var(--positive-color);background:#36d3991f}.fear-greed-legend{display:flex;justify-content:space-between;gap:4px;margin-top:4px;padding:0 4px}.fgl-item{font-size:.72rem;font-weight:500;white-space:nowrap}.forex-card{transition:background .15s}.forex-card.expanded{background:#ffffff0a}.forex-card-arrow{font-size:.75rem;color:var(--text-muted-color);margin-left:6px}.forex-detail-chart{height:100px;padding:6px 12px 8px;border-bottom:1px solid var(--border-color)}@media(max-width:768px){.forex-detail-chart{height:140px}}.news-item-wrap{display:flex;flex-direction:column}.news-item-wrap.news-read .news-headline{opacity:.55}.news-read-badge{font-size:.72rem;color:var(--accent-color);background:#4e8ff71f;padding:1px 5px;border-radius:3px}.news-expand-btn{display:flex;align-items:center;gap:5px;background:none;border:none;color:var(--accent-color);font-size:.78rem;cursor:pointer;padding:3px 12px 6px;text-align:left}.news-expand-btn i{font-size:.7rem}.news-summary-text{font-size:.82rem;color:var(--text-muted-color);line-height:1.6;padding:4px 12px 10px;border-bottom:1px solid var(--border-color);margin:0}.news-load-more{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;background:#ffffff0a;border:1px solid var(--border-color);color:var(--text-muted-color);font-size:.85rem;padding:8px;border-radius:8px;cursor:pointer;margin-top:6px;transition:background .15s}.news-load-more:hover{background:#ffffff14}.widget-cta-btn{display:flex;align-items:center;gap:6px;background:var(--accent-color);border:none;color:#fff;font-size:.88rem;font-weight:600;padding:8px 18px;border-radius:8px;cursor:pointer;margin-top:8px;transition:opacity .15s}.widget-cta-btn:hover{opacity:.85}.portfolio-card-arrow{color:var(--text-muted-color);font-size:.78rem;margin-left:auto}.portfolio-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;background:#ffffff0a;border:1px dashed var(--border-color);color:var(--text-muted-color);font-size:.85rem;padding:8px;border-radius:8px;cursor:pointer;margin-top:6px;transition:background .15s}.portfolio-add-btn:hover{background:#ffffff14}.aiw-bubble-wrap{position:relative;display:flex;flex-direction:column;gap:2px;flex:1}.aiw-copy-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--text-muted-color);font-size:.75rem;cursor:pointer;padding:2px 4px;border-radius:4px;align-self:flex-start;transition:color .15s}.aiw-copy-btn:hover{color:var(--accent-color)}.aiw-md{font-size:.88rem;line-height:1.65}.aiw-md p{margin:0 0 .5em}.aiw-md ul,.aiw-md ol{margin:.3em 0;padding-left:1.2em}.aiw-md strong{color:#e2e8f0}.aiw-md code{background:#ffffff14;padding:1px 4px;border-radius:3px;font-size:.85em}.aisig-cat-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.aisig-cat-toggle{background:none;border:none;color:var(--text-muted-color);cursor:pointer;font-size:.75rem;padding:2px 4px;width:20px}.aisig-cat-items{padding-left:8px}.aisig-cat-count{font-size:.75rem;color:var(--text-muted-color);margin-left:4px}.aisig-copy-btn{display:flex;align-items:center;gap:5px;background:#ffffff0f;border:1px solid var(--border-color);color:var(--text-muted-color);font-size:.8rem;padding:5px 12px;border-radius:6px;cursor:pointer;margin:8px 0;transition:background .15s}.aisig-copy-btn:hover{background:#ffffff1a}.macro-search-group-label{padding:6px 10px 3px;font-size:.72rem;font-weight:600;color:var(--text-muted-color);text-transform:uppercase;letter-spacing:.04em}.macro-search-divider{height:1px;background:var(--border-color);margin:3px 0}.macro-search-recent-icon{color:var(--text-muted-color);font-size:.75rem;width:14px}.macro-search-item.recent{opacity:.9}@keyframes stock-flash-anim{0%{background:#4e8ff72e}to{background:transparent}}.stock-flash{animation:stock-flash-anim .8s ease-out}.stock-search-error{font-size:.78rem;color:var(--negative-color);padding:2px 10px 4px;margin:0}.stock-symbol-input.input-error{border-color:var(--negative-color)}.stock-ai-bar{padding:8px 10px 4px;display:flex;align-items:center}.stock-ai-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--primary-color);border-radius:20px;background:transparent;color:var(--primary-color);font-size:.82rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.stock-ai-btn:hover:not(:disabled){background:var(--primary-color);color:#fff}.stock-ai-btn:disabled{opacity:.5;cursor:not-allowed}.stock-ai-header{display:flex;align-items:center;justify-content:space-between;width:100%}.stock-ai-title{font-size:.82rem;font-weight:600;color:var(--text-color);display:flex;align-items:center;gap:6px}.stock-ai-cache{font-size:.72rem;color:var(--text-muted-color);background:#8080801f;border-radius:10px;padding:1px 7px}.stock-ai-actions{display:flex;align-items:center;gap:4px}.stock-ai-refresh,.stock-ai-copy,.stock-ai-close{background:transparent;border:none;color:var(--text-muted-color);cursor:pointer;padding:4px 6px;border-radius:6px;font-size:.8rem;display:flex;align-items:center;gap:4px;transition:background .12s,color .12s}.stock-ai-refresh:hover{color:var(--primary-color);background:#357ce61a}.stock-ai-copy:hover{color:var(--text-color);background:#8080801a}.stock-ai-close:hover{color:var(--negative-color);background:#ef44441a}.stock-ai-result{padding:0 10px 10px;max-height:320px;overflow-y:auto}.stock-ai-md{font-size:.82rem;line-height:1.65;color:var(--text-color)}.stock-ai-md h2{font-size:.88rem;font-weight:700;color:var(--text-color);margin:10px 0 4px;padding-bottom:3px;border-bottom:1px solid var(--border-color)}.stock-ai-md p{margin:0 0 6px}.stock-ai-md ul,.stock-ai-md ol{padding-left:16px;margin:0 0 6px}.stock-ai-md li{margin-bottom:3px}.stock-ai-md strong{color:var(--text-color);font-weight:600}.stock-ai-error{font-size:.8rem;color:var(--negative-color);padding:6px 0;margin:0}.admin-ailogs-section{display:flex;flex-direction:column;gap:12px}.admin-ailogs-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 0}.admin-ailogs-pagination button{padding:4px 14px;border-radius:6px;border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-color);cursor:pointer;font-size:.85rem}.admin-ailogs-pagination button:disabled{opacity:.4;cursor:default}.admin-ailogs-pagination span{font-size:.85rem;color:var(--text-muted-color)}.admin-ailogs-warn{font-size:.85rem;color:var(--text-muted-color);display:flex;align-items:center;gap:6px}.admin-ailogs-info-box{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;font-size:.85rem;color:var(--text-muted-color);line-height:1.6}.admin-ailogs-info-box strong{color:var(--text-color)}.stock-chart-controls{display:flex;align-items:center;gap:8px;padding:6px 0 4px;flex-wrap:wrap}.stock-chart-type-btns{display:flex;gap:4px}.stock-ct-btn{padding:3px 10px;border-radius:5px;border:1px solid var(--border-color);background:transparent;color:var(--text-muted-color);font-size:.78rem;cursor:pointer;transition:all .15s}.stock-ct-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.stock-indicator-btns{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}.stock-ind-btn{padding:3px 8px;border-radius:5px;border:1px solid var(--border-color);background:transparent;color:var(--text-muted-color);font-size:.75rem;cursor:pointer;transition:all .15s}.stock-ind-btn.ma5.active{background:#f59e0b22;color:#f59e0b;border-color:#f59e0b66}.stock-ind-btn.ma20.active{background:#6366f122;color:#6366f1;border-color:#6366f166}.stock-ind-btn.ma60.active{background:#ec489922;color:#ec4899;border-color:#ec489966}.stock-ind-btn.bb.active{background:#6366f122;color:#6366f1;border-color:#6366f166}.stock-ind-btn.rsi.active{background:#a855f722;color:#a855f7;border-color:#a855f766}.stock-rsi-panel{margin-top:6px;border-top:1px solid var(--border-color);padding-top:4px}.stock-rsi-label{font-size:.72rem;color:#a855f7;margin-bottom:2px}.stock-rsi-chart{position:relative;height:80px}.stock-rsi-line{position:absolute;left:0;right:0;height:1px;pointer-events:none}.rsi-70{background:#ef44444d;bottom:70%}.rsi-30{background:#22c55e4d;bottom:30%}.stock-fundamentals{border-top:1px solid var(--border-color);padding:8px 0 4px;margin-top:4px}.stock-fund-title{font-size:.72rem;color:var(--text-muted-color);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.stock-fund-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px 8px}@media(max-width:480px){.stock-fund-grid{grid-template-columns:repeat(3,1fr)}}.stock-fund-item{display:flex;flex-direction:column;gap:2px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;padding:5px 8px}.sfk{font-size:.68rem;color:var(--text-muted-color)}.sfv{font-size:.82rem;font-weight:600;color:var(--text-color)}.alert-settings{max-width:720px;margin:0 auto;padding:24px 16px}.alert-settings-title{font-size:1.2rem;font-weight:700;color:var(--text-color);margin-bottom:20px;display:flex;align-items:center;gap:8px}.alert-push-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:10px;padding:14px 16px;margin-bottom:20px}.alert-push-info{flex:1}.alert-push-status{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem;color:var(--text-color);margin-bottom:4px}.alert-push-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.alert-push-dot.on{background:var(--positive-color, #4caf50)}.alert-push-dot.off{background:var(--text-muted-color, #888)}.alert-push-desc{font-size:.78rem;color:var(--text-muted-color);margin:0}.alert-push-btn{padding:7px 16px;border-radius:7px;border:none;cursor:pointer;font-size:.82rem;font-weight:600;white-space:nowrap;transition:opacity .15s}.alert-push-btn.on{background:var(--accent-color, #5865f2);color:#fff}.alert-push-btn.off{background:var(--surface-color);color:var(--text-muted-color);border:1px solid var(--border-color)}.alert-push-btn:disabled{opacity:.6;cursor:not-allowed}.alert-section-label{font-size:.72rem;font-weight:700;color:var(--text-muted-color);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.alert-presets{margin-bottom:20px}.alert-preset-grid{display:flex;flex-wrap:wrap;gap:8px}.alert-preset-btn{padding:6px 12px;border-radius:20px;border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-color);font-size:.78rem;cursor:pointer;transition:background .15s,border-color .15s}.alert-preset-btn:hover{background:var(--accent-color, #5865f2);border-color:var(--accent-color, #5865f2);color:#fff}.alert-preset-btn.signal{border-color:var(--accent-color, #5865f2);color:var(--accent-color, #5865f2)}.alert-preset-btn.signal:hover{background:var(--accent-color, #5865f2);color:#fff}.alert-custom-form{margin-bottom:24px}.alert-custom-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.alert-input{background:var(--surface-color);border:1px solid var(--border-color);border-radius:7px;padding:7px 10px;color:var(--text-color);font-size:.82rem;min-width:120px;flex:1}.alert-input.sm{max-width:100px;min-width:80px;flex:none}.alert-input:focus{outline:none;border-color:var(--accent-color, #5865f2)}.alert-select{background:var(--surface-color);border:1px solid var(--border-color);border-radius:7px;padding:7px 10px;color:var(--text-color);font-size:.82rem;cursor:pointer}.alert-select:focus{outline:none;border-color:var(--accent-color, #5865f2)}.alert-add-btn{padding:7px 16px;border-radius:7px;border:none;background:var(--accent-color, #5865f2);color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap}.alert-add-btn:hover{opacity:.85}.alert-condition-list{display:flex;flex-direction:column;gap:8px}.alert-condition-item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:9px;padding:10px 14px;transition:opacity .15s}.alert-condition-item.disabled{opacity:.45}.alert-cond-info{flex:1;min-width:0}.alert-cond-label{font-size:.88rem;font-weight:600;color:var(--text-color);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-cond-meta{font-size:.74rem;color:var(--text-muted-color);display:block;margin-top:2px}.alert-cond-actions{display:flex;gap:6px;align-items:center}.alert-toggle-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:4px;line-height:1}.alert-toggle-btn.on{color:var(--positive-color, #4caf50)}.alert-toggle-btn.off{color:var(--text-muted-color)}.alert-delete-btn{background:none;border:none;cursor:pointer;color:var(--text-muted-color);font-size:.82rem;padding:4px 6px;border-radius:5px;transition:color .15s,background .15s}.alert-delete-btn:hover{color:var(--negative-color, #f44336);background:#f4433614}.alert-history-list{display:flex;flex-direction:column;gap:6px}.alert-history-item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:9px 14px}.alert-history-msg{font-size:.84rem;color:var(--text-color);flex:1}.alert-history-time{font-size:.74rem;color:var(--text-muted-color);white-space:nowrap}@media(max-width:600px){.alert-push-card{flex-direction:column;align-items:flex-start}.alert-custom-row{flex-direction:column}.alert-input,.alert-input.sm{max-width:100%;min-width:0;width:100%}}.news-lang-tabs{display:flex;gap:6px;margin-bottom:10px}.news-lang-tab{padding:5px 14px;border-radius:20px;border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-muted-color);font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.news-lang-tab.active{background:var(--accent-color, #5865f2);border-color:var(--accent-color, #5865f2);color:#fff}.news-lang-tab:hover:not(.active){border-color:var(--accent-color, #5865f2);color:var(--text-color)}.stock-live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4caf50;box-shadow:0 0 #4caf5099;animation:live-pulse 2s infinite;flex-shrink:0}@keyframes live-pulse{0%{box-shadow:0 0 #4caf5099}70%{box-shadow:0 0 0 5px #4caf5000}to{box-shadow:0 0 #4caf5000}}.stock-live-badge{font-size:.62rem;font-weight:700;color:#4caf50;border:1px solid #4caf50;border-radius:4px;padding:1px 5px;letter-spacing:.05em;animation:live-pulse 2s infinite}.portfolio-page{display:flex;gap:0;height:calc(100vh - 60px);overflow:hidden}.pf-mobile-back{display:none;background:none;border:none;cursor:pointer;color:var(--accent-color, #5865f2);font-size:.9rem;font-weight:600;padding:8px 16px;align-items:center;gap:6px}.pf-sidebar{width:260px;min-width:220px;border-right:1px solid var(--border-color);display:flex;flex-direction:column;gap:0;overflow-y:auto;padding:16px 12px;background:var(--bg-primary, #0d0f14)}.pf-sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pf-sidebar-title{font-size:.85rem;font-weight:700;color:var(--text-muted-color);text-transform:uppercase;letter-spacing:.06em}.pf-new-btn{width:28px;height:28px;border-radius:7px;border:none;background:var(--accent-color, #5865f2);color:#fff;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center}.pf-card{padding:10px 12px;border-radius:9px;margin-bottom:6px;border:1px solid var(--border-color);background:var(--surface-color);cursor:pointer;transition:border-color .15s,background .15s}.pf-card:hover{border-color:var(--accent-color, #5865f2)}.pf-card.active{border-color:var(--accent-color, #5865f2);background:#5865f214}.pf-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.pf-card-name{font-size:.88rem;font-weight:600;color:var(--text-color)}.pf-risk-badge{font-size:.68rem;font-weight:700;color:#fff;border-radius:4px;padding:2px 7px}.pf-card-bottom{display:flex;align-items:center;gap:8px}.pf-card-meta{font-size:.74rem;color:var(--text-muted-color)}.pf-delete-btn{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--text-muted-color);font-size:.75rem;padding:2px 4px;border-radius:4px}.pf-delete-btn:hover{color:var(--negative-color, #f44336)}.pf-new-form{margin-top:12px;display:flex;flex-direction:column;gap:8px}.pf-input{background:var(--surface-color);border:1px solid var(--border-color);border-radius:7px;padding:7px 10px;color:var(--text-color);font-size:.82rem;width:100%}.pf-input:focus{outline:none;border-color:var(--accent-color, #5865f2)}.pf-select{background:var(--surface-color);border:1px solid var(--border-color);border-radius:7px;padding:7px 10px;color:var(--text-color);font-size:.82rem;width:100%;cursor:pointer}.pf-checkbox-row{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-color);cursor:pointer}.pf-form-btns{display:flex;gap:8px}.pf-save-btn{flex:1;padding:8px;border-radius:7px;border:none;background:var(--accent-color, #5865f2);color:#fff;font-size:.82rem;font-weight:600;cursor:pointer}.pf-cancel-btn{flex:1;padding:8px;border-radius:7px;border:1px solid var(--border-color);background:none;color:var(--text-muted-color);font-size:.82rem;cursor:pointer}.pf-detail{flex:1;overflow-y:auto;padding:20px 24px}.pf-empty-hint{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.pf-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.pf-detail-name{font-size:1.1rem;font-weight:700;color:var(--text-color);margin-right:8px}.pf-add-holding-btn{padding:7px 16px;border-radius:7px;border:none;background:var(--accent-color, #5865f2);color:#fff;font-size:.82rem;font-weight:600;cursor:pointer}.pf-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.pf-stat-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:9px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.pf-stat-label{font-size:.72rem;color:var(--text-muted-color);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.pf-stat-value{font-size:1rem;font-weight:700;color:var(--text-color)}.pf-table-wrap{overflow-x:auto}.pf-table{width:100%;border-collapse:collapse;font-size:.82rem}.pf-table th{text-align:left;padding:8px 10px;font-size:.7rem;font-weight:700;color:var(--text-muted-color);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.pf-table td{padding:10px;border-bottom:1px solid var(--border-color);color:var(--text-color);vertical-align:middle}.pf-table tr:hover td{background:#ffffff05}.pf-symbol-cell{display:flex;flex-direction:column;gap:2px}.pf-symbol{font-weight:700;font-size:.85rem}.pf-name{font-size:.72rem;color:var(--text-muted-color)}.pf-source-badge{font-size:.62rem;background:var(--accent-color, #5865f2);color:#fff;border-radius:3px;padding:1px 5px;width:-moz-fit-content;width:fit-content}.pf-na{color:var(--text-muted-color)}.pf-row-actions{display:flex;gap:6px}.pf-edit-btn{background:none;border:none;cursor:pointer;color:var(--text-muted-color);font-size:.78rem;padding:4px 6px;border-radius:4px}.pf-edit-btn:hover{color:var(--accent-color, #5865f2)}.pf-del-btn{background:none;border:none;cursor:pointer;color:var(--text-muted-color);font-size:.78rem;padding:4px 6px;border-radius:4px}.pf-del-btn:hover{color:var(--negative-color, #f44336)}.pf-modal-overlay{position:fixed;inset:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.pf-modal{background:var(--bg-primary, #0d0f14);border:1px solid var(--border-color);border-radius:12px;padding:24px;width:100%;max-width:400px}.pf-modal-title{font-size:1rem;font-weight:700;color:var(--text-color);margin-bottom:16px}.pf-modal-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.pf-modal-fields label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--text-muted-color);font-weight:600}.pf-invested-amt{font-size:.74rem;color:var(--text-muted-color);margin-left:auto}@media(max-width:700px){.portfolio-page{flex-direction:column;height:auto;overflow:visible}.pf-mobile-back{display:flex!important}.pf-hidden-mobile{display:none!important}.pf-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border-color);max-height:none}.pf-detail{padding:16px}.pf-stats-row{grid-template-columns:1fr 1fr}}.settings-input{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:9px 12px;color:var(--text-color);font-size:.88rem;width:100%;box-sizing:border-box;transition:border-color .15s}.settings-input::-moz-placeholder{color:var(--text-muted-color)}.settings-input::placeholder{color:var(--text-muted-color)}.settings-input:focus{outline:none;border-color:var(--accent-color, #5865f2)}.term-suggest-tab{padding:0}.term-suggest-filters{display:flex;gap:8px;flex-wrap:wrap;padding:16px 0 12px}.term-suggest-filter-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-muted-color);font-size:.82rem;cursor:pointer;transition:all .15s}.term-suggest-filter-btn:hover{border-color:var(--accent-color);color:var(--text-color)}.term-suggest-filter-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.term-suggest-count{background:#ffffff40;border-radius:10px;padding:1px 6px;font-size:.75rem;font-weight:700}.term-suggest-list{display:flex;flex-direction:column;gap:6px}.term-suggest-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:10px;background:var(--surface-color);border:1px solid var(--border-color);transition:border-color .15s}.term-suggest-item-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.term-suggest-title{font-size:.95rem;font-weight:600;color:var(--text-color)}.term-suggest-def{font-size:.8rem;color:var(--text-muted-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.term-suggest-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.term-suggest-source,.term-suggest-occ,.term-suggest-date{font-size:.75rem;color:var(--text-muted-color)}.term-suggest-item-right{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:12px}.term-suggest-arrow{color:var(--text-muted-color);font-size:.75rem}.term-suggest-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px}.term-suggest-modal{background:var(--bg-primary, #0d0f14);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:520px;display:flex;flex-direction:column;max-height:90vh}.term-suggest-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--border-color)}.term-suggest-modal-header h3{font-size:1rem;font-weight:600;color:var(--text-color);margin:0}.term-suggest-modal-close{background:none;border:none;color:var(--text-muted-color);cursor:pointer;font-size:1rem;padding:4px 8px}.term-suggest-modal-close:hover{color:var(--text-color)}.term-suggest-modal-body{padding:18px 20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:14px}.term-suggest-field{display:flex;flex-direction:column;gap:6px}.term-suggest-field label{font-size:.78rem;font-weight:600;color:var(--text-muted-color);text-transform:uppercase;letter-spacing:.04em}.term-suggest-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.term-suggest-textarea{resize:vertical;min-height:80px;font-family:inherit}.term-suggest-modal-info{display:flex;gap:14px;flex-wrap:wrap;padding:10px 12px;background:var(--surface-color);border-radius:8px;font-size:.78rem;color:var(--text-muted-color)}.term-suggest-msg{font-size:.85rem;padding:8px 12px;border-radius:8px;margin:0}.term-suggest-msg.ok{background:#10b98122;color:#10b981}.term-suggest-msg.err{background:#ef444422;color:#ef4444}.term-suggest-modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--border-color)}.term-suggest-reject-btn{padding:8px 16px;border-radius:8px;background:transparent;border:1px solid var(--border-color);color:var(--text-muted-color);font-size:.85rem;cursor:pointer}.term-suggest-reject-btn:hover:not(:disabled){border-color:#ef4444;color:#ef4444}.term-suggest-reject-btn:disabled{opacity:.4;cursor:not-allowed}.term-suggest-approve-btn{padding:8px 18px;border-radius:8px;background:var(--accent-color);border:none;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer}.term-suggest-approve-btn:hover:not(:disabled){opacity:.85}.term-suggest-approve-btn:disabled{opacity:.4;cursor:not-allowed}.term-suggest-select-header{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:var(--surface-color);border:1px solid var(--border-color);margin-bottom:4px}.term-suggest-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:.85rem;color:var(--text-muted-color)}.term-suggest-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent-color)}.term-suggest-checked-count{margin-left:auto;font-size:.8rem;color:var(--accent-color);font-weight:600}.term-suggest-item{cursor:pointer}.term-suggest-item.checked{border-color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 8%,var(--surface-color))}.term-suggest-item:hover{border-color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 5%,var(--surface-color))}.term-suggest-bulk-bar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin-top:8px;background:var(--surface-color);border:1px solid var(--accent-color);border-radius:10px;box-shadow:0 -2px 12px #00000026}.term-suggest-bulk-info{font-size:.88rem;font-weight:600;color:var(--accent-color);display:flex;align-items:center;gap:6px}.term-suggest-bulk-actions{display:flex;gap:8px}.term-suggest-bulk-clear{padding:6px 14px;border-radius:7px;background:transparent;border:1px solid var(--border-color);color:var(--text-muted-color);font-size:.83rem;cursor:pointer}.term-suggest-bulk-clear:hover{border-color:var(--text-color);color:var(--text-color)}.term-suggest-bulk-reject{padding:6px 14px;border-radius:7px;background:transparent;border:1px solid #f59e0b;color:#f59e0b;font-size:.83rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px}.term-suggest-bulk-reject:hover:not(:disabled){background:#f59e0b22}.term-suggest-bulk-reject:disabled{opacity:.5;cursor:not-allowed}.term-suggest-bulk-delete{padding:6px 14px;border-radius:7px;background:#ef4444;border:none;color:#fff;font-size:.83rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px}.term-suggest-bulk-delete:hover:not(:disabled){opacity:.85}.term-suggest-bulk-delete:disabled{opacity:.5;cursor:not-allowed}.term-suggest-toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:16px 0 8px}.term-suggest-toolbar-btn{display:flex;align-items:center;gap:6px;padding:7px 16px;border-radius:8px;background:var(--accent-color);border:none;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .15s}.term-suggest-toolbar-btn.secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-color)}.term-suggest-toolbar-btn:hover:not(:disabled){opacity:.8}.term-suggest-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.term-suggest-manual-form{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-bottom:4px;background:var(--surface-color);border-radius:10px;border:1px solid var(--border-color)}.term-suggest-manual-form .settings-input{flex:1}.term-suggest-manual-msg{font-size:.82rem;white-space:nowrap}.term-suggest-manual-msg.ok{color:#10b981}.term-suggest-manual-msg.err{color:#ef4444}.term-suggest-gen-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;background:var(--accent-color);border:none;color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;transition:opacity .15s;white-space:nowrap}.term-suggest-gen-btn:hover:not(:disabled){opacity:.8}.term-suggest-gen-btn:disabled{opacity:.5;cursor:not-allowed}.term-suggest-review-modal{max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.term-suggest-review-modal .modal-body-section{flex:1;overflow-y:auto}.term-suggest-edit-section{margin-top:16px;padding:16px;background:var(--surface-color);border-radius:10px;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:12px}.term-suggest-edit-title{font-size:.8rem;font-weight:600;color:var(--text-muted-color);display:flex;align-items:center;gap:6px}.term-suggest-edit-section .term-suggest-field-row{grid-template-columns:repeat(4,1fr)}@media(max-width:600px){.term-suggest-edit-section .term-suggest-field-row{grid-template-columns:1fr 1fr}}.term-suggest-icon-input{width:60px;text-align:center;font-size:1.2rem}.term-suggest-color-input{width:100%;height:36px;border-radius:6px;border:1px solid var(--border-color);cursor:pointer;padding:2px;background:var(--surface-color)}.auto-report-tab{display:flex;flex-direction:column;gap:16px;padding:8px 0}.auto-report-card{padding:20px;border-radius:12px;background:var(--surface-color);border:1px solid var(--border-color)}.auto-report-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.auto-report-card-title{font-size:1rem;font-weight:700;color:var(--text-color)}.auto-report-card-sub{font-size:.8rem;color:var(--text-muted-color);margin-top:3px}.auto-report-toggle{width:52px;height:28px;border-radius:14px;border:none;cursor:pointer;position:relative;transition:background .25s;flex-shrink:0}.auto-report-toggle.on{background:#10b981}.auto-report-toggle.off{background:#6b7280}.auto-report-toggle:disabled{opacity:.6;cursor:not-allowed}.auto-report-toggle-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .25s;box-shadow:0 1px 4px #0000004d}.auto-report-toggle.on .auto-report-toggle-knob{transform:translate(24px)}.auto-report-status-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.auto-report-badge{font-size:.82rem;font-weight:600;padding:3px 10px;border-radius:20px}.auto-report-badge.on{background:#10b98122;color:#10b981}.auto-report-badge.off{background:#6b728022;color:#9ca3af}.auto-report-updated{font-size:.78rem;color:var(--text-muted-color)}.auto-report-info-card{padding:16px 20px;border-radius:12px;background:var(--surface-color);border:1px solid var(--border-color)}.auto-report-info-title{font-size:.85rem;font-weight:600;color:var(--text-color);margin-bottom:10px;display:flex;align-items:center;gap:7px}.auto-report-info-body{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.auto-report-info-date{font-size:.95rem;font-weight:700;color:var(--text-color)}.auto-report-info-time{font-size:.8rem;color:var(--text-muted-color)}.auto-report-info-empty{font-size:.85rem;color:var(--text-muted-color)}.auto-report-info-desc{font-size:.83rem;color:var(--text-muted-color);margin:0 0 12px}.auto-report-trigger-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;border-radius:8px;background:var(--accent-color);border:none;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer}.auto-report-trigger-btn:hover:not(:disabled){opacity:.85}.auto-report-trigger-btn:disabled{opacity:.5;cursor:not-allowed}.auto-report-msg{font-size:.85rem;padding:10px 14px;border-radius:8px;margin:0}.auto-report-msg.ok{background:#10b98120;color:#10b981}.auto-report-msg.warn{background:#f59e0b20;color:#f59e0b}.auto-report-msg.err{background:#ef444420;color:#ef4444}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.38"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.uppercase{text-transform:uppercase}.italic{font-style:italic}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
