:root{--text:#1d1d1f;--text-secondary:#6e6e73;--text-muted:#86868b;--bg:#fbfbfd;--card-bg:#fff;--border:#d2d2d7;--accent:#1d1d1f;--accent-hover:#424245;--shadow-sm:0 2px 8px #00000014;--shadow-md:0 4px 16px #0000001a;--card-opacity:77%;--theme-opacity:90%;--radius-custom:12px;--bg-image:none;--radius-sm:calc(var(--radius-custom) - 4px);--radius-md:var(--radius-custom);--radius-lg:calc(var(--radius-custom) + 4px);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5}[data-theme=dark]{--text:#f5f5f7;--text-secondary:#a1a1a6;--text-muted:#86868b;--bg:#1d1d1f;--card-bg:#2d2d30;--border:#424245;--accent:#f5f5f7;--accent-hover:#d1d1d6;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--text:#f5f5f7;--text-secondary:#a1a1a6;--text-muted:#86868b;--bg:#1d1d1f;--card-bg:#2d2d30;--border:#424245;--accent:#f5f5f7;--accent-hover:#d1d1d6;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006}}*{box-sizing:border-box;margin:0;padding:0}#root{width:100%;min-height:100vh}body{background-color:var(--bg);margin:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.search-container{width:100%;max-width:580px;margin:0 auto;position:relative}.search-box{background:color-mix(in srgb, var(--card-bg) var(--theme-opacity), transparent);border:2px solid var(--border);box-shadow:var(--shadow-sm);border-radius:24px;align-items:center;padding:4px;transition:all .25s;display:flex}.search-box:focus-within{border-color:var(--accent);box-shadow:0 4px 20px #ff6b6b26}.search-divider{background:var(--border);flex-shrink:0;width:1px;height:20px;margin:0 2px}.engine-trigger{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:20px;align-items:center;gap:4px;padding:8px 10px;font-size:13px;font-weight:700;transition:all .15s;display:flex}.engine-trigger:hover{background:var(--bg);color:var(--text)}.engine-trigger-icon{justify-content:center;align-items:center;width:16px;height:16px;display:flex}.engine-trigger-name{font-size:13px}.engine-quick-panel{background:var(--card-bg);border:2px solid var(--border);box-shadow:var(--shadow-md);z-index:200;border-radius:16px;align-items:center;gap:8px;padding:10px;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0}.quick-engines{flex:1;gap:6px;padding:2px 0;display:flex;overflow-x:auto}.quick-engine-btn{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:4px;min-width:52px;padding:8px 12px;font-size:11px;font-weight:600;transition:all .15s;display:flex}.quick-engine-btn:hover{background:var(--bg);color:var(--text)}.quick-engine-btn.active{background:var(--bg);border-color:var(--accent);color:var(--accent)}.quick-add-btn{border:2px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.quick-add-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.engine-select-modal{z-index:1000;-webkit-backdrop-filter:blur(8px);background:#00000080;justify-content:center;align-items:center;padding:40px 24px;display:flex;position:fixed;inset:0;overflow-y:auto}.engine-select-content{background:var(--card-bg);border:none;border-radius:16px;width:100%;max-width:600px;overflow:hidden;box-shadow:0 20px 60px #0003}.select-modal-header{justify-content:space-between;align-items:center;padding:24px 28px 20px;display:flex}.select-modal-header h3{color:var(--text);letter-spacing:-.3px;margin:0;font-size:20px;font-weight:600}.select-modal-close{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:#0000000d;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:all .2s;display:flex}.select-modal-close:hover{background:#0000001a}.select-modal-body{max-height:55vh;padding:0 28px 24px;overflow-y:auto}.select-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.select-item{border:1px solid var(--border);cursor:pointer;background:var(--bg);border-radius:12px;align-items:center;gap:12px;padding:14px 16px;transition:all .2s;display:flex;position:relative}.select-item:hover{border-color:var(--text-muted)}.select-item.checked{border-color:var(--accent);background:#0071e30f}.select-item input{display:none}.select-item-name{color:var(--text);flex:1;font-size:14px;font-weight:500}.select-check{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;display:flex}.select-remove{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.select-remove:hover{color:#fff;background:#ff3b30}.custom-engine-section{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.custom-engine-section h4{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 14px;font-size:13px;font-weight:600}.custom-engine-form{flex-wrap:wrap;gap:10px;display:flex}.custom-icon-input{text-align:center;border:1px solid var(--border);background:var(--card-bg);min-width:50px;color:var(--text);border-radius:10px;outline:none;flex:1;padding:12px;font-size:14px;font-weight:500;transition:border-color .2s}.custom-name-input{border:1px solid var(--border);background:var(--card-bg);min-width:120px;color:var(--text);border-radius:10px;outline:none;flex:4;padding:12px 14px;font-size:14px;font-weight:500;transition:border-color .2s}.custom-url-row{gap:10px;width:100%;display:flex}.custom-url-input{border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:10px;outline:none;flex:1;padding:12px 14px;font-size:14px;font-weight:500;transition:border-color .2s}.custom-icon-input:focus,.custom-name-input:focus,.custom-url-input:focus{border-color:var(--accent)}.custom-add-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s}.custom-add-btn:hover{background:var(--accent-hover)}.select-modal-footer{border-top:1px solid var(--border);background:#00000005;justify-content:space-between;align-items:center;padding:16px 28px;display:flex}.select-count{color:var(--text-secondary);font-size:13px;font-weight:500}.select-confirm-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 28px;font-size:14px;font-weight:600;transition:all .2s}.select-confirm-btn:hover{background:var(--accent-hover)}.search-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:10px 8px;font-size:15px;font-weight:600}.search-input::placeholder{color:var(--text-muted);font-weight:400}.search-submit{background:var(--bg);width:38px;height:38px;color:var(--text);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.search-submit:hover{background:var(--card-bg);transform:scale(1.05)}@media (width<=640px){.engine-trigger-name{display:none}.select-grid{grid-template-columns:1fr}.custom-engine-form{flex-direction:column}.custom-name-input{width:100%}}@media (width<=480px){.search-box{border-radius:16px;padding:2px}.engine-trigger{padding:6px 8px}.search-input{padding:8px 6px;font-size:14px}.search-submit{width:34px;height:34px}.engine-select-content{border-radius:12px;margin:10px}.select-modal-header{padding:16px 20px}.select-modal-header h3{font-size:17px}.select-modal-body{padding:0 20px 20px}}.modal-popup-overlay{z-index:1100;-webkit-backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-popup{background:var(--card-bg);text-align:center;border-radius:16px;width:100%;max-width:320px;margin:20px;padding:28px 24px 24px;box-shadow:0 20px 60px #00000040}.modal-popup-icon{margin-bottom:12px;font-size:48px}.modal-popup-title{color:var(--text);margin-bottom:8px;font-size:18px;font-weight:600}.modal-popup-message{color:var(--text-secondary);margin-bottom:24px;font-size:14px;line-height:1.5}.modal-popup-btn{cursor:pointer;border:none;border-radius:10px;width:100%;padding:12px 20px;font-size:15px;font-weight:600;transition:all .15s}.modal-popup-btn.success{background:var(--accent);color:#fff}.modal-popup-btn.success:hover{background:var(--accent-hover)}.modal-popup-btn.error{color:#fff;background:#ff3b30}.modal-popup-btn.error:hover{background:#e6352b}.modal-popup-actions{gap:12px;display:flex}.modal-popup-cancel-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:10px;flex:1;padding:12px 20px;font-size:15px;font-weight:600;transition:all .15s}.modal-popup-cancel-btn:hover{background:var(--bg);color:var(--text)}.modal-popup-confirm-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;flex:1;padding:12px 20px;font-size:15px;font-weight:600;transition:background .15s}.modal-popup-confirm-btn:hover{background:var(--accent-hover)}.modal-popup-confirm-btn.danger{background:#ff3b30}.modal-popup-confirm-btn.danger:hover{background:#e6352b}.link-card{background:color-mix(in srgb, var(--card-bg) var(--card-opacity), transparent);border-radius:var(--radius-md);border:1px solid var(--border);cursor:pointer;min-height:88px;box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;padding:14px 10px;text-decoration:none;transition:all .2s;display:flex}.link-card.compact{min-width:72px;min-height:auto;padding:10px 14px}.link-card.compact .link-icon-wrap{pointer-events:none;width:28px;height:28px;margin-bottom:6px}.link-card.compact .link-icon{pointer-events:none;font-size:18px}.link-card.compact .link-favicon{pointer-events:none;-webkit-user-drag:none;user-drag:none;border-radius:2px;width:12px;height:12px;bottom:-2px;right:-2px}.link-card.compact .link-name{pointer-events:none;font-size:12px;font-weight:500}.link-card:hover{box-shadow:var(--shadow-md);border-color:var(--text-muted);transform:translateY(-3px)}.link-card.dragging{opacity:.5;transform:scale(.95)}.link-card.drag-over{position:relative}.link-card.drag-over:before{content:"";background:var(--accent);border-radius:2px;width:3px;position:absolute;top:4px;bottom:4px}.link-card.drag-over-before:before{left:-4px}.link-card.drag-over-after:before{right:-4px}.link-card.editing{opacity:.6}.link-card.has-color{border-color:var(--card-accent,var(--border))}.link-card.has-color:hover{box-shadow:0 4px 12px color-mix(in srgb, var(--card-accent) 25%, transparent)}.link-icon-wrap{pointer-events:none;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:8px;display:flex;position:relative}.link-favicon{object-fit:contain;pointer-events:none;-webkit-user-drag:none;user-drag:none;border-radius:3px;width:14px;height:14px;position:absolute;bottom:0;right:0}.link-icon{pointer-events:none;font-size:22px}.link-name{color:var(--text);text-align:center;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;max-width:100%;font-size:13px;font-weight:600;overflow:hidden}.link-desc{color:var(--text-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;max-width:100%;margin-top:3px;font-size:11px;overflow:hidden}.link-context-menu{background:var(--card-bg);border:1px solid var(--border);z-index:1000;border-radius:10px;min-width:160px;padding:6px;position:fixed;box-shadow:0 8px 24px #00000026}.menu-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:500;transition:background .15s;display:flex}.menu-item:hover{background:var(--bg)}.menu-item.delete{color:#ff3b30}.menu-item.delete:hover{background:#ff3b301a}.edit-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.edit-modal{background:var(--card-bg);border-radius:14px;width:100%;max-width:400px;margin:20px;overflow:hidden;box-shadow:0 20px 60px #0003}.edit-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.edit-modal-header h3{color:var(--text);margin:0;font-size:17px;font-weight:600}.edit-modal-close{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:#0000000d;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:background .15s;display:flex}.edit-modal-close:hover{background:#0000001a}.edit-modal-body{flex-direction:column;gap:16px;padding:20px;display:flex}.edit-field{flex-direction:column;gap:6px;display:flex}.edit-field label{color:var(--text-secondary);font-size:13px;font-weight:600}.edit-field input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .2s}.edit-field input:focus{border-color:var(--accent)}.edit-url-row{gap:8px;display:flex}.edit-url-row input{flex:1}.fetch-icon-btn{border:1px solid var(--border);background:var(--card-bg);cursor:pointer;border-radius:8px;padding:10px 14px;font-size:16px;transition:all .15s}.fetch-icon-btn:hover{background:var(--bg);border-color:var(--text-muted)}.edit-color-row{align-items:center;gap:8px;display:flex}.color-picker{border:1px solid var(--border);cursor:pointer;border-radius:8px;width:44px;height:38px;padding:2px}.color-text{flex:1}.clear-color-btn{color:#ff3b30;cursor:pointer;background:#ff3b301a;border:none;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:600;transition:background .15s}.clear-color-btn:hover{background:#ff3b3033}.edit-preview{flex-direction:column;gap:8px;display:flex}.preview-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-width:80px;padding:16px;display:flex}.preview-icon-wrap{justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:6px;display:flex}.preview-icon{font-size:20px}.preview-name{color:var(--text);font-size:12px;font-weight:600}.edit-modal-footer{border-top:1px solid var(--border);background:#00000005;justify-content:flex-end;gap:10px;padding:16px 20px;display:flex}.edit-cancel-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .15s}.edit-cancel-btn:hover{background:var(--bg)}.edit-save-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-size:14px;font-weight:600;transition:background .15s}.edit-save-btn:hover{background:var(--accent-hover)}@media (width<=480px){.link-card{min-height:76px;padding:12px 8px}.link-icon-wrap{width:28px;height:28px;margin-bottom:6px}.link-icon{font-size:18px}.link-name{font-size:12px}.link-desc{display:none}.edit-modal{max-height:90vh;margin:10px}}.icon{vertical-align:middle;-webkit-user-select:none;user-select:none;flex-shrink:0;display:inline-block}.category-section{margin-bottom:28px;transition:background .2s}.category-section.drag-over-section{background:#0071e30d;border-radius:12px;margin:-8px -8px 20px;padding:8px}.category-title{color:var(--text);align-items:center;gap:8px;margin:0 0 14px;padding-left:2px;font-size:15px;font-weight:600;display:flex}.category-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:14px;display:grid}.quick-section{margin-bottom:24px;transition:background .2s}.quick-section.drag-over-section{background:#0071e30d;border-radius:12px;margin:-8px -8px 16px;padding:8px}.quick-section .quick-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:10px;display:grid}@media (width<=480px){.category-grid{grid-template-columns:repeat(3,1fr);gap:10px}.quick-section .quick-grid{grid-template-columns:repeat(4,1fr);gap:8px}}.about-overlay{top:0;left:var(--sidebar-width,220px);z-index:1100;-webkit-backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;bottom:0;right:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.about-modal{background:var(--bg);border:1px solid var(--border);scrollbar-width:none;-ms-overflow-style:none;border-radius:20px;width:100%;max-width:65vw;max-height:85vh;padding:40px;animation:.3s slideUp;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.about-modal::-webkit-scrollbar{display:none}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.about-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:24px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.about-close:hover{background:var(--border);color:var(--text)}.about-content{color:var(--text);font-size:15px;line-height:1.8}.about-content h1{background:linear-gradient(135deg,#f97316,#ea580c);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;margin:0 0 16px;font-size:36px;font-weight:800}.about-content h2{color:var(--text);border-bottom:2px solid var(--border);margin:32px 0 16px;padding-bottom:12px;font-size:22px;font-weight:700;position:relative}.about-content h2:after{content:"";background:linear-gradient(90deg, var(--accent), transparent);border-radius:2px;width:60px;height:2px;position:absolute;bottom:-2px;left:0}.about-content h3{color:var(--text);align-items:center;gap:8px;margin:24px 0 12px;font-size:18px;font-weight:600;display:flex}.about-content h3:before{content:"";background:var(--accent);border-radius:2px;width:4px;height:18px}.about-content p{color:var(--text-secondary);margin:16px 0}.about-content strong{color:var(--text);font-weight:600}.about-content a{color:var(--accent);font-weight:500;text-decoration:none;transition:color .2s;position:relative}.about-content a:after{content:"";background:var(--accent);width:0;height:1px;transition:width .2s;position:absolute;bottom:-1px;left:0}.about-content a:hover:after{width:100%}.about-content ul{flex-direction:column;gap:12px;margin:20px 0;padding:0;list-style:none;display:flex}.about-content li{color:var(--text-secondary);background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:12px 16px 12px 44px;transition:all .2s;position:relative}.about-content li:hover{border-color:var(--accent);transform:translate(4px)}.about-content li:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.about-content li strong{color:var(--text)}.about-content table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:12px;width:100%;margin:24px 0;font-size:15px;overflow:hidden}.about-content th,.about-content td{text-align:center;padding:16px 20px}.about-content th{color:var(--text);background:linear-gradient(135deg, var(--card-bg), var(--bg));border-bottom:2px solid var(--accent);font-weight:600}.about-content td{color:var(--text-secondary);border-bottom:1px solid var(--border)}.about-content tr:last-child td{border-bottom:none}.about-content tr:hover td{background:var(--card-bg)}.about-content hr{background:linear-gradient(90deg, transparent, var(--border), transparent);border:none;height:1px;margin:36px 0}.about-content br{content:"";margin-top:12px;display:block}.about-content code{background:var(--card-bg);color:var(--accent);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-family:SF Mono,Fira Code,monospace;font-size:13px}.about-content blockquote{border-left:4px solid var(--accent);background:var(--card-bg);color:var(--text-secondary);border-radius:0 10px 10px 0;margin:20px 0;padding:16px 20px}@media (width<=768px){.about-modal{max-width:90vw;padding:24px}.about-content h1{font-size:28px}.about-content h2{font-size:20px}.about-content li{padding:10px 12px 10px 36px}.about-content li:before{left:12px}}@media (width<=480px){.about-modal{padding:20px}.about-content h1{font-size:24px}}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}@media (width>=769px){.modal-overlay{left:var(--sidebar-width,220px)}}.modal{background:var(--bg);border:1px solid var(--border);border-radius:16px;flex-direction:column;width:100%;max-width:600px;max-height:85vh;display:flex;overflow:hidden}@media (width>=800px){.modal.wide{max-width:1200px}}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h2{margin:0;font-size:18px;font-weight:600}.close-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:0;font-size:24px;line-height:1}.close-btn:hover{color:var(--text)}.modal-tabs{border-bottom:1px solid var(--border);display:flex}.modal-tabs button{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex:1;padding:12px;font-size:14px;transition:all .2s}.modal-tabs button.active{color:var(--accent);border-bottom:2px solid var(--accent);margin-bottom:-1px}.modal-body{padding:20px;overflow-y:auto}.manage-list{flex-direction:column;gap:16px;display:flex}.manage-category{border:1px solid var(--border);background:var(--card-bg);border-radius:12px;overflow:hidden}.manage-category-title{background:linear-gradient(to right, var(--card-bg), transparent);cursor:default;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;margin:0;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.manage-category-title span:first-child{font-size:18px}.manage-category-count{color:var(--accent);background:#0071e31a;border-radius:12px;margin-left:auto;padding:3px 10px;font-size:11px;font-weight:600}.manage-links{background:var(--bg);grid-template-columns:1fr;gap:8px;padding:12px;display:grid}@media (width>=600px){.manage-links{grid-template-columns:repeat(2,minmax(0,1fr))}}.manage-link-item{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;min-width:0;padding:10px 12px;transition:all .15s;display:flex}.manage-link-item:hover{border-color:var(--text-muted);box-shadow:0 2px 8px #0000000a}.manage-link-item .link-item-icon{text-align:center;width:24px;font-size:20px}.manage-link-item .link-item-name{color:var(--text);min-width:80px;font-size:13px;font-weight:600}.manage-link-item .link-item-url{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.manage-link-item .delete-btn{border-radius:6px;padding:5px 10px;font-size:12px;transition:all .15s}.category-select{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:6px;outline:none;padding:5px 10px;font-size:12px;font-weight:500;transition:all .15s}.category-select:hover{border-color:var(--accent)}.category-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #0071e326}.manage-empty{text-align:center;color:var(--text-muted);background:var(--card-bg);border-radius:8px;margin:12px;padding:20px;font-size:13px}.link-list{flex-direction:column;gap:8px;display:flex}.link-item{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;padding:10px 12px;display:flex}.link-item-icon{font-size:20px}.link-item-name{color:var(--text);min-width:80px;font-weight:500}.link-item-url{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.delete-btn{color:#dc2626;cursor:pointer;background:#fee2e2;border:none;border-radius:4px;padding:4px 8px;font-size:12px}.delete-btn:hover{background:#fecaca}.add-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);font-size:13px;font-weight:500}.form-group input,.form-group select{border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:8px;padding:10px 12px;font-size:14px}.form-group input:focus,.form-group select:focus{border-color:var(--accent);outline:none}.submit-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px;font-size:14px;font-weight:500}.submit-btn:hover{background:var(--accent-hover)}.import-export{flex-direction:column;gap:12px;display:flex}.action-btn{border:1px solid var(--border);background:var(--card-bg);cursor:pointer;color:var(--text);border-radius:8px;padding:12px;font-size:14px}.action-btn:hover{background:var(--border)}.action-btn.danger{color:#dc2626;border-color:#fecaca}.action-btn.danger:hover{background:#fee2e2}.color-picker-row{align-items:center;gap:12px;display:flex}.color-value{color:var(--text-secondary);font-family:monospace;font-size:13px}.appearance-settings{flex-direction:column;gap:16px;display:flex}.appearance-settings .form-group{margin-bottom:0}.appearance-settings .form-group label{color:var(--text-secondary);margin-bottom:8px;font-size:13px;font-weight:500;display:block}.setting-row{align-items:center;gap:12px;display:flex}.color-picker{border:1px solid var(--border);cursor:pointer;background:var(--bg);border-radius:8px;width:36px;height:36px;padding:2px}.color-value{color:var(--text-muted);flex:1;font-family:monospace;font-size:13px}.range-slider{background:var(--border);cursor:pointer;-webkit-appearance:none;border-radius:3px;outline:none;flex:1;height:6px}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:16px;height:16px}.range-value{color:var(--text-muted);text-align:right;min-width:50px;font-size:13px}.bg-preview{object-fit:cover;border:1px solid var(--border);border-radius:6px;width:48px;height:32px}.toggle-label{color:var(--text-muted);flex:1;font-size:13px}.sidebar-settings{flex-direction:column;gap:20px;display:flex}.sidebar-menu-list h4,.sidebar-add-form h4{color:var(--text);margin:0 0 12px;font-size:14px;font-weight:600}.sidebar-menu-item-manage{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;margin-bottom:8px;overflow:hidden}.menu-item-header{align-items:center;gap:10px;padding:10px 12px;display:flex}.submenu-list{background:var(--bg);flex-direction:column;gap:6px;padding:8px 12px 12px 24px;display:flex}.submenu-item-manage{background:var(--card-bg);border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.menu-icon{text-align:center;width:20px;font-size:16px}.menu-children-count{color:var(--text-muted);background:var(--border);border-radius:10px;margin-left:auto;padding:2px 8px;font-size:11px}.menu-label{color:var(--text);min-width:60px;font-weight:500}.menu-url{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.delete-btn.small{padding:3px 8px;font-size:11px}.edit-btn.small{color:#0369a1;cursor:pointer;background:#e0f2fe;border:none;border-radius:4px;padding:3px 8px;font-size:11px}.edit-btn.small:hover{background:#bae6fd}.save-btn.small{color:#16a34a;cursor:pointer;background:#dcfce7;border:none;border-radius:4px;padding:3px 8px;font-size:11px}.save-btn.small:hover{background:#bbf7d0}.cancel-btn.small{background:var(--border);color:var(--text-secondary);cursor:pointer;border:none;border-radius:4px;padding:3px 8px;font-size:11px}.cancel-btn.small:hover{background:#d4d4d4}.menu-edit-form{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.edit-input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;flex:1;min-width:80px;padding:6px 10px;font-size:12px}.edit-input.small{flex:none;width:80px}.edit-input:focus{border-color:var(--accent);outline:none}.sidebar-add-form{border-top:1px solid var(--border);padding-top:16px}.about-settings{flex-direction:column;justify-content:center;gap:16px;height:calc(85vh - 120px);display:flex}.about-settings .form-group{flex-direction:column;flex:1;display:flex}.about-textarea{border:1px solid var(--border);background:var(--card-bg);width:100%;color:var(--text);resize:none;border-radius:8px;flex:1;padding:12px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.6}.about-textarea:focus{border-color:var(--accent);outline:none}.about-actions{gap:12px;display:flex}.auth-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.auth-modal{background:var(--bg);border:1px solid var(--border);border-radius:16px;width:100%;max-width:400px;padding:32px;animation:.3s slideUp;position:relative;box-shadow:0 20px 60px #0000004d}.auth-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:24px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.auth-close:hover{background:var(--border);color:var(--text)}.auth-title{color:var(--text);text-align:center;margin:0 0 24px;font-size:24px;font-weight:700}.auth-field{margin-bottom:16px}.auth-field label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.auth-field label .required{color:#ff3b30}.auth-field input{border:1px solid var(--border);background:var(--card-bg);width:100%;color:var(--text);box-sizing:border-box;border-radius:10px;outline:none;padding:12px 14px;font-size:14px;transition:border-color .2s}.auth-field input:focus{border-color:var(--accent)}.auth-field input::placeholder{color:var(--text-muted)}.auth-error{color:#ff3b30;background:#ff3b301a;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}.auth-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;padding:14px;font-size:15px;font-weight:600;transition:all .2s}.auth-submit:hover:not(:disabled){background:var(--accent-hover)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;color:var(--text-secondary);margin-top:20px;font-size:13px}.auth-switch button{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-left:4px;font-size:13px;font-weight:600}.auth-switch button:hover{text-decoration:underline}.auth-success{color:#2ed573;background:#2ed5731a;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}@media (width<=480px){.auth-modal{max-width:calc(100% - 32px);margin:16px;padding:24px}.auth-title{font-size:20px}}.topbar{z-index:100;background:color-mix(in srgb, var(--card-bg) var(--theme-opacity), transparent);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:flex-end;align-items:center;padding:8px 24px;display:flex;position:sticky;top:0}[data-theme=dark] .topbar{background:color-mix(in srgb, var(--card-bg) var(--theme-opacity), transparent)}.topbar-right{align-items:center;gap:6px;display:flex}.topbar-btn{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;text-decoration:none;transition:all .15s;display:flex}.topbar-btn:hover{background:var(--bg);color:var(--text)}.topbar-weather{color:var(--text-secondary);text-align:center;cursor:pointer;align-items:center;gap:4px;min-width:70px;padding:4px 10px;font-size:13px;display:flex}.weather-widget{position:relative}.weather-detail{background:var(--card-bg);border:1px solid var(--border);z-index:200;border-radius:12px;min-width:300px;max-width:360px;max-height:70vh;padding:16px;animation:.15s fadeIn;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto;box-shadow:0 8px 32px #0000001f}.weather-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.weather-location{color:var(--text-secondary);font-size:13px}.weather-desc-tag{color:var(--text-muted);background:var(--bg);border-radius:4px;padding:2px 8px;font-size:12px}.weather-main{align-items:center;gap:12px;margin-bottom:4px;display:flex}.weather-icon-img{background:#4a5568;border-radius:12px;width:48px;height:48px;padding:8px}[data-theme=dark] .weather-icon-img{background:#4a5568}.weather-temp{color:var(--text);font-size:42px;font-weight:300;line-height:1}.weather-wind{color:var(--text-secondary);margin-bottom:12px;font-size:13px}.weather-info{color:var(--text-muted);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px 16px;margin-bottom:12px;padding-bottom:12px;font-size:12px;display:flex}.weather-forecast-title{color:var(--text-secondary);align-items:center;gap:6px;margin-top:12px;margin-bottom:10px;font-size:13px;font-weight:500;display:flex}.weather-forecast-title:first-of-type{margin-top:0}.weather-hourly{gap:4px;margin-bottom:4px;padding-bottom:8px;display:flex;overflow-x:auto}.hourly-item{background:var(--bg);border-radius:6px;flex-direction:column;align-items:center;gap:4px;min-width:40px;padding:6px 4px;display:flex}.hourly-time{color:var(--text-muted);font-size:11px}.hourly-icon{background:#4a5568;border-radius:6px;width:20px;height:20px;padding:3px}[data-theme=dark] .hourly-icon{background:#4a5568}.hourly-temp{color:var(--text);font-size:12px;font-weight:500}.weather-forecast{flex-direction:column;gap:6px;display:flex}.forecast-day{align-items:center;gap:12px;padding:6px 0;font-size:12px;display:flex}.forecast-left{align-items:center;gap:8px;width:80px;display:flex}.forecast-week{color:var(--text);font-weight:500}.forecast-date{color:var(--text-muted);font-size:11px}.forecast-icon{background:#4a5568;border-radius:6px;width:20px;height:20px;padding:3px}[data-theme=dark] .forecast-icon{background:#4a5568}.forecast-temp{color:var(--text-secondary);margin-left:auto}.user-menu{position:relative}.user-dropdown{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);min-width:130px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.user-dropdown button{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 16px;font-size:13px;transition:all .15s;display:block}.user-dropdown button:hover{background:var(--bg);color:var(--text)}.user-avatar{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:flex}.user-avatar-img{object-fit:cover;border-radius:50%;width:24px;height:24px}.user-info{flex-direction:column;gap:2px;padding:10px 16px;display:flex}.user-info .user-name{color:var(--text);font-size:14px;font-weight:600}.user-info .user-role{color:var(--text-muted);font-size:11px}.dropdown-divider{background:var(--border);height:1px;margin:4px 0}.logout-btn{color:#ff4757!important}.logout-btn:hover{background:#ff47571a!important}@media (width<=640px){.topbar{padding:8px 16px}.topbar-weather{display:none}}@media (width<=480px){.topbar{padding:6px 12px}.topbar-btn{width:32px;height:32px}}.sidebar{background:color-mix(in srgb, var(--card-bg) var(--theme-opacity), transparent);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:220px;height:100vh;min-height:100vh;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;position:sticky;top:0;overflow:hidden}.sidebar.collapsed{width:60px}.sidebar.collapsed .sidebar-menu-label,.sidebar.collapsed .sidebar-logo-text,.sidebar.collapsed .sidebar-arrow,.sidebar.collapsed .sidebar-submenu{opacity:0;visibility:hidden}.sidebar.collapsed .sidebar-menu-item{justify-content:center;padding:10px}.sidebar.collapsed .sidebar-logo{justify-content:center;padding:16px 8px}.sidebar-toggle{width:100%;color:var(--text-muted);cursor:pointer;border:none;border-top:1px solid var(--border);background:0 0;justify-content:center;align-items:center;margin-top:auto;padding:12px;transition:all .15s;display:flex}.sidebar-toggle:hover{color:var(--accent);background:var(--bg)}.sidebar-content{padding:20px 0 8px;overflow:hidden}.sidebar-logo{-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:10px;margin-bottom:4px;padding:8px 20px 20px;display:flex}.sidebar-logo-icon{flex-shrink:0;font-size:28px}.sidebar-logo-text{color:var(--text);letter-spacing:.5px;font-size:18px;font-weight:800;transition:opacity .2s,visibility .2s}.sidebar-nav{flex-direction:column;gap:4px;padding:0 10px;display:flex}.sidebar-menu-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s;display:flex}.sidebar-menu-item:hover{background:var(--border);color:var(--text)}.sidebar-menu-label{transition:opacity .2s,visibility .2s}.sidebar-arrow{color:var(--text-muted);margin-left:auto;font-size:14px;transition:transform .2s,opacity .2s,visibility .2s}.sidebar-arrow.expanded{transform:rotate(90deg)}.sidebar-submenu{padding-left:16px;transition:opacity .2s,visibility .2s}.sidebar-submenu-item{color:var(--text-muted);white-space:nowrap;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s;display:flex}.sidebar-submenu-item:hover{color:var(--accent);background:var(--border)}@media (width<=768px){.sidebar{display:none}}.sidebar-sync-section{margin-top:8px}.sidebar-divider{background:var(--border);height:1px;margin:8px 12px}.sidebar-sync-buttons{flex-direction:column;gap:4px;display:flex}.sync-btn:hover{color:var(--accent)!important}.sync-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn{background:linear-gradient(135deg,#ff6b6b1a,#ffa5001a);border:1px solid #0000}.admin-btn:hover{border-color:var(--accent);background:linear-gradient(135deg,#ff6b6b33,#ffa50033)}.footer{background:color-mix(in srgb, var(--card-bg) var(--theme-opacity), transparent);border-top:1px solid var(--border);margin-top:56px;padding:28px 32px}.footer-inner{max-width:1200px;margin:0 auto}.footer-main-row{justify-content:space-between;gap:48px;display:flex}.footer-left{gap:48px;display:flex}.footer-right{text-align:left;flex-direction:column;gap:8px;display:flex}.footer-section{flex-direction:column;gap:8px;display:flex}.footer-heading{color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:13px;font-weight:600}.footer-links{flex-direction:column;gap:4px;display:flex}.footer-links a{color:var(--text-secondary);font-size:13px;text-decoration:none;transition:color .15s}.footer-links a:hover{color:var(--accent)}.footer-text{color:var(--text-muted);margin:0;font-size:13px;line-height:1.6}.footer-row-item{gap:12px;display:flex}.footer-label{color:var(--text-secondary);flex-shrink:0;min-width:70px;font-size:13px;font-weight:500}@media (width<=900px){.footer-left,.footer-main-row{gap:32px}}@media (width<=768px){.footer{margin-bottom:60px;padding:24px 20px}.footer-main-row{flex-direction:column;gap:24px}.footer-left{flex-direction:column;gap:16px}.footer-row-item{flex-direction:column;gap:4px}.footer-label{min-width:auto}}@media (width<=480px){.footer{margin-bottom:70px;padding:20px 16px}.footer-heading,.footer-text,.footer-links a{font-size:12px}}.floating-btns{z-index:100;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.floating-btn{background:color-mix(in srgb, var(--card-bg) var(--theme-opacity), transparent);width:40px;height:40px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);border:none;border-radius:12px;justify-content:center;align-items:center;transition:all .2s;display:flex}.floating-btn:hover{background:var(--card-bg);box-shadow:var(--shadow-md);transform:scale(1.05)}.floating-modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.floating-modal{background:var(--card-bg);border:2px solid var(--border);width:100%;max-width:400px;max-height:80vh;box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.floating-modal-header{border-bottom:2px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.floating-modal-header h3{color:var(--text);align-items:center;gap:8px;margin:0;font-size:15px;font-weight:700;display:flex}.floating-modal-close{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:18px;transition:all .15s}.floating-modal-close:hover{background:var(--bg);color:var(--text)}.floating-modal-body{flex:1;padding:18px;overflow-y:auto}.floating-modal-content{color:var(--text-secondary);padding:0 18px 18px;font-size:14px;line-height:1.6}.floating-modal-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;width:calc(100% - 36px);margin:0 18px 18px;padding:10px;font-size:14px;font-weight:700;transition:all .15s;display:block}.floating-modal-btn:hover{background:var(--accent-hover)}.floating-optional-list{max-height:50vh;padding:12px 18px 18px;overflow-y:auto}.floating-optional-item{background:var(--bg);border-radius:10px;margin-bottom:10px;padding:12px}.floating-optional-item:last-child{margin-bottom:0}.floating-optional-item h4{color:var(--text);margin:0 0 6px;font-size:14px;font-weight:700}.floating-optional-item p{color:var(--text-secondary);margin:0 0 8px;font-size:13px;line-height:1.5}.floating-optional-date{color:var(--text-muted);font-size:11px}@media (width<=640px){.floating-btns{bottom:16px;right:16px}.floating-btn{width:40px;height:40px}}.floating-search-overlay{z-index:300;background:#0006;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.floating-search{background:var(--card-bg);border-radius:12px;width:480px;max-width:90vw;display:flex;overflow:hidden;box-shadow:0 8px 32px #0003}.floating-engine{background:var(--bg);color:var(--text);cursor:pointer;border:none;border-right:1px solid var(--border);padding:12px;font-size:14px}.floating-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:12px 16px;font-size:16px}.floating-search-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;padding:12px 20px;font-size:14px;transition:background .2s}.floating-search-btn:hover{background:var(--accent-hover)}.floating-hint{color:#fff9;margin-top:12px;font-size:12px}.yiyan-container{cursor:default;z-index:50;background:0 0;position:fixed;bottom:12px;transform:translate(-50%)}.yiyan-container:hover .yiyan-actions{opacity:1;pointer-events:auto}.yiyan-content{flex-direction:column;align-items:center;gap:2px;display:flex;position:relative}.yiyan-actions{opacity:0;pointer-events:none;gap:4px;margin-left:8px;transition:opacity .2s;display:flex;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.yiyan-actions button{color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;transition:background .15s;display:flex}.yiyan-actions button:hover{background:#000000b3}.yiyan-text{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:400px;font-size:12px;overflow:hidden}.yiyan-from{color:var(--text-muted);white-space:nowrap;font-size:11px}@media (width<=768px){.yiyan-container{max-width:calc(100% - 24px);padding:5px 10px;bottom:8px}.yiyan-text{max-width:180px;font-size:11px}.yiyan-from{font-size:10px}}.mobile-nav{background:color-mix(in srgb, var(--card-bg) var(--theme-opacity), transparent);border-top:1px solid var(--border);padding:8px 0 max(8px, env(safe-area-inset-bottom));z-index:200;-webkit-backdrop-filter:blur(12px);display:none;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;padding:6px 4px;font-size:11px;font-weight:600;text-decoration:none;transition:color .15s;display:flex}.mobile-nav-item:active{color:var(--accent)}.mobile-nav-overlay{z-index:250;background:#0006;animation:.2s fadeIn;position:fixed;inset:0}.mobile-nav-panel{background:var(--card-bg);border-top:1px solid var(--border);z-index:300;max-height:70vh;padding-bottom:max(20px, env(safe-area-inset-bottom));border-radius:20px 20px 0 0;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%)}.mobile-nav-panel.expanded{transform:translateY(0)}.mobile-nav-panel-content{flex-direction:column;gap:8px;padding:16px;display:flex}.mobile-nav-panel-item{background:var(--bg);color:var(--text);cursor:pointer;border:none;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;font-size:15px;font-weight:600;text-decoration:none;transition:background .15s;display:flex}.mobile-nav-panel-item:active{background:var(--border)}.mobile-nav-panel-item.admin{color:var(--accent);background:linear-gradient(135deg,#ff6b6b1a,#ffa5001a)}.mobile-nav-panel-group{background:var(--bg);border-radius:12px;overflow:hidden}.mobile-nav-panel-group-title{color:var(--text);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:14px 16px;font-size:15px;font-weight:600;display:flex}.mobile-nav-panel-children{flex-direction:column;gap:4px;padding:8px;display:flex}.mobile-nav-panel-child{color:var(--text-secondary);border-radius:8px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s;display:flex}.mobile-nav-panel-child:active{background:var(--border);color:var(--text)}@media (width<=768px){.mobile-nav{display:flex}.app-main{padding-bottom:70px}.floating-btns{bottom:80px}}.admin-panel{padding:20px}.admin-title{color:var(--text);margin:0 0 20px;font-size:20px;font-weight:700}.admin-error{text-align:center;color:var(--text-muted);padding:40px}.admin-empty{text-align:center;color:var(--text-muted);background:var(--bg);border-radius:8px;padding:40px}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px;display:grid}.stat-card{background:var(--card-bg);border:1px solid var(--border);text-align:center;border-radius:10px;padding:16px}.stat-value{color:var(--accent);font-size:28px;font-weight:700}.stat-label{color:var(--text-secondary);margin-top:4px;font-size:12px}.admin-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.admin-tab{border:1px solid var(--border);background:var(--card-bg);color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.admin-tab:hover{border-color:var(--text-muted);color:var(--text)}.admin-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.admin-section{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:16px}.user-search{gap:8px;margin-bottom:12px;display:flex}.user-search input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;outline:none;flex:1;padding:8px 12px;font-size:13px}.user-search input:focus{border-color:var(--accent)}.user-search button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600}.user-search button:hover{background:var(--accent-hover)}.user-table-wrapper{overflow-x:auto}.user-table{border-collapse:collapse;width:100%;min-width:700px;font-size:13px}.user-table th,.user-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px}.user-table th{color:var(--text);background:var(--bg);white-space:nowrap;font-weight:600}.user-table td{color:var(--text-secondary)}.user-table tr:hover td{background:var(--bg)}.user-name{font-weight:600;color:var(--text)!important}.user-avatar-small{object-fit:cover;vertical-align:middle;border-radius:50%;width:24px;height:24px;margin-right:8px}.user-avatar-small-text{background:var(--accent);color:#fff;text-align:center;vertical-align:middle;border-radius:50%;width:24px;height:24px;margin-right:8px;font-size:11px;font-weight:600;line-height:24px;display:inline-block}.role-badge,.status-badge{border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-block}.role-badge.admin{color:#ff6b6b;background:#ff6b6b26}.role-badge.user{color:#4ecdc4;background:#4ecdc426}.status-badge.active{color:#2ed573;background:#2ed57326}.status-badge.inactive{color:#ff4757;background:#ff475726}.user-actions{white-space:nowrap}.btn-small{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:5px;margin-right:4px;padding:4px 10px;font-size:11px;transition:all .2s}.btn-small:last-child{margin-right:0}.btn-small:hover{border-color:var(--accent);color:var(--accent)}.btn-small.btn-danger:hover{color:#ff4757;border-color:#ff4757}.btn-small.btn-success:hover{color:#2ed573;border-color:#2ed573}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600}.btn-primary:hover{background:var(--accent-hover)}.pagination{justify-content:center;align-items:center;gap:12px;margin-top:12px;display:flex}.pagination button{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:5px;padding:6px 12px;font-size:12px}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination button:not(:disabled):hover{border-color:var(--accent)}.pagination span{color:var(--text-secondary);font-size:12px}.admin-loading{text-align:center;color:var(--text-muted);padding:40px;font-size:13px}.announcement-form{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;margin-bottom:16px;padding-bottom:16px;display:flex}.announcement-form input,.announcement-form textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);resize:none;border-radius:6px;outline:none;padding:8px 12px;font-size:13px}.announcement-form input:focus,.announcement-form textarea:focus{border-color:var(--accent)}.announcement-form-actions{gap:8px;display:flex}.announcement-form-actions button{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600}.announcement-form-actions button:hover{border-color:var(--accent);color:var(--accent)}.announcement-list{flex-direction:column;gap:10px;display:flex}.announcement-item{background:var(--bg);border-radius:6px;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px;display:flex}.announcement-item.inactive{opacity:.6}.announcement-info h4{color:var(--text);margin:0 0 4px;font-size:14px;font-weight:600}.announcement-info p{color:var(--text-secondary);margin:0 0 6px;font-size:12px;line-height:1.5}.announcement-date{color:var(--text-muted);font-size:11px}.announcement-actions{flex-shrink:0;gap:6px;display:flex}.settings-form{flex-direction:column;gap:16px;display:flex}.settings-group{flex-direction:column;gap:6px;display:flex}.settings-group label{color:var(--text);font-size:13px;font-weight:600}.settings-group input,.settings-group textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);resize:none;border-radius:6px;outline:none;padding:8px 12px;font-size:13px}.settings-group input:focus,.settings-group textarea:focus{border-color:var(--accent)}.toggle-group{flex-direction:row;align-items:center}.toggle-btn{background:var(--border);cursor:pointer;border:none;border-radius:11px;width:40px;height:22px;transition:background .2s;position:relative}.toggle-btn.active{background:var(--accent)}.toggle-slider{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.toggle-btn.active .toggle-slider{transform:translate(18px)}.toggle-label{color:var(--text-muted);margin-left:8px;font-size:12px}.settings-actions{gap:10px;margin-top:8px;display:flex}.settings-actions button{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600}.settings-actions button:hover{border-color:var(--accent);color:var(--accent)}@media (width<=768px){.admin-panel{padding:12px}.admin-title{font-size:18px}.admin-stats{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{padding:12px}.stat-value{font-size:24px}.admin-tabs{gap:6px}.admin-tab{padding:6px 12px;font-size:12px}.admin-section{padding:12px}.user-search{flex-direction:column}.user-search button{width:100%}.user-table th,.user-table td{padding:8px 6px;font-size:11px}.user-actions{flex-direction:column;gap:4px}.btn-small{padding:4px 8px;font-size:10px}.announcement-item{flex-direction:column;gap:10px}.announcement-actions{justify-content:flex-end;width:100%}.settings-actions{flex-direction:column}.settings-actions button{width:100%}}.app{flex-direction:row;min-height:100vh;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.header{flex-direction:column;align-items:center;gap:24px;padding:40px 32px 28px;display:flex}.clock{text-align:center}.clock-time{color:#fff;letter-spacing:-2px;font-size:68px;font-weight:800;line-height:1;display:block}.clock-date{color:#fffc;justify-content:center;align-items:center;margin-top:8px;font-size:14px;font-weight:700;display:flex}.clock-date span{margin:0 6px}.main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:0 32px}@media (width<=768px){.header{gap:16px;padding:28px 20px 20px}.clock-time{font-size:40px}.main{padding:0 20px}}@media (width<=480px){.header{gap:12px;padding:20px 16px 16px}.clock-time{letter-spacing:-1px;font-size:32px}.clock-date{flex-wrap:wrap;gap:4px;font-size:12px}.clock-date span{margin:0 4px}.main{padding:0 16px}}.app-loading{min-height:100vh;color:var(--text);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.admin-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-modal{background:var(--bg);border:1px solid var(--border);scrollbar-width:none;-ms-overflow-style:none;border-radius:16px;width:100%;max-width:900px;max-height:85vh;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.admin-modal::-webkit-scrollbar{display:none}.admin-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:24px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.admin-close:hover{background:var(--border);color:var(--text)}
