@font-face{font-family:ShanhaiBrush;src:url('../assets/fusion/fonts/shanhai-brush.woff2') format('woff2');font-display:swap}
:root{--display:ShanhaiBrush,"STKaiti","KaiTi",serif;--body:var(--display);--craft-paper:#EFE3C7;--craft-ink:#183D47;--craft-muted:#637176;--craft-line:#C9BC9E}
#rotate-guide{display:none!important}.app-shell{visibility:visible}body{font-size:16px}button,a,input{touch-action:manipulation}button:disabled{cursor:default;opacity:.5}
.app-shell[data-ui=home],.app-shell[data-ui=desk]{background:var(--craft-paper);color:var(--craft-ink);color-scheme:light}
.app-shell[data-ui=home] .topbar,.app-shell[data-ui=desk] .topbar{display:none}
.app-shell[data-ui=home] .game-canvas,.app-shell[data-ui=desk] .game-canvas{height:100dvh;background:var(--craft-paper)}
.app-shell[data-ui=home] .scene-art,.app-shell[data-ui=home] .paper-wash,.app-shell[data-ui=home] .edge-ink,.app-shell[data-ui=home] .scene-label,.app-shell[data-ui=desk] .scene-art,.app-shell[data-ui=desk] .paper-wash,.app-shell[data-ui=desk] .edge-ink,.app-shell[data-ui=desk] .scene-label{display:none}
.app-shell[data-ui=home] .home-screen{padding:0;overflow:auto}.app-shell[data-ui=home] .home-screen::before{display:none}
.paper-kicker{color:#97663E;font-size:14px;letter-spacing:.12em;margin:0 0 16px;line-height:1.6}
.desk-brand{font-family:var(--display);font-size:34px;letter-spacing:.12em}
.startup-notice{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:20px 0;padding:14px 0;border-top:1px solid var(--craft-line);color:var(--craft-muted);font-size:16px;line-height:1.7}.startup-status{margin:0}.startup-notice .paper-button{min-height:44px}.startup-notice noscript p{margin:0}
.paper-button,.paper-link,.half-tabs button,.tool-tabs button{min-height:44px;border:1px solid var(--craft-line);background:transparent;color:var(--craft-ink);font-size:16px;padding:12px 20px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;line-height:1.5}
.paper-button.primary{background:var(--craft-ink);color:#F1E7D4;border-color:var(--craft-ink)}
.paper-button:hover,.paper-link:hover{border-color:var(--craft-ink)}.paper-link{border:0;padding:8px 0;background:transparent}
.paper-button small{font-size:13px;font-weight:400;opacity:.75}.paper-button:focus-visible,.paper-link:focus-visible,.half-tabs button:focus-visible,.tool-tabs button:focus-visible{outline:2px solid #9D633B;outline-offset:4px}
.craft-home{max-width:1360px;margin:auto;padding:28px 52px 30px}
.craft-home-header,.craft-home-footer{display:flex;align-items:center;justify-content:space-between;gap:20px}
.craft-home-header{border-bottom:1px solid var(--craft-line);padding-bottom:20px}
.craft-home-intro{display:grid;grid-template-columns:1fr 1.12fr;gap:64px;align-items:center;margin:45px 0}
.craft-home-intro h1,.opening-copy h1{font:normal clamp(38px,4.5vw,64px)/1.35 var(--display);letter-spacing:.06em;margin:0 0 25px}
.craft-home-intro p:not(.paper-kicker){font-size:19px;line-height:1.9;color:var(--craft-muted)}
.home-timing{font-size:14px;color:#916E4B;line-height:1.6}
.craft-home-photo{position:relative}.craft-home-photo img{width:100%;height:310px;object-fit:cover;object-position:center 48%;display:block}.craft-home-photo span{position:absolute;bottom:15px;left:20px;right:15px;color:#F1E7D4;font-size:14px;text-shadow:0 1px 8px #000}
.craft-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;border-top:1px solid var(--craft-line);padding-top:26px}
.craft-role{display:grid;grid-template-columns:125px 1fr;gap:24px;position:relative;min-width:0}.craft-role img{width:100%;max-height:230px;object-fit:contain;object-position:bottom}.craft-role .paper-kicker{margin-bottom:5px}.craft-role h2{font:32px/1.3 var(--display);margin:6px 0 10px}.craft-role p:not(.paper-kicker){font-size:16px;line-height:1.7;color:var(--craft-muted);margin:0 0 16px}.craft-role .paper-link{display:block;text-align:left}
.craft-home-footer{border-top:1px solid var(--craft-line);padding-top:20px;margin-top:30px;color:var(--craft-muted);font-size:14px}.craft-home-footer small{max-width:360px;line-height:1.6;font-size:12px}
.archive-intro{margin-top:32px}.archive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px}.archive-item{border-bottom:1px solid var(--craft-line);padding:20px 0}.archive-item svg{display:block;width:100%;max-height:200px;margin:15px auto}.archive-item h2{font:30px/1.5 var(--display)}.archive-item p{font-size:16px;line-height:1.7}
.side-drawer:not(.open){visibility:hidden;box-shadow:none}.home-links{display:flex;gap:24px}
.app-shell[data-ui=story] .dialogue-panel .choice-meta,.app-shell[data-ui=story] .dialogue-panel .clue-meta,.app-shell[data-ui=story] .dialogue-panel .choice-cost,.app-shell[data-ui=story] .dialogue-panel .dialogue-text p{font-size:16px!important;line-height:1.6}
.app-shell[data-ui=story] .dialogue-panel .explore-option-grid{overflow-x:visible!important}
.app-shell[data-ui=story] .dialogue-panel .explore-section-title::after{content:none!important}
.desk-story>.paper-kicker{font-size:16px}
.app-shell[data-ui=story] .dialogue-panel .dialogue-text{font-size:16px!important}

.opening-workshop{max-width:1340px;padding:32px 56px;margin:auto;min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-content:center;align-items:center}.opening-workshop>.paper-link{grid-column:1/-1;justify-self:start;align-self:start}.opening-copy>p:not(.paper-kicker){font-size:18px;line-height:1.95;color:var(--craft-muted);max-width:480px}.opening-copy .opening-invitation{color:var(--craft-ink)!important}.opening-copy>small{font-size:14px;display:block;margin-top:20px;color:var(--craft-muted);line-height:1.6}.opening-copy .primary{width:100%;justify-content:space-between;max-width:430px}.opening-copy .primary span{font-size:14px;opacity:.8}
.opening-object{position:relative;display:flex;flex-direction:column;align-items:center;min-height:480px;justify-content:center}.opening-object>svg{width:100%;max-height:350px;filter:drop-shadow(2px 12px 8px #3F321C27);transform:rotate(-4deg)}.old-notebook{background:#D4C39F;box-shadow:0 6px 20px #5B492631;width:60%;min-width:210px;padding:24px 30px;margin-top:-10px;transform:rotate(5deg);border-left:10px solid #516B67;border-right:2px solid #9C8A6B;color:#334849;position:relative}.old-notebook span{font-size:13px;display:block}.old-notebook strong{font:30px/1.6 var(--display);display:block}.old-notebook small{font-size:13px}.old-notebook i{display:block;position:absolute;right:26px;top:-15px;width:7px;height:90px;background:#996746;transform:rotate(11deg)}
.opening-swatches,.color-palette{display:flex;justify-content:space-between;gap:12px;margin:24px 0}.opening-swatches{max-width:430px}.color-swatch{min-width:60px;min-height:78px;padding:9px 7px;border:1px solid transparent;border-radius:36px;background:transparent;color:var(--craft-ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:9px}.color-swatch span{width:36px;height:36px;border-radius:50%;display:block;background:var(--paint)}.color-swatch small{font-size:14px}.color-swatch.selected{border-color:var(--craft-ink)}
.app-shell[data-ui=desk] .completion-screen{background:var(--craft-paper);color:var(--craft-ink);padding:0}
.craft-desk{max-width:1500px;margin:auto}.desk-header{padding:26px 48px;border-bottom:1px solid var(--craft-line);display:flex;gap:20px;align-items:center;justify-content:space-between}.desk-header>span:nth-child(2){font-size:14px;color:var(--craft-muted);margin-right:auto}.desk-header .paper-link{border:1px solid var(--craft-line);border-radius:30px;padding:12px 20px}
.desk-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:58px 48px 45px}.desk-story,.desk-editor{min-width:0}.story-result{width:100%;height:360px;object-fit:cover;border-radius:2px;margin-bottom:26px}.desk-story h1{font:48px/1.35 var(--display);letter-spacing:.07em;margin:18px 0 26px}.desk-story>p:not(.paper-kicker){color:var(--craft-muted);font-size:18px;line-height:1.8}.desk-story blockquote{border-left:3px solid #BD8E56;padding:10px 0 10px 23px;margin:32px 0;font-size:18px;line-height:1.9}.story-details,.making-details{border-top:1px solid var(--craft-line);padding-top:20px;line-height:1.9;font-size:16px}.story-details summary,.making-details summary{cursor:pointer;min-height:44px}.story-details ul{padding-left:24px;line-height:1.8}.desk-replay{margin-top:16px}.editor-heading h2{font:44px/1.55 var(--display);letter-spacing:.06em;margin:12px 0 20px}.editor-heading>p:not(.paper-kicker){font-size:18px;line-height:1.9;color:var(--craft-muted)}.craft-stage{touch-action:none;width:100%;margin:10px auto 0;max-width:640px;user-select:none}.craft-stage svg{display:block;width:100%;height:auto;filter:drop-shadow(1px 12px 8px #5B442329)}.craft-stage [data-stamp]{cursor:grab}.craft-stage [data-stamp]:active{cursor:grabbing}.craft-stage [data-stamp]:focus-visible{outline:none}.craft-stage [data-stamp]:focus-visible rect{stroke:#EFE3C7;stroke-width:.45}.craft-stage:not(.is-joined) [data-half]{cursor:grab}.craft-stage.can-place{cursor:crosshair}.craft-caption{font-size:14px;line-height:1.8;color:#906C47;text-align:center;margin:10px 0 20px}
.half-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.half-tabs button{border:0;border-bottom:1px solid var(--craft-line);font-size:18px}.half-tabs button[aria-pressed=true]{border-color:var(--craft-ink)}.tool-tabs{display:flex;gap:10px;margin:15px 0}.tool-tabs button{flex:1;padding:8px}.tool-tabs button[aria-pressed=true]{background:#DCD0B1;border-color:#A68A64}.color-palette{justify-content:space-around;margin:20px 0}.stamp-palette{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stamp-button{display:flex;flex-direction:column;align-items:center;gap:8px;border:1px solid var(--craft-line);background:transparent;color:var(--craft-ink);font-size:16px;padding:12px 6px;cursor:pointer;min-height:90px}.stamp-button svg{width:34px;height:34px}.stamp-button.selected{border-color:var(--craft-ink);background:#DFD3B6}.stamp-source{min-height:50px;color:var(--craft-muted);font-size:16px;line-height:1.7;margin:12px 0}.place-button{width:100%;justify-content:space-between}.stamp-controls{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;align-items:center}.stamp-controls span{width:100%;font-size:14px;color:var(--craft-muted)}.stamp-controls button{min-height:44px;min-width:44px;padding:8px 15px;border:1px solid var(--craft-line);background:transparent;color:var(--craft-ink);cursor:pointer}.rotation-label{display:flex;align-items:center;gap:20px;margin-top:12px;line-height:1.5;font-size:14px}.rotation-label input{flex:1;min-width:0;min-height:44px;accent-color:var(--craft-ink)}.editor-utility{display:flex;justify-content:space-between;align-items:center;gap:15px;color:var(--craft-muted);font-size:13px;margin-top:15px}.join-copy{font-size:16px;line-height:1.8;min-height:100px}.join-copy .paper-button{width:100%}.craft-exports{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid var(--craft-line);padding-top:26px;margin-top:10px}.craft-exports .primary{grid-column:1/-1;display:flex;flex-direction:column;gap:0;font-size:18px}.craft-exports button:last-child{grid-column:1/-1}.making-details{margin-top:26px}.making-details .paper-button{width:100%}.craft-live{font-size:14px;color:#89663F;min-height:24px;line-height:1.6}.desk-footer{padding:20px 48px 35px;border-top:1px solid var(--craft-line);font-size:14px;color:var(--craft-muted)}.readonly-note{padding:15px;text-align:center;color:var(--craft-muted)}
.paper-moment{grid-column:1/-1;background:#D8CCAD;color:#27414A;padding:14px;margin-bottom:12px;font-size:16px;line-height:1.6}.paper-moment p{margin:0 0 10px}.paper-mark-options{display:flex;gap:10px}.paper-mark{min-height:44px;flex:1;display:flex;gap:8px;align-items:center;justify-content:center;font-size:16px;background:transparent;border:1px solid #9F9378;color:#27414A;cursor:pointer}.paper-mark svg{width:28px;height:28px}.paper-mark[aria-pressed=true]{background:#B7C0AD;border-color:#4F6F6D}.notebook-marks{display:block;width:100%;height:74px;color:#27414A}.paper-join{background:transparent;color:#27414A;border:1px solid #9F9378;font-size:16px;padding:8px;min-height:44px;width:100%;cursor:pointer}.journal-paper{background:#D8CCAD;color:#27414A;padding:14px;font-size:16px;margin-bottom:18px}.journal-paper p{margin:0}.journal-paper small{font-size:14px}.observation-notes{margin:0 0 10px;padding:0;list-style:none;font-size:16px;line-height:1.65}.observation-notes li{border-bottom:1px solid #78878055;padding:12px 0}.observation-notes span{display:inline-block;font-size:13px;margin-right:10px;padding:2px 5px;color:#91ADB4}.observation-notes .unknown{color:#A8AC9C}.observation-foot{font-size:14px;color:#9EB2B6;line-height:1.6}.observation-mode{display:block!important;overflow:auto!important}.observation-mode .continue-button{display:block;width:100%;margin-bottom:8px;min-height:48px;font-size:16px}
.dialogue-text,.dialogue-panel.explore-mode .dialogue-text,.dialogue-panel.task-mode .dialogue-text,.dialogue-panel.night-mode .dialogue-text{font-size:16px;line-height:1.7}.choice-meta,.clue-meta,.dialogue-panel.night-mode .choice-meta,.choice-note,.state-reason{font-size:16px;line-height:1.5}.choice-name,.clue-name,.dialogue-panel.night-mode .choice-name{font-size:17px}.topbar-button{font-size:14px;min-height:44px}.scene-label{font-size:14px}.continue-button{min-height:48px;font-size:16px}.dialogue-panel.night-mode .night-plan-actions .continue-button{font-size:16px;min-height:48px}.legacy-card p,.sound-card p,.privacy-card p,.drawer-scroll p,.journal-entry p{font-size:16px;line-height:1.75}.drawer-close{min-width:44px;min-height:44px}


input,textarea,select{font-family:var(--body);font-size:16px}

.craft-image-preview{padding:30px;color:var(--chalk)}.craft-image-preview h2{font-size:30px;margin:0 0 12px}.craft-image-preview p{font-size:16px;line-height:1.7}.craft-image-preview img{display:block;width:100%;height:auto;margin:16px 0}.craft-image-preview a{display:flex;align-items:center;justify-content:center;text-decoration:none;min-height:48px}.share-link{display:block;width:100%;min-height:90px;margin-bottom:18px;padding:12px;font:16px/1.7 var(--body);overflow-wrap:anywhere}

.plan-caption,.plan-axis,.plan-risk,.plan-unknown,.weather-note,.status-reason,.archive-card p,.sound-settings p,.guide-card p{font-size:16px;line-height:1.65}
