:root{color-scheme:dark;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;background:#08090d;color:#f8f4e8;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}@font-face{font-family:City Ink Brush;src:url(/fonts/MaShanZheng-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:City Ink Flow;src:url(/fonts/ZhiMangXing-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:City Ink Script;src:url(/fonts/LiuJianMaoCao-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:City Ink SemiCursive;src:url(/fonts/LongCang-Regular.ttf) format("truetype");font-display:swap}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:linear-gradient(140deg,rgba(85,221,224,.12),transparent 32%),linear-gradient(220deg,rgba(233,93,85,.13),transparent 30%),#08090d}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.app-shell{position:relative;min-height:100vh;width:min(100%,1180px);margin:0 auto;padding:max(14px,env(safe-area-inset-top)) 16px 28px;isolation:isolate}.ambient{position:fixed;inset:auto;z-index:-1;width:34vw;height:34vw;max-width:520px;max-height:520px;min-width:220px;min-height:220px;filter:blur(72px);opacity:.28;pointer-events:none}.ambient-a{top:8%;left:-10%;background:#55dde0}.ambient-b{right:-8%;bottom:6%;background:#ffbe5c}.top-bar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;padding:8px 0 14px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.brand-mark{display:flex;flex-direction:column;align-items:center;gap:2px;letter-spacing:0}.brand-mark span{font-size:16px;font-weight:800}.brand-mark small{color:#f8f4e88f;font-size:11px}.icon-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#f8f4e8;background:#ffffff12;box-shadow:inset 0 1px #ffffff14}.screen{width:100%;padding-bottom:32px}.home-screen{display:grid;gap:22px}.cover-hero{position:relative;display:grid;grid-template-columns:minmax(170px,260px) minmax(0,1fr) minmax(220px,340px);grid-template-rows:auto 1fr auto;grid-template-areas:"report nav nav" "report title bookmark" "report actions event";align-items:center;min-height:calc(100vh - 92px);overflow:hidden;padding:clamp(22px,4vw,44px);border-radius:8px;background:#07090d;box-shadow:0 32px 90px #0000007a,inset 0 0 0 1px #ffffff14}.cover-backdrop,.cover-vignette,.cover-grain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.cover-backdrop img{width:100%;height:100%;object-fit:cover;opacity:.44;filter:blur(2px) saturate(.9) contrast(1.22);transform:scale(1.08);animation:coverDrift 18s ease-in-out infinite alternate}.cover-vignette{z-index:1;background:radial-gradient(circle at 50% 42%,rgba(136,203,226,.18),transparent 31%),linear-gradient(90deg,#000000e0,#00000057 34%,#0000007a 64%,#000000db),linear-gradient(180deg,rgba(0,0,0,.52),transparent 40%,rgba(0,0,0,.8)),radial-gradient(circle,transparent 30%,rgba(0,0,0,.82) 100%)}.cover-grain{z-index:2;opacity:.28;background:repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0 1px,transparent 1px 4px),linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.16) 45%,transparent 52% 100%);mix-blend-mode:screen;animation:coverShimmer 5.6s ease-in-out infinite}.cover-nav,.cover-report,.cover-title,.cover-bookmark,.cover-event{position:relative;z-index:3}.cover-nav{grid-area:nav;justify-self:end;align-self:start;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:clamp(14px,2.4vw,28px);color:#f8f4e89e;font-size:11px;font-weight:900;letter-spacing:.16em}.cover-nav span:first-child{color:#fff1ad;text-decoration:underline;text-underline-offset:8px}.cover-report{grid-area:report;align-self:center;max-width:230px;padding-left:16px;border-left:3px solid #f4c766}.report-kicker{display:block;color:#f4c766;font-size:20px;font-weight:900;line-height:1.05;margin-bottom:8px}.cover-report strong{display:block;color:#f8f4e8c7;font-size:18px;line-height:1.1}.cover-report p{margin-top:16px;color:#f8f4e87a;font-size:13px;line-height:1.7}.cover-title{grid-area:title;justify-self:center;text-align:center;max-width:660px;padding:42px 0}.cover-title h1{max-width:none;color:#eaf6ff;font-family:Georgia,Times New Roman,Songti SC,serif;font-size:clamp(64px,10vw,132px);font-weight:900;line-height:.92;text-shadow:0 10px 34px rgba(0,0,0,.58)}.cover-title p{width:min(100%,560px);margin:18px auto 0;color:#f8f4e8c7;font-size:16px;line-height:1.8}.cover-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:24px}.cover-bookmark{grid-area:bookmark;justify-self:center}.cover-bookmark .bookmark-stage.large{min-height:470px}.cover-bookmark .bookmark-card{width:min(25vw,260px)}.cover-event{grid-area:event;justify-self:end;align-self:end;display:grid;justify-items:end;gap:5px;padding-right:14px;border-right:3px solid #f4c766;color:#f8f4e894;font-size:12px}.cover-event strong{color:#f4c766;font-size:15px}.hero-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);grid-template-areas:"copy bookmark" "actions bookmark";align-items:center;min-height:calc(100vh - 112px);gap:26px 44px}.hero-copy{grid-area:copy;align-self:end}.eyebrow{display:inline-flex;color:#76e7ed;font-size:12px;font-weight:800;letter-spacing:.08em;margin-bottom:12px}h1,h2,p{margin:0}h1{max-width:680px;font-size:clamp(42px,7vw,86px);line-height:.98;letter-spacing:0}.hero-copy p{max-width:560px;margin-top:18px;color:#f8f4e8b8;font-size:18px;line-height:1.7}.hero-actions{grid-area:actions;display:flex;flex-wrap:wrap;gap:12px;align-self:start}.action-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:min(100%,720px)}.primary-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 18px;border-radius:8px;border:0;text-decoration:none;font-weight:800;transition:transform .18s ease,border-color .18s ease,background .18s ease}.primary-action{color:#0b0c10;background:linear-gradient(135deg,#fff1ad,#ffbe5c 46%,#75e7f0);box-shadow:0 18px 42px #ffbe5c3d}.secondary-action{color:#f8f4e8;border:1px solid rgba(255,255,255,.16);background:#ffffff12}.primary-action:active,.secondary-action:active,.icon-button:active{transform:scale(.98)}.primary-action.full{width:100%}.primary-action:disabled{opacity:.62;cursor:wait}.bookmark-stage{grid-area:bookmark;position:relative;display:grid;justify-items:center;perspective:1200px;-webkit-user-select:none;user-select:none;touch-action:pan-y}.bookmark-stage.large{min-height:560px}.bookmark-card{position:relative;width:min(100%,320px);aspect-ratio:2 / 5;border-radius:8px;overflow:hidden;background:#11151d;box-shadow:0 42px 78px #00000073,0 0 0 1px #ffffff24,inset 0 1px #ffffff2e;transform-style:preserve-3d;transition:transform .16s ease-out}.bookmark-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:linear-gradient(112deg,rgba(255,255,255,.28),transparent 28%,transparent 60%,rgba(255,246,192,.2));mix-blend-mode:screen;pointer-events:none}.bookmark-card.shimmer:after{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;z-index:4;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.7),transparent 52%);animation:sweep 1.6s infinite}.bookmark-card img{display:block;width:100%;height:100%;object-fit:cover}.bookmark-card.landmark-artwork img{object-position:center}.landmark-bookmark-label{position:absolute;top:12px;right:12px;bottom:12px;left:12px;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:0 12px 16px;border:1px solid rgba(38,53,46,.55);background:linear-gradient(to bottom,transparent 55%,rgba(247,241,225,.25) 70%,rgba(247,241,225,.9) 100%);color:#23342e;pointer-events:none}.landmark-bookmark-title{font-family:STKaiti,KaiTi,Songti SC,serif;font-size:clamp(18px,2vw,28px);font-weight:700;line-height:1.15;text-align:center;text-shadow:0 1px rgba(255,252,242,.72)}.landmark-bookmark-label small{margin-top:6px;color:#23342eb8;font-family:Songti SC,STSong,serif;font-size:10px;letter-spacing:.14em}.landmark-bookmark-seal{position:absolute;top:17px;right:17px;display:grid;width:28px;height:34px;place-content:center;background:#a32f28eb;color:#fff8ed;font-family:STKaiti,KaiTi,serif;font-size:11px;font-weight:700;line-height:1.15;text-align:center}.bookmark-glass{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(255,255,255,.16);border-radius:inherit;pointer-events:none}.rotate-hint{display:inline-flex;align-items:center;gap:6px;margin-top:12px;color:#f8f4e894;font-size:12px}.bookmark-skeleton{display:grid;place-items:center;width:min(100%,320px);aspect-ratio:2 / 5;border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#f8f4e899;background:#ffffff0d}.sample-strip{padding-bottom:16px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-heading span{font-size:18px;font-weight:900}.section-heading small,.text-button{color:#f8f4e894;font-size:13px}.text-button{border:0;background:transparent}.sample-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sample-tile,.gallery-item{position:relative;display:block;overflow:hidden;min-height:168px;border:1px solid rgba(255,255,255,.13);border-radius:8px;color:#f8f4e8;background:#ffffff0f}.sample-tile img,.gallery-item img{display:block;width:100%;height:100%;object-fit:cover}.sample-tile span{position:absolute;left:10px;bottom:10px;padding:6px 8px;border-radius:6px;background:#050608a3;font-size:13px;font-weight:800}.upload-layout{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:20px;align-items:start;padding-top:12px}.upload-drop{position:relative;display:grid;place-items:center;min-height:540px;overflow:hidden;border:1px dashed rgba(255,255,255,.28);border-radius:8px;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent),#ffffff0d}.upload-drop input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.upload-drop span{display:grid;justify-items:center;gap:10px;color:#f8f4e8b3;font-weight:800}.upload-drop img{width:100%;height:100%;min-height:540px;object-fit:cover}.form-grid{display:grid;gap:14px}.form-grid label{display:grid;gap:8px}.form-grid span{color:#f8f4e8ad;font-size:13px;font-weight:800}.form-grid input,.form-grid textarea{width:100%;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#f8f4e8;background:#ffffff12;outline:none;padding:14px;resize:vertical}.form-grid input:focus,.form-grid textarea:focus{border-color:#75e7f0b8;box-shadow:0 0 0 3px #75e7f01f}.error-line{color:#ff9c91;font-weight:700}.generate-screen,.scratch-screen,.detail-screen{display:grid;place-items:center;gap:18px}.generation-stage{display:grid;grid-template-columns:minmax(240px,360px) minmax(260px,360px);align-items:center;gap:34px;min-height:calc(100vh - 112px)}.progress-console{display:grid;gap:10px}.console-row{display:grid;grid-template-columns:22px 1fr;align-items:center;min-height:42px;padding:0 12px;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#f8f4e875;background:#ffffff0d}.console-row.active{color:#f8f4e8;border-color:#ffd16657}.scratch-header{width:min(100%,430px)}.scratch-header h2{font-size:30px}.scratch-wrap{position:relative;width:min(86vw,360px);aspect-ratio:2 / 5;overflow:hidden;border-radius:8px;box-shadow:0 36px 78px #00000080,0 0 0 1px #ffffff26;touch-action:none;background:#11151d}.scratch-wrap img,.scratch-wrap canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.scratch-wrap img{object-fit:cover}.scratch-wrap canvas{z-index:2}.scratch-wrap.done{animation:floatDone .7s ease forwards}.scratch-meter{position:absolute;top:12px;right:12px;z-index:3;display:grid;justify-items:end;padding:8px 9px;border-radius:8px;background:#050608b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.scratch-meter span{font-weight:900}.scratch-meter small{color:#f8f4e894;font-size:11px}.done-pop{position:absolute;inset:auto 18px 28px;z-index:4;min-height:46px;display:grid;place-items:center;border-radius:8px;color:#08090d;font-weight:900;background:linear-gradient(135deg,#fff1ad,#75e7f0)}.detail-tabs{display:grid;grid-template-columns:1fr 1fr;width:min(100%,360px);padding:4px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff12}.detail-tabs button{min-height:38px;border:0;border-radius:6px;color:#f8f4e8a8;background:transparent;font-weight:800}.detail-tabs button.active{color:#0b0c10;background:#f8f4e8}.story-panel{width:min(100%,720px);display:grid;gap:16px;padding:20px;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(90deg,#ffffff12,#ffffff08)}.story-title{display:flex;gap:10px;align-items:center}.story-title h2{font-size:24px}.story-title span,.story-panel p{color:#f8f4e8b3;line-height:1.72}.story-panel blockquote{margin:0;padding-left:14px;border-left:3px solid #ffbe5c;color:#fff1ad}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gallery-subheading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:26px 0 12px;padding-top:18px;border-top:1px solid rgba(39,54,49,.16);color:#26332f}.gallery-subheading:first-of-type{margin-top:0;padding-top:0;border-top:0}.gallery-subheading span{font-family:STKaiti,KaiTi,serif;font-size:20px;font-weight:800}.gallery-subheading small{color:#27363199;font-size:12px;text-align:right}.gallery-subheading.personal{margin-top:34px}.gallery-item{aspect-ratio:2 / 3.7;text-align:left}.gallery-item:after{content:"";position:absolute;top:48%;right:0;bottom:0;left:0;background:linear-gradient(transparent,#000000db)}.gallery-item span,.gallery-item small{position:absolute;z-index:2;left:10px;right:10px}.gallery-item span{bottom:30px;font-weight:900}.gallery-item small{bottom:12px;color:#f8f4e89e}.loading-state{display:flex;align-items:center;justify-content:center;gap:8px;min-height:220px;color:#f8f4e8a8}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sweep{0%{transform:translate(-35%)}to{transform:translate(35%)}}@keyframes floatDone{50%{transform:translateY(-10px) scale(1.025)}to{transform:translateY(0) scale(1)}}@keyframes coverDrift{0%{transform:scale(1.08) translate3d(-1.5%,-1%,0)}to{transform:scale(1.16) translate3d(1.5%,1%,0)}}@keyframes coverShimmer{0%,to{opacity:.18;transform:translate(-2%)}50%{opacity:.34;transform:translate(2%)}}@media(max-width:860px){.app-shell{padding-left:12px;padding-right:12px}.cover-hero{grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto;grid-template-areas:"nav" "title" "actions" "bookmark" "report";min-height:auto;padding:18px;gap:16px}.cover-nav{justify-self:start;justify-content:flex-start;gap:14px;font-size:10px}.cover-report{max-width:none;align-self:stretch}.report-kicker{font-size:16px}.cover-title{justify-self:stretch;text-align:left;padding:10px 0 0}.cover-title h1{font-size:clamp(48px,14vw,58px)}.cover-title p{margin-left:0;font-size:15px}.cover-actions{justify-content:stretch;margin-top:4px}.cover-bookmark .bookmark-stage.large{min-height:auto}.cover-bookmark .bookmark-card{width:min(68vw,270px)}.cover-event{display:none}.hero-workbench{grid-template-columns:1fr;grid-template-areas:"copy" "actions" "bookmark";min-height:auto;gap:18px;padding-top:10px}.hero-copy{align-self:start}h1{font-size:clamp(40px,12vw,58px)}.hero-copy p{font-size:15px}.bookmark-stage.large{min-height:auto}.bookmark-card{width:min(70vw,300px)}.hero-actions,.action-row,.primary-action,.secondary-action{width:100%}.sample-list{grid-template-columns:repeat(3,1fr);gap:8px}.sample-tile{min-height:138px}.upload-layout,.generation-stage{grid-template-columns:1fr}.upload-drop,.upload-drop img{min-height:360px}.generation-stage{min-height:auto;gap:20px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.scroll-hero .cover-title h1,.journey-intro h1,.reveal-copy h1{font-family:City Ink Flow,City Ink Brush,STXingkai,FZXingKai-S04S,KaiTi,serif;font-weight:400;letter-spacing:0;text-shadow:1px 2px 0 rgba(255,255,255,.28),2px 4px 12px rgba(28,44,37,.12)}.atlas-heading h2,.scratch-header h2,.story-title h2,.section-heading span{font-family:City Ink Brush,STXingkai,FZXingKai-S04S,KaiTi,serif;font-weight:400;letter-spacing:0;text-shadow:1px 2px 0 rgba(255,255,255,.28),2px 4px 12px rgba(28,44,37,.12)}.work-status{position:absolute;z-index:3;top:10px;right:10px;max-width:calc(100% - 20px);overflow:hidden;color:#fffaf0;background:#2f4940e0;font-family:Songti SC,STSong,serif;font-size:11px;font-style:normal;line-height:1.2;padding:6px 7px;text-overflow:ellipsis;white-space:nowrap}.work-status.failed{background:#9d3029e6}.scroll-hero .cover-title h1,.journey-intro h1,.reveal-copy h1{line-height:.9}.atlas-heading h2,.scratch-header h2,.story-title h2,.section-heading span{line-height:1.05}@media(max-width:420px){.top-bar{grid-template-columns:40px 1fr 40px}.icon-button{width:38px;height:38px}.brand-mark span{font-size:15px}h1{font-size:39px}.bookmark-card{width:min(74vw,280px)}.sample-tile{min-height:116px}.scratch-wrap{width:min(88vw,330px)}}:root{color-scheme:light;font-family:"Noto Serif SC",Songti SC,STSong,KaiTi,Microsoft YaHei,serif;background:#efe5cf;color:#1f2a24}body{background:radial-gradient(circle at 16% 12%,rgba(169,63,51,.13),transparent 28%),radial-gradient(circle at 88% 20%,rgba(55,92,78,.13),transparent 26%),linear-gradient(115deg,rgba(255,255,255,.28),transparent 34%),#efe5cf}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;opacity:.45;background:repeating-linear-gradient(90deg,rgba(87,74,54,.08) 0 1px,transparent 1px 9px),repeating-linear-gradient(0deg,rgba(87,74,54,.05) 0 1px,transparent 1px 11px)}.ambient{filter:blur(88px);opacity:.2}.ambient-a{background:#54786b}.ambient-b{background:#b23a2e}.top-bar{color:#1f2a24}.brand-mark span{color:#1f2a24;font-family:KaiTi,STKaiti,"Noto Serif SC",serif;font-weight:900}.brand-mark small,.rotate-hint,.section-heading small,.text-button{color:#1f2a249e}.icon-button{color:#1f2a24;border-color:#1f2a242e;background:#fffaf0a8;box-shadow:inset 0 1px #ffffff94,0 10px 28px #4e3e261a}.cover-hero{background:radial-gradient(circle at 66% 18%,rgba(255,255,255,.76),transparent 28%),linear-gradient(180deg,#f8f1df,#e4d4b6);box-shadow:0 28px 80px #4d3a2238,inset 0 0 0 1px #46362224}.cover-backdrop img{opacity:.28;filter:blur(1px) saturate(.42) contrast(1.04);mix-blend-mode:multiply}.cover-vignette{background:radial-gradient(circle at 72% 38%,rgba(52,74,62,.16),transparent 32%),linear-gradient(90deg,#efe5cff5,#efe5cf9e 33%,#efe5cf85 66%,#efe5cfeb),linear-gradient(180deg,rgba(255,250,240,.78),transparent 42%,rgba(107,78,44,.16))}.cover-grain{opacity:.52;background:radial-gradient(circle at 22% 74%,rgba(31,42,36,.18),transparent 2%,transparent 7%,rgba(31,42,36,.08) 8%,transparent 16%),repeating-linear-gradient(0deg,rgba(80,68,47,.09) 0 1px,transparent 1px 6px),linear-gradient(115deg,transparent 0 40%,rgba(255,255,255,.46) 48%,transparent 56% 100%);mix-blend-mode:multiply}.cover-nav{color:#1f2a248c;font-family:Microsoft YaHei,sans-serif;letter-spacing:.08em}.cover-nav span:first-child{color:#a8322a;text-decoration-color:#a8322a}.cover-report{border-left-color:#a8322a}.report-kicker{color:#a8322a;font-family:KaiTi,STKaiti,serif;font-size:24px}.cover-report strong{color:#1f2a24;font-family:KaiTi,STKaiti,serif;font-size:21px}.cover-report p{color:#1f2a2499}.eyebrow{color:#54786b}.cover-title h1{color:#1f2a24;font-family:STKaiti,KaiTi,"Noto Serif SC",Songti SC,serif;font-weight:900;text-shadow:0 2px 0 rgba(255,255,255,.36),0 18px 34px rgba(75,56,31,.16)}.cover-title p,.hero-copy p,.story-title span,.story-panel p{color:#1f2a24ad}.primary-action{color:#fffaf0;background:linear-gradient(135deg,#b23a2e,#8f2d25 54%,#395f52);box-shadow:0 18px 42px #9f342b38}.secondary-action{color:#1f2a24;border-color:#1f2a242e;background:#fffaf099}.cover-event{color:#1f2a2485;border-right-color:#a8322a}.cover-event strong{color:#a8322a}.bookmark-card{background:#efe3c8;box-shadow:0 38px 70px #46321c47,0 0 0 1px #272a1e33,inset 0 1px #ffffffa6}.bookmark-card:before{background:linear-gradient(112deg,rgba(255,255,255,.34),transparent 24%,transparent 62%,rgba(166,50,42,.12));mix-blend-mode:soft-light}.sample-tile,.gallery-item,.upload-drop,.form-grid input,.form-grid textarea,.console-row,.story-panel,.detail-tabs{border-color:#1f2a2429;background:#fffaf09e;color:#1f2a24}.sample-tile span{color:#fffaf0;background:#1f2a24bd}.section-heading span,.story-title h2,.scratch-header h2{color:#1f2a24;font-family:KaiTi,STKaiti,serif}.form-grid span{color:#1f2a24a8}.form-grid input,.form-grid textarea{color:#1f2a24;background:#fffaf0b8}.form-grid input:focus,.form-grid textarea:focus{border-color:#a8322aa3;box-shadow:0 0 0 3px #a8322a1c}.upload-drop{border-style:dashed}.upload-drop span,.loading-state{color:#1f2a24ad}.console-row{color:#1f2a2475}.console-row.active{color:#1f2a24;border-color:#a8322a59}.scratch-wrap{background:#efe3c8;box-shadow:0 36px 78px #46321c4d,0 0 0 1px #1f2a242e}.scratch-meter{color:#fffaf0;background:#1f2a24bd}.done-pop{color:#fffaf0;background:linear-gradient(135deg,#a8322a,#395f52)}.detail-tabs{background:#fffaf0b3}.detail-tabs button{color:#1f2a249e}.detail-tabs button.active{color:#fffaf0;background:#1f2a24}.story-panel{background:linear-gradient(90deg,#fffaf0d1,#efe5cf9e);border-top-color:#1f2a2429;border-bottom-color:#1f2a241a}.story-panel blockquote{color:#8f2d25;border-left-color:#a8322a}.gallery-item:after{background:linear-gradient(transparent,#1f2a24d1)}.gallery-item span{color:#fffaf0}.gallery-item small{color:#fffaf0b3}.error-line{color:#a8322a}@media(max-width:860px){.cover-hero{background:radial-gradient(circle at 80% 6%,rgba(168,50,42,.16),transparent 28%),linear-gradient(180deg,#f8f1df,#e5d5b8)}.cover-title h1{font-size:clamp(46px,13vw,56px);line-height:1.02}.cover-report{padding:14px 0 0 14px}}.cover-hero{isolation:isolate;min-height:max(660px,calc(100vh - 92px));background:#f7f6f2;box-shadow:0 24px 70px #2125241f}.cover-hero:before,.cover-hero:after{content:"";position:absolute;pointer-events:none}.cover-hero:before{z-index:0;top:0;right:0;bottom:0;left:0;background:transparent}.cover-hero:after{z-index:1;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#fafaf7fa,#fafaf7e6,#fafaf76b 54%,#fafaf708 82%),linear-gradient(180deg,rgba(250,250,247,.32),transparent 24%,rgba(250,250,247,.18))}.cover-backdrop{z-index:0;opacity:.14;mix-blend-mode:multiply}.cover-backdrop img{opacity:.42;filter:grayscale(1) contrast(1.25) blur(.5px);transform:scale(1.03)}.cover-vignette{z-index:1;background:linear-gradient(90deg,rgba(250,250,247,.38),transparent 44%),linear-gradient(180deg,rgba(250,250,247,.22),transparent 34%,rgba(24,31,30,.08))}.cover-grain{z-index:2;opacity:.38;background:repeating-linear-gradient(92deg,rgba(28,35,34,.035) 0 1px,transparent 1px 8px),repeating-linear-gradient(3deg,rgba(28,35,34,.025) 0 1px,transparent 1px 12px);mix-blend-mode:multiply}.cover-nav,.cover-report,.cover-title,.cover-bookmark,.cover-event{z-index:3}.cover-nav{color:#1e2624a3;font-size:12px;font-weight:700;letter-spacing:.12em}.cover-nav span:first-child{color:#9f2d28;text-decoration-thickness:1px}.cover-report{max-width:205px;padding:20px 0 20px 18px;border-left:2px solid #aa322c;background:linear-gradient(90deg,rgba(250,250,247,.7),transparent)}.report-kicker{color:#a6312b;font-family:STKaiti,KaiTi,serif;font-size:25px;letter-spacing:.12em}.cover-report strong{color:#202927;font-family:STKaiti,KaiTi,serif;font-size:22px;font-weight:700;line-height:1.35}.cover-report p{color:#1e2624a8;font-family:Songti SC,STSong,serif;font-size:13px;line-height:1.9}.cover-title{justify-self:start;max-width:520px;padding:42px 0 46px;text-align:left}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:#4f655c;font-family:Georgia,Times New Roman,serif;font-size:10px;letter-spacing:.24em}.eyebrow:before{width:34px;height:1px;background:currentColor;content:""}.cover-title h1{margin-top:14px;color:#202827;font-family:STKaiti,KaiTi,"Noto Serif SC",serif;font-size:clamp(68px,8.1vw,116px);font-weight:900;line-height:.9;letter-spacing:.06em;text-shadow:2px 3px 0 rgba(255,255,255,.74),10px 14px 25px rgba(25,32,31,.16)}.cover-title p{width:min(100%,450px);margin:24px 0 0;color:#1b2523bf;font-family:Songti SC,STSong,serif;font-size:16px;line-height:1.9}.cover-actions{justify-content:flex-start;margin-top:30px}.primary-action{position:relative;overflow:hidden;border:1px solid rgba(120,29,25,.56);border-radius:3px;background:#a3312a;box-shadow:7px 8px #28302b30}.primary-action:after{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:1px solid rgba(255,243,221,.52);content:"";pointer-events:none}.primary-action:hover{background:#872722;transform:translate(1px,1px);box-shadow:5px 6px #28302b2e}.secondary-action{border:1px solid rgba(35,47,42,.42);border-radius:3px;background:#fafaf79e;box-shadow:4px 5px #28302b1f}.cover-bookmark{transform:translate(5%)}.cover-bookmark .bookmark-stage.large{min-height:500px}.cover-bookmark .bookmark-card{width:min(22vw,245px);box-shadow:18px 28px 45px #141b1954,0 0 0 1px #161e1c52}.cover-event{padding:12px 14px 12px 0;border-right:2px solid #a4312b;background:linear-gradient(270deg,rgba(250,250,247,.62),transparent);color:#1d2724a8}.cover-event strong{color:#972d27;font-family:STKaiti,KaiTi,serif}@media(max-width:860px){.cover-hero{min-height:calc(100svh - 82px);background:#f7f6f2}.cover-hero:before{background-position:66% center;opacity:.7}.cover-hero:after{background:linear-gradient(180deg,#fafaf7e0,#fafaf7b3 43%,#fafaf738 78%,#fafaf70a)}.cover-title{justify-self:start;padding:16px 0 4px;text-align:left}.cover-title h1{font-size:clamp(56px,16vw,72px)}.cover-title p{max-width:330px;font-size:15px}.cover-actions{justify-content:flex-start}.cover-bookmark{justify-self:end;transform:translate(-4%)}.cover-bookmark .bookmark-stage.large{min-height:350px}.cover-bookmark .bookmark-card{width:min(57vw,250px)}}body{background:#e9e5dc}.app-shell{width:min(100%,1280px)}.ambient{display:none}.scroll-hero{grid-template-columns:minmax(150px,220px) minmax(360px,1fr) minmax(250px,320px);grid-template-areas:"report nav nav" "report title bookmark" "report title caption";min-height:max(690px,calc(100vh - 92px));padding:clamp(28px,4vw,56px);background:#f4f0e7;box-shadow:0 30px 80px #1c242229}.scroll-hero:before{content:none}.scroll-hero:after{z-index:1;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#f8f7f1c7,#f8f7f152 42%,#f8f7f10d 74%),linear-gradient(180deg,rgba(248,247,241,.38),transparent 27%,rgba(28,39,38,.06))}.scroll-art,.scroll-mist{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.scroll-art{z-index:0;background:url(/images/misty-shanghai-scroll.png) center / cover no-repeat;animation:scrollBreathe 20s ease-in-out infinite alternate}.scroll-mist{z-index:1;opacity:.46}.scroll-mist-far{background:radial-gradient(ellipse at 44% 68%,rgba(251,251,248,.88),transparent 42%);animation:mistFloat 16s ease-in-out infinite alternate}.scroll-mist-near{background:linear-gradient(90deg,rgba(249,249,246,.38),transparent 32%,rgba(249,249,246,.14) 68%,transparent);animation:mistFloat 12s ease-in-out infinite alternate-reverse}.scroll-hero .cover-grain{opacity:.24;background:repeating-linear-gradient(90deg,rgba(52,58,50,.035) 0 1px,transparent 1px 10px),repeating-linear-gradient(0deg,rgba(52,58,50,.025) 0 1px,transparent 1px 13px);mix-blend-mode:multiply}.scroll-hero .cover-nav{display:none}.scroll-hero .cover-nav span:first-child{color:#a12f29}.scroll-hero .cover-report{align-self:center;max-width:176px;padding:25px 0 25px 17px;border-left:1px solid #a9322c;background:linear-gradient(90deg,rgba(248,247,241,.58),transparent)}.scroll-hero .report-kicker{color:#9d302a;font-size:22px;letter-spacing:.24em}.scroll-hero .cover-report strong{color:#26322e;font-size:21px;line-height:1.55}.scroll-hero .cover-report p{color:#202e2aad;font-size:13px;line-height:1.9}.scroll-hero .cover-title{justify-self:start;max-width:540px;padding:38px 0;text-align:left}.scroll-hero .eyebrow{color:#51695f;font-family:Georgia,Times New Roman,serif;font-size:10px;letter-spacing:.28em}.title-preface{display:block;margin-top:19px;color:#9c302a;font-family:STKaiti,KaiTi,serif;font-size:17px;letter-spacing:.12em}.scroll-hero .cover-title h1{margin:6px 0 0 -4px;color:#1f2d2a;font-family:STKaiti,KaiTi,"Noto Serif SC",serif;font-size:clamp(72px,8.5vw,128px);font-weight:900;line-height:.76;letter-spacing:.12em;text-shadow:2px 3px 0 rgba(255,255,255,.72),14px 17px 30px rgba(34,47,43,.18)}.scroll-hero .cover-title p{width:min(100%,430px);margin:26px 0 0;color:#1e2d29c7;font-family:Songti SC,STSong,serif;font-size:16px;line-height:1.95}.scroll-hero .cover-actions{justify-content:flex-start;margin-top:30px}.scroll-hero .primary-action,.scroll-hero .secondary-action{min-height:46px;border-radius:2px}.scroll-hero .primary-action{background:#a2312b;box-shadow:6px 7px #222d292e}.scroll-hero .secondary-action{border-color:#24322d6b;background:#f9f9f58a;box-shadow:4px 5px #222d291f}.scroll-route{display:flex;align-items:center;gap:8px;margin-top:32px;color:#273631a8;font-family:STKaiti,KaiTi,serif;font-size:14px}.scroll-route i{display:block;width:27px;height:1px;background:linear-gradient(90deg,#2736312e,#273631ad)}.scroll-hero .cover-bookmark{align-self:end;justify-self:end;transform:none}.bookmark-portal{position:relative;display:grid;justify-items:center}.bookmark-portal:before{position:absolute;top:13%;width:300px;aspect-ratio:1;border:1px solid rgba(47,70,64,.2);border-radius:50%;background:radial-gradient(circle,rgba(247,247,243,.8),rgba(244,247,244,.22) 42%,transparent 70%);content:""}.scroll-hero .bookmark-stage.large{z-index:1;min-height:470px}.scroll-hero .bookmark-card{width:min(18.5vw,212px);border-radius:3px;box-shadow:16px 24px 48px #141f1c52,0 0 0 1px #202d2857}.portal-label,.portal-hint{position:relative;z-index:2}.portal-label{margin-bottom:-12px;padding:5px 8px;color:#f9f5eb;background:#3c5a50;font-family:STKaiti,KaiTi,serif;font-size:13px;letter-spacing:.12em}.portal-hint{margin-top:-2px;color:#1f2d29b8;font-family:Songti SC,STSong,serif;font-size:12px}.scroll-hero .cover-event{align-self:end;padding:10px 12px 10px 0;border-right:1px solid #a1312b;background:none;color:#24312da3}.scroll-hero .cover-event strong{color:#8d2b26;font-size:15px}.scroll-seal{position:absolute;z-index:3;right:28px;bottom:32px;display:grid;place-items:center;width:38px;height:38px;color:#fff3df;border:1px solid rgba(255,243,223,.65);background:#ad332c;box-shadow:3px 3px #621f1c38;font-family:STKaiti,KaiTi,serif;font-size:12px;line-height:1.1}.sample-strip{padding:26px 0 14px}.city-atlas{position:relative;margin-top:4px;padding:48px clamp(18px,4vw,54px) 38px;overflow:hidden;border-top:1px solid rgba(42,57,52,.2);border-bottom:1px solid rgba(42,57,52,.15);background:linear-gradient(90deg,rgba(234,238,232,.6),transparent 35%,rgba(244,240,231,.62)),#f5f2e9}.city-atlas:before{position:absolute;right:-5%;bottom:-42px;width:50%;height:150px;border-top:1px solid rgba(55,76,69,.13);border-radius:50% 50% 0 0;content:"";transform:rotate(-4deg)}.atlas-heading{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:28px}.atlas-heading>div>span{color:#a1312b;font-family:STKaiti,KaiTi,serif;font-size:14px;letter-spacing:.13em}.atlas-heading h2{margin-top:8px;color:#26342f;font-family:STKaiti,KaiTi,serif;font-size:clamp(29px,3.4vw,45px);font-weight:700;line-height:1.12}.atlas-heading p{max-width:260px;color:#283833ab;font-family:Songti SC,STSong,serif;font-size:14px;line-height:1.8;text-align:right}.city-rail{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(42,57,52,.18)}.city-stop{position:relative;display:grid;grid-template-columns:34px 92px minmax(0,1fr);align-items:center;min-height:196px;padding:22px 18px 22px 0;overflow:hidden;color:#273630;border:0;border-right:1px solid rgba(42,57,52,.18);background:transparent;text-align:left;transition:background .2s ease,transform .2s ease}.city-stop+.city-stop{padding-left:18px}.city-stop:last-child{border-right:0}.city-stop:hover{background:#fffffb8a}.city-stop:active{transform:translateY(2px)}.city-stop-index{align-self:start;color:#a1322c;font-family:Georgia,Times New Roman,serif;font-size:12px;letter-spacing:.08em}.city-stop-rule{position:absolute;top:22px;left:0;width:1px;height:42px;background:#a1322c}.city-stop-art{display:block;width:72px;height:144px;overflow:hidden;border:1px solid rgba(44,57,51,.35);background:#eee5cf;box-shadow:7px 10px 16px #212a2726}.city-stop-art img{display:block;width:100%;height:100%;object-fit:cover}.city-stop-copy{display:grid;gap:7px;min-width:0}.city-stop-copy small{color:#a1322c;font-family:STKaiti,KaiTi,serif;font-size:14px}.city-stop-copy strong{overflow:hidden;color:#26342f;font-family:STKaiti,KaiTi,serif;font-size:20px;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.city-stop-copy i{display:inline-flex;align-items:center;gap:2px;margin-top:4px;color:#2736309e;font-family:Songti SC,STSong,serif;font-size:12px;font-style:normal}.section-heading span,.story-title h2,.scratch-header h2{color:#26332f;font-family:STKaiti,KaiTi,serif;font-weight:700}.sample-tile,.gallery-item{border-color:#26332f2e;border-radius:2px;background:#f6f2e8;box-shadow:0 10px 22px #212a271a}.sample-tile span{border-radius:0;color:#fff7e9;background:#23332ed1;font-family:STKaiti,KaiTi,serif}.upload-layout,.generation-stage,.scratch-screen,.detail-screen{position:relative}.upload-drop,.form-grid input,.form-grid textarea,.progress-console,.scratch-wrap,.story-panel,.detail-tabs{border-radius:2px;border-color:#26332f33;background-color:#f8f7f1bd}.upload-drop{background-image:linear-gradient(135deg,#f7f7f1e6,#dee5df94)}.progress-console,.story-panel{box-shadow:0 18px 42px #212a271a}.scratch-wrap{box-shadow:0 28px 58px #1d272433,0 0 0 1px #26332f2e}.bookmark-stage{cursor:grab;touch-action:none}.bookmark-stage.dragging{cursor:grabbing}.bookmark-stage.dragging .bookmark-card{transition:none}.bookmark-face{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:inherit;backface-visibility:hidden;-webkit-backface-visibility:hidden}.bookmark-card{overflow:visible}.bookmark-front{transform:rotateY(0)}.bookmark-front img{display:block;width:100%;height:100%;object-fit:cover}.bookmark-back{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;padding:20% 14% 16%;color:#25352f;background:linear-gradient(90deg,rgba(71,92,80,.1) 1px,transparent 1px) 0 0 / 18px 18px,linear-gradient(rgba(71,92,80,.08) 1px,transparent 1px) 0 0 / 18px 18px,#efe4cb;transform:rotateY(180deg)}.bookmark-back:before,.bookmark-back:after{content:"";position:absolute;border:1px solid rgba(38,51,47,.48);pointer-events:none}.bookmark-back:before{top:12px;right:12px;bottom:12px;left:12px}.bookmark-back:after{top:18%;left:14%;width:72%;height:1px;border-width:1px 0 0}.bookmark-back-seal{position:absolute;top:11%;right:14%;display:grid;place-items:center;width:30px;height:38px;color:#fff7e8;background:#a8322a;font-family:STKaiti,KaiTi,serif;font-size:12px;line-height:1.15;text-align:center}.bookmark-back-title{position:relative;z-index:1;font-family:STKaiti,KaiTi,serif;font-size:clamp(19px,2vw,28px);font-weight:700;line-height:1.2;text-align:center}.bookmark-back small,.bookmark-back em{position:relative;z-index:1;color:#25352fad;font-family:Songti SC,STSong,serif;font-size:10px;font-style:normal;letter-spacing:.12em;text-align:center}.bookmark-back-rule{position:relative;z-index:1;width:54%;height:1px;margin:7px 0;background:#26332f57}.scratch-wrap canvas{cursor:crosshair}.scratch-wrap .scratch-trace,.scratch-wrap .scratch-particles{pointer-events:none}.scratch-wrap .scratch-trace{z-index:3;mix-blend-mode:multiply}.scratch-wrap .scratch-particles{z-index:4}.scratch-meter{z-index:6}.scratch-tool{position:absolute;z-index:5;width:42px;height:42px;border:2px solid rgba(255,250,240,.92);border-radius:50%;box-shadow:0 2px #19221e47,0 0 0 4px #26332f38;pointer-events:none;transform:translate(-50%,-50%)}.scratch-tool:after{content:"";position:absolute;top:50%;left:50%;width:10px;height:10px;border:1px solid rgba(38,51,47,.64);border-radius:50%;transform:translate(-50%,-50%)}.scratch-wrap.done:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;background:linear-gradient(120deg,transparent 36%,rgba(255,255,255,.45),transparent 62%);animation:scratchReveal .85s ease both;pointer-events:none}.done-pop{inset:auto 16px 18px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 10px;min-height:0;padding:12px;border:1px solid rgba(255,248,234,.42);z-index:7;text-align:left}.done-pop>span{font-family:STKaiti,KaiTi,serif;font-size:19px;font-weight:700}.done-pop button{display:inline-flex;align-items:center;justify-content:center;gap:2px;min-height:32px;border:1px solid rgba(255,250,240,.72);color:#fffaf0;background:#1f2a2459;font-family:inherit;font-size:12px;font-weight:700}.done-pop .done-reset{grid-column:1 / -1;justify-self:start;min-height:auto;padding:0;border:0;color:#fffaf0c7;background:transparent;font-size:11px;text-decoration:underline;text-underline-offset:3px}@keyframes scratchReveal{0%{transform:translate(-120%)}to{transform:translate(130%)}}.reveal-hero{position:relative;display:grid;grid-template-columns:minmax(320px,.9fr) minmax(320px,1.1fr);align-items:center;width:min(100%,1120px);min-height:620px;overflow:hidden;border-top:1px solid rgba(38,51,47,.22);border-bottom:1px solid rgba(38,51,47,.18);background:linear-gradient(90deg,#faf8f0fa,#faf8f0e8 47%,#e7ede79e)}.reveal-hero:before{content:"";position:absolute;right:-4%;bottom:0;width:63%;height:100%;opacity:.22;background:var(--reveal-art) center / cover no-repeat;filter:grayscale(1) saturate(.45) contrast(.88);pointer-events:none}.reveal-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:38%;background:linear-gradient(90deg,#faf8f0f5,#faf8f02e 50%,#faf8f05c);pointer-events:none}.reveal-hero.showing-original:before{opacity:.29;filter:grayscale(.55) saturate(.72) contrast(.82)}.reveal-copy{position:relative;z-index:2;max-width:530px;padding:46px clamp(36px,6vw,76px) 154px}.reveal-copy .eyebrow{color:#9e302a}.reveal-kicker{display:block;margin-top:16px;color:#587066;font-family:Georgia,serif;font-size:11px;font-weight:700;letter-spacing:.18em}.reveal-copy h1{margin:12px 0 18px;color:#20322c;font-family:STKaiti,KaiTi,serif;font-size:clamp(42px,5.3vw,68px);font-weight:700;line-height:1.05}.reveal-copy p{margin:0;color:#536158;font-family:Songti SC,STSong,serif;font-size:15px;line-height:1.9}.reveal-place{display:inline-flex;align-items:center;gap:7px;margin-top:24px;padding-top:12px;border-top:1px solid rgba(38,51,47,.26);color:#a23b31;font-family:STKaiti,KaiTi,serif;font-size:14px}.reveal-bookmark{position:relative;z-index:2;display:grid;justify-items:center;align-items:center;min-height:620px}.reveal-bookmark .bookmark-stage.large{min-height:auto}.reveal-bookmark .bookmark-card{width:min(100%,282px)}.reveal-source{position:absolute;right:7%;bottom:21%;display:grid;grid-template-columns:44px 1fr;align-items:center;gap:8px;padding:5px 9px 5px 5px;border:1px solid rgba(38,51,47,.25);color:#30443a;background:#fffcf4c7;box-shadow:0 8px 16px #2b332b1f;font-family:STKaiti,KaiTi,serif;font-size:12px}.reveal-source img{display:block;width:44px;height:44px;object-fit:cover;filter:saturate(.55) contrast(.94)}.reveal-seal{position:absolute;z-index:3;right:26px;top:24px;display:grid;width:36px;height:44px;place-content:center;color:#fff8e9;background:#a8322a;font-family:STKaiti,KaiTi,serif;font-size:13px;line-height:1.15;text-align:center}.reveal-controls{position:absolute;z-index:4;right:clamp(26px,5vw,64px);bottom:24px;left:clamp(26px,5vw,64px);display:grid;grid-template-columns:290px minmax(0,1fr);gap:14px;align-items:center;padding-top:14px;border-top:1px solid rgba(38,51,47,.2)}.reveal-controls .detail-tabs{width:100%;margin:0}.reveal-action-row{justify-content:flex-end;gap:8px}.reveal-action-row .secondary-action,.reveal-action-row .primary-action{min-height:38px;padding:0 12px;font-size:13px}.upload-brief,.generation-manuscript{position:relative;display:grid;gap:5px;margin-bottom:16px;padding:16px 18px 15px;border-left:2px solid #a8322a;color:#26332f;background:#f4f0e4a6}.upload-brief:after,.generation-manuscript:after{content:"";position:absolute;right:16px;top:16px;width:30px;height:1px;background:#26332f59}.upload-brief>span,.generation-manuscript>span{color:#a8322a;font-family:STKaiti,KaiTi,serif;font-size:12px}.upload-brief strong,.generation-manuscript strong{font-family:STKaiti,KaiTi,serif;font-size:21px}.upload-brief p,.generation-manuscript p{margin:0;color:#526056;font-family:Songti SC,STSong,serif;font-size:13px}.upload-brief small{margin-top:3px;color:#26332f94;font-size:12px;line-height:1.55}.generation-manuscript .render-mode{justify-self:start;margin-top:3px;padding:3px 7px;color:#3c5a50;border:1px solid rgba(60,90,80,.26);background:#fffcf385;font-size:11px;line-height:1.35}.generation-manuscript{margin-bottom:8px}.footprint-strip{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.4fr);align-items:center;gap:28px;margin:30px 0 4px;padding:24px 28px;border-top:1px solid rgba(38,51,47,.22);border-bottom:1px solid rgba(38,51,47,.16);background:linear-gradient(105deg,#f4f0e4e6,#ebf1eb7a)}.footprint-strip>div:first-child{display:grid;gap:4px}.footprint-strip span{color:#9e302a;font-family:STKaiti,KaiTi,serif;font-size:13px}.footprint-strip strong{color:#26332f;font-family:STKaiti,KaiTi,serif;font-size:42px;font-weight:700;line-height:1}.footprint-strip strong small{margin-left:5px;font-size:14px;font-weight:500}.footprint-strip p{margin:0;color:#26332fa8;font-family:Songti SC,STSong,serif;font-size:13px}.footprint-cities{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.footprint-cities span{padding:7px 10px;border:1px solid rgba(38,51,47,.22);color:#33493e;background:#fffbf194}.fresh-reveal .reveal-copy{animation:revealCopyIn .75s .16s both}.fresh-reveal .reveal-bookmark{animation:revealBookmarkIn .95s .08s both}.fresh-reveal .reveal-seal{animation:revealSealIn .45s .74s both}@keyframes revealCopyIn{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes revealBookmarkIn{0%{opacity:0;transform:translateY(48px) rotate(2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes revealSealIn{0%{opacity:0;transform:scale(.7) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}@media(max-width:720px){.reveal-hero{grid-template-columns:1fr;min-height:0}.reveal-copy{padding:38px 26px 22px}.reveal-copy h1{font-size:48px}.reveal-bookmark{min-height:470px;padding-bottom:74px}.reveal-bookmark .bookmark-card{width:min(62vw,242px)}.reveal-source{right:8%;bottom:16%}.reveal-seal{right:22px;top:20px}.footprint-strip{grid-template-columns:1fr;gap:18px;padding:22px 18px}.footprint-cities{justify-content:flex-start}.reveal-controls{position:relative;right:auto;bottom:auto;left:auto;grid-template-columns:1fr;gap:10px;margin:0 18px 20px;padding-top:12px}.reveal-action-row{display:grid;grid-template-columns:1fr 1fr}.reveal-action-row .primary-action{grid-column:1 / -1}}@keyframes scrollBreathe{0%{transform:scale(1.01) translate(-.4%)}to{transform:scale(1.06) translate(.5%)}}@keyframes mistFloat{0%{transform:translate(-2%) translateY(0)}to{transform:translate(2.2%) translateY(-1%)}}@media(max-width:860px){.scroll-hero{grid-template-columns:1fr;grid-template-areas:"nav" "title" "bookmark" "caption";min-height:auto;padding:22px 18px 30px}.scroll-art{background-position:61% center}.scroll-hero:after{background:linear-gradient(180deg,#f8f7f1db,#f8f7f19e 45%,#f8f7f12e 80%)}.scroll-hero .cover-nav,.scroll-hero .cover-report,.scroll-seal{display:none}.scroll-hero .cover-title{max-width:340px;padding:34px 0 4px}.scroll-hero .cover-title h1{font-size:clamp(66px,19vw,84px);line-height:.78}.scroll-hero .cover-title p{max-width:315px;font-size:15px}.scroll-hero .cover-actions{display:grid;grid-template-columns:1fr}.scroll-hero .cover-bookmark{justify-self:center;margin-top:8px}.scroll-hero .bookmark-stage.large{min-height:370px}.scroll-hero .bookmark-card{width:min(57vw,245px)}.scroll-hero .cover-event{justify-self:end;margin-top:4px}}.upload-screen{width:min(100%,1080px);margin:0 auto;padding-top:clamp(16px,4vw,54px)}.journey-intro{width:min(100%,620px);margin:0 auto 34px;text-align:center}.journey-intro>span,.journey-step{color:#9e302a;font-family:STKaiti,KaiTi,serif;font-size:15px;letter-spacing:.15em}.journey-intro h1{margin-top:11px;color:#26342f;font-family:STKaiti,KaiTi,serif;font-size:clamp(42px,5vw,68px);font-weight:800;line-height:1.02;letter-spacing:.08em}.journey-intro h1 em{color:#9f302b;font-style:normal}.journey-intro p{max-width:440px;margin:18px auto 0;color:#23322eb3;font-family:Songti SC,STSong,serif;font-size:15px;line-height:1.9}.upload-layout{grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);align-items:stretch;gap:0;padding-top:0;border-top:1px solid rgba(44,58,53,.22);border-bottom:1px solid rgba(44,58,53,.16)}.upload-drop{min-height:475px;border:0;border-right:1px solid rgba(44,58,53,.18);background:radial-gradient(circle at 50% 42%,rgba(225,232,226,.68),transparent 26%),repeating-linear-gradient(90deg,rgba(44,58,53,.035) 0 1px,transparent 1px 10px),#f6f4ed}.upload-drop:before{position:absolute;top:20px;left:20px;color:#2a393485;content:"第一步 · 选一张城市照片";font-family:Songti SC,STSong,serif;font-size:13px}.upload-drop span{color:#3d554d;font-family:STKaiti,KaiTi,serif;font-size:17px}.upload-fields{display:flex;flex-direction:column;justify-content:center;min-height:475px;padding:clamp(28px,5vw,62px);background:#f9f8f38f}.upload-fields:before{margin-bottom:22px;color:#2a39348a;content:"第二步 · 为这一城落款";font-family:Songti SC,STSong,serif;font-size:13px}.upload-fields .form-grid{gap:18px}.upload-fields .primary-action{margin-top:28px;border-radius:2px;background:#a2312b;box-shadow:6px 7px #25322e29}.generate-screen{align-content:center;justify-items:center;gap:24px}.journey-step{padding-top:28px}.generation-stage{border-top:1px solid rgba(44,58,53,.18);border-bottom:1px solid rgba(44,58,53,.14);padding:clamp(20px,4vw,50px)}.progress-console{position:relative}.generation-progress{display:inline-flex;align-items:center;min-width:48px;margin-bottom:12px;padding:5px 8px;color:#fff7e8;background:#3c5a50;font-family:Georgia,Times New Roman,serif;font-size:13px}.generation-error{display:grid;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(161,49,43,.3)}.generation-error p{color:#9f302b;font-family:Songti SC,STSong,serif;font-size:14px;line-height:1.7}.generation-error .secondary-action{justify-self:start;border-radius:2px}.scratch-header{text-align:center}.scratch-header .eyebrow{color:#9e302a;font-family:STKaiti,KaiTi,serif;letter-spacing:.15em}.city-guide-panel{margin:18px 0 40px;padding:20px;border-top:1px solid rgba(46,62,51,.24);border-bottom:1px solid rgba(46,62,51,.18);background:#faf7ed94}.city-guide-heading{display:flex;align-items:center;gap:10px;color:#a84237}.city-guide-heading span{display:block;font-size:12px;letter-spacing:0}.city-guide-heading h3{margin:2px 0 0;color:#24332c;font-size:18px;font-weight:650}.city-guide-panel>p{margin:16px 0 0;color:#394239;line-height:1.9}.city-guide-voiceover{padding-left:13px;border-left:2px solid rgba(168,66,55,.56);color:#596257!important;font-size:14px}.city-guide-memory{color:#7a6655!important;font-size:13px}.city-guide-prompts{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.city-guide-prompts span{border:1px solid rgba(46,62,51,.22);color:#465448;font-size:12px;line-height:1.35;padding:7px 9px}@media(max-width:860px){.upload-screen{padding-top:20px}.city-atlas{margin-top:0;padding:34px 18px 24px}.atlas-heading{display:block;padding-bottom:20px}.atlas-heading p{margin-top:12px;text-align:left}.city-rail{grid-template-columns:1fr}.city-stop,.city-stop+.city-stop{grid-template-columns:34px 82px minmax(0,1fr);min-height:164px;padding:16px 0;border-right:0;border-bottom:1px solid rgba(42,57,52,.16)}.city-stop:last-child{border-bottom:0}.city-stop-art{width:63px;height:126px}.city-stop-rule{top:16px}.journey-intro{margin-bottom:26px}.journey-intro h1{font-size:44px}.upload-layout{grid-template-columns:1fr}.upload-drop{min-height:320px;border-right:0;border-bottom:1px solid rgba(44,58,53,.18)}.upload-fields{min-height:0;padding:32px 22px}}.scroll-hero .cover-title h1,.journey-intro h1,.reveal-copy h1{font-family:City Ink SemiCursive,City Ink Flow,City Ink Brush,STXingkai,FZXingKai-S04S,KaiTi,serif;font-weight:400;letter-spacing:0;line-height:.9;color:#17231f;text-shadow:1px 2px 0 rgba(255,255,255,.28),2px 4px 12px rgba(28,44,37,.12)}.atlas-heading h2,.scratch-header h2,.story-title h2,.section-heading span{font-family:City Ink SemiCursive,City Ink Flow,City Ink Brush,STXingkai,FZXingKai-S04S,KaiTi,serif;font-weight:400;letter-spacing:0;line-height:1.05;text-shadow:1px 2px 0 rgba(255,255,255,.28),2px 4px 12px rgba(28,44,37,.12)}
