.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.project-card-shell{position:relative}.project-card{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:10px;border-radius:10px;border:1px solid var(--border-1);background-color:var(--surface-1);color:inherit;text-align:left;cursor:pointer;font-family:inherit;transition:border-color .2s ease,background-color .2s ease;width:100%}.project-card:hover{border-color:var(--accent);background-color:var(--surface-hover)}.project-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-card-body{display:flex;flex-direction:column;gap:6px;min-width:0}.project-card-title{font-size:14px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card-snippet{font-size:12px;color:var(--text-muted);line-height:1.5;height:3em;overflow:hidden}.project-card-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--text-faint)}.project-card-delete{position:absolute;top:8px;right:8px;border:1px solid var(--border-2);border-radius:8px;background:color-mix(in srgb,var(--surface-2) 92%,white 8%);color:var(--text-muted);font-size:11px;line-height:1;padding:6px 8px;cursor:pointer}.project-card-delete:hover{border-color:var(--accent);color:var(--accent)}.project-thumbnail{width:88px;height:118px;border-radius:6px;border:1px solid var(--border-2);background-color:var(--surface-0);display:flex;align-items:center;justify-content:center;overflow:hidden}.project-thumbnail img{width:100%;height:100%;object-fit:cover}.project-thumbnail-placeholder{font-size:10px;color:var(--text-faint)}@media (max-width: 720px){.project-grid{grid-template-columns:1fr}}@media (max-width: 480px){.project-card{grid-template-columns:72px 1fr;gap:10px;padding:9px}.project-thumbnail{width:72px;height:96px}.project-card-meta{flex-direction:column;gap:2px;align-items:flex-start}}.project-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-filter-field{display:flex;align-items:center}.project-filter-input,.project-filter-select{height:30px;padding:4px 10px;border-radius:6px;border:1px solid var(--border-2);background-color:var(--surface-1);color:var(--text-primary);font-size:12px;min-width:180px}.project-filter-select{min-width:150px}.project-filter-input:focus,.project-filter-select:focus{outline:none;border-color:var(--accent)}.project-filter-count{font-size:11px;color:var(--text-faint);margin-left:auto}@media (max-width: 720px){.project-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.project-filter-field{width:100%}.project-filter-input,.project-filter-select{min-width:100%;flex:1;height:38px}.project-filter-count{width:100%;margin-left:0;font-size:12px}}.home{position:relative;flex:1;height:100%;overflow-y:auto;color:var(--text-primary);background-color:var(--app-bg)}.home-content{max-width:1120px;margin:0 auto;padding:24px 24px 40px;display:flex;flex-direction:column;gap:20px}.home-error{padding:16px 18px;border-radius:10px;background-color:var(--error-bg);border:1px solid var(--error-border);display:flex;flex-direction:column;gap:12px}.home-error-message{font-size:14px;color:var(--error-text)}.home-error-actions{display:flex;justify-content:flex-end}.home-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--border-1);border-radius:10px;background-color:var(--surface-1)}.home-header-copy{display:flex;flex-direction:column;gap:6px}.home-header-title{font-size:18px;font-weight:600}.home-header-text{font-size:12px;color:var(--text-muted)}.home-btn{padding:8px 16px;border:1px solid transparent;border-radius:10px;background-color:var(--control-bg);color:var(--text-primary);cursor:pointer;font-size:13px;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.home-btn:hover:not(:disabled){background-color:var(--control-bg-hover);border-color:var(--line-subtle)}.home-btn:disabled{opacity:.5;cursor:not-allowed}.home-btn-primary{background-color:var(--accent);border-color:transparent;color:#fff;box-shadow:0 4px 10px rgba(var(--accent-rgb),.2)}.home-btn-primary:hover:not(:disabled){background-color:var(--accent-strong)}.home-btn-secondary{background-color:var(--control-bg);border-color:var(--line-subtle)}.home-section{display:flex;flex-direction:column;gap:16px}.home-section-header{display:flex;justify-content:space-between;align-items:center}.home-section-title{font-size:16px;font-weight:600}.home-section-count{font-size:12px;color:var(--text-faint)}.home-empty,.home-loading{padding:24px;border-radius:14px;border:1px dashed var(--border-2);background:var(--surface-1);text-align:center;color:var(--text-muted)}.home-empty-title{font-size:15px;color:var(--text-primary);margin-bottom:6px}.home-empty-text{font-size:12px;color:var(--text-muted)}@media (max-width: 720px){.home-content{padding:16px 14px calc(20px + env(safe-area-inset-bottom));gap:14px}.home-header{flex-direction:column;align-items:flex-start;padding:14px;gap:12px}.home-create-btn{width:100%;min-height:44px}.home-section{gap:12px}.home-section-title{font-size:15px}.home-empty,.home-loading{padding:18px 14px}}.access-blocked-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:3000}.access-blocked-dialog{background:var(--surface-1);border:1px solid var(--border-1);border-radius:12px;padding:24px;width:min(520px,92vw);box-shadow:0 30px 80px #0000008c}.access-blocked-title{font-size:16px;font-weight:600;color:var(--text-strong);margin-bottom:8px}.access-blocked-message{font-size:13px;color:var(--text-muted);line-height:1.6}.access-blocked-actions{display:flex;justify-content:flex-end;margin-top:16px}.access-blocked-button{border:1px solid var(--border-1);background:var(--surface-2);color:var(--text-primary);border-radius:6px;padding:8px 12px;cursor:pointer;font-size:13px}.access-blocked-button:hover{background:var(--surface-hover)}.cloud-conflict-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#080a0e94;display:flex;align-items:center;justify-content:center;z-index:1000}.cloud-conflict-modal{background-color:var(--surface-2);border:1px solid var(--line-subtle);border-radius:14px;box-shadow:var(--shadow-elev-2);width:90%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.cloud-conflict-modal .modal-header{padding:20px 24px;border-bottom:1px solid var(--line-subtle);display:flex;justify-content:space-between;align-items:center}.cloud-conflict-modal .modal-header h2{font-size:20px;font-weight:600;color:var(--text-primary)}.cloud-conflict-modal .modal-body{padding:24px;overflow-y:auto}.cloud-conflict-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:24px}.cloud-conflict-message{margin:0 0 16px;color:var(--text-primary);font-size:14px;line-height:1.6}@media (max-width: 767px){.cloud-conflict-overlay{align-items:stretch;justify-content:stretch}.cloud-conflict-modal{width:100vw;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;border-left:none;border-right:none;border-bottom:none}.cloud-conflict-modal .modal-header{position:sticky;top:0;z-index:2;padding:14px 16px}.cloud-conflict-modal .modal-body{padding:14px 14px calc(14px + env(safe-area-inset-bottom))}}*{margin:0;padding:0;box-sizing:border-box}:root{--bp-phone-s: 359px;--bp-phone-m: 429px;--bp-phone-l: 767px;--bp-tablet: 1023px;--app-bg: #13161b;--surface-0: #0f1216;--surface-1: #171c22;--surface-2: #1d232b;--surface-3: #252d38;--surface-hover: #2d3744;--border-1: rgba(255, 255, 255, .08);--border-2: rgba(255, 255, 255, .12);--border-3: rgba(255, 255, 255, .2);--line-subtle: rgba(255, 255, 255, .045);--line-strong: rgba(255, 255, 255, .13);--text-primary: #d7dde5;--text-strong: #f2f5f8;--text-muted: #a8b2bf;--text-subtle: #93a0af;--text-faint: #768394;--accent: #5b9bff;--accent-strong: #4b8cef;--accent-muted: #9cc4ff;--accent-rgb: 91, 155, 255;--accent-soft: rgba(91, 155, 255, .16);--danger: #ef5f5f;--danger-bg: rgba(239, 95, 95, .16);--danger-border: rgba(239, 95, 95, .4);--danger-text: #ff9a9a;--warning: #f2c581;--warning-text: #f2c581;--warning-border: rgba(242, 197, 129, .4);--success: #9fe2b7;--success-border: rgba(110, 201, 147, .42);--badge-border: rgba(110, 201, 147, .45);--badge-bg: rgba(34, 72, 50, .65);--badge-text: #bde9cb;--control-bg: rgba(255, 255, 255, .03);--control-bg-hover: rgba(255, 255, 255, .05);--control-border: rgba(255, 255, 255, .09);--control-border-strong: rgba(255, 255, 255, .16);--focus-ring: 0 0 0 3px rgba(var(--accent-rgb), .24);--shadow-elev-1: 0 8px 24px rgba(0, 0, 0, .28);--shadow-elev-2: 0 14px 34px rgba(0, 0, 0, .32);--scrollbar-thumb: rgba(255, 255, 255, .18);--scrollbar-thumb-hover: rgba(255, 255, 255, .28);--scrollbar-track: transparent}body[data-theme=dark]{color-scheme:dark}body[data-theme=light]{--app-bg: #f4f1eb;--surface-0: #eae3d8;--surface-1: #f8f4ed;--surface-2: #fffcf7;--surface-3: #f0e9dd;--surface-hover: #e6decf;--border-1: rgba(70, 54, 37, .13);--border-2: rgba(70, 54, 37, .2);--border-3: rgba(70, 54, 37, .28);--line-subtle: rgba(70, 54, 37, .08);--line-strong: rgba(70, 54, 37, .18);--text-primary: #2a231b;--text-strong: #17130f;--text-muted: #5b5044;--text-subtle: #6a5f53;--text-faint: #84796d;--accent: #ff6b4a;--accent-strong: #e65536;--accent-muted: #1c8ba5;--accent-rgb: 255, 107, 74;--accent-soft: rgba(255, 107, 74, .18);--danger: #dd5a4c;--danger-bg: rgba(221, 90, 76, .12);--danger-border: rgba(221, 90, 76, .42);--danger-text: #c53b2f;--warning: #a9682c;--warning-text: #8a4f1e;--warning-border: rgba(169, 104, 44, .36);--success: #2f8f5a;--success-border: rgba(47, 143, 90, .32);--badge-border: rgba(47, 143, 90, .35);--badge-bg: rgba(47, 143, 90, .12);--badge-text: #2f6a4f;--control-bg: rgba(87, 66, 40, .06);--control-bg-hover: rgba(87, 66, 40, .1);--control-border: rgba(87, 66, 40, .16);--control-border-strong: rgba(87, 66, 40, .24);--focus-ring: 0 0 0 3px rgba(var(--accent-rgb), .2);--shadow-elev-1: 0 8px 22px rgba(48, 33, 15, .14);--shadow-elev-2: 0 14px 30px rgba(48, 33, 15, .2);--scrollbar-thumb: rgba(0, 0, 0, .3);--scrollbar-thumb-hover: rgba(0, 0, 0, .42);--scrollbar-track: transparent;color-scheme:light}@font-face{font-family:GenEiAntiqueNv6;src:url(/assets/GenEiAntiqueNv6-M-Bw5srmuB.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--app-bg);color:var(--text-primary);overflow:hidden}button,input,select,textarea{font-family:inherit}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{background-color:var(--control-bg);border:1px solid var(--control-border);border-radius:10px;color:var(--text-primary);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):hover,select:hover,textarea:hover{border-color:var(--control-border-strong);background-color:var(--control-bg-hover)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):focus,select:focus,textarea:focus{outline:none;border-color:rgba(var(--accent-rgb),.75);box-shadow:var(--focus-ring)}input::placeholder,textarea::placeholder{color:var(--text-faint)}button:focus-visible{outline:none;box-shadow:var(--focus-ring)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:999px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}#root{width:100vw;height:100vh;height:100dvh}.app{width:100%;height:100%;display:flex;flex-direction:column}.app.app-public{display:block;overflow:hidden}.app-startup-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px}
