:root{--ink:#284b3e;--muted:#6a796a;--paper:#f8f7ef;--green:#345e48;--line:#dce0d2}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.55;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,#map:focus-visible{outline:3px solid #b86c36;outline-offset:3px}.preview{background:#e6ebdc;text-align:center;font-size:10px;letter-spacing:.5px;padding:9px 15px;line-height:1.5}header{max-width:1320px;margin:auto;padding:23px 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-size:13px;letter-spacing:1.8px;font-weight:800}.brand small{display:block;font-size:11px;letter-spacing:0;font-weight:400;margin-top:6px;color:var(--muted)}.paw{font-size:25px;background:#e5eadb;border-radius:50%;padding:11px;letter-spacing:0}.tools{display:flex;align-items:center;gap:22px}.tools button{border:0;background:none;font-size:12px}.wallet{border:1px solid #ddd6bd;border-radius:25px;background:#f5efdb;padding:10px 18px;color:#987729;min-width:76px}.wallet b{color:var(--ink);margin-left:6px}main{max-width:1320px;margin:auto;padding:0 40px}.intro{display:flex;justify-content:space-between;align-items:center;margin:35px 0 30px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#6a7e60;line-height:1.6}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:53px;line-height:1.04;letter-spacing:-1.8px;margin:12px 0 17px}.intro p{font-size:14px;line-height:1.7;color:var(--muted);margin:0}.note{display:flex;align-items:center;gap:18px;margin-right:30px;font-size:47px;color:#b99a53;transform:rotate(-3deg)}.note p{font:16px/1.8 Georgia,serif}.layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:23px}.map-wrap{border:1px solid #d6decb;border-radius:17px;overflow:hidden;background:#eff2e4}.map-header{height:45px;display:flex;justify-content:space-between;align-items:center;padding:0 18px;font-size:10px;letter-spacing:1.4px;gap:15px}.map-header span:last-child{letter-spacing:0;font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#map{position:relative;aspect-ratio:900/590;overflow:hidden;isolation:isolate}#map>svg{position:absolute;inset:0;width:100%;height:100%}.place{position:absolute;z-index:2;background:#fffbed;border:1px solid #dfd8c0;border-radius:9px;box-shadow:0 5px 0 #506b4112,0 9px 20px #34502d16;padding:10px 15px;font-size:12px;font-weight:700;transform:translateX(-50%);transition:translate .2s}.place:hover{translate:0 -4px}.place small{display:block;font-size:9px;font-weight:400;color:#7c806b;margin-top:5px}.shop{left:19%;top:32%}.board{left:50.5%;top:21%}.mission{left:82%;top:32%}#avatar{position:absolute;left:50%;top:73%;transform:translate(-50%,-50%);transition:left 1.1s ease,top 1.1s ease;z-index:3;text-align:center;pointer-events:none}#petName{display:inline-block;padding:5px 9px;background:#fffdf0e8;border:1px solid white;border-radius:20px;font-size:10px;white-space:nowrap}.characters{display:flex;align-items:end;justify-content:center;font-size:35px;position:relative;height:46px}.characters>span{font-size:29px}#accessory{position:absolute;right:0;top:6px;font-size:16px}.shadow{width:67px;height:8px;border-radius:50%;background:#536c4230;margin:auto}.caption{position:absolute;bottom:17px;left:0;right:0;text-align:center;font:italic 13px Georgia,serif;color:#566e47}.map-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 17px;font-size:10px;color:var(--muted)}.map-footer button{border:0;background:none;font-size:11px;font-weight:700;padding:5px}aside{display:flex;flex-direction:column;gap:16px}.card{border:1px solid #dce1d2;border-radius:16px;padding:24px;background:#f0f2e6}.daily{flex:1}.sun{font-size:29px;color:#b39344;margin:14px 0 5px}h2{font-size:31px;line-height:1.12;letter-spacing:-.5px;margin:10px 0 15px}.card p{font-size:12px;line-height:1.8;color:var(--muted)}.primary,.outline{display:inline-block;border:1px solid var(--green);border-radius:7px;padding:13px 15px;font-size:12px;font-weight:600;min-height:43px}.primary{background:var(--green);color:white}.primary:hover{background:#254832}.outline{background:transparent}.daily .primary{width:100%;margin-top:9px;font-size:11px}.daily small{display:block;font-size:9px;text-align:center;margin-top:12px;color:var(--muted)}.wardrobe{background:#f6efdf}.wardrobe h3{font-size:23px;line-height:1.15;margin:13px 0 8px}.wardrobe .outline{width:100%;margin-top:7px}.bottom{display:flex;gap:50px;padding:27px 10px 28px;border-bottom:1px solid var(--line)}.bottom>div{display:flex;gap:14px;align-items:center}.bottom>div>span{font-size:30px;color:#829774}.bottom p{margin:0;font-size:12px}.bottom b{font-weight:600}.bottom small{display:block;font-size:11px;color:var(--muted);margin-top:7px}footer{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:23px 0;font-size:9px;letter-spacing:.5px;color:#74816d}footer button{border:0;background:none;text-decoration:underline;font-size:10px}dialog{width:min(510px,calc(100% - 28px));max-height:90dvh;overflow:auto;border:1px solid #d8dece;border-radius:18px;padding:25px;background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #173b3740}dialog::backdrop{background:#153b345c;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-top button{border:0;background:#e9ecdf;border-radius:50%;width:32px;height:32px;font-size:23px}.copy{font-size:13px;line-height:1.7;color:var(--muted)}.field{display:block;font-size:12px;font-weight:600;margin-top:20px}.field input,.field textarea,.field select{display:block;width:100%;padding:12px;margin-top:8px;background:#fffdf5;border:1px solid #cbd4c3;border-radius:7px;color:var(--ink);font:14px Arial}.field textarea{resize:vertical;min-height:90px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0 20px}.choice{border:1px solid #ced8c5;padding:13px;background:#fffdf4;border-radius:9px;cursor:pointer;font-size:13px;display:flex;gap:7px;align-items:center}.choice:has(input:checked){background:#e6eddc;border-color:#426b50}.choice input{accent-color:var(--green)}.full{width:100%;margin-top:20px}.muted{font-size:11px;color:#76816e;line-height:1.7}.pill{display:inline-block;font-size:10px;background:#e6ebdc;border-radius:20px;padding:6px 10px;margin:3px}.notice{padding:13px;background:#f2e9d5;border-radius:7px;font-size:12px;line-height:1.6;margin:16px 0}.product{border:1px solid #d5ddcc;border-radius:12px;padding:20px;margin-top:15px;background:#fffdf5}.product h3{font-size:23px;margin:8px 0}.product p{font-size:12px;line-height:1.7;color:var(--muted)}.product a{display:block;text-align:center;text-decoration:none;margin-top:14px;color:inherit}.product a.primary{color:white}.price{font-size:22px;font-weight:700}.idea{border-bottom:1px solid var(--line);padding:15px 0;display:flex;justify-content:space-between;align-items:center;gap:15px}.idea p{font-size:13px;margin:0;line-height:1.6;overflow-wrap:anywhere}.idea button{border:1px solid var(--line);background:#eaf0e1;border-radius:7px;padding:9px;font-size:11px;flex-shrink:0}.item{padding:14px;border:1px solid #d3ddc7;background:#fffdf4;border-radius:9px;margin:9px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.item button{padding:9px 12px;border:1px solid #a6b99b;border-radius:6px;background:#eaf0e1;font-size:12px}.item strong{font-size:13px}.item small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.stat{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:10px 0;font-size:12px}.actions{display:flex;gap:10px;margin-top:20px}.actions button{flex:1}.text-button{border:0;background:none;text-decoration:underline;font-size:11px;margin-top:16px}.error{color:#9d382b;font-size:12px}.success{color:#386642;font-size:13px;line-height:1.7}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(90px);background:#254b3f;color:#fff;padding:14px 22px;border-radius:9px;font-size:13px;max-width:90%;z-index:10;opacity:0;transition:.25s}#toast.show{transform:translateX(-50%);opacity:1}.walking .characters{animation:bob .3s alternate infinite}@keyframes bob{to{transform:translateY(-4px)}}@media(max-width:1000px){header{padding:20px 25px}main{padding:0 25px}.layout{grid-template-columns:minmax(0,1fr) 250px;gap:16px}.card{padding:20px}.note{margin-right:0}.place{padding:8px 10px;font-size:10px}.place small{font-size:8px}.bottom{gap:25px}}@media(max-width:760px){.preview{font-size:9px}header{padding:15px 18px}.brand{font-size:11px;letter-spacing:1px;gap:8px}.paw{padding:7px;font-size:20px}.brand small{font-size:9px}.tools{gap:8px}.tools button{font-size:10px;padding:6px}.wallet{padding:8px 10px;min-width:55px;font-size:12px}main{padding:0 16px}.intro{margin:27px 0 23px}h1{font-size:40px;letter-spacing:-1.5px}.intro p{font-size:12px}.note{display:none}.layout{grid-template-columns:1fr}#map{aspect-ratio:1.22}.map-header{padding:0 12px;font-size:9px;letter-spacing:.9px}.map-header span:last-child{font-size:10px}.place.shop{left:18%;top:34%}.place.mission{left:82%;top:34%}.place.board{top:24%}.place{padding:9px 8px;font-size:10px}.place small{font-size:8px}.map-footer{font-size:9px;padding:11px 10px}.map-footer span{max-width:60%;line-height:1.5}.map-footer button{font-size:10px}.caption{font-size:11px}.characters{font-size:32px}.characters>span{font-size:26px}aside{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card{padding:17px}.eyebrow{font-size:8px;letter-spacing:1.6px}.sun{font-size:22px;margin:9px 0}.card h2{font-size:25px}.card p{font-size:11px;line-height:1.65}.daily .primary{font-size:10px;line-height:1.5;padding:11px 7px}.daily small{font-size:8px;line-height:1.5}.wardrobe h3{font-size:24px}.wardrobe .outline{font-size:10px;padding:11px 8px}.bottom{flex-direction:column;gap:20px;padding:25px 4px}.bottom small{font-size:10px}footer{align-items:start;font-size:8px;line-height:1.8}footer span{max-width:65%}.choices{gap:7px}.choice{font-size:12px;padding:11px}#petName{font-size:9px}dialog{padding:20px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:760px){aside{grid-template-columns:1fr}.place{width:94px;padding:9px 5px;font-size:10px}.place small{font-size:8px;line-height:1.4}.place.mission{left:81%}.place.shop{left:19%}.card h2{font-size:29px}.wardrobe h3 br{display:none}.card p{font-size:12px}.daily .primary{font-size:12px}.daily small{font-size:10px}.wardrobe .outline{font-size:12px}.map-footer button{min-height:44px}}
