@import "https://api.fontshare.com/v2/css?f[]=satoshi@400,500,600,700&display=swap";@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap";:root{--radius:.5rem;--background:#dfe5d7;--foreground:#0d120b;--card:#eef2e9;--card-foreground:#0d120b;--primary:#2c3229;--primary-foreground:#dfe5d7;--secondary:#c2c8bc;--secondary-foreground:#0d120b;--muted:#c2c8bc;--muted-foreground:#5a6056;--accent:#2c3229;--accent-foreground:#dfe5d7;--border:#a7ada1;--input:#a7ada1;--ring:#2c3229;--destructive:#b03a24;--destructive-foreground:#fff;--sidebar:#171d15;--sidebar-foreground:#dfe5d7;--sidebar-border:#42493f}[data-theme=dark]{--background:#0d120b;--foreground:#dfe5d7;--card:#171d15;--card-foreground:#dfe5d7;--primary:#a7ada1;--primary-foreground:#0d120b;--secondary:#2c3229;--secondary-foreground:#dfe5d7;--muted:#2c3229;--muted-foreground:#8c9387;--accent:#a7ada1;--accent-foreground:#0d120b;--border:#42493f;--input:#42493f;--ring:#a7ada1;--destructive:#e0715a;--destructive-foreground:#fff}*,:before,:after{box-sizing:border-box}body{background:var(--background);min-height:100vh;color:var(--foreground);-webkit-font-smoothing:antialiased;margin:0;font-family:Satoshi,system-ui,sans-serif;font-size:15px;line-height:1.5;transition:background .2s,color .2s}h1,h2,h3{font-family:Instrument Serif,Georgia,serif;font-weight:400}#app{max-width:860px;margin:0 auto;padding:40px 24px 80px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:32px;display:flex}.topbar-actions{align-items:center;gap:10px;display:flex}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);margin:0 0 4px;font-size:11px;font-weight:600}h1.title{letter-spacing:-.02em;margin:0 0 6px;font-family:Instrument Serif,Georgia,serif;font-size:30px}.theme-toggle{color:var(--muted-foreground);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-family:Satoshi,sans-serif;font-size:13px;font-weight:500;transition:background .15s;display:flex}.theme-toggle:hover{background:var(--muted)}.link-btn{color:var(--muted-foreground);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-family:Satoshi,sans-serif;font-size:13px;text-decoration:underline}.link-btn:hover{color:var(--foreground)}button{cursor:pointer;background:0 0;border:none;padding:0;font-family:Satoshi,sans-serif;font-size:14px;font-weight:500;transition:opacity .15s,background .15s}button:disabled{opacity:.4;cursor:default;pointer-events:none}.btn-primary{background:var(--foreground);color:var(--background);border-radius:calc(var(--radius) + 2px);border:1.5px solid var(--foreground);align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;display:inline-flex}.btn-primary:hover{opacity:.88}.btn-outline{color:var(--foreground);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:0 0;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;display:inline-flex}.btn-outline:hover{background:var(--muted)}.btn-ghost{color:var(--foreground);border-radius:var(--radius);background:0 0;border:none;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.btn-ghost:hover{background:var(--muted)}.btn-icon{border-radius:var(--radius);width:32px;height:32px;color:var(--muted-foreground);background:0 0;border:none;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.btn-icon:hover{background:var(--muted);color:var(--foreground)}.btn-icon-danger:hover{background:color-mix(in srgb, var(--destructive) 12%, transparent);color:var(--destructive)}button.secondary{color:var(--foreground);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:0 0;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;display:inline-flex}button.secondary:hover{background:var(--muted)}button.danger{background:var(--destructive);color:var(--destructive-foreground);border-radius:var(--radius);border:none;padding:8px 16px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.page-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.search-wrap{align-items:center;margin-bottom:16px;display:flex;position:relative}.search-icon{width:16px;height:16px;color:var(--muted-foreground);pointer-events:none;position:absolute;left:12px}.search-input{border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:var(--card);width:100%;color:var(--foreground);padding:9px 80px 9px 36px;font-family:Satoshi,sans-serif;font-size:14px;transition:border-color .15s,box-shadow .15s}.search-input::placeholder{color:var(--muted-foreground)}.search-input:focus{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 15%, transparent);outline:none}.search-clear{font-size:12px;position:absolute;right:12px}.file-card{border:1px solid var(--border);border-radius:calc(var(--radius) * 2);overflow:hidden}.file-list{margin:0;padding:0;list-style:none}.file-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;transition:background .1s;display:flex;position:relative}.file-row:last-child{border-bottom:none}.file-row:hover{background:color-mix(in srgb, var(--muted) 50%, transparent)}.file-row-icon{text-align:center;width:20px;color:var(--muted-foreground);flex-shrink:0;font-size:18px}.file-row-body{flex:1;min-width:0}.file-row-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.file-row-path{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;overflow:hidden}.file-row-actions{opacity:0;flex-shrink:0;align-items:center;gap:2px;transition:opacity .15s;display:flex}.file-row:hover .file-row-actions{opacity:1}.rename-input-wrap{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.rename-input{border:1.5px solid var(--ring);border-radius:var(--radius);background:var(--card);color:var(--foreground);flex:1;padding:5px 10px;font-family:Satoshi,sans-serif;font-size:14px}.rename-input:focus{outline:none}.delete-confirm-wrap{flex-shrink:0;align-items:center;gap:8px;font-size:13px;display:flex}.delete-confirm-wrap span{color:var(--destructive)}.empty{text-align:center;color:var(--muted-foreground);padding:56px 16px;font-size:14px}.banner{border-radius:var(--radius);border:1px solid;margin-bottom:16px;padding:12px 16px;font-size:13px;line-height:1.55}.banner.error{background:color-mix(in srgb, var(--destructive) 10%, var(--background));color:var(--destructive);border-color:color-mix(in srgb, var(--destructive) 30%, transparent)}.banner.ok{background:color-mix(in srgb, var(--ring) 10%, var(--background));color:var(--ring);border-color:color-mix(in srgb, var(--ring) 30%, transparent)}.banner.warn{background:color-mix(in srgb, #c8a000 10%, var(--background));color:#7a5c00;border-color:#c8a0004d}[data-theme=dark] .banner.warn{color:#c8a84b}.spinner{border:2px solid var(--border);border-top-color:var(--foreground);vertical-align:-2px;border-radius:50%;width:13px;height:13px;margin-right:8px;animation:.65s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.dialog-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog-box{background:var(--background);border:1px solid var(--border);border-radius:calc(var(--radius) * 2);width:100%;max-width:400px;padding:24px;box-shadow:0 8px 32px #0000002e}.dialog-title{margin:0 0 16px;font-family:Instrument Serif,Georgia,serif;font-size:20px}.dialog-footer{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.actions-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;display:flex}.card{background:var(--card);border:1px solid var(--border);border-radius:calc(var(--radius) * 2);padding:28px}label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);margin:18px 0 6px;font-size:11px;font-weight:700;display:block}label:first-child{margin-top:0}input[type=text],input[type=password],textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:100%;color:var(--foreground);padding:9px 13px;font-family:Satoshi,sans-serif;font-size:14px;transition:border-color .15s,box-shadow .15s}input[type=text]::placeholder,input[type=password]::placeholder,textarea::placeholder{color:var(--muted-foreground)}input:focus,textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 15%, transparent);outline:none}textarea{resize:vertical;line-height:1.6}.row{gap:14px;display:flex}.row>div{flex:1}.hint{color:var(--muted-foreground);margin-top:6px;font-size:12px;line-height:1.6}.remember-row{color:var(--muted-foreground);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin-top:16px;font-size:13px;display:flex}.remember-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--ring);cursor:pointer}.oauth-divider{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:10px;margin:18px 0;font-size:11px;display:flex}.oauth-divider:before,.oauth-divider:after{content:"";background:var(--border);flex:1;height:1px}.btn-github{background:var(--foreground);width:100%;color:var(--background);border-radius:calc(var(--radius) + 2px);border:none;justify-content:center;align-items:center;gap:9px;margin-top:16px;padding:10px 18px;font-size:14px;font-weight:500;display:flex}.btn-github:hover{opacity:.88}.editor-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.filename-edit{color:var(--foreground);background:0 0;border:none;width:auto;padding:2px 4px;font-family:Instrument Serif,Georgia,serif;font-size:26px;font-weight:400}.filename-edit:focus{outline:1px dashed var(--border);border-radius:4px}.meta-panel{background:var(--card);border:1px solid var(--border);border-radius:calc(var(--radius) * 2);margin-bottom:16px;padding:20px 22px}.meta-panel-title{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);margin:0 0 16px;font-size:10px;font-weight:700}.meta-grid{grid-template-columns:1fr 1fr;gap:10px 18px;display:grid}.meta-field label{letter-spacing:.07em;text-transform:uppercase;color:var(--muted-foreground);margin:0 0 4px;font-size:10px;font-weight:700}.meta-field input[type=text]{padding:7px 10px;font-size:13px}.meta-readonly{color:var(--muted-foreground);font-variant-numeric:tabular-nums;padding:8px 0;font-size:12px}.fields-card{background:var(--card);border:1px solid var(--border);border-radius:calc(var(--radius) * 2);margin-bottom:16px;padding:20px 22px}.fields-grid{grid-template-columns:1fr 1fr;gap:10px 18px;margin-bottom:12px;display:grid}.save-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.commit-msg{width:260px}footer.note{color:var(--muted-foreground);margin-top:28px;font-size:12px;line-height:1.65}.breadcrumb{flex-wrap:wrap;align-items:center;gap:2px;font-size:13px;display:flex}.breadcrumb-sep{color:var(--muted-foreground);padding:0 2px}.breadcrumb-btn{border-radius:var(--radius);color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-family:Satoshi,sans-serif;font-size:13px;transition:background .12s,color .12s}.breadcrumb-btn:hover{background:var(--muted);color:var(--foreground)}.breadcrumb-btn.active{color:var(--foreground);font-weight:600}button.icon{color:var(--foreground);border:1.5px solid var(--border);border-radius:calc(var(--radius) - 4px);cursor:pointer;background:0 0;padding:6px 11px;font-size:14px;line-height:1}button.icon:hover{background:var(--muted);opacity:1}button.icon.active{background:var(--secondary);border-color:var(--accent);color:var(--foreground)}.toolbar{border:1.5px solid var(--border);background:var(--muted);border-radius:var(--radius) var(--radius) 0 0;border-bottom:none;flex-wrap:wrap;align-items:center;gap:5px;padding:10px 12px;display:flex}.toolbar .sep{background:var(--border);align-self:stretch;width:1px;margin:2px 5px}.editor-surface{border:1.5px solid var(--border);border-radius:0 0 var(--radius) var(--radius);background:var(--card);cursor:text;min-height:420px;font-family:Satoshi,system-ui,sans-serif;font-size:15.5px;line-height:1.75}.editor-surface .ProseMirror{outline:none;min-height:420px;padding:36px 44px}.editor-surface .ProseMirror h1{margin:.6em 0 .3em;font-family:Instrument Serif,Georgia,serif;font-size:30px;font-weight:400}.editor-surface .ProseMirror h2{margin:.6em 0 .3em;font-family:Instrument Serif,Georgia,serif;font-size:23px;font-weight:400}.editor-surface .ProseMirror h3{margin:.6em 0 .3em;font-size:17px;font-weight:700}.editor-surface .ProseMirror p{margin:0 0 .85em}.editor-surface .ProseMirror ul,.editor-surface .ProseMirror ol{margin:0 0 .85em;padding-left:1.5em}.editor-surface .ProseMirror table{border-collapse:collapse;width:100%;margin:0 0 1em;font-size:14px}.editor-surface .ProseMirror td,.editor-surface .ProseMirror th{border:1px solid var(--border);vertical-align:top;min-width:60px;padding:7px 10px}.editor-surface .ProseMirror th{background:var(--muted);font-weight:600}.editor-surface .ProseMirror .selectedCell{background:var(--secondary)}
