dialog.cw-menu{position:fixed;inset:0 max(0px,calc((100vw - 448px)/2)) 0 auto;box-sizing:border-box;width:min(360px,88vw);max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:24px 24px max(28px,env(safe-area-inset-bottom));border:0;border-radius:0;background:#fff;color:#343039;overflow-y:auto;overscroll-behavior:contain;box-shadow:-12px 0 36px #24151b18}dialog.cw-menu[open]{animation:by-menu-enter .24s ease-out}dialog.cw-menu::backdrop{background:rgba(25,18,22,.38)}dialog.cw-menu .cw-title{position:sticky;top:-24px;z-index:1;background:white;padding:18px 0 14px;margin:-6px 0 8px;border-bottom:1px solid #ece5e5}dialog.cw-menu .cw-title h2{font-family:'Batang','바탕',serif;font-size:25px;letter-spacing:1px;color:#b5232d}dialog.cw-menu .cw-title h2 small{font-size:12px;font-weight:400;letter-spacing:1px;color:#776a64;margin-left:8px}dialog.cw-menu .cw-title button{width:44px;height:44px;font-size:30px;line-height:1;border-radius:50%;color:#5f5355}dialog.cw-menu>a{min-height:50px;display:flex;align-items:center;font-size:14px;text-decoration:none}dialog.cw-menu .menu-category-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:16px 0;border-bottom:1px solid #eee}dialog.cw-menu .menu-category-links a{padding:12px 2px;text-align:center;border-radius:8px;background:#f8f4f2;font-size:13px;text-decoration:none}dialog.cw-menu a:hover{color:#b5232d}dialog.cw-menu :focus-visible{outline:2px solid #b5232d;outline-offset:2px}@keyframes by-menu-enter{from{transform:translateX(100%);opacity:.65}to{transform:translateX(0);opacity:1}}@media(prefers-reduced-motion:reduce){dialog.cw-menu[open]{animation:none}}

/* Anchor to the browser edge, not the centered site's edge. */
dialog.cw-menu{inset:0 0 0 auto;width:320px;border-radius:18px 0 0 18px}body.by-edge-menu{margin-left:max(0px,min(calc((100vw - 448px)/2),calc(100vw - 784px)));margin-right:0}body.by-edge-menu .bottom-nav{left:max(0px,min(calc((100vw - 448px)/2),calc(100vw - 784px)));right:auto;width:448px;box-sizing:border-box}@media(max-width:783px){body.by-edge-menu{width:calc(100% - clamp(160px,40vw,280px) - 12px);max-width:none;margin-left:0}body.by-edge-menu dialog.cw-menu{width:clamp(160px,40vw,280px);padding:18px 12px}body.by-edge-menu .bottom-nav{width:calc(100% - clamp(160px,40vw,280px) - 12px);left:0}body.by-edge-menu .header{padding-left:8px;padding-right:8px;flex-wrap:wrap;height:auto;min-height:56px}body.by-edge-menu .cw-header-actions{gap:4px}body.by-edge-menu .menu-category-links{grid-template-columns:repeat(2,minmax(0,1fr))}body.by-edge-menu dialog.cw-menu .cw-title h2{font-size:20px}body.by-edge-menu dialog.cw-menu .cw-title h2 small{display:none}}

/* Mobile uses a conventional overlay; keep the page at its normal width. */
@media(max-width:783px){body.by-edge-menu{width:100%;max-width:448px;margin-left:auto;margin-right:auto}body.by-edge-menu dialog.cw-menu{width:min(320px,88vw);padding:24px 24px max(28px,env(safe-area-inset-bottom))}body.by-edge-menu .bottom-nav{width:100%;max-width:448px;left:0;right:0;margin-left:auto;margin-right:auto}body.by-edge-menu .header{padding:0 20px;flex-wrap:nowrap;height:56px;min-height:56px}body.by-edge-menu .cw-header-actions{gap:18px}body.by-edge-menu .menu-category-links{grid-template-columns:repeat(3,minmax(0,1fr))}body.by-edge-menu dialog.cw-menu .cw-title h2{font-size:25px}body.by-edge-menu dialog.cw-menu .cw-title h2 small{display:inline}}
