:root{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;letter-spacing:.01em;color-scheme:dark;color:#e8eaed;background-color:#202124;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:#202124}#root{min-height:100vh;background-color:#202124}.filter-bar{background:#303134;border:none;border-radius:8px;padding:1.5rem;box-shadow:0 1px 2px #0000004d,0 4px 8px 3px #00000026;margin-bottom:1.5rem}.filter-section{margin-bottom:.75rem}.filter-section:last-child{margin-bottom:0}.filter-label{display:block;font-weight:500;color:#bdc1c6;margin-bottom:.75rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.filter-search{width:100%}.filter-search-input{width:100%;padding:.75rem 1rem;border:1px solid #5f6368;border-radius:24px;font-size:.875rem;background:#202124;color:#e8eaed;transition:all .2s cubic-bezier(.4,0,.2,1);font-weight:400}.filter-search-input:focus{outline:none;border-color:#8ab4f8;box-shadow:0 0 0 1px #8ab4f8;background:#303134}.filter-buttons{display:flex;flex-wrap:wrap;gap:.375rem}.filter-button{padding:.5rem 1rem;border:1px solid #5f6368;background:#202124;border-radius:20px;cursor:pointer;font-size:.8125rem;color:#bdc1c6;transition:all .2s cubic-bezier(.4,0,.2,1);font-weight:400}.filter-button:hover{background:#3c4043;border-color:#8ab4f8;color:#e8eaed;box-shadow:0 1px 2px #0000004d}.filter-button.active{background:#8ab4f8;color:#202124;border-color:#8ab4f8;font-weight:500}.filter-button.active:hover{background:#aecbfa;border-color:#aecbfa}.filter-tags{display:flex;flex-wrap:wrap;gap:.375rem}.filter-tag{padding:.375rem .75rem;border:1px solid #5f6368;background:#202124;border-radius:16px;cursor:pointer;font-size:.75rem;color:#bdc1c6;transition:all .2s cubic-bezier(.4,0,.2,1);font-weight:400}.filter-tag:hover{background:#3c4043;border-color:#8ab4f8;color:#e8eaed}.filter-tag.active{background:#8ab4f8;color:#202124;border-color:#8ab4f8;font-weight:500}.filter-tag.active:hover{background:#aecbfa;border-color:#aecbfa}.filter-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.filter-select{padding:.375rem .5rem;border:1px solid #3a3a3a;background:#2a2a2a;border-radius:4px;font-size:.75rem;cursor:pointer;color:#b5b5b5;min-width:120px}.filter-select:focus{outline:none;border-color:#5a5a5a;box-shadow:0 0 0 2px #5a5a5a33}.filter-reset{padding:.375rem .75rem;border:1px solid #4a4a4a;background:#2a2a2a;border-radius:4px;cursor:pointer;font-size:.75rem;color:#b5b5b5;transition:all .2s}.filter-reset:hover{background:#3a3a3a;border-color:#5a5a5a;color:#e5e5e5}@media(max-width:768px){.filter-bar{padding:1rem}.filter-actions{flex-direction:column;align-items:stretch}.filter-select,.filter-reset{width:100%}}.card-container{background:#303134;border:none;border-radius:8px;box-shadow:0 1px 3px #0000004d,0 4px 8px 3px #00000026;padding:1rem;display:flex;flex-direction:column;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;height:100%}.card-container:hover{box-shadow:0 2px 6px #0006,0 8px 16px 4px #0003;transform:translateY(-2px)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:.75rem}.card-title{margin:0;font-size:1rem;font-weight:500;color:#e8eaed;flex:1;line-height:1.4;letter-spacing:0}.card-badges{display:flex;gap:.25rem;flex-wrap:wrap;flex-shrink:0}.card-classification,.card-difficulty{padding:.25rem .625rem;border-radius:16px;font-size:.6875rem;font-weight:500;text-transform:uppercase;color:#e8eaed;line-height:1.4;letter-spacing:.5px}.card-classification{background-color:#5b8fb8;border:1px solid #6b9fc8}.card-content{display:flex;flex-direction:column;gap:.75rem;flex:1}.card-preview{color:#bdc1c6;line-height:1.5;font-size:.875rem;font-weight:400}.card-preview p{margin:0}.card-expand-hint,.card-collapse-hint{font-size:.75rem;color:#9aa0a6;text-align:center;padding-top:.75rem;margin-top:auto;font-weight:400}.card-code{background-color:#1e1e1e;border:none;border-radius:4px;padding:.75rem;overflow-x:auto}.card-code pre{margin:0;font-family:Roboto Mono,Courier New,monospace;font-size:.8125rem;line-height:1.5;font-weight:400}.card-code code{color:#d4d4d4}.card-explanation{color:#bdc1c6;line-height:1.6;font-size:.875rem;font-weight:400}.card-explanation p{margin:0}.card-complexity-compact{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.7rem;color:#8a8a8a}.card-complexity-compact span{padding:.125rem .375rem;background-color:#2a2a2a;border:1px solid #3a3a3a;border-radius:4px;color:#b5b5b5}.card-complexity{display:flex;gap:.75rem;flex-wrap:wrap;padding:.5rem;background-color:#2a2a2a;border:1px solid #3a3a3a;border-radius:4px;font-size:.75rem}.complexity-item{color:#b5b5b5}.card-use-cases,.card-related{font-size:.75rem;color:#b5b5b5}.card-use-cases ul,.card-related ul{margin:.25rem 0 0;padding-left:1.25rem}.card-use-cases li,.card-related li{margin:.125rem 0}.card-tags{display:flex;flex-wrap:wrap;gap:.25rem}.card-tag{padding:.25rem .5rem;background-color:#3c4043;border:none;border-radius:4px;font-size:.6875rem;color:#bdc1c6;font-weight:400}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;padding:.5rem 0}.card-grid-empty{text-align:center;padding:2rem;color:#6a6a6a;font-size:.875rem}@media(max-width:768px){.card-grid{grid-template-columns:1fr;gap:.5rem}}@media(min-width:769px)and (max-width:1024px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}.pagination{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;flex-wrap:wrap;gap:.75rem}.pagination-info{color:#9a9a9a;font-size:.75rem}.pagination-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.pagination-buttons{display:flex;gap:.25rem;align-items:center}.pagination-button{padding:.375rem .5rem;border:1px solid #3a3a3a;background:#2a2a2a;border-radius:4px;cursor:pointer;font-size:.75rem;color:#b5b5b5;transition:all .2s;min-width:2rem}.pagination-button:hover:not(:disabled){background:#3a3a3a;border-color:#4a4a4a;color:#e5e5e5}.pagination-button:disabled{opacity:.4;cursor:not-allowed}.pagination-button.active{background:#3a3a3a;color:#e5e5e5;border-color:#5a5a5a}.pagination-button.active:hover{background:#4a4a4a;border-color:#6a6a6a}.pagination-ellipsis{padding:.375rem;color:#6a6a6a;-webkit-user-select:none;user-select:none;font-size:.75rem}.pagination-label{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:#b5b5b5}.pagination-select{padding:.375rem;border:1px solid #3a3a3a;border-radius:4px;background:#2a2a2a;font-size:.75rem;cursor:pointer;color:#b5b5b5}.pagination-select:hover{border-color:#4a4a4a;background:#3a3a3a}.pagination-select:focus{outline:none;border-color:#5a5a5a;box-shadow:0 0 0 2px #5a5a5a33}@media(max-width:768px){.pagination,.pagination-controls{flex-direction:column;align-items:stretch}.pagination-buttons{justify-content:center;flex-wrap:wrap}.pagination-label{justify-content:center}}.auth-modal-overlay{position:fixed;inset:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.auth-modal-container{background:#303134;border:none;border-radius:8px;width:100%;max-width:400px;display:flex;flex-direction:column;box-shadow:0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f,0 5px 5px -3px #0003}.auth-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #5f6368}.auth-modal-header h2{margin:0;font-size:1.5rem;font-weight:400;color:#e8eaed}.auth-modal-close{background:transparent;border:none;color:#9aa0a6;font-size:2rem;cursor:pointer;line-height:1;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.auth-modal-close:hover{color:#e8eaed}.auth-modal-content{padding:2rem}.auth-modal-description{color:#bdc1c6;margin-bottom:1.5rem;font-size:.875rem;line-height:1.5}.auth-user-info{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #5f6368}.auth-user-avatar{width:48px;height:48px;border-radius:50%;border:2px solid #5f6368}.auth-user-details{flex:1}.auth-user-name{margin:0 0 .25rem;color:#e8eaed;font-size:1rem;font-weight:500}.auth-user-email{margin:0;color:#9aa0a6;font-size:.875rem}.auth-button{width:100%;padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.75rem}.auth-button-google{background:#fff;color:#202124}.auth-button-google:hover{background:#f8f9fa;box-shadow:0 2px 4px #0003}.auth-button-signout{background:#ea4335;color:#e8eaed}.auth-button-signout:hover{background:#c5221f}.auth-google-icon{flex-shrink:0}.card-form-overlay{position:fixed;inset:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.card-form-container{background:#303134;border:none;border-radius:8px;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f,0 5px 5px -3px #0003}.card-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #5f6368}.card-form-header h2{margin:0;font-size:1.5rem;font-weight:400;color:#e8eaed}.card-form-close{background:transparent;border:none;color:#9aa0a6;font-size:2rem;cursor:pointer;line-height:1;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.card-form-close:hover{color:#e8eaed}.card-form{padding:2rem;overflow-y:auto;flex:1}.card-form-auth-prompt{background:#1e3a5f;border:1px solid #5b8fb8;color:#bdc1c6;padding:1rem;border-radius:4px;margin-bottom:1.5rem;text-align:center}.card-form-auth-prompt p{margin:0 0 .75rem;font-size:.875rem}.card-form-auth-button{padding:.5rem 1rem;background:#8ab4f8;color:#202124;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.card-form-auth-button:hover{background:#aecbfa}.card-form-error{background:#5c2b29;color:#f28b82;padding:.75rem 1rem;border-radius:4px;margin-bottom:1.5rem;font-size:.875rem}.card-form-section{margin-bottom:1.5rem}.card-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.card-form-label{display:block;font-weight:500;color:#bdc1c6;margin-bottom:.5rem;font-size:.875rem}.card-form-label .required{color:#ea4335}.card-form-input,.card-form-select,.card-form-textarea{width:100%;padding:.75rem;border:1px solid #5f6368;border-radius:4px;font-size:.875rem;background:#202124;color:#e8eaed;font-family:Roboto Mono,monospace;transition:all .2s}.card-form-input:focus,.card-form-select:focus,.card-form-textarea:focus{outline:none;border-color:#8ab4f8;box-shadow:0 0 0 1px #8ab4f8;background:#303134}.card-form-textarea{resize:vertical;min-height:100px;font-family:Roboto Mono,monospace}.card-form-select{cursor:pointer}.card-form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #5f6368}.card-form-button{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.card-form-button:disabled{opacity:.6;cursor:not-allowed}.card-form-button-cancel{background:#5f6368;color:#e8eaed}.card-form-button-cancel:hover:not(:disabled){background:#70757a}.card-form-button-submit{background:#8ab4f8;color:#202124}.card-form-button-submit:hover:not(:disabled){background:#aecbfa}@media(max-width:768px){.card-form-row{grid-template-columns:1fr}.card-form-container{max-height:95vh}.card-form{padding:1.5rem}}.card-detail-overlay{position:fixed;inset:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.card-detail-container{background:#303134;border:none;border-radius:8px;width:100%;max-width:1400px;height:90vh;max-height:900px;display:flex;flex-direction:column;box-shadow:0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f,0 5px 5px -3px #0003}.card-detail-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #5f6368}.card-detail-title-section{display:flex;align-items:center;gap:1rem;flex:1}.card-detail-title-section h1{margin:0;font-size:1.5rem;font-weight:400;color:#e8eaed;letter-spacing:0}.card-detail-badges{display:flex;gap:.5rem;flex-wrap:wrap}.card-detail-classification,.card-detail-difficulty{padding:.25rem .75rem;border-radius:16px;font-size:.75rem;font-weight:500;text-transform:uppercase;color:#e8eaed;letter-spacing:.5px}.card-detail-classification{background-color:#5b8fb8;border:1px solid #6b9fc8}.card-detail-actions{display:flex;align-items:center;gap:.75rem}.card-detail-button{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.card-detail-edit{background:#8ab4f8;color:#202124}.card-detail-edit:hover{background:#aecbfa}.card-detail-delete{background:#ea4335;color:#e8eaed}.card-detail-delete:hover:not(:disabled){background:#c5221f}.card-detail-delete:disabled{opacity:.6;cursor:not-allowed}.card-detail-close{background:transparent;border:none;color:#9aa0a6;font-size:2rem;width:2.5rem;height:2.5rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);line-height:1;padding:0}.card-detail-close:hover{background:#3c4043;color:#e8eaed}.card-detail-body{display:flex;flex:1;overflow:hidden}.card-detail-sidebar{width:200px;border-right:1px solid #5f6368;padding:1rem 0;display:flex;flex-direction:column;gap:.25rem;overflow-y:auto;flex-shrink:0;background:#202124}.card-detail-nav-item{padding:.75rem 1rem;background:transparent;border:none;color:#bdc1c6;text-align:left;cursor:pointer;font-size:.875rem;transition:all .2s cubic-bezier(.4,0,.2,1);border-left:3px solid transparent;font-weight:400}.card-detail-nav-item:hover{background:#3c4043;color:#e8eaed}.card-detail-nav-item.active{background:#3c4043;color:#8ab4f8;border-left-color:#8ab4f8;font-weight:500}.card-detail-content{flex:1;padding:2rem;overflow-y:auto;display:flex;flex-direction:column;align-items:flex-start}.card-detail-content-section{width:100%;max-width:800px;text-align:left}.card-detail-content-section h2{margin:0 0 1.5rem;font-size:1.5rem;font-weight:400;color:#e8eaed;text-align:left;letter-spacing:0}.card-detail-code{background-color:#1e1e1e;border:none;border-radius:4px;padding:1.5rem;overflow-x:auto;margin-bottom:1.5rem;text-align:left}.card-detail-code pre{margin:0;font-family:Roboto Mono,Courier New,monospace;font-size:.875rem;line-height:1.6;font-weight:400}.card-detail-code code{color:#c5c5c5}.card-detail-complexity{display:flex;flex-direction:column;gap:.75rem;text-align:left}.complexity-item{color:#bdc1c6;font-size:.875rem;font-weight:400}.complexity-item strong{color:#e8eaed;margin-right:.5rem;font-weight:500}.card-detail-explanation{color:#bdc1c6;line-height:1.75;font-size:1rem;text-align:left;font-weight:400}.card-detail-explanation p{margin:0}.card-detail-leetcode,.card-detail-examples{text-align:left}.card-detail-leetcode ul,.card-detail-examples ul{list-style:none;padding:0;margin:0;text-align:left}.card-detail-leetcode li,.card-detail-examples li{padding:.5rem 0;color:#bdc1c6;font-size:.875rem;border-bottom:1px solid #5f6368;font-weight:400}.card-detail-leetcode li:last-child,.card-detail-examples li:last-child{border-bottom:none}.card-detail-empty{color:#6a6a6a;font-style:italic;text-align:left}.card-detail-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start}.card-detail-tag{padding:.375rem .75rem;background-color:#3c4043;border:none;border-radius:4px;font-size:.75rem;color:#bdc1c6;font-weight:400}@media(max-width:768px){.card-detail-overlay{padding:0}.card-detail-container{height:100vh;max-height:100vh;border-radius:0}.card-detail-body{flex-direction:column}.card-detail-sidebar{width:100%;border-right:none;border-bottom:1px solid #2a2a2a;flex-direction:row;overflow-x:auto;padding:.5rem}.card-detail-nav-item{padding:.5rem .75rem;white-space:nowrap;border-left:none;border-bottom:3px solid transparent}.card-detail-nav-item.active{border-left:none;border-bottom-color:#5b8fb8}.card-detail-content{padding:1rem}.card-detail-content-section{max-width:100%}.card-detail-title-section{flex-direction:column;align-items:flex-start;gap:.5rem}.card-detail-title-section h1{font-size:1.25rem}}.app{min-height:100vh;background-color:#202124}.app-header{background:#303134;border-bottom:none;color:#e8eaed;padding:2rem 1rem;box-shadow:0 1px 2px #0000004d}.app-header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem}.app-header-content>div{text-align:left}.app-header h1{margin:0 0 .5rem;font-size:2rem;font-weight:400;color:#e8eaed;letter-spacing:0}.app-subtitle{margin:0;font-size:.875rem;color:#9aa0a6;font-weight:400}.app-header-actions{display:flex;align-items:center;gap:.75rem}.app-create-button{padding:.75rem 1.5rem;background:#8ab4f8;color:#202124;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.app-create-button:hover{background:#aecbfa}.app-create-button-disabled{opacity:.6;cursor:pointer}.app-create-button-disabled:hover{background:#8ab4f8;opacity:.8}.app-auth-button{padding:.5rem;background:transparent;border:1px solid #5f6368;border-radius:50%;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem}.app-auth-button:hover{background:#3c4043;border-color:#8ab4f8}.app-auth-button-signin{border-radius:4px;width:auto;height:auto;padding:.75rem 1.5rem;color:#e8eaed;font-size:.875rem;font-weight:500}.app-user-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover}.app-user-icon{font-size:1.25rem;line-height:1}.app-loading,.app-error{text-align:center;padding:3rem;color:#bdc1c6}.app-error{color:#f28b82}.app-error button{margin-top:1rem;padding:.5rem 1rem;background:#8ab4f8;color:#202124;border:none;border-radius:4px;cursor:pointer;font-size:.875rem}.app-error button:hover{background:#aecbfa}.app-main{max-width:1400px;margin:0 auto;padding:1.5rem}@media(max-width:768px){.app-header{padding:1rem .75rem}.app-header-content{flex-direction:column;align-items:flex-start}.app-header-content>div{width:100%}.app-header-actions{width:100%;justify-content:space-between}.app-create-button,.app-auth-button-signin{width:100%}.app-header h1{font-size:1.5rem}.app-subtitle{font-size:.75rem}.app-main{padding:.75rem}}
