:root{--teal: #1a3a3a;--teal-2: #245050;--accent: #2e8b7a;--accent-light: #e0f2ef;--bg: #f4f7f6;--card: #ffffff;--ink: #1f2733;--muted: #6b7785;--line: #e2e8f0;--green: #2e7d32;--green-bg: #e6f4ea;--amber: #b26a00;--amber-bg: #fcefd9;--red: #b3261e;--red-bg: #fbe9e7;--radius: 10px;--shadow: 0 4px 16px rgba(26, 58, 58, .08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}.loading{display:flex;justify-content:center;align-items:center;min-height:40vh;color:var(--muted);font-size:1rem}.empty{text-align:center;padding:3rem 1rem;color:var(--muted)}.topbar{background:var(--teal);color:#fff;padding:0 1.5rem}.topbar-inner{display:flex;align-items:center;gap:1.5rem;max-width:1200px;margin:0 auto;height:56px}.brand{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;white-space:nowrap}.nav{display:flex;gap:.25rem}.nav a{color:#ffffffb3;text-decoration:none;padding:.35rem .75rem;border-radius:6px;font-size:.9rem;font-weight:500;transition:background .15s,color .15s}.nav a:hover{color:#fff;background:#ffffff1a}.nav a.active{color:#fff;background:#ffffff26}.spacer{flex:1}.who{text-align:right;font-size:.8rem;line-height:1.4;color:#fffc}.who b{display:block;font-weight:600}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s}.btn:hover{background:#267a6a}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--card);color:var(--ink);border:1px solid var(--line)}.btn.secondary:hover{background:#f0f0f0}.btn.danger{background:var(--red)}.btn.danger:hover{background:#922019}.btn-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:inherit;text-decoration:underline;padding:0}.who .btn-link{color:#fffc}.who .btn-link:hover{color:#fff}.main{max-width:1200px;margin:0 auto;padding:1.5rem}.page-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.page-header h2{font-size:1.4rem;font-weight:700;flex:1}.search-bar{display:flex;gap:.5rem;margin-bottom:1rem}.search-input{flex:1;padding:.5rem .75rem;border:1px solid var(--line);border-radius:8px;font-size:.9rem;background:var(--card)}.search-input:focus{outline:2px solid var(--accent);border-color:transparent}.filters{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.filters select{padding:.4rem .6rem;border:1px solid var(--line);border-radius:8px;font-size:.85rem;background:var(--card);cursor:pointer}.memory-list{display:grid;gap:.75rem}.memory-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem;text-decoration:none;color:var(--ink);transition:box-shadow .15s,border-color .15s}.memory-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.memory-card h3{font-size:1rem;font-weight:600;margin:.35rem 0 .2rem}.memory-card .hook{font-size:.85rem;color:var(--muted);margin:0}.memory-card-header{display:flex;gap:.4rem;flex-wrap:wrap}.memory-card-footer{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.78rem;color:var(--muted)}.slug{font-family:SF Mono,Menlo,monospace;font-size:.75rem}.badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge.user{background:#e8f0fe;color:#1a56db}.badge.feedback{background:var(--amber-bg);color:var(--amber)}.badge.project{background:var(--accent-light);color:var(--accent)}.badge.reference{background:#f1f3f5;color:#495057}.badge.active{background:var(--green-bg);color:var(--green)}.badge.archived{background:#f1f3f5;color:var(--muted)}.badge.superseded{background:var(--red-bg);color:var(--red)}.tags{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.4rem}.tag{font-size:.72rem;padding:.1rem .4rem;background:#f1f3f5;color:var(--muted);border-radius:3px}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}.page-info{font-size:.85rem;color:var(--muted)}.detail-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}.detail-meta{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:.75rem}.meta-item{font-size:.8rem;color:var(--muted)}.detail-card h2{font-size:1.3rem;margin-bottom:.25rem}.slug-line{font-size:.8rem;color:var(--muted);margin-bottom:1rem}.slug-line code{background:#f1f3f5;padding:.1rem .4rem;border-radius:3px;font-size:.78rem}.detail-body{margin:1rem 0}.body-content{white-space:pre-wrap;word-wrap:break-word;font-family:SF Mono,Menlo,monospace;font-size:.82rem;line-height:1.6;background:#f8f9fa;padding:1rem;border-radius:8px;border:1px solid var(--line);overflow-x:auto}.detail-section{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--line)}.detail-section h4{font-size:.85rem;font-weight:600;color:var(--muted);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.04em}.link-list{display:flex;gap:.4rem;flex-wrap:wrap}.link-item{font-family:SF Mono,Menlo,monospace;font-size:.82rem;color:var(--accent);text-decoration:none}.link-item:hover{text-decoration:underline}.detail-timestamps{display:flex;gap:1.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}.edit-form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}.edit-form .row{display:flex;gap:1rem;flex-wrap:wrap}.edit-form .row .field{flex:1;min-width:140px}.settings-section-title{font-size:1rem;font-weight:600;margin:1.25rem 0 .5rem;padding-top:1rem;border-top:1px solid var(--line)}.settings-section-title:first-of-type{margin-top:0;padding-top:0;border-top:none}.settings-hint{font-size:.82rem;color:var(--muted);margin-bottom:.75rem;line-height:1.5}.field{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:500;color:var(--ink);margin-bottom:.75rem}.field input,.field select,.field textarea{padding:.5rem .65rem;border:1px solid var(--line);border-radius:8px;font-size:.9rem;background:var(--card);font-family:inherit;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);border-color:transparent}.field textarea{resize:vertical;font-family:SF Mono,Menlo,monospace;font-size:.82rem;line-height:1.5}.stack{display:flex;flex-direction:column;gap:.5rem}.row{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}.notice{padding:.65rem 1rem;border-radius:8px;font-size:.85rem;margin-bottom:.75rem}.notice.err{background:var(--red-bg);color:var(--red)}.notice.ok{background:var(--green-bg);color:var(--green)}.notice.info{background:var(--accent-light);color:var(--teal)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--card);border-radius:var(--radius);padding:1.5rem;max-width:440px;width:90vw;box-shadow:0 12px 40px #00000026}.modal h3{margin-bottom:.5rem}.modal p{font-size:.9rem;color:var(--muted);margin-bottom:1rem}.toast-wrap{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.5rem;z-index:200}.toast{padding:.65rem 1rem;border-radius:8px;font-size:.85rem;font-weight:500;box-shadow:0 4px 16px #0000001f;animation:toast-in .2s ease}.toast.ok{background:var(--green-bg);color:var(--green)}.toast.err{background:var(--red-bg);color:var(--red)}.toast.info{background:var(--accent-light);color:var(--teal)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--bg)}.login-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:2.5rem 2rem;max-width:400px;width:100%;text-align:center}.login-brand{font-size:1.3rem;font-weight:700;color:var(--teal);margin-bottom:.5rem;letter-spacing:-.02em}.login-card h1{font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.login-card .lead{font-size:.85rem;color:var(--muted);margin-bottom:1.25rem}.gbtn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.65rem 1rem;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s}.gbtn:hover{background:#f5f5f5}.divider{display:flex;align-items:center;gap:.75rem;margin:1rem 0;font-size:.78rem;color:var(--muted)}.divider:before,.divider:after{content:"";flex:1;border-top:1px solid var(--line)}.pw-wrap{position:relative;display:flex}.pw-wrap input{flex:1;padding-right:2.5rem}.pw-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);padding:.2rem}@media (max-width: 640px){.topbar-inner{flex-wrap:wrap;height:auto;padding:.75rem 0;gap:.5rem}.who{text-align:left;font-size:.75rem}.page-header{flex-direction:column;align-items:flex-start}.filters,.edit-form .row{flex-direction:column}.detail-timestamps{flex-direction:column;gap:.25rem}}.nav-badge{display:inline-block;min-width:1.2em;margin-left:.35rem;padding:0 .35rem;border-radius:999px;background:var(--amber);color:#fff;font-size:.7rem;text-align:center;vertical-align:middle}.review-tabs{display:flex;gap:.25rem;align-items:center;margin-bottom:.75rem;border-bottom:1px solid var(--line)}.review-tab{background:none;border:none;border-bottom:2px solid transparent;padding:.5rem .75rem;cursor:pointer;font-size:.9rem;color:var(--muted)}.review-tab.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.review-tab .count{margin-left:.35rem;padding:0 .4rem;border-radius:999px;background:#f1f3f5;font-size:.75rem}.review-toolbar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.review-note{flex:1;min-width:220px;padding:.4rem .6rem;border:1px solid var(--line);border-radius:6px;font:inherit}.review-list{display:flex;flex-direction:column;gap:1rem}.review-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem}.review-card.focused{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.review-card-head{display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap;margin-bottom:.6rem}.review-title{font-weight:600}.review-card-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.75rem;padding-top:.6rem;border-top:1px solid var(--line)}.review-swap{font-size:.8rem;color:var(--muted);margin-left:.5rem}.review-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 900px){.review-pair{grid-template-columns:1fr}}.review-mem{min-width:0}.review-mem-head{display:flex;gap:.4rem;align-items:center;font-size:.85rem}.review-mem-title{font-weight:600;margin-top:.25rem}.review-mem-hook{color:var(--muted);font-size:.85rem;margin:.15rem 0 .25rem}.review-body{white-space:pre-wrap;font:.78rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;background:#fafbfb;border:1px solid var(--line);border-radius:6px;padding:.5rem .6rem;max-height:18rem;overflow:auto;margin-top:.4rem}.review-diff{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.75rem;font:.75rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.review-diff h4{font:600 .75rem/1.2 system-ui,sans-serif;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3rem}.diff-add{color:var(--green);background:var(--green-bg);padding:0 .3rem;border-radius:3px;margin-bottom:2px}.diff-keep{color:var(--muted);padding:0 .3rem}.review-reason{background:var(--amber-bg);color:var(--amber);border-radius:6px;padding:.5rem .7rem;margin-bottom:.75rem;font-size:.9rem}.review-table{width:100%;border-collapse:collapse;font-size:.85rem}.review-table th,.review-table td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}.review-table th{color:var(--muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}
