:root{--bg: #0f1420;--bg-elev: #161c2b;--bg-card: #1b2233;--border: #2a3346;--text: #e6e9f0;--text-dim: #9aa4ba;--accent: #6d8cff;--accent-2: #4f6fe0;--danger: #e0566b;--ok: #46c08a;--warn: #e0a94f;--radius: 10px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:12px;height:52px;padding:0 14px;background:var(--bg-elev);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;padding-top:env(safe-area-inset-top)}.brand{font-weight:700;font-size:16px;cursor:pointer}.topbar .sync-status{margin-left:auto}.layout{display:flex;flex:1;min-height:0}.drawer{width:260px;flex-shrink:0}.sidebar{display:flex;flex-direction:column;gap:12px;height:100%;padding:14px;background:var(--bg-elev);border-right:1px solid var(--border);overflow-y:auto}.sidebar-foot{margin-top:auto}.main{flex:1;min-width:0;overflow-y:auto;padding:18px}.btn-primary{background:var(--accent-2);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-weight:600}.btn-primary:hover{background:var(--accent)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:7px 12px}.btn-ghost:hover{border-color:var(--accent)}.btn-ghost.sm{padding:4px 9px;font-size:12px}.btn-ghost.fav-on{color:var(--warn);border-color:var(--warn)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger);border-radius:8px;padding:7px 12px}.btn-danger:hover{background:var(--danger);color:#fff}.block{width:100%}.search{width:100%;padding:9px 11px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text)}.search:focus{outline:none;border-color:var(--accent)}.filters{display:flex;flex-direction:column;gap:3px}.group-label{font-size:11px;color:var(--text-dim);margin:10px 0 2px;letter-spacing:.05em}.filter-item{text-align:left;background:transparent;border:none;color:var(--text-dim);padding:7px 10px;border-radius:7px;font-size:14px}.filter-item:hover{background:var(--bg-card);color:var(--text)}.filter-item.active{background:var(--accent-2);color:#fff}.tag-cloud{display:flex;flex-wrap:wrap;gap:6px}.tag{background:var(--bg-card);border:1px solid var(--border);color:var(--text-dim);border-radius:999px;padding:3px 10px;font-size:12px}.tag.active{background:var(--accent-2);color:#fff;border-color:var(--accent-2)}.prompt-list{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;cursor:pointer;transition:border-color .15s,transform .05s}.card:hover{border-color:var(--accent)}.card:active{transform:scale(.995)}.card-top{display:flex;align-items:flex-start;gap:8px}.card-title{margin:0;font-size:15px;flex:1;line-height:1.4}.star{color:var(--warn);margin-right:4px}.btn-copy{flex-shrink:0;background:var(--accent-2);color:#fff;border:none;border-radius:7px;padding:5px 11px;font-size:13px;font-weight:600}.btn-copy:hover{background:var(--accent)}.card-body{margin:9px 0;color:var(--text-dim);font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chip{background:var(--bg-elev);border:1px solid var(--border);color:var(--text-dim);border-radius:6px;padding:2px 8px;font-size:11px}.chip-tag{color:var(--accent)}.usage{color:var(--text-dim);font-size:11px;margin-left:auto}.empty{color:var(--text-dim);text-align:center;padding:60px 20px}.editor,.settings{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.editor-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.editor-bar .btn-primary{margin-left:auto}.title-input{font-size:20px;font-weight:700;padding:10px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text)}.field-row{display:flex;gap:10px;flex-wrap:wrap}.field,.form-row input,.body-input{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:9px 11px}.field{flex:1;min-width:140px}.field:focus,.title-input:focus,.body-input:focus,.form-row input:focus,.search:focus{outline:none;border-color:var(--accent)}.body-input{min-height:240px;resize:vertical;line-height:1.6;font-size:14px}.var-hint{font-size:13px;color:var(--text-dim);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.var-hint code,.howto code,.hint code{background:var(--bg-card);border:1px solid var(--border);border-radius:5px;padding:1px 6px;color:var(--accent);font-size:12px}.editor-stats{display:flex;gap:14px;align-items:center;color:var(--text-dim);font-size:13px;flex-wrap:wrap}.version-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.version-item{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:10px}.version-head{display:flex;gap:10px;align-items:center}.version-title{font-weight:600}.version-time{color:var(--text-dim);font-size:12px}.version-head .btn-ghost{margin-left:auto}.version-body{margin:8px 0 0;color:var(--text-dim);font-size:12px;white-space:pre-wrap;word-break:break-word;max-height:100px;overflow:hidden}.hint{color:var(--text-dim);font-size:13px;line-height:1.6}.settings-title{margin:0;font-size:18px}.settings-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px}.settings-section h3{margin:0;font-size:15px}.form-row{display:flex;flex-direction:column;gap:5px}.form-row span{font-size:13px;color:var(--text-dim)}.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.warn{color:var(--warn);font-size:12px;line-height:1.5;margin:0}.howto{color:var(--text-dim);font-size:13px;line-height:1.8;margin:0;padding-left:20px}.sync-status{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:999px;padding:4px 11px;font-size:12px}.sync-status .dot{width:8px;height:8px;border-radius:50%;background:var(--text-dim)}.sync-synced .dot{background:var(--ok)}.sync-syncing .dot{background:var(--accent);animation:pulse 1s infinite}.sync-offline .dot,.sync-error .dot{background:var(--danger)}.sync-unconfigured .dot{background:var(--warn)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal{background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;padding:18px;width:100%;max-width:520px;max-height:88vh;overflow-y:auto}.modal-title{margin:0 0 12px;font-size:16px}.fill-fields{display:flex;flex-direction:column;gap:10px}.fill-field{display:flex;flex-direction:column;gap:4px}.fill-field span{font-size:13px;color:var(--text-dim)}.fill-field input{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:9px 11px}.fill-field input:focus{outline:none;border-color:var(--accent)}.fill-preview-label{margin-top:14px;font-size:12px;color:var(--text-dim)}.fill-preview{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:11px;white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.6;max-height:200px;overflow-y:auto;margin:4px 0 0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.toast{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:10px 18px;border-radius:999px;font-size:14px;z-index:100}.hamburger{background:transparent;border:none;color:var(--text);font-size:20px;padding:4px 6px}.only-mobile{display:none}.scrim{position:fixed;top:52px;right:0;bottom:0;left:0;background:#00000080;z-index:14}@media (max-width: 720px){.only-mobile{display:inline-flex}.drawer{position:fixed;top:52px;bottom:0;left:0;width:82%;max-width:300px;transform:translate(-100%);transition:transform .2s ease;z-index:15}.drawer.open{transform:translate(0)}.prompt-list{grid-template-columns:1fr}.main{padding:14px}}
