:root{--color-primary:#1f2937;--color-secondary:#dc2626;--color-background:#f5f7fa;--color-surface:#fff;--color-text:#333;--color-text-muted:#6b7280;--color-text-light:#9ca3af;--color-border:#e5e7eb;--color-hover:#f3f4f6;--color-chip:#e0e0e0;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-accent:#3b82f6;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--font-family-sans:"Roboto",system-ui,-apple-system,sans-serif;--font-family-mono:"Roboto Mono","Consolas",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--sidebar-width-collapsed:5rem;--sidebar-width-expanded:16rem;--header-height:5rem;--border-radius:0.5rem;--border-radius-sm:0.25rem;--border-radius-md:0.375rem;--border-radius-full:9999px;--transition-fast:150ms ease-in-out;--transition-normal:250ms ease-in-out;--transition-slow:350ms ease-in-out;--z-dropdown:1000;--z-header:1010;--z-sidebar:1020;--z-modal:1030;--z-loading:1040}*,*::after,*::before{box-sizing:border-box}*{margin:0;padding:0}html{height:100%;scroll-behavior:smooth}body{background-color:var(--color-background);color:var(--color-text);font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:1.5;min-height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;font-display:swap;overflow-x:hidden}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.skip-nav{background:var(--color-primary);border:2px solid transparent;border-radius:var(--border-radius);color:#fff;font-weight:600;left:6px;padding:var(--spacing-sm) var(--spacing-md);position:absolute;text-decoration:none;top:-40px;transition:top var(--transition-fast);z-index:var(--z-modal)}.skip-nav:focus{top:6px}*:focus,.skip-nav:focus,[tabindex]:focus,a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:2px solid var(--color-secondary);outline-offset:2px}@media (prefers-contrast: high){:root{--color-primary:#000;--color-secondary:red;--color-background:#fff;--color-surface:#fff;--color-text:#000;--color-text-muted:#000;--color-border:#000;--color-hover:#f0f0f0}.tool-card{border:2px solid var(--color-border)}.nav-item{border:1px solid var(--color-border)}}@media (prefers-reduced-motion: reduce){*,*::after,*::before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.loading-spinner{animation:none}}.loading-screen{align-items:center;background-color:var(--color-background);display:flex;flex-direction:column;height:100%;justify-content:center;left:0;opacity:1;position:fixed;top:0;transition:opacity var(--transition-normal);width:100%;z-index:var(--z-loading)}.loading-screen.hidden{opacity:0;pointer-events:none}.loading-spinner{animation:spin 1s linear infinite;border-top:3px solid var(--color-border);border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-secondary);height:40px;width:40px}.loading-text{color:var(--color-text-muted);font-weight:500;margin-top:var(--spacing-md)}.sidebar{background-color:var(--color-primary);color:#fff;display:flex;flex-direction:column;height:100vh;left:0;overflow-x:hidden;overflow-y:auto;position:fixed;top:0;transition:width var(--transition-normal);width:var(--sidebar-width-collapsed);z-index:var(--z-sidebar)}.sidebar:hover{width:var(--sidebar-width-expanded)}.sidebar-header{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.1);display:flex;flex-shrink:0;height:var(--header-height);overflow:hidden;padding:var(--spacing-lg)}.logo-container{align-items:center;color:inherit;cursor:pointer;display:flex;justify-content:flex-start;min-width:0;position:relative;text-decoration:none;transition:opacity var(--transition-normal);white-space:nowrap;width:100%}.logo-container:hover{opacity:.8}.logo-container:focus{border-radius:var(--border-radius);outline:2px solid var(--color-primary);outline-offset:2px}.logo-img{flex-shrink:0;height:40px;position:relative;width:40px;z-index:1}.logo-text{font-size:var(--font-size-2xl);font-weight:700;left:0;opacity:0;overflow:hidden;pointer-events:none;position:absolute;right:0;text-align:center;top:50%;transform:translateY(-50%);transition:opacity var(--transition-normal)}.sidebar:hover .logo-text{opacity:1}.sidebar-nav{flex:1;overflow-x:hidden;overflow-y:auto;padding:var(--spacing-md) var(--spacing-sm)}.sidebar-version{margin:var(--spacing-sm) 0;padding:var(--spacing-sm) var(--spacing-md);text-align:center}.version-text{color:hsla(0,0%,100%,.6);display:block;font-size:.75rem;font-weight:500;letter-spacing:.5px;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.sidebar:not(.collapsed) .version-text{color:hsla(0,0%,100%,.8)}.sidebar-footer{border-top:1px solid hsla(0,0%,100%,.1);overflow:hidden;padding:var(--spacing-md) var(--spacing-sm)}.sidebar-copyright{bottom:0;left:0;opacity:0;overflow:hidden;padding:var(--spacing-sm);position:absolute;right:0;text-align:center;transition:opacity var(--transition-normal);width:100%;z-index:10}.sidebar:hover .sidebar-copyright{opacity:1}.sidebar-copyright p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0;opacity:.7}.nav-item{align-items:center;background:none;border:none;border-left:4px solid transparent;border-radius:var(--border-radius);color:inherit;cursor:pointer;display:flex;margin-bottom:var(--spacing-sm);min-height:44px;padding:var(--spacing-md);text-decoration:none;transition:all var(--transition-fast);width:100%}.nav-item:focus,.nav-item:hover{background-color:hsla(0,0%,100%,.1)}.nav-item:focus{outline:2px solid var(--color-secondary);outline-offset:2px}.nav-item.active{background-color:hsla(0,0%,100%,.1);border-left-color:var(--color-secondary)}.nav-item:active{transform:translateX(2px)}.nav-icon{flex-shrink:0;height:24px;width:24px;stroke:currentColor}.nav-text{font-weight:600;margin-left:var(--spacing-md);opacity:0;transition:opacity var(--transition-normal);white-space:nowrap}.sidebar:hover .nav-text{opacity:1}.main-content{contain:layout style;display:flex;flex:1;flex-direction:column;margin-left:var(--sidebar-width-collapsed);min-height:100vh;transition:margin-left var(--transition-normal);width:calc(100% - var(--sidebar-width-collapsed))}.sidebar:hover + .main-content{margin-left:var(--sidebar-width-expanded);width:calc(100% - var(--sidebar-width-expanded))}.header{backdrop-filter:blur(8px);background-color:rgba(245,247,250,.8);border-bottom:1px solid var(--color-border);height:var(--header-height);position:sticky;top:0;z-index:var(--z-header)}.header-content{align-items:center;display:flex;gap:var(--spacing-md);height:100%;justify-content:space-between;padding:0 var(--spacing-xl)}.mobile-menu-btn{justify-content:space-around;padding:8px}.hamburger-line{border-radius:2px;height:3px;transform-origin:center}.mobile-menu-btn[aria-expanded="true"] .hamburger-line:nth-child(2){transform:rotate(45deg)}.mobile-menu-btn[aria-expanded="true"] .hamburger-line:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-menu-btn[aria-expanded="true"] .hamburger-line:nth-child(4){opacity:0}.search-section{align-items:center;display:flex;flex:1;gap:var(--spacing-md);max-width:48rem}.search-container{flex:1;max-width:32rem;position:relative}.search-input{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-full);font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) 3rem;transition:all var(--transition-fast);width:100%}.search-input:focus{border-color:var(--color-secondary);outline:2px solid var(--color-secondary);outline-offset:2px}.search-input::placeholder{color:var(--color-text-light)}.search-icon{color:var(--color-text-light);left:var(--spacing-md);pointer-events:none}.search-clear,.search-icon{height:20px;position:absolute;top:50%;transform:translateY(-50%);width:20px}.search-clear{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%236B7280' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 18 18 6M6 6l12 12'/%3E%3C/svg%3E") 50%/16px no-repeat;border:none;cursor:pointer;opacity:0;right:var(--spacing-md);transition:opacity var(--transition-fast)}.search-clear.visible{opacity:1}.search-clear:hover{opacity:.7}.control-btn,.tools-controls{display:flex;gap:var(--spacing-sm);position:relative}.control-btn{align-items:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;height:48px;justify-content:center;min-height:44px;min-width:44px;padding:var(--spacing-md);transition:all var(--transition-fast);width:48px}.control-icon{flex-shrink:0;height:20px;width:20px}.control-btn:hover{background-color:var(--color-hover);border-color:var(--color-secondary)}.control-btn:focus{background-color:var(--color-hover);outline:2px solid var(--color-secondary);outline-offset:2px}.control-btn:active{transform:translateY(1px)}.mobile-search-btn{align-items:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text);cursor:pointer;display:none;height:48px;justify-content:center;position:relative;transition:all var(--transition-fast);width:48px}.mobile-search-btn:hover{background-color:var(--color-hover);border-color:var(--color-secondary)}.mobile-search-btn:focus{outline:2px solid var(--color-secondary);outline-offset:2px}.mobile-search-btn.active{background-color:var(--color-secondary);border-color:var(--color-secondary);color:#fff}.mobile-search-btn .control-icon{flex-shrink:0;height:20px;width:20px}.indicator{background-color:var(--color-secondary);border-radius:50%;height:8px;opacity:0;transition:opacity var(--transition-fast);width:8px}.indicator.active{opacity:1}.header-actions{gap:var(--spacing-md);position:relative}.header-actions,.time-display{align-items:center;display:flex}.time-display{font-size:var(--font-size-sm);font-weight:500;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.time-display,.time-icon{color:var(--color-text-muted)}.time-icon{flex-shrink:0;height:16px;width:16px}#current-time{font-variant-numeric:tabular-nums;min-width:0;white-space:nowrap}.settings-btn{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%236B7280' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 0 0-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 0 0-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 0 0-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 0 0-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 0 0 1.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:24px;border:none;border-radius:50%;cursor:pointer;height:40px;transition:all var(--transition-fast);width:40px}.settings-btn:hover{background-color:var(--color-hover)}.settings-btn:focus{outline:2px solid var(--color-secondary);outline-offset:2px}.mobile-menu-btn{align-items:center;background:transparent;border:none;cursor:pointer;display:none;flex-direction:column;height:40px;justify-content:center;margin-right:var(--spacing-md);padding:0;width:40px}.hamburger-line{background-color:var(--color-text);height:2px;margin:2px 0;transition:all var(--transition-fast);width:24px}.mobile-menu-btn[aria-expanded="true"] .hamburger-line:nth-child(2){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-btn[aria-expanded="true"] .hamburger-line:nth-child(3){opacity:0}.mobile-menu-btn[aria-expanded="true"] .hamburger-line:nth-child(4){transform:rotate(-45deg) translate(7px,-6px)}.content-area{background-color:var(--color-background);contain:layout style;flex:1;min-height:50vh;min-height:calc(100vh - var(--header-height));padding:var(--spacing-xl);position:relative}.dropdown-menu{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);display:none;left:auto;margin-top:var(--spacing-sm);max-width:20rem;min-width:16rem;position:fixed;top:auto;z-index:var(--z-dropdown)}.dropdown-menu.show{display:block}.dropdown-content{padding:var(--spacing-md)}.filter-section,.settings-section,.sort-section{margin-bottom:var(--spacing-lg)}.filter-section:last-child,.settings-section:last-child,.sort-section:last-child{margin-bottom:0}.filter-title,.settings-title,.sort-title{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.05em;margin-bottom:var(--spacing-sm);text-transform:uppercase}.filter-options,.sort-options{display:flex;flex-direction:column;gap:var(--spacing-sm)}.filter-option,.sort-option{align-items:center;border-radius:var(--border-radius);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-xs);transition:background-color var(--transition-fast)}.filter-option .filter-label{flex:1}.filter-option .cost-badge,.filter-option .type-badge{flex-shrink:0;margin-right:0}.filter-option:hover,.sort-option:hover{background-color:var(--color-hover)}.filter-checkbox,.sort-radio{opacity:0;pointer-events:none;position:absolute}.checkmark,.radio-mark{align-items:center;border:2px solid var(--color-border);border-radius:var(--border-radius);display:flex;height:16px;justify-content:center;transition:all var(--transition-fast);width:16px}.radio-mark{border-radius:50%}.filter-checkbox:checked + .checkmark,.sort-radio:checked + .radio-mark{background-color:var(--color-secondary);border-color:var(--color-secondary)}.filter-checkbox:checked + .checkmark::after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:8px;transform:rotate(45deg);width:4px}.sort-radio:checked + .radio-mark::after{background-color:#fff;border-radius:50%;content:"";height:6px;width:6px}.sort-actions{border-top:1px solid var(--color-border);margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.reset-btn{align-items:center;background:none;border:none;border-radius:var(--border-radius);color:var(--color-text-muted);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-sm);transition:all var(--transition-fast);width:100%}.reset-btn:hover{background-color:var(--color-hover);color:var(--color-secondary)}.settings-options{display:flex;flex-direction:column;gap:var(--spacing-xs)}.settings-option{align-items:center;background:none;border:none;border-radius:var(--border-radius);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);text-align:left;transition:all var(--transition-fast);width:100%}.settings-option:hover{background-color:var(--color-hover);color:var(--color-secondary)}.settings-icon{flex-shrink:0;height:16px;width:16px}.timezone-option{background:none;border:none;border-radius:var(--border-radius);color:var(--color-text);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);text-align:left;transition:all var(--transition-fast);width:100%}.timezone-option:hover{background-color:var(--color-hover)}.timezone-option.active{color:var(--color-secondary);font-weight:600}.tools-grid{align-items:start;display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media (max-width: 1200px){.tools-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media (max-width: 768px){.tools-grid{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width: 480px){.tools-grid{gap:var(--spacing-sm);grid-template-columns:1fr}}.tool-card-wrapper{height:100%;min-height:280px;overflow:visible;position:relative;width:100%}@media (max-width: 768px){.tool-card-wrapper{min-height:260px;overflow:visible}}@media (max-width: 480px){.tool-card-wrapper{min-height:240px;overflow:visible}}.tool-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-bottom:none;border-radius:var(--border-radius);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;padding:1.25rem;position:relative;transition:all var(--transition-fast);word-wrap:break-word;height:100%;hyphens:auto;min-height:280px;width:100%}@media (max-width: 768px){.tool-card{min-height:260px;padding:1rem}}@media (max-width: 480px){.tool-card{min-height:240px;padding:.875rem}}.tool-card:hover{border-color:var(--color-secondary);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);transform:translateY(-4px)}.tool-card.expanded{background-color:var(--color-surface);border-color:var(--color-secondary);box-shadow:0 20px 25px -5px rgba(0,0,0,.25),0 10px 10px -5px rgba(0,0,0,.15);height:auto;left:0;max-height:none;min-height:auto;overflow:visible;position:absolute;top:0;transform:scale(1.1);transform-origin:center;transition:all var(--transition-normal);width:100%;z-index:100}@media (max-width: 768px){.tool-card.expanded{height:auto;max-height:none;min-height:auto;transform:scale(1.05);transform-origin:top center}}@media (min-width: 769px) and (max-width: 1024px){.tool-card.expanded{height:auto;max-height:none;min-height:auto;transform:scale(1.08)}}.tool-card.expanded .tool-description{-webkit-line-clamp:unset;line-clamp:unset;display:block;margin-bottom:1rem;overflow:visible;white-space:normal;word-wrap:break-word}.tool-card.expanded .tool-tags{margin-bottom:1rem;max-height:none;opacity:1;overflow:visible}.tool-card:focus-within{outline:2px solid var(--color-secondary);outline-offset:2px}.tool-header{align-items:flex-start;display:flex;margin-bottom:.5rem}.tool-logo{border-radius:0;flex-shrink:0;height:40px;margin-right:1rem;width:40px}.tool-info{flex:1;padding-top:2px}.tool-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:700;line-height:1.2;margin-bottom:.125rem}@media (max-width: 768px){.tool-title{font-size:var(--font-size-base);line-height:.5}}.tool-vendor{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}@media (max-width: 768px){.tool-vendor{font-size:var(--font-size-xs)}}.tool-url{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:.25rem 0 .5rem;opacity:.7;pointer-events:none;user-select:none;word-break:break-all}@media (max-width: 768px){.tool-url{font-size:10px;margin:.125rem 0 .375rem}}.tool-indicators{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}@media (max-width: 768px){.tool-indicators{gap:.375rem;margin-bottom:.5rem}}.tool-indicator{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:20px;justify-content:center;position:relative;width:20px}@media (max-width: 768px){.tool-indicator{height:18px;width:18px}}.tool-indicator[title]:hover::after{background-color:rgba(0,0,0,.9);border-radius:4px;bottom:130%;color:#fff;content:attr(title);font-size:12px;padding:4px 8px;white-space:nowrap}.tool-indicator[title]:hover::after,.tool-indicator[title]:hover::before{left:50%;pointer-events:none;position:absolute;transform:translateX(-50%);z-index:9999}.tool-indicator[title]:hover::before{border:4px solid transparent;border-top-color:rgba(0,0,0,.9);bottom:125%;content:""}.tool-description{color:var(--color-text-muted);flex:1;font-size:var(--font-size-sm);line-height:1.5;margin-bottom:1rem;transition:all var(--transition-normal)}@media (max-width: 768px){.tool-description{font-size:var(--font-size-xs);line-height:1.4;margin-bottom:.75rem}}.tool-description.truncated{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.tool-tags{display:flex;flex-wrap:wrap;gap:.5rem;max-height:none;opacity:1;overflow:visible;transition:all var(--transition-normal)}@media (max-width: 768px){.tool-tags{gap:.375rem}}.tool-tags .tool-tag:nth-child(n+4){display:none}.tool-card.expanded .tool-tags .tool-tag:nth-child(n+4){display:inline-flex}.tool-favorite-star{color:#fbbf24;height:20px;width:20px}.tool-favorite-btn,.tool-favorite-star{bottom:.75rem;position:absolute;right:.75rem;z-index:10}.tool-favorite-btn{background:none;border:none;border-radius:4px;cursor:pointer;height:32px;padding:6px;transition:background-color .2s;width:32px}.tool-favorite-btn:hover{background-color:rgba(0,0,0,.1)}.tool-favorite-btn .tool-favorite-star{color:#d1d5db;height:20px;position:static;transition:color .2s;width:20px}.tool-favorite-btn .tool-favorite-star.favorited{color:#fbbf24}.tool-favorite-btn[data-tooltip]:hover::after{background-color:rgba(0,0,0,.9);border-radius:4px;bottom:130%;color:#fff;content:attr(data-tooltip);font-size:12px;left:50%;padding:4px 8px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:9999}.tool-favorite-btn[data-tooltip]:hover::before{border:4px solid transparent;border-top-color:rgba(0,0,0,.9);bottom:125%;content:"";left:50%;pointer-events:none;position:absolute;transform:translateX(-50%);z-index:9999}.tool-tag{background-color:var(--color-chip);border-radius:var(--border-radius-full);color:var(--color-text);font-size:var(--font-size-xs);font-weight:500;padding:var(--spacing-xs) var(--spacing-sm)}.profile-section{margin:0 auto;max-width:1200px;padding:var(--spacing-lg)}.profile-title{color:var(--color-text);font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-sm)}.profile-description{color:var(--color-text-muted);line-height:1.6;margin-bottom:var(--spacing-xl)}.profile-container{gap:var(--spacing-lg)}.profile-container,.profile-form{display:flex;flex-direction:column}.profile-form{gap:var(--spacing-xl)}@media (min-width: 768px){.profile-form{display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 1fr}.favorites-section,.form-actions,.links-section,.privacy-section,.tools-section{grid-column:1/-1}}.form-section{background-color:var(--color-surface);display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}.consent-setting,.form-section{border:1px solid var(--color-border);border-radius:var(--border-radius)}.consent-setting{background-color:var(--color-background);padding:var(--spacing-md);transition:all var(--transition-fast)}.consent-setting:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.consent-label{align-items:flex-start;cursor:pointer;display:flex;gap:var(--spacing-md);margin:0}.consent-checkbox{appearance:none;background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:4px;cursor:pointer;flex-shrink:0;height:18px;margin-top:2px;transition:all var(--transition-fast);width:18px}.consent-checkbox:checked{background-color:var(--color-accent);border-color:var(--color-accent)}.consent-checkbox:checked::after{align-items:center;color:#fff;content:"✓";display:flex;font-size:12px;font-weight:700;height:100%;justify-content:center}.consent-checkbox:focus{outline:2px solid var(--color-accent);outline-offset:2px}.consent-checkmark{background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:4px;display:inline-block;flex-shrink:0;height:20px;margin-top:2px;position:relative;transition:all var(--transition-fast);width:20px}.consent-checkbox:checked + .consent-checkmark{background-color:var(--color-accent);border-color:var(--color-accent)}.consent-checkbox:checked + .consent-checkmark::after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.consent-checkbox:focus + .consent-checkmark{outline:2px solid var(--color-accent);outline-offset:2px}.consent-label .consent-checkbox{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.consent-text h4{font-size:var(--font-size-lg)}.consent-text p{line-height:1.5}.consent-text h4{color:var(--color-text);font-size:var(--font-size-md);font-weight:600;margin:0 0 var(--spacing-xs) 0}.consent-text p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.4;margin:0}.favorites-section{min-height:400px}.section-title{border-bottom:1px solid var(--color-border);color:var(--color-text);flex-shrink:0;font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm)}.favorites-header{align-items:center;display:flex;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-md)}.favorites-header .section-title{border-bottom:none;flex-grow:1;margin-bottom:0;padding-bottom:0}.favorites-filter-container{flex-shrink:0;min-width:200px}.favorites-filter-input{font-size:var(--font-size-xs);margin:0;min-height:36px;padding:var(--spacing-xs) var(--spacing-sm)}@media (max-width: 767px){.favorites-header{align-items:stretch;flex-direction:column}.favorites-filter-container{min-width:auto}}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-label,.section-label{flex-shrink:0;font-weight:500}.section-label{margin:0 0 var(--spacing-xs) 0}.form-input,.form-select,.section-label{color:var(--color-text);font-size:var(--font-size-sm)}.form-input,.form-select{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);min-height:44px;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast)}.form-input:focus,.form-select:focus{border-color:var(--color-secondary);outline:2px solid var(--color-secondary);outline-offset:2px}.favorites-grid{background-color:var(--color-background);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:300px;overflow-y:auto}.favorite-tool,.favorites-grid{border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-sm)}.favorite-tool{align-items:center;background-color:var(--color-surface);cursor:pointer;display:flex;min-height:44px;position:relative;transition:all var(--transition-fast);user-select:none}.favorite-tool:hover{background-color:var(--color-surface-hover);border-color:var(--color-secondary);box-shadow:0 2px 4px rgba(0,0,0,.1);transform:translateY(-1px)}.favorite-tool:active{box-shadow:0 1px 2px rgba(0,0,0,.1);transform:translateY(0)}.favorite-tool:focus{outline:2px solid var(--color-secondary);outline-offset:2px}.favorite-tool.selected{background-color:rgba(220,38,38,.1);border-color:var(--color-secondary);box-shadow:0 0 0 1px var(--color-secondary)}.favorite-tool input[type="checkbox"]{flex-shrink:0;margin-right:var(--spacing-sm);min-height:16px;min-width:16px;pointer-events:none}.favorite-tool-info{display:flex;flex-direction:column;flex-grow:1;gap:2px;pointer-events:none}.favorite-tool-name{color:var(--color-text);font-size:var(--font-size-sm);font-weight:500;line-height:1.2}.favorite-tool-vendor{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:400;line-height:1.1}.favorite-checkbox{margin-right:var(--spacing-sm)}.favorites-filter{margin-bottom:var(--spacing-md);position:relative}.favorites-filter input{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);font-size:var(--font-size-sm);min-height:44px;padding:var(--spacing-sm) var(--spacing-md) var(--spacing-sm) 40px;transition:border-color var(--transition-fast);width:100%}.favorites-filter input:focus{border-color:var(--color-secondary);outline:2px solid var(--color-secondary);outline-offset:2px}.favorites-filter::before{color:var(--color-text-muted);content:"🔍";font-size:var(--font-size-sm);left:var(--spacing-md);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.custom-collection-group{display:contents}.custom-collection-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-secondary);font-size:var(--font-size-sm);font-weight:600;grid-column:1/-1;margin:var(--spacing-sm) 0 var(--spacing-xs) 0;padding:var(--spacing-xs) var(--spacing-sm)}.favorite-tool.custom-tool{background:linear-gradient(135deg,var(--color-surface) 0,rgba(59,130,246,.05) 100%);border-left:3px solid var(--color-accent)}.favorite-tool.custom-tool:hover{background:linear-gradient(135deg,var(--color-surface-hover) 0,rgba(59,130,246,.1) 100%);border-left-color:var(--color-accent)}.custom-tool-badge{border-radius:10px;font-size:var(--font-size-xs);margin-left:auto;padding:2px 6px}.btn.btn-accent,.custom-tool-badge{background:var(--color-accent);color:#fff;font-weight:500}.btn.btn-accent{border:1px solid var(--color-accent)}.btn.btn-accent:hover{background:#2563eb;border-color:#2563eb;box-shadow:0 4px 12px rgba(59,130,246,.3);transform:translateY(-1px)}.tools-section{min-height:400px}.custom-tools-header{margin-bottom:var(--spacing-lg)}.section-description{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:0;margin-top:var(--spacing-sm)}.custom-tools-container{display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%}.custom-collections-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-md);flex-direction:column;gap:var(--spacing-md);min-height:100px}.custom-collection-item,.custom-collections-list{display:flex;padding:var(--spacing-md);width:100%}.custom-collection-item{align-items:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);justify-content:space-between;transition:border-color var(--transition-fast)}.custom-collection-item:hover{border-color:var(--color-primary)}.custom-collection-item.loading{opacity:.7}.custom-collection-item.error{background:rgba(220,53,69,.05);border-color:var(--color-error)}.custom-collection-info{align-items:center;display:grid;flex:1;gap:var(--spacing-sm);grid-template-columns:1fr auto;width:100%}.custom-collection-details{display:flex;flex-direction:column;gap:2px;min-width:0}.custom-collection-name{color:var(--color-text);font-size:var(--font-size-sm);font-weight:600}.custom-collection-header{align-items:center;display:flex;gap:8px;justify-content:space-between}.validation-badge-container{flex-shrink:0}.collection-validation-summary{align-items:center;display:flex;font-size:var(--font-size-xs);gap:8px;margin-top:4px}.collection-validation-summary span{border-radius:4px;font-size:10px;font-weight:500;letter-spacing:.5px;padding:2px 6px;text-transform:uppercase}.collection-validation-summary .all-valid,.collection-validation-summary .valid-tools{background:#dcfce7;color:#166534}.collection-validation-summary .error-count,.collection-validation-summary .invalid-tools{background:#fef2f2;color:#dc2626}.collection-validation-summary .warning-count{background:#fffbeb;color:#d97706}.custom-collection-description{color:var(--color-text-muted);font-size:var(--font-size-xs);word-wrap:break-word}.custom-collection-url{color:var(--color-primary);font-size:var(--font-size-xs);text-decoration:none;word-break:break-all}.custom-collection-url:hover{text-decoration:underline}.custom-collection-status{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:2px}.collection-status-badge{align-items:center;border-radius:var(--border-radius-sm);display:inline-flex;font-size:var(--font-size-xs);font-weight:500;gap:4px;padding:2px 6px;white-space:nowrap}.collection-status-badge.loaded{background:rgba(40,167,69,.1);color:var(--color-success)}.collection-status-badge.error{background:rgba(220,53,69,.1);color:var(--color-error)}.collection-status-badge.loading{background:rgba(255,193,7,.1);color:#856404}.collection-tool-count{color:var(--color-text-muted);font-size:var(--font-size-xs);white-space:nowrap}.custom-collection-actions{display:flex;flex-shrink:0;gap:var(--spacing-sm)}.custom-collection-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-lg);width:100%}.form-subsection-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-md)}.form-row{gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.form-actions-inline{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:flex-start;margin-top:var(--spacing-md)}.form-help{display:block}.custom-collections-empty{color:var(--color-text-muted);font-style:italic;padding:var(--spacing-xl);text-align:center}@media (max-width: 767px){.custom-collection-info,.form-row{grid-template-columns:1fr}.custom-collection-status{align-items:flex-start;margin-top:var(--spacing-sm)}.custom-collection-actions{align-items:stretch;flex-direction:column;margin-top:var(--spacing-sm)}.form-actions-inline{flex-direction:column}}.form-actions{border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.btn-primary,.btn-secondary{align-items:center;border:1px solid transparent;border-radius:var(--border-radius);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:500;justify-content:center;min-height:44px;min-width:120px;padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;transition:all var(--transition-fast)}.btn-secondary{border-color:var(--color-border)}.btn-secondary:hover{background-color:var(--color-surface-hover)}.btn-primary{color:var(--color-background)}.btn-primary:hover{background-color:var(--color-secondary-dark,#0056b3)}.btn-primary:focus,.btn-secondary:focus{outline:2px solid var(--color-secondary);outline-offset:2px}@media (max-width: 767px){.form-section,.profile-section{padding:var(--spacing-md)}.favorites-grid{grid-template-columns:1fr;max-height:250px}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.btn{align-items:center;border:none;border-radius:var(--border-radius);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all var(--transition-fast)}.btn-primary{background-color:var(--color-secondary);color:#fff}.btn-primary:hover{background-color:#b91c1c}.btn-secondary{background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary:hover{background-color:var(--color-hover);border-color:var(--color-secondary)}.tool-form{max-width:100%}.form-row{display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 1fr;margin-bottom:var(--spacing-lg)}.form-textarea{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);font-family:inherit;font-size:var(--font-size-sm);min-height:80px;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast)}.form-textarea:focus{border-color:var(--color-secondary);outline:2px solid var(--color-secondary);outline-offset:2px}.checkbox-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.checkbox-fieldset{border:none;margin:0;min-width:0;padding:0}.checkbox-fieldset legend{margin-bottom:var(--spacing-xs);padding:0}.checkbox-label{align-items:center;border-radius:var(--border-radius);cursor:pointer;display:flex;min-height:44px;padding:var(--spacing-xs);transition:background-color var(--transition-fast)}.checkbox-label:hover{background-color:var(--color-hover)}.checkbox-input{accent-color:var(--color-secondary);height:16px;margin-right:var(--spacing-sm);width:16px}.checkbox-text{color:var(--color-text);font-size:var(--font-size-sm)}.tags-input-container{position:relative}.tags-input{width:100%}.tags-suggestions{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:0 0 var(--border-radius) var(--border-radius);border-top:none;box-shadow:var(--shadow-md);display:none;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:var(--z-dropdown)}.tags-suggestions.visible{display:block}.tag-suggestion{border-bottom:1px solid var(--color-border);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:background-color var(--transition-fast)}.tag-suggestion.highlighted,.tag-suggestion:hover{background-color:var(--color-hover)}.tag-suggestion:last-child{border-bottom:none}.selected-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-sm);min-height:32px}.tag-item{background-color:var(--color-secondary);border-radius:var(--border-radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:500;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.tag-item,.tag-remove{align-items:center;color:#fff}.tag-remove{background:none;border:none;border-radius:50%;cursor:pointer;display:flex;height:16px;justify-content:center;margin:0;padding:0;transition:background-color var(--transition-fast);width:16px}.tag-remove:hover{background-color:hsla(0,0%,100%,.2)}.form-help{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.form-button{align-items:center;display:flex;font-weight:500;gap:var(--spacing-sm);justify-content:center;min-height:48px;padding:var(--spacing-md) var(--spacing-xl);position:relative}.form-button:hover:not(:disabled){background-color:#b91c1c;transform:translateY(-1px)}.form-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-spinner{display:none;height:20px;width:20px}.form-button.loading .btn-text{display:none}.form-button.loading .btn-spinner{display:block}.spinner{animation:spin 1s linear infinite;height:20px;width:20px}.spinner .path{stroke-dasharray:90,150;stroke-dashoffset:0;stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}@keyframes spin{100%{transform:rotate(1turn)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.form-message{border-radius:var(--border-radius);font-size:var(--font-size-sm);margin-top:var(--spacing-md);padding:var(--spacing-md)}.form-message.success{background-color:#d1fae5;border:1px solid #10b981;color:#065f46}.form-message.error{background-color:#fef2f2;border:1px solid #ef4444;color:#991b1b}.contact-info{color:var(--color-text-muted);text-align:center}.contact-info h3{color:var(--color-text)}@media (max-width: 767px){.form-row{gap:var(--spacing-md);grid-template-columns:1fr}.checkbox-group{flex-direction:column}.selected-tags{gap:var(--spacing-xs)}.form-button{width:100%}}.social-links{display:flex;gap:2rem;justify-content:center;margin-top:1.5rem}.social-link{align-items:center;border-radius:var(--border-radius);color:var(--color-text-muted);display:flex;flex-direction:column;gap:.5rem;min-height:80px;min-width:80px;padding:1rem;text-decoration:none;transition:all var(--transition-fast)}.social-link:hover{background-color:var(--color-hover);color:var(--color-secondary);transform:translateY(-2px)}.social-icon{align-items:center;display:flex;height:32px;justify-content:center;transition:transform var(--transition-fast);width:32px}.social-link:hover .social-icon{transform:scale(1.1)}.social-icon img,.social-icon svg{height:100%;width:100%}.social-icon img{border-radius:4px;filter:grayscale(100%);object-fit:contain;transition:filter var(--transition-fast)}.social-link:hover .social-icon img{filter:grayscale(0)}.social-label{font-size:var(--font-size-sm);font-weight:500;text-align:center}.social-link[href*="linkedin"]:hover{color:#0077b5}.social-link[href*="youtube"]:hover{color:red}.social-link[href*="chateauforge.com"]:hover{color:var(--color-primary)}@media (max-width: 480px){.social-links{gap:1rem}.social-link{min-height:70px;min-width:70px;padding:.75rem}.social-icon{height:28px;width:28px}.social-label{font-size:var(--font-size-xs)}}.forms-container{display:flex;flex-wrap:wrap;gap:2rem;margin-top:2rem}.form-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-sm);flex:1;min-width:350px;padding:2rem}.form-container-title{color:var(--color-primary);font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.form-container-content{display:flex;flex-direction:column;height:100%}.form-container .tool-form{flex:1}@media (max-width: 768px){.forms-container{flex-direction:column;gap:1.5rem}.form-container{min-width:unset;padding:1.5rem}.form-container-title{font-size:1.25rem}}@media (max-width: 480px){.form-container{padding:1rem}.forms-container{gap:1rem}}@media (min-width: 769px){.forms-container{align-items:stretch}.form-container{display:flex;flex-direction:column}.form-container-content{display:flex;flex:1;flex-direction:column}.tool-form{flex:1}}.no-results{color:var(--color-text-muted);padding:var(--spacing-2xl);text-align:center}.no-results h3{font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--spacing-sm)}.no-results p{font-size:var(--font-size-base)}.page-content{display:block;min-height:200px}.page-content.active{display:block}.content-area > *{display:block;margin-bottom:var(--spacing-lg)}.content-area h1,.content-area h2,.content-area h3{color:var(--color-primary)}.content-area p{color:var(--color-text);line-height:1.6;margin-bottom:var(--spacing-md)}.hero-section{background-color:var(--color-surface);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-2xl);padding:var(--spacing-2xl);text-align:center}.hero-title{color:var(--color-primary);font-size:var(--font-size-4xl);font-weight:700;margin-bottom:var(--spacing-md)}.hero-description{color:var(--color-text-muted);font-size:var(--font-size-lg);margin-bottom:var(--spacing-xl);margin-left:auto;margin-right:auto;max-width:48rem}.cta-button{background-color:var(--color-secondary);border:none;border-radius:var(--border-radius-full);color:#fff;cursor:pointer;display:inline-block;font-size:var(--font-size-base);font-weight:700;padding:var(--spacing-md) var(--spacing-xl);text-decoration:none;transition:all var(--transition-fast)}.cta-button:hover{opacity:.9;transform:translateY(-1px)}.cta-button:focus{outline:2px solid var(--color-secondary);outline-offset:2px}.quick-links{margin-top:var(--spacing-2xl)}.quick-links h3{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--spacing-lg)}.quick-links-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.quick-link-card{align-items:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);color:inherit;cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);text-decoration:none;transition:all var(--transition-fast)}.quick-link-card:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quick-link-icon{color:var(--color-secondary);flex-shrink:0;height:32px;width:32px}.quick-link-icon svg{height:100%;width:100%}.quick-link-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:600}.add-quick-link{background-color:transparent;border:2px dashed var(--color-border);justify-content:center;opacity:.7;transition:all var(--transition-fast)}.add-quick-link:hover{background-color:var(--color-surface-alt);border-color:var(--color-secondary);opacity:1;transform:translateY(-2px)}.add-quick-link .quick-link-icon{color:var(--color-text-muted)}.add-quick-link:hover .quick-link-icon{color:var(--color-secondary)}.custom-quick-link{border-left:4px solid var(--color-secondary);position:relative}.custom-quick-link .quick-link-icon{color:var(--color-primary)}.quick-link-remove{align-items:center;background-color:var(--color-danger);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;opacity:0;position:absolute;right:8px;top:8px;transform:scale(.8);transition:all var(--transition-fast);width:24px}.custom-quick-link:hover .quick-link-remove{opacity:1;transform:scale(1)}.quick-link-remove:hover{background-color:var(--color-danger-dark);transform:scale(1.1)}.content-section{background-color:var(--color-surface);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.section-title{color:var(--color-primary);font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-lg)}.section-content{color:var(--color-text);line-height:1.6}.section-content p{margin-bottom:var(--spacing-md)}.section-content p:last-child{margin-bottom:0}.form-group{margin-bottom:var(--spacing-lg)}.form-label{color:var(--color-text);display:block;font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-sm)}.form-input,.form-textarea{border:1px solid var(--color-border);border-radius:var(--border-radius);font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-md);transition:all var(--transition-fast);width:100%}.form-input:focus,.form-textarea:focus{border-color:var(--color-secondary);outline:2px solid var(--color-secondary);outline-offset:2px}.form-textarea{min-height:6rem;resize:vertical}.form-button{background-color:var(--color-secondary);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:var(--font-size-base);font-weight:700;padding:var(--spacing-md);transition:all var(--transition-fast);width:100%}.form-button:hover{opacity:.9}.form-button:focus{outline:2px solid var(--color-secondary);outline-offset:2px}@media (max-width: 768px){.mobile-menu-btn{display:flex!important}.sidebar{transition:transform var(--transition-normal)!important;z-index:var(--z-sidebar)}.sidebar,.sidebar:hover{transform:translateX(-100%)!important;width:var(--sidebar-width-expanded)!important}.sidebar.mobile-open{transform:translateX(0)!important;z-index:var(--z-sidebar)}.sidebar.mobile-open::before{backdrop-filter:blur(2px);background-color:rgba(0,0,0,.5);bottom:0;content:"";left:0;position:fixed;right:0;top:0;z-index:-1}.sidebar.mobile-open .logo-text,.sidebar.mobile-open .nav-text,.sidebar.mobile-open .sidebar-copyright{opacity:1!important}.main-content,.sidebar:hover + .main-content{margin-left:0!important;width:100%!important}.header-content{padding:0 var(--spacing-md)}.search-section{align-items:center;flex-direction:row;gap:var(--spacing-md);justify-content:flex-start}.search-container{display:none}.mobile-search-btn{display:flex}.search-section.mobile-search-active .mobile-search-btn{display:none!important}.search-section.mobile-search-active .search-container{animation:slideDown .2s ease-out;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md);box-sizing:border-box;display:flex!important;flex:none;left:0;max-width:none;padding:var(--spacing-md);position:fixed;right:0;top:var(--header-height);width:100vw;z-index:var(--z-dropdown)}@keyframes slideDown{from{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.search-section.mobile-search-active .search-input{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-full);box-sizing:border-box;font-size:var(--font-size-lg);padding:var(--spacing-lg) var(--spacing-md) var(--spacing-lg) 3rem;transition:all var(--transition-fast);width:100%}.search-section.mobile-search-active .search-input:focus{border-color:var(--color-secondary);outline:2px solid var(--color-secondary);outline-offset:2px}.search-section.mobile-search-active .search-icon{left:var(--spacing-lg);pointer-events:none}.search-section.mobile-search-active .search-clear,.search-section.mobile-search-active .search-icon{color:var(--color-text-light);height:24px;position:absolute;top:50%;transform:translateY(-50%);width:24px}.search-section.mobile-search-active .search-clear{align-items:center;background:none;border:none;cursor:pointer;display:none;justify-content:center;right:var(--spacing-lg);transition:all var(--transition-fast)}.search-section.mobile-search-active .search-clear.visible{align-items:center;display:flex;justify-content:center}.search-section.mobile-search-active .search-clear svg{height:20px;width:20px;stroke:var(--color-text-light)}.search-section.mobile-search-active .search-clear:hover{background-color:var(--color-hover);border-radius:4px}.tools-controls{gap:var(--spacing-md);justify-content:center;order:0}.control-btn{height:44px;padding:var(--spacing-sm);width:44px}.content-area{padding:var(--spacing-md)}.quick-links-grid,.tools-grid{grid-template-columns:1fr}.hero-section{padding:var(--spacing-lg)}.hero-title{font-size:var(--font-size-3xl)}.hero-description{font-size:var(--font-size-base)}}@media (max-width: 480px){.header-actions{gap:var(--spacing-sm)}.time-display{display:none}.dropdown-menu{left:auto;min-width:14rem;right:0}.control-btn,.mobile-search-btn{height:40px;width:40px}.search-section{gap:var(--spacing-sm)}.header-content{padding:0 var(--spacing-sm)}}@media print{.dropdown-menu,.header,.loading-screen,.sidebar{display:none!important}.main-content{margin-left:0!important}.content-area{padding:0!important}.tool-card{border:1px solid var(--color-border)!important;box-shadow:none!important;break-inside:avoid}}.license-info{background-color:var(--color-background);border-left:4px solid var(--color-accent);border-radius:var(--border-radius);padding:var(--spacing-lg)}.license-info h3{color:var(--color-primary);margin-bottom:var(--spacing-md)}.license-text{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:1.6;overflow-x:auto;padding:var(--spacing-lg);white-space:pre-wrap}.license-info h4{color:var(--color-text);font-size:var(--font-size-md);margin:var(--spacing-lg) 0 var(--spacing-sm) 0}.license-details ul{margin:var(--spacing-sm) 0;padding-left:var(--spacing-lg)}.license-details li{color:var(--color-text);margin-bottom:var(--spacing-xs)}.copyright-notice{border-top:1px solid var(--color-border);font-size:var(--font-size-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.copyright-notice a{color:var(--color-accent);text-decoration:none}.copyright-notice a:hover{text-decoration:underline}.faq-header{align-items:center;display:flex;gap:var(--spacing-lg);justify-content:space-between;margin-bottom:var(--spacing-lg)}.faq-search-container{align-items:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);display:flex;flex-shrink:0;max-width:300px;padding:var(--spacing-xs);position:relative}.faq-search-icon{color:var(--color-text-muted);flex-shrink:0;height:20px;margin-left:var(--spacing-xs);width:20px}.faq-search-input{background:transparent;border:none;color:var(--color-text);font-size:var(--font-size-sm);outline:none;padding:var(--spacing-xs) var(--spacing-sm);width:100%}.faq-search-input::placeholder{color:var(--color-text-muted)}.faq-search-clear{background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:none;flex-shrink:0;padding:var(--spacing-xs)}.faq-search-clear:hover{color:var(--color-text)}.faq-search-clear svg{height:16px;width:16px}.faq-item{border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg)}.faq-item:last-child{border-bottom:none;margin-bottom:0}.faq-item.hidden{display:none}.faq-question{align-items:center;color:var(--color-primary);cursor:pointer;display:flex;font-size:var(--font-size-lg);font-weight:600;justify-content:space-between;margin-bottom:var(--spacing-md)}.faq-answer{color:var(--color-text);line-height:1.6}.faq-answer ul{margin:var(--spacing-sm) 0;padding-left:var(--spacing-lg)}.faq-answer li{align-items:center;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.faq-answer strong{color:var(--color-primary)}.faq-answer .code-block{background:var(--color-input-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-md);margin:var(--spacing-md) 0;overflow:hidden}.faq-answer .code-block pre{background:transparent;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85em;line-height:1.5;margin:0;overflow-x:auto;padding:var(--spacing-md)}.faq-answer .code-block code{background:transparent;border-radius:0;color:var(--color-text);font-size:inherit;padding:0}.faq-no-results{color:var(--color-text-muted);padding:var(--spacing-xl);text-align:center}.cost-badge,.type-badge{align-items:center;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:var(--font-size-xs);font-weight:500;height:24px;justify-content:center;margin-right:var(--spacing-sm);width:24px}.cost-badge.free{background-color:var(--color-success)}.cost-badge.paid{background-color:var(--color-warning)}.cost-badge.account{background-color:var(--color-primary)}.type-badge.government{background-color:#1e40af}.type-badge.commercial{background-color:#7c2d12}.type-badge.opensource{background-color:#3b82f6}.cost-badge span,.type-badge span{display:none}@media (max-width: 768px){.faq-header{align-items:stretch;flex-direction:column;gap:var(--spacing-md)}.faq-search-container{max-width:none;padding:var(--spacing-sm)}.faq-search-input{font-size:16px;padding:var(--spacing-sm)}.faq-answer li{align-items:flex-start;flex-direction:row;gap:var(--spacing-sm);line-height:1.5}.cost-badge,.type-badge{align-self:flex-start;margin-top:2px}.faq-question{font-size:var(--font-size-base);line-height:1.4}}@media (max-width: 480px){.faq-search-container{padding:var(--spacing-xs) var(--spacing-sm)}.faq-search-input{padding:var(--spacing-sm) var(--spacing-xs)}.faq-answer li{align-items:flex-start;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.faq-answer ul{padding-left:var(--spacing-md)}.faq-item{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.faq-question{padding-right:var(--spacing-sm)}.faq-answer,.faq-question{font-size:var(--font-size-sm)}}.faq-container{max-width:800px}.modal{align-items:center;background-color:rgba(0,0,0,.7);display:flex;height:100%;justify-content:center;left:0;padding:var(--spacing-lg);position:fixed;top:0;z-index:1000}.modal,.modal-content{overflow-y:auto;width:100%}.modal-content{background-color:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);margin:auto;max-height:80vh;max-width:500px;position:relative}.modal-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.modal-header h3{color:var(--color-primary);font-size:var(--font-size-xl);margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:var(--border-radius);color:var(--color-text-muted);cursor:pointer;display:flex;font-size:var(--font-size-2xl);height:32px;justify-content:center;padding:0;transition:all var(--transition-normal);width:32px}.modal-close:hover{background-color:var(--color-background);color:var(--color-text)}.modal-body{padding:var(--spacing-lg)}.modal-body p{margin-bottom:var(--spacing-md)}.modal-body ul{margin:var(--spacing-md) 0;padding-left:var(--spacing-lg)}.modal-body li{color:var(--color-text);margin-bottom:var(--spacing-xs)}.modal-actions,.modal-footer{border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg)}.modal-footer{background-color:var(--color-surface-alt);border-bottom-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius)}.modal-description{color:var(--color-text-muted);line-height:1.5;margin-bottom:var(--spacing-lg)}.icon-selection-container{margin:var(--spacing-lg) 0}.icon-selection-grid{background-color:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--border-radius);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(60px,1fr));margin-top:var(--spacing-md);max-height:200px;overflow-y:auto;padding:var(--spacing-sm)}.icon-option{align-items:center;background-color:var(--color-surface);border:2px solid transparent;border-radius:var(--border-radius);cursor:pointer;display:flex;flex-direction:column;padding:var(--spacing-sm);transition:all var(--transition-fast)}.icon-option:hover{background-color:var(--color-surface-hover);border-color:var(--color-secondary)}.icon-option.selected{background-color:var(--color-secondary-light);border-color:var(--color-secondary)}.icon-option .icon{color:var(--color-text);height:24px;margin-bottom:var(--spacing-xs);width:24px}.icon-option.selected .icon{color:var(--color-secondary)}.icon-option .icon-name{color:var(--color-text-muted);font-size:var(--font-size-xs);text-align:center;text-transform:capitalize}.custom-svg-container{margin-top:var(--spacing-sm)}.custom-svg-container textarea{border:1px solid var(--border-color);border-radius:var(--border-radius);font-family:Courier New,monospace;font-size:var(--font-size-sm);min-height:80px;padding:var(--spacing-sm);resize:vertical;width:100%}.custom-svg-container.active{display:block}.profile-quick-links-grid{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));width:100%}.profile-quick-link-item{background:var(--color-surface);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);justify-content:space-between;padding:var(--spacing-md)}.profile-quick-link-item:hover{box-shadow:0 4px 12px rgba(0,0,0,.1)}.profile-quick-link-content{align-items:center;display:flex;gap:var(--spacing-sm)}.profile-quick-link-icon{height:24px;width:24px}.profile-quick-link-details{flex:1;min-width:0}.profile-quick-link-title{color:var(--color-text);font-weight:var(--font-weight-medium);margin-bottom:2px;word-break:break-word}.profile-quick-link-search{font-size:var(--font-size-sm);word-break:break-word}.profile-quick-link-edit{height:20px;margin-left:var(--spacing-sm);width:20px}.profile-quick-link-edit:hover{color:var(--color-primary);opacity:1}.no-quick-links{color:var(--color-text-secondary);padding:var(--spacing-xl);text-align:center}.no-quick-links p{margin-bottom:var(--spacing-sm)}.no-quick-links p:last-child{margin-bottom:0}@media (max-width: 768px){.profile-quick-links-grid{gap:var(--spacing-sm);grid-template-columns:1fr}.profile-quick-link-item{padding:var(--spacing-sm)}}.custom-svg-textarea{font-family:Courier New,monospace;font-size:var(--font-size-sm);min-height:120px;resize:vertical;width:100%}.profile-quick-links-container{gap:1rem;margin:1rem 0;min-height:3rem}.profile-quick-link-item{align-items:center;background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:.5rem;cursor:pointer;display:flex;padding:.875rem 1rem;position:relative;transition:all .2s ease}.profile-quick-link-item:hover{background:var(--color-card-hover);border-color:var(--color-primary);box-shadow:0 2px 8px rgba(0,0,0,.1);transform:translateY(-1px)}.profile-quick-link-icon{align-items:center;color:var(--color-primary);display:flex;flex-shrink:0;height:2rem;justify-content:center;margin-right:.75rem;width:2rem}.profile-quick-link-icon svg{height:100%;width:100%}.profile-quick-link-content{flex:1;min-width:0}.profile-quick-link-title{color:var(--color-text-primary);font-weight:600;margin-bottom:.25rem}.profile-quick-link-search,.profile-quick-link-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-quick-link-search{color:var(--color-text-secondary);font-size:.875rem}.profile-quick-link-search::before{content:"Search: ";font-weight:500}.profile-quick-link-edit{align-items:center;color:var(--color-text-secondary);display:flex;flex-shrink:0;height:1.5rem;justify-content:center;margin-left:.5rem;opacity:.6;transition:all .2s ease;width:1.5rem}.profile-quick-link-item:hover .profile-quick-link-edit{color:var(--color-primary);opacity:1}.profile-quick-link-edit svg{height:100%;width:100%}.profile-quick-links-empty{background:var(--color-card-bg);border:2px dashed var(--color-border);border-radius:.5rem;color:var(--color-text-secondary);font-style:italic;grid-column:1/-1;padding:2rem;text-align:center}.quick-links-actions{display:flex;gap:.5rem;margin-top:1rem}.btn-danger{background-color:#dc2626;border:1px solid #dc2626;color:#fff}.btn-danger:hover{background-color:#b91c1c;border-color:#b91c1c}@media (max-width: 480px){.modal{padding:var(--spacing-md)}.modal-content{max-height:90vh}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}.success-message{background-color:#059669}.error-message,.success-message{animation:slideInUp .3s ease-out;border-radius:var(--border-radius);bottom:20px;box-shadow:var(--shadow-lg);color:#fff;display:none;font-size:var(--font-size-sm);font-weight:500;padding:var(--spacing-md) var(--spacing-lg);position:fixed;right:20px;z-index:1001}.error-message{background-color:var(--color-error)}@keyframes slideInUp{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutDown{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@media (max-width: 480px){.error-message,.success-message{bottom:10px;left:10px;right:10px;text-align:center}}.notification-container{display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:400px;pointer-events:none;position:fixed;right:var(--spacing-lg);top:var(--spacing-lg);z-index:var(--z-modal)}.notification{align-items:center;animation:slideInRight .3s ease-out;backdrop-filter:blur(10px);border:1px solid transparent;border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);display:flex;gap:var(--spacing-sm);max-width:100%;padding:var(--spacing-md);pointer-events:auto;word-wrap:break-word}.notification.success{background:rgba(40,167,69,.9);border-color:rgba(40,167,69,.3);color:#fff}.notification.error{background:rgba(220,53,69,.9);border-color:rgba(220,53,69,.3);color:#fff}.notification.warning{background:rgba(255,193,7,.9);border-color:rgba(255,193,7,.3);color:#212529}.notification.info{background:rgba(13,202,240,.9);border-color:rgba(13,202,240,.3);color:#fff}.notification-icon{flex-shrink:0;height:20px;width:20px}.notification-content{flex:1;font-size:var(--font-size-sm);line-height:1.4}.notification-close{border-radius:var(--border-radius-sm);color:inherit;flex-shrink:0;opacity:.7;padding:2px;transition:opacity var(--transition-fast)}.notification-close:hover{opacity:1}@keyframes slideInRight{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutRight{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.notification.removing{animation:slideOutRight .3s ease-in forwards}@media (max-width: 767px){.notification-container{left:var(--spacing-md);max-width:none;right:var(--spacing-md);top:var(--spacing-md)}.notification{padding:var(--spacing-sm) var(--spacing-md)}}.validation-notifications{max-width:400px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:10000}.validation-notification{background:#fff;border-left:4px solid;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);margin-bottom:12px;opacity:0;padding:16px;pointer-events:auto;transform:translateX(100%);transition:transform .3s ease,opacity .3s ease}.validation-notification.show{opacity:1;transform:translateX(0)}.validation-notification.error{border-left-color:var(--color-error)}.validation-notification.warning{border-left-color:var(--color-warning)}.validation-notification.success{border-left-color:var(--color-success)}.notification-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.notification-title{align-items:center;color:var(--color-primary);display:flex;font-weight:600;gap:8px}.notification-close{align-items:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;padding:0;width:24px}.notification-close:hover{color:var(--color-text)}.notification-message{color:var(--color-text-muted);font-size:14px;line-height:1.4}.notification-actions{display:flex;gap:8px;margin-top:12px}.notification-button{background:var(--color-accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px}.notification-button:hover{background:#2563eb}.notification-button.secondary{background:var(--color-text-muted)}.notification-button.secondary:hover{background:#4b5563}.validation-badge{align-items:center;border-radius:50%;cursor:pointer;display:inline-flex;position:relative;transition:transform .2s ease,box-shadow .2s ease}.validation-badge:hover{box-shadow:0 2px 8px rgba(0,0,0,.2);transform:scale(1.1)}.validation-badge:active{transform:scale(.95)}.validation-badge-icon{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:relative;width:20px}.validation-badge-icon.error{background:var(--color-error)}.validation-badge-icon.warning{background:var(--color-warning)}.validation-badge-icon.success{background:var(--color-success)}.validation-badge-count{align-items:center;background:#dc2626;border-radius:50%;color:#fff;display:flex;font-size:10px;font-weight:700;height:16px;justify-content:center;position:absolute;right:-6px;top:-6px;width:16px}.validation-popup{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);left:50%;max-height:80vh;max-width:800px;min-width:400px;opacity:0;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);transform:translate(-50%,-50%) scale(.95);transition:opacity .2s ease,transform .2s ease;width:90vw;z-index:10001}.validation-popup.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.validation-popup-overlay{background:rgba(0,0,0,.5);bottom:0;left:0;opacity:0;position:fixed;right:0;top:0;transition:opacity .2s ease;z-index:10000}.validation-popup-overlay.show{opacity:1}.validation-popup-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:20px 24px}.validation-popup-title{align-items:center;color:var(--color-primary);display:flex;font-size:18px;font-weight:600;gap:8px}.validation-popup-close{align-items:center;background:none;border:none;border-radius:6px;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;width:32px}.validation-popup-close:hover{background:var(--color-hover);color:var(--color-text)}.validation-popup-content{max-height:60vh;overflow-y:auto;padding:20px 24px}.validation-summary{background:#f8fafc;border-radius:8px;margin-bottom:20px;padding:16px}.validation-summary-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.validation-summary-item{text-align:center}.validation-summary-number{color:var(--color-primary);font-size:24px;font-weight:700}.validation-summary-label{color:var(--color-text-muted);font-size:12px;font-weight:500;text-transform:uppercase}.validation-issues{margin-top:20px}.validation-issue-group{margin-bottom:24px}.validation-issue-group-title{align-items:center;color:var(--color-primary);display:flex;font-size:16px;font-weight:600;gap:8px;margin-bottom:12px}.validation-issue{background:#f9fafb;border-left:4px solid;border-radius:6px;margin-bottom:8px;padding:12px}.validation-issue.error{background:#fef2f2;border-left-color:var(--color-error)}.validation-issue.warning{background:#fffbeb;border-left-color:var(--color-warning)}.validation-issue-message{color:var(--color-primary);font-size:14px;margin-bottom:4px}.validation-issue-details{color:var(--color-text-muted);font-size:12px}@media (max-width: 640px){.validation-notifications{left:10px;max-width:none;right:10px;top:10px}.validation-popup{left:50%;margin:0;max-width:none;min-width:auto;position:fixed;top:50%;width:calc(100vw - 40px)}.validation-popup,.validation-popup.show{transform:translate(-50%,-50%)}.validation-summary-grid{gap:12px;grid-template-columns:repeat(2,1fr)}}@media (min-width: 641px) and (max-width: 1024px){.validation-popup{max-width:700px;width:85vw}}@media (min-width: 1025px){.validation-popup{max-width:800px;width:80vw}}.consent-banner{animation:slideUp .3s ease-out;background:var(--color-surface);border-top:1px solid var(--color-border);bottom:0;box-shadow:var(--shadow-lg);left:0;padding:var(--spacing-lg);position:fixed;right:0;z-index:10000}.consent-content{align-items:center;display:flex;gap:var(--spacing-lg);justify-content:space-between;margin:0 auto;max-width:1200px}.consent-text{flex:1}.consent-title{color:var(--color-text);font-size:1.125rem;font-weight:600;margin:0 0 var(--spacing-sm) 0}.consent-description{color:var(--color-text-muted);line-height:1.5;margin:0}.consent-actions{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-md)}.consent-btn{border:1px solid transparent;border-radius:var(--border-radius);cursor:pointer;font-size:.875rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease;white-space:nowrap}.consent-btn-primary{background:var(--color-secondary);border-color:var(--color-secondary);color:#fff}.consent-btn-primary:hover{background:#b91c1c;border-color:#b91c1c}.consent-btn-secondary{background:transparent;border-color:var(--color-border);color:var(--color-text-muted)}.consent-btn-secondary:hover{background:var(--color-hover);color:var(--color-text)}.consent-btn-tertiary{background:transparent;border-color:transparent;color:var(--color-accent);text-decoration:underline}.consent-btn-tertiary:hover{color:#2563eb}.consent-modal{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-lg);position:fixed;right:0;top:0;z-index:10001}.consent-modal-content{background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);max-height:80vh;max-width:600px;overflow-y:auto;width:100%}.consent-modal-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.consent-modal-title{color:var(--color-text);font-size:1.25rem;font-weight:600;margin:0}.consent-modal-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.5rem;line-height:1;padding:var(--spacing-xs)}.consent-modal-close:hover{color:var(--color-text)}.consent-modal-body{padding:var(--spacing-lg)}.consent-modal-description{color:var(--color-text-muted);line-height:1.5;margin:0 0 var(--spacing-lg) 0}.consent-category{border:1px solid var(--color-border);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.consent-category-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.consent-category h4{color:var(--color-text);font-size:1rem;font-weight:600;margin:0}.consent-always-on{background:var(--color-chip);border-radius:12px;color:var(--color-text-muted);font-size:.75rem;font-weight:500;padding:var(--spacing-xs) var(--spacing-sm)}.consent-category-description{color:var(--color-text-muted);font-size:.875rem;line-height:1.4;margin:0}.consent-toggle{display:inline-block;height:24px;position:relative;width:48px}.consent-checkbox{height:0;opacity:0;width:0}.consent-slider{background-color:var(--color-border);border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.consent-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}.consent-checkbox:checked + .consent-slider{background-color:var(--color-secondary)}.consent-checkbox:checked + .consent-slider:before{transform:translateX(24px)}.consent-modal-footer{border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;padding:var(--spacing-lg)}@keyframes slideUp{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.consent-content{align-items:stretch;flex-direction:column;gap:var(--spacing-md)}.consent-actions{flex-direction:column;gap:var(--spacing-sm)}.consent-btn{text-align:center;width:100%}.consent-modal{padding:var(--spacing-md)}.consent-modal-content{max-height:90vh}}