:root{--ink:#242624;--muted:#7c807b;--faint:#a0a49e;--line:#e7e8e4;--paper:#f9f9f7;--white:#fff;--tile:#fefefc;--focus:#4a4f47;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);min-height:100vh}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.import-label:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.page-shell{width:min(1100px,calc(100% - 76px));margin:0 auto;min-height:100vh;display:flex;flex-direction:column}
.site-header{height:103px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
.wordmark{background:none;border:0;padding:0;font-size:22px;line-height:1;font-weight:720;letter-spacing:-1.1px;color:var(--ink)}
.period{color:#90968b}.header-right{display:flex;align-items:center;gap:30px}.local-label{font-size:10px;color:var(--faint);letter-spacing:1.5px;font-weight:650}
.button{border:1px solid var(--line);border-radius:7px;padding:11px 17px;font-size:12px;font-weight:650;letter-spacing:.1px;background:#fff;color:var(--ink)}.button.primary{background:#2b2d2a;color:white;border-color:#2b2d2a}.button.primary:hover{background:#41443e}
main{flex:1}.hero{padding-top:77px;margin-bottom:62px}.eyebrow{font-size:10px;letter-spacing:2px;color:#8b8f88;font-weight:650;margin-bottom:22px}
.hero-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.hero h1{margin:0;font-size:clamp(30px,4.2vw,47px);letter-spacing:-2.3px;line-height:1.14;font-weight:550}.subtitle{color:#858983;margin:16px 0 0;font-size:14px;font-weight:400}
.back-button{border:0;background:none;font-size:12px;color:#676c65;padding:11px 0;white-space:nowrap}.back-button:hover{text-decoration:underline}
.search-box{margin-top:43px;display:flex;align-items:center;gap:22px;background:#fff;border:1px solid #e1e3de;border-radius:8px;min-height:66px;padding:0 21px;transition:border-color .15s}.search-box:focus-within{border-color:#8e948b}
.search-prefix{font-size:10px;letter-spacing:1.5px;font-weight:680;color:#858a83}.search-box input{border:0;background:transparent;outline:none;font-size:14px;flex:1;width:0;color:var(--ink);min-height:60px}.search-box input::placeholder{color:#a2a5a0}.search-shortcut{color:#b5b8b2;border:1px solid #eaebe8;border-radius:4px;font-size:12px;padding:3px 7px}
.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.section-heading h2{font-size:15px;font-weight:600;letter-spacing:-.2px;margin:0}.text-action{border:none;background:none;color:#7c807b;font-size:12px;padding:6px 0}.text-action:hover{text-decoration:underline}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.category-tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:32px;text-align:left;background:var(--tile);border:1px solid var(--line);border-radius:9px;padding:24px;min-height:139px;color:var(--ink);transition:border-color .15s,transform .15s}.category-tile:hover{border-color:#b7bdb3;transform:translateY(-1px)}.category-name{font-size:18px;letter-spacing:-.4px;font-weight:530}.category-meta{font-size:11px;color:#9a9e98}.entry-count{font-size:12px;color:var(--muted)}
.entries-list{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.entries-head,.entry-row{display:grid;grid-template-columns:minmax(170px,30%) minmax(200px,48%) minmax(110px,22%);align-items:center}.entries-head{background:#fafbf9;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1.5px;font-weight:670;color:#90958d}.entries-head>div{padding:17px 22px}.entry-row{border-bottom:1px solid var(--line);min-height:86px}.entry-row:last-child{border-bottom:none}.entry-cell{padding:18px 22px;min-width:0}.entry-title{background:none;border:none;padding:0;text-align:left;color:#262925;font-weight:600;font-size:13px;line-height:1.5;letter-spacing:-.05px}.entry-title:hover{text-decoration:underline}.entry-description{color:#777c75;font-size:12px;line-height:1.65;overflow-wrap:anywhere}.entry-link{font-size:12px;color:#585e55;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.entry-link:hover{color:#111}.entry-kind{display:block;color:#a5aaa3;font-size:10px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:5px}.empty-message{border:1px dashed var(--line);border-radius:8px;background:#fff;padding:44px 25px;text-align:center;font-size:13px;line-height:1.8;color:#8a8f87}.search-results{margin-top:15px}
.footer{margin-top:100px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding:28px 0 38px;color:#aaaDA6;font-size:11px}.footer-actions{display:flex;gap:18px}.footer-actions button,.import-label{font-size:11px;color:#8a8e87;background:none;border:none;padding:0;cursor:pointer}.footer-actions button:hover,.import-label:hover{text-decoration:underline}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:min(460px,calc(100% - 40px));padding:13px 18px;background:#272a26;color:white;border-radius:8px;font-size:13px;box-shadow:0 8px 25px #0002;z-index:30;text-align:center}.toast[hidden], [hidden]{display:none!important}
dialog{border:none;border-radius:13px;background:#fff;box-shadow:0 24px 85px #1c201d33;max-width:calc(100vw - 36px)}dialog::backdrop{background:rgba(25,27,24,.42)}.editor-dialog{width:500px;padding:30px}.small-dialog{width:400px}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.dialog-top h2{font-size:22px;letter-spacing:-.6px;margin:0;font-weight:600}.close-button{border:0;background:transparent;font-size:24px;color:#90968e;padding:0 3px}.editor-dialog form>label{display:block;font-size:12px;font-weight:650;color:#555b53;margin:15px 0 8px}.editor-dialog input,.editor-dialog textarea,.editor-dialog select{display:block;width:100%;border:1px solid #dfe2db;border-radius:7px;padding:13px 12px;background:white;color:#30352f;resize:vertical;font-size:13px}.editor-dialog input::placeholder,.editor-dialog textarea::placeholder{color:#a4a9a1}.required{color:#a5aba0}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:24px}.danger-link{background:none;border:0;color:#aa554d;font-size:12px;margin-right:auto}
@media(max-width:750px){.page-shell{width:calc(100% - 36px)}.site-header{height:76px}.local-label{display:none}.hero{padding-top:49px;margin-bottom:46px}.hero h1{font-size:34px;letter-spacing:-1.4px}.subtitle{font-size:13px;line-height:1.6}.search-box{margin-top:34px;min-height:59px;padding:0 15px;gap:14px}.search-box input{min-height:54px;font-size:13px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.category-tile{min-height:130px;padding:17px}.category-name{font-size:16px}.footer{flex-direction:column;align-items:flex-start;gap:18px;margin-top:68px}.hero-heading-row{flex-direction:column;gap:5px}.back-button{order:-1;padding:0 0 13px}.entries-head{display:none}.entry-row{display:flex;flex-direction:column;align-items:stretch;padding:18px 19px;gap:7px}.entry-cell{padding:0}.entry-title{font-size:14px}.entry-description{font-size:12px}.entry-link{font-size:12px}.entry-kind{display:inline;margin:0 8px 0 0}.editor-dialog{padding:23px}}
@media(max-width:390px){.search-prefix,.search-shortcut{display:none}.category-tile{padding:15px;min-height:117px}.category-name{font-size:15px}}


/* Quiet, temporary confirmation; the repository remains unobstructed. */
.toast{background:#555953;border:1px solid #777b74;color:#fff;bottom:calc(24px + env(safe-area-inset-bottom));border-radius:999px;font-size:12px;letter-spacing:.1px;padding:10px 16px;box-shadow:0 5px 22px #0002;width:max-content;max-width:calc(100% - 40px)}

.entry-personal-note{font-size:12px;color:#50584d;margin-top:6px;white-space:pre-wrap}

/* v1.5: open a saved item with one tap; edit its metadata as a separate action. */
.entry-title{display:inline-block;text-decoration:none;overflow-wrap:anywhere;cursor:pointer}
.entry-title:hover{text-decoration:underline}
.entry-title:focus-visible,.entry-link:focus-visible,.entry-edit:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}
.entry-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px 16px}
.entry-edit{border:1px solid var(--line);border-radius:6px;background:#fff;color:#686d66;padding:7px 9px;font-size:11px;line-height:1.25;white-space:nowrap}
.entry-edit:hover{background:#f4f5f2;border-color:#bdc1b9;color:#252925}
@media(max-width:750px){.entry-actions{margin-top:7px;gap:12px 18px}.entry-edit{padding:9px 11px;font-size:12px}}
