/* 01 · 简约秋日：大面积奶白纸面，少量金黄与蓝色。避免把参考的整条街搬进网页。 */
:root{--bg:#fffdf7;--ink:#344663;--muted:#8b939c;--blue:#668db3;--gold:#c9a763;--line:#c9b99255}
body{background:var(--bg)}.site-header{background:var(--bg);height:82px;padding:22px 5%}.brand{font-size:21px;color:#405771}.brand:after{display:none}.brand-leaf{color:#d3b86e}.site-header nav{gap:30px}.nav-link{font-size:15px;color:#59708c}.quiet-button{color:#9a9fa4;font-size:10px}.site-footer{font-size:8px;color:#a6a7a1;padding:18px 5%}.page{max-width:1280px}
/* 02 · 留白就是画纸，角色与入口都是独立插画对象，操作不受装饰阻挡。 */
.autumn-stage{aspect-ratio:1.6;max-height:none}.line-intro{left:5.4%;top:25%;width:29%}.season-label{font-size:14px;color:#a0a393;letter-spacing:2px;margin-bottom:23px}.line-intro h1{font-size:clamp(40px,4.2vw,67px);line-height:1.45;letter-spacing:5px;color:#3d506a;margin-bottom:25px}.line-intro h1 span{color:#3d506a}.line-intro p{font-size:clamp(13px,1.1vw,17px);color:#8c9397;line-height:2.1;letter-spacing:1px;white-space:normal}.door{width:12%;height:50%;transform:none;filter:drop-shadow(1px 3px 4px #c1ab7622)}.door-guest{left:38%;top:33%}.door-verify{left:74.5%;top:33%;height:50%;transform:none}.door-panel,.door-verify .door-panel{transform:rotateY(0)}.door-sketch{filter:none}.door-label,.door-verify .door-label{top:calc(100% + 14px);left:0;width:100%;padding:0;background:none;border:0;box-shadow:none;transform:none;font-size:clamp(14px,1.2vw,18px);color:#5b7594;letter-spacing:1px;line-height:1.4}.door-label:before{display:none}.door:hover .door-panel,.door:focus-visible .door-panel{transform:rotateY(-15deg)}.welcome-dialogue{left:60%;top:13%;width:17%;transform:rotate(-3deg)}.welcome-dialogue p{font-size:clamp(12px,1.25vw,18px);color:#718ba5;line-height:1.8}.speech-curve{font-size:28px;color:#a9bdc9;margin-top:7px}.scene-hint{color:#a9ada5;font-size:9px;margin:19px 0 20px}.hint-line{background:#d4c8ad}.scene-hint>span:first-child{color:#d3b86e}
/* 03 · 人物脸部全部来自绘制状态图：不叠加手画眼睛。图层切换只由原情绪状态驱动。 */
.autumn-character{overflow:visible;filter:none}.autumn-character .character-float{animation:autumn-breeze 5.8s ease-in-out infinite;transform-origin:512px 1100px}.autumn-tail{transform-origin:780px 1040px;animation:autumn-tail 4.5s ease-in-out infinite}.portrait-idle{animation:portrait-open 7.2s steps(1,end) infinite}.portrait-blink{opacity:0;animation:portrait-blink 7.2s steps(1,end) infinite}.portrait-inspect,.portrait-rub{opacity:0;transition:none}.guide[data-mood="inspecting"] .portrait-idle,.guide[data-mood="inspecting"] .portrait-blink,.guide[data-mood="rubbing"] .portrait-idle,.guide[data-mood="rubbing"] .portrait-blink{opacity:0;animation:none}.guide[data-mood="inspecting"] .portrait-inspect,.guide[data-mood="rubbing"] .portrait-rub{opacity:1}.guide[data-mood="inspecting"] .autumn-character .character-float{animation:autumn-inspect .8s ease-in-out infinite}.guide[data-mood="rubbing"] .portrait-rub{animation:autumn-rub .3s ease-in-out infinite;transform-origin:512px 500px}.guide[data-mood="happy"] .autumn-character .character-float{animation:autumn-breeze 3s ease-in-out infinite}.tail-sweep .autumn-tail{animation:autumn-sweep .55s ease-in-out 2}.guide-caption{font-size:7px;color:#b1b6bb}.guide.verify{width:225px;top:432px;left:calc(50% - 260px)}.guide.gallery{width:130px;top:calc(100% - 216px);left:calc(100% - 90px)}.guide-chat{border:1px solid #d8c9aa;border-radius:8px;background:#fffdf6;box-shadow:0 12px 35px #88765712;color:#54708c}.guide-chat p{color:#96a0a5}.guide-chat a{color:#a98b56}.flying-ticket{background:#fff9e7;border-color:#c1a46c;color:#957b4c;box-shadow:0 5px 17px #a68b5133}.skip-animation{border:1px solid #d1c4a8;border-radius:22px;background:#fffdf7f5;color:#8d805f}
@keyframes autumn-breeze{0%,100%{transform:translateY(0) rotate(-.3deg)}50%{transform:translateY(-9px) rotate(.4deg)}}@keyframes autumn-tail{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(5deg)}}@keyframes portrait-open{0%,40%,44%,94%,98%,100%{opacity:1}42%,96%{opacity:0}}@keyframes portrait-blink{0%,40%,44%,94%,98%,100%{opacity:0}42%,96%{opacity:1}}@keyframes autumn-inspect{0%,100%{transform:rotate(-1deg) translateX(-5px)}50%{transform:rotate(1deg) translateX(5px)}}@keyframes autumn-rub{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes autumn-sweep{0%,100%{transform:rotate(0)}50%{transform:rotate(-20deg)}}
/* 04 · 验票是一页简洁信笺，装饰限于一角浅金色水彩，不添加背景场景。 */
.verify-page{padding-top:25px}.verify-page:before{display:none}.verify-layout{gap:110px;margin-top:24px}.verify-story h1{font-size:51px;line-height:1.5;color:#425770}.verify-story h1 span{color:#425770}.verify-story>p{font-size:15px;color:#929aa0}.eyebrow{font-size:13px;color:#b29b71}.speech{color:#6f94b8;transform:none;font-size:15px}.ticket-form{background:#fffdf7;border:1px solid #e1d7c2;border-radius:8px;box-shadow:0 8px 40px #9782600a;transform:none;padding:32px}.ticket-form:before{display:none}.form-heading h2{font-size:20px;color:#596c81}.form-heading p{color:#9eabb3}.mini-symbol{color:#d5b46a}.demo-badge{border-color:#e1d3b6;color:#b09a70;background:none;border-radius:3px}.upload-zone{border-color:#d5c8a8;border-radius:5px;background:#fbf9f1;min-height:163px}.upload-zone:hover,.upload-zone.dragging,.upload-zone.has-file{background:#f7f4e8;border-color:#c0ab7e}.upload-icon{color:#c5ac73}.upload-zone strong{color:#7e8c99}.upload-zone small{color:#aaa89c}.code-field{border-bottom:1px solid #d9d2c2}.code-field:focus-within{border-color:#b69b60;box-shadow:0 2px 0 #d9c89133}.primary-button{border:0;border-radius:4px;background:#e8edf2;color:#5a7795;box-shadow:none;font-size:16px;letter-spacing:1px;padding:14px}.primary-button:hover{background:#dae5ee}.demo-note{color:#a3a8aa;font-size:10px}.form-divider span{background:#e4ddcb}.demo-help button{color:#9d895e}.file-row{color:#96a4b0}.back-link{color:#a0a8ae}.ticket-check:before{background:linear-gradient(#fffdf7fa 70%,transparent)}
/* 05 · 展厅也是少量水彩笔触。仅保留三张占位习作，说明与真实作品区分清楚。 */
.gallery-page{padding-top:48px}.gallery-intro h1{font-size:40px;color:#415b74;letter-spacing:2px}.gallery-intro h1 span{color:#415b74}.gallery-intro p{color:#9ca4a8;font-size:14px}.visitor-pill{border-color:#dfd6c3;color:#a18c66;border-radius:4px;font-size:12px}.gallery-bar{border-color:#e8e1d1;color:#a8acaa;font-size:12px}.work-card .art{border:0;border-radius:6px;background:#fbf9f0;box-shadow:none}.work-card:hover .art{box-shadow:0 9px 26px #8e967414}.work-card h2{font-size:25px;color:#617b94;font-weight:400}.work-card>p{font-size:13px;color:#a0a9af}.work-meta{font-size:9px;color:#b7b8aa}.work-access{border-color:#e7e2d5;color:#9aa7af}.preview-chip{border:0;border-radius:3px;background:#fffdf3dd;color:#a8a17f;font-size:9px}.art-index{color:#c3b18a}.gallery-note{border-color:#e6dfce;color:#a8a99c;padding-top:23px}.gallery-note p{font-size:14px;color:#899eb0}.gallery-note a{color:#b19a6b}.study-art{width:100%;height:100%;display:block}.study-wave{animation:study-wave 6s ease-in-out infinite}.study-leaf{transform-origin:center;animation:study-leaf 7s ease-in-out infinite}.art:not(.ocean):not(.planet):not(.bamboo){background:#fbf9f0}.work-card .sea,.work-card .moon,.work-card .planet-body,.work-card .bamboo-stem{opacity:.8}.playing .study-wave{animation-duration:2s}.playing .study-leaf{animation-duration:2.7s}.gallery .guide-caption{display:none}dialog{border-color:#ded3bb;border-radius:8px;box-shadow:0 15px 70px #6e7b8c20;background:#fffdf7}dialog::backdrop{background:#7b8d9b44;backdrop-filter:blur(3px)}.dialog-body h2{color:#607d98;font-size:28px}.dialog-body p{color:#94a4b0}.dialog-close{border-color:#d5d9d8;color:#8295a4;background:#fffdf3}.locked-detail,.behind-scenes{border-color:#e4decf}
@keyframes study-wave{0%,100%{transform:translateX(-5px)}50%{transform:translateX(5px)}}@keyframes study-leaf{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}
/* 06 · 手机重新排版，入口保持大点击区域，人物位于中间且不挡表单。 */
@media(max-width:1000px) and (min-width:701px){.line-intro h1{font-size:38px}.line-intro p{font-size:12px}.season-label{font-size:11px}.welcome-dialogue p{font-size:13px}.door-label,.door-verify .door-label{font-size:13px}.verify-layout{gap:50px}.guide.verify{left:calc(50% - 175px);width:195px;top:448px}.verify-story h1{font-size:38px}.ticket-form{padding:26px}.gallery-intro h1{font-size:34px}}
@media(max-width:700px){.site-header{height:68px;padding:18px 6%}.brand{font-size:18px}.site-header nav{gap:16px}.quiet-button{font-size:8px}.nav-link{font-size:13px}.line-stage{height:calc(278px + min(98vw,380px))}.line-intro{left:7%;top:17px;width:86%}.season-label{font-size:11px;margin-bottom:12px;letter-spacing:1px}.line-intro h1{font-size:39px;letter-spacing:2px;line-height:1.3;margin-bottom:12px}.line-intro h1 br{display:none}.line-intro p{font-size:12px;line-height:1.9}.line-intro p br{display:none}.welcome-dialogue{left:47%;top:214px;width:48%}.welcome-dialogue p{font-size:13px}.speech-curve{font-size:22px;margin-top:0}.door{width:23%;height:min(52vw,200px)}.door-guest{left:9%;top:calc(228px + min(30vw,117px))}.door-verify{left:68%;top:calc(228px + min(30vw,117px));height:min(52vw,200px)}.door-label,.door-verify .door-label{font-size:13px;top:calc(100% + 9px);width:110%;left:-5%;padding:0}.scene-hint{font-size:8px;margin:11px 0 24px;gap:8px}.site-footer{font-size:7px;padding:15px 6%}.verify-page{padding-top:10px}.verify-story h1{font-size:35px}.verify-story>p{font-size:12px}.verify-layout{margin-top:19px}.speech{font-size:13px;max-width:54%;line-height:1.8}.guide.verify{left:calc(100% - 106px);width:140px;top:208px}.guide.verify.checking-staged{position:fixed;left:calc(100% - 105px);width:145px;top:5px}.ticket-check #verification-speech{background:#fffdf7ef;color:#7796b1;left:16px;font-size:13px}.ticket-check:before{background:linear-gradient(#fffdf7fa 70%,transparent)}.ticket-form{padding:25px}.form-heading h2{font-size:18px}.form-heading p{font-size:11px}.upload-zone strong{font-size:14px}.primary-button{font-size:15px}.demo-note{font-size:9px}.gallery-intro h1{font-size:31px}.gallery-intro p{font-size:12px}.gallery-intro .eyebrow{font-size:13px}.guide.gallery{width:94px;left:calc(100% - 63px);top:calc(100% - 158px)}.work-card h2{font-size:25px}.gallery-note p{font-size:13px}.guide-chat{bottom:176px}.skip-animation{font-size:10px;padding:10px 15px}}
@media(max-width:360px){.brand{font-size:16px}.nav-link{font-size:12px}.site-header nav{gap:11px}.line-intro h1{font-size:34px}.line-intro p{font-size:11px}.season-label{font-size:10px}.welcome-dialogue p{font-size:12px}.door-label,.door-verify .door-label{font-size:12px}.guide.verify:not(.checking-staged){width:119px;left:calc(100% - 90px);top:219px}.verify-story h1{font-size:31px}.ticket-form{padding:20px}.form-heading h2{font-size:16px}.speech{font-size:12px}}
/* 07 · 所有新插画循环遵守减少动画；静止时保留正确情绪结果。 */
.reduce-motion .autumn-character *,.reduce-motion .study-art *{animation:none!important;transition:none!important}.reduce-motion .portrait-idle{opacity:1}.reduce-motion .portrait-blink{opacity:0}.reduce-motion .guide[data-mood="inspecting"] .portrait-idle,.reduce-motion .guide[data-mood="rubbing"] .portrait-idle{opacity:0}
/* 08 · 网页由独立画稿对象组成：纸张是表单的实体，透明边缘之外仍为留白。 */
.ticket-form{position:relative;isolation:isolate;border:0;background:none;box-shadow:none;border-radius:0;padding:56px 48px 78px}
.painted-paper{position:absolute;inset:-18px -30px -26px;width:calc(100% + 60px);height:calc(100% + 44px);z-index:-1;pointer-events:none;object-fit:fill}
.upload-zone{background:transparent;border-width:1px;border-radius:0}.upload-zone:hover,.upload-zone.has-file,.upload-zone.dragging{background:#e6d6a51c}
.garden-gate{object-fit:fill}.guide-button:hover .portrait-idle{filter:brightness(1.035)}
@media(max-width:700px){.ticket-form{padding:40px 28px 64px}.painted-paper{inset:-12px -12px -18px;width:calc(100% + 24px);height:calc(100% + 30px)}}

/* 09 · Q 版小向导：方形图集配合更小的页面占比，基线仍与入口对齐。 */
.autumn-character .character-float{transform-origin:512px 780px}.autumn-tail{transform-origin:780px 700px}
.welcome-dialogue{top:36%}.guide.verify{width:175px;top:490px}.guide.gallery{width:90px;top:calc(100% - 126px)}
@media(max-width:1000px) and (min-width:701px){.guide.verify{width:145px;top:480px}}
@media(max-width:700px){.welcome-dialogue{top:290px}.guide.verify{width:105px;top:225px}.guide.verify.checking-staged{width:125px;top:12px}.guide.gallery{width:78px;top:calc(100% - 112px)}}
@media(max-width:360px){.guide.verify:not(.checking-staged){width:95px;top:231px}}
/* 10 · 接近门：48px 感应区提前半开，门牌固定；入场的完整开门仍由时间线接管。 */
.door .door-panel{transition:transform .65s cubic-bezier(.22,.75,.3,1);transform-origin:left center}
.door:hover .door-panel{transform:rotateY(0)}
.door.is-near .door-panel,.door:focus-visible .door-panel{transform:rotateY(-42deg)}
/* 半开的门露出淡淡纸色门洞，沿用水彩画面的浅色，不增加新的场景。 */
.door-frame:before{content:'';display:block;position:absolute;inset:5px 9px 5px 5px;border:1px solid #cbb98b55;border-radius:48% 48% 3px 3px / 20% 20% 3px 3px;background:linear-gradient(90deg,#9fb4c12b,#eee1c429);box-shadow:inset 5px 2px 13px #a5a38812;opacity:0;transition:opacity .55s;pointer-events:none}
.door.is-near .door-frame:before,.door:focus-visible .door-frame:before,.door-push .door-frame:before{opacity:1}
/* 点击具有最高优先级：半开反馈不能覆盖已经开始的入场动画。 */
.door-push[data-selected-door="guest"] .door-guest .door-panel,.door-push[data-selected-door="verify"] .door-verify .door-panel{transform:rotateY(-83deg)}
.reduce-motion .door-frame:before{transition:none}
/* 11 · 欢迎页按窗口宽高共同适配：页头、提示、页脚先留位置，剩余空间才是画稿。 */
body[data-route="welcome"] .welcome-page{display:flex;flex-direction:column;justify-content:center;min-height:calc(100svh - 128px)}
body[data-route="welcome"] .autumn-stage{container-type:size;height:max(250px,min(calc(100svh - 184px),calc(100vw / 1.6),800px));aspect-ratio:auto;flex:none}
body[data-route="welcome"] .site-footer{min-height:46px}
.autumn-stage .door{width:min(12%,20cqh)}
.autumn-stage .line-intro h1{font-size:clamp(30px,min(4.2vw,8cqh),67px)}
.autumn-stage .season-label{font-size:clamp(10px,1.75cqh,14px);margin-bottom:clamp(10px,2.8cqh,23px)}
.autumn-stage .line-intro h1{margin-bottom:clamp(12px,3cqh,25px)}
.autumn-stage .line-intro p{font-size:clamp(11px,min(1.1vw,2.3cqh),17px)}
/* 手机竖屏：上方文字、下方门和角色用同一舞台百分比，矮屏不再被固定658px撑开。 */
@media(max-width:700px){
 body[data-route="welcome"] .welcome-page{min-height:calc(100svh - 107px)}
 body[data-route="welcome"] .autumn-stage{height:max(420px,calc(100svh - 157px));max-height:780px}
 body[data-route="welcome"] .site-footer{min-height:39px}
 .autumn-stage .line-intro h1{font-size:clamp(30px,min(10vw,7.5cqh),39px);margin-bottom:12px}
 .autumn-stage .season-label{font-size:11px;margin-bottom:12px}
 .autumn-stage .line-intro p{font-size:12px}
 .autumn-stage .door{width:23%;height:32%;top:55%}
 .autumn-stage .welcome-dialogue{top:40%}
 .welcome-page .scene-hint{margin:12px 0 24px}
}
/* 横屏和矮桌面：压缩页头与字号，保留完整入口和点击面积。 */
@media(min-width:701px) and (max-height:500px){
 body[data-route="welcome"] .site-header{height:56px;padding:10px 5%}
 body[data-route="welcome"] .site-footer{min-height:30px;padding:10px 5%;font-size:7px}
 body[data-route="welcome"] .welcome-page{min-height:calc(100svh - 86px)}
 body[data-route="welcome"] .autumn-stage{height:max(220px,min(calc(100svh - 118px),calc(100vw / 1.6),800px))}
 .autumn-stage .line-intro{top:15%}
 .autumn-stage .line-intro h1{font-size:28px;line-height:1.25;margin-bottom:12px}
 .autumn-stage .season-label{font-size:9px;margin-bottom:8px}
 .autumn-stage .line-intro p{font-size:11px;line-height:1.6}
 .autumn-stage .welcome-dialogue p{font-size:12px}
 .autumn-stage .door-label{font-size:12px;top:calc(100% + 8px)}
 .welcome-page .scene-hint{margin:10px 0;font-size:8px}
}
/* 提示行显式定高，避免旧主题的 flex 换行又把首屏多撑出一截。 */
.welcome-page .scene-hint{line-height:16px;min-height:16px;flex-wrap:nowrap;gap:8px;margin:14px 0;white-space:nowrap}
@media(max-width:700px){.welcome-page .scene-hint{margin:12px 0;font-size:8px;gap:6px}.autumn-stage .door{height:min(32%,200px)}}
@media(min-width:701px) and (max-height:500px){.welcome-page .scene-hint{line-height:12px;min-height:12px;margin:10px 0}}
/* 12 · 上方文字 + 居中插画组：两门围绕50%中心轴对称，角色定位共用这条轴。 */
.autumn-stage{--entry-door-width:min(12%,16cqh)}
.autumn-stage .line-intro{left:10%;top:5%;width:80%;text-align:center}
.autumn-stage .line-intro h1{font-size:clamp(30px,min(4.2vw,6cqh),52px);line-height:1.3;margin-bottom:12px}
.autumn-stage .line-intro h1 br,.autumn-stage .line-intro p br{display:none}
.autumn-stage .season-label{margin-bottom:12px}
.autumn-stage .line-intro p{line-height:1.8}
.autumn-stage .door{width:var(--entry-door-width);height:40%;top:38%}
.autumn-stage .door-guest{left:calc(30% - var(--entry-door-width)/2)}
.autumn-stage .door-verify{left:calc(70% - var(--entry-door-width)/2)}
.autumn-stage .welcome-dialogue{left:50%;top:30%;width:30%;text-align:center;transform:translateX(-50%) rotate(-3deg)}
.autumn-stage .welcome-dialogue p{font-size:clamp(11px,1.8cqh,14px);line-height:1.5}
.autumn-stage .welcome-dialogue p br{display:none}
.autumn-stage .speech-curve{font-size:22px;margin:4px auto 0}
/* 手机标题保持居中，门仍左右对称；高度继续由上一节窗口适配控制。 */
@media(max-width:700px){
 .autumn-stage{--entry-door-width:23%}
 .autumn-stage .line-intro{left:5%;top:4%;width:90%}
 .autumn-stage .line-intro h1{font-size:clamp(29px,min(10vw,7.5cqh),39px)}
 .autumn-stage .door{height:min(32%,200px);top:45%}
 .autumn-stage .door-guest{left:calc(25% - var(--entry-door-width)/2)}
 .autumn-stage .door-verify{left:calc(75% - var(--entry-door-width)/2)}
 .autumn-stage .welcome-dialogue{top:31%;width:55%}
}
@media(min-width:701px) and (max-height:500px){
 .autumn-stage .line-intro{top:3%}
 .autumn-stage .line-intro h1{font-size:25px;margin-bottom:5px}
 .autumn-stage .season-label{margin-bottom:5px}
 .autumn-stage .welcome-dialogue{top:33%}
 .autumn-stage .door{top:43%;height:36%}
 .autumn-stage .speech-curve{font-size:17px;margin-top:0}
}
/* 13 · 打字机：固定标题行高，光标紧随当前文字，删除时布局不向上跳动。 */
.autumn-stage .typewriter-title{min-height:1.3em;white-space:nowrap}
.typewriter-caret{display:inline-block;margin-left:.09em;font-family:Georgia,serif;font-weight:400;color:#7193aa;animation:typewriter-blink .9s steps(1,end) infinite}
@keyframes typewriter-blink{0%,48%,100%{opacity:1}49%,99%{opacity:0}}
.typewriter-static .typewriter-caret,.reduce-motion .typewriter-caret{animation:none;opacity:0}
@media(max-width:700px){.autumn-stage .line-intro h1.typewriter-title{font-size:clamp(20px,7vw,30px);letter-spacing:0}}
/* 小屏长句留出光标宽度，避免沿用旧标题的5px字距造成横向溢出。 */
@media(max-width:700px){.autumn-stage .typewriter-title{letter-spacing:0}}
/* 标题字号显式覆盖原有 h1 响应式规则，最长句在320px手机上也保持一行。 */
@media(max-width:700px){.autumn-stage .line-intro h1.typewriter-title{font-size:clamp(20px,7vw,30px);letter-spacing:0}}

/* 14 · 验票台词是角色右上方的一张小纸条，可直接改字，表单操作保持独立。 */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.guide.verify{top:335px;transition:none}
.verify-story>p{margin-top:360px;font-size:14px;line-height:1.9}
.guide-dialogue{position:absolute;width:245px;z-index:16;padding:15px 17px 12px;background:#fffcf3;border:1px solid #c6b99488;border-radius:15px 19px 14px 6px;box-shadow:3px 4px 0 #d6cbaa20;color:#55748c;transform:rotate(-2deg)}
.guide-dialogue:after{content:'';position:absolute;left:var(--speech-tip,20px);bottom:-16px;width:21px;height:19px;background:#fffcf3;border-left:1px solid #c6b99488;border-bottom:1px solid #c6b99488;transform:skewX(-23deg);clip-path:polygon(0 0,100% 0,0 100%)}
.thought-label{font-size:10px;letter-spacing:1px;color:#ac9e7f;margin-bottom:10px}.thought-label span{float:right;color:#a8bac0}
.thought-line{min-height:76px;font-size:17px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow-y:auto}
.thought-line .typewriter-text{outline:none;white-space:pre-wrap;min-width:1px}
.thought-line .typewriter-text[contenteditable="plaintext-only"]{cursor:text}
.thought-line .typewriter-text:focus{background:#dde8eb44;box-shadow:0 2px 0 #9ebac066}
.guide-dialogue:focus-within .typewriter-caret,.status-dialogue .typewriter-caret{display:none}
.guide-dialogue small{display:block;font-size:9px;color:#b0aaa0;margin-top:8px}.caught-edit{border-color:#b4a174;transform:rotate(1deg)}
.status-dialogue small{visibility:hidden}
@media(max-width:1000px) and (min-width:701px){.guide-dialogue{width:205px}.thought-line{font-size:15px}.guide.verify{top:335px}}
@media(max-width:700px){
 /* 手机给头顶纸条留空间，角色、说明和表单一起下移，保持相对间距。 */
 .verify-story{min-height:0;height:calc(342px + var(--speech-extra,0px))}.verify-story>p{margin-top:calc(275px + var(--speech-extra,0px));font-size:12px}
 .guide.verify:not(.checking-staged){left:calc(6% + 62px);top:calc(275px + var(--speech-extra,0px));width:120px}
 .guide-dialogue{width:205px;padding:12px 14px}.thought-line{font-size:15px;min-height:63px}.thought-label{font-size:9px;margin-bottom:7px}
 .guide-dialogue small{font-size:8px;margin-top:6px}
 .ticket-check .guide-dialogue{position:fixed;width:calc(100vw - 180px);max-width:205px;z-index:21}
 .ticket-check .guide-dialogue:after{display:none}
}
@media(max-width:360px){.guide-dialogue{width:180px}.thought-line{font-size:14px}.guide.verify:not(.checking-staged){left:calc(6% + 52px);width:100px}}
/* 手机验票台在浮层之上显示门票，位置由角色与台词实时测量。 */
body.ticket-check .flying-ticket{z-index:21;}
