*,:before,:after{box-sizing:border-box}body,html,#root{height:100%;margin:0;padding:0}#root{width:100%;max-width:100%}:root{--bg:#fff;--card:#fff;--surface:#f1f3f4;--text:#202124;--subtle:#5f6368;--primary:#1a73e8;--primary-soft:#e8f0fe;--keep-yellow:#fbbc04;--keep-yellow-soft:#feefc3;--danger:#d93025;--border:#e0e0e0;--shadow-default:0 1px 2px 0 #3c40434d, 0 1px 3px 1px #3c404326;--shadow-active:0 1px 3px 0 #3c40434d, 0 4px 8px 3px #3c404326}*{box-sizing:border-box}body,html,#root{background-color:var(--bg);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,Roboto,system-ui,-apple-system,sans-serif}button,input,textarea{font:inherit;color:inherit;background:0 0;border:none;outline:none}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--bg);z-index:100;align-items:center;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.topbar-layout{justify-content:space-between;align-items:center;gap:24px;width:100%;display:flex}.topbar-left,.topbar-center,.topbar-actions{align-items:center;display:flex}.topbar-left{flex-shrink:0;gap:16px}.topbar-center{flex:1;max-width:720px;margin:0 16px}.topbar-actions{flex-shrink:0;gap:12px}.logo{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.logo h2{color:var(--subtle);letter-spacing:-.2px;margin:0;font-family:Outfit,Inter,sans-serif;font-size:22px;font-weight:500}.keep-icon,.icon-btn{width:48px;height:48px;color:var(--subtle);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background-color .15s;display:inline-flex}.keep-icon:hover,.icon-btn:hover{background-color:#5f63681a}.keep-icon:active,.icon-btn:active{background-color:#5f636833}.keep-icon svg{width:24px;height:24px;color:var(--subtle)}.search-container{background:var(--surface);border-radius:8px;align-items:center;gap:12px;width:100%;height:48px;padding:0 16px;transition:background-color .15s,box-shadow .15s;display:flex}.search-container:focus-within{background:#fff;box-shadow:0 1px 1px #4145494d,0 1px 3px 1px #41454926}.search{color:var(--text);flex:1;width:100%;font-size:16px}.search::placeholder{color:var(--subtle);opacity:.8}.search-icon{color:var(--subtle);flex-shrink:0;align-items:center;display:flex}.search-clear{color:var(--subtle);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:4px;display:flex}.search-clear:hover{background-color:#5f636826}.content{flex:1;display:flex}.sidebar{background:var(--bg);flex-direction:column;flex-shrink:0;width:280px;padding-top:8px;transition:width .2s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.sidebar.collapsed{width:72px}.sidebar-header{width:100%}.tabs{flex-direction:column;width:100%;display:flex}.tab{cursor:pointer;width:calc(100% - 12px);height:48px;color:var(--text);border-radius:0 24px 24px 0;align-items:center;gap:20px;margin-bottom:4px;padding:0 24px;font-size:14px;font-weight:500;transition:background-color .15s,color .15s;display:flex}.tab:hover:not(.active){background-color:var(--surface)}.tab.active{background-color:var(--keep-yellow-soft);color:#202124}.tab-icon{color:var(--subtle);flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.tab.active .tab-icon{color:var(--keep-yellow)}.tab-label{white-space:nowrap;opacity:1;transition:opacity .15s}.sidebar.collapsed .tab-label{opacity:0;width:0;display:none;overflow:hidden}.sidebar.collapsed .tab{border-radius:50%;justify-content:center;width:48px;margin:0 auto 8px;padding:0}.sidebar-divider{background-color:var(--border);width:100%;height:1px;margin:8px 0}.sidebar-section-title{text-transform:uppercase;color:var(--subtle);letter-spacing:.8px;padding:8px 24px;font-size:11px;font-weight:600}.sidebar.collapsed .sidebar-section-title{display:none}.main{flex-direction:column;flex:1;align-items:center;min-width:0;padding:24px;display:flex}.note-creator{background:var(--card);border:1px solid var(--border);border-radius:8px;flex-direction:column;width:100%;max-width:600px;margin:16px auto 32px;transition:box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 1px 2px #3c40434d,0 2px 6px 2px #3c404326}.note-creator-collapsed{cursor:text;color:var(--subtle);justify-content:space-between;align-items:center;padding:12px 16px;font-size:16px;font-weight:500;display:flex}.note-creator-collapsed-text{flex:1}.note-creator-expanded{flex-direction:column;padding:12px 16px;display:flex}.note-creator-title{width:100%;color:var(--text);margin-bottom:8px;padding:8px 0;font-size:16px;font-weight:600}.note-creator-title::placeholder{color:var(--subtle);opacity:.7}.note-creator-editor-wrapper{width:100%;position:relative}.note-creator-editor{min-height:46px;color:var(--text);word-wrap:break-word;word-break:break-word;white-space:pre-wrap;outline:none;width:100%;font-size:14px;line-height:1.5}.note-creator-editor:empty:before{content:attr(data-placeholder);color:var(--subtle);opacity:.7;cursor:text}.note-creator-toolbar{justify-content:space-between;align-items:center;margin-top:16px;padding-top:8px;display:flex}.note-creator-actions{align-items:center;gap:6px;display:flex}.note-creator-btn-close{color:var(--text);cursor:pointer;border-radius:4px;padding:8px 24px;font-size:14px;font-weight:600;transition:background-color .15s}.note-creator-btn-close:hover{background-color:#5f636814}.notes{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:start;gap:16px;width:100%;max-width:1200px;display:grid}.note{background:var(--card);border:1px solid var(--border);cursor:pointer;box-sizing:border-box;border-radius:8px;flex-direction:column;height:150px;min-height:150px;max-height:150px;padding:16px;transition:box-shadow .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.note:hover{box-shadow:var(--shadow-default);border-color:#0000}.note-card-image-wrapper{border-bottom:1px solid var(--border);max-height:200px;margin:-16px -16px 12px;display:block;overflow:hidden}.note-card-image{object-fit:cover;width:100%;height:auto;max-height:200px;display:block}.note-body{flex-direction:column;flex:1;display:flex}.note-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;width:100%;margin-bottom:8px;font-size:16px;font-weight:600;line-height:1.4;overflow:hidden}.note-text{color:var(--text);-webkit-line-clamp:3;text-overflow:ellipsis;white-space:normal;word-break:break-word;-webkit-box-orient:vertical;width:100%;margin:0;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.note-actions{opacity:0;justify-content:space-between;align-items:center;width:100%;margin-top:12px;transition:opacity .15s;display:flex}.note:hover .note-actions{opacity:1}.note-actions-left,.note-actions-right{align-items:center;gap:4px;display:flex}.card-icon-btn{width:32px;height:32px;color:var(--subtle);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.card-icon-btn:hover{color:var(--text);background-color:#5f63681a}.card-icon-btn.pinned{color:var(--keep-yellow)}.card-icon-btn.pinned:hover{color:var(--keep-yellow);background-color:#fbbc0426}.notes-section-title{text-transform:uppercase;letter-spacing:.8px;color:var(--subtle);align-self:flex-start;width:100%;max-width:1200px;margin:24px 0 8px;font-size:11px;font-weight:600}.note-media-preview-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.note-preview-media{background:var(--surface);color:var(--subtle);border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:inline-flex}.note-preview-audio-element{width:160px;height:24px}.note-media-more{background:var(--surface);color:var(--subtle);border-radius:4px;padding:4px 8px;font-size:11px;font-weight:700}.label-header{border-bottom:1px solid var(--border);flex-direction:column;width:100%;max-width:1200px;margin-bottom:24px;padding-bottom:12px;display:flex}.label-header h2{color:var(--text);margin:0;font-size:24px;font-weight:500}.label-header p{color:var(--subtle);margin:4px 0 0;font-size:14px}.modal{z-index:1000;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#e5e5e566;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-content{background:var(--card);border:1px solid var(--border);width:100%;max-width:600px;box-shadow:var(--shadow-active);border-radius:8px;outline:none;flex-direction:column;padding:16px;display:flex}.modal-header{margin-bottom:12px}.modal-header h3{color:var(--text);margin:0;font-size:18px;font-weight:600}.modal-error{color:#ec5959;border-left:3px solid var(--danger);background:#fdf2f2;border-radius:6px;margin-bottom:14px;padding:10px 14px;font-size:13px;font-weight:500}.char-count{color:var(--subtle);align-self:flex-end;margin-top:4px;font-size:11px}.field{flex-direction:column;width:100%;margin-bottom:16px;display:flex}.field-label{text-transform:uppercase;color:var(--subtle);letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:600}.field input,.field textarea{width:100%;color:var(--text);background:0 0;border:none;border-bottom:1px solid #0000;outline:none;padding:8px 0;font-size:16px}.field input::placeholder,.field textarea::placeholder{color:var(--subtle);opacity:.7}.field input:focus{border-bottom-color:#1a73e84d}.field textarea{resize:none;min-height:120px;line-height:1.5}.note-body-editor-wrapper{width:100%;position:relative}.note-body-editor{min-height:120px;max-height:380px;color:var(--text);word-wrap:break-word;word-break:break-word;white-space:pre-wrap;outline:none;width:100%;padding:8px 0;font-size:14px;line-height:1.5;overflow-y:auto}.ce-editor img.editor-image{cursor:pointer;border-radius:4px;max-width:100%;height:auto;margin:8px 0;transition:outline .1s}.ce-editor img.editor-image:hover,.ce-editor img.editor-image.selected-image{outline:2px solid var(--primary)}.image-resize-handle{background:var(--primary);cursor:nwse-resize;z-index:10;border:1px solid #fff;width:10px;height:10px;position:absolute}.media-section{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;display:flex}.media-upload{align-items:center;gap:6px;display:flex}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.btn{cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:background-color .15s;display:inline-flex}.btn.primary{background-color:var(--primary);color:#fff}.btn.primary:hover{background-color:#155cb0}.btn.ghost{color:var(--subtle)}.btn.ghost:hover{color:var(--text);background-color:#5f636814}.btn.danger{color:var(--danger)}.btn.danger:hover{background-color:#d9302514}.btn.secondary{color:var(--subtle)}.btn.secondary:hover{color:var(--text);background-color:#5f636814}.btn.recording{background-color:var(--danger);color:#fff;animation:1.5s infinite pulse}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.ai-dropdown button:hover{background-color:var(--surface)!important}.ai-dropdown button:disabled{opacity:.6}.ai-result-modal{animation:.15s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.95)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.ai-toolbar-btn{width:36px;height:36px;color:var(--subtle);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.ai-toolbar-btn:hover{background-color:var(--surface);color:var(--text)}.ai-toolbar-btn.active{background-color:var(--primary-soft);color:var(--primary)}.note-body-editor img.editor-image{cursor:pointer;border-radius:4px;max-width:100%;height:auto;margin:8px 0;transition:outline .1s}.note-body-editor img.editor-image:hover,.note-body-editor img.editor-image.selected-image{outline:2px solid var(--primary)}.empty-state{color:var(--subtle);text-align:center;flex-direction:column;justify-content:center;align-items:center;margin-top:80px;display:flex}.empty-state svg{color:#5f636833;width:120px;height:120px;margin-bottom:16px}.empty-state h3{color:var(--text);margin:0;font-size:18px;font-weight:500}.empty-state p{max-width:320px;margin:8px 0 0;font-size:14px;line-height:1.5}.auth-container{justify-content:center;align-items:center;min-height:100vh;font-family:Inter,sans-serif;display:flex;background:#fff!important}.auth-box{border:1px solid var(--border);box-shadow:var(--shadow-default);background:#fff;border-radius:8px;width:100%;max-width:440px;padding:40px}.auth-box h1{color:var(--text);text-align:center;margin:0 0 8px;font-family:Outfit,sans-serif;font-size:24px;font-weight:500}.auth-subtitle{color:var(--subtle);text-align:center;margin:0 0 24px;font-size:14px}.auth-box input{border:1px solid var(--border);color:var(--text);border-radius:4px;padding:12px;font-size:14px;transition:border-color .15s}.auth-box button[type=submit]{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-top:8px;padding:12px;font-size:14px;font-weight:600;transition:background-color .15s}.auth-box button[type=submit]:hover:not(:disabled){background-color:#155cb0}.auth-toggle button{color:var(--primary);cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0;font-weight:600}.auth-toggle button:hover{text-decoration:underline}.loading{height:100vh;color:var(--subtle);justify-content:center;align-items:center;font-size:16px;display:flex}.pagination{box-shadow:none;border:none;gap:12px;margin-top:32px}.pagination-btn{border:1px solid var(--border);color:var(--subtle);background:0 0;border-radius:4px;padding:6px 12px}.pagination-btn:hover:not(:disabled){background:var(--surface);border-color:var(--subtle);color:var(--text)}.pagination-input{border:1px solid var(--border);border-radius:4px;padding:4px 8px}.group-notes-section{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin-top:16px;padding-top:16px;display:flex}.group-notes-section h4{color:var(--text);margin:0;font-size:14px;font-weight:600}.group-notes-list{flex-direction:column;gap:8px;max-height:200px;padding-right:4px;display:flex;overflow-y:auto}.group-note-item{background:var(--surface);border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.group-note-info{flex:1;min-width:0}.group-note-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.group-note-preview{color:var(--subtle);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.group-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.group-item{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:16px;transition:background-color .15s,border-color .15s}.group-item:hover{background-color:var(--surface);border-color:var(--subtle)}.sidebar-backdrop{z-index:140;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0006;animation:.2s fadeInBackdrop;position:fixed;inset:64px 0 0}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}.rewrite-preview-container{flex-direction:row;flex:1;gap:16px;display:flex;overflow:hidden}@media (width<=768px){.sidebar-toggle-btn,.sidebar,.sidebar.collapsed,.sidebar-backdrop{display:none!important}.main{padding:16px}.notes-section-title{margin-top:16px}.rewrite-preview-container{flex-direction:column;gap:12px;overflow-y:auto}.rewrite-preview-container>div{height:200px;flex:none!important}}@media (hover:none),(width<=768px){.note-actions{opacity:1!important}}@media (width<=600px){.topbar{height:56px;padding:0 12px}.sidebar,.sidebar-backdrop{top:56px}.btn-text{display:none}.btn.primary,.btn.ghost{border-radius:50%;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;padding:8px;display:flex;gap:0!important}.topbar-actions{gap:8px}.search-container{gap:8px;height:38px;padding:0 10px}.search{font-size:14px}.search-icon svg{width:16px;height:16px}.topbar-center{margin:0 8px}.modal{padding:12px}.modal-content{border-radius:12px;max-height:95vh;padding:12px}.media-section{flex-direction:column;align-items:stretch;gap:12px}.media-section>.media-upload{justify-content:flex-start;margin-left:0!important}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;margin-top:4px;padding-top:12px}.field input,.field textarea,.note-creator-title,.note-creator-editor,.note-body-editor{font-size:16px!important}}@media (width<=480px){.logo-text{display:none}.topbar-left{gap:8px}.main{padding:12px 8px}.notes{grid-template-columns:1fr;gap:12px}.note-creator{margin:8px auto 20px}.auth-box{margin:16px;padding:24px 16px}}.note-tags{flex-wrap:wrap;align-items:center;gap:4px;margin-top:auto;display:flex}.note-group-pill{background-color:var(--surface);color:var(--subtle);border:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;border-radius:100px;align-items:center;max-width:140px;padding:3px 8px;font-size:11px;font-weight:500;line-height:1.2;display:inline-flex;overflow:hidden}.auth-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.auth-box{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:40px;box-shadow:0 10px 40px #0003}.auth-box h1{color:#1f2937;margin:0 0 10px;font-size:28px;font-weight:600}.auth-subtitle{color:#6b7280;margin:0 0 30px;font-size:14px}.auth-error{color:#991b1b;background:#fee2e2;border-radius:6px;margin-bottom:20px;padding:12px;font-size:14px}.auth-box form{flex-direction:column;gap:12px;display:flex}.auth-box input{border:1px solid #e5e7eb;border-radius:6px;padding:12px;font-size:14px;transition:border-color .2s}.auth-box input:focus{border-color:#667eea;outline:none}.auth-box input:disabled{cursor:not-allowed;background:#f9fafb}.auth-box button[type=submit]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#5568d3 100%);border:none;border-radius:999px;margin-top:8px;padding:12px;font-size:14px;font-weight:600;transition:background .2s,box-shadow .2s;box-shadow:0 10px 25px #667eea2e}.auth-box button[type=submit]:hover:not(:disabled){background:#5568d3}.auth-box button[type=submit]:disabled{opacity:.7;cursor:not-allowed}.auth-toggle{text-align:center;color:#6b7280;margin-top:20px;font-size:14px}.auth-toggle button{color:#667eea;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:0;font-weight:600;text-decoration:underline}.auth-toggle button:hover{color:#5568d3}
