:root{--night:#101510;--panel:#20271f;--paper:#f3f0e6;--muted:#b0b5a6;--dim:#838c7b;--line:#3c4737;--accent:#d1d8ae;color-scheme:dark;font-family:'Noto Sans SC',sans-serif;font-synthesis:none;scrollbar-width:none}
*{box-sizing:border-box}html::-webkit-scrollbar{display:none}body{margin:0;background:#252a24;color:var(--paper)}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,.orbit-stage:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{cursor:default;opacity:.4}button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,p{margin:0}[hidden]{display:none!important}
.phone{width:min(100%,390px);min-height:844px;margin:0 auto;background:var(--night);position:relative;padding:20px 0;overflow:hidden}.masthead{margin:0 24px;height:29px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;font-family:'DM Sans',sans-serif;font-size:10px;line-height:22px;color:var(--muted)}.wordmark{font-family:'Noto Serif SC',serif;font-size:14px;color:var(--paper)}.headline{margin:22px 24px 0;display:flex;justify-content:space-between;align-items:center;height:50px}h1{font-family:'Noto Serif SC',serif;font-size:36px;line-height:50px;font-weight:400}.catalog-button{height:36px;width:96px;border:1px solid var(--line);border-radius:20px;background:none;font-size:12px}.deck{margin:6px 24px 0;font-family:'DM Sans','Noto Sans SC',sans-serif;font-size:10px;line-height:15px;color:var(--muted)}.progress-copy{display:flex;justify-content:space-between;margin:12px 24px 0;font-size:11px;line-height:16px;color:var(--muted)}
.orbit-stage{position:relative;margin-top:14px;width:100%;height:405px;perspective:1000px;touch-action:pan-y;cursor:grab;user-select:none;isolation:isolate;overflow:hidden}.orbit-stage.dragging{cursor:grabbing}.orbit-stage[data-view=top]{touch-action:none}.table-shadow{position:absolute;left:-60%;top:98px;width:220%;height:294px;background:#060a06;filter:blur(18px);border-radius:50%;opacity:.8;transition:all .7s cubic-bezier(.22,1,.36,1);pointer-events:none}.table-plinth,.table-surface{position:absolute;left:-57.6923%;top:-175px;width:215.3846%;height:540px;border-radius:50%;pointer-events:none;transition:left .7s cubic-bezier(.22,1,.36,1),top .7s cubic-bezier(.22,1,.36,1),width .7s cubic-bezier(.22,1,.36,1),height .7s cubic-bezier(.22,1,.36,1)}.table-plinth{top:-157px;background:linear-gradient(110deg,#182115,#060b06 55%,#1b2617);border:1px solid #536044;box-shadow:0 16px 28px #0008}.table-surface{background:radial-gradient(ellipse at 42% 35%,#3b4936 0,#2c3927 43%,#253120 72%,#35412a 97%,#6b7450 99%,#343d28 100%);border:1.5px solid #667050;box-shadow:inset 0 0 0 6px #16200f55,inset 0 0 36px #09120866;overflow:hidden}.table-inlay{position:absolute;inset:22px;border:1px solid #a6ad7d32;border-radius:50%;box-shadow:0 0 0 8px #c1c7a20a}.table-etch{position:absolute;left:0;right:0;bottom:292px;display:flex;align-items:center;flex-direction:column;gap:6px;color:#b7c09a5c}.table-etch>span{font:9px 'DM Sans',sans-serif;letter-spacing:.26em}.table-etch strong{font:400 22px 'Noto Serif SC',serif;letter-spacing:.12em}.table-etch small{font:8px 'DM Sans',sans-serif;letter-spacing:.16em}.table-vignette{position:absolute;inset:0 0 auto;height:80px;background:linear-gradient(var(--night),#10151000);z-index:2;pointer-events:none}.orbit-plates{position:absolute;inset:0;transform-style:preserve-3d}.plate-card{position:absolute;left:0;top:0;padding:0;border:0;background:none;transform-origin:center;touch-action:inherit;outline-offset:-5px;will-change:transform,opacity}.image-feather{display:block;width:100%;height:100%;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.plate-card img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;mask-image:linear-gradient(0deg,transparent,#000 3%,#000 97%,transparent);-webkit-mask-image:linear-gradient(0deg,transparent,#000 3%,#000 97%,transparent);filter:drop-shadow(0 9px 5px #0005)}.plate-number{position:absolute;bottom:-5px;left:0;right:0;font:10px 'DM Sans',sans-serif;color:var(--muted);opacity:0;transition:opacity .3s}.orbit-stage[data-view=top] .plate-number{opacity:1}.plate-mark{position:absolute;bottom:6px;left:calc(50% - 10px);width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#e0e4c5;color:#26311f;border:1px solid #9da77e;font:11px 'DM Sans',sans-serif;box-shadow:0 2px 8px #0004}.orbit-stage[data-view=top] .plate-mark{display:none}.view-toggle{position:absolute;top:8px;right:24px;z-index:200;min-height:44px;display:flex;align-items:center;gap:7px;padding:0 13px;border:1px solid #6b765266;border-radius:24px;background:#131c11c9;color:var(--accent);font-size:11px;backdrop-filter:blur(8px)}.view-toggle .view-arrow{margin-left:2px}.detent{position:absolute;width:28px;height:3px;border-radius:2px;left:calc(50% - 14px);top:357px;background:var(--accent);box-shadow:0 0 14px #d1d8ae33;pointer-events:none}.orbit-legend{position:absolute;left:0;right:0;text-align:center;top:382px;font-size:10px;line-height:16px;letter-spacing:.05em;color:var(--dim);pointer-events:none}.orbit-stage[data-view=top] .table-surface,.orbit-stage[data-view=top] .table-plinth{left:6.6667%;width:86.6667%;height:auto;aspect-ratio:1;top:36px}.orbit-stage[data-view=top] .table-plinth{top:44px}.orbit-stage[data-view=top] .table-shadow{left:5%;width:90%;height:300px;top:90px;opacity:.5}.orbit-stage[data-view=top] .table-etch{bottom:auto;top:calc(50% - 34px);color:#c9cfaa80}.orbit-stage[data-view=top] .table-inlay{inset:58px;border-color:#b4bc8e28}.orbit-stage[data-view=top] .table-vignette{height:28px}.orbit-stage[data-view=top] .detent{top:370px;width:18px}
.dish-details{margin:12px 24px 0;text-align:center;height:70px}.course-label{font-family:'DM Sans','Noto Sans SC',sans-serif;color:var(--accent);font-size:10px;line-height:15px}.dish-details h2{font-family:'Noto Serif SC',serif;font-weight:400;font-size:23px;line-height:33px;margin-top:3px;white-space:nowrap}.dish-details h2.long-name{font-size:20px}.portion{font-size:11px;line-height:16px;margin-top:3px;color:var(--muted)}.rotary-controls{display:flex;align-items:center;justify-content:space-between;margin:12px 24px 0;height:44px}.round-button{width:44px;height:44px;border:1px solid var(--line);background:transparent;border-radius:50%;display:grid;place-items:center;flex-shrink:0;padding:0;font:26px 'DM Sans',sans-serif}.round-button:hover{background:var(--panel);border-color:var(--muted)}.personal-score{height:44px;display:flex;align-items:center;gap:9px;padding:0 9px;min-width:196px;justify-content:center}.my-avatar{width:34px;height:34px;position:relative;flex-shrink:0}.my-avatar img{width:34px;height:34px;border-radius:50%;border:1px solid #667050;background:var(--panel);object-fit:cover}.saved-check{position:absolute;width:13px;height:13px;bottom:-1px;right:-2px;background:var(--accent);border:1px solid var(--night);color:var(--night);font:9px 'DM Sans',sans-serif;border-radius:50%;display:none;place-items:center}.score-label{display:flex;flex-direction:column;gap:2px}.score-label>span{font-size:10px;line-height:14px;color:var(--muted)}.score-label small{font-size:9px;line-height:12px;color:var(--dim)}.score-value{display:flex;align-items:baseline;gap:4px;margin-left:4px;color:var(--accent)}.score-value strong{font:34px/.9 'Instrument Serif',serif;min-width:20px}.score-value>span{font:10px 'DM Sans',sans-serif;color:var(--dim)}.personal-score[data-rated=true] .saved-check{display:grid}.personal-score[data-rated=true] .score-label small{color:var(--accent)}.footer{margin:16px 24px 0}.primary-button{border:0;border-radius:4px;background:var(--paper);color:var(--night);font-size:14px;font-weight:500;width:100%;height:54px;padding:0 18px}.primary-button:hover{background:var(--accent)}.footer-nav{margin-top:10px;display:flex;align-items:center;justify-content:space-between;height:16px;font-size:10px;line-height:16px;color:var(--muted)}.text-button{background:none;border:0;padding:0;display:flex;align-items:center;gap:3px;font-size:11px;color:var(--muted);min-height:16px;position:relative}.text-button::before{content:'';position:absolute;inset:-12px 0}.home-indicator{position:absolute;bottom:13px;left:calc(50% - 56px);width:112px;height:4px;border-radius:2px;background:var(--dim)}
.sheet{position:fixed;inset:auto 0 0;width:min(100%,430px);max-height:85svh;margin:0 auto;padding:24px;background:var(--night);color:var(--paper);border:1px solid var(--line);border-radius:20px 20px 0 0;overflow:auto}.sheet[open]{animation:sheet-in .24s ease-out}.sheet::backdrop,.ladder-dialog::backdrop{background:#060906c9;backdrop-filter:blur(8px)}.sheet-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px}.sheet-heading h2{font-family:'Noto Serif SC',serif;font-weight:400;font-size:24px;line-height:36px}.catalog-list{display:flex;flex-direction:column}.catalog-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 0;border:0;border-bottom:1px solid var(--line);background:none;text-align:left}.catalog-row[aria-current=true]{color:var(--accent)}.catalog-thumb{width:58px;height:58px;object-fit:contain;border-radius:4px;flex-shrink:0;background:var(--panel)}.catalog-copy{display:flex;flex-direction:column;gap:5px;flex:1}.catalog-copy strong{font-size:14px;font-weight:400;line-height:22px}.catalog-copy small{font-size:11px;color:var(--muted)}.catalog-score{font-family:'DM Sans',sans-serif;color:var(--accent);font-size:16px;white-space:nowrap}.rating-dish{font-size:14px;line-height:24px;color:var(--muted);margin-bottom:24px}.rating-options{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.rating-options button{height:48px;border-radius:4px;border:1px solid var(--line);background:var(--panel);font-size:16px;font-weight:500}.rating-options button[aria-pressed=true]{background:var(--paper);color:var(--night)}.rating-scale{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin:12px 0 28px}
.photo-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:32px 20px;border:0;background:transparent;color:var(--paper);overflow:auto}.photo-dialog::backdrop{background:#080e08ac;backdrop-filter:blur(20px) saturate(.65)}.zoom-close{position:absolute;right:max(20px,calc(50% - 178px));top:max(22px,env(safe-area-inset-top));z-index:1;background:#131c11a8;border-color:#84916466}.zoom-content{min-height:calc(100svh - 64px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}.eyebrow{font:10px 'DM Sans','Noto Sans SC',sans-serif;letter-spacing:.12em;color:var(--accent)}.photo-toggle{display:block;border:0;padding:0;background:transparent;max-width:min(90vw,620px);line-height:0}.photo-toggle img{display:block;width:min(90vw,620px);height:min(90vw,620px,64svh);object-fit:contain;max-width:100%}.zoom-content h2{font:400 24px/36px 'Noto Serif SC',serif;margin-top:8px}.zoom-content>p:not(.eyebrow){font-size:12px;color:var(--muted)}.zoom-content>small{font-size:10px;color:var(--dim);margin-top:8px}
.ladder-dialog{inset:0;width:min(100%,390px);max-width:390px;height:min(100svh,844px);max-height:100svh;margin:auto;padding:0;border:1px solid var(--line);background:var(--night);color:var(--paper);overflow:hidden}.ladder-view{height:100%;display:flex;flex-direction:column;padding:16px 24px 20px}.ladder-masthead{display:flex;align-items:center;justify-content:space-between;height:38px;flex-shrink:0}.ladder-masthead>.round-button{width:32px;height:32px;border:0}.ladder-heading{padding-top:12px;flex-shrink:0}.eyebrow{display:flex;justify-content:space-between}.ladder-heading h2{font:400 32px/46px 'Noto Serif SC',serif;margin-top:8px}.ladder-heading p{font-size:10px;line-height:18px;color:var(--muted);margin:3px 0 14px}.tier-board{min-height:0;overflow:auto;scrollbar-width:thin;flex:1;padding-right:2px}.tier-group{display:flex;gap:12px;padding:10px 0 8px;border-top:1px solid var(--line)}.tier-label{width:38px;flex-shrink:0;padding-top:5px;display:flex;align-items:flex-start;flex-direction:column;gap:7px}.tier-label strong{font:400 18px/24px 'Noto Serif SC',serif;letter-spacing:-.02em;color:var(--tier-color,var(--paper))}.tier-label small{font:9px 'DM Sans',sans-serif;white-space:nowrap;color:var(--dim)}.tier-cards{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 6px;min-width:0}.tier-card{min-width:0;border:0;background:transparent;padding:0;text-align:center;position:relative}.tier-card img{width:100%;height:44px;object-fit:contain;display:block;filter:drop-shadow(0 2px 3px #0004)}.tier-card .tile-caption{display:flex;justify-content:center;align-items:baseline;gap:4px;white-space:nowrap;line-height:16px}.tile-caption .tile-name{font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.tile-caption .tile-score{font:11px 'DM Sans',sans-serif;color:var(--paper)}.tier-group[data-tier=S]{padding-top:8px;padding-bottom:11px;border-top-color:#bac49677}.tier-group[data-tier=S] .tier-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.tier-group[data-tier=S] .tier-card img{height:61px}.tier-group[data-tier=S] .tile-caption .tile-score{font:25px/27px 'Instrument Serif',serif;color:var(--accent)}.tier-group[data-tier=S] .tile-caption .tile-name{font-size:11px;color:var(--paper)}.tier-empty{font-size:10px;color:var(--dim);line-height:24px;align-self:center}.ladder-footer{flex-shrink:0;padding-top:12px}.ladder-footer .primary-button{display:flex;justify-content:space-between;align-items:center}.ladder-footer p{font-size:9px;line-height:14px;text-align:center;color:var(--dim);margin-top:8px}.ending-view{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:32px}.ending-portraits{display:flex;justify-content:center;margin:48px 0 36px;padding-left:12px}.ending-portraits img{width:48px;height:48px;border-radius:50%;border:3px solid var(--night);margin-left:-12px;object-fit:cover}.ending-view h2{font:400 30px/1.7 'Noto Serif SC',serif}.ending-view>p:not(.eyebrow){font-size:12px;line-height:24px;color:var(--muted);margin:24px 0 48px}.ending-date{margin-top:28px;font:9px 'DM Sans',sans-serif;letter-spacing:.12em;color:var(--dim)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes sheet-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(min-width:720px){body{padding:24px 0}.phone{outline:1px solid var(--line)}}@media(max-width:360px){h1{font-size:32px}.dish-details h2{font-size:21px}.dish-details h2.long-name{font-size:17px}.personal-score{min-width:174px;gap:6px;padding:0}.score-value{margin-left:1px}.tier-group{gap:7px}.tier-label{width:34px}.tier-label strong{font-size:16px}.tile-caption .tile-name{font-size:8px}.tier-cards{gap:7px 3px}.ladder-view{padding-right:20px;padding-left:20px}.table-etch{bottom:292px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.table-etch{bottom:180px}.orbit-stage[data-view=top] .table-surface{top:var(--table-top,36px)}.orbit-stage[data-view=top] .table-plinth{top:calc(var(--table-top,36px) + 8px)}.orbit-stage[data-view=top] .detent{display:none}.orbit-stage[data-view=top] .plate-card[aria-current=true] .plate-number{color:var(--accent)}
.table-etch{bottom:210px}.tier-group{padding-top:7px;padding-bottom:7px}.tier-group[data-tier=S] .tier-card img{height:54px}.tier-group[data-tier=B] .tier-label strong{font-size:12px}.tier-group[data-tier=D]{padding-top:6px;padding-bottom:6px;align-items:center}.tier-group[data-tier=D] .tier-label{width:54px;flex-direction:row;align-items:baseline;padding-top:0;gap:6px}.tier-group[data-tier=D] .tier-label strong{font-size:18px}.tier-group[data-tier=D] .tier-empty{flex:1}

/* 第五版：半盘留白、起身入口与平面化差异反馈 */
.masthead{font-family:'Noto Sans SC',sans-serif}.table-etch>span,.table-etch small{font-family:'Noto Sans SC',sans-serif;letter-spacing:.1em}.table-etch>span{font-size:9px}.table-etch small{font-size:9px}.eyebrow,.ending-date{font-family:'Noto Sans SC',sans-serif;letter-spacing:.08em}
.view-toggle{border:0;border-bottom:1px solid #a5af795c;border-radius:0;background:transparent;backdrop-filter:none;padding:0 3px;gap:8px}.view-toggle svg{width:23px;height:23px;overflow:visible}.view-toggle .view-arrow{font-size:15px;opacity:.65;margin-left:0}.view-toggle .rise-arrow{transition:transform .28s ease;transform-origin:20px 6px}.view-toggle:hover .rise-arrow{transform:translateY(-2px)}.orbit-stage[data-view=top] .view-toggle .rise-arrow{transform:rotate(180deg)}.orbit-stage[data-view=top] .view-toggle:hover .rise-arrow{transform:rotate(180deg) translateY(-2px)}
.plate-mark,.plate-number{display:none!important}.footer-nav .text-button{font-size:10px}.photo-toggle img{background:transparent}
.feedback-dialog{position:fixed;inset:0;width:min(100%,390px);max-width:390px;height:min(100svh,844px);max-height:100svh;margin:auto;padding:0;border:1px solid var(--line);background:var(--night);color:var(--paper);overflow:hidden}.feedback-dialog[open]{display:flex;flex-direction:column}.feedback-dialog::backdrop{background:#060906c9;backdrop-filter:blur(8px)}.feedback-masthead{height:64px;flex-shrink:0;margin:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.feedback-masthead .round-button{border:0}.feedback-content{padding:18px 24px 0;flex:1;min-height:0;overflow:auto;scrollbar-width:thin}.feedback-navigation{display:flex;justify-content:space-between;font-size:10px;line-height:18px;color:var(--muted)}.feedback-navigation>span:first-child{color:var(--accent)}.feedback-feature{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:28px;min-height:110px}.feedback-feature>div{flex:1;min-width:0}.feedback-feature h2{font:400 52px/70px 'Noto Serif SC',serif;white-space:nowrap;letter-spacing:-.04em}.feedback-feature p{font-size:13px;line-height:22px;margin-top:5px}.feedback-feature small{font-size:10px;line-height:16px;color:var(--muted)}.feedback-feature img{width:110px;height:110px;object-fit:contain;flex-shrink:0}.feedback-evidence{margin-top:26px;padding:20px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.previous-estimate{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;color:var(--muted);font-size:11px;line-height:18px}.previous-estimate strong{font:16px 'DM Sans',sans-serif;font-weight:400;color:var(--paper)}.feedback-evidence>p{font-size:11px;line-height:18px;color:var(--muted)}.feedback-range{font:80px/96px 'Instrument Serif',serif;color:var(--paper);letter-spacing:-.03em;white-space:nowrap}.feedback-range span{font-size:36px;letter-spacing:0;margin-left:5px}.feedback-evidence>#feedback-hint{font-size:11px;line-height:18px;color:var(--dim);margin-top:6px}.feedback-estimate{margin-top:26px;border-bottom:1px solid var(--line);padding-bottom:5px}.feedback-estimate>span{font-size:11px;line-height:16px;color:var(--muted)}.feedback-estimate>div{display:flex;align-items:baseline;gap:8px;margin-top:9px}.feedback-estimate>div>span{font-size:22px;color:var(--muted)}.feedback-estimate strong{font:62px/68px 'Instrument Serif',serif;font-weight:400}.feedback-footer{flex-shrink:0;padding:16px 24px 20px}.feedback-footer p{font-size:9px;line-height:14px;text-align:center;margin-top:12px;color:var(--dim)}
@media(max-width:360px){.feedback-feature img{width:88px;height:88px}.feedback-feature h2{font-size:44px;line-height:62px}.feedback-range{font-size:72px;line-height:90px}.feedback-content{padding-left:20px;padding-right:20px}.feedback-footer{padding-left:20px;padding-right:20px}}


.feedback-estimate>div{justify-content:space-between}

/* 第六版：可见菜盘命中、适屏大图与透明缩略图 */
.plate-card{cursor:inherit}.plate-card.over-dish{cursor:pointer}.orbit-stage.dragging .plate-card{cursor:grabbing}
.catalog-thumb{background:transparent;border:0;border-radius:0;box-shadow:none}
.view-toggle .view-eye{width:20px;height:20px;stroke-width:1.3}.view-pupil{transition:transform .3s ease}.view-toggle:hover .view-pupil{transform:translateY(-1px)}.orbit-stage[data-view=top] .view-pupil{transform:translateY(-1px)}
.photo-dialog{padding:32px 20px;overflow:hidden}.zoom-content{height:100%;min-height:0;width:min(100%,390px);margin:0 auto;gap:12px}.photo-toggle{--zoom-size:min(76vw,320px,max(60px,calc(100svh - 280px)));width:var(--zoom-size);height:var(--zoom-size);max-width:100%;flex:0 0 auto}.photo-toggle img{width:100%;height:100%;max-width:100%;object-fit:contain}.zoom-content h2{max-width:100%;font-size:22px;line-height:32px;overflow-wrap:anywhere}.zoom-content>small{max-width:100%;line-height:16px}
@media(max-height:560px){.photo-dialog{padding-top:16px;padding-bottom:16px}.zoom-content{gap:6px}.zoom-content h2{font-size:20px;line-height:28px;margin-top:0}.zoom-content>small{margin-top:0}.zoom-close{top:12px}}

/* 第七版文案的长度适配 */
.feedback-dialog[data-example="2"] .feedback-feature h2{font-size:42px;line-height:62px}
.ending-view h2{font-size:30px;line-height:1.6}.ending-date{letter-spacing:0;line-height:18px;white-space:nowrap}
@media(max-width:360px){.feedback-dialog[data-example="2"] .feedback-feature h2{font-size:34px;line-height:52px}.ending-view h2{font-size:27px}.ending-view{padding-left:24px;padding-right:24px}.ending-date{font-size:8px}}
