@charset "UTF-8";
.mobile-dock,.mobile-manage{display:none}.landscape-picture{display:block;width:100%;height:100%}#drawing-canvas{max-width:min(100%,52svh);margin-inline:auto}
:root{--paper:#fbf8f0;--ink:#4c5744;--muted:#777b6e;--rose:#a7526c;--pink:#f3dce1;--line:#d8d9c6;--hand:"KaiTi","STKaiti","楷体","Kaiti SC",serif;--body:"Microsoft YaHei","PingFang SC",sans-serif;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 var(--body)}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a7526c;outline-offset:5px}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}button{touch-action:manipulation}.header{max-width:1440px;margin:auto;padding:25px 48px 15px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand svg{width:43px;fill:#f4e2dc;stroke:#8b6570;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.brand span{font:23px/1.25 var(--hand);font-weight:bold}.brand small{display:block;font:11px/1.8 var(--body);letter-spacing:2px;color:var(--muted);margin-top:4px}.header nav{display:flex;gap:22px;font-size:13px}.header nav button{padding:10px 0;border-bottom:1px solid transparent}.header nav button:hover{border-color:var(--rose)}.world{max-width:1440px;margin:0 auto}.intro{text-align:center;position:relative;z-index:1;padding:24px 16px 2px}.intro>p:first-of-type{font:18px var(--hand);color:#99816c;letter-spacing:3px}.intro h1{font:clamp(30px,3.6vw,52px)/1.45 var(--hand);letter-spacing:3px;margin:10px 0}.intro-sub{font-size:13px;color:var(--muted);line-height:1.9;letter-spacing:1px}.mobile-break{display:none}.doodle{position:absolute;color:#cfab65;font-size:36px;top:45px;left:21%;transform:rotate(-10deg)}.doodle.second{left:auto;right:20%;top:80px;font-size:26px}.scene{position:relative;isolation:isolate;max-width:1320px;margin:-5px auto 0;aspect-ratio:1.5}.landscape{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.girl{position:absolute;bottom:12%;left:40%;width:20%;height:48%;padding:0;transform-origin:50% 100%;filter:drop-shadow(0 7px 3px #4c574418)}.girl img{display:block;width:100%;height:100%;object-fit:contain}.girl-caption{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%) rotate(-4deg);background:#fbf8f0eb;border:1px solid #dad3bd;padding:2px 14px;white-space:nowrap;font:15px/1.6 var(--hand);border-radius:40% 50% 45% 40%}.scene-tag{position:absolute;background:#fff9e9ed;box-shadow:2px 3px 0 #8b776a35;border:1px solid #a59275;border-radius:4px 8px 5px 9px;padding:9px 19px;transform:rotate(-4deg);z-index:2}.scene-tag span{display:block;font:21px/1.35 var(--hand);font-weight:bold}.scene-tag small{font-size:10px;letter-spacing:1px;color:#8d7d68}.scene-tag:hover{background:#fff9e9}.easel{left:5.8%;top:57%}.music{right:4%;top:63%;transform:rotate(4deg)}.cat-hotspot{position:absolute;left:63%;top:73%;width:11%;height:17%;z-index:2}.cat-hotspot span{position:absolute;bottom:-13px;left:50%;transform:translateX(-50%) rotate(4deg);white-space:nowrap;font:15px var(--hand);background:#fff9e9ec;border-radius:14px;padding:4px 12px}.speech{position:absolute;left:48%;top:36%;transform:translateX(-50%);border:1px solid #cba5ab;background:#fffbf4f5;border-radius:18px 18px 18px 2px;padding:10px 18px;box-shadow:0 5px 15px #59432d13;font:18px/1.6 var(--hand);opacity:0;pointer-events:none;max-width:280px;text-align:center;z-index:4}.speech.visible{opacity:1}.treasure{position:absolute;font:30px/1 Georgia,serif;color:#975b70;background:#fff1dbce;border:1px dashed #b18c70;border-radius:50%;width:37px;height:37px;z-index:3}.treasure-one{left:18%;top:24%;transform:rotate(-15deg)}.treasure-two{left:17%;top:80%;transform:rotate(12deg)}.treasure-three{right:7%;top:40%;transform:rotate(20deg)}.treasure.found{background:#e1ebce;color:#4f6f43;border-color:#7d9265}.world-bottom{margin:-4px 5% 0;display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative}.little-note{font:16px var(--hand);color:#8c8c77;transform:rotate(-3deg)}.right-note{transform:rotate(2deg)}#hunt{font-size:12px;border-bottom:1px dashed #b1b9a1;padding:6px 0}#hunt-count{margin-left:8px;color:var(--rose)}.invitation{max-width:1130px;margin:40px auto 22px;padding:28px 35px;border-top:1px dashed #c7cbb8;border-bottom:1px dashed #c7cbb8;display:flex;align-items:center;gap:25px}.pencil-mark{font:62px var(--hand);color:#b27883;transform:rotate(-13deg)}.invitation h2{font:27px/1.6 var(--hand)}.invitation p{font-size:12px;color:var(--muted);margin-top:4px}.invitation>.pink-button{margin-left:auto;white-space:nowrap}.pink-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--pink);color:#87475d;border:1px solid #d6b5bd;border-radius:7px 10px 8px 11px;padding:10px 18px;font-size:13px;min-height:43px}.pink-button:hover{background:#efd0d9}.pink-button span{font-size:20px}footer{display:flex;justify-content:space-between;align-items:center;max-width:1230px;padding:12px 24px 30px;margin:auto;color:#8a8c7e;font-size:11px}footer button{font-size:11px;padding:10px}.paper-dialog{width:min(1080px,88vw);max-height:86svh;padding:0;border:1px solid #ece9de;border-radius:25px;background:linear-gradient(145deg,#fffcf5f7,#fbf9f0f2);color:var(--ink);box-shadow:0 20px 80px #2b352737;overflow:hidden}.paper-dialog::backdrop{background:#3e493d52}.dialog-head{padding:25px 32px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dadfcb;gap:16px}.dialog-head h2{font:32px/1.4 var(--hand)}.handwritten{font:16px/1.6 var(--hand);color:#a17680}.dialog-head .handwritten{margin-bottom:3px}.close{font:32px/1 var(--body);min-width:44px;height:44px;border-radius:50%;background:#e8e9de}.close:hover{background:#dddccd}.dialog-scroll{max-height:calc(86svh - 125px);overflow:auto;padding:25px 32px 35px;overscroll-behavior:contain}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.filters{display:flex;gap:8px}.filters button{padding:6px 17px;border-radius:20px;font-size:13px}.filters .selected{background:#e2e8d6;color:#4a6541}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 25px}.work-item{background:#fffdfa;padding:10px 10px 16px;box-shadow:0 3px 9px #5c4c3514;border:1px solid #e5e0d2;text-align:left;transform:rotate(-1deg)}.work-item:nth-child(even){transform:rotate(1deg)}.work-item img{aspect-ratio:1/1;width:100%;object-fit:cover;background:#f0eee7}.work-item h3{font:20px/1.5 var(--hand);margin:10px 5px 2px;overflow-wrap:anywhere}.work-item small{font-size:11px;color:var(--muted);margin:0 5px}.empty-gallery{text-align:center;padding:28px 10px 55px}.empty-gallery>span{font:90px var(--hand);color:#c896a0}.empty-gallery h3{font:27px/1.6 var(--hand)}.empty-gallery p{font-size:13px;color:var(--muted);margin-top:12px;line-height:2}.editor{background:#f7f0e8;border:1px solid #ded6c7;border-radius:12px;padding:24px;margin-bottom:25px}.editor h3{font:25px var(--hand);margin-bottom:10px}.editor p{font-size:13px;color:var(--muted)}label{display:block;font-size:13px;margin:14px 0 7px}input:not([type=file]),textarea,select{width:100%;border:1px solid #c9c8b7;border-radius:6px;background:#fffdf8;padding:10px 12px;color:var(--ink);font-size:16px}.login-row{display:flex;gap:10px;align-items:center}.login-row input{min-width:0;max-width:360px}.login-row button{white-space:nowrap}.form-message{margin-top:12px!important;color:#a1495b!important;min-height:1.5em}.text-button{font-size:13px;color:#8d5f70;text-decoration:underline;text-underline-offset:4px;padding:10px 0}.file-picker{display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;min-height:110px;border:1px dashed #b8bba1;border-radius:9px;background:#fffaf0;overflow:hidden;cursor:pointer}.file-picker span{font-size:17px}.file-picker small{font-size:11px;color:var(--muted);margin-top:6px}.file-picker input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.file-picker:focus-within{outline:3px solid var(--rose);outline-offset:3px}#upload-preview{max-height:220px;max-width:100%;display:block;margin:15px auto;border-radius:5px}.form-columns{display:grid;grid-template-columns:2fr 1fr;gap:16px}.form-actions{display:flex;gap:20px;margin-top:16px}.upload-note{margin-top:10px}.detail-dialog{width:min(900px,88vw)}#detail-image{display:block;max-width:100%;max-height:58svh;object-fit:contain;margin:auto}#detail-description{margin:20px 0 5px;white-space:pre-wrap;overflow-wrap:anywhere}#detail-title{overflow-wrap:anywhere}#delete-work{margin-top:15px}.danger{color:#a43e55}.music-dialog{width:min(760px,88vw)}.music-dialog .dialog-scroll>p{text-align:center;color:var(--muted);font-size:13px}.zither{display:flex;flex-direction:column;background:#996f52;border:10px solid #bc9871;border-radius:50% 8% 15% 35% / 15% 20% 10% 15%;padding:28px 30px 28px 20px;margin:25px 0;box-shadow:inset 0 0 0 2px #72533c;transform:rotate(-2deg)}.zither button{position:relative;height:47px;display:flex;align-items:center;gap:20px;color:#fff1d6;padding:0 10px}.zither i{display:block;height:1px;flex:1;background:#f5e7bd;box-shadow:0 2px 0 #5a402c}.zither i:before{content:"";display:block;width:15px;height:13px;background:#694d37;clip-path:polygon(50% 0,100% 100%,0 100%);margin-left:30%;transform:translateY(-11px)}.zither span{font:18px var(--hand);width:35px;flex-shrink:0}.zither small{margin-left:7px;font-size:12px}.music-note{min-height:42px}.toast{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);background:#fdf8ed;border:1px solid #aeb59e;padding:13px 23px;border-radius:10px;box-shadow:0 7px 25px #46503820;max-width:calc(100vw - 30px);width:max-content;z-index:10;opacity:0;pointer-events:none;font-size:13px}.toast.visible{opacity:1}body.modal-open{overflow:hidden}body.motion-paused *{animation:none!important;transition:none!important}
@media(min-width:1450px){.intro{padding-top:35px}.scene{margin-top:-20px;max-width:1300px}}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.play-shelf{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 26px;margin:25px 20px 0}.play-shelf>button{min-height:44px;padding:7px 14px;border:1px dashed #c3b6a1;border-radius:7px 12px 6px 10px;font-size:13px;background:#fbf1e6}.play-shelf>button span{font:24px/1 var(--hand);vertical-align:middle;color:#ac7286;margin-right:4px}.play-shelf>button:hover{background:#f6e6dc}.scene-effects{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}.forest-butterfly{position:absolute;width:34px;height:30px;color:#be89a2}.forest-butterfly svg{width:100%;height:100%}.cat-heart{position:absolute;font:28px/1 var(--hand);color:#b96580}.drawing-dialog{width:min(1000px,88vw)}.drawing-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin-bottom:16px}.pencil-colors{display:flex;gap:5px;align-items:center}.pencil-colors button{width:36px;height:42px;position:relative;border-radius:6px;border:2px solid transparent;background:#f1ede2}.pencil-colors button:before{content:"";position:absolute;inset:7px 9px;background:var(--pencil);clip-path:polygon(0 20%,50% 0,100% 20%,100% 100%,0 100%);transform:rotate(12deg)}.pencil-colors button.chosen{border-color:var(--pencil);background:white}.brush-width{display:flex;align-items:center;gap:7px;margin:0}.brush-width select{width:auto;padding:7px;font-size:13px}.drawing-tools .text-button{white-space:nowrap}.drawing-tools #eraser[aria-pressed=true]{background:#f0dce3;padding:6px 12px;border-radius:6px}#drawing-canvas{width:100%;height:auto;display:block;background:#fffdf7;border:1px solid #ddd4bd;border-radius:5px;touch-action:none;cursor:crosshair;box-shadow:0 3px 12px #5e553312}.drawing-note{font-size:12px;color:var(--muted);line-height:1.8;margin-top:12px}.drawing-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 23px;margin-top:17px}.melody-controls{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px 20px;margin:14px 0 0}.melody-controls button{font-size:12px}#record-melody[aria-pressed=true]{background:#ebbdc9}#melody-status{text-align:center}.drawing-tools button:disabled{opacity:.45;cursor:default}

