/* Outdoor game interface, shared by desktop and mobile. */
:root{--forest:#245b4b;--pine:#245b4b;--lake:#477966;--cream:#f5f3e9;--paper:#fffdf6;--wood:#866123;--gold:#b68b4c;--ink:#233c3b;--muted:#6b7f78;--line:#e2e4d7;--shadow:0 5px 18px #30422e05}
*{box-sizing:border-box}body{font:16px/1.55 'Microsoft YaHei','PingFang SC',system-ui,sans-serif;margin:0;background:var(--cream);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b68b4c;outline-offset:3px}button:disabled{cursor:default}h1,h2,h3{font-family:inherit!important;line-height:1.4}h1{font-size:26px}h2{font-size:19px}h3{font-size:17px}p{margin:8px 0}small{font-size:13px;line-height:1.5}.game-app{max-width:1240px;margin:0 auto;padding:0;min-height:100vh;background:var(--cream)}.simple-header{padding:23px 30px;margin:0;border-color:var(--line);gap:15px}.simple-header a{font-size:25px;letter-spacing:2px;color:var(--ink)}.simple-header a small{display:block;font-size:12px;letter-spacing:2px;color:var(--muted);font-weight:400;margin-top:4px}.simple-header input{width:150px;font-size:15px;padding:9px 12px;background:var(--paper);border:1px solid var(--line)}.simple-header button{border:0;width:42px;height:42px;background:transparent;color:var(--forest)}.game-body{display:grid;grid-template-columns:180px minmax(0,1fr)}.game-sidebar{background:#eeeee3;border-right:1px solid var(--line);padding:25px 14px}.game-sidebar button{display:flex;align-items:center;gap:10px;border:0;color:var(--muted);background:transparent;padding:13px 11px;border-radius:12px;width:100%;text-align:left;font-size:15px;margin-bottom:6px}.game-sidebar button span{width:22px;display:inline-block;text-align:center}.game-sidebar button.active{color:#fff;background:var(--forest)}.game-sidebar p{padding:20px 12px;color:var(--muted);font-size:13px}.simple-main{padding:28px;min-width:0}.simple-bottom{display:none}.game-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:19px}.game-title h1{margin:0;color:var(--ink)}.game-tag{background:#ebe8da;color:#6d7057;padding:7px 12px;border-radius:24px;font-size:12px;white-space:normal}.game-hero{position:relative;overflow:hidden;background:var(--forest);color:#fff8e7;border-radius:21px;padding:28px;min-height:240px;margin-bottom:18px}.game-hero-copy{position:relative;z-index:1;max-width:520px}.game-hero-copy h1{font-size:30px;letter-spacing:1px;margin:12px 0}.game-hero-copy p{font-size:15px;color:#d1e4d8}.game-hero-copy small{font-size:13px;color:#d1e4d8}.game-pill{display:inline-block;border-radius:20px;padding:5px 12px;font-size:13px;background:#ffffff1a}.game-hero-copy button{background:#f2e5c6;color:#284b3d;border:0;border-radius:10px;padding:9px 14px;margin-top:15px;font-size:14px}.game-sun{position:absolute;right:70px;top:30px;width:51px;height:51px;background:#efd094;border-radius:50%;opacity:.9}.game-lake{position:absolute;right:-40px;bottom:-28px;width:280px;height:150px;border-radius:50%;background:#477966;transform:rotate(-10deg);box-shadow:0 -23px 0 10px #386b58,0 -48px 0 2px #2e6351}.game-fisher{position:absolute;right:65px;bottom:15px;font-size:68px;transform:rotate(-12deg);opacity:.8}.xp-track{height:8px;background:#ffffff26;border-radius:20px;margin:16px 0 9px;overflow:hidden;max-width:420px}.xp-track i{display:block;height:100%;background:#e5bd73;border-radius:20px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.game-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{padding:18px;border-radius:17px;border:1px solid var(--line);background:var(--paper);box-shadow:none;min-width:0}.stat small{font-size:13px;color:var(--muted)}.stat strong{font-family:inherit!important;font-size:28px;line-height:1.35;display:block;overflow-wrap:anywhere;margin:6px 0;color:var(--ink)}.content-grid,.simple-main .content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;align-items:start;margin:18px 0}.card{background:var(--paper);border-radius:18px;padding:22px;border:1px solid var(--line);box-shadow:none;min-width:0}.card .card-head{margin:0 0 15px}.card .card-head h2{margin:0;color:var(--ink);font-size:19px}.simple-main .card{margin-bottom:18px}.card p,.card small.subtle,.card .subtle{font-size:14px}.card form{display:grid;gap:13px}.card label,.detail-modal label{display:grid;gap:6px;font-size:14px;color:var(--muted);font-weight:400}.card input,.card select,.card textarea,.detail-modal input,.detail-modal select{width:100%;font-size:16px;padding:11px 12px;border:1px solid #dbe1d4;border-radius:10px;background:#fffdf8;color:var(--ink);min-width:0}.card input:focus,.card select:focus,.detail-modal input:focus,.detail-modal select:focus{outline:2px solid #b68b4c;outline-offset:1px}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.btn{font-size:15px;padding:10px 15px;border-radius:10px;border:1px solid #d8dfd2;background:var(--paper);color:var(--ink);box-shadow:none}.btn.primary{background:var(--forest);border-color:var(--forest);color:#fff}.btn.secondary{background:#e8eee2;color:var(--forest);border-color:#d8dfd2}.text-link{font-size:14px;color:var(--forest);background:none;border:0;padding:6px 0;cursor:pointer}.entry-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:5px}.form-end{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.table-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 0;font-size:15px;border-bottom:1px solid #eeeede;min-width:0}.table-row>span{min-width:0;overflow-wrap:anywhere}.table-row small{font-size:12px;color:var(--muted);display:block;margin-top:5px}.table-row>b{font-size:16px;flex-shrink:0;color:var(--forest)}.table-row:last-child{border-bottom:0}.legacy-list .table-row>b{font-size:16px}.table-row .entry-actions{font-size:13px}.tip,.pause-note{background:#f0eee2;color:#6c725e;font-size:13px;padding:13px 15px;border:0;border-radius:12px;margin:15px 0}.muted,.empty,.empty-state{color:var(--muted);font-size:14px}.empty{padding:12px 0}.challenge-value{font-size:29px;font-weight:700;color:var(--forest);margin:6px 0 15px}.challenge-value small{font-size:14px;font-weight:400;color:var(--muted)}.target-track{height:9px;border-radius:20px;background:#e6e8dc;overflow:hidden}.target-track i{height:100%;background:var(--gold);border-radius:20px;display:block}.common-actions{gap:10px;margin:18px 0;grid-template-columns:repeat(4,minmax(0,1fr))}.common-actions button{border:1px solid var(--line);border-radius:14px;background:var(--paper)!important;color:var(--forest)!important;padding:16px 10px;font-size:24px;box-shadow:none}.common-actions button b{font-size:15px}.common-actions button:hover{transform:none;background:#e8eee2!important}.report-shortcuts{gap:8px;margin:12px 0;flex-wrap:wrap}.report-shortcuts button{padding:11px 8px;font-size:14px;background:#e6ecdf;color:var(--forest);border-radius:10px;min-width:110px}.common-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.common-grid button{padding:15px;border:1px solid var(--line);background:#f4f5eb;border-radius:12px;color:var(--ink)}.common-grid button b{font-size:14px}.common-grid button span{font-size:13px;color:var(--muted)}.common-grid button:disabled{opacity:.5}.extra-common summary{font-size:14px;color:var(--forest);padding:16px 0}.wallet-total{background:#efe5c9;color:#775d2d;border-radius:19px;padding:23px;display:flex;justify-content:space-between;align-items:center;gap:15px}.wallet-total h2{font-size:40px;margin:5px 0 0}.wallet-total h2 small{font-size:16px}.wallet-total>div:last-child{font-size:14px;color:#7b734e}.history-controls{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.source-tile{text-align:left;padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--paper);color:var(--ink);min-width:0}.source-tile.selected{box-shadow:inset 0 0 0 2px var(--forest);background:#e5eee2}.source-tile>span{font-size:14px;display:block}.source-tile strong{font-size:27px;display:block;margin:8px 0}.source-tile small{font-size:12px;display:block;color:var(--muted)}.source-tile strong small{display:inline;font-size:14px}.store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.store-item{padding:17px;border-radius:15px;background:#f4f3e7;border:1px solid var(--line)}.store-item h3{font-size:17px;margin:8px 0}.store-item p{font-size:14px;color:var(--muted);min-height:0}.store-icon{background:transparent}.store-bottom{gap:10px;flex-wrap:wrap}.store-bottom b{font-size:16px}.store-bottom small{font-size:12px}.store-item .btn{width:100%;margin-top:8px}.level-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.level-node{padding:19px;background:#eeeee3;border-radius:16px;color:var(--muted)}.level-node.current{background:#e1ece0;color:var(--forest);border:1px solid #c5d7c4}.level-node h3{margin:8px 0;font-size:19px}.level-node p{font-size:14px}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.achievement{padding:18px;background:#f4efdf;border-color:var(--line);border-radius:15px}.achievement h3{font-size:17px;margin:8px 0}.achievement p,.achievement blockquote{font-size:14px}.achievement small{font-size:12px}.achievement blockquote{padding:10px 12px;border-radius:8px;background:#ece7d4;border-left:3px solid var(--gold);color:var(--wood)}.achievement.locked{opacity:.8}.more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.more-grid button{font-size:15px;border:1px solid var(--line);padding:20px;border-radius:15px;background:var(--paper);color:var(--ink)}.more-grid button span{font-size:23px}.setting-fold summary{font-size:18px;color:var(--forest)}.report-hero{background:var(--forest);color:#fff8e7;padding:27px;border-radius:20px}.report-hero h2{font-size:25px;color:#fff8e7}.report-hero strong{font-size:36px}.report-hero strong small{font-size:15px;color:#d1e4d8}.report-hero>small{font-size:13px;color:#d1e4d8}.report-hero button{font-size:14px;color:#f2e5c6}.report-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-grid,.calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-week{font-size:14px}.calendar-day{border:0;background:#f3f3e9;color:var(--ink);border-radius:11px;min-height:82px;padding:10px 3px;gap:5px}.calendar-day b{font-size:15px}.calendar-day small,.calendar-day em{font-size:12px}.calendar-day.paused{background:#eee4cc}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--forest)}.calendar-day.today{border:0;outline:2px solid #b68b4c;outline-offset:-2px}.type-choices{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.type-choices label{flex:1}.type-choices span{background:#f4f5eb;border:1px solid #d5dfd2;font-size:15px;border-radius:10px;padding:12px;color:var(--ink)}.type-choices input:checked+span{background:var(--forest);border-color:var(--forest);color:#fff}.type-choices input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}.hours-picks{gap:8px;margin:0 0 8px}.hours-picks button{background:#e8eee2;color:var(--forest);padding:9px 13px;border-radius:9px;font-size:14px}.spot-choice{gap:13px;display:flex;align-items:end}.spot-choice button{font-size:14px;white-space:normal;margin:0 0 4px}.form-more summary{font-size:14px;padding:13px 0;color:var(--forest)}.inline-cost{grid-template-columns:minmax(80px,1fr) minmax(60px,.7fr) minmax(70px,1fr) 28px;gap:6px}.inline-cost input,.inline-cost select{padding:9px 7px;font-size:14px}.inner-cost{padding:12px;background:#f3f3e9;border-radius:12px}.inner-cost>b{font-size:14px}.record-row{grid-template-columns:52px minmax(0,1fr) auto 10px;gap:12px;padding:16px 0}.record-title b{font-size:16px}.record-title small{font-size:12px;white-space:normal;line-height:1.5}.record-date{font-size:16px}.record-date small{font-size:12px}.record-result{font-size:16px}.record-result small{font-size:12px}.chevron{font-size:22px}.modal-backdrop{position:fixed;inset:0;background:#233c3b80;z-index:40;display:grid;place-items:center;padding:20px}.detail-modal{width:min(540px,100%);max-height:90dvh;overflow:auto;position:relative;background:var(--paper);border:1px solid var(--line);padding:26px;border-radius:20px;box-shadow:0 25px 80px #102a1e35}.detail-modal h2{font-size:23px;margin:5px 35px 18px 0}.detail-modal form{display:grid;gap:12px}.detail-modal>p{font-size:15px}.detail-stats span{font-size:14px}.detail-stats b{font-size:18px}.modal-close{background:transparent;border:0;position:absolute;top:12px;right:14px;font-size:27px;color:var(--muted);width:38px;height:38px}.quick-amounts{gap:10px;display:flex;flex-wrap:wrap}.quick-amounts button{font-size:22px;min-width:65px;min-height:58px;border:0;border-radius:12px;background:var(--forest);color:#fff}.toast{position:fixed;top:16px;right:20px;max-width:min(520px,calc(100vw - 40px));z-index:60;background:var(--forest);color:#fff;padding:14px 18px;border-radius:12px;font-size:15px;box-shadow:0 5px 20px #123c2b20}.green{color:var(--forest)!important}.orange,.danger{color:#9c5937!important}.loading{font:18px/1.6 sans-serif;min-height:60vh;color:var(--forest)}.simple-main .admin-grid{grid-template-columns:1fr}.status-list b{font-size:16px}.status-list small{font-size:13px}.examples span{font-size:14px}.check{display:flex!important;align-items:center;gap:8px!important}.check input{width:auto}.rule-form small{font-size:13px}.record-row .record-title{min-width:0}.store-item .store-bottom{display:flex}.balance-big{font-family:inherit!important}.form-more{min-width:0}
@media(max-width:1000px){.game-body{grid-template-columns:150px minmax(0,1fr)}.game-sidebar{padding:20px 10px}.simple-main{padding:22px}.game-sidebar button{font-size:14px}.store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-hero-copy{max-width:75%}}
@media(max-width:760px){.game-app{padding-bottom:90px}.game-body{display:block}.game-sidebar{display:none}.simple-header{padding:18px;align-items:center}.simple-header a{font-size:23px}.simple-header a small{font-size:11px;letter-spacing:1px}.simple-header div{gap:5px}.simple-header input{width:134px;font-size:14px;padding:8px}.simple-main{padding:19px}.simple-bottom{position:fixed;display:flex;bottom:0;left:0;right:0;z-index:25;justify-content:center;padding:9px 10px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}.simple-bottom button{width:30%;max-width:220px;color:var(--muted);font-size:14px;padding:8px}.simple-bottom button.active{background:#e6ecdf;color:var(--forest);border-radius:12px}.simple-bottom button span{font-size:23px}.content-grid,.simple-main .content-grid{grid-template-columns:1fr}.game-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid:not(.game-stats){grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:15px}.stat strong{font-size:25px}.game-title h1{font-size:24px}.game-hero{padding:24px;min-height:230px}.game-hero-copy{max-width:80%}.game-hero-copy h1{font-size:27px}.game-hero-copy p{font-size:14px}.game-sun{right:25px;opacity:.55}.game-fisher{right:20px;opacity:.4}.game-lake{right:-85px;opacity:.7}.card{padding:19px}.common-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.common-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.common-actions button{font-size:24px;padding:15px 4px}.common-actions button b{font-size:13px}.level-path{grid-template-columns:1fr}.more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.simple-header a small{max-width:160px}.table-row{font-size:14px}.detail-modal{padding:22px}.detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.type-choices span{padding:11px 8px}.report-shortcuts button{font-size:13px;padding:10px 6px;min-width:100px}.record-result{font-size:14px}.record-row{gap:8px}.record-title b{font-size:15px}.record-row .record-result small{font-size:11px}.inline-cost{grid-template-columns:1fr 75px 1fr 28px}.calendar-day{min-height:78px}.report-hero strong{font-size:30px}}
@media(max-width:430px){.simple-header{padding:15px 13px;gap:7px}.simple-header a{font-size:21px}.simple-header a small{display:none}.simple-header input{width:130px}.simple-header button{width:30px}.simple-main{padding:16px 13px}.game-stats{grid-template-columns:1fr;gap:9px}.stat{display:flex;align-items:center;justify-content:space-between;gap:8px}.stat strong{font-size:25px;margin:0}.stats-grid:not(.game-stats) .stat{display:block}.source-grid{grid-template-columns:1fr}.game-hero-copy{max-width:100%}.game-hero-copy h1{font-size:25px}.game-fisher,.game-sun{opacity:.1}.game-lake{opacity:.3}.common-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:17px}.store-grid,.achievement-grid{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}.inline-cost{grid-template-columns:1fr 70px 28px}.inline-cost input[name="extra_note"]{grid-row:2;grid-column:1/3}.inline-cost .remove-extra{grid-column:3;grid-row:1}.calendar-grid,.calendar-week{gap:4px}.calendar-day{min-height:72px;padding:7px 1px}.calendar-day small,.calendar-day em{font-size:11px}.more-grid{grid-template-columns:1fr}.spot-choice{align-items:start;flex-wrap:wrap}.spot-choice label{min-width:100%;}.record-row{grid-template-columns:40px minmax(0,1fr) auto 9px}.record-title small{font-size:11px}.record-result{font-size:13px}.record-title b{font-size:14px}.game-title h1{font-size:22px}.challenge-value{font-size:27px}}
