
:root{color-scheme:light;--bg:#f8f6f1;--surface:#fffdf9;--surface-raised:#f0ebe2;--text:#393c36;--muted:#686b62;--subtle:#78786f;--amber:#855c3b;--ink:#fffdf9;--line:#dedfd5;--error:#aa4539;--serif:"Songti SC","STSong","Noto Serif CJK SC",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 var(--sans)}button,input,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;transition:background .18s,color .18s}button:active{opacity:.8}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--amber);outline-offset:4px}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.page{max-width:640px;margin:auto;padding:48px 32px 0}.site-header{display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:9px;font-size:23px;font-weight:500;letter-spacing:2px;text-decoration:none;color:var(--text)}.brand-dot{width:6px;height:6px;border-radius:50%;background:#bb9168}.write-button{display:flex;align-items:center;gap:5px;min-height:44px;padding:8px 14px;background:transparent;border:1px solid var(--line);border-radius:24px;font-size:13px;color:var(--muted)}.write-button svg{width:16px;height:16px}.write-button:hover{background:var(--surface-raised)}.intro{padding:53px 0 39px}h1{font:400 30px/1.5 var(--serif);letter-spacing:1px;margin:0}h2,h3,p{margin-top:0}.section-label{font-size:12px;letter-spacing:1px;font-weight:400;color:var(--muted);margin:0 0 15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.records{display:grid;gap:24px}.record{display:block;width:100%;padding:0;background:transparent;border:0;text-align:left;border-radius:9px;overflow:hidden}.record:hover .record-image{opacity:.9}.record-image{width:100%;height:280px;object-fit:cover;display:block;border-radius:9px;background:#efede4}.record-body{padding:17px 0 0}.record-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;color:var(--subtle);letter-spacing:.3px}.sample-badge{font-size:10px;border:1px solid var(--line);padding:0 5px;border-radius:3px}.record h3{font-weight:400;font-size:20px;letter-spacing:.5px;margin:8px 0 5px;overflow-wrap:anywhere}.record-note{font-size:13px;color:var(--muted);line-height:1.8;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shelf{margin-top:36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.shelf-grid{display:grid;grid-template-columns:1fr 1fr}.shelf-item{display:flex;align-items:center;gap:10px;padding:21px 14px 21px 0;min-height:68px;text-align:left;background:transparent;border:0;font-size:14px}.shelf-item+ .shelf-item{padding-left:25px}.shelf-item:hover{background:var(--surface-raised)}.shelf-icon{color:var(--muted)}.shelf-icon svg{width:19px;height:19px}.shelf-copy{flex:1}.shelf-copy strong{font-size:14px;font-weight:400;letter-spacing:1px}.shelf-arrow{width:16px;height:16px;color:var(--subtle)}footer{font-size:10px;color:var(--subtle);text-align:center;padding:32px 0 max(30px,env(safe-area-inset-bottom))}.eyebrow{font-size:11px;color:var(--muted);letter-spacing:1px;margin:0}.primary-button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:48px;border:0;border-radius:7px;background:var(--amber);color:var(--ink);padding:11px 22px;font-size:14px;font-weight:500}.primary-button:hover{background:#704a2e}.primary-button svg{width:18px;height:18px}
dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:16px;padding:30px;width:min(480px,calc(100% - 28px));max-height:90dvh;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#100c09bf;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-heading .eyebrow{margin-bottom:6px}.dialog-heading h2,dialog>h2{font-family:var(--serif);font-weight:400;font-size:28px;letter-spacing:2px;margin-bottom:0}.icon-button{border:0;background:transparent;color:var(--muted);width:44px;height:44px;display:grid;place-items:center;border-radius:50%}.icon-button:hover{background:var(--surface-raised)}.dialog-note{color:var(--muted);font-size:13px;margin:15px 0 20px}.photo-picker{width:100%;height:170px;border:1px dashed #96775a;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;background:var(--bg);margin:0!important}.photo-picker img{width:100%;height:100%;object-fit:cover}.photo-picker>span{display:flex;align-items:center;flex-direction:column;gap:8px;font-size:13px;color:var(--muted)}.photo-picker small{font-size:11px;color:var(--subtle)}#photo{font-size:12px;width:100%;margin:10px 0;color:var(--muted)}#photo::file-selector-button{background:var(--surface-raised);border:1px solid var(--line);border-radius:4px;color:var(--text);min-height:44px;padding:6px 12px;margin-right:12px;cursor:pointer}label:not(.photo-picker){display:block;font-size:13px;margin:18px 0 8px}label>span{color:var(--subtle);font-size:11px;margin-left:5px}input:not([type=file]),textarea{width:100%;background:var(--bg);color:var(--text);border:1px solid #785d45;border-radius:6px;padding:11px 12px;font-size:16px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--subtle)}.field-help,.privacy-note{font-size:11px;color:var(--subtle);margin:0}.privacy-note{text-align:center;margin-top:12px}.error{color:var(--error);font-size:12px;margin:8px 0}.error:empty{display:none}.save-button{width:100%;margin-top:19px;justify-content:space-between}.detail-image{width:100%;max-height:260px;object-fit:cover;border-radius:8px;margin:20px 0}.detail-title{font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:1px;margin:18px 0 12px;overflow-wrap:anywhere}.detail-note{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-size:14px}.ingredients{padding:0;list-style:none;margin:22px 0}.ingredients li{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}.recipe-instructions{font-size:14px;color:var(--muted);line-height:1.9}.recipe-note{border-left:2px solid var(--amber);padding:9px 16px;background:var(--bg);font-size:13px;color:var(--muted)}.delete-button{display:block;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--muted);padding:10px 15px;min-height:44px;margin-top:25px}.delete-actions{display:flex;gap:12px;margin-top:24px}.secondary-button{min-height:48px;border:1px solid #977858;border-radius:6px;background:transparent;padding:10px 18px;flex:1}.delete-actions .primary-button{flex:1}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,15px);padding:12px 20px;background:var(--text);color:var(--ink);font-size:13px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:5;max-width:calc(100% - 40px);text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}

/* Light, quiet surfaces also inside the editing panels. */
dialog{box-shadow:0 15px 80px #38382b20;border-color:var(--line)}dialog::backdrop{background:#34383145;backdrop-filter:blur(3px)}.photo-picker{border-color:#a6ab9a;background:#f3f3eb}.photo-picker>span{gap:6px}.photo-picker small{display:none}input:not([type=file]),textarea{border-color:#b8bcad;background:var(--surface)}.delete-button,.secondary-button{border-color:#b8bcad}.ingredients li{border-color:var(--line)}.recipe-note{background:var(--surface-raised)}#toast{background:var(--text);color:var(--bg)}
@media(max-width:600px){.page{padding:28px 24px 0}.brand{font-size:21px}.intro{padding:40px 0 31px}h1{font-size:27px}.record-image{height:220px}.record h3{font-size:19px}.record-body{padding-top:15px}.shelf{margin-top:29px}.shelf-item{padding-top:19px;padding-bottom:19px}dialog{padding:23px}.dialog-heading h2{font-size:25px}.photo-picker{height:145px}.primary-button{min-height:46px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
[hidden]{display:none!important}
