:root{
  --paper:#fffaf0;--cream:#f5ead5;--cream2:#ead8b8;--ink:#4c382a;--muted:#856f5d;
  --green:#6f8d68;--green2:#a9c191;--orange:#d9824f;--yellow:#edc66d;--pink:#e6a19a;
  --line:rgba(91,64,45,.15);--shadow:0 18px 55px rgba(76,53,36,.14);--radius:24px;
  --text-scale:1;
}
*{box-sizing:border-box}html{font-size:calc(16px * var(--text-scale));scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;background:
radial-gradient(circle at 12% 9%,rgba(255,234,174,.7),transparent 29%),
radial-gradient(circle at 90% 20%,rgba(183,215,175,.55),transparent 25%),
linear-gradient(160deg,#fbf3df,#efe0c5);}
button,input,select,textarea{font:inherit}button{touch-action:manipulation}.hidden{display:none!important}.skip-link{position:fixed;left:12px;top:-80px;z-index:12000;background:#fff;padding:10px 14px;border-radius:10px;color:#35261c}.skip-link:focus{top:12px}.shell{width:min(1440px,100%);margin:auto;padding:18px}.warm-particles{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:-1}.particle{position:absolute;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.6);animation:float 12s linear infinite}@keyframes float{from{transform:translateY(105vh) scale(.7)}to{transform:translateY(-20vh) scale(1.2)}}
.cover-card{position:relative;min-height:calc(100vh - 36px);display:grid;align-items:center;border-radius:32px;overflow:hidden;background:url("start_cover.png") center/cover no-repeat;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.75)}.cover-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,250,240,.96) 0%,rgba(255,250,240,.88) 33%,rgba(255,250,240,.18) 67%,rgba(255,250,240,.04) 100%)}.start-menu-panel{position:relative;width:min(560px,90%);margin-left:clamp(20px,6vw,86px);padding:34px;border-radius:28px;background:rgba(255,253,247,.89);backdrop-filter:blur(10px);box-shadow:0 18px 50px rgba(74,47,30,.17);border:1px solid rgba(255,255,255,.75)}.eyebrow{margin:0 0 8px;color:#8a6b50;font-size:.82rem;font-weight:900;letter-spacing:.1em}.start-menu-panel h1{margin:0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.08;color:#587554;text-shadow:0 3px 0 rgba(238,204,111,.34)}.cover-copy{line-height:1.9;color:#6d5949;margin:18px 0}.start-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.start-actions button,.top-actions button,.cat-actions button,.choice-button,.task-button,.text-button{border:0;border-radius:14px;min-height:44px;padding:10px 15px;font-weight:900;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.start-actions button:hover,.top-actions button:hover,.cat-actions button:hover,.choice-button:hover,.task-button:hover,.text-button:hover{transform:translateY(-2px);filter:saturate(1.06)}.primary{background:linear-gradient(135deg,#688a63,#91aa7d);color:#fff;box-shadow:0 10px 25px rgba(89,119,84,.25)}.ghost{background:#fffaf1;color:#684b38;border:1px solid var(--line)!important}.danger-soft{background:#fff0eb!important;color:#a65448!important}.notice{font-size:.8rem;color:#8b7563;line-height:1.7;margin:14px 0 0}
.topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:18px 22px;background:rgba(255,250,240,.88);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.78);border-radius:22px;box-shadow:var(--shadow);position:sticky;top:10px;z-index:40}.title-group h2{margin:0;font-size:1.55rem}.save-status{margin:4px 0 0;color:#81906f;font-size:.78rem}.top-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;align-items:center}.small{min-height:38px!important;padding:8px 12px!important;background:#fffaf1;color:#654a39;border:1px solid var(--line)!important}.badge{padding:8px 12px;border-radius:999px;background:#e8f0df;color:#486347;font-weight:900;font-size:.85rem}.hint-button{background:#edf4e7!important;color:#4d704b!important}.focus-bar{margin:14px 0;padding:15px 20px;display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;border-radius:18px;background:linear-gradient(90deg,#6f8e68,#8eaa79);color:#fff;box-shadow:0 12px 30px rgba(79,105,73,.2)}.focus-bar span{font-size:.78rem;font-weight:900;opacity:.84;letter-spacing:.08em}.step-dots{display:flex;gap:5px}.step-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35)}.step-dots i.done{background:#fff}.chapter-roadmap{display:flex;gap:7px;overflow-x:auto;padding:3px 2px 13px;scrollbar-width:thin}.chapter-chip{flex:0 0 auto;border:1px solid var(--line);background:rgba(255,250,240,.76);color:#7d6755;border-radius:999px;padding:8px 11px;font-size:.78rem;cursor:pointer}.chapter-chip.current{background:#f0c976;color:#533c2a;font-weight:900}.chapter-chip.done{background:#dfead6;color:#496348}.chapter-chip:disabled{opacity:.48;cursor:not-allowed}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.scene-card,.cat-card,.side-box{background:rgba(255,250,240,.92);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow);border-radius:var(--radius)}.scene-card{overflow:hidden}.scene-stage{position:relative;min-height:280px;background:url("cover.png") center/cover no-repeat;border-bottom:1px solid var(--line);overflow:hidden}.scene-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(72,48,32,.28),transparent 55%);pointer-events:none}.scene-caption{position:absolute;z-index:2;left:18px;bottom:16px;max-width:70%;padding:10px 14px;border-radius:14px;background:rgba(255,250,240,.88);backdrop-filter:blur(6px);line-height:1.65;color:#5e493a;box-shadow:0 8px 24px rgba(55,37,25,.13)}.scene-cat-mini{position:absolute;z-index:3;right:7%;bottom:-5px;width:150px;filter:drop-shadow(0 10px 12px rgba(43,31,23,.22));animation:catBreath 3s ease-in-out infinite;cursor:pointer}@keyframes catBreath{50%{transform:translateY(-5px) rotate(1deg)}}.main-panel{padding:24px;min-height:390px;outline:none}.chapter-intro{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start}.chapter-intro h3{margin:0 0 10px;font-size:1.35rem}.chapter-intro p{margin:0;line-height:1.9;color:#6d5949}.task-card{margin-top:18px;padding:19px;border-radius:20px;background:#fffdf7;border:1px dashed rgba(127,92,64,.28)}.task-title{display:flex;align-items:center;gap:9px;margin:0 0 12px;font-size:1.05rem}.task-title b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e9f0df;color:#4f6c4b}.task-help{margin:8px 0 0;color:#8d7461;font-size:.84rem;line-height:1.7}.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.choice-button{position:relative;text-align:left;background:#fff7e9;color:#624a38;border:1px solid var(--line);min-height:72px}.choice-button strong{display:block;margin-bottom:4px}.choice-button small{display:block;color:#8d7562;line-height:1.5;font-weight:600}.choice-button.selected{outline:3px solid rgba(111,141,104,.35);background:#edf5e7}.choice-button.correct{background:#eaf5e4;color:#385638}.choice-button.wrong{animation:shake .3s ease;background:#fff0eb}@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.sequence-track{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.sequence-token{padding:8px 11px;border-radius:999px;background:#e6efdc;color:#4d6649;font-weight:900}.progress-note{padding:10px 12px;border-radius:12px;background:#f4ead6;color:#765d48;line-height:1.65}.task-button{background:linear-gradient(135deg,#d77f4b,#edae68);color:#fff;margin-top:12px}.task-button.secondary{background:#e6efdc;color:#4e684b}.task-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.note-input{width:100%;min-height:110px;padding:13px 15px;border-radius:14px;border:1px solid rgba(100,72,51,.2);background:#fffdf8;color:#4d392b;resize:vertical}.counter{text-align:right;color:#8b7563;font-size:.8rem}.control-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.control-grid label{display:grid;gap:7px;padding:12px;border-radius:14px;background:#fff7e8;font-weight:800}.control-grid select,.control-grid input{width:100%;padding:9px;border-radius:10px;border:1px solid var(--line);background:white}.ending-card{padding:14px;border-radius:16px;background:#fff6e5;border:1px solid var(--line);line-height:1.8}.ending-card h4{margin:0 0 6px}.free-shop{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.free-shop button{min-height:72px}
.side{display:grid;align-content:start;gap:14px}.cat-card{padding:18px;text-align:center}.side-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.side-heading h3{margin:0}.affection{font-size:.75rem;color:#7d6958}.cat-button{width:150px;height:150px;border:0;background:transparent;cursor:pointer;margin:6px auto;display:grid;place-items:center}.cat-button img{max-width:100%;max-height:100%;filter:drop-shadow(0 10px 10px rgba(62,42,29,.17));transition:transform .2s ease}.cat-button:hover img{transform:scale(1.04) rotate(-2deg)}.cat-name{font-weight:900}.cat-stage{font-size:.82rem;color:#806c5b;margin:4px 0 12px}.cat-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.cat-actions button{min-height:38px;background:#f4ead8;color:#674d39;font-size:.82rem}.side-box{padding:14px 16px}.side-box summary{cursor:pointer;font-weight:900;display:flex;justify-content:space-between}.meter{height:9px;border-radius:999px;background:#eadfc9;overflow:hidden;margin:13px 0}.meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,#7a9b71,#e0b55f);transition:width .35s ease}.mini-grid{display:grid;gap:7px;font-size:.84rem}.mini-grid div{display:flex;justify-content:space-between}.text-button{width:100%;margin-top:10px;background:#eef4e8;color:#4f6c4c;min-height:38px!important}.log{display:grid;gap:8px;max-height:260px;overflow:auto;margin-top:12px}.log p{margin:0;padding:9px 10px;border-left:3px solid #d8ac63;background:#fff8eb;border-radius:0 10px 10px 0;line-height:1.55;font-size:.82rem}.empty{color:#9a8675;font-size:.84rem}.inventory{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.inventory span{padding:7px 9px;border-radius:999px;background:#e7efdd;color:#4f674c;font-size:.78rem;font-weight:900}
.modal{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:18px;background:rgba(56,39,28,.56);backdrop-filter:blur(7px)}.modal-card{position:relative;width:min(760px,96vw);max-height:90vh;overflow:auto;background:#fffaf0;border-radius:26px;padding:28px;box-shadow:0 25px 90px rgba(49,32,22,.35)}.modal-close{position:absolute;right:13px;top:11px;width:38px;height:38px;border:0;border-radius:50%;background:#f2e6d3;color:#70533f;font-size:1.5rem;cursor:pointer}.modal-card h2{margin-top:0}.hint-levels{display:grid;gap:10px}.hint-level{padding:15px;border-radius:16px;border:1px solid var(--line);background:#fffdf8}.hint-level h3{margin:0 0 6px;font-size:1rem}.hint-level p{margin:0;line-height:1.75;color:#705b4a}.hint-level.spoiler{border-color:#e1a88f;background:#fff2ed}.free-label{display:inline-block;padding:5px 8px;border-radius:999px;background:#e6f1de;color:#426441;font-size:.72rem;font-weight:900}.settings-grid{display:grid;gap:13px}.setting-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:13px;border-radius:14px;background:#fff6e7}.setting-row label{font-weight:900}.setting-row small{display:block;color:#8b7462;margin-top:4px}.setting-row select,.setting-row button{padding:9px 11px;border-radius:11px;border:1px solid var(--line);background:white}.modal-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.modal-actions button{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#f0eadc;cursor:pointer;font-weight:900}.collection-tabs{display:flex;gap:8px;margin-bottom:14px}.collection-tabs button{padding:8px 12px;border:0;border-radius:999px;background:#eee3d2;cursor:pointer}.collection-tabs button.active{background:#78936f;color:#fff}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:10px}.collection-item{padding:11px;border-radius:15px;background:#fff8eb;border:1px solid var(--line);min-height:130px}.collection-item.locked{filter:grayscale(1);opacity:.55}.collection-item img{width:70px;height:70px;object-fit:contain;display:block;margin:auto}.collection-item strong{display:block;text-align:center;font-size:.85rem}.collection-item small{display:block;color:#8b7462;text-align:center;margin-top:4px;line-height:1.45}.toast-host{position:fixed;right:18px;bottom:18px;z-index:11000;display:grid;gap:8px}.toast{max-width:min(360px,calc(100vw - 36px));padding:12px 16px;border-radius:14px;background:rgba(66,49,37,.95);color:#fff9ee;box-shadow:0 10px 35px rgba(44,29,20,.28);animation:toastIn .25s ease}@keyframes toastIn{from{opacity:0;transform:translateY(10px)}}.meteor-layer{position:fixed;inset:0;pointer-events:none;z-index:5;overflow:hidden}.meteor{position:absolute;width:90px;height:2px;background:linear-gradient(90deg,transparent,#fff7b0);transform:rotate(-28deg);animation:meteor 1.8s linear forwards}@keyframes meteor{from{transform:translate(0,0) rotate(-28deg);opacity:1}to{transform:translate(-420px,260px) rotate(-28deg);opacity:0}}.paw-burst{position:fixed;z-index:1000;pointer-events:none;animation:pawFly .9s ease-out forwards}@keyframes pawFly{to{transform:translate(var(--x),var(--y)) rotate(30deg);opacity:0}}.reduce-motion *,.reduce-motion *::before,.reduce-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
@media(max-width:1080px){.layout{grid-template-columns:1fr}.side{grid-template-columns:repeat(3,1fr)}.cat-card{grid-row:span 2}.chapter-roadmap{padding-bottom:8px}}
@media(max-width:760px){.shell{padding:9px}.cover-card{min-height:calc(100vh - 18px);background-position:62% center}.cover-shade{background:rgba(255,250,240,.56)}.start-menu-panel{margin:auto;width:calc(100% - 24px);padding:24px}.start-actions{grid-template-columns:1fr}.topbar{position:static;display:grid;padding:15px}.top-actions{justify-content:flex-start}.top-actions .small{flex:1 1 130px}.focus-bar{grid-template-columns:1fr}.step-dots{justify-self:start}.scene-stage{min-height:220px}.main-panel{padding:17px}.side{grid-template-columns:1fr}.chapter-intro{grid-template-columns:1fr}.control-grid{grid-template-columns:1fr}.scene-caption{max-width:82%;font-size:.82rem}.scene-cat-mini{width:112px}.toast-host{left:12px;right:12px;bottom:12px}.toast{max-width:100%}}
@media(max-width:440px){.start-menu-panel h1{font-size:2rem}.top-actions .badge{width:100%;text-align:center}.choices{grid-template-columns:1fr}.modal-card{padding:24px 16px}.setting-row{align-items:flex-start;flex-direction:column}.collection-grid{grid-template-columns:repeat(2,1fr)}}
