/* 中文：全站颜色、字体和间距令牌 */
:root{--bg:#f8f2ec;--surface:#fffdf9;--surface-warm:#f2e7dc;--studio:#fbf6f0;--garden:#f4eee4;--coast:#edf0ed;--joy:#f4e2df;--fg:#392c29;--muted:#766660;--border:#d4c4b7;--soft:#e8dbd0;--accent:#9e3c45;--accent-dark:#773039;--on-accent:#fffaf6;--success:#3f765e;--danger:#a0363e;--display:"Wedding Kai","Kaiti SC",KaiTi,serif;--body:"Wedding Sans",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--mono:"Wedding Sans",ui-monospace,Consolas,monospace;--script:"Wedding Script","Wedding Kai","Kaiti SC",KaiTi,cursive;--max:1024px;--gutter:22px;--section:100px;--fast:180ms;--ease:cubic-bezier(.28,0,.22,1)}

/* 中文：基础重置和通用排版规则 */
*{box-sizing:border-box}
/* 中文：确保 hidden 不被表单和成功卡片的布局样式覆盖 */
[hidden]{display:none!important}
/* 中文：关闭移动 Safari 的自动文字膨胀，但保留用户手势缩放与浏览器缩放 */
html{scroll-behavior:smooth;color-scheme:light;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.47 var(--body);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.5}
:focus-visible{outline:3px solid #c47a7f;outline-offset:2px}
.container{width:min(100%,calc(var(--max) + var(--gutter)*2));margin:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section)}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.06;letter-spacing:-.015em;margin:0;text-wrap:balance}
h1{font-size:clamp(42px,7vw,80px)}
h2{font-size:clamp(34px,5vw,56px)}
h3{font-size:23px}
.lead{max-width:56ch;color:var(--muted);font-size:21px;line-height:1.5;margin:20px 0 0}
.eyebrow{margin:0 0 20px;color:var(--accent);font:600 12px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.meta,.field-help,.privacy-note{color:var(--muted);font-size:13px}
/* 中文：顶部导航、按钮和移动端菜单 */
.topnav,.admin-top{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--border);background:var(--bg);border-bottom:1px solid color-mix(in oklch,var(--border) 75%,transparent);background:color-mix(in oklch,var(--bg) 90%,transparent);backdrop-filter:blur(16px)}
.nav-inner{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{font:600 19px var(--display)}
.topnav nav{display:flex;gap:28px}
.topnav nav a{min-height:44px;display:flex;align-items:center;color:var(--muted);font-size:14px}
.topnav nav a:hover{color:var(--fg)}
.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--fg);font-size:14px;font-weight:600;transition:transform var(--fast) var(--ease),background var(--fast) var(--ease),border-color var(--fast) var(--ease)}
.btn:hover{background:#0000000d}
.btn:active{transform:scale(.98)}
.btn-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}
.btn-primary:hover{border-color:var(--accent-dark);background:var(--accent-dark);color:var(--on-accent)}
.btn-secondary{border-color:var(--border);background:var(--surface)}
.btn-secondary:hover{border-color:var(--fg)}
.btn-ghost{padding-inline:12px}
.menu-toggle{display:none;width:44px;min-height:44px;padding:8px}
.menu-icon{display:grid;width:22px;gap:4px}
.menu-icon span{display:block;height:2px;border-radius:2px;background:currentColor;transition:transform var(--fast) var(--ease),opacity var(--fast) var(--ease)}
.menu-toggle[aria-expanded=true] .menu-icon span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-icon span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] .menu-icon span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:57px 0 auto;z-index:19;padding:16px 22px;border-bottom:1px solid var(--border);background:var(--bg);box-shadow:0 12px 32px #392c291a}
.mobile-menu a{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--soft)}

/* 中文：封面区域在桌面端分栏，在手机端改为纵向布局 */
.hero{padding-block:clamp(72px,10vw,144px)}
.hero-split{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(32px,7vw,88px);align-items:center}
.hero-date{margin-top:24px;color:var(--fg);font:600 21px/1.3 var(--mono)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,424px);gap:8px;margin-top:32px}
.count-cell{padding:16px 8px;border-top:1px solid var(--fg)}
.count-cell b{display:block;font:600 28px/1 var(--mono);letter-spacing:-.03em}
.count-cell>span{display:block;margin-top:8px;color:var(--muted);font-size:12px}
.hero-photo-wrap{position:relative;overflow:hidden;border-radius:36px}
.hero-photo{width:100%;height:auto;border-radius:36px;box-shadow:0 12px 32px #392c291a}
.photo-note{position:absolute;right:16px;bottom:16px;padding:10px 14px;border-radius:999px;background:#fffdf9d9;box-shadow:0 12px 32px #392c291a;font-size:14px;backdrop-filter:blur(10px)}

/* 中文：每个章节只从上一章颜色过渡到本章颜色，章节底部保持本章纯色 */
.theme-section{background:linear-gradient(180deg,var(--theme-from) 0%,var(--theme-bg) 18%,var(--theme-bg) 100%)}
.theme-studio{--theme-from:var(--bg);--theme-bg:var(--studio)}
.theme-garden{--theme-from:var(--studio);--theme-bg:var(--garden)}
.theme-coast{--theme-from:var(--garden);--theme-bg:var(--coast)}
.theme-joy{--theme-from:var(--coast);--theme-bg:var(--joy)}
.theme-layout{display:grid;grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr);gap:clamp(32px,7vw,80px);align-items:center}
.theme-section.media-left .theme-copy{order:2}
.theme-section.media-left .theme-media{order:1}
.theme-copy{position:relative;isolation:isolate}
.theme-copy:before{content:attr(data-art-title);position:absolute;z-index:-1;right:-10px;top:-45px;color:#9e3c451a;font:400 clamp(76px,10vw,132px)/.8 var(--script);white-space:nowrap}
.theme-index{display:block;margin-bottom:16px;color:var(--muted);font:12px/1.3 var(--mono);letter-spacing:.09em}
.theme-english{display:block;margin:-4px 0 18px;color:var(--accent);font:400 clamp(24px,3vw,38px)/1 var(--script);letter-spacing:.02em}
.theme-note{margin:32px 0 0;padding-top:20px;border-top:1px solid var(--border);color:var(--fg);font:18px/1.6 var(--script)}

/* 中文：轮播舞台、切换动画和控制器 */
.carousel{width:min(100%,46vh,520px);min-width:0;justify-self:center}
.carousel[data-orientation=landscape]{width:100%}
.carousel-stage{position:relative;width:100%;aspect-ratio:2/3;overflow:hidden;border:1px solid var(--border);border-radius:28px;background:var(--surface);box-shadow:0 12px 32px #392c291a;touch-action:pan-y;user-select:none;cursor:grab}
.carousel-stage:active{cursor:grabbing}
.carousel[data-orientation=landscape] .carousel-stage{aspect-ratio:3/2}
/* 中文：主纱使用零描边圆角舞台，阴影提供轻微立体感 */
.carousel[data-orientation=portrait] .carousel-stage{aspect-ratio:2/3;border:0;border-radius:28px;background:transparent;box-shadow:0 18px 42px #392c2930}
/* 中文：轮播只做水平方向平推，不改变透明度，避免照片淡入淡出 */
.slide{position:absolute;inset:0;margin:0;visibility:hidden;pointer-events:none;transform:translate3d(100%,0,0);will-change:transform}
.slide.is-active{z-index:2;visibility:visible;transform:translate3d(0,0,0)}
.slide.from-right,.slide.from-left{z-index:2;visibility:visible}
.slide.from-right{transform:translate3d(100%,0,0)}
.slide.from-left{transform:translate3d(-100%,0,0)}
.slide.to-left,.slide.to-right{z-index:1;visibility:visible}
.slide.to-left{transform:translate3d(-100%,0,0);transition:transform 1200ms var(--ease)}
.slide.to-right{transform:translate3d(100%,0,0);transition:transform 1200ms var(--ease)}
.slide.is-active.is-moving{transition:transform 1200ms var(--ease)}
.slide img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.carousel-controls{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;margin-top:8px}
.carousel-dots{display:flex;gap:2px;flex-wrap:wrap;justify-content:center}
.dot{width:28px;height:36px;display:grid;place-items:center;border:0;background:transparent;padding:0}
.dot:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--border);transition:transform var(--fast) var(--ease),background var(--fast) var(--ease)}
.dot:hover:before,.dot[aria-current=true]:before{transform:scale(1.35);background:var(--fg)}
.carousel-counter{position:absolute;right:0;color:var(--muted);font-size:12px}

/* 中文：草坪森系改成一张横幅主图加三张竖幅卡片，避免瀑布流的高低跳动 */
.photo-collage{width:min(100%,680px);justify-self:center}
.garden-collage{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;padding:8px 4px;overflow:visible;align-items:start}
.gallery-card{display:block;overflow:hidden;margin:0;padding:0;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:0 18px 38px #392c2920;transition:transform 500ms var(--ease),box-shadow 500ms var(--ease)}
.gallery-card img{width:100%;height:auto;object-fit:contain;background:var(--surface);transition:transform 700ms var(--ease)}
.gallery-card:hover{z-index:1;transform:translateY(-6px) rotate(0deg);box-shadow:0 24px 42px #392c292b}
.gallery-card:hover img{transform:scale(1.025)}
.garden-card-1{grid-column:1 / span 2;grid-row:2;transform:rotate(-1.8deg)}
.garden-card-2{grid-column:3 / span 2;grid-row:2;transform:rotate(1.6deg)}
.garden-card-3{grid-column:5 / span 2;grid-row:2;transform:rotate(-1deg)}
.garden-card-4{grid-column:1 / -1;grid-row:1;transform:rotate(2.4deg)}
.garden-collage:hover .garden-card-1,.garden-collage:hover .garden-card-2,.garden-collage:hover .garden-card-3,.garden-collage:hover .garden-card-4{transform:translateY(-6px) rotate(0deg)}

/* 中文：海景改为四张大图平推轮播，边框和照片随滑片一起移动 */
.coast-carousel{width:100%;justify-self:center}
.carousel.coast-carousel[data-orientation=landscape] .carousel-stage{aspect-ratio:3/2;border:0;border-radius:0;background:transparent;box-shadow:none}
.carousel.coast-carousel[data-orientation=landscape] .slide{padding:8px;border:8px solid var(--surface);border-radius:24px;background:var(--surface);box-shadow:0 20px 42px #392c2920;overflow:hidden}
.carousel.coast-carousel[data-orientation=landscape] .slide img{object-fit:cover;background:var(--coast);border-radius:12px}

/* 中文：喜嫁风四张拍立得相纸叠放，队首照片通过平移离场 */
.photo-wall{width:min(100%,560px);justify-self:center}
.joy-stack{width:min(100%,620px);padding:18px 14px 34px}
.stack-stage{position:relative;width:100%;aspect-ratio:5/8;overflow:visible;cursor:grab;touch-action:pan-y;user-select:none}
.stack-stage:active{cursor:grabbing}
.wall-card{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;margin:0;padding:12px 12px 18px;border:10px solid var(--surface);border-radius:16px;background:var(--surface);box-shadow:0 0 0 1px #d7b8ae,0 16px 30px #7d3b401c;transition:transform 680ms var(--ease),opacity 680ms var(--ease),box-shadow 450ms var(--ease)}
.wall-card img{width:100%;height:auto;aspect-ratio:2/3;min-height:0;flex:none;object-fit:cover;background:var(--surface-warm)}
.wall-card figcaption{position:static;margin-top:auto;padding:4px 8px;background:#fffdf9d9;color:var(--accent);font:11px/1.2 var(--mono);letter-spacing:.12em}
.wall-card.stack-pos-0{--stack-x:0px;--stack-y:0px;--stack-rotate:-2deg;--stack-scale:1;z-index:4;transform:translate3d(var(--stack-x),var(--stack-y),0) rotate(var(--stack-rotate)) scale(var(--stack-scale))}
.wall-card.stack-pos-1{--stack-x:18px;--stack-y:14px;--stack-rotate:2.2deg;--stack-scale:.96;z-index:3;transform:translate3d(var(--stack-x),var(--stack-y),0) rotate(var(--stack-rotate)) scale(var(--stack-scale))}
.wall-card.stack-pos-2{--stack-x:-18px;--stack-y:27px;--stack-rotate:-1deg;--stack-scale:.92;z-index:2;transform:translate3d(var(--stack-x),var(--stack-y),0) rotate(var(--stack-rotate)) scale(var(--stack-scale))}
.wall-card.stack-pos-3{--stack-x:28px;--stack-y:39px;--stack-rotate:1.5deg;--stack-scale:.88;z-index:1;transform:translate3d(var(--stack-x),var(--stack-y),0) rotate(var(--stack-rotate)) scale(var(--stack-scale))}

/* 中文：婚礼时间线、酒店地址和 RSVP 卡片 */
/* 中文：喜嫁章节结束后平滑回到页面主背景 */
.schedule{background:linear-gradient(180deg,var(--joy) 0%,var(--bg) 180px,var(--bg) 100%)}
.section-head{max-width:560px;margin-bottom:48px}
.schedule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.schedule-grid article{min-height:190px;padding:32px;border-top:1px solid var(--fg)}
.schedule-grid time{display:block;margin-bottom:48px;font:600 40px/1 var(--mono)}
.schedule-grid p{color:var(--muted);font-size:14px;margin-top:12px}
.location-card{margin-top:48px;padding:clamp(32px,6vw,64px);border:1px solid var(--border);border-radius:28px;background:var(--joy)}
.location-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
/* 中文：地图选择弹窗沿用邀请函暖色样式，原生 dialog 提供焦点约束与 Esc 关闭 */
.map-picker{width:min(420px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:28px;border:1px solid var(--border);border-radius:22px;background:var(--bg);color:var(--fg);box-shadow:0 24px 80px #392c2940}
.map-picker::backdrop{background:#392c2980}
.map-picker .eyebrow{margin-bottom:12px}
.map-picker-place{margin:14px 0 24px;font-size:15px;color:var(--muted)}
.map-picker-options{display:grid;gap:12px;margin-bottom:18px}
.map-picker-options .btn{min-height:52px}
.map-picker-fallback{width:100%;margin-top:16px}
.map-picker form{margin-top:16px;text-align:center}
/* 中文：登记区域从日程背景进入暖色，再在页脚前回到主背景 */
.rsvp{background:linear-gradient(180deg,var(--bg) 0%,#f1e6df 18%,#f1e6df 82%,var(--bg) 100%)}
.rsvp-layout{display:grid;grid-template-columns:1fr 2fr;gap:clamp(32px,7vw,80px);align-items:start}
.rsvp-copy{position:sticky;top:92px}
.rsvp-form,.success-card,.login-card{display:grid;gap:20px;padding:clamp(24px,5vw,48px);border:1px solid var(--border);border-radius:18px;background:var(--bg)}
.field{display:flex;flex-direction:column;gap:8px}
.field label,.search-label{font-size:14px;font-weight:600;color:var(--fg-2,var(--fg))}
.input{width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--muted);border-radius:8px;background:var(--bg);color:var(--fg);font-size:17px}
.input::placeholder{font-family:var(--body)}
.input:focus{border-color:var(--accent);outline:2px solid #9e3c4533}
.field-help,.privacy-note,.form-message{margin:0}
.success-card{display:block}
.success-card h3{margin-bottom:12px}
.success-card p{margin:0;color:var(--muted)}
.success-card .btn{margin-top:20px}
.flash{padding:12px 16px;border-radius:8px;margin:0 0 16px;background:#a0363e16;color:var(--danger);font-size:14px}
.flash.success{background:#3f765e16;color:var(--success)}
.form-message{min-height:20px;color:var(--danger);font-size:14px}
.pagefoot{padding-block:48px;border-top:1px solid var(--border);color:var(--muted);font-size:13px}
.pagefoot .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* 中文：后台登录、登记列表和移动端编辑布局 */
.admin-page{min-height:100vh;background:var(--bg)}
.admin-top{position:static}
.admin-actions{display:flex;align-items:center;gap:8px}
.admin-actions form{margin:0}
.admin-main{padding-block:64px}
.admin-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:40px}
.admin-heading h1{font-size:clamp(42px,6vw,64px)}
.stat-grid{display:flex;gap:8px}
.stat-grid div{min-width:110px;padding:16px;border-top:1px solid var(--fg)}
.stat-grid b,.stat-grid span{display:block}
.stat-grid b{font:600 28px var(--mono)}
.stat-grid span{margin-top:8px;color:var(--muted);font-size:13px}
.search-label{display:block;margin-bottom:8px}
.search-input{max-width:440px;margin-bottom:24px}
.guest-list{display:grid;gap:12px}
.guest-request{min-width:0;font-size:14px;overflow-wrap:anywhere}
.guest-request summary{cursor:pointer;color:var(--muted)}
.guest-request dl{margin:16px 0;display:grid;gap:6px}
.guest-request dt{font-weight:600}
.guest-request dd{margin:0 0 10px;color:var(--muted)}
.guest-row{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);display:grid;gap:12px}
.guest-meta{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.guest-name{font:600 20px var(--display)}
.guest-edit{display:grid;grid-template-columns:1fr 100px 1.2fr auto;gap:8px}
.empty-state{text-align:center;color:var(--muted);padding:32px}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{width:min(100%,520px)}
.login-card h1{font-size:52px}
.back-link{color:var(--muted);font-size:14px;text-decoration:underline}

/* 中文：平板断点，单列显示主要内容 */
@media(max-width:920px){:root{--gutter:18px;--section:64px}
.hero-split,.theme-layout,.rsvp-layout{grid-template-columns:1fr}
.hero-split{gap:48px}
.theme-section.media-left .theme-copy,.theme-section.media-left .theme-media{order:initial}
.rsvp-copy{position:static}
.schedule-grid{grid-template-columns:1fr 1fr}
.schedule-grid article:last-child{grid-column:1/-1}
}

/* 中文：手机断点，收起导航并扩大触控区域 */
@media(max-width:700px){:root{--gutter:16px;--section:40px}
.topnav nav{display:none}
.menu-toggle{display:inline-flex}
.nav-inner{min-height:52px}
.mobile-menu{inset-block-start:53px}
.hero{min-height:calc(100svh - 52px);display:flex;padding-block:14px 18px}
.hero-split{height:100%;grid-template-rows:auto minmax(260px,1fr);gap:18px}
.hero .lead{display:none}
.hero h1{font-size:clamp(34px,9vw,44px)}
.hero-date{margin-top:12px;font-size:16px}
.hero-cta{margin-top:16px}
.hero-cta .btn-ghost{display:none}
.hero-photo-wrap,.hero-photo{border-radius:18px}
.hero-photo-wrap picture,.hero-photo{height:100%}
.hero-photo{object-fit:cover;object-position:center 32%}
.countdown{margin-top:16px;grid-template-columns:repeat(4,1fr);max-width:420px}
.count-cell{padding:8px 4px}
.count-cell b{font-size:18px}
.count-cell>span{margin-top:4px;font-size:11px}
.photo-note{right:12px;bottom:12px;padding:7px 11px;font-size:12px}
.theme-section{padding-block:72px}
.theme-layout{gap:28px}
.theme-copy:before{top:-34px;right:-4px;font-size:clamp(72px,24vw,104px)}
.theme-english{font-size:clamp(24px,8vw,34px)}
.theme-copy .lead{font-size:17px}
.theme-note{margin-top:24px}
.carousel{width:min(88vw,360px)}
.carousel[data-orientation=landscape]{width:calc(100% + 32px);margin-inline:-16px}
.carousel[data-orientation=landscape] .carousel-stage{border-radius:0;border-inline:0}
.carousel-counter{right:0}
/* 中文：手机端主图加三联卡缩小间距，海景仍让边框随大图平推 */
.carousel[data-orientation=portrait] .carousel-stage{border:0;border-radius:18px;box-shadow:0 14px 30px #392c2928}
.garden-collage{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:4px 0}
.gallery-card{margin-bottom:10px;border-radius:16px}
.garden-card-1{grid-column:1;grid-row:2}
.garden-card-2{grid-column:2;grid-row:2}
.garden-card-3{grid-column:1 / -1;grid-row:3;width:calc(50% - 5px);justify-self:center}
.garden-card-4{grid-column:1 / -1;grid-row:1}
.carousel.coast-carousel[data-orientation=landscape] .carousel-stage{aspect-ratio:3/2;border-radius:0;border-inline:0}
.carousel.coast-carousel[data-orientation=landscape] .slide{padding:5px;border-width:5px;border-radius:16px;box-shadow:0 16px 30px #392c291c}
.carousel.coast-carousel[data-orientation=landscape] .slide img{border-radius:8px}
.joy-stack{width:100%;padding:10px 8px 24px}
.stack-stage{aspect-ratio:5/8}
.wall-card{padding:8px 8px 14px;border-width:8px;border-radius:12px;box-shadow:0 0 0 1px #d7b8ae,0 12px 24px #7d3b401c}
.wall-card img{aspect-ratio:2/3}
.wall-card figcaption{position:static;margin-top:auto;padding:3px 6px;background:#fffdf9d9;font-size:10px}
.wall-card.stack-pos-1{--stack-x:11px;--stack-y:10px}
.wall-card.stack-pos-2{--stack-x:-11px;--stack-y:20px}
.wall-card.stack-pos-3{--stack-x:16px;--stack-y:30px}
.schedule-grid{grid-template-columns:1fr}
.schedule-grid article:last-child{grid-column:auto}
.schedule-grid article{min-height:0;padding:24px 0}
.schedule-grid time{margin-bottom:24px;font-size:34px}
.location-card{border-radius:18px;padding:28px}
.rsvp-form{padding:24px}
.admin-main{padding-block:40px 64px}
.admin-heading{display:block}
.stat-grid{margin-top:24px}
.guest-edit{grid-template-columns:1fr 86px}
.guest-edit input[name=phone]{grid-column:1/-1}
.guest-edit .btn{grid-column:1/-1}
.guest-meta{display:block}
.guest-meta .meta{display:block;margin-top:4px}
.admin-actions .btn{padding-inline:12px}
.login-card h1{font-size:42px}
}

/* 中文：尊重系统对平滑滚动的设置，轮播平推动画按页面需求保留 */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}
