/* 开场、按钮与页面转场 */
#dining-concept .dc-intro{position:fixed;inset:0;width:100%;height:100%;min-height:0;z-index:200;display:grid;place-items:center;padding:70px 24px;background:none;background-image:none;overflow:hidden}
#dining-concept .dc-boot-door{position:absolute;top:0;bottom:0;width:50.2%;background:#f6f0e7;z-index:0}
#dining-concept .dc-boot-door-left{left:0;background:radial-gradient(ellipse at 100% 45%,#e7d7c2 0,#f6f0e7 65%)}
#dining-concept .dc-boot-door-right{right:0;background:radial-gradient(ellipse at 0 45%,#e7d7c2 0,#f6f0e7 65%)}
#dining-concept .dc-boot-stage{z-index:1;position:relative;text-align:center;width:min(100%,520px);display:flex;flex-direction:column;align-items:center}
#dining-concept .dc-boot-plate{position:relative;width:226px;height:226px;display:grid;place-items:center;margin-bottom:32px}
#dining-concept .dc-boot-ring{position:absolute;inset:0;border:1px solid #a5392b44;border-radius:50%}
#dining-concept .dc-boot-ring:nth-child(2){inset:12px;border-color:#c5a17a66}
#dining-concept .dc-boot-ring:nth-child(3){inset:28px;border-color:#a5392b2b;background:radial-gradient(circle at 35% 25%,#fffcf3,#efe0c82e);box-shadow:inset 0 0 35px #e1c8a41a}
#dining-concept .dc-boot-ring:first-child:after{content:"";position:absolute;top:13%;right:13%;width:5px;height:5px;border-radius:50%;background:#a5392b;box-shadow:0 0 18px #a5392b33}
#dining-concept .dc-boot-seal{z-index:1;border:1px solid #a5392b;background:#a5392b;color:#fff4df;padding:10px 17px;font-family:钟蜀书题,"KaiTi",serif;font-size:58px;line-height:1.25;transform:rotate(-5deg);box-shadow:0 8px 24px #6d321615}
#dining-concept .dc-boot-steam{position:absolute;width:20px;height:75px;border-left:1px solid #a5392b33;border-radius:50%;top:-26px;left:calc(50% - 17px);transform:rotate(12deg)}
#dining-concept .dc-boot-steam:after{content:"";position:absolute;left:23px;top:-11px;width:18px;height:72px;border-right:1px solid #a5392b22;border-radius:50%;transform:rotate(4deg)}
#dining-concept .dc-intro .dc-intro-name{display:flex;justify-content:center;gap:10px;font-size:64px;margin:0;color:#35271e;letter-spacing:7px;line-height:1.25}
#dining-concept .dc-boot-word{display:inline-block;position:relative}
#dining-concept .dc-intro .dc-intro-caption{font-size:15px;margin:22px 0 0;letter-spacing:5px;line-height:1.8;color:#86664d}
#dining-concept .dc-boot-rule{height:1px;width:120px;margin:30px auto 0;background:#a5392b;transform-origin:left;opacity:.55}
#dining-concept .dc-boot-foot{position:absolute;bottom:34px;left:20px;right:20px;z-index:1;text-align:center;color:#7f6853;font-size:18px;letter-spacing:4px}
#dining-concept .dc-boot-smoke{position:absolute;z-index:1;top:-18%;width:58%;height:136%;border-radius:48%;background:#b7653c1f;filter:blur(36px);pointer-events:none}
#dining-concept .dc-boot-smoke-left{left:-34%}#dining-concept .dc-boot-smoke-right{right:-34%}
#dining-concept .dc-boot-embers{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 23% 76%,#b3422b 0 2px,transparent 3px),radial-gradient(circle at 72% 28%,#d17c4f 0 2px,transparent 3px),radial-gradient(circle at 82% 72%,#a5392b 0 1px,transparent 2px),radial-gradient(circle at 39% 34%,#c15b36 0 1px,transparent 2px)}
#dining-concept .dc-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
#dining-concept .dc-boot-running .dc-boot-ring{animation:dc-ring-write 1.55s cubic-bezier(.2,.75,.2,1) both}
#dining-concept .dc-boot-running .dc-boot-ring:nth-child(2){animation-delay:.12s}
#dining-concept .dc-boot-running .dc-boot-ring:nth-child(3){animation-delay:.22s}
#dining-concept .dc-boot-running .dc-boot-seal{animation:dc-seal-land 850ms .45s cubic-bezier(.16,.85,.25,1) both}
#dining-concept .dc-boot-running .dc-boot-steam{animation:dc-steam-rise 1.8s .1s ease-out both}
#dining-concept .dc-boot-running .dc-boot-word{animation:dc-brush-write 900ms .65s cubic-bezier(.2,.75,.2,1) both}
#dining-concept .dc-boot-running .dc-boot-word:nth-child(2){animation-delay:.84s}
#dining-concept .dc-boot-running .dc-boot-word:nth-child(3){animation-delay:1.03s}
#dining-concept .dc-boot-running .dc-intro-caption{animation:dc-ink-appear 800ms 1.25s ease-out both}
#dining-concept .dc-boot-running .dc-boot-rule{animation:dc-rule-write 2.4s .15s linear both}
#dining-concept .dc-boot-running .dc-boot-smoke-left{animation:dc-smoke-left 4s ease-in-out both}
#dining-concept .dc-boot-running .dc-boot-smoke-right{animation:dc-smoke-right 4s ease-in-out both}
#dining-concept .dc-boot-running .dc-boot-embers{animation:dc-embers 4s linear both}
#dining-concept .dc-route-curtain{position:fixed;inset:0;z-index:260;background:radial-gradient(circle at 50% 44%,#f6f0e7 0,#eee1cf 72%);pointer-events:none;transform:translateX(-102%);visibility:hidden;will-change:transform}
#dining-concept .dc-route-curtain.is-active,#dining-concept .dc-route-curtain.is-covering{visibility:visible}
.dc-route-entering #dining-concept .dc-route-curtain{transform:translateX(0);visibility:visible}
#dining-concept .dc-route-line{position:absolute;left:8%;right:8%;top:50%;height:2px;background:#a5392b;transform:scaleX(0);transform-origin:left}
.dc-route-entering #dining-concept .dc-route-line,#dining-concept .dc-route-curtain.is-covering .dc-route-line{transform:scaleX(1)}
#dining-concept .dc-route-card-ghost{position:fixed;z-index:180;overflow:hidden;pointer-events:none;background:#d8bda1;box-shadow:0 24px 70px #4b251955}
#dining-concept .dc-route-card-ghost img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#dining-concept .dc-route-card-ghost .dc-rank-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,#28140be8 100%)}
#dining-concept .dc-reveal-pending{opacity:0}
#dining-concept .dc-primary{background-image:radial-gradient(circle at var(--pointer-x,50%) 0,#ffffff12,transparent 70%)}
#dining-concept .dc-tabbar button{transition:color .25s,background .3s,border-color .3s,transform .25s}
#dining-concept .dc-tabbar button:active{transform:scale(.965)}
#dining-concept .dc-feature{transition:padding-left .4s cubic-bezier(.2,.75,.2,1),border-color .3s}
#dining-concept .dc-feature:hover{padding-left:8px;border-top-color:#a5392b88}
#dining-concept .dc-article{transition:background .35s,padding-left .35s}
#dining-concept .dc-article:hover{background:#e8d9c529;padding-left:9px}
#dining-concept .dc-rankrow{transition:background .3s,padding-left .35s}
#dining-concept .dc-rankrow:hover{padding-left:9px;background:#ead8c329}
@keyframes dc-ring-write{from{opacity:0;transform:rotate(-90deg) scale(.82);clip-path:inset(0 100% 0 0)}to{opacity:1;transform:rotate(0) scale(1);clip-path:inset(0 0 0 0)}}
@keyframes dc-seal-land{0%{opacity:0;transform:translateY(-16px) rotate(-12deg) scale(1.18)}65%{opacity:1;transform:translateY(1px) rotate(-5deg) scale(.98)}100%{opacity:1;transform:translateY(0) rotate(-5deg) scale(1)}}
@keyframes dc-brush-write{from{clip-path:inset(0 100% 0 0);transform:translateX(-6px);opacity:0}to{clip-path:inset(0 0 0 0);transform:translateX(0);opacity:1}}
@keyframes dc-steam-rise{from{opacity:0;transform:translateY(18px) rotate(12deg)}to{opacity:1;transform:translateY(0) rotate(12deg)}}
@keyframes dc-ink-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes dc-rule-write{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes dc-smoke-left{0%{transform:translateX(-12%) rotate(0);opacity:0}22%,68%{opacity:.75}100%{transform:translateX(135%) rotate(20deg);opacity:0}}
@keyframes dc-smoke-right{0%{transform:translateX(12%) rotate(0);opacity:0}22%,68%{opacity:.65}100%{transform:translateX(-135%) rotate(-20deg);opacity:0}}
@keyframes dc-embers{0%{transform:translateY(22px);opacity:0}25%,72%{opacity:.6}100%{transform:translateY(-28px);opacity:0}}
@media(max-width:620px){#dining-concept .dc-intro{padding:70px 20px}#dining-concept .dc-boot-plate{width:190px;height:190px;margin-bottom:26px}#dining-concept .dc-boot-seal{font-size:50px}#dining-concept .dc-intro .dc-intro-name{font-size:55px;gap:6px}#dining-concept .dc-intro .dc-intro-caption{font-size:13px;letter-spacing:3px}#dining-concept .dc-boot-foot{font-size:16px;letter-spacing:2px}}
@media(prefers-reduced-motion:reduce){#dining-concept *,#dining-concept *:before,#dining-concept *:after{animation:none!important;transition:none!important}#dining-concept .dc-reveal-pending{opacity:1}#dining-concept .dc-feature:hover,#dining-concept .dc-article:hover,#dining-concept .dc-rankrow:hover{padding-left:0}}

/* 第七版：固定背景、内容编排、人物共享位置与印章归位。 */
#dining-concept .dc-shared-portrait{position:fixed;z-index:90;overflow:hidden;pointer-events:none;background:#eee4db;box-shadow:0 18px 48px #754c2a0c}
#dining-concept .dc-shared-portrait img{display:block;width:100%;height:100%;object-fit:contain}
#dining-concept .dc-shared-seal{position:fixed;z-index:220;display:grid;place-items:center;pointer-events:none;background:#a5392b;color:#fff4df;font-family:钟蜀书题,"KaiTi",serif;font-weight:400;line-height:1;font-size:58px}
#dining-concept .dc-intro .dc-boot-door-left{width:100%;background:radial-gradient(ellipse at 50% 42%,#eee1cf 0,#f6f0e7 65%)}
#dining-concept .dc-intro .dc-boot-door-right{display:none}
#dining-concept .dc-boot-ring:first-child:after{display:none}
#dining-concept .dc-boot-running .dc-boot-seal{animation:dc-v7-seal 850ms .28s cubic-bezier(.22,1,.36,1) both}
#dining-concept .dc-boot-running .dc-boot-ring{animation:dc-v7-ring 1200ms cubic-bezier(.22,1,.36,1) both}
#dining-concept .dc-boot-running .dc-boot-word{animation-duration:800ms;animation-delay:.45s}
#dining-concept .dc-boot-running .dc-boot-word:nth-child(2){animation-delay:.59s}
#dining-concept .dc-boot-running .dc-boot-word:nth-child(3){animation-delay:.73s}
#dining-concept .dc-boot-running .dc-intro-caption{animation-delay:.94s;animation-duration:650ms}
#dining-concept .dc-boot-rule{width:64px;height:2px;margin-top:24px}
#dining-concept .dc-boot-running .dc-boot-rule{animation-duration:1.5s}
#dining-concept .dc-primary:hover{transform:translateY(-1px);box-shadow:0 5px 14px #8e28141c}
#dining-concept .dc-primary:active{transform:translateY(0) scale(.98)}
#dining-concept .dc-primary:before{background:linear-gradient(110deg,transparent 42%,#ffedc414 50%,transparent 58%)}
#dining-concept .dc-ripple{width:80px;height:80px;background:#fce6c41a;animation:dc-v7-touch .48s ease-out both}
#dining-concept .dc-feature:hover,#dining-concept .dc-article:hover,#dining-concept .dc-rankrow:hover{padding-left:0}
#dining-concept .dc-feature:hover{border-top-color:#a5392b}
#dining-concept .dc-article:hover,#dining-concept .dc-rankrow:hover{background:#ead8c31c}
#dining-concept .dc-arrow{transition:transform .5s cubic-bezier(.22,1,.36,1)}
#dining-concept :is(a,button):hover .dc-arrow{transform:translateX(3px)}
@keyframes dc-v7-seal{from{opacity:0;transform:translateY(9px) rotate(-5deg)}to{opacity:1;transform:translateY(0) rotate(-5deg)}}
@keyframes dc-v7-ring{from{opacity:0;transform:rotate(-20deg) scale(.94);clip-path:inset(0 100% 0 0)}to{opacity:1;transform:rotate(0) scale(1);clip-path:inset(0)}}
@keyframes dc-v7-touch{from{opacity:.5;transform:translate(-50%,-50%) scale(.3)}to{opacity:0;transform:translate(-50%,-50%) scale(2.4)}}
