﻿
:root{--ink:#454d3e;--muted:#959787;--green:#738b59;--paper:#faf7ef;--line:#e8e6d9}*{box-sizing:border-box}body{margin:0;background:#e9eadd;color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",sans-serif}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible{outline:3px solid #b68b50;outline-offset:3px}button:disabled{opacity:.45;cursor:default}.app{max-width:480px;margin:auto;background:var(--paper);min-height:100vh;padding:25px 24px 16px;box-shadow:0 0 70px #60634810}header{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center}.brand-mark{width:38px;height:40px;border:1.5px solid #879174;border-radius:12px 12px 15px 15px;display:grid;place-items:center;font-family:serif;font-size:22px}h1{font-family:serif;font-size:23px;letter-spacing:3px;margin:0 0 3px}.brand small{font-size:9px;letter-spacing:2.4px}.wallet{display:flex;align-items:center;gap:10px;background:#edf0e2;border:1px solid #e0e5d0;padding:7px 12px;border-radius:25px;font-size:14px}.catnip-symbol{font-size:25px;color:var(--green)}.wallet>span:last-child{color:#9ba883}.intro{margin:28px 0 20px;display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:8px;letter-spacing:2px;color:#9b9e8c}h2{font-family:serif;font-size:21px;font-weight:500;letter-spacing:1.5px;margin:9px 0 0}.round{border:1px solid #e1e2d6;width:30px;height:30px;border-radius:50%;background:transparent;color:#939985}.scene-wrap{position:relative;border-radius:90px 90px 18px 18px;overflow:hidden;background:#e2e9d5;border:1px solid #dce1cd}canvas{display:block;width:100%;height:auto}.scene-top{position:absolute;left:26px;right:26px;top:33px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:#657454}.scene-switch{position:absolute;right:15px;top:40%;background:#fff8eade;padding:10px 13px;border-radius:20px;font-size:11px;box-shadow:0 3px 12px #66724c12}.harvest{position:absolute;bottom:42px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fbf9eeef;border:1px solid #dadfc6;padding:10px 17px;border-radius:24px;box-shadow:0 4px 12px #68774c18;font-size:12px;color:#61784f}.harvest b{background:#7f935f;color:white;border-radius:12px;font-size:10px;padding:2px 6px;margin-left:4px}.scene-caption{position:absolute;bottom:16px;width:100%;text-align:center;font-size:10px;letter-spacing:1px;color:#7e886c}.status{display:flex;align-items:center;gap:12px;margin:18px 0 21px;padding:0 3px}.status-dot{width:7px;height:7px;background:#8b9b66;border-radius:50%;box-shadow:0 0 0 4px #eef0e3}.status strong{font-size:12px;font-weight:500}.status p{font-size:10px;color:#999a8d;margin:5px 0 0}.status-cat{margin-left:auto;font-size:31px;color:#a3ab8e}.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.actions button{display:flex;flex-direction:column;align-items:center;background:#f0f0e4;border:1px solid #e6e7d9;border-radius:14px;padding:17px 2px 14px;transition:transform .2s}.actions button:hover{transform:translateY(-3px);background:#e9eddd}.actions strong{font-size:12px;font-weight:500;margin:8px 0 5px}.actions small{font-size:9px;color:#999c89}.action-icon{width:38px;height:35px}.action-icon svg{width:100%;height:100%}.journal-head{display:flex;align-items:center;justify-content:space-between;margin-top:24px}.journal-head h3{font-size:13px;font-weight:500}.journal-head h3 span{font-size:8px;color:#aaa99a;letter-spacing:1px;margin-left:8px}.journal-head button{background:none;font-size:10px;color:#999b8b}.journal-entry{border-top:1px solid var(--line);padding-top:13px;font-size:11px;line-height:1.9;color:#818774}.journal-entry time{font-size:9px;color:#a6a794;margin-right:12px}footer{margin:26px 0 0;text-align:center;font-size:9px;color:#a4a797;letter-spacing:1px}footer span{display:block;font-size:7px;margin-top:9px;letter-spacing:2px}dialog{width:min(440px,calc(100% - 28px));max-height:85dvh;border:1px solid #dddcca;border-radius:23px;background:var(--paper);color:var(--ink);padding:22px;box-shadow:0 20px 90px #303c3540}dialog::backdrop{background:#37443465;backdrop-filter:blur(4px)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-head h2{margin:0;font-size:20px}.hint{font-size:12px;line-height:1.9;color:#959783}.item{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.item-info{flex:1}.item strong{font-size:13px}.item p{font-size:11px;color:#939782;margin:5px 0}.item button,.primary{background:#7d905f;color:white;padding:10px 14px;border-radius:12px;font-size:12px}.item .item-art{width:42px;height:42px;display:grid;place-items:center;background:#ebeddc;border-radius:12px;font-size:22px}.primary{width:100%;margin-top:18px;padding:14px}.tabs{display:flex;gap:8px;margin-bottom:10px}.tabs button{flex:1;padding:10px;background:#e9ecdc;border-radius:10px;font-size:12px}.tabs button.active{background:#819261;color:white}.field{display:block;margin:16px 0;font-size:12px}.field select,.field input{width:100%;padding:13px;margin-top:8px;border:1px solid #dddfcd;background:#fffdf5;border-radius:10px;color:var(--ink);font:inherit}.postcard{background:white;padding:10px;margin:14px 0;border-radius:5px;box-shadow:0 2px 10px #45523410;transform:rotate(-1deg)}.postcard:nth-child(even){transform:rotate(1deg)}.postcard canvas{border-radius:3px}.postcard p{font-size:12px;padding:0 4px}.empty{text-align:center;padding:32px 10px;color:#959d86;font-size:13px;line-height:2}.souvenirs{display:flex;flex-wrap:wrap;gap:8px}.souvenirs span{font-size:11px;background:#e9ecde;padding:9px;border-radius:9px}#toast{position:fixed;bottom:35px;left:50%;transform:translate(-50%,20px);padding:12px 22px;border-radius:25px;background:#45553eeb;color:#fff;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:10;max-width:90%;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:370px){.app{padding:20px 16px}.actions{gap:8px}.scene-top{left:20px;right:20px}}@media(min-width:700px){.app{margin:30px auto;border-radius:26px;padding-top:28px}}


.mint-icon{display:inline-block;width:20px;height:20px;vertical-align:middle;flex-shrink:0}.item button{white-space:nowrap}.catnip-symbol{display:inline-flex}
