@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500&display=swap");:root{--bg:#15161b;--panel:#1c1e25;--panel-2:#23252e;--border:#2e3039;--text:#eae8e1;--text-muted:#8c8d97;--accent:#82b8a6;--accent-strong:#a2ceba;--danger:#c1707a;--danger-strong:#d68a92;--radius:10px}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg);background-image:radial-gradient(circle at 15% 0,#1a2a26 0,transparent 45%);color:var(--text);font-family:IBM Plex Sans,system-ui,sans-serif;min-height:100vh}button{font-family:inherit}a{color:var(--accent)}::selection{background:var(--accent);color:#0f1310}.login-screen{min-height:100vh;justify-content:center;padding:24px}.login-card,.login-screen{display:flex;align-items:center}.login-card{width:100%;max-width:340px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:36px 28px;flex-direction:column;text-align:center}.login-mark{font-weight:600;font-size:13px;letter-spacing:.14em;color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:6px 10px;margin-bottom:18px}.login-card h1,.login-mark{font-family:IBM Plex Mono,monospace}.login-card h1{font-weight:500;font-size:22px;margin:0 0 6px;letter-spacing:-.01em}.login-sub{color:var(--text-muted);font-size:13.5px;margin:0 0 22px}.login-card input{width:100%;background:var(--panel-2);border:1px solid var(--border);border-radius:7px;padding:11px 13px;color:var(--text);font-size:14px;outline:none;margin-bottom:14px}.login-card input:focus{border-color:var(--accent)}.login-error{color:var(--danger-strong);font-size:13px;margin:-6px 0 14px}.login-card button{width:100%;background:var(--accent);color:#0f1310;border:none;border-radius:7px;padding:11px 13px;font-weight:600;font-size:14px;cursor:pointer}.login-card button:hover{background:var(--accent-strong)}.login-card button:disabled{opacity:.6;cursor:default}.wrap{max-width:720px;margin:0 auto;padding:32px 20px 80px}.topbar{justify-content:space-between;margin-bottom:28px}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px}.brand-mark{font-weight:600;font-size:12px;letter-spacing:.1em;color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:4px 7px}.brand-mark,.brand-name{font-family:IBM Plex Mono,monospace}.brand-name{font-size:15px;color:var(--text)}.ghost-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:7px;padding:7px 13px;font-size:13px;cursor:pointer}.ghost-btn:hover{border-color:var(--accent);color:var(--accent)}.dropzone{background:var(--panel);border:1px dashed var(--border);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:12px;margin-bottom:34px;transition:border-color .15s ease,background .15s ease}.dropzone.drag{border-color:var(--accent);background:#1e2620}.title-input{background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);font-family:IBM Plex Mono,monospace;font-size:14px;padding:6px 2px 10px;outline:none}.title-input::placeholder{color:var(--text-muted)}.title-input:focus{border-color:var(--accent)}.dropzone textarea{background:var(--panel-2);border:1px solid var(--border);border-radius:7px;color:var(--text);font-family:IBM Plex Mono,monospace;font-size:13.5px;line-height:1.55;padding:12px 13px;resize:vertical;outline:none}.dropzone textarea:focus{border-color:var(--accent)}.file-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.file-btn{flex:1 1;min-width:180px;border:1px solid var(--border);border-radius:7px;padding:10px 13px;font-size:13px;color:var(--text-muted);cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-btn:hover{border-color:var(--accent);color:var(--text)}.clear-file{background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:7px;width:34px;height:34px;cursor:pointer}.submit-btn{background:var(--accent);color:#0f1310;border:none;border-radius:7px;padding:10px 18px;font-weight:600;font-size:13.5px;cursor:pointer;white-space:nowrap}.submit-btn:hover{background:var(--accent-strong)}.submit-btn:disabled{opacity:.6;cursor:default}.form-error{color:var(--danger-strong);font-size:13px;margin:0}.entries{display:flex;flex-direction:column;gap:14px}.empty-state{color:var(--text-muted);font-size:13.5px;text-align:center;padding:40px 0}.entry-card{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 16px 46px}.entry-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.entry-tag{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.06em;color:var(--accent);background:#1c2621;border:1px solid #2c3b34;border-radius:5px;padding:3px 7px}.entry-date{font-size:12px;color:var(--text-muted)}.entry-card h3{margin:0 0 8px;font-size:15px;font-weight:500}.entry-text-wrap{position:relative;margin-bottom:10px}.entry-text{background:var(--panel-2);border:1px solid var(--border);border-radius:7px;padding:12px 13px;font-family:IBM Plex Mono,monospace;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow-y:auto;margin:0}.mini-btn{position:absolute;top:8px;right:8px;background:var(--panel);border:1px solid var(--border);color:var(--text-muted);border-radius:5px;font-size:11px;padding:3px 8px;cursor:pointer}.mini-btn:hover{color:var(--accent);border-color:var(--accent)}.file-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--panel-2);border:1px solid var(--border);border-radius:7px;padding:10px 13px;text-decoration:none;color:var(--text);font-size:13px}.file-chip:hover{border-color:var(--accent)}.file-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-chip-size{color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:11.5px;flex-shrink:0}.delete-btn{position:absolute;bottom:14px;right:16px;background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:6px;padding:5px 11px;font-size:12px;cursor:pointer}.delete-btn:hover{color:var(--danger-strong);border-color:var(--danger-strong)}@media (max-width:480px){.wrap{padding:22px 14px 60px}.entry-card{padding:14px 14px 44px}}