/* Storefront, reception and a cover-first restaurant journal */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.enter-store{margin:20px 0 0;padding:13px 25px}.enter-store span{margin-left:30px}
.store-outside footer .categories,.store-outside .aisle-control{display:none!important}.store-outside .backup-tools{margin-left:auto}.store-outside .intro-rule{margin-top:25px}
.store-inside .intro,.store-inside .room-label{display:none}.store-inside .vignette{background:linear-gradient(0deg,#111a13ef,transparent 24%,transparent 75%,#111a1380)}
.store-inside .catalog{left:4%}.store-inside .record-list{grid-template-columns:repeat(4,minmax(0,1fr))}
.is-entering .intro,.is-entering .room-label,.is-entering .scene-hint{opacity:0;pointer-events:none}.intro,.room-label,.scene-hint{transition:opacity .4s}
.is-entering #room{pointer-events:none}.is-entering #enterStore{pointer-events:none}
#categories{gap:3px;align-items:center}#categories button{padding:8px 10px}
#categories select,#catalogFilters select{color:var(--gold);background:#1d2a20;border:1px solid #d8bf8a40;border-radius:3px;padding:8px;font-size:11px;max-width:145px;outline:none}
#catalogFilters select{max-width:none;width:100%;padding:11px 13px}
#categories select option,#catalogFilters select option{background:#1d2a20}
.aisle-control{display:flex;align-items:center;gap:4px;white-space:nowrap;color:#c2c4aa;font-size:9px}
.aisle-control button{font-size:24px;width:23px;height:30px}.aisle-control button:disabled{opacity:.3}
.card-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:10px;color:#9fa992;line-height:1.9;margin-top:8px}
.skin-head{display:inline-block;width:52px;height:52px;flex:none;position:relative;background-image:url('./assets/owner-skin.png');background-size:800% 800%;background-position:14.285714% 14.285714%;image-rendering:pixelated;border:1px solid #c6b28355;border-radius:3px}
.skin-head:after{content:'';position:absolute;inset:0;background-image:url('./assets/owner-skin.png');background-size:800% 800%;background-position:71.428571% 14.285714%;image-rendering:pixelated}
.host-shortcut{position:fixed;left:5%;bottom:130px;z-index:3;display:flex;align-items:center;gap:12px;text-align:left;background:#1b281fd9;border:1px solid #d8bf8a3c;border-radius:4px;padding:10px 16px 10px 10px;backdrop-filter:blur(12px);font:14px var(--serif);color:var(--gold)}
.host-shortcut .skin-head{width:34px;height:34px}.host-shortcut small{display:block;font:9px system-ui;color:#a2ac92;letter-spacing:1px;margin-top:7px}
#hostDialog{width:510px;padding:40px;background:#202e24;color:var(--ink);border:1px solid var(--line)}#hostDialog .close{color:#bfbd9e}
.host-intro{display:flex;gap:20px;align-items:center}.host-intro .skin-head{height:70px;width:70px}.host-intro .eyebrow{font-size:8px;letter-spacing:1px}
.host-intro h2{font:26px var(--serif);color:var(--gold);margin:12px 0}.host-greeting{font:14px/2.3 var(--serif);color:#c3c8af;margin:28px 0}
.host-actions{display:flex;align-items:center;gap:22px}.host-actions .primary{font-size:12px}
.identity-editor{margin-top:32px;padding-top:20px;border-top:1px solid var(--line);color:#a4ae94;font-size:10px}.identity-editor summary{cursor:pointer}
.identity-editor form{margin-top:20px}
.journal-dialog{width:900px;background:transparent;padding:0;overflow:auto;color:#524d3c;max-height:calc(100dvh - 32px);scrollbar-width:thin;perspective:1500px}
.journal-dialog.is-cover{width:470px}.journal-dialog .close{color:#776e56;top:8px;right:10px}.journal-edit{position:absolute;right:61px;top:16px;z-index:3;color:#8c7d5c;font-size:10px}
.journal-dialog.is-cover .close,.journal-dialog.is-cover .journal-edit{color:#dec994}
.book-stage{transform-origin:left center;touch-action:pan-y}
.journal-cover{padding:20px 20px 20px 26px;border-radius:4px 12px 12px 4px;background:linear-gradient(90deg,#0006,transparent 7%,#ffffff08 8%,transparent 9%),linear-gradient(145deg,#ffffff05,#0004),var(--book-color,#58725c);box-shadow:inset 8px 0 5px #0004,inset -4px 0 #0004,inset -7px 0 #d0c5a835;color:#e6d3a5}
.cover-border{border:1px solid #e1c89475;outline:1px solid #e1c89425;outline-offset:5px;padding:37px 28px 24px;min-height:546px;text-align:center}
.cover-overline{font:8px Georgia;letter-spacing:2.5px;color:#dbca9bb0}.cover-cuisine{font:11px var(--serif);letter-spacing:5px;margin-top:20px;color:#e2cc98}
.cover-ornament{font:30px Georgia;color:#e1c58c;margin-top:8px}.cover-name{font:400 30px/1.7 var(--serif);letter-spacing:3px;margin:13px 0 16px;overflow-wrap:anywhere;max-height:155px;overflow:auto}
.cover-stars{display:flex;justify-content:center;align-items:center;gap:6px;font-size:18px;color:#baac85}.cover-stars .filled{color:#edce89}.cover-stars small{font:10px Georgia;margin-left:6px;color:#e1cea0}
.cover-meta{display:grid;grid-template-columns:66px 1fr;gap:12px 10px;font-size:10px;text-align:left;border-top:1px solid #e1cc963b;border-bottom:1px solid #e1cc963b;margin:25px 0 16px;padding:17px 0}
.cover-meta dt{color:#dec997b3;letter-spacing:2px}.cover-meta dd{margin:0;color:#ecdfbb;line-height:1.8;overflow-wrap:anywhere;max-height:68px;overflow:auto}
.cover-summary{font:12px/2 var(--serif);letter-spacing:1px;color:#e1d2b2;margin:17px 0;max-height:100px;overflow:auto;text-align:left}
.cover-count{font-size:9px;letter-spacing:2px;color:#d9c79b;margin-top:22px}.cover-stamp{display:block;font:8px Georgia;letter-spacing:1.5px;color:#cdb98a;margin-top:19px}
.journal-spread{display:grid;grid-template-columns:1fr 1fr;min-height:540px;background:linear-gradient(90deg,#eee3ca 47%,#ded0b2 49.8%,#efe6cd 50.8%,#eee3ca 54%);border-radius:4px;overflow:hidden}
.journal-left,.journal-right{padding:46px 36px 27px;position:relative;min-width:0}.journal-left .food-frame{margin-top:24px;aspect-ratio:1.06}
.journal-right .page-eyebrow{padding-right:45px;line-height:1.8;letter-spacing:1.5px}.dish-caption{font:11px/2 var(--serif);color:#9d8b67;text-align:center;letter-spacing:1px}
.dish-name{font:28px/1.6 var(--serif);letter-spacing:2px;margin:35px 0 18px;overflow-wrap:anywhere}.dish-divider{font-size:9px;letter-spacing:1px;color:#a18e67;margin:20px 0}
.journal-story{font:14px/2.2 var(--serif);color:#625f4c;white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow-y:auto;scrollbar-width:thin}
.dish-category{display:inline-block;font-size:10px;color:#98825a;border:1px solid #a797743d;padding:5px 10px;margin-top:16px}
.story-quote{font:100px Georgia;color:#bbab80;margin:40px 0 -25px}.story-heading{font:28px/1.7 var(--serif);letter-spacing:3px;margin:25px 0}
.story-shop{font:14px var(--serif);color:#99855e}.story-date{font:9px Georgia;letter-spacing:2px;color:#a69470;margin-top:25px}
.story-spread .journal-right .journal-story{margin-top:30px;max-height:385px}
.page-controls{display:grid;grid-template-columns:120px 1fr 120px;align-items:center;gap:10px;padding:13px 18px;background:#243126;color:#dbcea9;border-top:1px solid #d1ba8230;border-radius:0 0 4px 4px}
.page-controls button{padding:7px 0;font-size:11px;letter-spacing:1px}.page-controls button:disabled{opacity:.35;cursor:default}
#pageStatus{font-size:9px;color:#a8b19a;letter-spacing:1px}
@media(prefers-reduced-motion:no-preference){.turn-forward{animation:turnForward .36s ease-out}.turn-back{animation:turnBack .36s ease-out}@keyframes turnForward{from{opacity:.5;transform:perspective(1500px) rotateY(-9deg) translateX(9px)}to{opacity:1;transform:rotateY(0)}}@keyframes turnBack{from{opacity:.5;transform:perspective(1500px) rotateY(9deg) translateX(-9px)}to{opacity:1;transform:rotateY(0)}}}
#formDialog{width:660px}.editor-section{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.editor-section-title{font:12px var(--serif);letter-spacing:2px;color:var(--gold);margin-bottom:20px}.editor-tip{color:#98a68b;font-size:10px;margin:-8px 0 20px}
.rating-editor{border:0;padding:0;margin:5px 0 20px;display:flex;align-items:center;gap:15px}.rating-editor legend{font-size:11px;color:#b6bba4;margin-bottom:5px}
#ratingStars{display:flex;gap:6px}#ratingStars button{font-size:29px;color:#7d896e;padding:0 3px}#ratingStars button.selected{color:#d8bd80}#ratingValue{font-size:11px;color:#b8b99d}
.story-editor{border:1px solid var(--line);border-radius:3px;padding:15px;margin-top:12px}.story-editor summary{font-size:11px;color:var(--gold);cursor:pointer}.story-editor summary span{float:right;font-size:9px;color:#8b9b81}
.story-editor label{margin-top:20px;margin-bottom:0}
.dish-editor{background:#17251b;border:1px solid #d8bf8a22;padding:17px;margin-bottom:15px;border-radius:3px}
.dish-editor-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.dish-editor-heading b{font:12px var(--serif);letter-spacing:1px;color:#d9c68f}
.dish-editor-heading .danger{margin:0;font-size:10px}.dish-upload{position:relative;border:1px dashed #d8bf8a55;cursor:pointer;padding:16px;font-size:11px;color:var(--gold);line-height:1.8;border-radius:3px}
.dish-upload input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.dish-upload small{display:block;font-size:9px;color:#879b7d}
.dish-photo-preview{position:relative;height:145px;background:#0e1911;margin:-4px 0 15px;border-radius:3px;overflow:hidden}.dish-photo-preview img{height:100%;width:100%;object-fit:contain}
.dish-photo-preview button{position:absolute;bottom:9px;right:9px;font-size:10px;background:#18251cdd;padding:7px 12px;border-radius:3px;color:#d8bd90}
.add-dish{width:100%;border:1px dashed #d8bf8a55;padding:13px;border-radius:3px;color:var(--gold);font-size:11px}.add-dish:disabled{opacity:.4}
@media(max-width:1150px){.brand>span{font-size:19px;letter-spacing:3px}nav{gap:17px}.aisle-control{gap:0;font-size:8px}footer{gap:12px}.room-tools{gap:0}.room-tools span{display:none}.store-inside .record-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.store-outside .intro{top:155px}.store-outside h1{font-size:31px}.store-outside .room-label{top:123px}.store-outside .intro-rule{display:none}.store-outside footer{display:flex;justify-content:space-between;height:82px}.store-outside .backup-tools{margin:0}.store-outside .scene-hint{bottom:205px;font-size:8px}.store-outside .stats{bottom:135px}.store-outside .sample-note{bottom:100px}
.brand>span{font-size:16px;letter-spacing:2px}.brand small{font-size:6px}header{gap:6px}header>.primary{font-size:10px;padding:9px}.enter-store{font-size:11px;padding:10px 16px;margin-top:10px}.enter-store span{margin-left:12px}
.store-inside nav{gap:22px}.store-inside .catalog{left:15px}.store-inside .record-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.store-inside footer{display:grid;grid-template-columns:75px 1fr 100px}.store-inside #categories{grid-column:1/-1;justify-content:space-between;gap:0}.store-inside #categories button{font-size:9px;padding:7px 8px}
#categories select{font-size:9px;max-width:100px;padding:6px}.aisle-control{grid-column:2;grid-row:2;justify-content:center;font-size:8px}.room-tools{grid-column:1;grid-row:2}.backup-tools{grid-column:3;grid-row:2}.room-tools button{width:22px}.aisle-control button{width:20px}
.host-shortcut{left:20px;bottom:130px;padding:8px 11px 8px 8px;font-size:12px;gap:9px}.host-shortcut small{font-size:8px;margin-top:5px}.host-shortcut .skin-head{width:29px;height:29px}.store-inside .scene-hint{display:none}
#hostDialog{padding:30px 24px}.host-intro{gap:14px}.host-intro .skin-head{width:55px;height:55px}.host-intro .eyebrow{font-size:6px}.host-intro h2{font-size:23px}.host-greeting{font-size:12px;margin:24px 0}.host-actions{gap:15px}.host-actions .primary{font-size:10px;padding:11px 13px}.host-actions .text-button{font-size:10px}
.journal-dialog,.journal-dialog.is-cover{width:calc(100vw - 28px);max-width:calc(100vw - 28px);max-height:calc(100dvh - 26px)}
.journal-cover{padding:18px 17px 18px 22px}.cover-border{padding:33px 18px 23px;min-height:525px}.cover-name{font-size:25px;margin:14px 0;letter-spacing:2px}.cover-meta{margin-top:22px;grid-template-columns:60px 1fr;font-size:10px}.cover-summary{font-size:11px}.cover-overline{font-size:7px;letter-spacing:2px}
.journal-spread{grid-template-columns:1fr;background:#eee3ca;min-height:0}.journal-left,.journal-right{padding:32px 25px 22px}.journal-left .food-frame{aspect-ratio:1.25;margin-top:20px;max-height:290px}
.journal-left .dish-art{height:165px;width:165px}.journal-left .dish-art span{font-size:85px}.journal-right{padding-top:10px;padding-bottom:30px}.journal-right .page-eyebrow{padding-right:0}
.dish-name{font-size:25px;margin:12px 0}.dish-divider{margin:15px 0;font-size:8px}.journal-story{font-size:13px;max-height:230px}.dish-caption{font-size:10px;margin-bottom:0}
.page-controls{position:sticky;bottom:0;grid-template-columns:95px 1fr 95px;padding:11px 13px;gap:4px;z-index:4}.page-controls button{font-size:10px}#pageStatus{font-size:8px}
.story-spread .journal-left{padding-bottom:12px}.story-quote{font-size:64px;margin:18px 0 -20px}.story-heading{font-size:24px;margin:20px 0 12px}.story-date{margin-top:15px}.story-spread .journal-right .journal-story{max-height:330px;margin-top:20px}
#formDialog{width:calc(100vw - 28px);max-width:calc(100vw - 28px);padding:29px 21px}.form-intro h2{font-size:21px}.form-intro p{font-size:10px}.editor-section{margin-top:20px}.dish-editor{padding:13px}.rating-editor{gap:12px}#ratingStars button{font-size:26px;padding:0 2px}#ratingStars{gap:5px}
}

.journal-dialog{overflow-x:hidden}
