:root{--sky:#bfe8ff;--sky2:#e7f7ff;--pink:#ffd1e3;--pink2:#fff0f7;--cream:#fff8df;--ink:#526070;--muted:#8293a7;--blue:#68aeda;--purple:#9d83c6;--danger:#cf567c;--ok:#5fa97d;--shadow:rgba(102,137,166,.27);--font:"Microsoft YaHei","PingFang SC",sans-serif;--hand:"KaiTi","STKaiti","Comic Sans MS",cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;min-height:100%}body{font-family:var(--font);color:var(--ink);background:radial-gradient(circle at 12% 12%,rgba(255,209,227,.65),transparent 26%),radial-gradient(circle at 88% 8%,rgba(255,248,223,.76),transparent 30%),linear-gradient(135deg,#d8f2ff,#fff0f7 48%,#fff7d4);overflow-x:hidden}body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.24) 1px,transparent 1px);background-size:28px 28px;opacity:.45}.hidden{display:none!important}button,input,textarea,select{font:inherit}button{cursor:pointer}.cursor-glow{position:fixed;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle,rgba(255,185,215,.85),transparent 68%);pointer-events:none;z-index:9999;transform:translate(-50%,-50%);mix-blend-mode:screen}.petal-layer{position:fixed;inset:0;pointer-events:none;z-index:3;overflow:hidden}.petal{position:absolute;top:-20px;width:12px;height:9px;border-radius:80% 10% 80% 10%;background:#ffb9d2;opacity:.66;animation:fall linear forwards}@keyframes fall{to{transform:translateY(110vh) rotate(420deg)}}
.restore-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;z-index:4}.restore-card{width:min(1080px,96vw);background:rgba(255,255,255,.8);border:4px solid #fff;border-radius:24px;box-shadow:0 24px 80px var(--shadow);overflow:hidden}.restore-titlebar{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;color:#fff;background:linear-gradient(90deg,#73bce5,#d995c1);font-weight:700}.restore-body{display:grid;grid-template-columns:1fr 320px;gap:20px;padding:26px}.eyebrow{margin:0 0 6px;color:#d780a4;font-weight:700}.restore-left h1{margin:0 0 12px;color:#5e8fb7;font-family:var(--hand);font-size:clamp(30px,5vw,54px)}.progress-shell{height:18px;border:2px solid #fff;background:rgba(173,216,240,.45);border-radius:999px;overflow:hidden;box-shadow:inset 0 0 8px rgba(90,150,190,.18)}.progress-fill{width:32%;height:100%;background:repeating-linear-gradient(45deg,#8bd2f6 0 10px,#ffbad3 10px 20px);transition:width .4s}.restore-log{margin:18px 0;padding:14px;background:rgba(255,248,223,.72);border:1px dashed #e2b5ca;border-radius:14px;font-size:14px}.field-label{display:block;margin:0 0 6px;font-weight:700}.free-note{font-size:13px;color:#6a8298;margin:10px 0 0}.metadata-card{background:rgba(255,248,223,.72);border:2px dashed #ffb9d2;border-radius:20px;padding:18px;position:relative}.metadata-card h2{margin-top:0;color:#8e84bc}.metadata-card dl{margin:0}.metadata-card dt{color:var(--muted);font-size:13px}.metadata-card dd{margin:2px 0 10px;font-weight:700}.metadata-card .important{color:#df6b8c}.meta-avatar{width:112px;display:block;margin:10px auto 0;transform:rotate(3deg)}
.password-row,.form-line{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.blog-input,.blog-textarea,select{border:2px solid #fff;background:rgba(255,255,255,.9);color:var(--ink);border-radius:12px;padding:10px 12px;outline:none;box-shadow:0 4px 12px rgba(118,166,196,.12)}.blog-input:focus,.blog-textarea:focus,select:focus{border-color:#ffabd0;box-shadow:0 0 0 4px rgba(255,171,208,.18)}.blog-input.small{width:190px;padding:8px 10px}.blog-textarea{width:min(700px,100%);min-height:116px;resize:vertical;line-height:1.75}.blog-btn,.mini-link,.friend-link,.doodle-btn,.photo-action{border:2px solid #fff;border-radius:12px;background:linear-gradient(180deg,#fff,#e7f7ff);color:#5b7d9b;padding:9px 13px;box-shadow:0 5px 14px rgba(90,150,190,.16);transition:transform .12s,box-shadow .12s,opacity .12s}.blog-btn:hover,.mini-link:hover,.friend-link:hover,.doodle-btn:hover,.photo-action:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(90,150,190,.22)}.blog-btn:focus-visible,.tab:focus-visible,.friend-link:focus-visible,.counter:focus-visible{outline:3px solid rgba(104,174,218,.35);outline-offset:2px}.blog-btn.primary{color:#fff;background:linear-gradient(180deg,#74c1eb,#d796c3)}.blog-btn.support{color:#a3557c;background:linear-gradient(180deg,#fff9fc,#ffe2ef)}.blog-btn.danger{color:#bd5575}.blog-btn.wide{width:100%;margin-top:10px}.blog-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.blog-screen{width:min(1240px,calc(100vw - 24px));margin:18px auto 28px;position:relative;z-index:4}.blog-header{display:flex;justify-content:space-between;gap:18px;align-items:center;background:rgba(255,255,255,.82);border:4px solid #fff;border-radius:22px 22px 14px 14px;padding:14px 18px;box-shadow:0 14px 40px var(--shadow)}.blog-banner{display:flex;align-items:center;gap:12px}.blog-banner img{width:72px}.blog-banner h1{font-family:var(--hand);font-size:38px;margin:0;color:#6a93b4}.blog-banner p{margin:2px 0 0;color:#8f7fa8}.header-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:flex-end}.search-wrap{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted)}.mission-card{margin:12px 0;padding:14px 18px;border:3px solid #fff;border-radius:18px;background:linear-gradient(90deg,rgba(231,247,255,.96),rgba(255,240,247,.96));box-shadow:0 10px 30px rgba(100,140,170,.16);display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,2fr) auto;gap:16px;align-items:center}.mission-card p{margin:0;line-height:1.6}.mission-kicker{display:block;font-size:12px;color:#d780a4;margin-bottom:4px}.blog-layout{display:grid;grid-template-columns:260px 1fr;gap:12px;background:rgba(255,255,255,.58);border:4px solid #fff;border-radius:18px;box-shadow:0 18px 56px var(--shadow)}.blog-sidebar{padding:14px;align-self:start}.widget{background:rgba(255,248,223,.67);border:2px dashed rgba(255,185,210,.78);border-radius:18px;padding:13px;margin-bottom:12px}.widget h3{margin:0 0 10px;color:#9d83c6;font-family:var(--hand);font-size:22px}.profile-widget img{width:96px;display:block;margin:0 auto 8px}.widget p{margin:8px 0;font-size:13px;line-height:1.55}.meter{height:13px;background:rgba(140,188,219,.24);border:2px solid #fff;border-radius:999px;overflow:hidden}.meter span{display:block;height:100%;width:0;background:linear-gradient(90deg,#78bf93,#73bce5,#ffb3cf);transition:width .25s}.calendar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.calendar-grid button{border:1px solid #fff;border-radius:8px;padding:6px 0;color:#6a7a8c;background:rgba(255,255,255,.76)}.calendar-grid button.selected{background:#ffbfd8;color:#fff}.calendar-grid button.fixed{background:#c6ead4}.player-screen{padding:10px;border-radius:12px;background:#f9f0ff;color:#8369ad;margin-bottom:8px;border:1px solid #fff}.friend-link,.mini-link{display:block;width:100%;margin-bottom:7px;text-align:left}.hidden-link{opacity:.32}.counter{border:3px inset #b9d8ed;background:#1d3550;color:#a8ffbd;font-family:Consolas,monospace;font-size:24px;letter-spacing:2px;border-radius:8px;padding:8px 10px;width:100%}
.blog-main{padding:14px;overflow:hidden}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tab{border:2px solid #fff;border-radius:999px;padding:9px 14px;background:rgba(255,255,255,.76);color:#7394ad}.tab.active{background:linear-gradient(90deg,#bfe8ff,#ffd1e3);color:#5c6386;font-weight:700}.tab.locked{opacity:.48}.tab.locked::after{content:" 🔒"}.tab-page{display:none}.tab-page.active{display:block}.blog-post,.puzzle-card,.message-board{position:relative;background:linear-gradient(90deg,rgba(255,255,255,.38),transparent 65%),rgba(255,255,255,.79);border:2px solid #fff;border-radius:18px;padding:18px;margin-bottom:14px;box-shadow:0 8px 24px rgba(125,163,190,.15)}.blog-post::before,.puzzle-card::before,.message-board::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background-image:linear-gradient(rgba(104,174,218,.06) 1px,transparent 1px);background-size:100% 30px}.blog-post>* ,.puzzle-card>* ,.message-board>*{position:relative}.post-date{color:#d780a4;font-family:Consolas,monospace;font-size:13px;margin-bottom:8px}.blog-post h2,.puzzle-card h2,.message-board h2{color:#688eae;margin:0 0 10px}.blog-post p,.puzzle-card p{line-height:1.75}.soft{color:#8b9bae}.damaged{border-style:dashed}.mars{font-family:var(--hand);color:#a66398;font-size:19px}.recovered-days{padding:12px;border-radius:14px;background:#fff8df}.puzzle-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.puzzle-head span{font-size:12px;color:#d780a4;font-weight:700}.message-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(210px,280px);gap:10px;align-items:center;padding:12px 0;border-bottom:1px dashed rgba(151,180,201,.45)}.message-row small{grid-column:1/-1;min-height:18px}.message-row.correct{background:rgba(198,234,212,.32)}.message-row.wrong{background:rgba(255,209,227,.25)}.message-row.muted{grid-template-columns:1fr;color:#8a9bae}.inline-feedback{min-height:22px;margin:8px 0 0!important;font-size:13px;color:#6f8295}.inline-feedback.error{color:var(--danger)}.inline-feedback.success{color:var(--ok)}
.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.photo-card{margin:0;background:rgba(255,255,255,.84);border:3px solid #fff;border-radius:16px;padding:10px;box-shadow:0 8px 22px rgba(120,160,190,.15)}.photo-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:#edf8ff}.photo-card figcaption{font-size:13px;line-height:1.5;margin:8px 0;color:#71859a}.photo-action{width:100%;font-size:13px}.locked-photo{filter:saturate(.5)}.timeline-list{display:grid;gap:8px;margin:14px 0}.timeline-item{display:grid;grid-template-columns:120px 1fr;text-align:left;gap:12px;border:2px solid #fff;border-radius:12px;padding:10px 12px;color:#60778f;background:rgba(255,255,255,.82)}.timeline-item.selected{background:#ffe1ed;border-color:#ffb4d0}.timeline-item.correct-position{box-shadow:inset 4px 0 #78bf93}.blog-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 16px;color:#8192a5;font-size:12px}.admin-entry{border:0;background:transparent;color:rgba(117,144,164,.38);font-size:11px}.admin-entry:hover{color:#d780a4}
.clue-panel{position:fixed;right:24px;top:90px;bottom:34px;width:min(380px,calc(100vw - 48px));background:rgba(255,255,255,.97);border:3px solid #fff;border-radius:20px;box-shadow:0 20px 70px var(--shadow);z-index:8000;transform:translateX(calc(100% + 48px));transition:transform .25s;display:flex;flex-direction:column}.clue-panel.open{transform:translateX(0)}.clue-head{display:flex;justify-content:space-between;padding:13px 15px;background:linear-gradient(90deg,#bfe8ff,#ffd1e3);font-weight:700;color:#697895;border-radius:17px 17px 0 0}.clue-head button{border:0;background:transparent;font-size:22px;color:#697895}.clue-list{overflow:auto;padding:12px}.clue-item{background:#fff8df;border:1px dashed #ffb9d2;border-radius:14px;padding:10px;margin-bottom:9px}.clue-title{color:#d780a4;font-weight:700;margin-bottom:4px}.clue-desc{font-size:13px;line-height:1.55;color:#697895}.dialog-overlay,.ending-overlay{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(95,126,158,.38);backdrop-filter:blur(4px)}.dialog-box,.ending-box{width:min(760px,100%);max-height:88vh;overflow:auto;border:4px solid #fff;border-radius:24px;background:rgba(255,255,255,.98);box-shadow:0 24px 80px var(--shadow)}.dialog-title,.ending-title{padding:15px 18px;background:linear-gradient(90deg,#bfe8ff,#ffd1e3);color:#657899;font-family:var(--hand);font-size:28px}.dialog-content,.ending-content{padding:18px;line-height:1.8}.dialog-actions,.ending-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:0 18px 18px}.hint-level{border:2px solid #fff;border-radius:14px;padding:12px;margin:10px 0;background:#f5fbff}.hint-level strong{color:#d780a4}.hint-level.locked{opacity:.6}.save-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.toast{position:fixed;left:50%;bottom:28px;z-index:9500;transform:translateX(-50%) translateY(18px);opacity:0;background:rgba(255,255,255,.97);border:3px solid #fff;border-radius:999px;padding:12px 18px;box-shadow:0 12px 38px var(--shadow);color:#657899;transition:opacity .2s,transform .2s;max-width:min(90vw,680px);text-align:center}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.toast.error{color:#c75479}.toast.success{color:#4f9a70}
@media (hover:none){.cursor-glow{display:none}}@media (max-width:980px){.restore-body,.blog-layout{grid-template-columns:1fr}.blog-header{align-items:flex-start;flex-direction:column}.header-tools{justify-content:flex-start}.mission-card{grid-template-columns:1fr}.blog-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.widget{margin:0}.album-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.restore-screen{padding:10px}.restore-body{padding:18px}.restore-titlebar{font-size:12px}.password-row,.form-line,.header-tools{align-items:stretch;flex-direction:column}.blog-input,.blog-btn,select{width:100%}.blog-screen{width:calc(100vw - 12px);margin:6px auto 18px}.blog-banner h1{font-size:30px}.blog-header{padding:12px}.header-tools{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.search-wrap{grid-column:1/-1}.search-wrap .blog-input.small{width:100%}.mission-card{margin:8px 0}.blog-sidebar{grid-template-columns:1fr}.blog-main{padding:10px}.tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tab{padding:9px 8px}.album-grid{grid-template-columns:1fr}.message-row{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr;gap:2px}.clue-panel{right:8px;top:8px;bottom:8px;width:calc(100vw - 16px)}.save-tools{grid-template-columns:1fr}.blog-footer{align-items:flex-start;flex-direction:column}.puzzle-head{flex-direction:column}.dialog-overlay,.ending-overlay{padding:8px}.toast{bottom:12px;border-radius:16px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.petal-layer,.cursor-glow{display:none!important}}
