.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-content{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-6);width:360px;max-width:90vw;animation:modal-in .15s ease}@keyframes modal-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.modal-header h3{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-primary);margin:0}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);display:flex}.modal-close:hover{color:var(--text-primary);background:var(--bg-hover-subtle)}.tag-name-input{width:100%;padding:var(--space-3);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);outline:none;margin-bottom:var(--space-4)}.tag-name-input:focus{border-color:var(--accent)}.color-picker{display:flex;gap:var(--space-2);margin-bottom:var(--space-6)}.color-option{width:28px;height:28px;border-radius:var(--radius-full);border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.color-option:hover{transform:scale(1.15)}.color-option.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-secondary),0 0 0 4px currentColor}.modal-actions{display:flex;align-items:center;justify-content:space-between}.modal-actions-right{display:flex;gap:var(--space-2);margin-left:auto}.btn-cancel{padding:var(--space-2) var(--space-4);background:none;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer}.btn-cancel:hover{background:var(--bg-hover-subtle);color:var(--text-primary)}.btn-save{padding:var(--space-2) var(--space-4);background:var(--accent);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-sm);cursor:pointer;font-weight:var(--font-medium)}.btn-save:hover{background:var(--accent-hover)}.btn-delete{padding:var(--space-2) var(--space-4);background:none;border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);font-size:var(--text-sm);cursor:pointer}.btn-delete:hover{background:var(--error-bg)}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2)}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-primary);animation:toast-in .2s ease;box-shadow:var(--shadow-lg)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.toast-success{background:var(--success)}.toast-error{background:var(--error)}.toast-close{background:none;border:none;color:inherit;cursor:pointer;padding:2px;display:flex;opacity:.7}.toast-close:hover{opacity:1}@media (max-width: 768px){.toast-container{bottom:80px;left:var(--space-4);right:var(--space-4)}}.app-layout{min-height:100vh;background:var(--bg-primary);color:var(--text-primary)}.bk-card{position:relative;background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-4);transition:background var(--transition-base);display:flex;flex-direction:column;height:100%;overflow:hidden}.bk-card:hover{background:var(--bg-card-hover)}.bk-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.bk-avatar{width:32px;height:32px;border-radius:var(--radius-full);object-fit:cover;background:var(--bg-input);flex-shrink:0}.bk-author-info{flex:1;min-width:0}.bk-author-name{font-weight:var(--font-medium);color:var(--text-primary);font-size:var(--text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bk-author-username{color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bk-date{color:var(--text-muted);font-size:10px;flex-shrink:0}.bk-content{margin-bottom:var(--space-3);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-primary);white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;flex:1;min-height:0}.bk-media{margin-bottom:var(--space-3);border-radius:var(--radius-md);overflow:hidden}.bk-media-grid{display:grid;gap:var(--space-1)}.bk-media-grid.single{grid-template-columns:1fr}.bk-media-grid.double{grid-template-columns:1fr 1fr}.bk-media-grid.triple,.bk-media-grid.quad{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.bk-media-item{position:relative;background:var(--bg-input);aspect-ratio:16/9}.bk-media-item img{width:100%;height:100%;object-fit:cover}.bk-media-item.video:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;background:#0009;border-radius:var(--radius-full);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpolygon points='5 3 19 12 5 21 5 3'%3E%3C/polygon%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:20px}.bk-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--space-2)}.bk-metrics{display:flex;gap:var(--space-3)}.bk-metric{display:flex;align-items:center;gap:4px;color:var(--text-muted);font-size:11px}.bk-tags{display:flex;gap:var(--space-2);flex-wrap:wrap}.bk-tag{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--bg-input);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--text-secondary)}.bk-tag-dot{width:6px;height:6px;border-radius:var(--radius-full)}.bk-actions{display:flex;gap:var(--space-2)}.bk-action-btn{padding:var(--space-2);color:var(--text-muted);border-radius:var(--radius-md);transition:all var(--transition-base);display:flex;align-items:center}.bk-action-btn:hover{background:var(--bg-input);color:var(--text-primary)}.bk-card.selected{outline:2px solid var(--accent);outline-offset:-2px}.bk-select-badge{position:absolute;top:var(--space-2);right:var(--space-2);width:24px;height:24px;background:var(--accent);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:#fff;z-index:1}.tweet-tags-modal{width:320px}.no-tags-msg{color:var(--text-muted);font-size:var(--text-sm);text-align:center;padding:var(--space-4)}.tags-checklist{display:flex;flex-direction:column;gap:var(--space-1)}.tag-checkbox{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.tag-checkbox:hover{background:var(--bg-hover-subtle)}.tag-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.tag-checkbox-label{display:flex;align-items:center;gap:var(--space-2);color:var(--text-primary);font-size:var(--text-sm)}.tag-checkbox-label .tag-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.filter-panel-wrapper{position:relative}.filter-toggle{width:var(--control-height);padding:0;justify-content:center}.filter-toggle.active{background:var(--accent-muted);color:var(--accent)}.filter-toggle.has-filters:after{content:"";width:6px;height:6px;background:var(--accent);border-radius:50%;margin-left:var(--space-1)}.filter-panel{position:absolute;top:100%;right:0;margin-top:var(--space-2);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);min-width:260px;z-index:var(--z-dropdown);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-3)}.filter-row{display:flex;flex-direction:column;gap:var(--space-1)}.filter-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--font-medium)}.filter-input{padding:var(--space-2) var(--space-3);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);outline:none}.filter-input:focus{border-color:var(--accent)}.filter-reset{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2);background:none;border:none;color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;align-self:flex-end}.filter-reset:hover{color:var(--error)}.search-container{flex:1;max-width:500px;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:var(--space-4);color:var(--text-muted);pointer-events:none}.search-input{width:100%;height:var(--control-height);padding:0 var(--space-4);padding-left:44px;background:var(--bg-card);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;color:var(--text-primary);transition:background var(--transition-base)}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{background:var(--bg-card-hover)}.search-clear{position:absolute;right:var(--space-3);padding:var(--space-1);color:var(--text-muted);border-radius:var(--radius-full);transition:all var(--transition-base);display:flex;align-items:center}.search-clear:hover{color:var(--text-primary);background:var(--bg-card-hover)}@media (max-width: 768px){.search-container{max-width:none}.search-input{height:44px;font-size:16px}}.tag-dropdown{position:relative}.tag-dropdown-trigger{gap:var(--space-2);padding:0 var(--space-3)}.tag-dropdown-chevron{transition:transform .15s ease}.tag-dropdown-chevron.open{transform:rotate(180deg)}.tag-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;max-height:320px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);padding:var(--space-1)}.tag-dropdown-row{display:flex;align-items:center;position:relative}.tag-dropdown-row .tag-dropdown-item{flex:1;min-width:0}.tag-dropdown-actions{display:none;align-items:center;gap:2px;padding-right:var(--space-2)}.tag-dropdown-row:hover .tag-dropdown-actions{display:flex}.tag-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.tag-action-btn:hover{background:var(--bg-hover-subtle);color:var(--text-primary)}.tag-action-btn.danger:hover{color:var(--error);background:var(--error-bg)}.tag-dropdown-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;text-align:left;transition:background var(--transition-base)}.tag-dropdown-item:hover{background:var(--bg-hover-subtle);color:var(--text-primary)}.tag-dropdown-item.active{color:var(--text-primary)}.tag-dropdown-add{border-top:1px solid var(--border-subtle);margin-top:var(--space-1);padding-top:var(--space-2);color:var(--text-muted)}.tag-dropdown-add:hover{color:var(--text-primary)}.tag-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.home{display:flex;flex-direction:column;padding:var(--space-6);max-width:1400px;margin:0 auto;width:100%}.home-header{position:sticky;top:0;background:#050505cc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:var(--space-3) 0;display:flex;align-items:center;gap:var(--space-3);z-index:var(--z-dropdown)}.home-logo{font-size:var(--text-3xl);font-weight:700;color:var(--text-primary);letter-spacing:-.04em;white-space:nowrap;flex-shrink:0}.logo-short{display:none}.header-controls{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.header-control{height:var(--control-height);background:var(--bg-card);border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);font-family:inherit;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;display:flex;align-items:center}.header-control:hover{background:var(--bg-card-hover);color:var(--text-primary)}.user-menu{position:relative;margin-left:auto;flex-shrink:0}.user-menu-trigger{width:var(--control-height);justify-content:center}.user-menu-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-1);min-width:160px;z-index:var(--z-dropdown);box-shadow:var(--shadow-lg)}.user-menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:none;border:none;color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-sm)}.user-menu-item:hover{background:var(--bg-hover-subtle);color:var(--text-primary)}.home-count{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:var(--space-4)}.bookmarks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-auto-rows:380px;gap:var(--space-4);align-content:start}.home-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);color:var(--text-muted);gap:var(--space-4)}.spinner{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.home-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);text-align:center;color:var(--text-muted);gap:var(--space-2)}.home-empty h2{font-size:var(--text-xl);font-weight:var(--font-medium);color:var(--text-primary)}.card-context-menu{position:fixed;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-1);z-index:var(--z-modal);min-width:180px;box-shadow:var(--shadow-lg)}.context-menu-title{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em}.context-menu-empty{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-muted)}.context-menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;text-align:left;padding:var(--space-2) var(--space-3);background:none;border:none;color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-sm)}.context-menu-item:hover{background:var(--bg-hover-subtle);color:var(--text-primary)}.context-menu-item .tag-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.context-check{margin-left:auto;color:var(--accent);font-size:var(--text-xs)}.floating-action-bar{position:fixed;bottom:var(--space-8);left:50%;transform:translate(-50%);background:#050505cc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-2) var(--space-4);display:flex;align-items:center;gap:var(--space-3);z-index:var(--z-dropdown);box-shadow:var(--shadow-lg);animation:fab-in .15s ease}@keyframes fab-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.fab-count{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap}.fab-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.fab-tag{background:var(--accent);color:#fff}.fab-tag:hover{background:var(--accent-hover)}.fab-clear{background:none;color:var(--text-muted);padding:var(--space-2)}.fab-clear:hover{color:var(--text-primary);background:var(--bg-hover-subtle)}@media (max-width: 768px){.home{padding:var(--space-3);padding-bottom:120px}.home-header{position:fixed;bottom:0;left:0;right:0;top:auto;flex-wrap:wrap;background:#050505f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:var(--space-2) var(--space-3);padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom,0px));z-index:var(--z-dropdown);border-top:1px solid var(--border-subtle);gap:var(--space-2)}.header-controls{order:1;width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:var(--space-2)}.header-controls::-webkit-scrollbar{display:none}.home-logo{display:none}.search-container{order:2;flex:1;max-width:none;min-width:0}.user-menu{margin-left:0;flex-shrink:0}.header-control{height:44px;min-height:44px;font-size:var(--text-sm);flex-shrink:0}.filter-toggle,.user-menu-trigger{width:44px}.tag-dropdown-menu,.filter-panel,.user-menu-dropdown{position:fixed;bottom:110px;left:var(--space-3);right:var(--space-3);top:auto;margin-top:0;max-height:60vh;overflow-y:auto;padding:var(--space-2)}.tag-dropdown-item,.user-menu-item{padding:var(--space-3) var(--space-4);font-size:var(--text-base);min-height:44px}.filter-panel{gap:var(--space-4);padding:var(--space-5)}.filter-row{gap:var(--space-2)}.filter-label{font-size:var(--text-sm)}.filter-input{padding:var(--space-3) var(--space-4);font-size:var(--text-base);min-height:44px}.filter-reset{padding:var(--space-3);font-size:var(--text-sm)}.bookmarks-grid{grid-template-columns:1fr;grid-auto-rows:auto}.floating-action-bar{bottom:130px}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:var(--space-4)}.login-card{width:100%;max-width:380px;text-align:center}.login-logo{font-size:var(--text-3xl);font-weight:var(--font-semibold);color:var(--text-primary);letter-spacing:-.03em;margin-bottom:var(--space-2)}.login-subtitle{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:var(--space-8)}.login-form{display:flex;flex-direction:column;gap:var(--space-3)}.login-input{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-card);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--text-primary);transition:background var(--transition-base)}.login-input::placeholder{color:var(--text-muted)}.login-input:focus{background:var(--bg-card-hover)}.login-btn{padding:var(--space-3) var(--space-4);background:var(--accent);color:var(--text-primary);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-medium);transition:background var(--transition-base);margin-top:var(--space-2)}.login-btn:hover{background:var(--accent-hover)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{padding:var(--space-3);background:var(--error-bg);color:var(--error);border-radius:var(--radius-md);font-size:var(--text-sm)}:root{--bg-primary: #050505;--bg-secondary: #0a0a0a;--bg-card: #111111;--bg-card-hover: #161616;--bg-input: #0d0d0d;--bg-overlay: rgba(0, 0, 0, .8);--border-subtle: rgba(255, 255, 255, .06);--bg-hover-subtle: rgba(255, 255, 255, .05);--bg-active-subtle: rgba(255, 255, 255, .08);--error-bg: rgba(239, 68, 68, .15);--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-muted: #555555;--text-link: #60a5fa;--accent: #3b82f6;--accent-hover: #2563eb;--accent-muted: rgba(59, 130, 246, .15);--success: #10b981;--error: #ef4444;--warning: #f59e0b;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", system-ui, sans-serif;--font-mono: "SF Mono", "Fira Code", monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 32px;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--leading-tight: 1.2;--leading-normal: 1.5;--leading-relaxed: 1.7;--transition-fast: .1s ease;--transition-base: .15s ease;--transition-slow: .25s ease;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .5);--z-base: 0;--z-dropdown: 100;--z-modal: 200;--z-toast: 300;--sidebar-width: 280px;--header-height: 60px;--max-content-width: 700px;--control-height: 34px;--control-height-sm: 28px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#333;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#444}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;outline:none}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}.hidden{display:none!important}
