body[data-view="ledger"] .intro{display:none}#ledger{max-width:1000px;margin:auto}.ledger-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:20px;align-items:start}.ledger-layout .surface-content{min-width:0}.ledger-toolbar,.ledger-side-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.ledger-side-heading h2{margin:0}.ledger-side-heading>span,.ledger-local{font-size:13px;color:var(--muted)}.ledger-local{line-height:1.7;margin:18px 0 0}#ledger-message:empty{display:none}#ledger-message{padding:12px 18px;border-radius:16px;background:var(--glass);color:var(--text);overflow-wrap:anywhere}.ledger-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:14px;background:#ffffff40;color:var(--text);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer}.ledger-button.primary{background:#476e55;color:#fff;border-color:transparent}.ledger-button.danger{color:#913b32}.ledger-tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.ledger-total{margin:26px 0 20px;display:flex;flex-direction:column;gap:6px}.ledger-total>span,.ledger-metrics span{font-size:14px;color:var(--muted)}.ledger-total>strong{font:400 40px/1.3 var(--font-number);font-variant-numeric:tabular-nums}.ledger-metrics{display:grid;grid-template-columns:1fr 1fr;padding-bottom:24px;border-bottom:1px solid var(--line);gap:20px}.ledger-metrics>div{display:flex;flex-direction:column;gap:5px}.ledger-metrics strong{font:400 24px/1.4 var(--font-number);font-variant-numeric:tabular-nums}.ledger-filters{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:10px;margin:24px 0 10px}#ledger input:not([type="checkbox"]),#ledger select{width:100%;min-width:0;border:1px solid var(--line);border-radius:12px;background:#ffffff70;color:var(--text);padding:11px 12px;min-height:48px;font-size:16px;box-sizing:border-box}#ledger input[type="month"]{max-width:185px}#ledger input[type="checkbox"]{width:20px;height:20px;accent-color:#476e55}#ledger button:focus-visible,#ledger a:focus-visible,#ledger input:focus-visible,#ledger select:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.ledger-day-head{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);padding:24px 0 8px}.ledger-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:16px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--text);cursor:pointer}.ledger-row-icon{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:12px;background:#73958420;font-size:21px}.ledger-row-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ledger-row-copy strong{font-size:15px;font-weight:500;overflow-wrap:anywhere}.ledger-row-copy small{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.ledger-row-amount{font:500 19px var(--font-number);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.ledger-category-bar{position:relative;display:grid;grid-template-columns:1fr auto;gap:14px;width:100%;padding:18px 0 12px;margin-top:8px;color:var(--text);border:0;background:none;font-size:14px;text-align:left;cursor:pointer}.ledger-category-bar strong{font-family:var(--font-number);font-weight:400;font-variant-numeric:tabular-nums}.ledger-category-bar i{grid-column:1/-1;height:5px;border-radius:5px;background:linear-gradient(to right,#6b9279 var(--progress),#75947c20 var(--progress))}.ledger-pending{width:100%;display:flex;justify-content:space-between;gap:12px;padding:18px 14px;border-radius:16px;border:1px solid var(--line);background:#c8d9a930;color:var(--text);margin-top:24px;font-size:14px;cursor:pointer}.ledger-budget{margin-top:24px}.ledger-budget label{font-size:14px}.ledger-budget form>div{display:flex;gap:8px;margin:10px 0}.ledger-budget small{font-size:13px;color:var(--muted)}.ledger-budget button{flex-shrink:0}.ledger-type-tabs{display:flex;gap:8px;margin-bottom:24px}.ledger-type-tabs button{flex:1;min-height:44px;border:1px solid var(--line);border-radius:14px;background:transparent;color:var(--text);font-size:15px}.ledger-type-tabs button[aria-pressed="true"]{background:#476e55;color:#fff;border-color:transparent}.ledger-aa{margin:24px 0;padding:18px;border-radius:18px;background:#ffffff25;border:1px solid var(--line)}.ledger-check{display:flex;align-items:center;gap:10px}.ledger-aa .record-fields{margin-top:16px}.ledger-aa [hidden]{display:none!important}.ledger-more{margin-top:24px}.ledger-more summary{cursor:pointer;padding:8px 0;font-size:14px}.ledger-more .record-fields{margin-top:14px}.ledger-template{display:flex;justify-content:space-between;gap:16px;width:100%;padding:16px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;font-size:15px}.ledger-detail-amount,.ledger-account-total{font:400 36px/1.4 var(--font-number);font-variant-numeric:tabular-nums;margin:20px 0}.ledger-detail{display:grid;gap:18px}.ledger-detail>div{display:flex;justify-content:space-between;gap:20px;font-size:14px}.ledger-detail dt{color:var(--muted);flex-shrink:0}.ledger-detail dd{margin:0;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.ledger-account{display:flex;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.ledger-account>span{min-width:0;overflow-wrap:anywhere}.ledger-account small{display:block;font-size:13px;color:var(--muted);margin-top:5px}.ledger-account strong{font:400 22px var(--font-number);white-space:nowrap}.ledger-layout form>.primary{margin-top:22px}#ledger button:disabled,#ledger input:disabled,#ledger select:disabled{opacity:.65;cursor:default}body:not(.light) #ledger input,body:not(.light) #ledger select{background:#172329;border-color:#82968f;color:var(--text)}body:not(.light) .ledger-button{background:#243338}body:not(.light) .ledger-button.primary,body:not(.light) .ledger-type-tabs button[aria-pressed="true"]{background:#a6d6ba;color:#15261d}body:not(.light) .ledger-button.danger{color:#ffb4a9}body:not(.light) .ledger-aa{background:#17232966}@media(max-width:800px){.ledger-layout{grid-template-columns:minmax(0,1fr)}#ledger[data-screen="overview"] .ledger-side{order:2}}@media(max-width:450px){.ledger-row-icon{display:none}.ledger-row-amount{font-size:18px}.ledger-total>strong{font-size:36px}.ledger-metrics strong{font-size:22px}.ledger-filters{grid-template-columns:minmax(0,1fr) 100px}.ledger-toolbar{gap:8px}.ledger-detail-amount{font-size:32px}.ledger-account strong{font-size:19px}}
body[data-view="ledger"] .intro.date-intro{display:none!important}#ledger .ledger-button{white-space:nowrap;flex-shrink:0}#ledger .ledger-toolbar input[type="month"]{flex:1;width:0;max-width:185px;padding:10px 8px}#ledger .record-field{align-items:stretch;text-align:left;justify-content:flex-start;margin:0;color:var(--text)}#ledger .record-field>span{color:var(--text);opacity:1}#ledger .ledger-filters{grid-template-columns:1fr}#ledger .ledger-detail-amount,#ledger .ledger-account-total{overflow-wrap:anywhere}#ledger .ledger-account{flex-wrap:wrap}
@media(min-width:360px){#ledger .ledger-filters{grid-template-columns:1fr 1fr}#ledger #ledger-search{grid-column:1/-1}#ledger #ledger-category{grid-column:1/-1}}.ledger-row-icon .illustrated-icon{width:26px;height:26px}.ledger-layout .ledger-row-icon{background:transparent}
.aa-members,.aa-detail{margin-top:20px}.aa-member{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end;border-bottom:1px solid var(--line);padding:18px 0}.aa-members>.ledger-button{margin-top:14px}.aa-person{padding:18px 0;border-bottom:1px solid var(--line)}.aa-person>div{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;font-size:13px;color:var(--muted)}.aa-person b{font-size:15px;color:var(--text)}.extra-heading{margin-top:28px!important}.import-item{padding:24px 0;border-bottom:1px solid var(--line)}.import-item>.record-fields{margin-top:18px}.import-warning{padding:12px;border-radius:12px;background:#dfb46725;color:var(--text);font-size:14px;line-height:1.6}.recognition-actions{margin-top:0}.recognition-actions label{margin:0!important;display:flex!important}#ledger textarea{width:100%;min-width:0;font:16px/1.7 var(--font-ui);background:#ffffff70;color:var(--text);border:1px solid var(--line);padding:12px;border-radius:12px;resize:vertical}#parse-text{margin-top:16px}#receipt-preview{width:100%;height:auto;max-height:650px;object-fit:contain;border-radius:14px}body:not(.light) #ledger textarea{background:#172329;border-color:#82968f}.ledger-button[hidden],#receipt-preview[hidden]{display:none!important}@media(max-width:600px){.aa-member{grid-template-columns:minmax(0,1fr)}.aa-member .ledger-button{justify-self:end}.aa-members .ledger-side-heading{flex-wrap:wrap}.recognition-actions{gap:8px}}
/* Compact ledger: calm surfaces, aligned figures, dense transaction rows. */
#ledger{max-width:1000px;font-size:14px}
#ledger .record-page-heading{margin:16px 0;gap:10px}
#ledger .record-page-heading h1{font-size:20px}
#ledger .record-title-icon .illustrated-icon{width:28px;height:28px}
#ledger .ledger-layout{gap:14px;grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr)}
#ledger .ledger-panel{min-width:0;padding:18px;border:1px solid #ffffff70;border-radius:18px;background:rgba(255,255,255,.76);backdrop-filter:blur(22px);box-shadow:0 5px 20px #263e3010}
body:not(.light) #ledger .ledger-panel{background:rgba(25,39,39,.86);border-color:#ffffff24}
#ledger .ledger-panel h2{font-size:14px;line-height:1.5;margin:0 0 14px;font-weight:600}
#ledger .ledger-side-heading h2{margin:0}
#ledger .ledger-toolbar input[type="month"]{flex:0 0 142px;width:142px;max-width:142px;min-height:38px;padding:6px 9px;font-size:14px;border-radius:10px}
#ledger .ledger-button{min-height:38px;padding:8px 12px;border-radius:10px;font-size:13px}
#ledger .ledger-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px;margin:20px 0 16px;padding-bottom:18px;border-bottom:1px solid var(--line);align-items:start}
#ledger .ledger-total{margin:0;gap:6px;min-width:0}
#ledger .ledger-metrics{padding:0;border:0;gap:12px;min-width:0}
#ledger .ledger-metrics>div{min-width:0;gap:6px}
#ledger .ledger-total>span,#ledger .ledger-metrics span{font-size:12px;line-height:1.5}
#ledger .ledger-total>strong,#ledger .ledger-metrics strong{font:500 clamp(17px,2.3vw,24px)/1.35 var(--font-number);font-variant-numeric:tabular-nums;letter-spacing:-.4px;overflow-wrap:anywhere}
#ledger .ledger-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 6px}
#ledger #ledger-search{grid-column:1/-1}
#ledger #ledger-category{grid-column:auto}
#ledger .ledger-filters :is(input,select){min-height:38px;font-size:13px;padding:7px 8px;border-radius:9px}
#ledger .ledger-day-head{font-size:12px;padding:16px 0 6px}
#ledger .ledger-row{padding:11px 0;gap:9px;min-height:60px}
#ledger .ledger-row-copy{gap:3px}
#ledger .ledger-row-copy strong{font-size:14px;line-height:1.4}
#ledger .ledger-row-copy small{font-size:12px;line-height:1.4}
#ledger .ledger-row-amount{font-size:17px}
#ledger .ledger-row-icon{width:28px;height:28px}
#ledger .ledger-row-icon .illustrated-icon{width:24px;height:24px}
#ledger .ledger-tools{gap:8px;margin-top:14px}
#ledger .ledger-side-heading>span,#ledger .ledger-local{font-size:12px}
#ledger .record-empty{font-size:13px;padding:18px 0;margin:0}
#ledger .ledger-category-bar{padding:10px 0 8px;margin-top:4px;gap:8px;font-size:13px}
#ledger .ledger-category-bar i{height:3px}
#ledger .ledger-budget{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
#ledger .ledger-budget label{font-size:13px}
#ledger .ledger-budget input{min-height:38px;padding:7px 10px}
#ledger .ledger-pending{margin-top:14px;padding:12px;font-size:13px;border-radius:10px}
#ledger .record-fields{gap:14px 12px}
#ledger .record-field{font-size:13px;gap:6px}
#ledger .record-field :is(input,select){min-height:42px;padding:8px 10px;border-radius:9px}
#ledger .ledger-type-tabs{gap:6px;margin-bottom:16px}
#ledger .ledger-type-tabs button{min-height:38px;border-radius:10px;font-size:13px}
#ledger .ledger-aa{margin:16px 0;padding:12px;border-radius:12px}
#ledger .ledger-more{margin-top:16px}
#ledger .ledger-detail-amount,#ledger .ledger-account-total{font-size:28px;margin:12px 0 18px}
#ledger .ledger-detail{gap:12px}
#ledger .ledger-detail>div{font-size:13px}
#ledger .ledger-account{padding:13px 0}
#ledger .ledger-account strong{font-size:19px}
#ledger .ledger-template{padding:12px 0;font-size:13px}
#ledger .aa-member,#ledger .aa-person,#ledger .import-item{padding:14px 0}
#ledger .extra-heading{margin-top:20px!important}
@media(max-width:800px){#ledger .ledger-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:450px){#ledger .ledger-panel{padding:15px;border-radius:16px}#ledger .ledger-layout{gap:12px}#ledger .ledger-summary{gap:8px;margin-top:17px}#ledger .ledger-metrics{gap:8px}#ledger .ledger-total>strong,#ledger .ledger-metrics strong{font-size:18px}#ledger .ledger-toolbar input[type="month"]{flex-basis:138px;width:138px;max-width:138px}#ledger .ledger-row-icon{display:none}}
#ledger .ledger-budget label{color:var(--text);opacity:1;display:block;text-align:left;margin:0}
@media(min-width:360px){#ledger .record-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:360px){#ledger .record-fields>.record-field:not(.field-wide){grid-column:auto}}
#ledger .ledger-check{color:var(--text);opacity:1;font-size:13px;justify-content:flex-start;margin:0}
/* Ledger keeps the same refracted material as the home cards. */
body.light #ledger .ledger-panel{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#ffffff38,#ffffff18);border:1px solid #ffffff65;box-shadow:inset 0 1px 2px #ffffff75,0 5px 20px #263e3018;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
body:not(.light) #ledger .ledger-panel{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#243d3b70,#14252385);border-color:#ffffff30}
body #ledger .ledger-panel.refractive-ready{background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
#ledger .ledger-panel>.lens-surface{position:absolute!important;inset:0!important;width:100%;height:100%;z-index:0!important;pointer-events:none;border-radius:inherit}
#ledger .ledger-panel>.surface-content{position:relative;z-index:1}
body[data-view="ledger"] .minimal-header{display:none} #ledger #ledger-list:empty{display:none}
#place-map-control{display:flex;align-items:center;gap:12px}#place-map-status{font-size:13px;color:var(--muted)}#place-map-select:disabled{opacity:.55;cursor:not-allowed}
/* Record pages share the compact ledger dimensions and glass material. */
#records{max-width:1000px;margin:auto;font-size:14px}
#records .record-page-heading{margin:16px 0;gap:10px}
#records .record-page-heading h1{font-size:20px}
#records .record-title-icon .illustrated-icon{width:28px;height:28px}
#records .record-page-grid{grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);gap:14px;align-items:start}
body #records .record-surface{padding:18px;border-radius:18px;min-width:0}
#records .record-surface h2{font-size:14px;margin:0 0 14px;line-height:1.5}
#records .record-fields{gap:14px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}
#records .record-field{font-size:13px;gap:6px;grid-column:auto}
#records .field-wide{grid-column:1/-1}
#records .record-field :is(input,select){height:42px;min-height:42px;padding:8px 10px;border-radius:9px;font-size:16px;line-height:24px}
#records .record-field textarea{min-height:72px;padding:8px 10px;border-radius:9px;font-size:16px;line-height:1.5}
#records .record-form-footer{margin-top:16px;justify-content:flex-end}
#records .record-form-footer .submit,#records .ledger-button{min-height:38px;padding:8px 12px;font-size:13px;border-radius:10px}
#records .record-empty{font-size:13px;padding:16px 0;margin:0}
#records .saved-record{padding:14px 0}#records .saved-record h3{font-size:14px}
#records .saved-record dl{gap:8px;margin:12px 0;font-size:13px}
#records .saved-record p{font-size:13px;line-height:1.6;margin:8px 0}
#records .saved-record time,#records #record-count{font-size:12px}
body.light #records .ledger-panel{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#ffffff38,#ffffff18);border:1px solid #ffffff65;box-shadow:inset 0 1px 2px #ffffff75,0 5px 20px #263e3018;backdrop-filter:blur(20px)}
body:not(.light) #records .ledger-panel{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#243d3b70,#14252385);border:1px solid #ffffff30}
body #records .ledger-panel.refractive-ready{background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
#records .ledger-panel>.lens-surface{position:absolute!important;inset:0!important;width:100%;height:100%;z-index:0!important;pointer-events:none;border-radius:inherit}
#records .ledger-panel>.surface-content{position:relative;z-index:1}
#place-dishes{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
#place-dishes[hidden],#records select[hidden]{display:none!important}
#records .dish-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
#records .dish-heading h2{margin:0}
.dish-item{padding:12px 0;border-bottom:1px solid var(--line)}
.dish-name-row{display:flex;align-items:center;gap:8px}
#records .dish-item input{width:100%;min-width:0;height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#ffffff45;color:var(--text);font:16px var(--font-ui);box-sizing:border-box}
.dish-remove{border:0;background:transparent;color:var(--muted);font-size:12px;padding:10px;flex:none;cursor:pointer}
.dish-stars{display:flex;align-items:center;gap:2px;min-height:42px}
.dish-star{display:grid;place-items:center;width:36px;height:42px;border:0;padding:0;background:transparent;color:var(--muted);opacity:.48;font-size:26px;cursor:pointer;line-height:1}
.dish-star.selected,.saved-stars .selected{color:#805f1b;opacity:1}
body:not(.light) .dish-star.selected,body:not(.light) .saved-stars .selected{color:#f3cc77}
.dish-star:focus-visible,.dish-remove:focus-visible{outline:2px solid var(--mint);outline-offset:1px;border-radius:6px}
#records .overall-rating{grid-column:1/-1}
.saved-dishes{margin-top:12px;border-top:1px solid var(--line)}
.saved-dish{padding:10px 0;border-bottom:1px solid var(--line)}
.saved-dish>div{display:flex;align-items:center;justify-content:space-between;gap:8px}
.saved-dish strong{font-size:13px;overflow-wrap:anywhere}
.saved-stars{display:flex;gap:2px;white-space:nowrap;color:var(--muted);font-size:16px}
@media(max-width:800px){#records .record-page-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:450px){body #records .record-surface{padding:15px;border-radius:16px}#records .record-page-grid{gap:12px}}
@media(max-width:359px){#records .record-fields{grid-template-columns:minmax(0,1fr)}}
#records[data-module="places"] .record-page-heading :is(.record-title-icon,h1){display:none}
.place-visits{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line);margin-top:12px}
.place-visits>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.place-visits strong{font-size:13px;font-weight:500}.place-visits span{font-size:12px;color:var(--muted)}
.place-visits .ledger-button{flex-shrink:0}
#place-visit-status:empty{display:none}#place-visit-status{font-size:13px;color:var(--text);margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--glass)}
#records:not([data-module="places"]) #place-visit-status{display:none}
#records[data-module="places"] .record-page-grid{grid-template-columns:minmax(0,1fr)}
#records[data-place-view="index"] .record-list-panel{order:-1;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;overflow:visible}
#records[data-place-view="index"] .record-list-panel>.lens-surface{display:none!important}
#records[data-place-view="index"] .record-list-heading{margin:0 2px 12px}
#records[data-place-view="index"] .record-list-heading h2{margin:0}
.place-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.place-category-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;min-height:104px;padding:16px 18px;border-radius:16px;border:1px solid #ffffff90;background:linear-gradient(125deg,#ffffff55,#ffffff25);color:var(--text);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px 2px #ffffffb0,0 5px 16px #243b3014;cursor:pointer;text-align:left;transition:transform .15s,background .15s}
.place-category-card strong{font-size:15px;font-weight:600}.place-category-card span{font-size:12px;color:var(--muted)}
.place-category-card:active{transform:scale(.97)}.place-category-card:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
body:not(.light) .place-category-card{background:linear-gradient(125deg,#28413b99,#16282580);border-color:#ffffff30;box-shadow:inset 0 1px 2px #ffffff30,0 5px 16px #0002}
#records[data-place-view="category"] .record-editor{display:none}
#records[data-place-view="category"] .record-page-heading h1{display:block}
#records[data-place-view="category"] .record-list-panel{width:100%;box-sizing:border-box}
@media(max-width:450px){.place-category-grid{gap:10px}.place-category-card{min-height:96px;padding:14px}}
#records[data-module="places"][data-place-view="category"] .record-page-heading h1{display:block}
/* Approved editorial photographs, cropped in CSS from the original contact sheet. */
#records[data-place-view="index"] .record-list-panel{order:0;margin-top:4px}
body #records .place-category-card{display:block;min-height:0;padding:0;gap:0;overflow:hidden;background:linear-gradient(125deg,#ffffff65,#ffffff28);border-radius:16px}
body:not(.light) #records .place-category-card{background:linear-gradient(125deg,#28413bb0,#162825a0)}
.place-category-card .category-cover{display:block;width:100%;aspect-ratio:475/248;background-image:url('place-category-covers.png');background-size:215.579% 619.355%;background-repeat:no-repeat;background-position:4.372% 1.087%}
.place-category-card .cover-1{background-position:95.811% 1.087%}
.place-category-card .cover-2{background-position:4.372% 23.913%}
.place-category-card .cover-3{background-position:95.811% 23.913%}
.place-category-card .cover-4{background-position:4.372% 46.739%}
.place-category-card .cover-5{background-position:95.811% 46.739%}
.place-category-card .cover-6{background-position:4.372% 69.720%}
.place-category-card .cover-7{background-position:95.811% 69.720%}
.place-category-card .cover-8{background-position:4.372% 92.780%}
.place-category-card .cover-9{background-position:95.811% 92.780%}
.place-category-card .category-copy{display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding:12px;color:var(--text)}
.place-category-card .category-copy strong{font-size:14px;line-height:1.4;white-space:nowrap}
.place-category-card .category-copy>span{font-size:12px;white-space:nowrap}
@media(max-width:374px){.place-category-card .category-copy{align-items:flex-start;flex-direction:column;gap:4px;padding:10px}}
/* Quiet hierarchy for a busy photographic backdrop. */
body.light.places-focus::after{background:rgba(246,247,240,.76)!important}
body:not(.light).places-focus::after{background:rgba(13,18,21,.92)!important}
body.light #records[data-module="places"] .record-editor.refractive-ready{background:rgba(249,250,244,.54);box-shadow:0 4px 16px #25392a10}
body:not(.light) #records[data-module="places"] .record-editor.refractive-ready{background:rgba(22,34,33,.74);box-shadow:0 4px 16px #0002}
#records[data-module="places"] .record-editor>.lens-surface{opacity:.4}
#records[data-module="places"] .record-page-heading{margin:8px 0}
body #records[data-module="places"] .record-editor{padding:12px 15px}
#records[data-module="places"] .record-editor h2{margin-bottom:8px}
#records[data-module="places"] .record-fields{row-gap:8px;column-gap:12px}
#records[data-module="places"] .record-field{gap:3px}
#records[data-module="places"] .record-field>span{min-height:18px;line-height:18px}
#records[data-module="places"] .record-field :is(input,select){height:38px;min-height:38px;padding:6px 9px;line-height:24px}
#records[data-module="places"] .record-field textarea{min-height:54px;height:54px;padding:6px 9px;line-height:20px}
#records[data-module="places"] .overall-rating{grid-column:auto}
#records[data-module="places"] .overall-rating .dish-stars{gap:0;min-height:38px}
#records[data-module="places"] .overall-rating .dish-star{width:28px;height:38px;font-size:23px}
#records[data-module="places"] #place-map-select{min-height:32px;padding:6px 10px}
#records[data-module="places"] #place-dishes{margin-top:10px;padding-top:8px}
#records[data-module="places"] .dish-item{padding:8px 0}
#records[data-module="places"] .record-form-footer{margin-top:10px}
#records[data-module="places"] #record-status:empty{display:none}
#records[data-place-view="index"] .record-list-panel{margin-top:10px}
body #records .place-category-card{border:1px solid #ffffff50;box-shadow:0 2px 8px #22352a09;background:rgba(251,252,247,.8);backdrop-filter:blur(10px)}
body:not(.light) #records .place-category-card{background:rgba(30,44,42,.9);border-color:#ffffff18;box-shadow:0 2px 8px #0001}
.place-category-card .category-cover{position:relative;overflow:hidden;aspect-ratio:475/165;background-image:none}
.place-category-card .category-cover::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:100%;aspect-ratio:475/248;background-image:url('place-category-covers.png');background-size:215.579% 619.355%;background-position:inherit;background-repeat:no-repeat}
.place-category-card .category-copy{padding:10px 12px}
.place-category-card .category-copy strong{font-size:16px;font-weight:600}
.place-category-card .category-copy>span{font-size:12px;opacity:.8}
#all-place-categories{margin-top:12px}
#all-place-categories>summary{cursor:pointer;padding:12px 2px;color:var(--muted);font-size:13px}
#all-place-categories>.place-category-grid{margin-top:4px}
@media(max-width:450px){.place-category-card .category-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px}.place-category-card .category-copy strong{font-size:15px}}
/* Compact place editor: consistent iOS field sizing and quieter controls. */
body.places-focus .minimal-header{display:none!important}
#records[data-module="places"] .record-page-heading>.page-back{display:none}
#records[data-module="places"][data-place-view="index"] .record-page-heading{display:none}
#records[data-module="places"] .record-field{width:100%;min-width:0;max-width:100%;overflow:visible}
#records[data-module="places"] .record-field :is(input,select,textarea){display:block;box-sizing:border-box;min-width:0;min-inline-size:0;width:100%;max-width:100%;margin:0;border:1px solid var(--line);background:#ffffff42;box-shadow:inset 0 1px 1px #ffffff40;border-radius:11px;-webkit-appearance:none;appearance:none;color:var(--text)}
#records[data-module="places"] .record-field :is(input,select){height:40px;min-height:40px;padding:8px 10px;line-height:22px}
#records[data-module="places"] input[type=date]{overflow:hidden;text-align:left;font-family:var(--font-ui,system-ui)}
#records[data-module="places"] input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0;min-inline-size:0;width:100%;padding:0;white-space:nowrap}
#records[data-module="places"] input[type=date]::-webkit-datetime-edit{display:block;min-width:0;padding:0}
#records[data-module="places"] select{padding-right:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%2368796c' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;background-size:10px}
#records[data-module="places"] .record-field :is(input,select,textarea):focus{outline:0;border-color:#709b85;box-shadow:0 0 0 2px #709b8518}
#records[data-module="places"] .overall-rating{display:flex;flex-direction:column}
.half-rating{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;height:40px;touch-action:pan-y;cursor:pointer;border-radius:8px;outline-offset:2px;user-select:none;-webkit-user-select:none}
.rating-track{display:flex;flex:none;width:120px;height:26px}.rating-star{display:block;width:24px;height:26px;position:relative;flex:none;color:#82998c40}.rating-star>svg,.rating-fill svg{display:block;width:24px;height:26px;fill:currentColor}.rating-fill{position:absolute;left:0;top:0;height:26px;overflow:hidden;color:#a07c3d;pointer-events:none}.half-rating output{font-size:12px;font-weight:500;color:var(--muted);min-width:20px;font-variant-numeric:tabular-nums}.half-rating:focus-visible{outline:2px solid #709b85}
#records[data-module="places"] .overall-rating .half-rating{gap:4px}.overall-rating .rating-track{width:110px}.overall-rating .rating-star{width:22px}.overall-rating .rating-star>svg,.overall-rating .rating-fill svg{width:22px}
#records[data-module="places"] #place-dishes{margin-top:16px;padding-top:12px}
#records .dish-heading{margin-bottom:4px}.dish-count{font-size:11px;font-weight:400;color:var(--muted);margin-left:6px}.dish-add,.new-place-button,.dish-done{background:none;border:0;color:var(--mint);font-size:12px;padding:8px 2px;cursor:pointer}
#records[data-module="places"] .compact-dish{padding:0;border-bottom:1px solid var(--line)}
.dish-line{display:grid;grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:8px;min-height:48px}
#records .compact-dish .dish-line input{border:0;border-radius:0;background:transparent;box-shadow:none;padding:8px 0;height:44px;min-width:0;font-size:16px;color:var(--text)}
.dish-score{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:58px;height:32px;padding:4px 8px;background:#a07c3d0b;border:1px solid #a07c3d16;border-radius:9px;color:var(--text)}.dish-score>span,.saved-score>span{color:#a07c3d;font-size:15px;margin-right:3px}.dish-score[aria-expanded=true]{background:#a07c3d18}
#records .compact-dish .dish-remove{width:28px;height:36px;padding:0;font-size:20px;color:var(--muted);opacity:.7;background:none;border:0}
.dish-edit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:0 0 10px}.dish-edit .half-rating{grid-column:1/-1}.dish-edit input{width:100%;min-width:0}.dish-done{min-width:38px}.saved-score{white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums}
#records .record-form-footer{gap:14px;align-items:center}#records .record-form-footer .new-place-button{margin-right:auto;font-size:13px;min-height:38px}
body:not(.light) #records[data-module="places"] .record-field :is(input,select,textarea){background-color:#ffffff0c;border-color:#ffffff26}body:not(.light) .rating-fill,body:not(.light) .dish-score>span,body:not(.light) .saved-score>span{color:#d5b97d}
@media(max-width:374px){#records[data-module="places"] .overall-rating{grid-column:1/-1}.overall-rating .rating-track{width:120px}.overall-rating .rating-star,.overall-rating .rating-star>svg,.overall-rating .rating-fill svg{width:24px}}
/* Footprint archive is separate from the place editor. */
#records[data-module="places"][data-place-view="index"] .record-list-panel{display:none!important}
#journey{max-width:1000px;margin:0 auto}
.journey-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:8px 0 18px}
.journey-heading h1{font-size:22px;line-height:1.4;margin:0;font-weight:600}
#journey-total{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
#journey .place-category-card{display:block;min-height:0;padding:0;gap:0;overflow:hidden;border-radius:16px;border:1px solid #ffffff65;background:#ffffff66;box-shadow:0 3px 12px #22352a0d;text-align:left}
#journey .category-copy{padding:10px 12px;display:flex;justify-content:space-between;align-items:baseline;gap:6px}
#journey .category-copy strong{font-size:15px;font-weight:600;color:var(--text)}
#journey .category-copy>span{font-size:11px;color:var(--muted);white-space:nowrap}
.category-summary{display:block;padding:0 12px 10px;font-size:11px;line-height:1.5;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body:not(.light) #journey .place-category-card{background:#1d302ddd;border-color:#ffffff20}
#place-subcategory-filter{display:flex;justify-content:flex-start;align-items:center;gap:10px;margin:6px 0 14px;color:var(--muted);font-size:12px}
#place-subcategory-filter select{height:38px;max-width:240px;min-width:140px;padding:6px 10px;background:#ffffff40;border:1px solid var(--line);border-radius:10px;color:var(--text);font:14px var(--font-ui,system-ui)}
body:not(.light) #place-subcategory-filter select{background:#233532}
#records[data-place-view="category"] .record-list-heading h2{display:none}
#records[data-place-view="category"] .record-list-heading{justify-content:flex-end;margin-bottom:0}
#home-latest-place{position:relative;display:flex;flex-direction:column;gap:10px;margin-top:24px}
#home-latest-place:empty{display:none}
.latest-place-name{font-size:23px;line-height:1.4;font-weight:500;overflow-wrap:anywhere}
.latest-place-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted)}
.latest-place-rating{flex:none;font-size:15px;color:var(--text);font-variant-numeric:tabular-nums}.latest-place-rating>span{color:#a07c3d;margin-right:3px}
.latest-place-address{font-size:12px;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#home-latest-place time{font-size:11px;color:var(--muted);margin-top:2px}
@media(max-width:450px){.journey-heading{margin:6px 0 16px}.journey-heading h1{font-size:20px}#journey .category-copy{align-items:baseline;flex-direction:row;gap:6px}.latest-place-name{font-size:20px}}
body[data-view="journey"] .intro,body[data-view="journey"] .section-heading{display:none!important}
#journey .place-category-card{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}
#journey .category-cover{flex:none;aspect-ratio:475/248}
/* Home footprint summary; tap the card to add a place. */
.home-map-illustration{position:relative;margin-top:16px;height:108px;overflow:hidden;border-radius:14px;border:1px solid #ffffff45;background:linear-gradient(115deg,#d8e3cf4d,#e9ecdc28);pointer-events:none}
.home-map-illustration>svg{display:block;width:100%;height:100%}.map-river{fill:none;stroke:#83b6c24a;stroke-width:42;stroke-linecap:round}.map-blocks{fill:#c0d0ae70;stroke:#ffffff75;stroke-width:1}.map-roads{fill:none;stroke:#ffffffa1;stroke-width:7;stroke-linecap:round}.map-route{fill:none;stroke:#648773;stroke-width:2.3;stroke-linecap:round;stroke-dasharray:4 5}.map-start{fill:#fff;stroke:#648773;stroke-width:2}.map-destination-halo{fill:#668b6b16}.map-destination{fill:#648b72;stroke:#fff;stroke-width:2}.map-pin-center{fill:#fff}
.dashboard>.places #home-latest-place{margin-top:14px;gap:8px}.latest-place-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-nav-label{white-space:nowrap;font-size:12px;color:var(--muted);font-weight:400}.latest-place-heading .latest-place-name{font-size:21px;line-height:1.4}.latest-place-rating{display:flex;align-items:center;justify-content:flex-start;gap:8px;color:var(--text)}.latest-place-rating .rating-track{width:120px}.latest-place-rating .rating-star,.latest-place-rating .rating-star>svg,.latest-place-rating .rating-fill svg{width:24px}.latest-place-rating>.latest-rating-number{font-size:13px;color:var(--text);font-variant-numeric:tabular-nums;margin:0}.latest-place-rating>span.rating-track{color:inherit;margin:0}
body:not(.light) .home-map-illustration{background:linear-gradient(115deg,#334c404d,#29403d28);border-color:#ffffff20}body:not(.light) .map-roads{stroke:#b7cbbb50}body:not(.light) .map-blocks{fill:#72947c30;stroke:#a3bba825}

/* Keep the title above the illustration and the latest rating beside the name. */
body #today .dashboard>.places{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;text-align:left}
body #today .dashboard>.places .card-top{position:relative;inset:auto;align-self:stretch;margin:0;flex:none}
body #today .dashboard>.places .home-map-illustration{flex:none;margin-top:16px}
body #today .dashboard>.places .latest-place-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
body #today .dashboard>.places .latest-place-name{min-width:0;font-size:20px;line-height:1.4}
body #today .dashboard>.places .latest-place-rating{gap:5px;white-space:nowrap}
body #today .dashboard>.places .latest-place-rating .rating-track{width:90px}
body #today .dashboard>.places .latest-place-rating .rating-star,body #today .dashboard>.places .latest-place-rating .rating-star>svg,body #today .dashboard>.places .latest-place-rating .rating-fill svg{width:18px}
@media(max-width:450px){body #today .dashboard>.places .latest-place-name{font-size:17px}body #today .dashboard>.places .latest-place-heading{gap:8px}}

/* Small saved places: two columns / three rows on phones, adaptive on wide screens. */
body #records[data-place-view="category"] .record-list-panel{padding:0;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:visible}
#records[data-place-view="category"] .record-list-panel>.lens-surface{display:none!important}
#records[data-place-view="category"] .record-list-heading{margin:0 2px 10px}
#records[data-place-view="category"] #module-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#records[data-place-view="category"] .place-mini-card{display:flex;flex-direction:column;min-width:0;min-height:clamp(170px,calc((100svh - 210px)/3),230px);padding:13px;border:1px solid #ffffff90;border-radius:18px;background:#ffffff65;box-shadow:inset 0 1px 1px #ffffff80,0 4px 14px #233b2b0a;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.place-mini-open{display:flex;flex:1;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;min-width:0;width:100%;padding:0;background:none;border:0;color:var(--text);cursor:pointer}
#records .place-mini-card h3{font-size:15px;line-height:1.45;margin:0;overflow-wrap:anywhere;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.place-mini-rating{display:flex;align-items:center;gap:5px;font-size:12px;font-variant-numeric:tabular-nums}
.place-mini-rating .rating-track{width:85px;height:22px}.place-mini-rating .rating-star,.place-mini-rating .rating-star>svg,.place-mini-rating .rating-fill svg{width:17px;height:22px}.place-mini-rating .rating-fill{height:22px}
.place-mini-category,.place-mini-address{font-size:12px;line-height:1.5;color:var(--muted)}.place-mini-address{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.place-mini-footer{display:flex;justify-content:space-between;align-items:center;gap:6px;padding-top:10px;margin-top:10px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.place-mini-footer button{border:0;background:none;padding:7px 0;color:var(--text);font-size:12px;cursor:pointer;min-height:32px}
body:not(.light) #records[data-place-view="category"] .place-mini-card{background:#263a35a6;border-color:#ffffff25;box-shadow:inset 0 1px #ffffff18,0 4px 14px #0002}
#records[data-place-view="category"] .record-empty{grid-column:1/-1}
@media(min-width:760px){#records[data-place-view="category"] #module-entries{grid-template-columns:repeat(3,minmax(0,1fr))}#records[data-place-view="category"] .place-mini-card{min-height:clamp(180px,calc((100svh - 230px)/2),250px)}}
@media(max-width:359px){#records[data-place-view="category"] #module-entries{gap:8px}#records[data-place-view="category"] .place-mini-card{padding:10px}.place-mini-rating{gap:3px}.place-mini-rating .rating-track{width:75px}.place-mini-rating .rating-star,.place-mini-rating .rating-star>svg,.place-mini-rating .rating-fill svg{width:15px}}

/* The add tile shares the grid cell and surface of its neighboring cards. */
#journey .place-add-card,#records[data-place-view="category"] .place-add-card{display:grid;place-items:center;align-content:center;justify-content:center;cursor:pointer;text-align:center;color:var(--mint)}
#journey .place-add-card{min-height:150px}
.place-add-card>span{font-family:system-ui,sans-serif;font-size:42px;font-weight:300;line-height:1;pointer-events:none}
.place-add-card:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
@media(hover:hover){#journey .place-add-card:hover,#records[data-place-view="category"] .place-add-card:hover{background:#ffffff85}}

.visit-history{margin-top:6px;padding-top:6px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.visit-history-row{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:4px;align-items:center}
#records .visit-history-row input{min-width:0;width:100%;box-sizing:border-box;height:34px;padding:5px 3px;background:#ffffff35;color:var(--text);border:1px solid var(--line);border-radius:8px;font:12px system-ui;-webkit-appearance:none;appearance:none}
.visit-history-row input::-webkit-date-and-time-value{text-align:left}.visit-history-row button{width:28px;height:34px;background:none;border:0;color:var(--muted);font-size:20px;cursor:pointer}
#records[data-place-view="category"] #module-entries{align-items:start}
#records[data-place-view="category"] .place-mini-card{box-sizing:border-box}
#records[data-place-view="category"] .place-add-card{align-self:start;width:100%}

/* Visit history scrolls inside a fixed tile rather than growing the archive grid. */
#records[data-place-view="category"] .place-mini-card{height:clamp(170px,calc((100svh - 210px)/3),230px);min-height:0;overflow:hidden}
#records[data-place-view="category"] .place-mini-open{min-height:0;overflow:hidden;flex:1 1 0}
#records[data-place-view="category"] .place-mini-footer{flex:none;order:3}
#records[data-place-view="category"] .visit-history{order:2;flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
#records[data-place-view="category"] .visit-history-row{flex:none}
#records[data-place-view="category"] .visits-open .place-mini-open{flex:none}
#records[data-place-view="category"] .visits-open .place-mini-open>:not(h3){display:none}
#records[data-place-view="category"] .visits-open .place-mini-footer{padding-top:5px;margin-top:5px}
@media(min-width:760px){#records[data-place-view="category"] .place-mini-card{height:clamp(180px,calc((100svh - 230px)/2),250px);min-height:0}}

/* The central + is the shared recording hub, driven by the module registry. */
body[data-view="compose"] .intro,body[data-view="compose"] .minimal-header{display:none!important}
#compose{max-width:720px;margin:0 auto}#compose h1{font-size:22px;font-weight:600;margin:8px 0 20px}
.record-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
body #compose .record-entry{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-width:0;min-height:138px;border-radius:24px;border:1px solid #ffffff80;background:linear-gradient(135deg,#ffffff70,#ffffff32);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px 2px #fff9,0 5px 20px #23432b14;color:var(--text);cursor:pointer}
.record-entry>span{display:grid;place-items:center;width:46px;height:46px}.record-entry>span>svg{width:38px;height:38px}.record-entry strong{font-size:14px;font-weight:500}
body:not(.light) #compose .record-entry{background:#18272dbd;border-color:#ffffff2c;box-shadow:inset 0 1px #ffffff25,0 5px 20px #0002}
.record-entry:active{transform:scale(.96)}.record-entry:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
@media(max-width:600px){.record-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}body #compose .record-entry{min-height:132px}#compose h1{font-size:20px}}
