:root{--bg-gradient-start: rgb(0, 54, 47);--bg-gradient-mid: rgb(0, 32, 29);--bg-gradient-end: #151615;--bg-card: rgba(20, 20, 24, .6);--bg-card-hover: rgba(30, 30, 38, .8);--bg-sidebar: rgba(20, 20, 24, .8);--bg-modal: rgba(0, 0, 0, .75);--bg-modal-content: rgba(20, 20, 24, .95);--bg-modal-content-alt: rgba(30, 30, 38, .95);--bg-input: rgba(0, 0, 0, .3);--bg-input-hover: rgba(0, 0, 0, .35);--bg-input-focus: rgba(0, 0, 0, .4);--bg-empty-state: rgba(20, 20, 24, .4);--bg-code: rgba(0, 0, 0, .3);--bg-code-alt: rgba(0, 0, 0, .2);--text-primary: #ffffff;--text-secondary: #eae9ff;--text-tertiary: #dcdcdc;--text-muted: #b0b0c0;--text-disabled: #a0a0b0;--text-subtle: #888;--text-footer: #666;--accent-purple-1: #8b6bdb;--accent-purple-2: #8b71c7;--accent-purple-3: #a58bff;--accent-purple-light: #cfc9ff;--border-default: rgba(120, 120, 160, .25);--border-hover: rgba(139, 107, 219, .4);--border-focus: rgba(139, 107, 219, .5);--border-subtle: rgba(255, 255, 255, .08);--border-divider: rgba(255, 255, 255, .1);--border-dashed: rgba(120, 120, 160, .3);--btn-solid-bg: #2b2b31;--btn-solid-border: #4a4a55;--btn-solid-hover-bg: #3a3a42;--btn-solid-hover-border: #6a6a80;--btn-secondary-bg: rgba(120, 120, 160, .2);--btn-secondary-border: rgba(120, 120, 160, .3);--btn-secondary-hover-bg: rgba(120, 120, 160, .3);--btn-secondary-hover-border: rgba(120, 120, 160, .5);--color-success: #22c55e;--color-success-alt: #16a34a;--color-success-bg: rgba(34, 197, 94, .2);--color-success-border: rgba(34, 197, 94, .5);--color-error: #ff6b6b;--color-error-alt: #ff5252;--color-error-bg: rgba(255, 107, 107, .1);--color-error-border: rgba(255, 107, 107, .2);--color-warning: #ffc107;--color-warning-bg: rgba(255, 193, 7, .1);--color-warning-border: rgba(255, 193, 7, .3);--color-danger: #dc3545;--color-danger-bg: rgba(220, 53, 69, .1);--color-danger-border: rgba(220, 53, 69, .3);--badge-bg: rgba(139, 107, 219, .2);--badge-border: rgba(139, 107, 219, .3);--spinner-border: rgba(139, 107, 219, .2);--overlay-bg: rgba(0, 0, 0, .5)}@media(prefers-color-scheme:light){:root{--bg-gradient-start: #f5f7f6;--bg-gradient-mid: #eef5f2;--bg-gradient-end: #e0ede8;--bg-card: rgba(255, 255, 255, .9);--bg-card-hover: rgba(255, 255, 255, 1);--bg-sidebar: rgba(255, 255, 255, .95);--bg-modal: rgba(0, 0, 0, .4);--bg-modal-content: rgba(255, 255, 255, .98);--bg-modal-content-alt: rgba(250, 250, 252, .98);--bg-input: rgba(255, 255, 255, .8);--bg-input-hover: rgba(255, 255, 255, .9);--bg-input-focus: rgba(255, 255, 255, 1);--bg-empty-state: #e8e8e8;--bg-code: rgba(245, 245, 250, .8);--bg-code-alt: rgba(240, 240, 245, .6);--text-primary: #1a1a1f;--text-secondary: #2d2d35;--text-tertiary: #3a3a45;--text-muted: #5a5a6a;--text-disabled: #7a7a8a;--text-subtle: #9a9aaa;--text-footer: #aaaaaa;--border-default: rgba(139, 107, 219, .2);--border-hover: rgba(139, 107, 219, .35);--border-focus: rgba(139, 107, 219, .5);--border-subtle: rgba(0, 0, 0, .08);--border-divider: rgba(0, 0, 0, .1);--border-dashed: rgba(139, 107, 219, .25);--btn-solid-bg: #f5f5f8;--btn-solid-border: #e0e0e8;--btn-solid-hover-bg: #eeeeee;--btn-solid-hover-border: #d0d0d8;--btn-secondary-bg: rgba(139, 107, 219, .1);--btn-secondary-border: rgba(139, 107, 219, .25);--btn-secondary-hover-bg: rgba(139, 107, 219, .15);--btn-secondary-hover-border: rgba(139, 107, 219, .35);--color-success: #16a34a;--color-success-alt: #15803d;--color-success-bg: rgba(34, 197, 94, .15);--color-success-border: rgba(34, 197, 94, .4);--color-error: #dc2626;--color-error-alt: #b91c1c;--color-error-bg: rgba(220, 38, 38, .1);--color-error-border: rgba(220, 38, 38, .25);--color-warning: #d97706;--color-warning-bg: rgba(217, 119, 6, .12);--color-warning-border: rgba(217, 119, 6, .3);--color-danger: #dc2626;--color-danger-bg: rgba(220, 38, 38, .1);--color-danger-border: rgba(220, 38, 38, .25);--badge-bg: rgba(139, 107, 219, .15);--badge-border: rgba(139, 107, 219, .25);--spinner-border: rgba(139, 107, 219, .2);--overlay-bg: rgba(0, 0, 0, .3)}}body{margin:0;min-height:100vh;background:linear-gradient(0deg,var(--bg-gradient-start) 0%,var(--bg-gradient-mid) 35%,var(--bg-gradient-end) 100%);background-attachment:fixed;color:var(--text-tertiary);font-family:-apple-system,BlinkMacSystemFont,Inter,SF Pro Display,system-ui,sans-serif}.layout-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.hero-title{font-size:clamp(2.5rem,2vw + 2rem,3.5rem);font-weight:700;letter-spacing:1px;background:linear-gradient(90deg,#8b6bdb,#8b71c7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;margin:0 0 1rem;text-align:center}.hero-subtext{font-size:1.125rem;font-weight:400;color:var(--text-muted);line-height:1.5;max-width:600px;margin:0 auto 2rem}.actions-row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2rem}.btn-solid{background-color:var(--btn-solid-bg);border:1px solid var(--btn-solid-border);color:var(--text-primary);font-size:.95rem;font-weight:500;padding:.6rem 1rem;border-radius:.5rem;cursor:pointer;transition:all .15s ease-in-out}.btn-solid:hover{background-color:var(--btn-solid-hover-bg);border-color:var(--btn-solid-hover-border)}.link-row{font-size:1rem;color:var(--accent-purple-light)}.link-row a{color:var(--accent-purple-light);text-decoration:none;font-weight:500;margin:0 .5rem}.link-row a:hover{text-decoration:underline;color:var(--accent-purple-3)}.divider{width:100%;max-width:480px;border-top:1px solid var(--border-divider);margin:2rem auto}.page-footer{margin-top:3rem;font-size:.8rem;color:var(--text-subtle)}.card-surface{background-color:var(--bg-card);border:1px solid var(--border-default);border-radius:.75rem;padding:1rem 1.25rem;min-width:220px;color:var(--text-secondary);text-align:left}.card-title{font-size:.9rem;font-weight:600;color:var(--accent-purple-light);margin-bottom:.4rem}.card-value{font-size:1.4rem;font-weight:600;color:var(--text-primary)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;max-width:800px;width:100%}.homepage-container{min-height:100vh;display:flex;flex-direction:column;max-width:1400px;margin:0 auto;padding:2rem 1.5rem;gap:3rem;width:100%;box-sizing:border-box}.homepage-header{text-align:center;padding:2rem 0;position:relative}.homepage-header .hero-title{margin-bottom:1rem}.homepage-header .hero-subtext{margin-bottom:1.5rem}.header-actions{display:flex;justify-content:center;gap:1rem}.homepage-main{flex:1;width:100%}.projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.projects-header-title{display:flex;align-items:center;gap:.75rem}.section-title{font-size:1.75rem;font-weight:600;color:var(--text-secondary);margin:0}.project-count{font-size:.95rem;color:var(--text-disabled);font-weight:500}.project-count-badge{display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0 .5rem;background:var(--badge-bg);border:1px solid var(--badge-border);border-radius:.375rem;font-size:.8125rem;font-weight:600;color:var(--accent-purple-1);line-height:1}.projects-header-actions{display:flex;align-items:center;gap:1rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;width:100%}@media(min-width:768px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.projects-grid{grid-template-columns:repeat(3,1fr)}}.project-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:1rem;padding:1.5rem;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:all .2s ease-in-out;cursor:pointer;min-height:180px}.project-card:hover{background:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.project-name{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0;flex:1;line-height:1.3}.key-badge{background:var(--badge-bg);border:1px solid var(--border-hover);color:var(--accent-purple-1);font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:.5rem;white-space:nowrap;flex-shrink:0}.project-description{font-size:.95rem;color:var(--text-muted);line-height:1.6;margin:0 0 1rem;flex:1;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-card-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border-subtle)}.view-link{font-size:.9rem;color:var(--accent-purple-1);font-weight:500;transition:color .2s ease}.project-card:hover .view-link{color:var(--accent-purple-3)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.spinner{width:48px;height:48px;border:3px solid var(--spinner-border);border-top-color:var(--accent-purple-1);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:var(--text-disabled);font-size:1rem;margin:0}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:2rem;text-align:center;animation:fadeIn .4s ease-in}.error-message{display:flex;align-items:center;justify-content:center;gap:.75rem;color:var(--color-error);font-size:1.125rem;margin:0;padding:1.25rem 1.75rem;background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:.75rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:500px;line-height:1.6}.error-message:before{content:"⚠";width:24px;height:24px;min-width:24px;font-size:16px;line-height:24px;text-align:center;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff6b6b,#ff8787);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;filter:drop-shadow(0 0 8px rgba(255,107,107,.4));flex-shrink:0}.error-toast{position:fixed;top:1.5rem;right:1.5rem;z-index:1000;animation:slideInRight .3s ease}.error-toast.closing{animation:slideOutRight .3s ease}.error-toast-content{display:flex;align-items:center;gap:.75rem;background:var(--bg-modal-content);border:1px solid rgba(255,107,107,.3);border-radius:.75rem;padding:1rem 1.25rem;min-width:300px;max-width:500px;box-shadow:0 8px 24px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.error-toast-icon{display:flex;align-items:center;justify-content:center;color:var(--color-error);flex-shrink:0}.error-toast-message{flex:1;color:var(--color-error);font-size:.95rem;font-weight:500;margin:0;line-height:1.5}.error-toast-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s ease;flex-shrink:0}.error-toast-close:hover{background:var(--color-error-bg);color:var(--color-error)}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@media(max-width:768px){.error-toast{top:5rem;right:1rem;left:1rem}.error-toast-content{min-width:auto;max-width:none}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem;text-align:center;max-width:500px;margin:0 auto}.empty-icon{font-size:4rem;opacity:.6}.empty-state h2{font-size:1.5rem;font-weight:600;color:var(--text-secondary);margin:0}.empty-state p{color:var(--text-disabled);font-size:1rem;line-height:1.6;margin:0}.empty-state .btn-solid{margin-top:.5rem;text-decoration:none;display:inline-block}.homepage-nav{display:flex;justify-content:center;align-items:center;gap:1rem;padding:2rem 0;font-size:1rem}.homepage-nav a{color:var(--accent-purple-light);text-decoration:none;font-weight:500;transition:color .2s ease}.homepage-nav a:hover{color:var(--accent-purple-3);text-decoration:underline}.nav-separator{color:var(--text-footer);font-weight:300}.homepage-container .page-footer{text-align:center;margin-top:auto;padding-top:2rem}.dashboard-container{min-height:100vh;display:flex;flex-direction:column;max-width:1400px;margin:0 auto;padding:2rem 1.5rem;gap:2rem;width:100%;box-sizing:border-box}.dashboard-header{margin-bottom:1rem}.dashboard-header-top{margin-bottom:1.5rem}.back-button{background:transparent;border:1px solid var(--badge-border);color:var(--accent-purple-light);font-size:.9rem;font-weight:500;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.back-button:hover{background:var(--badge-bg);border-color:var(--border-focus);color:var(--text-secondary)}.dashboard-title-section{margin-bottom:2rem}.dashboard-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.dashboard-title-actions{display:flex;align-items:center;gap:.5rem}.dashboard-title{font-size:clamp(2rem,2vw + 1.5rem,2.75rem);font-weight:700;background:linear-gradient(90deg,#8b6bdb,#8b71c7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;flex:1}.edit-project-btn{background:var(--badge-bg);border:1px solid var(--badge-border);color:var(--accent-purple-1);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:.5rem;cursor:pointer;transition:all .2s ease;flex-shrink:0;padding:0}.edit-project-btn:hover{background:var(--btn-secondary-hover-bg);border-color:var(--border-focus);color:var(--accent-purple-3);transform:translateY(-1px)}.edit-project-btn svg{width:18px;height:18px}.delete-project-btn{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:.5rem;cursor:pointer;transition:all .2s ease;flex-shrink:0;padding:0}.delete-project-btn:hover{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-error-alt);transform:translateY(-1px)}.delete-project-btn:disabled{opacity:.5;cursor:not-allowed}.delete-project-btn svg{width:18px;height:18px}.dashboard-description{font-size:1.125rem;color:var(--text-muted);line-height:1.6;margin:0;max-width:800px}.dashboard-delete-section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-default)}.dashboard-delete-content{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.5rem;background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:.75rem}@media(max-width:768px){.dashboard-delete-content{flex-direction:column;align-items:stretch;gap:1rem}.dashboard-delete-content .btn-danger{width:100%}}.dashboard-delete-info{flex:1}.dashboard-delete-title{font-size:1.125rem;font-weight:600;color:var(--color-danger);margin:0 0 .5rem}.dashboard-delete-description{font-size:.9375rem;color:var(--text-muted);margin:0;line-height:1.5}.dashboard-main{flex:1;width:100%}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:1rem;padding:1.5rem;transition:all .2s ease}.stat-card:hover{background:var(--bg-card-hover);border-color:var(--badge-border)}.stat-label{font-size:.875rem;color:var(--text-disabled);font-weight:500;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1}.stat-value-small{font-size:1rem;font-weight:600;color:var(--accent-purple-light);font-family:Monaco,Menlo,Courier New,monospace;word-break:break-all}.keys-section{width:100%}.keys-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.btn-primary{background:linear-gradient(135deg,var(--accent-purple-1),var(--accent-purple-2));border:none;color:#fff;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #8b6bdb4d}.btn-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #8b6bdb80;background:linear-gradient(135deg,#9b7beb,#9b81d7)}.btn-primary:active{transform:translateY(0) scale(.98);transition:all .1s ease}.btn-primary.copied{background:linear-gradient(135deg,var(--color-success),var(--color-success-alt));box-shadow:0 4px 12px var(--color-success-bg)}.btn-primary.copied:hover{background:linear-gradient(135deg,var(--color-success),var(--color-success-alt));box-shadow:0 6px 20px var(--color-success-border)}.empty-keys-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem;text-align:center;background:var(--bg-empty-state);border:1px dashed var(--border-dashed);border-radius:1rem}.empty-keys-state .empty-icon{font-size:3rem;opacity:.6}.empty-keys-state h3{font-size:1.5rem;font-weight:600;color:var(--text-secondary);margin:0}.empty-keys-state p{color:var(--text-disabled);font-size:1rem;line-height:1.6;margin:0;max-width:400px}.keys-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem;width:100%}@media(max-width:768px){.keys-grid{grid-template-columns:1fr}}.key-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:1rem;padding:1.5rem;transition:all .2s ease;display:flex;flex-direction:column;gap:1rem}.key-card:hover{background:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.key-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.key-name{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0;flex:1}.key-card-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.key-edit-btn{background:transparent;border:none;color:var(--accent-purple-1);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:.375rem;cursor:pointer;transition:all .2s ease;padding:0}.key-edit-btn svg{width:16px;height:16px;transition:all .2s ease}.key-edit-btn:hover{background:var(--badge-bg);color:var(--accent-purple-3)}.key-edit-btn:hover svg{transform:scale(1.1)}.key-delete-btn{background:transparent;border:none;color:var(--color-error);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:.375rem;cursor:pointer;transition:all .2s ease;padding:0}.key-delete-btn svg{width:16px;height:16px;transition:all .2s ease}.key-delete-btn:hover{background:var(--color-error-bg);color:var(--color-error-alt)}.key-delete-btn:hover svg{transform:scale(1.1)}.key-description{font-size:.95rem;color:var(--text-muted);line-height:1.6;margin:0}.key-details{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.key-detail-row{display:flex;flex-direction:column;gap:.5rem}.key-id-container{display:flex;align-items:center;gap:.5rem}.key-detail-label{font-size:.75rem;color:var(--text-subtle);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.key-value-container{display:flex;align-items:center;gap:.5rem;background:var(--bg-code);padding:.75rem;border-radius:.5rem;border:1px solid var(--border-divider)}.key-value{font-family:Monaco,Menlo,Courier New,monospace;font-size:.875rem;color:var(--accent-purple-light);margin:0;flex:1;word-break:break-all;line-height:1.4}.copy-btn{background:var(--badge-bg);border:1px solid var(--badge-border);color:var(--accent-purple-light);font-size:.875rem;padding:.375rem .625rem;border-radius:.375rem;cursor:pointer;transition:all .2s ease;flex-shrink:0;min-width:36px;display:flex;align-items:center;justify-content:center}.copy-btn:hover{background:var(--btn-secondary-hover-bg);border-color:var(--border-focus);transform:scale(1.05)}.key-id{font-family:Monaco,Menlo,Courier New,monospace;font-size:.875rem;color:var(--text-disabled);background:var(--bg-code-alt);padding:.5rem .75rem;border-radius:.375rem;word-break:break-all;border:1px solid rgba(255,255,255,.05)}.devicecheck-section{margin-top:3rem;width:100%}.devicecheck-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.devicecheck-header-actions{display:flex;gap:.75rem;align-items:center}.empty-devicecheck-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem;text-align:center;background:var(--bg-empty-state);border:1px dashed var(--border-dashed);border-radius:1rem}.empty-devicecheck-state .empty-icon{font-size:3rem;opacity:.6}.empty-devicecheck-state h3{font-size:1.5rem;font-weight:600;color:var(--text-secondary);margin:0}.empty-devicecheck-state p{color:var(--text-disabled);font-size:1rem;line-height:1.6;margin:0;max-width:400px}.devicecheck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem;width:100%}@media(max-width:768px){.devicecheck-grid{grid-template-columns:1fr}}.devicecheck-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:1rem;padding:1.5rem;transition:all .2s ease;display:flex;flex-direction:column;gap:1rem}.devicecheck-card:hover{background:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.devicecheck-card-header{display:flex;justify-content:space-between;align-items:center}.devicecheck-team-id{font-size:1.125rem;font-weight:600;color:var(--text-secondary);margin:0}.devicecheck-details{display:flex;flex-direction:column;gap:.75rem}.devicecheck-detail-row{display:flex;flex-direction:column;gap:.5rem}.devicecheck-detail-label{font-size:.875rem;color:var(--text-disabled);font-weight:500}.devicecheck-value-container{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.devicecheck-detail-value{font-family:Monaco,Menlo,Courier New,monospace;font-size:.875rem;color:var(--accent-purple-1);background:var(--badge-bg);padding:.5rem .75rem;border-radius:.375rem;word-break:break-all;border:1px solid var(--badge-border);flex:1;min-width:0}.devicecheck-copy-btn{background:var(--badge-bg);border:1px solid var(--badge-border);color:var(--accent-purple-1);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:.375rem;cursor:pointer;transition:all .2s ease;flex-shrink:0;padding:0}.devicecheck-copy-btn:hover{background:var(--btn-secondary-hover-bg);border-color:var(--border-focus);color:var(--accent-purple-3);transform:scale(1.05)}.devicecheck-copy-btn:active{transform:scale(.95)}.devicecheck-copy-btn.copied,.devicecheck-copy-btn.copied:hover{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.devicecheck-copy-btn svg{width:16px;height:16px}.dashboard-nav{display:flex;justify-content:center;align-items:center;gap:1rem;padding:2rem 0;margin-top:auto;font-size:1rem}.dashboard-nav a{color:var(--accent-purple-light);text-decoration:none;font-weight:500;transition:color .2s ease}.dashboard-nav a:hover{color:var(--accent-purple-3);text-decoration:underline}.modal-overlay{position:fixed;inset:0;background:var(--bg-modal);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out;transition:opacity .3s ease-out}.modal-overlay.closing{animation:fadeOut .3s ease-out;opacity:0}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.95)}}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dropdownSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.98)}}.modal-content{background:linear-gradient(135deg,var(--bg-modal-content),var(--bg-modal-content-alt));border:1px solid var(--badge-border);border-radius:1rem;padding:0;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out;transform-origin:center;transition:opacity .3s ease-out,transform .3s ease-out}.modal-content.closing{animation:slideDown .3s ease-out;opacity:0;transform:translateY(20px) scale(.95)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-divider)}.modal-mode-toggle{display:flex;gap:.5rem;padding:.5rem 1.5rem;border-bottom:1px solid var(--border-divider);background:var(--bg-code);position:relative}.modal-mode-btn{background:transparent;border:none;color:var(--text-disabled);font-size:.9rem;font-weight:500;padding:.625rem 1.25rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:.5rem;position:relative;z-index:1;flex:1;text-align:center}.modal-mode-btn:hover:not(.active){color:var(--accent-purple-light);background:#8b6bdb14}.modal-mode-btn.active{color:var(--text-primary);background:linear-gradient(135deg,var(--badge-bg),rgba(139,113,199,.2));box-shadow:0 2px 8px var(--badge-bg);font-weight:600}.modal-mode-btn.active:before{content:"";position:absolute;inset:0;border-radius:.5rem;padding:1px;background:linear-gradient(135deg,#8b6bdb80,#8b71c780);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;z-index:-1}.modal-title{font-size:1.5rem;font-weight:600;color:var(--text-secondary);margin:0}.modal-close-btn{background:transparent;border:none;color:var(--text-disabled);font-size:0;font-weight:300;width:36px;height:36px;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;border-radius:.375rem;cursor:pointer;transition:all .2s ease;line-height:1;padding:0;margin:0;position:relative;overflow:hidden}.modal-close-btn:before{content:"×";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2rem;line-height:1;display:block;color:inherit;font-weight:300}.modal-close-btn:hover{background:var(--bg-code);color:var(--text-primary)}.modal-form{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-error{color:var(--color-error);font-size:.875rem;margin-top:-.25rem;display:flex;align-items:center;gap:.5rem}.form-error-icon{flex-shrink:0}.form-label{font-size:.9rem;font-weight:600;color:var(--accent-purple-1)}.required{color:var(--color-error)}.cl-avatarBox{width:3rem;height:3rem}.form-input,.form-textarea,.form-select{background:var(--bg-input);border:1px solid var(--border-dashed);border-radius:.5rem;padding:.75rem;color:var(--text-primary);font-size:.95rem;font-family:inherit;transition:all .3s cubic-bezier(.4,0,.2,1)}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%238b6bdb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.form-select option{background:var(--bg-modal-content);color:var(--text-primary)}.custom-key-selector{position:relative;width:100%}.custom-key-selector-inline{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto;overflow-x:hidden;padding:.5rem;margin:-.5rem;-webkit-overflow-scrolling:touch}.custom-key-selector-inline::-webkit-scrollbar{width:8px}.custom-key-selector-inline::-webkit-scrollbar-track{background:#0003;border-radius:4px}.custom-key-selector-inline::-webkit-scrollbar-thumb{background:#8b6bdb4d;border-radius:4px}.custom-key-selector-inline::-webkit-scrollbar-thumb:hover{background:#8b6bdb80}.custom-key-selector-trigger{width:100%;background:var(--bg-input);border:1px solid var(--border-dashed);border-radius:.5rem;padding:.75rem;color:var(--text-primary);font-size:.95rem;font-family:inherit;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:space-between;gap:.75rem;text-align:left}.custom-key-selector-trigger:hover{border-color:var(--border-hover);background:var(--bg-input-hover)}.custom-key-selector-trigger:focus{outline:none;border-color:var(--border-focus);background:var(--bg-input-focus);box-shadow:0 0 0 3px var(--badge-bg);transform:translateY(-1px)}.custom-key-selector-trigger.open{border-color:var(--border-focus);background:var(--bg-input-focus);box-shadow:0 0 0 3px var(--badge-bg)}.custom-key-selector-trigger.selected{border-color:var(--border-hover);background:var(--badge-bg)}.custom-key-selector-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-key-selector-value:empty:before{content:"-- Select a key --";color:var(--text-disabled)}.custom-key-selector-arrow{flex-shrink:0;color:var(--accent-purple-1);transition:transform .3s cubic-bezier(.4,0,.2,1)}.custom-key-selector-arrow.open{transform:rotate(180deg)}.custom-key-selector-dropdown{position:fixed;background:linear-gradient(135deg,var(--bg-modal-content),var(--bg-modal-content-alt));border:1px solid var(--badge-border);border-radius:.5rem;box-shadow:0 8px 32px var(--overlay-bg),0 0 0 1px var(--badge-bg);max-height:min(400px,calc(100vh - 2rem));overflow-y:auto;overflow-x:hidden;z-index:10000;animation:dropdownSlideIn .2s cubic-bezier(.4,0,.2,1);transform-origin:top center;will-change:transform,opacity;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;pointer-events:auto;touch-action:pan-y}.custom-key-selector-dropdown.closing{animation:dropdownSlideOut .2s cubic-bezier(.4,0,.2,1)}.custom-key-selector-dropdown::-webkit-scrollbar{width:8px}.custom-key-selector-dropdown::-webkit-scrollbar-track{background:#0003;border-radius:4px}.custom-key-selector-dropdown::-webkit-scrollbar-thumb{background:#8b6bdb4d;border-radius:4px}.custom-key-selector-dropdown::-webkit-scrollbar-thumb:hover{background:#8b6bdb80}.custom-key-selector-option{width:100%;background:transparent;border:none;padding:1rem;color:var(--text-primary);font-size:.9rem;font-family:inherit;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;border-bottom:1px solid var(--border-subtle)}.custom-key-selector-option:last-child{border-bottom:none}.custom-key-selector-option:hover{background:var(--badge-bg)}.custom-key-selector-option.selected{background:var(--btn-secondary-hover-bg);border-left:3px solid var(--accent-purple-1)}.custom-key-selector-option-inline{width:100%;background:var(--bg-code-alt);border:1px solid var(--border-default);border-radius:.5rem;padding:1rem;color:var(--text-primary);font-size:.9rem;font-family:inherit;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left}.custom-key-selector-option-inline:hover{background:var(--badge-bg);border-color:var(--border-hover)}.custom-key-selector-option-inline.selected{background:var(--btn-secondary-hover-bg);border-color:var(--border-focus);box-shadow:0 0 0 2px var(--badge-bg)}.custom-key-option-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.custom-key-option-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.custom-key-option-label{font-size:.8rem;font-weight:600;color:var(--text-disabled);min-width:70px}.custom-key-option-value{font-family:Monaco,Menlo,Courier New,monospace;font-size:.875rem;color:var(--accent-purple-1);background:var(--badge-bg);padding:.25rem .5rem;border-radius:.25rem;border:1px solid var(--badge-border)}.custom-key-option-check{flex-shrink:0;color:var(--accent-purple-1);width:16px;height:16px}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--border-focus);background:var(--bg-input-focus);box-shadow:0 0 0 3px var(--badge-bg);transform:translateY(-1px)}.form-input:hover,.form-textarea:hover,.form-select:hover{border-color:var(--border-hover)}.form-textarea{resize:vertical;min-height:80px}.form-hint{font-size:.85rem;color:var(--text-disabled);margin:.25rem 0 0;line-height:1.4}.form-loading{display:flex;align-items:center;gap:.75rem;padding:.75rem;color:var(--text-disabled);font-size:.9rem}.form-loading .spinner{width:16px;height:16px}.form-empty{padding:1rem;text-align:center;color:var(--text-disabled);font-size:.9rem;background:var(--bg-code-alt);border-radius:.5rem;border:1px dashed var(--border-dashed)}.form-empty p{margin:0}.file-upload-container{margin-bottom:.75rem}.file-upload-input{display:none}.file-upload-label{display:inline-flex;align-items:center;gap:.625rem;padding:.75rem 1.5rem;background:var(--badge-bg);border:2px dashed var(--badge-border);border-radius:.625rem;color:var(--accent-purple-1);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.file-upload-label svg{width:18px;height:18px;flex-shrink:0;transition:transform .3s ease}.file-upload-label:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(139,107,219,.15),transparent);transition:left .6s ease}.file-upload-label:hover{background:var(--btn-secondary-hover-bg);border-color:var(--border-focus);border-style:solid;color:var(--accent-purple-3);transform:translateY(-2px);box-shadow:0 6px 20px var(--badge-bg)}.file-upload-label:hover svg{transform:scale(1.1) rotate(5deg)}.file-upload-label:hover:before{left:100%}.file-upload-label:active{transform:translateY(0);box-shadow:0 2px 8px #8b6bdb33}.file-upload-label.dragging{background:var(--btn-secondary-hover-bg);border-color:var(--border-focus);border-style:solid;color:var(--accent-purple-light);transform:scale(1.05);box-shadow:0 8px 30px var(--badge-border)}.file-upload-label.dragging svg{transform:scale(1.2) rotate(10deg);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:.5rem}.btn-secondary{background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);color:var(--accent-purple-1);font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-secondary:hover{background:var(--btn-secondary-hover-bg);border-color:var(--btn-secondary-hover-border);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.partial-key-modal{background:linear-gradient(135deg,var(--bg-modal-content),var(--bg-modal-content-alt));border:2px solid var(--color-warning-border);border-radius:1rem;padding:0;max-width:700px;width:100%;box-shadow:0 20px 60px #ffc10733;animation:slideUp .3s ease-out;transform-origin:center;transition:opacity .3s ease-out,transform .3s ease-out}.partial-key-modal.closing{animation:slideDown .3s ease-out;opacity:0;transform:translateY(20px) scale(.95)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.partial-key-header{padding:1.5rem;border-bottom:1px solid var(--border-divider);background:var(--color-warning-bg);border-radius:1rem 1rem 0 0}.partial-key-title{font-size:1.5rem;font-weight:600;color:var(--color-warning);margin:0 0 .5rem}.partial-key-warning{font-size:.95rem;color:var(--color-warning);margin:0;font-weight:500}.partial-key-content{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.partial-key-display{display:flex;align-items:center;gap:.75rem;background:var(--bg-code);padding:1rem;border-radius:.5rem;border:1px solid var(--color-warning-border)}.partial-key-value{font-family:Monaco,Menlo,Courier New,monospace;font-size:.95rem;color:var(--color-warning);flex:1;word-break:break-all;line-height:1.5;margin:0}.copy-partial-btn{flex-shrink:0;white-space:nowrap}.partial-key-instruction{font-size:.9rem;color:var(--text-muted);line-height:1.6;margin:0}.partial-key-instruction code{background:var(--bg-code);padding:.25rem .5rem;border-radius:.25rem;font-family:Monaco,Menlo,Courier New,monospace;font-size:.85rem;color:var(--accent-purple-light);border:1px solid var(--border-divider)}.partial-key-actions{padding:1.5rem;border-top:1px solid var(--border-divider);display:flex;justify-content:center}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;display:flex;flex-direction:column;margin-left:280px;position:relative;transition:margin-left .3s ease;width:calc(100% - 280px);min-width:0}@media(max-width:768px){.main-content{margin-left:0;width:100%;padding-top:3rem}}.top-right-user-button{position:fixed;top:1.5rem;right:1.5rem;z-index:100}.sidebar-mobile-toggle{display:none;position:fixed;top:1.5rem;left:1.5rem;z-index:101;background:var(--bg-sidebar);border:1px solid var(--border-dashed);color:var(--accent-purple-light);width:44px;height:44px;border-radius:.5rem;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}@media(max-width:768px){.sidebar-mobile-toggle{display:flex}}.sidebar-mobile-toggle:hover{background:var(--bg-card-hover);border-color:var(--border-focus)}.sidebar-overlay{display:none;position:fixed;inset:0;background:var(--overlay-bg);z-index:49;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media(max-width:768px){.sidebar-overlay{display:block}}.sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;background:var(--bg-sidebar);border-right:1px solid var(--border-default);display:flex;flex-direction:column;z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translate(0);transition:transform .3s ease;overflow-x:hidden;box-sizing:border-box}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}}.sidebar-header{padding:2rem 1.5rem;border-bottom:1px solid var(--border-divider)}@media(max-width:768px){.sidebar-header{padding-top:5rem}}.sidebar-logo{font-size:1.5rem;font-weight:700;background:linear-gradient(90deg,#8b6bdb,#8b71c7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.sidebar-logo-link{text-decoration:none;display:flex;align-items:center;gap:.5rem}.sidebar-logo-icon{width:32px;height:32px;object-fit:contain}.sidebar-nav{padding:1rem;display:flex;flex-direction:column;gap:.5rem;flex:1;overflow-y:auto}.sidebar-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--text-muted);text-decoration:none;border-radius:.5rem;transition:all .2s ease;font-weight:500}.sidebar-nav-item:hover{background:var(--badge-bg);color:var(--text-secondary)}.sidebar-nav-item.active{background:var(--btn-secondary-hover-bg);color:var(--accent-purple-1);border-left:3px solid var(--accent-purple-1)}.sidebar-nav-item svg{width:20px;height:20px;flex-shrink:0}.sidebar-divider{height:1px;background:var(--border-divider);margin:1rem 0}.sidebar-section{display:flex;flex-direction:column;gap:.5rem}.sidebar-section-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;margin-bottom:.5rem}.sidebar-section-title{font-size:.75rem;font-weight:600;color:var(--text-subtle);text-transform:uppercase;letter-spacing:1px;margin:0}.sidebar-section-count{font-size:.75rem;font-weight:600;color:var(--accent-purple-1);background:var(--badge-bg);padding:.25rem .5rem;border-radius:.25rem}.sidebar-loading{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;color:var(--text-subtle);font-size:.875rem}.sidebar-spinner{width:16px;height:16px;border:2px solid var(--spinner-border);border-top-color:var(--accent-purple-1);border-radius:50%;animation:spin .8s linear infinite}.sidebar-empty{padding:1rem;text-align:center;color:var(--text-subtle);font-size:.875rem}.sidebar-error{padding:1rem;text-align:center}.sidebar-error-message{display:flex;align-items:center;gap:.5rem;color:var(--color-error);font-size:.875rem;margin:0;line-height:1.5;padding:.75rem;background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:.5rem}.sidebar-error-message:before{content:"⚠";font-size:14px;line-height:1;background:linear-gradient(135deg,#ff6b6b,#ff8787);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;filter:drop-shadow(0 0 4px rgba(255,107,107,.3));flex-shrink:0}.sidebar-projects{display:flex;flex-direction:column;gap:.25rem}.sidebar-project-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--text-muted);text-decoration:none;border-radius:.5rem;transition:all .2s ease;font-weight:500}.sidebar-project-item:hover{background:var(--badge-bg);color:var(--text-secondary)}.sidebar-project-item.active{background:var(--btn-secondary-hover-bg);color:var(--accent-purple-1);border-left:3px solid var(--accent-purple-1)}.sidebar-project-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:currentColor}.sidebar-project-info{flex:1;display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}.sidebar-project-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.sidebar-project-badge{font-size:.75rem;font-weight:600;background:var(--badge-bg);color:var(--accent-purple-1);padding:.125rem .5rem;border-radius:.25rem;flex-shrink:0}.sidebar-footer{padding:1.5rem;border-top:1px solid var(--border-divider);display:flex;flex-direction:column;align-items:stretch;gap:1rem}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;width:100%;box-sizing:border-box}.sidebar-user-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem 1.5rem 1rem;box-sizing:border-box;position:relative}.sidebar-user-button:before{content:"";position:absolute;top:-20px;left:0;right:0;height:20px;background:linear-gradient(to top,rgba(34,197,94,.15) 0%,rgba(34,197,94,.08) 50%,transparent 100%);pointer-events:none;z-index:1;opacity:0;transition:opacity .2s ease;filter:blur(2px)}.sidebar-user-button.has-content-above:before{opacity:1}.sidebar-usage-container{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;margin-left:auto;flex-shrink:0}.sidebar-usage-label{color:var(--text-muted);font-weight:500;font-size:.6875rem;text-transform:uppercase;letter-spacing:.5px;line-height:1;text-align:right;width:100%;box-sizing:border-box}.sidebar-usage-badge{display:inline-flex;align-items:center;justify-content:flex-start;background:var(--badge-bg);border:1px solid var(--badge-border);color:var(--accent-purple-1);font-size:.8125rem;font-weight:600;padding:.375rem .625rem;border-radius:.375rem;line-height:1;width:100%;box-sizing:border-box}.sidebar-subscription-section{padding:1rem 1.5rem;border-top:1px solid var(--border-divider);box-sizing:border-box;width:100%}.sidebar-subscription-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;max-width:100%;padding:.75rem 1rem;background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);color:var(--accent-purple-1);font-size:.9rem;font-weight:500;text-decoration:none;border-radius:.5rem;transition:all .2s ease;cursor:pointer;box-sizing:border-box}.sidebar-subscription-button:hover{background:var(--btn-secondary-hover-bg);border-color:var(--btn-secondary-hover-border);color:var(--accent-purple-3);transform:translateY(-1px)}.sidebar-subscription-button svg{flex-shrink:0;width:16px;height:16px}.sidebar-footer-text{font-size:.75rem;color:var(--text-footer);margin:0;text-align:center;text-transform:uppercase;letter-spacing:1px}.profile-container{min-height:100vh;display:flex;flex-direction:column;max-width:1400px;margin:0 auto;padding:2rem 1.5rem;gap:2rem}.profile-header{margin-bottom:1rem}.profile-header-top{margin-bottom:1.5rem}.profile-title-section{margin-bottom:2rem}.profile-title{font-size:clamp(2rem,2vw + 1.5rem,2.75rem);font-weight:700;background:linear-gradient(90deg,#8b6bdb,#8b71c7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .75rem}.profile-subtitle{font-size:1.125rem;color:var(--text-muted);line-height:1.6;margin:0;max-width:800px}.profile-main{flex:1;width:100%}.profile-content{width:100%;display:flex;justify-content:center}.profile-nav{display:flex;justify-content:center;align-items:center;gap:1rem;padding:2rem 0;margin-top:auto;font-size:1rem}.profile-nav a{color:var(--accent-purple-light);text-decoration:none;font-weight:500;transition:color .2s ease}.profile-nav a:hover{color:var(--accent-purple-3);text-decoration:underline}.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem;width:100%}@media(max-width:768px){.profile-grid{grid-template-columns:1fr}}.profile-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:1rem;padding:0;transition:all .2s ease;display:flex;flex-direction:column}.profile-card:hover{background:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 8px 24px var(--overlay-bg)}.profile-card-header{padding:1.5rem;border-bottom:1px solid var(--border-divider)}.profile-card-title{font-size:1.25rem;font-weight:600;color:var(--text-secondary);margin:0}.profile-card-content{padding:1.5rem;flex:1}.profile-avatar-section{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-divider)}.profile-avatar{width:120px;height:120px;border-radius:50%;overflow:hidden;border:3px solid rgba(139,107,219,.3);display:flex;align-items:center;justify-content:center}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--accent-purple-1),var(--accent-purple-2));display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:var(--text-primary)}.profile-avatar-actions{display:flex;justify-content:center}.profile-info-section{display:flex;flex-direction:column;gap:1.5rem}.profile-info-row{display:flex;flex-direction:column;gap:.5rem}.profile-info-label{font-size:.875rem;font-weight:600;color:var(--text-disabled);text-transform:uppercase;letter-spacing:.5px}.profile-info-value-group{display:flex;align-items:center;gap:.75rem}.profile-info-value{font-size:1rem;color:var(--text-secondary);flex:1}.profile-info-code{font-family:Monaco,Menlo,Courier New,monospace;font-size:.875rem;color:var(--accent-purple-light);background:var(--bg-code);padding:.5rem .75rem;border-radius:.375rem;word-break:break-all;border:1px solid var(--border-divider);flex:1}.profile-edit-btn{background:var(--badge-bg);border:1px solid var(--badge-border);color:var(--accent-purple-1);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:.375rem;cursor:pointer;transition:all .2s ease;padding:0}.profile-edit-btn:hover{background:var(--btn-secondary-hover-bg);border-color:var(--border-focus);color:var(--accent-purple-3)}.profile-edit-btn svg{width:16px;height:16px}.profile-copy-btn{background:var(--badge-bg);border:1px solid var(--badge-border);color:var(--accent-purple-1);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:.375rem;cursor:pointer;transition:all .2s ease;padding:0;font-size:1rem}.profile-copy-btn:hover{background:var(--btn-secondary-hover-bg);border-color:var(--border-focus);color:var(--accent-purple-3);transform:scale(1.1)}.profile-edit-group{display:flex;flex-direction:column;gap:.75rem}.profile-edit-input{background:var(--bg-input);border:1px solid var(--border-dashed);border-radius:.5rem;padding:.75rem;color:var(--text-primary);font-size:1rem;font-family:inherit;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.profile-edit-input:focus{outline:none;border-color:var(--border-focus);background:var(--bg-input-focus);box-shadow:0 0 0 3px var(--badge-bg)}.profile-edit-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-small{padding:.5rem 1rem;font-size:.875rem}.btn-full{width:100%;margin-top:1rem}.btn-danger{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error);font-size:.875rem;font-weight:500;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.btn-danger:hover:not(:disabled){background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error-alt)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.email-list,.phone-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.email-item,.phone-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;background:var(--bg-code-alt);border:1px solid var(--border-divider);border-radius:.5rem;flex-wrap:wrap}.email-info,.phone-info{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:200px}.email-address,.phone-number{font-size:1rem;color:var(--text-secondary);font-weight:500}.email-badges,.phone-badges{display:flex;gap:.5rem;flex-wrap:wrap}.email-badge,.phone-badge{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:.25rem;text-transform:uppercase;letter-spacing:.5px}.email-badge.verified,.phone-badge.verified{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.email-badge.primary,.phone-badge.primary{background:var(--badge-bg);color:var(--accent-purple-1);border:1px solid var(--badge-border)}.email-actions,.phone-actions{display:flex;gap:.5rem;flex-wrap:wrap}.security-section{display:flex;flex-direction:column;gap:1rem}.security-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;background:var(--bg-code-alt);border:1px solid var(--border-divider);border-radius:.5rem}.security-info{flex:1}.security-title{font-size:1rem;font-weight:600;color:var(--text-secondary);margin:0 0 .25rem}.security-description{font-size:.875rem;color:var(--text-muted);margin:0}.clerk-user-button-card{background:var(--bg-modal-content)!important;border:1px solid var(--border-default)!important;border-radius:1rem!important}.clerk-user-button-actions{color:var(--accent-purple-light)!important}.upgrade-banner{position:sticky;top:0;z-index:100;width:100%;background:linear-gradient(135deg,#ffc10726,#ffc10714);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border-bottom:2px solid var(--color-warning-border);box-shadow:0 2px 8px #0000001a,inset 0 1px #ffffff1a;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.upgrade-banner-content{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;max-width:1400px;margin:0 auto;position:relative}.upgrade-banner-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:#ffc10740;backdrop-filter:blur(8px) saturate(150%);-webkit-backdrop-filter:blur(8px) saturate(150%);border:1px solid rgba(255,193,7,.4);border-radius:.5rem;color:var(--text-primary);flex-shrink:0}.upgrade-banner-text{flex:1;display:flex;flex-direction:column;gap:.25rem}.upgrade-banner-text strong{color:var(--text-primary);font-size:.9375rem;font-weight:600}.upgrade-banner-text span{color:var(--text-secondary);font-size:.875rem;line-height:1.4}.upgrade-banner-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.upgrade-banner-btn{background:#8b6bdb4d;backdrop-filter:blur(8px) saturate(150%);-webkit-backdrop-filter:blur(8px) saturate(150%);color:var(--text-primary);border:1px solid rgba(139,107,219,.5);border-radius:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.upgrade-banner-btn:hover{background:#8b6bdb66;border-color:#8b6bdbb3;transform:translateY(-1px)}.upgrade-banner-btn:active{transform:translateY(0)}.upgrade-banner-dismiss{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:.375rem;transition:all .2s ease;flex-shrink:0}.upgrade-banner-dismiss:hover{background:#0000001a;color:var(--text-primary)}@media(max-width:768px){.upgrade-banner-content{flex-wrap:wrap;padding:.875rem 1rem}.upgrade-banner-icon{width:2rem;height:2rem}.upgrade-banner-text{flex-basis:100%;order:2}.upgrade-banner-actions{order:1;flex-basis:100%;justify-content:space-between}.upgrade-banner-btn{flex:1}}.profile-empty-state{color:var(--text-disabled);font-size:.95rem;margin:1rem 0;text-align:center;padding:1rem;background:var(--bg-empty-state);border-radius:.5rem;border:1px dashed var(--border-dashed)}.profile-note{color:var(--text-subtle);font-size:.85rem;margin:1rem 0 0;line-height:1.5;font-style:italic}.pricing-container{min-height:100vh;display:flex;flex-direction:column;max-width:1400px;margin:0 auto;padding:2rem 1.5rem;gap:2rem}.pricing-content{width:100%}.pricing-header{text-align:center;margin-bottom:3rem}.pricing-title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin:0 0 1rem;background:linear-gradient(135deg,var(--accent-purple-1) 0%,var(--accent-purple-3) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pricing-subtitle{font-size:1.125rem;color:var(--text-secondary);margin:0;line-height:1.6}.pricing-table-wrapper{width:100%;display:flex;justify-content:center}.usage-alert{width:100%;max-width:800px;margin:0 auto 2rem;background:linear-gradient(135deg,#ffc10726,#ffc10714);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid var(--color-warning-border);border-radius:.75rem;overflow:hidden}.usage-alert-content{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem}.usage-alert-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:#ffc10740;backdrop-filter:blur(8px) saturate(150%);-webkit-backdrop-filter:blur(8px) saturate(150%);border:1px solid rgba(255,193,7,.4);border-radius:.5rem;color:var(--text-primary);flex-shrink:0}.usage-alert-text{flex:1;display:flex;flex-direction:column;gap:.25rem}.usage-alert-text strong{color:var(--text-primary);font-size:.9375rem;font-weight:600}.usage-alert-text span{color:var(--text-secondary);font-size:.875rem;line-height:1.4}@media(max-width:768px){.usage-alert-content{flex-wrap:wrap;padding:.875rem 1rem}.usage-alert-icon{width:2rem;height:2rem}}.info-alert{width:100%;margin:1rem 0;background:linear-gradient(135deg,#3b82f626,#3b82f614);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(59,130,246,.3);border-radius:.75rem;overflow:hidden}.info-alert-content{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem}.info-alert-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:#3b82f640;backdrop-filter:blur(8px) saturate(150%);-webkit-backdrop-filter:blur(8px) saturate(150%);border:1px solid rgba(59,130,246,.4);border-radius:.5rem;color:var(--text-primary);flex-shrink:0}.info-alert-text{flex:1;display:flex;flex-direction:column;gap:.25rem}.info-alert-text strong{color:var(--text-primary);font-size:.9375rem;font-weight:600}.info-alert-text span{color:var(--text-secondary);font-size:.875rem;line-height:1.4}.info-alert-link{color:#3b82f6;text-decoration:none;font-weight:500;transition:all .2s ease;border-bottom:1px solid transparent}.info-alert-link:hover{color:#60a5fa;border-bottom-color:#60a5fa80}@media(max-width:768px){.info-alert-content{flex-wrap:wrap;padding:.875rem 1rem}.info-alert-icon{width:2rem;height:2rem}}@media(max-width:768px){.pricing-container{padding:1.5rem 1rem}.pricing-title{font-size:2rem}.pricing-subtitle{font-size:1rem}}.whitelisted-urls-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.whitelisted-url-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;background:var(--bg-code);border:1px solid var(--badge-border);border-radius:.5rem;transition:all .2s ease}.not-found-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px);padding:2rem;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.not-found-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:600px;gap:2rem;position:relative}.not-found-icon-wrapper{position:relative;display:inline-block}.not-found-icon{font-size:9rem;font-weight:700;background:linear-gradient(135deg,#8b6bdb,#8b71c7,#a58bff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;line-height:1;position:relative;z-index:2;animation:pulse 2s ease-in-out infinite;letter-spacing:-.02em}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.02)}}.not-found-icon-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px;background:radial-gradient(circle,rgba(139,107,219,.3) 0%,transparent 70%);border-radius:50%;z-index:1;animation:glow 3s ease-in-out infinite}@keyframes glow{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.1)}}.not-found-title{font-size:2.25rem;font-weight:600;color:var(--text-secondary);margin:0;letter-spacing:-.01em}.not-found-message{font-size:1.125rem;color:var(--text-disabled);line-height:1.7;margin:0;max-width:500px}.not-found-actions{margin-top:.5rem;animation:fadeInUp .6s ease-out .2s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.not-found-actions .btn-primary{text-decoration:none;display:inline-block;padding:.875rem 2rem;font-size:1rem}.whitelisted-url-item:hover{background:var(--bg-code-alt);border-color:var(--border-hover)}.whitelisted-url-value{font-family:Monaco,Menlo,Courier New,monospace;font-size:.875rem;color:var(--accent-purple-1);flex:1;word-break:break-all}.whitelisted-url-remove{background:transparent;border:none;color:var(--color-error);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:.25rem;cursor:pointer;transition:all .2s ease;padding:0;flex-shrink:0}.whitelisted-url-remove:hover{background:var(--color-error-bg);color:var(--color-error-alt);transform:scale(1.1)}.whitelisted-url-remove:active{transform:scale(.95)}.whitelisted-urls-input-group{display:flex;gap:.5rem;align-items:stretch}.whitelisted-urls-input-group .form-input{flex:1}.whitelisted-urls-input-group .btn-small{padding:.5rem 1rem;font-size:.875rem;white-space:nowrap}
