:root{font-family:Microsoft YaHei,PingFang SC,sans-serif;color:#302e2b;background:#e9e5dd;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #302e2b;--muted: #8d877e;--paper: #f6f3ed;--line: #d8d1c6;--wine: #733f3d;--wine-dark: #54302f}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow:hidden}button,input,textarea,select{font:inherit}button{color:inherit}.app-shell{min-height:100vh;background:#e9e5dd}.topbar{height:72px;display:grid;grid-template-columns:320px 1fr auto;align-items:center;padding:0 22px;border-bottom:1px solid #d3ccc1;background:#f7f4eef5;box-shadow:0 3px 18px #342d260d;position:relative;z-index:20}.brand-block{display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:42px;position:relative;border:2px solid var(--wine);border-radius:18px 18px 8px 8px;transform:rotate(-3deg)}.brand-mark:before{content:"";position:absolute;width:12px;height:3px;left:11px;top:-6px;border-radius:3px;background:var(--wine)}.brand-mark:after{content:"";position:absolute;width:7px;height:7px;left:14px;top:12px;border-radius:50%;background:var(--wine);box-shadow:0 11px 0 -2px var(--wine)}.brand-mark span{position:absolute;left:10px;bottom:7px;width:14px;height:6px;border-bottom:2px solid var(--wine);border-radius:50%}.brand-name{font-family:Songti SC,SimSun,serif;font-weight:700;font-size:19px;letter-spacing:3px}.brand-subtitle{color:var(--muted);font-size:10px;letter-spacing:2px;margin-top:2px}.project-heading{justify-self:center;text-align:center}.project-title-input{display:block;width:310px;border:0;border-bottom:1px solid transparent;outline:0;background:transparent;text-align:center;color:var(--ink);font-family:Songti SC,serif;font-size:18px;font-weight:700;letter-spacing:1px}.project-title-input:focus{border-color:var(--line)}.save-state{display:inline-flex;align-items:center;gap:5px;margin-top:4px;color:#8c877e;font-size:10px;letter-spacing:1px}.save-state i{width:5px;height:5px;border-radius:50%;background:#6f8b72}.top-actions{display:flex;gap:8px}.button{height:34px;padding:0 14px;border:1px solid var(--line);border-radius:4px;background:#faf8f3;cursor:pointer;font-size:12px;transition:.18s ease}.button:hover{transform:translateY(-1px);border-color:#aaa298}.button.primary{color:#fff;border-color:var(--wine);background:var(--wine);box-shadow:0 4px 12px #733f3d2e}.button.primary:hover{background:var(--wine-dark)}.workspace{height:calc(100vh - 72px);display:grid;grid-template-columns:286px minmax(470px,1fr) 390px}.story-panel,.inspector-panel{min-height:0;background:#f6f3ed}.story-panel{display:flex;flex-direction:column;border-right:1px solid var(--line);padding:22px 18px 18px}.inspector-panel{display:flex;flex-direction:column;border-left:1px solid var(--line)}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-head h2{margin:2px 0 0;font-family:Songti SC,serif;font-size:18px}.eyebrow{color:#a69e94;font-size:9px;font-weight:700;letter-spacing:2.5px}.icon-button{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer;font-size:18px}.icon-button:hover{border-color:var(--wine);color:var(--wine)}.panel-delete{height:32px;padding:0 11px;border:1px solid #dccfc9;border-radius:16px;background:transparent;color:#9c635d;font-size:11px;cursor:pointer;white-space:nowrap}.panel-delete:hover{border-color:#c48a84;background:#fbf1ef}.type-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:6px;background:#eae5dc}.type-tab{display:flex;align-items:center;justify-content:center;gap:5px;height:36px;border:0;border-radius:4px;background:transparent;color:#8c857c;font-size:11px;cursor:pointer}.type-tab span{font-size:14px}.type-tab.active{color:var(--wine);background:#faf8f4;box-shadow:0 2px 7px #362d2614;font-weight:700}.scene-list{min-height:0;overflow-y:auto;margin-top:16px;padding-right:2px}.scene-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;border:1px solid transparent;border-bottom-color:#e6e0d7;background:transparent}.scene-card:hover{background:#f0ebe3}.scene-main{width:100%;min-width:0;display:grid;grid-template-columns:28px 1fr 14px;align-items:center;gap:9px;min-height:64px;padding:10px 5px 10px 9px;border:0;background:transparent;text-align:left;cursor:pointer}.scene-remove{width:34px;height:26px;margin-right:5px;flex:0 0 auto;border:0;border-radius:4px;background:transparent;color:#b1938e;font-size:10px;line-height:1;cursor:pointer;opacity:.62}.scene-remove:hover{background:#f7e8e5;color:#9c635d;opacity:1}.scene-index{color:#b1aaa0;font-family:Georgia,serif;font-size:12px}.scene-copy{min-width:0}.scene-copy strong,.scene-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-copy strong{font-size:12px}.scene-copy small{color:#999188;font-size:9px;margin-top:6px}.scene-arrow{color:#aaa298;font-size:20px}.add-scene,.wide-add{border:1px dashed #c9c0b5;background:#ffffff38;color:#756e66;cursor:pointer}.add-scene{height:39px;margin-top:12px;border-radius:4px;font-size:11px}.add-scene span{color:var(--wine);margin-right:6px}.add-scene:hover,.wide-add:hover{border-color:var(--wine);color:var(--wine)}.story-note{display:flex;gap:9px;margin-top:auto;padding:14px 12px;border-top:1px solid #ded7cd;border-bottom:1px solid #ded7cd;color:#777068}.story-note p{margin:0;font-family:Songti SC,serif;font-size:10px;line-height:1.8}.note-pin{color:var(--wine);font-size:11px}.character-strip{padding-top:14px}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;color:#999188;font-size:9px;letter-spacing:1px}.section-label button{border:0;background:transparent;color:var(--wine);font-size:9px;cursor:pointer}.avatar-stack{display:flex;align-items:center;padding-left:6px}.mini-avatar,.avatar-more{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;margin-left:-6px;border:2px solid var(--paper);border-radius:50%;color:#fff;font-size:9px}.avatar-more{background:#dad3ca;color:#716a62}.preview-stage{min-width:0;min-height:0;position:relative;overflow:hidden;background-color:#dfdad1;background-image:radial-gradient(#c4bdb2 .6px,transparent .7px);background-size:13px 13px}.stage-toolbar{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid rgba(120,110,98,.15);background:#ece8e0e0}.stage-title{display:flex;align-items:center;gap:7px;color:#716b64;font-size:11px;font-weight:700}.stage-title em{padding-left:8px;border-left:1px solid #c8c0b5;color:#9b948b;font-size:9px;font-style:normal;font-weight:400}.live-dot{width:6px;height:6px;border-radius:50%;background:#6b8a6f;box-shadow:0 0 0 3px #6b8a6f24}.scale-control{display:flex;align-items:center;border:1px solid #cfc8bd;border-radius:4px;overflow:hidden;background:#eeeae2}.scale-control button{width:27px;height:25px;border:0;background:transparent;cursor:pointer}.scale-control span{width:45px;text-align:center;color:#837c73;font-size:9px}.phone-space{height:calc(100% - 48px);display:flex;align-items:center;justify-content:center;position:relative;overflow:auto;padding:30px 10px}.phone{width:338px;height:682px;flex:0 0 auto;position:relative;z-index:2;overflow:hidden;padding:9px;border:2px solid #393632;border-radius:42px;background:#272522;box-shadow:0 26px 55px #30292245,inset 0 0 0 1px #7d766d;transform-origin:center;transition:transform .2s ease}.phone-island{width:88px;height:22px;position:absolute;z-index:10;top:15px;left:50%;transform:translate(-50%);border-radius:16px;background:#252320}.phone-screen{width:100%;height:100%;position:relative;overflow:hidden;display:flex;flex-direction:column;border-radius:33px;background:#f1eee8}.status-bar{height:29px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;color:#181818;background:#ededed;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,SF Pro Text,Helvetica Neue,Arial,sans-serif;font-size:12.5px;font-weight:650}.status-icons{display:flex;align-items:center;height:14px;gap:7px}.signal-bars{display:flex;align-items:flex-end;gap:1.6px;height:10px;transform:translateY(.2px)}.signal-bars i{width:3px;border-radius:1px;background:currentColor}.signal-bars i:nth-child(1){height:4.5px}.signal-bars i:nth-child(2){height:6.3px}.signal-bars i:nth-child(3){height:8.1px}.signal-bars i:nth-child(4){height:10px}.network-label{margin-top:.3px;font-size:11px;line-height:14px;font-weight:700;letter-spacing:0}.battery{position:relative;width:24.5px;height:12.3px;margin-top:.2px;border-radius:4px;box-shadow:inset 0 0 0 1.1px #1818186b}.battery:after{content:"";position:absolute;right:-2.8px;top:50%;width:2px;height:4.5px;transform:translateY(-50%);border-radius:0 1.4px 1.4px 0;background:#1818186b}.battery-level{position:absolute;left:2.3px;top:2.4px;bottom:2.4px;width:14.8px;border-radius:1.7px;background:#181818}.chat-status{background:#ededed}.phone-screen.moment-screen{background:#f7f7f7}.phone-screen.moment-screen .status-bar{position:absolute;top:0;left:0;right:0;z-index:5;background:transparent;color:#fff;pointer-events:none}.phone-screen.moment-screen .status-bar.status-dark{background:#f7f7f7f0;color:#181818;box-shadow:inset 0 -.5px #0000001f}.mobile-header{height:52px;display:grid;grid-template-columns:34px 1fr 34px;align-items:center;padding:0 8px;border-bottom:1px solid #e2e2e2;background:#ededed;text-align:center}.mobile-header strong{display:block;color:#191919;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:14.5px;font-weight:650}.mobile-header small{display:block;margin-top:2px;color:#9d978f;font-size:8px}.wx-left{display:flex;align-items:center;justify-content:flex-start}.wx-back{margin-right:3px;color:#181818;font-family:Arial,sans-serif;font-size:25px;font-weight:400;line-height:1}.wx-back-count{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#dedede;color:#171717;font-size:9.5px;font-weight:700}.mobile-menu{font-size:12px;letter-spacing:1px}.phone-scroll{overflow-y:auto;scrollbar-width:none}.phone-scroll::-webkit-scrollbar{display:none}.chat-body{flex:1 1 auto;min-height:0;width:100%;padding:16px 12px 20px;background:#f6f6f6}.chat-body{display:block}.date-chip,.system-message{width:fit-content;margin:0 auto 16px;color:#b3b3b3;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:9px}.message-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:13px}.dm .message-row{align-items:center}.message-row.mine{flex-direction:row-reverse}.phone-avatar{width:31px;height:31px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-radius:5px;color:#fff;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:11px;font-weight:600}.phone-avatar.large{width:37px;height:37px;border-radius:5px}.message-content{max-width:75%}.mine .message-content{display:flex;flex-direction:column;align-items:flex-end}.sender-name{display:block;margin:0 3px 4px;color:#a4a4a4;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:8px}.message-bubble{width:fit-content;position:relative;padding:8px 9px;border-radius:4px;background:#fff;color:#191919;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:11.5px;line-height:1.48;white-space:pre-wrap}.mine .message-bubble{color:#17351d;background:#95ec69}.message-bubble.voice{min-width:85px;display:flex;justify-content:space-between}.voice-waves{display:inline-block;margin-right:7px;color:#63676a;transform:rotate(180deg);letter-spacing:-1px}.mine .voice-waves{color:#4f7d40}.fake-image{width:120px;height:86px;position:relative;overflow:hidden;margin:-7px;border-radius:4px;background:linear-gradient(155deg,#b2b0a6 0,#b2b0a6 48%,#77786f 49%,#77786f 51%,#3e4748 52%)}.fake-image i{width:18px;height:18px;position:absolute;top:12px;right:16px;border-radius:50%;background:#e6ddbf}.fake-image b{position:absolute;left:8px;bottom:7px;color:#ffffffa6;font-size:8px;letter-spacing:2px}.message-bubble.transfer,.mine .message-bubble.transfer{width:190px;max-width:100%;overflow:hidden;padding:0;border-radius:5px;background:#ef872e;color:#fff;box-shadow:0 2px 7px #b0581833;white-space:normal;transition:background-color .2s ease,box-shadow .2s ease}.message-bubble.transfer:has(.transfer-card.status-pending),.mine .message-bubble.transfer:has(.transfer-card.status-pending){background:#ef872e;box-shadow:0 0 0 2px #ef872e47,0 4px 12px #b0581847}.message-bubble.transfer:has(.transfer-card.status-received),.mine .message-bubble.transfer:has(.transfer-card.status-received){background:#3f9a68;box-shadow:0 0 0 2px #3f9a684d,0 4px 12px #276f4847}.message-bubble.transfer:has(.transfer-card.status-refunded),.mine .message-bubble.transfer:has(.transfer-card.status-refunded){background:#8b929b;box-shadow:0 0 0 2px #8b929b42,0 4px 12px #49505938}.transfer-main{display:flex;align-items:center;gap:10px;min-height:58px;padding:10px 11px}.transfer-icon{width:34px;height:34px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(255,255,255,.92);border-radius:50%;color:#fff;font-size:19px;font-weight:400}.transfer-copy{min-width:0;display:flex;flex-direction:column;gap:1px}.transfer-copy strong{overflow:hidden;color:#fff;font-size:15px;font-weight:500;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.transfer-copy small{overflow:hidden;color:#ffffffe0;font-size:9px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.transfer-copy .transfer-target{color:#fff;font-weight:600}.transfer-footer{padding:5px 9px 6px;background:#fff;color:#8b8b8b;font-size:8px;line-height:1.2}.transfer-card.status-pending .transfer-footer{color:#b56a31}.transfer-card.status-received .transfer-footer{color:#43805d}.transfer-card.status-refunded .transfer-footer{color:#737a83}.transfer-card.status-received .transfer-main{opacity:.94}.transfer-card.status-refunded .transfer-main{opacity:.8}.transfer-receipt-row{margin-top:-3px}.recipient-receipt .transfer-main{opacity:.88}.transfer-copy .transfer-receipt-label{color:#fff;font-size:11px;font-weight:500}.mobile-composer{display:flex;align-items:center;width:100%;flex:0 0 48px;height:48px;padding:0 12px;background:#f7f7f7;border-top:1px solid #e6e6e6}.wx-icon{width:25px;height:25px;flex:0 0 auto;display:block;color:#17181a;overflow:visible}.wx-voice{width:26px;height:26px;margin-left:2px}.wx-emoji,.wx-plus{width:25px;height:25px}.mobile-composer div{flex:1 1 auto;min-width:0;height:33px;display:flex;align-items:center;margin:0 11px;padding:0 10px;border-radius:6px;background:#fff;color:#b2b2b2;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:11px}.wx-emoji{margin-left:0}.wx-plus{margin-left:12px}.moments-page{flex:1 1 auto;min-height:0;display:block;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#f7f7f7}.moments-page::-webkit-scrollbar{display:none}.moments-header{position:sticky;top:0;z-index:3;height:73px;padding-top:29px;margin-bottom:-73px;border-bottom:0;background:transparent;color:#fff;transition:background .28s ease,color .28s ease}.moments-header strong{color:inherit}.moments-header .camera-icon{width:23px;height:23px;display:block}.moments-header .mobile-back,.moments-header .camera-icon{color:inherit}.moments-header.solid{background:#f7f7f7;color:#181818;border-bottom:.5px solid rgba(0,0,0,.12)}.moments-cover{position:relative;height:314px;overflow:hidden;background:linear-gradient(145deg,#161d20,#394340 60%,#74756c)}.moments-cover .cover-image{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;display:block;transform:translateY(calc(var(--moment-scroll, 0px) * .35));will-change:transform}.moments-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgba(0,0,0,.08),transparent 32%,rgba(0,0,0,.12))}.cover-moon{width:48px;height:48px;position:absolute;top:112px;right:40px;border-radius:50%;background:#d8d2bb;box-shadow:0 0 34px #eee2b952}.moments-cover .owner-name{position:absolute;right:104px;bottom:20px;color:#fff;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:15px;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.24);z-index:2}.moments-body .owner-avatar{top:-35px;right:13px;bottom:auto}.owner-avatar{width:50px;height:50px;display:flex;align-items:center;justify-content:center;position:absolute;right:14px;bottom:-20px;border:2px solid #fff;border-radius:8px;color:#fff;font-size:16px;font-weight:600;z-index:2;overflow:hidden}.moments-body{position:relative;padding-top:50px;background:#f7f7f7}.moment-post{display:flex;gap:13px;padding:17px 16px 16px;background:transparent;cursor:pointer}.moment-post+.moment-post{position:relative}.moment-post+.moment-post:before{content:"";position:absolute;left:49px;right:0;top:0;height:.5px;background:#00000014}.moment-post.focused{background:#00000006;box-shadow:inset 3px 0 #733f3d80}.moment-main{min-width:0;flex:1}.moment-main>strong{color:#576b95;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:15px;font-weight:600;line-height:1.35}.moment-main p{margin:6px 0 10px;color:#181818;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.48;white-space:pre-wrap}.moment-image.photo{display:block;object-fit:cover}.moment-image{width:155px;height:155px;position:relative;overflow:hidden;margin-bottom:10px;border-radius:2px;background:#565e5c}.moment-image i{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35;background:linear-gradient(15deg,transparent 44%,#111 45% 48%,transparent 49%),repeating-linear-gradient(90deg,transparent 0 24px,rgba(255,255,255,.08) 25px 26px)}.moment-image span{position:absolute;left:8px;bottom:6px;color:#ffffffbf;font-family:Georgia,serif;font-size:7px;letter-spacing:1px}.tone-notice{background:#ddd2bd}.tone-notice:before{content:"?";position:absolute;z-index:1;left:59px;top:56px;width:36px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid #8b7a68;color:#8b7a68;font-size:20px}.tone-paper{background:#cfc6b8}.tone-warm{background:linear-gradient(135deg,#6d493b,#d19b6c)}.location{display:flex;align-items:center;gap:3px;width:fit-content;margin:4px 0 8px;color:#576b95;font-size:13px;line-height:1.35}.location-icon{width:13px;height:13px;flex:0 0 auto;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.moment-meta{display:flex;justify-content:space-between;align-items:center;color:#b2b2b2;font-size:13px}.moment-meta button{width:27px;height:19px;display:flex;align-items:center;justify-content:center;border:0;border-radius:4px;background:#f7f7f7;color:#576b95;font-size:12px;line-height:1}.social-box{position:relative;margin-top:9px;padding:7px 9px 8px;border-radius:4px;background:#f1f1f1;color:#181818;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:13px;line-height:1.5}.social-box:before{content:"";position:absolute;left:12px;top:-5px;width:0;height:0;border-right:6px solid transparent;border-bottom:6px solid #f1f1f1}.likes{display:flex;align-items:flex-start;gap:5px;min-width:0;color:#576b95}.likes-icon{width:14px;height:14px;flex:0 0 auto;margin-top:2px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.likes span{min-width:0}.comments-list{display:grid;gap:3px}.has-likes .comments-list{margin-top:4px;padding-top:0}.comment{min-width:0}.comment-line{display:flex;align-items:baseline;flex-wrap:wrap}.comment b{color:#576b95;font-weight:500}.forum-header{background:#f6f1e8}.forum-body{height:calc(100% - 125px);background:#f4f1eb}.forum-topic{padding:18px 15px 16px;background:#fffefa}.forum-tag{padding:3px 6px;border:1px solid #a58977;border-radius:2px;color:#8a6252;font-size:7px}.forum-topic h1{margin:9px 0 11px;font-family:Songti SC,serif;font-size:17px;line-height:1.45}.forum-author{display:flex;align-items:center;gap:8px}.forum-author strong,.forum-author small{display:block}.forum-author strong{font-size:9px}.forum-author small{margin-top:3px;color:#9e978f;font-size:7px}.forum-topic>p{margin:14px 0;font-size:11px;line-height:1.75;white-space:pre-wrap}.view-count{color:#a29b93;font-size:7px}.reply-divider{padding:9px 14px;border-top:6px solid #ebe7e0;border-bottom:1px solid #e5e0d8;background:#faf8f4;color:#8f8880;font-size:8px}.forum-reply{padding:13px 15px;border-bottom:1px solid #e3ded6;background:snow}.reply-head{display:flex;justify-content:space-between;font-size:9px}.reply-head strong{color:#6b5a52}.reply-head span{color:#aaa39a;font-size:7px}.forum-reply p{margin:7px 0;font-size:10px;line-height:1.6}.forum-reply small{color:#a49d94;font-size:7px}.forum-composer{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-top:1px solid #ddd8d0;color:#aaa39b;background:#faf8f4;font-size:9px}.forum-composer span{color:#79695f;font-size:12px}.phone-shadow{width:250px;height:30px;position:absolute;z-index:1;bottom:22px;border-radius:50%;background:#312b2530;filter:blur(16px)}.inspector-head{height:72px;flex:0 0 auto;margin:0;padding:0 21px;border-bottom:1px solid var(--line)}.inspector-scroll{min-height:0;overflow-y:auto;padding:18px 20px 30px}.form-section{display:grid;gap:12px;padding-bottom:18px;border-bottom:1px solid #ded7cd}.form-section.compact-grid{grid-template-columns:1fr 100px}.form-section .full{grid-column:1 / -1}.form-section label,.owner-select{display:grid;gap:6px}.form-section label>span,.owner-select>span,.character-editor label span{color:#898178;font-size:9px;letter-spacing:.5px}input,textarea,select{min-width:0;outline:none;border:1px solid #d2cbc1;border-radius:3px;background:#fbf9f5;color:#403c38}input,select{height:33px;padding:0 9px}textarea{width:100%;padding:8px 9px;line-height:1.55;resize:vertical}input:focus,textarea:focus,select:focus{border-color:#96756b;box-shadow:0 0 0 2px #733f3d12}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.editor-section-title{display:flex;align-items:center;justify-content:space-between;margin:18px 0 10px}.editor-section-title span{font-family:Songti SC,serif;font-size:13px;font-weight:700}.editor-section-title em{color:#a19a91;font-size:9px;font-style:normal}.entry-list{display:grid;gap:9px}.entry-list.is-sorting{cursor:grabbing}.entry-list.is-sorting .entry-card:not(.is-dragging):not(.is-drag-over){opacity:.7}.entry-card{position:relative;padding:10px;border:1px solid #d8d1c6;border-radius:4px;background:#f9f7f2;box-shadow:0 2px 5px #38302808;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s cubic-bezier(.2,.8,.2,1)}.entry-card.is-dragging{z-index:3;opacity:.86;border-color:#7a3940;background:#fffdf9;box-shadow:0 14px 30px #4f262a3d,0 0 0 3px #7a394021;transform:translateY(-5px) scale(1.025) rotate(-.55deg);animation:drag-source-pulse .9s ease-in-out infinite alternate}.entry-card.is-dragging:after{content:"拖动中";position:absolute;top:-12px;right:9px;z-index:4;padding:4px 8px;border-radius:999px;background:#71363c;color:#fff;box-shadow:0 4px 12px #4f262a3d;font-size:9px;font-weight:700;letter-spacing:1px}.entry-card.is-drag-over{z-index:2;border-color:#bd6f48;background:#fff8ed;box-shadow:0 0 0 3px #bd6f482e,0 9px 20px #5f372321;transform:translate(5px) scale(1.012)}.entry-card.is-drag-over:before{content:"";position:absolute;z-index:5;left:-5px;right:-5px;height:5px;border-radius:999px;background:linear-gradient(90deg,#71363c,#d9854f,#71363c);box-shadow:0 0 0 3px #d9854f29,0 3px 10px #71363c47;animation:drag-target-line .62s ease-in-out infinite alternate}.entry-card.is-drag-over:after{content:"松开排到这里";position:absolute;z-index:6;right:7px;padding:4px 8px;border-radius:999px;background:#d37742;color:#fff;box-shadow:0 4px 12px #71363c38;font-size:9px;font-weight:700;letter-spacing:.5px}.entry-card.is-drag-over.drag-before:before{top:-7px}.entry-card.is-drag-over.drag-before:after{top:-17px}.entry-card.is-drag-over.drag-after:before{bottom:-7px}.entry-card.is-drag-over.drag-after:after{bottom:-17px}.entry-card.is-drop-settled{z-index:2;animation:drag-drop-confirm .9s cubic-bezier(.2,.8,.2,1)}.entry-top{display:grid;grid-template-columns:22px 1fr 76px 54px;gap:5px;align-items:center;margin-bottom:7px}.entry-top select,.entry-top input{height:28px;padding:0 6px;font-size:10px}.drag-index{width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:#e9e3da;color:#8f877d;font-family:Georgia,serif;font-size:9px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}.drag-index:hover{background:#ddd3c7;color:#665c54;box-shadow:0 0 0 3px #71363c14;transform:scale(1.08)}.drag-index:active{cursor:grabbing;background:#71363c;color:#fff;transform:scale(1.14)}.entry-list.is-sorting .drag-index{cursor:grabbing}.entry-card.is-dragging .drag-index{background:#71363c;color:#fff;box-shadow:0 0 0 5px #71363c29;animation:drag-handle-pulse .72s ease-in-out infinite alternate}.entry-drag-ghost{position:fixed;left:-9999px;top:-9999px;z-index:9999;display:flex;align-items:center;gap:10px;min-width:154px;padding:10px 14px;border:2px solid #71363c;border-radius:9px;background:#fffdf9f7;color:#554843;box-shadow:0 14px 30px #421f2347;font-family:Arial,Microsoft YaHei,sans-serif}.entry-drag-ghost>span,.drag-sort-float>span{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#71363c;color:#fff;font-size:18px;font-weight:700}.entry-drag-ghost div,.drag-sort-float div{display:grid;gap:2px}.entry-drag-ghost strong,.drag-sort-float strong{font-size:12px;letter-spacing:.5px}.entry-drag-ghost small,.drag-sort-float small{color:#8b7770;font-size:10px;white-space:nowrap}.drag-sort-float{position:fixed;z-index:10000;width:206px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(113,54,60,.34);border-radius:10px;background:#fffdf9f5;color:#554843;box-shadow:0 14px 34px #421f2345,0 0 0 4px #71363c17;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:drag-float-bob .8s ease-in-out infinite alternate}.drag-sort-float.is-pointer{box-shadow:0 16px 38px #421f234d,0 0 0 5px #d3774221}.drag-float-enter-active,.drag-float-leave-active{transition:opacity .16s ease,transform .16s ease}.drag-float-enter-from,.drag-float-leave-to{opacity:0;transform:translateY(7px) scale(.92)}@keyframes drag-source-pulse{0%{box-shadow:0 12px 25px #4f262a33,0 0 0 2px #7a39401a}to{box-shadow:0 17px 34px #4f262a4d,0 0 0 5px #7a394029}}@keyframes drag-handle-pulse{0%{transform:scale(1.02)}to{transform:scale(1.18)}}@keyframes drag-target-line{0%{filter:brightness(.95);transform:scaleX(.96)}to{filter:brightness(1.12);transform:scaleX(1.01)}}@keyframes drag-float-bob{0%{transform:translateY(-1px)}to{transform:translateY(3px)}}@keyframes drag-drop-confirm{0%{border-color:#62a96f;background:#eff9f0;box-shadow:0 0 #509c5e66;transform:scale(.985)}45%{border-color:#62a96f;background:#f7fff7;box-shadow:0 0 0 7px #509c5e29;transform:scale(1.015)}to{border-color:#d8d1c6;background:#f9f7f2;box-shadow:0 2px 5px #38302808;transform:scale(1)}}.entry-card textarea{font-size:11px}.transfer-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-bottom:7px;padding:9px;border:1px solid #e4d9cc;border-radius:5px;background:#fffaf3}.transfer-editor label{min-width:0;display:grid;gap:5px}.transfer-editor label>span{color:#898178;font-size:9px;letter-spacing:.5px}.transfer-editor input,.transfer-editor select{width:100%;min-width:0;height:30px;padding:0 7px;border:1px solid #d8d1c6;border-radius:4px;background:#fff;color:#4e4740;font-size:11px}.transfer-editor .transfer-note{grid-column:1 / -1}.transfer-link-hint,.receipt-link-hint,.receipt-empty-hint{grid-column:1 / -1;margin:-1px 0 0;color:#9a755a;font-size:9px;line-height:1.5}.receipt-editor{border-color:#d9c8df;background:#fbf7fd}.receipt-editor .transfer-note{margin:0}.receipt-link-hint{padding:6px 8px;border:1px dashed #c9afd2;border-radius:4px;background:#fff;color:#76577f}.receipt-empty-hint{color:#9a755a}.amount-field{min-width:0;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;overflow:hidden;border:1px solid #d8d1c6;border-radius:4px;background:#fff}.amount-field b{display:flex;align-items:center;justify-content:center;color:#c67832;font-size:13px;font-weight:500}.transfer-editor .amount-field input{border:0;border-left:1px solid #eee5da;border-radius:0;outline:0;box-shadow:none}.entry-actions{display:flex;justify-content:flex-end;gap:4px;margin-top:5px}.entry-actions button{min-width:25px;height:22px;border:1px solid #ddd6cc;border-radius:3px;background:transparent;color:#989087;font-size:9px;cursor:pointer}.entry-actions button:hover{border-color:#9f9187;color:#5f5751}.entry-actions .remove{margin-left:3px;color:#9c635d}.wide-add{width:100%;height:38px;margin-top:10px;border-radius:4px;font-size:10px}.like-picker{display:grid;gap:6px}.like-picker>span{color:#898178;font-size:9px;letter-spacing:.5px}.like-options{display:flex;flex-wrap:wrap;gap:7px}.like-picker .like-option{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 9px;white-space:nowrap;border:1px solid #d2cbc1;border-radius:16px;background:#fbf9f5;color:#5f5751;font-size:11px;cursor:pointer;-webkit-user-select:none;user-select:none}.like-picker .like-option input{width:13px;height:13px;min-width:13px;padding:0;border:1px solid #b8b0a4;border-radius:50%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;cursor:pointer}.like-picker .like-option input:checked{border-color:var(--wine);background:var(--wine);box-shadow:inset 0 0 0 2.5px #fff}.like-picker .like-option.selected{border-color:#c99b92;background:#fff;color:var(--wine);font-weight:600}.comment-editor{display:grid;grid-template-columns:minmax(110px,150px) 1fr auto;gap:7px;align-items:start}.comment-editor select{height:30px;font-size:10px}.comment-main{display:grid;gap:7px}.comment-reply-list{grid-column:1 / -1;display:grid;gap:7px;padding-top:7px;border-top:1px dashed #d8d1c6}.comment-reply-editor{display:grid;grid-template-columns:80px 1fr auto;gap:7px;align-items:start}.comment-reply-editor select,.comment-reply-editor textarea{height:auto;min-height:28px;font-size:10px}.reply-target{display:flex;align-items:center;height:28px;color:#8f877d;font-size:9px;white-space:nowrap}.comment>span{display:block}.comment-reply{margin:3px 0 0 10px;padding-left:7px;border-left:2px solid rgba(87,107,149,.18);color:#353535}.comment-reply .reply-author{color:#576b95;font-weight:500}.comment-reply .reply-label{margin:0 3px;color:#777;font-style:normal}.comment-editor .entry-actions{margin:2px 0 0}.reply-editor .entry-top{grid-template-columns:22px minmax(0,1fr) 70px 32px}.floor-chip{color:#9a9289;font-size:9px;text-align:center}.modal-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:28px;background:#27231f80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:min(620px,92vw);max-height:88vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d0c8bc transparent;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:22px 24px 24px;border:1px solid #cec4b7;border-radius:12px;background:#f6f3ed;box-shadow:0 24px 80px #231e194d}.modal::-webkit-scrollbar,.help-modal::-webkit-scrollbar{width:8px}.modal::-webkit-scrollbar-track,.help-modal::-webkit-scrollbar-track{background:transparent;border-radius:inherit}.modal::-webkit-scrollbar-thumb,.help-modal::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:#d0c8bc;background-clip:content-box}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.modal-head h2{margin:4px 0 0;font-family:Songti SC,serif;font-size:21px;line-height:1.2}.modal-head .eyebrow{display:block;color:#a89f94;font-size:9.5px;letter-spacing:2.4px}.modal-head>button{width:32px;height:32px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:#8d857c;font-size:22px;line-height:1;cursor:pointer}.modal-head>button:hover{background:#eae4da;color:#5f5751}.owner-select{display:grid;gap:7px;padding:12px 14px;border:1px solid #e0d8cc;border-radius:10px;background:#fff}.owner-select{grid-template-columns:104px minmax(0,1fr);align-items:center;gap:12px}.owner-select>span{color:#7f776e;font-size:12px}.owner-select select{height:40px;font-size:14px}.avatar-image{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.cover-editor{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #ddd6cc;border-radius:4px;background:#fbf9f5}.cover-editor span{flex:1;font-size:12px;color:#5f5751}.avatar-button,.avatar-remove{height:34px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dcd4c9;border-radius:8px;background:#fff;color:#6f675f;font-size:12px;line-height:1;cursor:pointer;white-space:nowrap}.avatar-button:hover,.avatar-remove:hover{border-color:#a89e92;color:#4d463f}.confirm-backdrop{align-items:center;padding:28px}.confirm-modal{width:min(340px,calc(100vw - 44px));padding:20px 20px 18px;border:1px solid #d5ccc0;border-radius:16px;background:#f8f5f0;box-shadow:0 20px 54px #231e1947}.confirm-modal .modal-head{align-items:center;margin-bottom:12px}.confirm-modal .modal-head h2{margin-top:3px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:18px}.confirm-modal .modal-head>button{width:28px;height:28px;margin:-3px -5px 0 0;color:#a49b91;font-size:19px}.confirm-modal .confirm-copy{margin-bottom:18px;font-size:13px;line-height:1.65}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}.confirm-actions button{min-width:82px;height:38px;padding:0 16px;border:1px solid #d8d1c6;border-radius:9px;background:#fffdf8;color:#6f675f;font-size:13px;line-height:1;cursor:pointer;touch-action:manipulation}.confirm-actions button:active{transform:scale(.98)}.confirm-actions .confirm-danger{border-color:var(--wine);background:var(--wine);color:#fff}.confirm-actions .confirm-danger:active{background:var(--wine-dark)}.confirm-copy{margin:0 0 16px;color:#5f5751;font-size:14px;line-height:1.7}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.confirm-actions button{height:36px;padding:0 14px;border:1px solid #d8d1c6;border-radius:5px;background:#fffdf8;color:#6f675f;font-size:12px;cursor:pointer}.confirm-actions button:hover{border-color:#a89e92;color:#4d463f}.confirm-actions .confirm-danger{border-color:#b9857f;background:var(--wine);color:#fff}.confirm-actions .confirm-danger:hover{border-color:var(--wine);background:#8e4341;color:#fff}.story-modal{width:min(560px,94vw)}.story-list{display:grid;gap:8px;margin:16px 0 14px;max-height:48vh;overflow-y:auto}.story-card{display:flex;align-items:stretch;gap:8px;padding:9px;border:1px solid #ddd6cc;border-radius:4px;background:#fbf9f5}.story-card.active{border-color:#96756b;box-shadow:0 0 0 2px #733f3d12}.story-main{flex:1;min-width:0;position:relative;display:grid;gap:5px;padding:3px 44px 3px 3px;border:0;background:transparent;text-align:left;cursor:pointer}.story-main strong{font-size:13px;color:#3d3833}.story-main small{color:#8b837a;font-size:9px;line-height:1.5}.story-main>span{position:absolute;top:3px;right:0;padding:2px 5px;border-radius:2px;background:#eee5dc;color:#7a6a60;font-size:8px}.story-actions{display:flex;align-items:center;gap:4px}.story-actions button{height:25px;padding:0 7px;border:1px solid #ddd6cc;border-radius:3px;background:transparent;color:#898178;font-size:9px;cursor:pointer}.story-actions button:hover{color:#5f5751;border-color:#9f9187}.story-actions .danger{color:#9c635d}.story-modal-actions{display:flex;justify-content:flex-end}.story-modal-actions .wide-add{width:180px}.color-field input{width:100%;padding:3px}.character-editor-list{display:grid;gap:14px;margin:18px 0}.character-editor{display:grid;gap:12px;padding:14px;border:1px solid #e3dbd0;border-radius:10px;background:#fff}.character-row{display:grid;align-items:center;gap:12px}.character-main-row{grid-template-columns:52px minmax(0,1fr) 32px}.character-option-row{grid-template-columns:minmax(84px,110px) minmax(84px,110px) minmax(0,1fr)}.character-preview{width:52px;height:52px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:8px;color:#fff;font-size:20px;font-weight:600}.name-field,.relation-field,.initial-field,.color-field,.avatar-controls{display:grid;gap:6px;min-width:0}.name-field{grid-template-columns:36px minmax(0,1fr);align-items:center}.relation-field,.initial-field{grid-template-columns:52px minmax(0,1fr);align-items:center}.color-field{grid-template-columns:36px minmax(0,1fr);align-items:center}.avatar-controls{grid-template-columns:auto auto auto;align-items:center;justify-content:start;gap:8px}.avatar-controls-label{color:#898178;font-size:9px;letter-spacing:.5px}.character-editor input{min-width:0}.character-delete{align-self:center;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:#a66f68;font-size:18px;cursor:pointer}.character-delete:hover{background:#f4e8e6}.character-editor .avatar-image{width:100%;height:100%;object-fit:cover;border-radius:inherit}.help-modal{width:580px}.help-modal ol{display:grid;gap:14px;margin:0;padding-left:24px}.help-modal li{padding-left:4px;font-size:13px;line-height:1.75}.help-tip{margin-top:20px;padding:14px;border-left:3px solid var(--wine);background:#eee8df;color:#716960;font-family:Songti SC,serif;font-size:12px;line-height:1.7}.help-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.toast{position:fixed;z-index:200;left:50%;bottom:28px;transform:translate(-50%);padding:10px 18px;border-radius:4px;color:#fff;background:#312c27e6;box-shadow:0 8px 24px #0000002e;font-size:11px;letter-spacing:.5px}.toast-enter-active,.toast-leave-active{transition:.2s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,8px)}.mobile-nav{display:none}@media (max-height: 780px){.story-note{display:none}}@media (max-width: 1320px){.workspace{grid-template-columns:250px minmax(430px,1fr) 355px}.topbar{grid-template-columns:270px 1fr auto}.button{padding:0 10px}.top-actions .button:first-child{display:none}}@media (max-width: 900px){html,body,#app{width:100%;height:100%;min-height:0;overflow:hidden;overscroll-behavior:none}.app-shell{width:100%;height:100%;min-height:0;overflow:hidden}.topbar{height:60px;grid-template-columns:1fr auto;padding:0 12px;touch-action:none}.brand-block{display:none}.project-heading{justify-self:start;text-align:left}.project-title-input{width:min(42vw,250px);font-size:16px;text-align:left}.save-state{font-size:9px}.top-actions{gap:5px}.button{height:31px;padding:0 8px;font-size:10px}.button:first-child{display:none}.workspace{position:relative;height:auto;min-height:calc(100vh - 116px);grid-template-columns:1fr;padding-bottom:8px}.workspace{height:calc(100vh - 116px);min-height:0;overflow:hidden;overscroll-behavior:none}.story-panel,.inspector-panel{position:fixed;top:60px;right:0;bottom:56px;left:0;z-index:30;display:none;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:0;padding:15px 14px 24px;background:#f6f3ed}.preview-stage{display:none;min-height:0}.preview-stage.mobile-visible{display:flex;flex-direction:column;height:100%;min-height:0}.phone-space{height:auto;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.story-panel.mobile-visible,.inspector-panel.mobile-visible{display:block}.stage-toolbar{padding:0 12px}.phone{width:min(100%,360px);height:min(78vh,700px);transform:none!important}.scale-control{display:none}.mobile-nav{position:fixed;z-index:50;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);height:56px;border-top:1px solid #cfc7bb;background:#f8f5eff5;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -5px 20px #2f292314}.mobile-nav button{display:grid;place-items:center;gap:2px;border:0;background:transparent;color:#8d857c;font-size:9px;cursor:pointer;-webkit-tap-highlight-color:transparent}.mobile-nav button span{font-size:18px}.mobile-nav button.active{color:var(--wine);font-weight:700}.modal-backdrop{padding:0;align-items:flex-end}.modal,.help-modal{width:100%;max-height:calc(100vh - 46px);display:flex;flex-direction:column;border:0;border-radius:14px 14px 0 0;padding:18px 16px 0}.modal-head{flex:0 0 auto;margin-bottom:14px}.modal-head h2{font-size:20px}.owner-select{grid-template-columns:96px minmax(0,1fr)}.character-editor-list{margin:14px 0 10px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:2px}.modal>.wide-add{flex:0 0 auto;margin:4px 0 0}.modal>.wide-add{margin-bottom:calc(env(safe-area-inset-bottom,0px) + 14px)}.character-editor{gap:11px;padding:13px}.character-preview{width:46px;height:46px;font-size:19px}.entry-top{grid-template-columns:28px minmax(0,1fr) 76px}.entry-top .time-input{display:none}.entry-top .drag-index{width:28px;height:28px;font-size:11px}.drag-sort-float{width:176px;padding:8px 10px;border-radius:9px}.drag-sort-float>span{width:28px;height:28px;font-size:16px}.entry-card.is-dragging{transform:translateY(-3px) scale(1.018) rotate(-.35deg)}.entry-card.is-drag-over{transform:translate(3px) scale(1.008)}.comment-editor{grid-template-columns:1fr}.scene-card{grid-template-columns:minmax(0,1fr) 44px;gap:4px}.scene-main{grid-template-columns:24px 1fr 14px;padding-left:6px}.scene-remove{width:40px;height:32px;margin-right:0;opacity:1}.comment-reply-editor{grid-template-columns:1fr}.reply-target{height:auto}.reply-editor .entry-top{grid-template-columns:28px minmax(0,1fr) 32px}.form-section.compact-grid{grid-template-columns:1fr}.confirm-backdrop{align-items:center;padding:20px}.modal.confirm-modal{width:min(340px,100%);max-height:calc(100dvh - 40px);flex:0 0 auto;border:1px solid #d5ccc0;border-radius:16px;padding:20px 18px 18px}.confirm-modal .modal-head{margin-bottom:10px}.confirm-modal .modal-head h2{font-size:17px}.confirm-modal .confirm-copy{margin-bottom:16px;font-size:13px}.confirm-actions{gap:10px}.confirm-actions button{flex:1;min-width:0;height:42px;border-radius:9px;font-size:13px}.toast{bottom:68px}}@supports (-webkit-touch-callout: none){input,textarea,select{font-size:16px}.entry-top select,.entry-top input{font-size:14px}.button,.mobile-nav button{touch-action:manipulation}}@supports (padding: env(safe-area-inset-top)){.topbar{padding-top:env(safe-area-inset-top)}.mobile-nav{padding-bottom:calc(env(safe-area-inset-bottom) + 2px)}.modal-backdrop{padding-bottom:calc(env(safe-area-inset-bottom) + 12px)}.toast{bottom:calc(env(safe-area-inset-bottom) + 68px)}}@media (max-width: 900px){@supports (padding: env(safe-area-inset-top)){.topbar{height:auto;min-height:calc(60px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.workspace{height:calc(100vh - 116px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:0}.story-panel,.inspector-panel{inset:calc(60px + env(safe-area-inset-top)) 0 calc(56px + env(safe-area-inset-bottom))}.mobile-nav{height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}}}.ios-tip{display:none}@media (max-width: 900px){.ios-tip{position:fixed;z-index:45;left:10px;right:10px;bottom:calc(62px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #cdbfb3;border-radius:8px;background:#faf8f4fa;box-shadow:0 8px 24px #2f292329}.ios-tip-copy{min-width:0}.ios-tip-copy b{display:block;font-size:11px}.ios-tip-copy span{display:block;margin-top:3px;color:#857d74;font-size:9px;line-height:1.5}.ios-tip button{flex:0 0 auto;height:28px;padding:0 10px;border:1px solid var(--wine);border-radius:4px;background:var(--wine);color:#fff;font-size:10px;cursor:pointer;touch-action:manipulation}}.panel-head-actions{display:flex;gap:6px}.export-modal{width:min(560px,92vw)}.export-hint{margin:14px 0 12px;color:#6f6860;font-size:12px;line-height:1.7}.export-preview{display:flex;justify-content:center;padding:14px;border:1px solid #d5cec3;border-radius:6px;background:#eae5dd}.export-preview img{width:auto;max-width:100%;max-height:52vh;height:auto;border-radius:4px;box-shadow:0 10px 26px #2d262038;-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto}.export-choices{display:grid;gap:10px;margin:14px 0 4px}.export-choice{display:block;width:100%;padding:14px 16px;border:1px solid #cdc4b8;border-radius:8px;background:#fffdf8;color:inherit;text-align:left;cursor:pointer;touch-action:manipulation}.export-choice:active{border-color:var(--wine);background:#f6efe8}.export-choice:disabled{opacity:.6}.export-choice strong{display:block;font-size:14px}.export-choice span{display:block;margin-top:5px;color:#837a71;font-size:11px;line-height:1.6}.export-actions{display:flex;gap:10px;margin-top:16px}.export-actions .button:first-child{display:inline-flex}.export-actions .button{flex:1}.export-error{margin:16px 0;color:#8c4a45;font-size:13px;line-height:1.7}.export-working{padding:10px 12px;border:1px dashed #cdc4b8;border-radius:6px;background:#fffdf8;color:#6f6860}.export-working b{color:var(--wine)}.modal-head button:disabled{opacity:.35;cursor:default}.export-choice:disabled{cursor:default}@media (max-width: 900px){.export-preview{padding:10px}.export-preview img{max-height:46vh}.export-actions{position:sticky;bottom:0}}.moment-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:min(100%,216px);margin-bottom:10px}.moment-image-grid.count-1{grid-template-columns:minmax(0,155px);width:min(100%,155px)}.moment-image-grid.count-2,.moment-image-grid.count-4{width:min(100%,155px)}.moment-image-grid.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.moment-image-grid.count-4{grid-template-columns:repeat(3,minmax(0,1fr))}.moment-image-cell{position:relative;aspect-ratio:1 / 1;overflow:hidden;border-radius:2px;background:#f0ede7}.moment-image-cell img{display:block;width:100%;height:100%;object-fit:cover}.moment-image-editor{flex-wrap:wrap}.moment-thumbs{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin-top:8px}.moment-thumb{position:relative;width:54px;height:54px;margin:0;overflow:hidden;border-radius:6px;background:#f0ede7}.moment-thumb img{display:block;width:100%;height:100%;object-fit:cover}.thumb-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:#14110fa3;color:#fff;font-size:12px;line-height:1;cursor:pointer}.thumb-add{width:54px;height:54px;padding:0;border-style:dashed;font-size:10.5px}.thumb-add input{display:none}.image-editor-tip{flex:0 0 auto;color:#8b7f75;font-size:12px;font-style:normal}@media (max-width: 900px){.modal,.help-modal{width:100%;max-height:calc(100vh - 46px);border-radius:18px 18px 0 0;padding:18px 18px 0}.modal-head{flex:0 0 auto;margin-bottom:14px}.modal>.wide-add,.story-modal-actions,.help-actions,.export-actions{flex:0 0 auto;margin:14px 0 0;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 18px)}.story-list{margin:2px 0 0;max-height:46vh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.story-modal-actions .wide-add{width:min(220px,100%)}.help-modal ol{padding-left:20px}.help-actions{gap:10px}.help-actions .button{flex:1;height:40px;border-radius:9px;font-size:13px}.export-actions{position:static;gap:10px}.export-actions .button{height:40px;border-radius:9px;font-size:13px}.modal>.wide-add{height:42px;border-radius:9px;font-size:12px}.character-editor-list{margin:0 0 14px}.character-modal>.wide-add{margin-top:0}}@media (max-width: 900px){.export-actions .button{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 16px;border-radius:9px;font-size:13px}.modal-head h2{margin-top:4px}.story-card,.character-editor{border-radius:12px}.story-actions button{height:34px;padding:0 12px;border-radius:8px;font-size:12px}}@media (min-width: 901px){.character-modal{width:min(540px,92vw);padding:18px 20px 20px}.character-modal .modal-head{margin-bottom:14px}.character-modal .modal-head h2{font-size:19px}.character-modal .owner-select{padding:10px 12px}.character-modal .owner-select>span{font-size:11px}.character-modal .owner-select select{height:34px;font-size:12px}.character-editor-list{gap:12px;margin:12px 0}.character-editor{gap:10px;padding:12px}.character-main-row{grid-template-columns:42px minmax(0,1fr) 28px}.character-option-row{grid-template-columns:minmax(76px,94px) minmax(76px,94px) minmax(0,1fr);gap:8px}.character-preview{width:42px;height:42px;font-size:17px}.character-modal input,.character-modal select{height:29px;padding:0 7px;font-size:11.5px}.character-modal .name-field{grid-template-columns:30px minmax(0,1fr)}.character-modal .relation-field,.character-modal .initial-field{grid-template-columns:46px minmax(0,1fr)}.character-modal .color-field{grid-template-columns:30px minmax(0,1fr)}.character-modal .character-editor label span,.character-modal .avatar-controls-label{font-size:9.5px}.character-modal .avatar-button,.character-modal .avatar-remove{height:28px;padding:0 10px;font-size:10.5px}.character-modal .character-delete{width:28px;height:28px;font-size:16px}.character-modal>.wide-add{height:34px;font-size:11px}}@media (max-width: 900px){.modal-backdrop:not(.confirm-backdrop){padding-bottom:0}.modal,.help-modal{max-height:100%;border-bottom-left-radius:0;border-bottom-right-radius:0}.modal>.wide-add,.story-modal-actions,.help-actions,.export-actions{margin-bottom:0;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 18px)}}@media (max-width: 900px){.modal-backdrop.confirm-backdrop{align-items:center;padding:20px}.modal.confirm-modal{width:min(340px,100%);max-height:calc(100dvh - 40px);border:1px solid #d5ccc0;border-radius:16px;padding:20px 18px 18px;background:#f6f3ed}.confirm-modal .confirm-copy{margin-bottom:16px;font-size:14px}.confirm-actions{flex:0 0 auto;gap:10px;padding-bottom:0}.confirm-actions button{flex:1;min-width:0;height:42px;border-radius:9px;font-size:13px}}@media (max-width: 900px){.character-modal{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 18px)}.character-modal .modal-head{margin-bottom:12px}.character-modal .modal-head h2{margin-top:2px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:20px}.character-modal .modal-head .eyebrow{font-size:9.5px;letter-spacing:2px}.character-modal .owner-select{grid-template-columns:1fr;gap:8px;padding:12px;border-radius:10px}.character-modal .owner-select>span{font-size:11px}.character-modal .owner-select select{height:36px;font-size:13px}.character-modal input,.character-modal select{height:32px;padding:0 9px;background:#fff;color:#3f3a34;font-size:12.5px}.character-modal .character-editor-list{flex:1 1 auto;min-height:0;gap:12px;margin:12px 0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.character-modal .character-editor{gap:10px;padding:12px;border-radius:12px}.character-modal .character-main-row{grid-template-columns:40px minmax(0,1fr) 26px}.character-modal .character-preview{width:40px;height:40px;font-size:15px}.character-modal .name-field{grid-template-columns:32px minmax(0,1fr)}.character-modal .relation-field,.character-modal .initial-field{grid-template-columns:48px minmax(0,1fr)}.character-modal .color-field{grid-template-columns:32px minmax(0,1fr)}.character-modal .character-editor label span,.character-modal .avatar-controls-label{font-size:10px}.character-modal .avatar-controls{display:flex;align-items:center;gap:8px}.character-modal .avatar-button,.character-modal .avatar-remove{height:30px;padding:0 12px;font-size:11.5px}.character-modal>.wide-add{display:flex;align-items:center;justify-content:center;width:100%;height:42px;margin:12px 0 0;border-radius:9px;font-size:12.5px;line-height:1;padding-bottom:0}}@media (prefers-reduced-motion: reduce){.entry-card.is-dragging,.entry-card.is-drag-over:before,.entry-card.is-drop-settled,.entry-card.is-dragging .drag-index,.drag-sort-float{animation:none!important}}
