/* KishMish: descriptions and restrained motion. Original layouts remain intact. */
.km-dish-notice{position:relative;isolation:isolate;margin-top:14px;padding:13px 12px 15px;border:1px solid #c9ac693e;border-radius:12px;background:linear-gradient(125deg,#caae7619,#caae7605);text-align:left;overflow:hidden;color:#f0deb3;animation:km-detail-arrive .35s ease-out}
.km-notice-top{display:flex;align-items:center;gap:9px}
.km-notice-clock{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border:1px solid #d4b87738;border-radius:50%;background:#d2b4780a;color:#e7ca8b}
.km-notice-time{min-width:0;display:grid;gap:3px}
.km-notice-time small{font:8px/1.2 Arial,sans-serif;letter-spacing:.12em;color:#bfbd9e}
.km-notice-time time{font:600 15px/1.2 Arial,sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#f6dfae}
.edition-three .food-caption .km-notice-text,.admin-item .km-notice-text,.km-notice-text{font:12px/1.65 Arial,sans-serif;color:#e3d8bc;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.km-notice-progress{position:absolute;bottom:0;inset-inline:0;height:2px;background:#d9b77212}
.km-notice-progress i{display:block;height:100%;background:linear-gradient(90deg,#a9915b,#ecd398);opacity:.8;transition:width 1s linear}
.km-notice-full{padding:18px 17px 20px;margin-top:21px}
.km-notice-full .km-notice-clock{width:34px;height:34px;flex-basis:34px}
.km-notice-full .km-notice-time time{font-size:19px}
.km-notice-full .km-notice-text{display:block;font-size:14px;line-height:1.8;-webkit-line-clamp:unset}
.km-editor-intro{font:12px/1.6 Arial,sans-serif;color:#c1c6aa;margin:-5px 0 20px}
.km-duration-input{position:relative}
.km-duration-input input{padding-right:85px!important;font-variant-numeric:tabular-nums}
.km-duration-input>span{position:absolute;top:50%;right:28px;transform:translateY(-50%);font:12px/1 Arial,sans-serif;color:#b5c2a7;pointer-events:none}
.km-notice-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.km-notice-actions button{padding:6px 0;border:0;border-bottom:1px solid #cfb87860;background:none;color:#e4cd98;font:11px/1.5 Arial,sans-serif;min-height:32px}
.km-notice-actions button.km-clear-notice{color:#c0b7a6;border-color:#c0b7a63b}
.km-notice-actions button:disabled{opacity:.4;cursor:default}
.km-live-preview>.km-pending-hint{margin:13px 0 0;letter-spacing:0;font-size:10px!important;color:#d0bc8c}
@media(max-width:600px){.edition-three .food-caption .km-dish-notice{padding:10px 9px 13px;margin-top:10px}.km-notice-time time{font-size:13px}.km-notice-time small{font-size:7px;letter-spacing:.07em}.km-notice-clock{width:24px;height:24px;flex-basis:24px}.km-notice-clock svg{width:14px;height:14px}.km-notice-top{gap:6px}.edition-three .food-caption .km-notice-text{font-size:11px;line-height:1.6}.km-notice-full .km-notice-text{font-size:13px}.km-editor-heading{flex-wrap:wrap}.km-editor-heading>span{font-size:7px}.km-dish-notice{border-radius:10px}}
:root{--km-ease:cubic-bezier(.22,1,.36,1)}
.km-prep-badge{display:inline-flex;align-items:center;gap:6px;width:fit-content;max-width:100%;margin-top:10px;padding:6px 9px;border:1px solid #dac38c3d;border-radius:9px;background:#d4bd8010;color:#efdab0;font:500 11px/1.45 Arial,sans-serif;text-align:left;overflow-wrap:anywhere}
.km-prep-badge>svg{flex-shrink:0}
.km-prep-badge>span{min-width:0;white-space:pre-wrap}
.km-prep-full{padding:12px 14px;font-size:14px;gap:10px;margin:16px 0 0}
.km-prep-full small{display:block;font:10px/1.5 Arial,sans-serif;color:#b8c3af;margin-bottom:2px}
.km-description,.edition-three .food-caption p.km-description-excerpt,.admin-item p.km-description-excerpt{font:13px/1.75 Arial,sans-serif;color:#c4cfbc;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0 0}
.edition-three .food-caption p.km-description-excerpt,.admin-item p.km-description-excerpt{font-size:11px;line-height:1.65;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:3.3em}
.km-description{font-size:14px;line-height:1.85}
.food-caption h3,.admin-item h2,.dish-detail [data-slot=dialog-title]{overflow-wrap:anywhere}
.admin-item{cursor:pointer}
.km-description-editor{margin:22px 0;padding:18px;border:1px solid #cdb98240;border-radius:16px;background:linear-gradient(150deg,#d8bf8010,#061e1700)}
.km-editor-heading{display:flex;align-items:center;gap:9px;margin-bottom:18px;color:#edd9ad}
.km-editor-heading h3{font:500 25px/1.2 Georgia,serif;margin:0}
.km-editor-heading>span{margin-left:auto;font:8px/1.5 Arial,sans-serif;letter-spacing:.12em;color:#b5c1a9}
.km-character-count{display:block;text-align:right;font-variant-numeric:tabular-nums;margin:5px 0 16px;color:#a7b99c}
.km-time-presets{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.km-time-presets button{border:1px solid #bfa86e40;background:#c9b37a08;color:#d4c7a6;border-radius:8px;padding:8px 10px;min-height:36px;font:11px/1.3 Arial,sans-serif;transition:background .25s,border-color .25s}
.km-time-presets button:hover,.km-time-presets button[aria-pressed=true]{border-color:#dcca98a8;background:#d0b77825;color:#fff0ce}
.km-editor-help{font:11px/1.75 Arial,sans-serif!important;color:#afbea5!important;margin:12px 0 0!important}
.km-live-preview{margin-top:17px;padding:16px;border:1px solid #c3ad7030;border-radius:12px;background:#08251e}
.km-live-preview>small{display:block;font:8px/1.5 Arial,sans-serif!important;letter-spacing:.14em;color:#aabd9f;margin-bottom:12px}
.km-live-preview>strong{display:block;font:500 25px/1.15 Georgia,serif;color:#f4e3bd;overflow-wrap:anywhere}
.km-live-preview .km-description-excerpt{font:12px/1.75 Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0 0;color:#bfccb6}
.km-description-editor input:focus,.km-description-editor textarea:focus{outline:2px solid #e0c88a;outline-offset:2px}
.km-time-presets button:focus-visible{outline:2px solid #e0c88a;outline-offset:3px}
.admin-edit.edition-three-edit[data-slot=dialog-content]{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a5916180 transparent}
.flavor-modal[data-slot=dialog-content]{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a5916180 transparent}
.nfc-exclusive .nfc-cover img{object-position:center 45%;animation:km-venue-arrive 1.6s var(--km-ease) backwards}
.nfc-exclusive .nfc-stage{animation:km-card-arrive 1.15s .12s var(--km-ease) backwards}
.nfc-exclusive .nfc-card{transition:transform .8s var(--km-ease),box-shadow .6s ease}
.nfc-exclusive .nfc-logo{animation:km-detail-arrive .9s .2s var(--km-ease) backwards}
.nfc-exclusive .nfc-content>p,.nfc-exclusive .nfc-content>h1,.nfc-exclusive .nfc-content>div:not(.nfc-logo),.nfc-exclusive .nfc-content>a{animation-name:km-detail-arrive;animation-duration:.85s;animation-timing-function:var(--km-ease)}
.arrival-left,.arrival-right{animation-duration:1.2s;animation-timing-function:cubic-bezier(.5,0,.2,1)}
.nfc-entrance{animation-duration:1.3s}
.edition-three .food-card{transition:transform .55s var(--km-ease),box-shadow .55s ease,border-color .4s ease}
.edition-three .food-card.has-arrived{animation:km-food-arrive .65s var(--km-ease) backwards}
.edition-three .food-card.in-viewport .rendered-photo{animation:km-food-breathe 12s ease-in-out infinite}
.edition-three .food-card:not(.in-viewport) .rendered-photo{animation:none}
.category-art img{animation-duration:10s!important}
.flavor-modal[data-slot=dialog-content][data-state=open]{animation:km-dialog-in .4s var(--km-ease) both}
.flavor-modal[data-slot=dialog-content][data-state=closed]{animation:km-dialog-out .18s ease both}
.steam-trails i{animation-duration:8s;opacity:.45}
body{transition:opacity .28s ease}
body.page-leaving{opacity:.12;filter:none}
@keyframes km-card-arrive{from{opacity:.3;transform:translateY(14px) scale(.992)}to{opacity:1;transform:none}}
@keyframes km-detail-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes km-venue-arrive{from{opacity:.7;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@keyframes km-food-arrive{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@keyframes km-food-breathe{0%,100%{transform:scale(1.015)}50%{transform:translateY(-1px) scale(1.025)}}
@keyframes km-dialog-in{from{opacity:0;translate:0 8px;scale:.985}to{opacity:1;translate:0 0;scale:1}}
@keyframes km-dialog-out{to{opacity:0;translate:0 3px;scale:.995}}
@media(hover:hover) and (pointer:fine){.edition-three .food-card:hover{transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-3px)}}
@media(hover:none),(pointer:coarse){.edition-three .food-card:hover{transform:none}.edition-three .food-card.in-viewport .rendered-photo{animation:none}.category-art img{animation:none!important}}
@media(max-width:600px){.km-description-editor{padding:14px}.km-editor-heading h3{font-size:24px}.edition-three-edit .admin-form input,.edition-three-edit .admin-form textarea,.edition-three-edit .admin-form select{font-size:16px}.km-prep-badge{font-size:10px;padding:6px 7px;gap:5px}.km-prep-full{font-size:13px;padding:11px 13px}.km-description{font-size:13px}.admin-edit.edition-three-edit[data-slot=dialog-content]{max-height:calc(100dvh - 20px)}.edit-save-row{padding-bottom:env(safe-area-inset-bottom,0px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.nfc-entrance{display:none}.nfc-exclusive .nfc-card,.edition-three .food-card{transform:none!important}body.page-leaving{opacity:1;filter:none}}
