/* Art Deco 的建筑框线与宋体出版感；黄紫仅承担希望/恐惧语义。 */
:root{color-scheme:dark;--bg:#11151a;--surface:#191e24;--text:#e9e7df;--muted:#aeb2b5;--accent:#c9b48a;--line:#514b40;--hope:#efc66c;--fear:#c2a0dc;--hope-fill:#e2b34f;--fear-fill:#624278;--header:#11151af5;--display:"Songti SC","STSong","SimSun",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--bg);color:var(--text);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;font-size:16px;line-height:1.85}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button:disabled{cursor:default}img{display:block;max-width:100%}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-family:var(--display);font-weight:500}h2{font-size:clamp(30px,3.5vw,48px);line-height:1.5;letter-spacing:.06em}h3{font-size:25px;line-height:1.5}p{overflow-wrap:break-word}small{font-size:12px;color:var(--muted)}.skip{position:fixed;top:-80px;left:24px;background:var(--bg);padding:12px;z-index:30}.skip:focus{top:10px}.header{height:80px;padding:0 clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--header);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:14px;font-family:var(--display);font-size:20px;letter-spacing:.15em;line-height:1.4;white-space:nowrap}.brand small{display:block;font:9px Georgia,serif;letter-spacing:.26em;margin-top:5px;color:var(--accent)}.brand-mark{border:1px solid var(--accent);outline:1px solid var(--line);outline-offset:4px;width:28px;height:34px;text-align:center;line-height:32px;font-family:Georgia,serif;color:var(--accent)}nav{display:flex;gap:clamp(20px,3vw,44px);font-size:13px}nav a{padding:12px 0;border-bottom:1px solid transparent}nav a:hover{border-color:var(--accent)}.header-controls{display:flex;gap:8px}.small-button{background:transparent;border:1px solid var(--line);min-height:44px;padding:7px 14px;font-size:12px;white-space:nowrap;transition:background .25s,transform .25s}.small-button:hover{background:var(--surface)}#menu{display:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 23px;border:1px solid var(--accent);color:var(--text);background:transparent;font-size:14px;letter-spacing:.07em;white-space:nowrap;transition:background .25s,color .25s,transform .25s;line-height:1.5}.button:hover{background:var(--accent);color:var(--bg);transform:translateY(-2px)}.button:active,.small-button:active{transform:translateY(1px)}.solid{background:#d0ba8b;color:#181c22;border-color:#d0ba8b}.solid:hover{background:#e8d5ad;color:#181c22}.actions{display:flex;flex-wrap:wrap;gap:14px}.hero{min-height:620px;height:calc(100dvh - 80px);max-height:950px;position:relative;isolation:isolate;display:flex;align-items:center;overflow:hidden;color:#f2eee4;background:#11151a}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 48%;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(10,16,25,.90) 0%,rgba(10,16,25,.76) 29%,rgba(10,16,25,.17) 63%,rgba(10,16,25,.05)),linear-gradient(0deg,rgba(10,16,25,.65),transparent 24%)}.hero-frame{position:absolute;inset:25px;border:1px solid #ccb68b60;z-index:-1}.hero-frame::before,.hero-frame::after{content:"";position:absolute;inset:8px;border:1px solid #ccb68b35;clip-path:polygon(0 0,20% 0,20% 2px,2px 2px,2px 100%,0 100%)}.hero-frame::after{transform:rotate(180deg)}.hero-copy{width:min(720px,62%);padding:0 0 36px clamp(48px,8vw,150px)}.eyebrow{font-size:10px;letter-spacing:.24em;color:var(--accent);line-height:2}.hero .eyebrow{color:#d9c7a4;margin-bottom:28px}.hero h1{font-size:clamp(58px,6.2vw,100px);letter-spacing:.12em;line-height:1.22;margin:0 0 27px}.hero-line{font-family:var(--display);font-size:clamp(18px,1.8vw,27px);line-height:1.85;color:#e3dfd6}.hero .actions{margin-top:38px}.hero .ghost{border-color:#cbb78c;color:#eee7d8;background:#10162080}.hero .ghost:hover{background:#d0ba8b;color:#181c22}.section{max-width:1280px;margin:auto;padding:112px 40px}.section-lead{color:var(--muted);max-width:650px;margin-top:20px;font-size:16px}.introduction{text-align:center;padding-top:104px}.intro-heading{position:relative}.ornament{display:block;width:70px;height:24px;margin:0 auto 30px;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);position:relative;clip-path:polygon(0 40%,25% 40%,25% 0,75% 0,75% 40%,100% 40%,100% 60%,75% 60%,75% 100%,25% 100%,25% 60%,0 60%);background:var(--accent)}.intro-lead{color:var(--muted);margin:25px auto 60px;font-family:var(--display);font-size:20px;line-height:2}.play-flow{display:grid;grid-template-columns:repeat(3,1fr);text-align:left;gap:50px;border-top:1px solid var(--line);padding-top:38px}.play-flow>div{position:relative;padding-left:52px}.roman{font-family:Georgia,serif;color:var(--accent);font-size:24px;position:absolute;left:0;top:0}.play-flow h3{font-size:21px;margin-bottom:12px}.play-flow p{font-size:14px;color:var(--muted)}.duality{border-top:1px solid var(--line);display:grid;grid-template-columns: .8fr 1.2fr;gap:90px;align-items:center}.duality-copy h2{font-size:clamp(38px,4.6vw,64px);margin:20px 0 28px}.duality-copy>p:not(.eyebrow):not(.attribution){max-width:350px;color:var(--muted)}blockquote{font-family:var(--display)}.duality-copy blockquote{font-size:24px;margin-top:44px}.dice-stage{background:var(--surface);border:1px solid var(--line);padding:30px 34px;position:relative}.dice-stage::before,.dice-stage::after{content:"";position:absolute;width:32px;height:32px;border:2px solid var(--accent);pointer-events:none}.dice-stage::before{top:7px;left:7px;border-right:0;border-bottom:0}.dice-stage::after{bottom:7px;right:7px;border-left:0;border-top:0}.dice-pair{display:flex;gap:48px;justify-content:center;padding:45px 0 36px}.die{text-align:center;width:140px}.die-face{width:125px;height:125px;display:grid;place-items:center;margin:0 auto;font-family:Georgia,serif;font-size:56px;color:#191923;clip-path:polygon(25% 0,75% 0,100% 32%,86% 83%,50% 100%,14% 83%,0 32%);background:var(--hope-fill);position:relative}.die-face::before{content:"";position:absolute;inset:7px;border:1px solid currentColor;opacity:.35;clip-path:polygon(25% 0,75% 0,100% 32%,86% 83%,50% 100%,14% 83%,0 32%)}.fear .die-face{background:var(--fear-fill);color:#f1e8f8}.die-caption{display:block;margin-top:18px;font-size:15px;letter-spacing:.12em;color:var(--hope)}.fear .die-caption{color:var(--fear)}.die-caption small{font-size:9px;display:block;color:inherit;margin-top:2px;letter-spacing:.2em}.result{text-align:center;min-height:205px}.result h3{font-size:27px;color:var(--hope);margin-bottom:12px}.result[data-tone=fear] h3{color:var(--fear)}#result-text{font-size:14px;max-width:400px;margin:auto;min-height:52px}.rules{border-top:1px solid var(--line)}.rules-composition{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:48px}.art-placeholder{min-height:340px;position:relative;background:var(--surface);border:1px solid var(--line);overflow:hidden;display:grid;place-items:center}.fan{position:absolute;width:320px;height:320px;bottom:-220px;border:1px solid var(--line);transform:rotate(45deg);box-shadow:0 0 0 24px var(--surface),0 0 0 25px var(--line),0 0 0 49px var(--surface),0 0 0 50px var(--line),0 0 0 74px var(--surface),0 0 0 75px var(--line)}.art-placeholder figcaption{text-align:center;font-family:var(--display);font-size:22px;position:relative}.art-placeholder small{display:block;font:12px/2 system-ui;margin-top:10px}.rule-details details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:18px 30px 18px 0;font-family:var(--display);font-size:23px;position:relative;list-style:none}summary::-webkit-details-marker{display:none}summary::after{content:"+";position:absolute;right:0;color:var(--accent);font-family:Georgia}details[open] summary::after{content:"−"}.rule-details p{font-size:14px;color:var(--muted);padding:0 15px 22px 0}.golden-rule{text-align:center;margin:92px auto 0;max-width:800px;border-top:3px double var(--line);border-bottom:3px double var(--line);padding:35px 20px}.golden-rule>p{font-size:13px;letter-spacing:.2em;color:var(--accent);margin-bottom:18px}.golden-rule blockquote{font-size:clamp(20px,2.3vw,31px);line-height:1.9}.golden-rule small{display:block;margin-top:20px}.tools{padding-top:40px}.tool-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;margin-top:48px;align-items:start}.tool:nth-child(2){padding-top:70px}.tool-image{border:1px solid var(--line);padding:8px;background:var(--surface);overflow:hidden}.tool-image img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top;transition:transform .5s}.tool:hover .tool-image img{transform:scale(1.025)}.tool-body{padding:24px 0}.tool-body p{font-size:13px;color:var(--muted);margin:10px 0 20px}.resources{border-top:1px solid var(--line)}.resource-shelves{margin-top:42px;display:grid;grid-template-columns:1.3fr 1fr;gap:0 60px}.resource-shelves article{padding:30px 0}.resource-shelves article:first-child{grid-row:span 2;border-right:1px solid var(--line);padding:30px 50px 30px 0;display:flex;flex-direction:column;justify-content:center}.resource-shelves article:last-child{border-top:1px solid var(--line)}.resource-shelves p{color:var(--muted);font-size:14px;margin:16px 0 25px}.resource-shelves small{display:block;margin-top:24px;max-width:320px}.creations{padding-top:40px}.creations h2{margin-top:18px}.community{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;border-top:1px solid var(--line);align-items:center}.community-copy h2{font-size:clamp(34px,4vw,56px)}.community-copy>p:not(.attribution){color:var(--muted);margin-top:24px;max-width:320px;font-size:14px}.community-copy blockquote{font-size:25px;margin-top:30px}.community-copy .button{margin-top:25px}.qr-pair{display:grid;grid-template-columns:1fr 1fr;gap:26px}.qr-pair article{text-align:center;border:1px solid var(--line);padding:25px 18px;background:var(--surface)}.qr-pair h3{font-size:19px;margin-bottom:20px}.qr-crop{position:relative;overflow:hidden;aspect-ratio:1;background:#242424;width:100%}.qr-crop img{position:absolute;max-width:none;width:150%;height:auto;left:-25%;top:-100%}.group-number{font:21px Georgia;letter-spacing:.04em;margin:22px 0}.qr-pair .button{width:100%}.begin{border-top:1px solid var(--line);text-align:center;padding-bottom:75px}.begin .section-lead{margin:18px auto 0}.destination-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:left;margin-top:48px}.destination-grid h3{font-size:20px;margin-bottom:20px}.destination-grid .button{display:flex;margin-top:12px;width:100%;padding-inline:12px;font-size:13px}.final-groups{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:30px;align-items:center;text-align:left;margin-top:45px;padding-top:35px;border-top:1px solid var(--line)}.final-groups>p{font-family:var(--display);font-size:25px}.final-groups small{display:block;font:12px/2 system-ui;margin-top:8px;max-width:190px}.mini-group{display:grid;grid-template-columns:106px 1fr;gap:18px;align-items:center}.mini-group p{font-size:12px;white-space:nowrap;margin-bottom:10px}.mini-group .button{padding:8px 15px;font-size:12px}.mini-group .qr-crop{width:106px}footer{border-top:1px solid var(--line);max-width:1200px;padding:42px 0;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:35px}footer p{font-size:11px;color:var(--muted)}.footer-brand{font:18px Georgia;letter-spacing:.2em;color:var(--accent)}footer .button{font-size:12px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:12px 24px;z-index:30;font-size:14px;max-width:90vw;opacity:0;pointer-events:none;transition:opacity .2s}.toast.visible{opacity:1}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:arrival 1s .1s both}.hero-art{animation:unveil 1.8s ease-out both}.reveal.ready{opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s}.reveal.ready.visible{opacity:1;transform:translateY(0)}@keyframes arrival{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes unveil{from{transform:scale(1.035);opacity:.5}to{transform:scale(1);opacity:1}}}
/* 宽屏对齐使用外边距，避免内边距耗尽 border-box 内的文字宽度。 */
@media(min-width:1600px){.hero-copy{width:620px;padding-left:0;margin-left:max(100px,calc((100vw - 1280px)/2))}}
@media(max-width:1023px){.header{padding:0 24px;gap:18px}nav{gap:20px}.section{padding:80px 32px}.duality,.community{gap:40px}.dice-stage{padding:25px 20px}.dice-pair{gap:20px}.die{width:120px}.die-face{width:110px;height:110px}.play-flow{gap:25px}.play-flow>div{padding-left:35px}.rules-composition{gap:35px}.final-groups{grid-template-columns:1fr 1fr}.final-groups>p{grid-column:1/-1}.mini-group{grid-template-columns:110px 1fr}footer{margin:0 32px;flex-wrap:wrap}.qr-pair{gap:16px}.qr-pair article{padding:20px 12px}.qr-pair h3{font-size:16px}}
@media(max-width:767px){html{scroll-padding-top:85px}.header{height:68px;padding:0 20px}.brand{font-size:16px;gap:12px}.brand small{font-size:8px}.brand-mark{width:23px;height:29px;line-height:27px}#menu{display:block}nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--bg);padding:18px 24px;border-bottom:1px solid var(--line);z-index:20;flex-direction:column;gap:0}nav.open{display:flex}.hero{height:calc(100dvh - 68px);min-height:560px;max-height:850px;align-items:flex-end}.hero-art{object-position:66% center}.hero-shade{background:linear-gradient(0deg,#0c131ded 0%,#0c131dcc 30%,#0c131d22 75%)}.hero-frame{inset:12px}.hero-copy{width:100%;padding:0 32px 55px}.hero .eyebrow{font-size:8px;letter-spacing:.16em;margin-bottom:20px}.hero h1{font-size:56px;letter-spacing:.1em;margin-bottom:20px}.hero-line{font-size:18px}.hero .actions{margin-top:25px;gap:12px}.hero .button{font-size:13px;padding:12px 17px}.section{padding:68px 24px}.introduction h2{font-size:28px}.intro-lead{font-size:17px;margin:25px auto 36px}.intro-lead br{display:none}.play-flow{grid-template-columns:1fr;gap:30px}.play-flow>div{padding-left:50px}.duality,.community{grid-template-columns:1fr;gap:35px}.duality-copy h2{font-size:38px;margin:15px 0 20px}.duality-copy h2 br{display:none}.duality-copy>p:not(.eyebrow):not(.attribution){max-width:none}.duality-copy blockquote{margin-top:25px;font-size:21px}.dice-stage{padding:25px 17px}.dice-pair{padding:32px 0;gap:36px}.die-face{width:100px;height:100px;font-size:45px}.die{width:110px}.result{min-height:220px}.result h3{font-size:25px}.rules-composition{grid-template-columns:1fr;gap:30px;margin-top:32px}.art-placeholder{min-height:250px}.golden-rule{margin-top:48px;padding:25px 10px}.golden-rule blockquote{font-size:20px}.golden-rule br{display:none}.golden-rule small{font-size:11px}.tool-grid{grid-template-columns:1fr;gap:25px;margin-top:32px}.tool:nth-child(2){padding-top:0}.tool-body{padding:20px 0}.resource-shelves{grid-template-columns:1fr;gap:0;margin-top:25px}.resource-shelves article:first-child{grid-row:auto;border-right:0;border-bottom:1px solid var(--line);padding:25px 0}.resource-shelves article{padding:25px 0}.community-copy h2{font-size:38px}.community-copy h2 br{display:none}.community-copy>p:not(.attribution){max-width:none}.qr-pair{gap:14px}.qr-pair h3{font-size:14px}.qr-pair article{padding:18px 10px}.group-number{font-size:17px;margin:18px 0}.qr-pair .button{font-size:12px;padding:10px}.destination-grid{grid-template-columns:1fr 1fr;gap:28px 16px;margin-top:32px}.destination-grid h3{font-size:19px}.destination-grid .button{font-size:12px;letter-spacing:0}.final-groups{grid-template-columns:1fr;gap:22px}.final-groups>p{grid-column:auto}.final-groups small{max-width:none}.mini-group{grid-template-columns:115px 1fr}.mini-group .qr-crop{width:115px}.mini-group p{font-size:14px}.mini-group .button{min-width:130px}footer{margin:0 24px;padding:35px 0;flex-direction:column;align-items:flex-start;gap:20px}.section-lead{font-size:14px}h2{font-size:29px}h3{font-size:23px}}
/* 阶梯轮廓与双框是本方案明确采用的 Art Deco 装饰。 */
.hero-frame{clip-path:polygon(0 30px,12px 30px,12px 12px,30px 12px,30px 0,calc(100% - 30px) 0,calc(100% - 30px) 12px,calc(100% - 12px) 12px,calc(100% - 12px) 30px,100% 30px,100% calc(100% - 30px),calc(100% - 12px) calc(100% - 30px),calc(100% - 12px) calc(100% - 12px),calc(100% - 30px) calc(100% - 12px),calc(100% - 30px) 100%,30px 100%,30px calc(100% - 12px),12px calc(100% - 12px),12px calc(100% - 30px),0 calc(100% - 30px))}
@media(max-width:380px){.hero-copy{padding-inline:26px}.hero h1{font-size:48px}.hero .button{padding-inline:12px}.qr-pair{grid-template-columns:1fr}.qr-pair .qr-crop{max-width:230px;margin:auto}.hero .actions{gap:9px}.hero .button{font-size:12px}}
/* 理念采用独立的铭牌容器，正文不再混入背景。 */
.creed{position:relative;margin-top:32px;padding:30px 28px;background:var(--surface);border:1px solid var(--accent);box-shadow:inset 0 0 0 6px var(--bg),inset 0 0 0 7px var(--line)}
.creed::before{content:"";position:absolute;width:18px;height:18px;left:-10px;top:30px;transform:rotate(45deg);background:var(--accent);border:5px solid var(--bg)}
.creed .creed-label{font:12px/1.6 "Microsoft YaHei",sans-serif;letter-spacing:.2em;color:var(--accent);margin:0 0 17px}
.creed blockquote,.duality-copy .creed blockquote,.community-copy .creed blockquote{font-size:clamp(22px,2.3vw,30px);line-height:1.75;margin:0}
.creed small{display:block;margin-top:15px;font-size:11px}
.creed-wide{max-width:850px;margin:44px auto 0;text-align:center;padding:34px}
.creations .creed-wide{margin:0 0 24px;max-width:600px;text-align:left}
.creations .creed h2{margin:0;font-size:38px}
.golden-rule.creed{margin-top:72px;padding:38px 30px}
.dice-stage{padding:58px 28px 40px}
.dice-pair{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) minmax(90px,1.05fr);gap:12px;align-items:start;padding:15px 0 40px}
.die{width:auto;min-width:0}
.die-face{width:100px;height:100px;font-size:44px}
.dice-operator,.dice-comparison{padding-top:27px;font:26px/1.6 Georgia,serif;color:var(--muted)}
.dice-comparison{display:flex;align-items:center;gap:14px;white-space:nowrap}
.dice-comparison strong{font:22px/1.6 Georgia,"Microsoft YaHei",serif;color:var(--text)}
.result{min-height:130px;padding-top:15px;border-top:1px solid var(--line)}
.result h3{margin-bottom:15px}
.rules-composition{align-items:start}
.rules-composition .art-placeholder{height:360px;min-height:0;align-self:start}
.tool-grid{grid-template-columns:1fr 1fr;align-items:start}
.tool:nth-child(2){padding-top:0}

.creation-rail{--card-width:230px;--step:260px;position:relative;height:465px;perspective:1100px;overflow:hidden;touch-action:pan-y;isolation:isolate}
.creation-rail:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.creation-card{position:absolute;top:18px;left:50%;width:var(--card-width);margin-left:calc(var(--card-width) / -2);text-align:center;transform:translateX(calc(var(--position) * var(--step))) translateZ(-150px) rotateY(calc(var(--position) * -38deg));opacity:.5;transition:transform .8s cubic-bezier(.22,.7,.2,1),opacity .8s;backface-visibility:hidden}
.creation-card.active{transform:translateX(0) translateZ(0) rotateY(0);opacity:1;z-index:1}
.creation-card.outside{opacity:0;pointer-events:none}
.creation-cover{aspect-ratio:63/88;background-size:cover;background-repeat:no-repeat;background-color:var(--surface);border:7px solid var(--surface);outline:1px solid var(--line)}
.creation-cover.brochure-cover{background-size:300% auto}
.creation-card h3{margin-top:16px;font-size:23px}
.creation-card p{font-size:13px;color:var(--muted);margin:8px 0 0;line-height:1.7}
@media(max-width:1023px){.dice-stage{padding-inline:18px}.die-face{width:75px;height:75px;font-size:34px}.dice-pair{gap:7px;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) minmax(82px,1fr)}.dice-operator,.dice-comparison{padding-top:21px;font-size:20px}.dice-comparison{gap:7px}.dice-comparison strong{font-size:17px}.creed{padding:26px 23px}}
@media(max-width:767px){.tool-grid{grid-template-columns:1fr}.dice-stage{padding:32px 16px}.die-face{width:72px;height:72px;font-size:33px}.dice-pair{gap:5px;padding-bottom:30px}.dice-comparison strong{font-size:16px}.die-caption{font-size:13px}.result{min-height:145px}.rules-composition .art-placeholder{height:260px}.creed-wide{padding:28px 22px;text-align:left}.creations .creed h2{font-size:30px}.golden-rule.creed{padding:30px 23px}.creation-card{flex-basis:82%}.creation-rail{gap:22px}}
@media(max-width:380px){.die-face{width:58px;height:58px;font-size:28px}.dice-pair{grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr) 80px;gap:3px}.dice-operator,.dice-comparison{padding-top:14px}.dice-comparison strong{font-size:15px}.dice-comparison{gap:5px}}
/* 本轮收紧左侧文案，将视觉重量交给双骰与计算关系。 */
.duality{gap:48px;grid-template-columns:.9fr 1.1fr}
.duality-copy h2{font-size:clamp(30px,3.2vw,41px);letter-spacing:.02em;white-space:nowrap;margin:16px 0 24px}
.duality-copy>p:not(.eyebrow){max-width:none}
.duality-copy .creed{padding:25px 22px;margin-top:26px}
.duality-copy .creed blockquote{font-size:clamp(19px,1.85vw,24px);white-space:nowrap}
.dice-stage{padding:38px 24px 22px}
.dice-pair{grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr) minmax(148px,1.5fr);gap:12px;padding:10px 0 26px}
.die-face{width:104px;height:104px;font-size:54px}
.dice-operator,.dice-comparison{font-size:34px;padding-top:24px}
.dice-comparison{gap:10px}
.dice-comparison strong{font-size:30px}
.result{min-height:116px;padding-top:22px}
.result h3{font-size:29px;margin-bottom:12px}
.rules-composition{min-height:480px}
.rules-composition .art-placeholder{height:480px}
.rule-details{height:480px;overflow-y:auto;scrollbar-width:thin}
.tool-image{display:block}
.tool-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}
.tool-body p{margin-bottom:0}
.tool-body>.button{justify-self:end}
@media(min-width:768px) and (max-width:1100px){.duality{gap:25px;grid-template-columns:.9fr 1.1fr}.duality-copy h2{font-size:30px}.duality-copy .creed blockquote{font-size:19px;white-space:normal}.dice-stage{padding-inline:17px}.dice-pair{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr) 115px;gap:6px}.die-face{width:74px;height:74px;font-size:40px}.dice-operator,.dice-comparison{font-size:27px;padding-top:16px}.dice-comparison strong{font-size:23px}.tool-body{gap:12px}.tool-body>.button{padding-inline:12px}.tool-body h3{font-size:21px}}
@media(max-width:767px){.duality{grid-template-columns:1fr;gap:30px}.duality-copy h2{font-size:clamp(26px,7.8vw,36px);white-space:normal}.duality-copy .creed blockquote{font-size:20px;white-space:normal}.dice-stage{padding:28px 15px 20px}.dice-pair{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) 102px;gap:5px}.die-face{width:65px;height:65px;font-size:36px}.dice-operator,.dice-comparison{font-size:25px;padding-top:12px}.dice-comparison{gap:6px}.dice-comparison strong{font-size:21px}.result{min-height:128px}.rules-composition{min-height:0}.rules-composition .art-placeholder{height:340px}.rule-details{height:520px}.tool-body{gap:12px}.tool-body h3{font-size:21px}.tool-body p{font-size:11px}.tool-body>.button{padding-inline:12px;font-size:12px}}
@media(max-width:380px){.dice-pair{grid-template-columns:minmax(0,1fr) 13px minmax(0,1fr) 90px;gap:4px}.die-face{width:53px;height:53px;font-size:31px}.dice-operator,.dice-comparison{font-size:22px;padding-top:9px}.dice-comparison strong{font-size:18px}.tool-body{gap:8px}.tool-body h3{font-size:18px}.tool-body>.button{padding-inline:9px;font-size:11px}}
@media(max-width:767px){.creation-rail{--card-width:190px;--step:170px;height:415px}.creation-card h3{font-size:21px}.creation-card p{font-size:12px}}
/* 长简介与可选作品入口预留空间，避免转轮裁切底部按钮。 */
.creation-rail{height:580px}
.creation-card p{min-height:110px}
.creation-card .button{margin-top:16px}
@media(max-width:767px){.creation-rail{height:530px}.creation-card p{min-height:110px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.ready{opacity:1;transform:none}}

/* D3 三维骰面：SVG内的数值贴合正面，隐藏文本保留可访问结果。 */
.die-face{--face:#e2b660;--edge:#88612b;--number:#402b17;clip-path:none;background:none;filter:none;isolation:isolate}
.fear .die-face{background:none}
.die-face::before,.die-face::after{display:none}
.die-solid{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.d12-face{fill:var(--face);stroke:var(--edge);stroke-width:.85;stroke-linejoin:round}
.d12-number{fill:var(--number);font:600 27px Georgia,serif;text-anchor:middle;dominant-baseline:central}
.d12-front{font-size:38px}
.shadow{fill:#201a10}
.die-value{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.dice-stage.is-rolling .dice-operator,.dice-stage.is-rolling .dice-comparison,.dice-stage.is-rolling #result{visibility:hidden}
/* 停稳后的正面数字中心位于骰子容器高度约66%处。 */
.dice-pair{--die-size:104px}
.die-face{width:var(--die-size);height:var(--die-size)}
.dice-operator,.dice-comparison{display:flex;align-items:center;height:var(--die-size);padding-top:0;position:relative;top:calc(var(--die-size)*.16);line-height:1}
.dice-comparison strong{line-height:1}
@media(min-width:768px) and (max-width:1100px){.dice-pair{--die-size:74px}}
@media(max-width:767px){.dice-pair{--die-size:65px}}
@media(max-width:380px){.dice-pair{--die-size:53px}}
/* A 双线描边 + D3 骰子底纹。正文先保留占位，落定后显现。 */
.creed-d3{--face:var(--surface);--edge:var(--accent);--number:var(--accent);isolation:isolate;overflow:hidden;border-color:transparent;box-shadow:none}
.creed-d3::before{width:8px;height:8px;left:calc(50% - 4px);top:4px;border:0;z-index:1}
.creed-d3::after{content:"";position:absolute;inset:0;border:1px solid var(--accent);box-shadow:inset 0 0 0 6px var(--bg),inset 0 0 0 7px var(--line);pointer-events:none}
.creed-d3 .creed-dice{position:absolute;width:230px;height:215px;left:calc(50% - 115px);top:calc(50% - 107px);opacity:.12;z-index:-1;pointer-events:none;transition:opacity .55s}
.creed-d3.creed-rolling .creed-dice{opacity:.6}
.creed-d3>.creed-label,.creed-d3>blockquote,.creed-d3>h2,.creed-d3>small{transition:opacity .5s,transform .5s}
.creed-d3.creed-rolling>.creed-label,.creed-d3.creed-rolling>blockquote,.creed-d3.creed-rolling>h2,.creed-d3.creed-rolling>small{opacity:0;transform:translateY(8px)}
.creed-d3.creed-entered::after{animation:creed-frame-open 1.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes creed-frame-open{from{clip-path:inset(0 50%);opacity:0}to{clip-path:inset(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.creed-d3 .creed-dice,.creed-d3>*{transition:none}}
/* 两行判定共用五列；右侧上下两字合成结果名称。 */
.dice-pair{--dice-columns:minmax(0,1fr) 22px minmax(0,1fr) minmax(130px,1.2fr) 52px;--outcome-size:24px;grid-template-columns:var(--dice-columns);gap:4px 8px}
.dice-relation{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:var(--dice-columns);column-gap:inherit;align-items:center;font:18px/1.5 var(--display);text-align:center}
.relation-hope{color:var(--hope)}.relation-fear{color:var(--fear)}
#relation-symbol{font:25px/1 Georgia,serif;color:var(--muted)}
.relation-result{display:contents}
.relation-result>span{font:25px/1 Georgia,serif;color:var(--muted);justify-self:end;padding-right:10px}
#tone-result,#success-result{font:500 var(--outcome-size)/1.5 var(--display);letter-spacing:.02em;text-align:center;color:var(--hope);white-space:nowrap}
.dice-stage[data-tone=fear] #tone-result,.dice-stage[data-tone=fear] #success-result{color:var(--fear)}
#success-result{display:flex;align-items:center;justify-content:center;height:var(--die-size);position:relative;top:calc(var(--die-size)*.16)}
.dice-comparison{gap:8px}
.dice-stage .result{min-height:85px;padding-top:22px;margin-top:4px}
.dice-stage.is-rolling .dice-relation,.dice-stage.is-rolling #success-result{visibility:hidden}
@media(min-width:768px) and (max-width:1100px){.dice-pair{--die-size:56px;--dice-columns:minmax(0,1fr) 14px minmax(0,1fr) 90px 36px;--outcome-size:17px;column-gap:4px}.dice-relation{font-size:12px}.dice-comparison{gap:4px}.dice-comparison strong{font-size:18px}.dice-operator,.dice-comparison,#relation-symbol,.relation-result>span{font-size:20px}}
@media(max-width:767px){.dice-pair{--die-size:58px;--dice-columns:minmax(0,1fr) 12px minmax(0,1fr) 96px 36px;--outcome-size:17px;column-gap:4px}.dice-relation{font-size:13px}.dice-comparison{gap:4px}.dice-comparison strong{font-size:19px}#relation-symbol,.relation-result>span{font-size:20px}.relation-result>span{padding-right:6px}.dice-stage .result{min-height:88px}}
@media(max-width:380px){.dice-pair{--die-size:44px;--dice-columns:minmax(0,1fr) 10px minmax(0,1fr) 80px 30px;--outcome-size:14px;column-gap:3px}.dice-relation{font-size:11px}.dice-comparison strong{font-size:16px}.dice-operator,.dice-comparison,#relation-symbol,.relation-result>span{font-size:17px}}
/* 收紧文字判定间距，骰子的布局与运动坐标保持不变。 */
.dice-relation{transform:translateY(8px)}
.dice-comparison,#success-result{top:calc(var(--die-size)*.16 - 12px)}
/* 阅读段落统一提升字号；标识文字保留原有层级。 */
.section-lead,.duality-copy>p:not(.eyebrow),.play-flow p,.rule-details p,.resource-shelves p,.community-copy>p:not(.attribution){font-size:18px}
#result-text{font-size:17px}
.tool-body p,.creation-card p{font-size:15px}
.intro-lead{font-size:22px}
.hero-line{font-size:clamp(20px,2vw,29px)}
footer p{font-size:13px}
@media(max-width:767px){.dice-relation{transform:translateY(4px)}.dice-comparison,#success-result{top:calc(var(--die-size)*.16 - 6px)}.section-lead,.duality-copy>p:not(.eyebrow),.play-flow p,.rule-details p,.resource-shelves p,.community-copy>p:not(.attribution),#result-text{font-size:16px}.tool-body p{font-size:13px}.creation-card p{font-size:14px}.intro-lead{font-size:19px}.hero-line{font-size:20px}}
/* 放大简介后，为最长作品文案和入口留足高度。 */
.creation-rail{height:620px}
@media(max-width:767px){.creation-rail{height:570px}}
/* 加号随等号、算式一起上移。 */
.dice-operator{top:calc(var(--die-size)*.16 - 12px)}
@media(max-width:767px){.dice-operator{top:calc(var(--die-size)*.16 - 6px)}}
.rule-art-panel{position:absolute;inset:0;background:var(--surface);opacity:0;transition:opacity .45s ease;pointer-events:none}
.rule-art-panel.active{opacity:1}
.rule-art-panel picture,.rule-art-panel img{display:block;width:100%;height:100%}
.rule-art-panel img{object-fit:cover;object-position:center}
@media(prefers-reduced-motion:reduce){.rule-art-panel{transition:none}}
/* 角色介绍在桌面使用整行宽度，小屏保留自然换行。 */
#characters>.section-lead{max-width:none}
/* 首屏以下的四幅画作只作环境背景，前景面板维持实色可读性。 */
body{isolation:isolate}
.scroll-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .7s ease;background:var(--bg)}
.scroll-backdrop.visible{opacity:1}
.scroll-backdrop picture{position:absolute;inset:-12px;opacity:0;transition:opacity 1.2s ease}
.scroll-backdrop picture.active{opacity:1}
.scroll-backdrop img{width:100%;height:100%;object-fit:cover;filter:saturate(.35) contrast(.8) blur(3px)}
.scroll-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 83%,transparent),color-mix(in srgb,var(--bg) 91%,transparent) 45%,color-mix(in srgb,var(--bg) 87%,transparent))}
@media(max-width:767px){.scroll-backdrop img{filter:saturate(.3) contrast(.8) blur(2px)}.scroll-backdrop::after{background:color-mix(in srgb,var(--bg) 89%,transparent)}}
@media(prefers-reduced-motion:reduce){.scroll-backdrop,.scroll-backdrop picture{transition:none}}
/* 骰面支持鼠标、触屏与键盘操作。 */
button.die-face{padding:0;border:0;color:inherit;cursor:pointer}
@media(min-width:768px){.duality>.dice-stage{align-self:end}}
button.die-face:hover .die-solid{filter:brightness(1.12)}
button.die-face:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
/* 中央一张，两侧各两张。 */
.creation-rail{--step:clamp(110px,17vw,220px)}
.creation-card{transform:translateX(calc(var(--position)*var(--step))) translateZ(calc(var(--distance)*-100px)) rotateY(calc(var(--position)*-19deg)) scale(calc(1 - var(--distance)*.1));opacity:.7;z-index:calc(3 - var(--distance))}
.creation-card.active{transform:translateX(0) translateZ(0) rotateY(0) scale(1);opacity:1;z-index:4}
.creation-card[data-position="-2"],.creation-card[data-position="2"]{opacity:.45}
.creation-card.outside{opacity:0}
@media(max-width:767px){.creation-rail{--step:17vw}.creation-card:not(.active) h3,.creation-card:not(.active) p,.creation-card:not(.active) .button{visibility:hidden}}
/* 侧卡保留封面与标题，说明只展示当前作品，避免五列文字交叠。 */
.creation-card:not(.active) p,.creation-card:not(.active) .button{visibility:hidden}
/* 宝库 / 规则、共创准则 / 社区心得，组成两行两列。 */
.resource-shelves{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 64px;align-items:center}
.resource-shelves article,.resource-shelves article:first-child{grid-row:auto;border:0;padding:24px 0;display:block}
.resource-shelves article:last-child{border-top:1px solid var(--line)}
.resource-shelves>.creed{width:100%;max-width:none;margin:0;padding:34px;text-align:left;align-self:center}
.resource-shelves>.creed .creed-label{margin:0 0 17px;font-size:12px;color:var(--accent)}
.resource-shelves>.creed h2{font-size:38px}
.resources{padding-bottom:48px}
.creations{padding-top:24px}
@media(max-width:767px){.resource-shelves{grid-template-columns:1fr;gap:22px}.resource-shelves article,.resource-shelves article:first-child{padding:20px 0}.resource-shelves>.creed{padding:28px 22px}.resource-shelves>.creed h2{font-size:30px}.resources{padding-bottom:32px}.creations{padding-top:12px}}
/* 两块社区创作入口汇向下方轮盘。 */
.resource-guide{display:flex;align-items:flex-start;gap:24px;margin:32px 0 0;color:var(--accent);text-align:center;font-size:13px;letter-spacing:.1em}
.resource-guide::before,.resource-guide::after{content:"";flex:1;border-top:1px solid var(--line);margin-top:11px}
.resource-guide>span{display:flex;flex-direction:column;align-items:center;gap:9px}
.resource-guide svg{fill:none;stroke:currentColor;stroke-width:1.3;transition:transform .25s}
.resource-guide:hover svg{transform:translateY(4px)}
.resources{padding-bottom:12px}
.resource-shelves>.creed small{max-width:none;margin-top:17px;font-size:13px;line-height:1.8}
.community-copy>.alliance-description{max-width:360px;margin:26px 0 16px}
@media(max-width:767px){.resource-guide{gap:14px;margin-top:26px}.resources{padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){.resource-guide svg{transition:none}.resource-guide:hover svg{transform:none}}
/* 社群区：单行标题，底部行动与二维码卡片对齐。 */
.community{grid-template-columns:.95fr 1.05fr;gap:48px;align-items:stretch}
.community-copy{display:flex;flex-direction:column;min-width:0}
.community-copy h2{font-size:clamp(30px,3.2vw,44px);white-space:nowrap;letter-spacing:.04em}
.community-copy>p:not(.attribution){max-width:none}
.community-copy>.creed{margin-bottom:28px}
.community>.qr-pair{align-self:end}
.alliance-row{display:flex;align-items:center;gap:16px;margin-top:auto;padding-top:8px}
.community-copy .alliance-row .button{margin:0;flex:none}
.alliance-row .alliance-description{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
@media(max-width:1023px){.community{grid-template-columns:1fr;gap:32px}.community-copy h2{font-size:clamp(26px,5vw,40px)}.alliance-row{margin-top:0}}
@media(max-width:480px){.community-copy h2{font-size:clamp(25px,7vw,32px)}.alliance-row{gap:12px}.alliance-row .alliance-description{font-size:13px}.community-copy .alliance-row .button{padding-inline:14px;font-size:13px}}
/* 用户提供的领域图标，统一金色，保留原始轮廓。 */
.domain-icon,.brand-mark img{filter:brightness(0) saturate(100%) invert(79%) sepia(18%) saturate(570%) hue-rotate(1deg) brightness(90%) contrast(91%)}
.domain-icon{display:inline-block;width:28px;height:28px;object-fit:contain;flex:none;vertical-align:middle}
.icon-heading{display:flex;align-items:center;gap:12px}
.rule-details summary .domain-icon{width:24px;height:24px;margin-right:12px}
.section-emblem{display:block;width:52px;height:52px;margin:0 auto 28px}
.brand-mark{display:flex;align-items:center;justify-content:center;width:32px;height:38px;border:0;outline:0}
.brand-mark img{width:32px;height:36px;object-fit:contain}
@media(max-width:767px){.domain-icon{width:24px;height:24px}.icon-heading{gap:9px}.rule-details summary .domain-icon{width:20px;height:20px;margin-right:9px}.brand-mark,.brand-mark img{width:26px;height:30px}.section-emblem{width:44px;height:44px}}
/* 页脚使用原版白字彩色标志，不套用领域图标的金色滤镜。 */
.footer-brand-logo{display:block;width:320px;max-width:100%;height:auto;object-fit:contain}
@media(max-width:767px){.footer-brand-logo{width:270px}}
/* 三个交流群并列展示，小屏保留足够的扫码尺寸。 */
.community{grid-template-columns:1fr;gap:32px}
.qr-pair{grid-template-columns:repeat(3,minmax(0,1fr))}
.qr-pair .qr-crop{max-width:230px;margin-inline:auto}
.final-groups{grid-template-columns:repeat(3,minmax(0,1fr))}
.final-groups>p{grid-column:1/-1}
@media(max-width:767px){.qr-pair,.final-groups{grid-template-columns:1fr}.qr-pair{max-width:360px;width:100%;margin-inline:auto}.qr-pair h3{font-size:19px}.group-number{font-size:21px}}
