/* Fine paper, accessible controls and gently connected scenes. */
html{scroll-behavior:smooth}body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:repeating-linear-gradient(108deg,transparent 0 8px,#a5917610 9px,transparent 10px);opacity:.18}.site-header nav{gap:24px}.save-hint{font-size:12px;color:var(--muted);line-height:1.9;margin:16px 0 0;max-width:400px}.save-hint .text-button{font-size:12px;padding:0 0 0 10px}.hero-copy{position:relative}.hero h1{font-weight:400}.hero-art{min-width:0}.envelope{transition:box-shadow .3s}.envelope:focus-visible{outline:2px solid var(--accent)}.site-footer button,.site-header button{min-height:44px}.choice{font-size:14px}.scene-note,.choices-label,.save-state,.choice-reflection{font-size:12px}.bridge,.memory-note{font-size:13px}.privacy-option{display:flex;align-items:flex-start;gap:13px;background:var(--soft);border:1px solid var(--line);padding:17px;border-radius:17px;margin:14px 0;font-size:14px;line-height:1.6;cursor:pointer}.privacy-option input{width:19px;height:19px;accent-color:var(--accent);flex-shrink:0;margin-top:3px}.privacy-option small{display:block;font-size:12px;color:var(--muted);line-height:1.8;margin-top:5px}dialog{max-height:85svh;overflow:auto}dialog p{font-size:14px}.initial-shell,.error-page{min-height:65svh;max-width:850px;margin:auto;padding:15vh 7vw 8vh}.initial-shell h1{font-size:clamp(30px,4vw,54px)}.initial-shell p,.error-page p{font-size:14px}.result-loading.error{gap:15px;padding:24px}.result-loading .text-button{font-size:13px}.download-fallback{position:absolute;top:60px;right:4vw;z-index:30;max-width:min(550px,92vw);padding:14px 18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 8px 30px var(--shadow);font-size:13px;line-height:1.8}.download-fallback a{margin-left:12px}.dialog-fallback{position:fixed;inset:8vh auto auto 50%;transform:translateX(-50%);z-index:300;background:var(--surface);color:var(--ink);box-shadow:0 0 0 100vmax #211f1d66}button,a,input{touch-action:manipulation}.choice:focus-visible{outline-offset:3px}::selection{background:#cdb99b4d}
@media(max-width:700px){.hero .lede{font-size:14px}.hero h1{font-size:38px}.save-hint{font-size:12px}.hero-art{margin-bottom:20px}.meta-strip span{font-size:12px}.meta-strip{gap:30px}.choice{font-size:14px;min-height:84px}.scene-text h1{font-size:28px}.story-body{font-size:15px}.scene-text .eyebrow,.journey-top,.scene-note,.choices-label,.save-state,.choice-reflection,.chapter-caption{font-size:12px}.chapters{overflow:auto;padding-bottom:8px;gap:15px}.chapters span{font-size:11px;white-space:nowrap}.site-header{margin:0 6vw}.site-header nav button[data-action=gallery]{font-size:12px}.music-label{font-size:12px}.site-footer .competition-note{font-size:10px}.site-footer button{font-size:12px}.bridge,.memory-note{font-size:13px}.gallery-card p{font-size:12px}.gallery-card .card-bottom,.gallery-card .eyebrow{font-size:11px}.filter{font-size:12px;min-height:44px}.result-toolbar button{font-size:12px;min-height:44px}.download-fallback{top:56px}.page-title p{font-size:13px}dialog{width:calc(100vw - 24px);padding:24px;max-width:560px}.privacy-option{font-size:13px}.privacy-option small{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* 乌拉意象：暖纸、江水与档案层次 */
.culture-ribbon{margin:1rem auto 5rem;max-width:1450px;padding:clamp(28px,4vw,65px);border:1px solid var(--line);border-radius:30px;display:grid;grid-template-columns:minmax(240px,.85fr) 1.5fr;gap:5%;background:linear-gradient(120deg,#d8c7a91a,#9fb9af13 58%,transparent);position:relative;overflow:hidden}.culture-ribbon:before{content:'';position:absolute;width:480px;height:480px;border:1px solid #a39d8730;border-radius:50%;right:-140px;top:-230px;box-shadow:0 0 0 28px #b1b7a50a,0 0 0 64px #b1b7a50a}.culture-ribbon-intro{z-index:1}.culture-ribbon-intro>span,.culture-ribbon-cards span{font-size:11px;letter-spacing:.15em;color:var(--muted)}.culture-ribbon h2{font-size:clamp(26px,2.6vw,42px);line-height:1.35;margin:20px 0;font-weight:400}.culture-ribbon p{font-size:14px;line-height:1.9;color:var(--muted);max-width:390px}.culture-ribbon .text-button{padding:12px 0}.culture-ribbon-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:stretch;z-index:1}.culture-ribbon-cards button{min-height:190px;text-align:left;padding:22px;border:1px solid var(--line);border-radius:20px;color:var(--ink);background:var(--surface);display:flex;flex-direction:column;justify-content:flex-end;gap:10px;transition:transform .3s,box-shadow .3s}.culture-ribbon-cards button:hover{transform:translateY(-6px);box-shadow:0 12px 30px var(--shadow)}.culture-ribbon-cards b{font-size:18px;font-weight:400}.culture-ribbon-cards small{color:var(--muted);font-size:12px}.motif-tag{color:var(--accent);font-size:12px;margin:10px 0}.gallery-card img{object-fit:cover}.journey{position:relative;isolation:isolate}.journey:before{content:'';position:absolute;inset:8rem -2vw 0;z-index:-1;opacity:.32;pointer-events:none;background:radial-gradient(ellipse at 14% 28%,#b4c8be35,transparent 42%),radial-gradient(ellipse at 90% 80%,#dccbb130,transparent 38%)}.journey[data-chapter='1']:before{background:radial-gradient(ellipse at 12% 30%,#d7c7ad45,transparent 45%)}.journey[data-chapter='2']:before{background:radial-gradient(ellipse at 10% 25%,#a8bab145,transparent 46%)}.journey[data-chapter='3']:before{background:radial-gradient(ellipse at 15% 30%,#d5bea63c,transparent 46%)}.journey[data-chapter='4']:before{background:radial-gradient(ellipse at 10% 25%,#e4d6b945,transparent 48%)}.chapter-visual{display:flex;align-items:center;gap:12px;color:var(--muted);opacity:.5;margin-top:35px;font-size:11px;letter-spacing:.18em}.chapter-visual i{width:62px;height:1px;background:currentColor}.chapter-visual em{font-style:normal}.choice{transition:transform .2s,box-shadow .2s,border-color .2s}.choice:hover{transform:translateX(5px);box-shadow:0 8px 24px var(--shadow)}
@media(max-width:700px){.culture-ribbon{margin:0 5vw 4rem;padding:26px;grid-template-columns:1fr;gap:20px}.culture-ribbon-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.culture-ribbon-cards button{min-height:135px;padding:12px;gap:8px}.culture-ribbon-cards b{font-size:13px}.culture-ribbon-cards small{font-size:10px;line-height:1.5}.culture-ribbon h2{margin:13px 0}.chapter-visual{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.culture-ribbon-cards button,.choice{transition:none}}

.chapter-source{margin-top:28px;padding:18px 20px;border-left:2px solid #a2b2a0;background:linear-gradient(95deg,#b2c2b21c,transparent);border-radius:0 14px 14px 0;display:grid;gap:7px;max-width:540px}.chapter-source strong{font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--accent)}.chapter-source span,.chapter-source a{font-size:12px;line-height:1.8;color:var(--muted)}.chapter-source a{text-decoration:underline;text-underline-offset:4px}
