:root{color-scheme:dark;--bg:#101014;--panel:#1c1c23;--panel2:#25232a;--text:#eee8e0;--sub:#b1a9a5;--accent:#e8a75d;--border:#38313a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.65 system-ui,-apple-system,'Malgun Gothic',sans-serif}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.45;cursor:not-allowed}
button:focus-visible,a:focus-visible{outline:3px solid #f3be77;outline-offset:3px}
.shell{width:min(1160px,calc(100% - 36px));margin:auto}
.top{border-bottom:1px solid #28242b;background:#141319}
.nav,.nav-right,.brand,.section-head,.cart-bottom,.qty,.item-bottom,.button-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.nav{min-height:73px}.brand{justify-content:flex-start}.brand strong{font-size:14px;letter-spacing:1px}.brand small{display:block;font-size:11px;color:var(--sub)}
.moon{color:var(--accent);font-size:37px;line-height:1}
.pill{border:1px solid #4d493e;border-radius:100px;padding:5px 12px;font-size:12px;color:var(--accent);white-space:nowrap}.pill.open{color:#83d5a1;border-color:#355844}
.ghost{background:transparent;border:1px solid var(--border);color:var(--sub);border-radius:9px;padding:7px 12px}
.intro{padding:26px 0 14px;text-align:center}.eyebrow{color:var(--accent);font-size:11px;letter-spacing:1.8px;font-weight:750}
.intro h1{font-size:clamp(25px,3.7vw,37px);line-height:1.3;letter-spacing:-1.2px;margin:7px 0}.intro h1 em{font-style:normal;color:var(--accent)}
.intro p{color:var(--sub);margin:0}.intro p strong{display:inline-block;margin-top:3px;color:#e5c5a1;font-weight:650}
.menu-section{padding:19px 0 0}.order-area{padding:43px 0 0}.section-head{align-items:end;margin-bottom:20px}.section-head h2{font-size:28px;margin:4px 0 0}.section-head p,.muted{color:var(--sub)}
.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.menu-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:transform .2s,border-color .2s}
.menu-card:hover{transform:translateY(-2px);border-color:#825c3f}
.menu-photo{position:relative;aspect-ratio:640/485;background:#171219;overflow:hidden}
.visual-button{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;color:inherit;background:transparent;text-align:left;cursor:help}
.visual-button>img{width:100%;height:100%;display:block;object-fit:cover}
.category-tag{position:absolute;top:10px;left:10px;z-index:1;border:1px solid currentColor;border-radius:100px;background:#0d0b10ed;padding:4px 10px;font-size:12px;font-weight:800;box-shadow:0 3px 10px #0008;pointer-events:none;transition:opacity .18s}
.category-tag.hunger{color:#ffb278}.category-tag.thirst{color:#8bbdfd}.category-tag.mining{color:#f3c965}.category-tag.logging{color:#a6e4a8}.category-tag.fishing{color:#90cafd}.category-tag.waiting{color:#c5aaa0}
.effect-hint{position:absolute;bottom:10px;right:10px;z-index:1;background:#15121bcc;border:1px solid #8a684d;color:#f5d7b0;padding:2px 9px;border-radius:20px;font-size:11px;transition:opacity .18s}
.food-hover-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(145deg,#100d13f7,#23181bf8);color:#f2e4d7;padding:15px;display:flex;flex-direction:column;gap:7px;justify-content:center;opacity:0;transform:translateY(7px);pointer-events:none;overflow-y:auto;transition:opacity .2s,transform .2s;border:1px solid #e8a75d90}
.visual-button:hover .food-hover-overlay,.visual-button:focus-visible .food-hover-overlay{opacity:1;transform:none}
.visual-button:hover .category-tag,.visual-button:hover .effect-hint,.visual-button:focus-visible .category-tag,.visual-button:focus-visible .effect-hint{opacity:0}
.effect-title{font-size:clamp(12px,1.4vw,16px);font-weight:850;color:#f1c88d;line-height:1.25;display:block}
.tiny-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.tiny-stat{display:flex;flex-direction:column;background:#30282bea;padding:4px 5px;border:1px solid #55413970;border-radius:5px;color:#bfb3a8;line-height:1.28;font-size:clamp(9px,.9vw,11px)}
.tiny-stat b{color:#f3e5d3;font-size:clamp(11px,1.08vw,14px);white-space:nowrap}
.increase{color:#8fdda8!important}.decrease{color:#f2a38b!important}
.tiny-detail{display:flex;flex-direction:column;gap:1px;border-top:1px solid #654b3a;padding-top:5px;color:#f1c99e;font-size:clamp(9px,.94vw,12px);line-height:1.25}
.food-content{padding:17px}.food-en{font-size:10px;letter-spacing:1.5px;color:var(--accent)}.food-content h3{margin:3px 0;font-size:20px}.food-content p{font-size:12px;color:var(--sub);min-height:39px;margin:0 0 12px}
.item-bottom strong{color:var(--accent);font-size:19px}.item-bottom strong.muted{color:var(--sub);font-size:15px}
.add,.qty button,.button-row button,.effect-link{border:1px solid #72563d;background:#332b2b;color:#f0c58e;border-radius:9px;padding:7px 13px}
.add:hover:not(:disabled),.effect-link:hover{background:#4c382d}.sold{color:#ee9b9b;font-size:12px}
.effect-link{margin:0 0 13px;font-size:12px;width:100%;text-align:center}
.coming-soon{border-style:dashed;border-color:#54413c;background:#1a191e}.coming-soon:hover{transform:none;border-color:#54413c}
.placeholder-photo{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 35%,#443025 0,#201c20 48%,#131218 100%)}
.placeholder-art{color:#bc8d5b;display:flex;align-items:center;justify-content:center;gap:10px;font-size:35px;text-shadow:0 0 25px #ad60287a}
.placeholder-art span{font-size:85px;line-height:1.1;transform:rotate(-15deg)}
.coming-soon .category-tag{z-index:3}
.cart-panel{background:var(--panel);border:1px solid var(--border);border-radius:17px;padding:24px}.cart-items{min-height:60px}.empty{color:var(--sub);text-align:center}
.cart-line{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.cart-line small{color:var(--sub)}.qty{gap:9px}.qty button{padding:2px 10px}
.cart-bottom{margin-top:20px}.cart-bottom strong{font-size:18px}.cart-bottom span{color:var(--accent)}
.primary{background:var(--accent);border:0;border-radius:11px;padding:12px 22px;color:#241810;font-weight:800}.primary:hover{background:#f3bc7c}
footer{text-align:center;color:#92878a;padding:45px 0 25px;font-size:12px}
dialog{background:#1b1b23;border:1px solid #4c4140;color:var(--text);border-radius:18px;width:min(520px,calc(100% - 24px));max-height:90vh;overflow:auto}
dialog::backdrop{background:#000c}.modal{padding:20px;position:relative}.modal h2{margin:6px 0}.modal p{color:var(--sub)}
.modal label{display:block;margin:15px 0;color:#d8d1c8}.modal input{width:100%;background:#111116;border:1px solid #48434b;color:var(--text);border-radius:9px;padding:12px;margin-top:6px}
.modal .primary{width:100%;margin-top:12px}.x{position:absolute;right:12px;top:10px;background:none;border:0;color:var(--sub);font-size:18px}
.hint{font-size:12px}.summary-row,.admin-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);padding:10px 0}
.button-row{flex-wrap:wrap}.button-row button{flex:1;white-space:nowrap}.admin-row input{max-width:110px}.admin-row button{background:#3c3029;color:var(--accent);border:1px solid #67503a;border-radius:7px}.admin-modal h3{margin-top:24px}
#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#312c2b;color:#f5d5ad;border:1px solid #66523e;border-radius:12px;padding:10px 20px;display:none;z-index:20;max-width:90vw}
.effect-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.large-stat{display:flex;flex-direction:column;gap:1px;padding:12px;background:#28232a;border:1px solid #403136;border-radius:9px;font-size:12px;color:#c9b9ab}
.large-stat b{font-size:20px;color:#f4e2cf}.effect-extra{display:grid;gap:9px;margin-top:17px;padding:12px;background:#28232a;border-radius:10px;font-size:13px;color:#f3ddc2}
.effect-extra>div{display:flex;flex-direction:column;gap:2px}.effect-extra b{color:#e8a75d}
@media(max-width:1000px){.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tiny-stat{font-size:11px}.tiny-stat b{font-size:14px}.tiny-detail{font-size:11px}}
@media(max-width:720px){.intro{padding:21px 0 9px}.menu-section{padding-top:16px}.order-area{padding-top:35px}.effect-stats .large-stat b{font-size:17px}}
@media(max-width:600px){.shell{width:min(100% - 20px,1160px)}.nav{min-height:68px}.brand strong{font-size:12px}.brand small{font-size:9px}.moon{font-size:29px}.pill{font-size:10px;padding:4px 8px}.ghost{padding:6px 9px;font-size:12px}
  .intro h1{font-size:clamp(23px,6vw,28px)}.intro p{font-size:12px}.section-head{align-items:start;flex-direction:column;gap:3px}.section-head p{margin:0}.section-head h2{font-size:23px}
  .menu-grid{gap:10px}.food-content{padding:12px}.food-content h3{font-size:16px}.food-content p{font-size:11px;min-height:54px}
  .item-bottom strong{font-size:15px}.item-bottom{gap:4px}.add{font-size:12px;padding:6px 8px}.category-tag{top:6px;left:6px;font-size:10px;padding:2px 7px}
  .food-hover-overlay{padding:8px;gap:4px}.tiny-stats{gap:3px}.tiny-stat{padding:3px;font-size:9px}.tiny-stat b{font-size:10px}.tiny-detail{font-size:9px}.effect-title{font-size:11px}
  .effect-hint{bottom:5px;right:5px;font-size:9px;padding:1px 5px}.effect-link{padding:6px 3px;font-size:10px}
  .cart-panel{padding:14px}.cart-bottom{align-items:stretch;flex-direction:column}.large-stat{padding:9px}.large-stat b{font-size:16px}
}
@media(max-width:360px){.menu-grid{grid-template-columns:1fr}.food-content p{min-height:0}.tiny-stat{font-size:11px}.tiny-stat b{font-size:13px}}
@media(hover:none){.food-hover-overlay{display:none}.category-tag,.effect-hint{opacity:1!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.menu-card,.food-hover-overlay,.category-tag,.effect-hint{transition:none}}

/* v4: Centered night-market sign, driven by the actual server status. */
.market-status-wrap{display:flex;justify-content:center;margin:22px auto 4px}
.market-status{display:inline-flex;align-items:center;justify-content:center;gap:11px;
  min-width:184px;padding:12px 28px;border-radius:13px;
  font-weight:850;font-size:18px;letter-spacing:.06em;
  border:1px solid #a56d32;background:linear-gradient(150deg,#29201c,#141317);
  color:#f2c487;box-shadow:inset 0 0 16px #a75d1b18,0 0 18px #de87351c;
  text-shadow:0 0 12px #f2a54d55;transition:all .25s ease}
.market-status::before{content:"";width:9px;height:9px;border-radius:50%;background:#bd8860;
  box-shadow:0 0 9px #ad6d43}
.market-status.is-open{color:#ffd596;border-color:#d38c39;
  background:linear-gradient(145deg,#3b281b,#1d1919);
  box-shadow:inset 0 0 17px #e0a04120,0 0 22px #ed99383b}
.market-status.is-open::before{background:#f6c36b;box-shadow:0 0 12px #f7ad4b}
.market-status.is-closed{color:#bfb3a7;border-color:#655148;text-shadow:none}
@media(max-width:600px){.market-status-wrap{margin-top:18px}.market-status{font-size:16px;min-width:160px;padding:10px 22px}}

/* v5: color-coded live market status and bulk reservation card */
.market-status.is-open{color:#7df5a0;border-color:#248c51;background:linear-gradient(145deg,#122b20,#111a16);text-shadow:0 0 14px #30db7855;box-shadow:inset 0 0 16px #24b76c1a,0 0 19px #20bd6340}
.market-status.is-open::before{background:#46e58a;box-shadow:0 0 12px #38dd7c}
.market-status.is-closed{color:#ff8787;border-color:#a74444;background:linear-gradient(145deg,#331b1e,#191315);text-shadow:0 0 13px #f4434350;box-shadow:inset 0 0 14px #e0444415,0 0 18px #b62e2e35}
.market-status.is-closed::before{background:#ff6969;box-shadow:0 0 12px #e84444}
.bulk-reservation .bulk-photo{background:radial-gradient(ellipse at 45% 50%,#5a244a 0%,#261521 52%,#131016 100%);border-bottom:1px solid #7d395e}
.bulk-reservation .bulk-art{color:#f0a3c7;text-shadow:0 0 25px #e8469c;font-size:58px}
.bulk-reservation .bulk-tag{background:#502340;color:#ffbbdb;border-color:#ad5487}
.bulk-reservation .bulk-label{font-size:12px;color:#e7a8c6;border:1px solid #8b4569;border-radius:999px;padding:6px 10px}

/* v6: warm midnight market atmosphere + cute readable Korean typography */
:root { --display-font:'Jua','Malgun Gothic',sans-serif; --body-font:'Gowun Dodum','Malgun Gothic',sans-serif; }
body{
  font-family:var(--body-font);
  background-color:#100d13;
  background-image:
    radial-gradient(ellipse 52% 25% at 12% 0%,rgba(209,92,30,.21),transparent 75%),
    radial-gradient(ellipse 50% 30% at 89% 3%,rgba(204,74,41,.16),transparent 76%),
    radial-gradient(ellipse 48% 25% at 50% 55%,rgba(102,44,53,.14),transparent 88%),
    linear-gradient(180deg,#171019 0%,#100d13 48%,#171016 100%);
  background-attachment:fixed;
}
.top{
  background:linear-gradient(90deg,#24151c,#1a141a 48%,#25151b);
  border-bottom:1px solid #8b4b2b80;
  box-shadow:0 5px 22px #a8491c16;
}
.intro{position:relative}
.intro::before{content:"✦  ☾  ✦";display:block;letter-spacing:14px;font-size:18px;color:#eaa65c;text-shadow:0 0 14px #e88440a3;margin-bottom:4px}
.intro h1,.section-head h2,.brand strong,.food-content h3,.market-status,.primary,.bulk-label{
  font-family:var(--display-font);
  font-weight:400;
}
.intro h1{letter-spacing:0;text-shadow:0 0 18px #e58c3d30}
.brand strong{font-size:18px}
.section-head h2{font-size:30px}
.food-content h3{font-size:23px;letter-spacing:0}
.menu-card{
  background:linear-gradient(160deg,#241b21 0%,#19161c 85%);
  border-color:#8e583c70;
  box-shadow:0 5px 25px #0005,inset 0 1px #e89d5222;
}
.menu-card:hover{border-color:#db965b;box-shadow:0 8px 27px #0008,0 0 13px #e28c3b25}
.cart-panel{background:linear-gradient(150deg,#241b23,#19161d);border-color:#85533c7a}
.market-status{font-size:21px;letter-spacing:0}
.primary{font-size:18px}
.bulk-reservation{border-color:#a44e82a0;background:linear-gradient(160deg,#2b1928,#1b141d)}
.bulk-reservation .bulk-photo{background:linear-gradient(140deg,#32192a,#170e17)}
.bulk-reservation-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.bulk-reservation .bulk-tag{z-index:2}
@media(max-width:600px){
  .brand strong{font-size:15px}
  .food-content h3{font-size:18px}
  .section-head h2{font-size:25px}
  .market-status{font-size:18px}
  body{background-attachment:scroll}
}


/* v9 – atmospheric night market cards (not a flattened poster). */
.intro{padding:38px 0 22px;isolation:isolate}
.intro::before{content:"✧  ☾  ✧";letter-spacing:14px;color:#f2b765;text-shadow:0 0 14px #ff9d44aa;font-size:22px}
.intro h1{font-size:clamp(30px,4.5vw,52px);font-family:var(--display-font);font-weight:400;line-height:1.2;text-shadow:0 0 18px #ee9c4d55;margin:10px auto 16px}
.intro h1 em{color:#efb65f}
.intro p{font-size:14px;line-height:1.9}
.intro p strong{font-family:var(--display-font);font-size:18px;font-weight:400;color:#ffd9a3;text-shadow:0 0 9px #e99a4b55}
.menu-grid{gap:20px}
.menu-card{background:linear-gradient(145deg,#281b23,#1a141c);border:1px solid #955737a1;box-shadow:inset 0 1px #ffa35d22,0 6px 23px #0007,0 0 14px #b4582019;min-width:0}
.menu-card:hover{border-color:#eca05e;box-shadow:inset 0 1px #ffac5e40,0 9px 24px #000b,0 0 18px #e8903b39}
.food-content{padding:16px}
.food-content h3{font-size:clamp(17px,1.6vw,23px);min-width:0;line-height:1.18;margin:0;overflow-wrap:anywhere}
.menu-title-line{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:34px;margin:6px 0 9px}
.stock-indicator{display:inline-flex;align-items:center;justify-content:center;gap:3px;flex:0 0 auto;white-space:nowrap;line-height:1.1;padding:7px 9px;border-radius:999px;background:#211920;border:1px solid #c68c52;color:#f2c690;font-family:var(--body-font);font-size:12px;box-shadow:0 0 12px #d78a3430}
.stock-indicator strong{font-size:16px;color:#ffdb9e;font-weight:800}
.sample-tag{font-size:9px;color:#bbaa99;margin-left:1px}
/* Stock is always outside the interactive image, so it never overlays food or game-effect panels. */
.menu-photo{border-bottom:1px solid #d87d3659}
.food-hover-overlay{padding:12px 14px;gap:6px;justify-content:center;transform:none;background:linear-gradient(145deg,#100d13fa,#23171cf9);border:1px solid #dd8b53;z-index:3}
.tiny-stat{min-width:0;overflow:hidden}
.tiny-stat b{white-space:normal;overflow-wrap:anywhere}
.tiny-detail{overflow-wrap:anywhere}
.visual-button:hover .food-hover-overlay,.visual-button:focus-visible .food-hover-overlay{opacity:1}
@media(min-width:721px) and (max-width:1160px){.menu-title-line{flex-wrap:wrap}.stock-indicator{margin-left:auto}}
@media(max-width:600px){
 .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 .food-content{padding:11px}
 .menu-title-line{flex-direction:column;align-items:flex-start;gap:6px}
 .food-content h3{font-size:17px}
 .stock-indicator{font-size:11px;padding:5px 8px;align-self:flex-start}
 .stock-indicator strong{font-size:14px}
 .sample-tag{font-size:9px}
 .food-hover-overlay{display:none}
 .intro{padding-top:26px}
 .intro h1{font-size:clamp(28px,6vw,39px)}
}
@media(max-width:390px){.menu-grid{grid-template-columns:1fr}.menu-title-line{flex-direction:row;align-items:center}.food-content h3{font-size:20px}}

/* Decorative lantern corners: behind, never blocking text/buttons. */
main.shell{position:relative}
.intro{position:relative}
.intro::after{content:"";position:absolute;z-index:-1;pointer-events:none;inset:-16px -14px auto;height:240px;opacity:.42;
background-image:linear-gradient(90deg,transparent 17%,#130e1600 45%,#130e1600 55%,transparent 83%),url('/assets/lantern-left.webp'),url('/assets/lantern-right.webp');
background-repeat:no-repeat;background-position:center,left top,right top;background-size:cover,auto 230px,auto 230px;filter:saturate(.8)}
@media(max-width:600px){.intro::after{opacity:.22;height:170px;background-size:cover,auto 160px,auto 160px}}


/* v10 refinements: no header lanterns, better stock placement, cleaner bulk card, natural chicken asset */
.intro::after{display:none !important}
.menu-title-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:10px;row-gap:6px;min-height:0}
.food-content h3{padding-right:0;letter-spacing:-0.01em}
.stock-indicator{align-self:start;margin-top:2px;font-size:12px;padding:7px 10px;background:#1f1820;border-color:#d09155;color:#ffd09a;box-shadow:0 0 11px #db8d3728;position:relative;z-index:1}
.stock-indicator strong{font-size:15px}
.sample-tag{display:none}
.food-hover-overlay{max-height:100%;overflow:auto}
.visual-button img{object-fit:cover;object-position:center}
.bulk-reservation .menu-photo{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,#4d1f42 0%,#21111d 58%,#160f16 100%)}
.bulk-reservation .bulk-reservation-image{width:100%;height:100%;object-fit:cover;object-position:center}
.bulk-reservation .bulk-tag{background:#532649;color:#ffd3eb;border-color:#c25f97}
.bulk-clean p{display:none}
.bulk-clean .item-bottom{justify-content:center}
.bulk-clean .bulk-label{margin-inline:auto;background:#2b1625;border-color:#d067a8;color:#ffd2f0;font-family:var(--display-font);font-size:14px;padding:8px 14px}
.bulk-reservation .food-content h3{font-size:clamp(20px,1.8vw,28px);text-align:center}
.bulk-reservation .food-en{text-align:center;display:block}
@media (max-width: 860px){
  .menu-title-line{grid-template-columns:minmax(0,1fr)}
  .stock-indicator{justify-self:start}
}
@media (max-width: 600px){
  .food-content h3{font-size:16px}
  .menu-title-line{grid-template-columns:1fr}
  .stock-indicator{font-size:11px;padding:5px 8px}
  .stock-indicator strong{font-size:14px}
  .bulk-reservation .food-content h3{font-size:18px}
}

.bulk-clean .item-bottom,.bulk-clean .bulk-label{display:none !important}
.bulk-reservation .food-content{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;min-height:120px}


/* v12: softer dawn-market typography and fixed bulk-order truck card */
:root{ --display-font:'Hi Melody','Malgun Gothic',sans-serif; --body-font:'Gowun Batang','Malgun Gothic',sans-serif; }
body{font-family:var(--body-font)}
.brand strong,.section-head h2,.intro h1,.intro p strong,.food-content h3,.market-status,.primary,.ghost,.bulk-label{font-family:var(--display-font) !important}
.brand strong{font-size:20px;letter-spacing:.02em}
.intro h1{font-size:clamp(34px,4.8vw,58px);font-weight:400;letter-spacing:.01em}
.intro p{font-size:15px;line-height:1.85}
.intro p strong{font-size:23px;font-weight:400}
.food-content h3{font-size:clamp(20px,1.7vw,26px);line-height:1.2}
.section-head h2{font-size:32px}
.market-status{font-size:24px}
.food-en,.eyebrow,.brand small{font-family:var(--body-font)}
.bulk-reservation .menu-photo{padding:14px;background:radial-gradient(circle at 50% 35%,#4b1f42 0%,#24131f 60%,#180f17 100%)}
.bulk-reservation .bulk-reservation-image{width:100%;height:100%;object-fit:contain;object-position:center}
.bulk-reservation .food-content{padding-top:14px}
.bulk-reservation .food-content h3{font-size:clamp(24px,1.9vw,32px);margin-top:2px}
.bulk-clean .food-en{margin-top:2px;margin-bottom:7px}
.bulk-clean .item-bottom,.bulk-clean p,.bulk-clean .bulk-label{display:none !important}
@media(max-width:600px){
  .brand strong{font-size:16px}
  .intro h1{font-size:clamp(30px,8vw,44px)}
  .intro p{font-size:13px}
  .intro p strong{font-size:20px}
  .food-content h3{font-size:17px}
  .market-status{font-size:19px}
  .bulk-reservation .food-content h3{font-size:22px}
}

/* v13: understated, warm, comfortably bold type instead of handwritten fonts. */
:root { --display-font:'Noto Sans KR','Malgun Gothic',sans-serif; --body-font:'Noto Sans KR','Malgun Gothic',sans-serif; }
body {font-family:var(--body-font);font-weight:500;letter-spacing:-.02em}
.brand strong,.section-head h2,.intro h1,.intro p strong,.food-content h3,.market-status,.primary,.ghost,.bulk-label{font-family:var(--display-font)!important;font-weight:700!important;letter-spacing:-.035em}
.intro h1{font-size:clamp(29px,4.1vw,48px);line-height:1.24}
.intro p{font-size:14px;font-weight:400}
.intro p strong{font-size:18px;font-weight:700!important}
.brand strong{font-size:18px}
.section-head h2{font-size:28px}
.market-status{font-size:19px}
.food-content h3{font-size:clamp(16px,1.42vw,21px);line-height:1.4}
.eyebrow,.food-en{letter-spacing:.12em;font-weight:600}
.stock-indicator{font-weight:600;letter-spacing:-.025em}
.stock-indicator strong{font-weight:800}
.bulk-reservation .menu-photo{padding:0;background:radial-gradient(ellipse at center,#47223a 0%,#17101a 80%);display:block}
.bulk-reservation .bulk-reservation-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.bulk-reservation .food-content{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:120px;padding:18px 12px}
.bulk-reservation .food-content h3{font-size:clamp(19px,1.6vw,25px);font-weight:800!important;line-height:1.35}
@media(max-width:600px){.brand strong{font-size:15px}.intro h1{font-size:clamp(27px,6.7vw,36px)}.intro p{font-size:12px}.intro p strong{font-size:15px}.food-content h3{font-size:15px}.market-status{font-size:16px}.bulk-reservation .food-content h3{font-size:19px}}

/* v15 — restore original warm rounded fonts; preserve all images and functionality */
:root {--display-font:'Jua','Malgun Gothic',sans-serif;--body-font:'Gowun Dodum','Malgun Gothic',sans-serif}
body {font-family:var(--body-font)!important;font-weight:400;letter-spacing:normal}
.brand strong,.section-head h2,.intro h1,.intro p strong,.food-content h3,.market-status,.primary,.ghost,.bulk-label{font-family:var(--display-font)!important;font-weight:400!important;letter-spacing:normal!important}
.food-en,.eyebrow,.brand small,.food-content p,.hint,label,input,textarea,select,small,footer,.stock-indicator,.effect-extra,.large-stat,.tiny-stat{font-family:var(--body-font)!important}
.intro h1{font-size:clamp(30px,4.5vw,52px);line-height:1.2}
.intro p strong{font-size:18px}
.section-head h2{font-size:30px}
.market-status{font-size:21px}
.food-content h3{font-size:clamp(17px,1.6vw,23px);line-height:1.25}
.bulk-reservation .food-content h3{font-size:clamp(20px,1.8vw,26px)}
@media(max-width:600px){.section-head h2{font-size:25px}.market-status{font-size:18px}.food-content h3{font-size:17px}.bulk-reservation .food-content h3{font-size:20px}}

/* v17 order tracking and receipt — dark night market styling */
.nav-track-link{color:#f0bd85;text-decoration:none;padding:9px 12px;border:1px solid #8c5e3d;border-radius:999px;font-size:13px}
.nav-track-link:hover{background:#3b281f}
.tracking-section{padding:37px 0 10px;scroll-margin-top:85px}
.tracking-panel{background:linear-gradient(140deg,#281b23,#19151e);border:1px solid #955737a1;border-radius:17px;padding:23px;box-shadow:0 6px 20px #0005}
.tracking-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.tracking-form label{color:#ddc4b2;font-size:13px;display:flex;flex-direction:column;gap:7px}
.tracking-form input{background:#141016;border:1px solid #80553e;border-radius:9px;color:#eee8e0;padding:12px;min-width:0;width:100%}
.tracking-form .primary{align-self:end;white-space:nowrap}
#trackingResult{margin-top:18px}
.track-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#ffe0b0}
.track-status{border:1px solid #d18b42;padding:6px 13px;border-radius:999px;background:#39291e;color:#ffd9a1}
.track-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0 12px}
.track-step{display:flex;gap:8px;align-items:center;justify-content:center;opacity:.43;padding:12px 7px;border:1px solid #65402e;border-radius:12px;background:#1d1920;color:#dec4b0}
.track-step>span{display:grid;place-items:center;background:#504038;border-radius:50%;min-width:28px;height:28px}
.track-step.current{opacity:1;border-color:#e2a155;box-shadow:0 0 13px #b5793145;color:#ffe2b4}
.track-step.current>span{background:#a96834;color:white}
.track-warning{color:#ff9a9a}.track-done{color:#8ce0a8}
.receipt-details{padding:12px;border-radius:10px;background:#141116;overflow-wrap:anywhere}
.receipt-details p{display:flex;flex-direction:column;gap:5px}
.receipt-details code{color:#ffd59b;user-select:all;font-size:12px}
.receipt-modal .ghost{margin:10px auto;display:block}
@media(max-width:760px){.tracking-form{grid-template-columns:1fr}.track-step{font-size:12px;flex-direction:column;text-align:center}.tracking-panel{padding:14px}.nav-track-link{font-size:12px;padding:7px 9px}}

/* v19: four progress stages including completed, name-only tracking. */
.track-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
.tracking-form{grid-template-columns:minmax(0,1fr) auto}
@media(max-width:760px){.tracking-form{grid-template-columns:1fr}.track-steps{gap:5px}.track-step{font-size:11px;padding:9px 3px}.track-step>span{min-width:22px;height:22px}}

/* v20: payment selector */
.payment-options{border:1px solid #70523c;border-radius:12px;padding:12px;margin:18px 0 12px;background:#241b21}
.payment-options legend{padding:0 8px;font-weight:700;color:#f2c58c}
.payment-choice{display:flex!important;align-items:center;gap:12px;margin:8px 0!important;padding:11px 13px;border:1px solid #5e4540;border-radius:10px;cursor:pointer;background:#1a151b}
.payment-choice:has(input:checked){border-color:#e8a75d;background:#36261c}
.payment-choice input{width:18px!important;height:18px;flex:none;margin:0!important;accent-color:#e8a75d}
.payment-choice span{display:flex;flex-direction:column;gap:3px}.payment-choice strong{color:#f6dfbf}.payment-choice small{color:#b6a99e}
.transfer-account{border:1px solid #c38a4d;border-radius:12px;background:linear-gradient(135deg,#3a281f,#211a20);padding:13px 15px;margin:12px 0;color:#f6dfbf}
.transfer-account[hidden]{display:none!important}
.transfer-account>span{display:block;font-size:12px;color:#ecb977}.transfer-account>strong{display:block;font-size:19px;letter-spacing:.02em;margin:7px 0;overflow-wrap:anywhere}
.transfer-account p{font-size:12px;line-height:1.6;margin:6px 0!important;color:#d7c3ae!important}
.transfer-account .ghost{margin-top:8px}
.receipt-account{margin:14px 0}.receipt-payline{border:1px solid #785d48;border-radius:10px;padding:12px;color:#f0d5b5!important}


/* v23: gentle winter snowfall + cool blue dawn glow */
html,body{overflow-x:hidden}
body{position:relative}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-2;
  background:
    radial-gradient(ellipse at top center, rgba(98,140,214,.20), transparent 44%),
    radial-gradient(ellipse at 20% 18%, rgba(126,174,255,.12), transparent 32%),
    radial-gradient(ellipse at 82% 12%, rgba(126,174,255,.10), transparent 30%),
    linear-gradient(180deg, rgba(30,42,78,.26) 0%, rgba(17,16,26,.06) 26%, rgba(8,10,18,0) 56%);
}
body::after,
main.shell::before,
main.shell::after{
  content:"";
  position:fixed;
  inset:-12% -8% 0;
  pointer-events:none;
  z-index:20;
  opacity:.58;
  background-repeat:repeat;
  animation: snow-fall 28s linear infinite;
}
body::after{
  background-image:
    radial-gradient(circle, rgba(255,255,255,.95) 0 1.1px, transparent 1.3px),
    radial-gradient(circle, rgba(224,239,255,.90) 0 1.7px, transparent 1.9px),
    radial-gradient(circle, rgba(205,225,255,.80) 0 2.3px, transparent 2.6px);
  background-size: 110px 110px, 180px 180px, 260px 260px;
  background-position: 12px 0, 40px 20px, 0 70px;
  filter:drop-shadow(0 0 5px rgba(205,230,255,.18));
}
main.shell::before{
  z-index:21;
  inset:-14% -10% 0;
  opacity:.42;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.92) 0 1.4px, transparent 1.7px),
    radial-gradient(circle, rgba(221,236,255,.85) 0 2px, transparent 2.4px);
  background-size: 150px 150px, 240px 240px;
  background-position: 70px -30px, 0 0;
  animation-duration: 20s;
  animation-name: snow-fall-fast;
}
main.shell::after{
  z-index:19;
  inset:-16% -7% 0;
  opacity:.22;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.78) 0 1px, transparent 1.3px),
    radial-gradient(circle, rgba(192,219,255,.72) 0 1.5px, transparent 1.8px);
  background-size: 85px 85px, 145px 145px;
  background-position: 0 0, 45px 30px;
  animation-duration: 38s;
  animation-name: snow-fall-slow;
}
.top,.menu-card,.cart-panel,.tracking-panel,.intro,.modal,.market-status,.menu-section,.tracking-section,.order-area footer{
  position:relative;
}
.top::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(120,162,255,.12), rgba(0,0,0,0));
  mix-blend-mode:screen;
}
.intro{
  background:linear-gradient(180deg, rgba(75,103,172,.12), rgba(0,0,0,0) 42%);
  border-radius:22px;
}
.intro h1{ text-shadow:0 0 18px rgba(157,196,255,.18), 0 0 10px rgba(238,156,77,.32) !important; }
.intro p strong{ text-shadow:0 0 10px rgba(145,188,255,.18), 0 0 9px rgba(233,154,75,.34) !important; }
.menu-card,
.cart-panel,
.tracking-panel,
.modal{
  backdrop-filter: blur(1.5px);
  box-shadow: inset 0 1px rgba(255,255,255,.02), 0 8px 30px rgba(0,0,0,.34), 0 0 20px rgba(112,145,219,.08);
}
.market-status{
  box-shadow: inset 0 0 16px rgba(255,255,255,.04), 0 0 18px rgba(109,145,225,.08);
}
@keyframes snow-fall{
  from{ transform:translate3d(0,-6%,0); }
  to{ transform:translate3d(-2%,105%,0); }
}
@keyframes snow-fall-fast{
  from{ transform:translate3d(1%,-8%,0); }
  to{ transform:translate3d(-3%,108%,0); }
}
@keyframes snow-fall-slow{
  from{ transform:translate3d(-1%,-5%,0); }
  to{ transform:translate3d(1%,103%,0); }
}
@media (prefers-reduced-motion: reduce){
  body::after, main.shell::before, main.shell::after{ animation:none; }
}
@media (max-width: 600px){
  body::after, main.shell::before, main.shell::after{ opacity:.45; }
  .intro{ border-radius:18px; }
}
