*{box-sizing:border-box}:root{color:#1d2f32;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6ead0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{width:100%;min-width:100%;min-height:100%;margin:0}body{background:linear-gradient(140deg,#35686829,#0000 36%),linear-gradient(40deg,#a5743d29,#0000 42%),#f6ead0;min-height:100vh;overflow:hidden}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{width:100vw;min-height:100vh;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));place-items:center;display:grid}.screen-frame{background:linear-gradient(#fffceeeb,#f3e2bee6),repeating-linear-gradient(90deg,#3a5b540f 0 1px,#0000 1px 48px);border:3px solid #24484c;border-radius:8px;width:min(100%,1180px);height:min(100vh - 32px,820px);min-height:680px;position:relative;overflow:hidden;box-shadow:0 24px 70px #1c2a263d}.content{height:100%;padding:82px 40px 98px;overflow:auto}.top-bar{z-index:5;color:#fff7d9;background:#224b51f0;justify-content:space-between;align-items:center;gap:16px;height:66px;padding:12px 24px;display:flex;position:absolute;inset:0 0 auto}.brand-mark,.growth-pill,.bottom-nav button,.primary-action,.secondary-action,.danger-action,.task-row button,.adventure-card button,.job-card button,.decision-grid button,.combat-actions button,.map-node,.file-import{cursor:pointer;touch-action:manipulation;border:0;border-radius:8px;min-height:48px}.brand-mark{color:#fff7d9;background:0 0;padding:0 12px;font-weight:900}.growth-pill{color:#23373b;background:#f4d078;padding:0 18px;font-weight:800;box-shadow:inset 0 -3px #0000001f}.bottom-nav{z-index:5;background:#fff9e6f0;border-top:2px solid #24484c2e;grid-template-columns:repeat(3,1fr);gap:10px;height:78px;padding:10px 22px 14px;display:grid;position:absolute;inset:auto 0 0}.bottom-nav button{color:#263f42;background:#e4d3a6;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.98rem;font-weight:800;display:flex}.bottom-nav button.active{color:#fff7d9;background:#24484c}.nav-icon{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.nav-icon path:first-child,.nav-icon circle{fill:currentColor;opacity:.18}.install-hint{z-index:9;color:#fff7d9;background:#24484cf0;border:2px solid #f4d078b8;border-radius:8px;grid-template-columns:1fr auto;gap:4px 10px;max-width:330px;padding:12px 14px;display:grid;position:absolute;top:76px;right:22px;box-shadow:0 12px 28px #1626213d}.install-hint strong,.install-hint span{grid-column:1}.install-hint button{color:#23373b;background:#f4d078;border:0;border-radius:50%;grid-area:1/2/span 2;width:34px;height:34px;font-weight:950}.inline-error,.loading-panel,.form-message{color:#8b2f25;font-weight:700}.level-up-overlay{z-index:20;pointer-events:none;background:radial-gradient(circle,#f4d0783d,#0000 58%);place-items:center;display:grid;position:absolute;inset:0}.level-up-overlay div{text-align:center;background:#24484cf0;border:3px solid #f4d078cc;border-radius:8px;min-width:320px;padding:28px;animation:5s forwards levelUpPop;box-shadow:0 0 34px #f4d078b3}.level-up-overlay span,.level-up-overlay strong{color:#f4d078;font-weight:950;display:block}.level-up-overlay span{font-size:2.4rem}.level-up-overlay strong{overflow-wrap:anywhere;font-size:3rem}.level-up-overlay p{color:#fff7d9;margin:0}.profile-name-overlay{z-index:22;background:#172f346b;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.profile-name-card{background:#fff8df;border:3px solid #f4d078c7;border-radius:8px;gap:16px;width:min(520px,100%);padding:28px;display:grid;box-shadow:0 24px 64px #16262152}.growth-flash{z-index:19;color:#23373b;text-align:center;pointer-events:none;background:#f4d078;border-radius:8px;gap:4px;min-width:230px;padding:14px 18px;animation:2.8s forwards growthFlash;display:grid;position:absolute;top:78px;left:50%;box-shadow:0 16px 32px #24484c3d}.growth-flash strong,.growth-flash span{font-weight:950}.growth-flash small{color:#405a5b;font-weight:800}.reward-adjustment{color:#8a5a16;font-weight:900}.loading-panel{place-items:center;min-height:400px;display:grid}.page{flex-direction:column;gap:24px;min-height:100%;display:flex}.narrow-page{max-width:760px;margin:0 auto}.eyebrow{color:#6f4d24;margin:0 0 8px;font-size:.86rem;font-weight:900}h1,h2,p{margin-top:0}h1{color:#172f34;max-width:880px;margin-bottom:12px;font-size:clamp(2rem,4.8vh,4rem);font-weight:950;line-height:1.08}h2{color:#1d3438;margin-bottom:8px;font-size:1.35rem}p{color:#405a5b;font-size:1.06rem;line-height:1.58}.lead{color:#2f5558;max-width:620px;font-size:1.35rem}.welcome-profile-page{justify-content:center}.hero-input{max-width:460px}.hero-input input{min-height:58px;font-size:1.2rem;font-weight:850}.start-page{grid-template-columns:1.05fr .95fr;align-items:center;gap:36px;min-height:100%;padding:34px;display:grid}.start-copy{z-index:2;position:relative}.start-copy h1{letter-spacing:0;font-size:clamp(3rem,7vh,6rem)}.start-art{background:linear-gradient(#8fc7bd 0 46%,#dfc17a 46% 100%);border:3px solid #224b514d;border-radius:8px;min-height:500px;position:relative;overflow:hidden}.sun-disc{background:#f4d078;border-radius:50%;width:150px;height:150px;position:absolute;top:48px;left:72px;box-shadow:0 0 0 16px #f4d0783d}.mountain{clip-path:polygon(0 100%,20% 32%,35% 72%,50% 18%,70% 80%,86% 36%,100% 100%);height:260px;position:absolute;bottom:130px;left:-10%;right:-10%}.ridge-back{background:#5c8176}.ridge-front{transform-origin:bottom;background:#315f5c;bottom:76px;transform:scaleY(.72)}.road{clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);background:#a5743d;width:42%;height:260px;position:absolute;bottom:-80px;left:34%}.action-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.primary-action,.secondary-action,.danger-action,.file-import{color:#fff7d9;background:#2f6d61;justify-content:center;align-items:center;min-width:180px;padding:0 22px;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:inset 0 -4px #00000029}.secondary-action{color:#20383b;background:#e6c46b}.danger-action{background:#934237}.wide-button{width:100%}.form-grid{grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px;display:grid}label{color:#2a4548;flex-direction:column;gap:8px;font-weight:850;display:flex}input,select,textarea{color:#1c3033;background:#fffcefe6;border:2px solid #24484c38;border-radius:8px;width:100%;min-height:50px;padding:0 14px}textarea{resize:vertical;min-height:96px;padding:12px 14px}.story-page{text-align:center;justify-content:center;align-items:center}.story-card{background:#fffae8c2;border:3px solid #2f6d6142;border-radius:8px;width:min(820px,100%);padding:44px}.section-heading,.home-hero{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.points-card,.stat-card{color:#fff7d9;background:#24484c;border-radius:8px;min-width:150px;padding:16px 18px;font-weight:900}.job-grid,.entry-grid,.skill-grid,.stat-grid,.decision-grid,.adventure-list{gap:16px;display:grid}.job-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reality-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ongoing-card,.challenge-panel,.long-card{background:#fffae8c2;border:2px solid #24484c29;border-radius:8px}.ongoing-card{grid-column:1/-1;min-height:150px;padding:20px}.mini-list{flex-wrap:wrap;gap:10px;display:flex}.mini-list span,.task-badge,.reason-text,.milestone-list span{color:#24484c;background:#24484c1a;border-radius:999px;align-items:center;min-height:30px;padding:4px 10px;font-size:.9rem;font-weight:850;display:inline-flex}.reason-text{background:#f4d07842;border-radius:8px}.skill-grid,.adventure-list,.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.job-card,.entry-card,.skill-card,.adventure-card,.task-row,.record-row,.character-panel{background:#fffae8c2;border:2px solid #24484c29;border-radius:8px}.job-card,.skill-card,.adventure-card{flex-direction:column;gap:10px;min-height:220px;padding:18px;display:flex}.job-card strong,.adventure-card strong{color:#7a4f18;margin-top:auto}.job-card button,.adventure-card button,.task-row button,.decision-grid button,.combat-actions button{color:#fff7d9;background:#2f6d61;padding:0 16px;font-weight:900}button:disabled{cursor:not-allowed;color:#f8efd2;box-shadow:none;background:#a8a28b}.entry-card{text-align:left;background:linear-gradient(135deg,#fffcefd1,#fffcef6b),#7fb7a7;flex-direction:column;justify-content:flex-end;min-height:230px;padding:26px;display:flex}.entry-card span{color:#173034;font-size:2rem;font-weight:950}.entry-card small{color:#284749;margin-top:8px;font-size:1.05rem;font-weight:760}.adventure-entry{background:linear-gradient(135deg,#fffcefcc,#fffcef5c),#b28448}.task-list,.record-list,.settings-stack{gap:14px;display:grid}.parent-page h1{margin-bottom:0}.parent-tabs{flex-wrap:wrap}.task-management-heading{padding:8px 4px}.task-management-heading p{margin-bottom:0}.parent-grid{grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);align-items:start;gap:16px;display:grid}.card-actions{flex-wrap:wrap;gap:8px;display:flex}.card-actions button,.secondary-mini{color:#fff7d9;background:#2f6d61;border:0;border-radius:8px;min-height:42px;padding:0 12px;font-weight:900}.secondary-mini,.card-actions button:nth-child(n+2){color:#20383b;background:#e6c46b}.challenge-panel,.long-card{padding:16px}.milestone-list{gap:8px;margin:12px 0;display:grid}.milestone-list .completed{color:#2f6d61;background:#e1f0dc}.milestone-list .awaitingParent{color:#563918;background:#f4d078}.task-row,.record-row{grid-template-columns:1fr auto auto;align-items:center;gap:16px;min-height:88px;padding:16px 18px;display:grid}.task-row h2,.task-row p{margin-bottom:4px}.task-row strong,.record-row strong{color:#7a4f18;font-size:1.2rem}.stars{color:#b27726;font-size:1.1rem;font-weight:900}.stat-card{flex-direction:column;gap:8px;display:flex}.stat-card strong{font-size:2rem}.compact-exp,.experience-card{gap:8px;max-width:420px;display:grid}.compact-exp{color:#24484c;grid-template-columns:auto 1fr auto;align-items:center;font-weight:900}.exp-track{background:#dcc9a1;border:2px solid #24484c2e;border-radius:999px;height:14px;overflow:hidden}.exp-track.large{height:22px}.exp-fill{border-radius:inherit;background:linear-gradient(90deg,#2f6d61,#f4d078);height:100%;transition:width .9s}.experience-card{background:#e8d8aac7;border-radius:8px;margin:10px 0 16px;padding:14px}.experience-label{color:#23373b;justify-content:space-between;gap:12px;font-weight:900;display:flex}.experience-card p{margin-bottom:0;font-size:.96rem}.record-row{grid-template-columns:1fr auto}.character-panel{grid-template-columns:180px 1fr;align-items:center;gap:28px;min-height:300px;padding:30px;display:grid}.profile-card{background:#fffae8c2;border:2px solid #24484c29;border-radius:8px;gap:14px;padding:20px;display:grid}.motto-line{color:#6f4d24;margin:0;font-weight:850}.character-panel-rich{grid-template-columns:220px 1fr}.avatar-column{justify-items:center;gap:12px;display:grid}.avatar-sigil{aspect-ratio:1;color:#f4d078;background:#24484c;border-radius:50%;place-items:center;width:160px;font-size:5rem;font-weight:950;display:grid}.job-avatar,.custom-avatar{aspect-ratio:1;background:radial-gradient(circle at 50% 28%,#fff7d96b,#0000 22%),#24484c;border:3px solid #24484c3d;border-radius:8px;width:180px}.custom-avatar{object-fit:cover}.job-avatar{position:relative;overflow:hidden;box-shadow:0 16px 28px #16262138}.job-avatar span{display:block;position:absolute}.avatar-head{background:#e9c39a;border:3px solid #1c303357;border-radius:50%;width:46px;height:46px;top:26px;left:67px}.avatar-body{background:#8a9689;border-radius:26px 26px 14px 14px;width:68px;height:86px;top:72px;left:56px}.avatar-cape{background:#7c3832bd;border-radius:50% 50% 10px 10px;width:90px;height:88px;top:76px;left:46px}.avatar-tool{background:#d7c49b;border-radius:999px;width:18px;height:88px;top:70px;right:24px;transform:rotate(-16deg)}.avatar-magic{opacity:0;border-radius:50%;width:42px;height:42px;top:34px;right:22px}.job-avatar-knight .avatar-body{background:linear-gradient(90deg,#8e9ca0,#d2d7d2,#6d7779)}.job-avatar-knight .avatar-tool{background:#56656a;border:4px solid #d2d7d2;border-radius:45%;width:48px;height:62px;top:86px;right:14px}.job-avatar-mage{background:radial-gradient(circle at 78% 25%,#8bd0ff7a,#0000 22%),#2c4f5b}.job-avatar-mage .avatar-body,.job-avatar-mage .avatar-cape{background:#59649b}.job-avatar-mage .avatar-tool{background:#6b4b2c}.job-avatar-mage .avatar-magic{opacity:1;background:#b9e8ff;box-shadow:0 0 22px #8bd0ff,0 0 46px #8bd0ff9e}.job-avatar-ranger{background:radial-gradient(circle at 72% 26%,#d6c47a6b,#0000 22%),#315f5c}.job-avatar-ranger .avatar-body{background:#517d55}.job-avatar-ranger .avatar-tool{background:0 0;border:6px solid #8a6332;border-radius:50%;width:86px;height:100px;top:52px;right:8px}.avatar-import{min-width:150px}.attribute-grid{grid-template-columns:repeat(2,minmax(140px,1fr));gap:14px;display:grid}.attribute-grid>span,.attribute-control{color:#23373b;background:#e8d8aa;border-radius:8px;padding:14px;font-weight:900}.attribute-control{grid-template-columns:1fr auto;align-items:center;gap:6px 10px;min-height:122px;display:grid}.attribute-control small{color:#6f4d24;grid-column:span 2}.attribute-control button{color:#fff7d9;background:#2f6d61;border:0;border-radius:50%;width:46px;height:46px;font-size:1.4rem;font-weight:950}.bag-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.bag-grid article{background:#fffae8b8;border:1px solid #24484c24;border-radius:8px;padding:14px}.gate-panel{text-align:left;max-width:700px;margin:0 auto}.legacy-loot{margin-top:12px}.skill-card.active{background:#e1f0dc;border-color:#2f6d61}.skill-card .progress-track,.cloud-status-card .progress-track{margin-block:8px}.cloud-status-card{background:radial-gradient(circle at 8% 0,#70b7a33d,#0000 34%),#fffae8d6;border:2px solid #24484c29;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:18px;display:grid}.cloud-status-card h2{margin:0 0 6px;font-size:1.25rem}.cloud-status-card p{margin:0}.cloud-status-card small{color:#405a5b;font-weight:800}.world-page{background:linear-gradient(#628e7838,#53483a14),0 0}.map-path{gap:10px;width:min(560px,100%);margin:0 auto;display:grid}.map-node{color:#fff7d9;text-align:left;background:#315f5c;grid-template-columns:48px 1fr;align-items:center;gap:6px 14px;min-height:104px;padding:14px 18px;font-size:1.05rem;font-weight:900;display:grid;position:relative}.map-node:disabled{cursor:default}.node-status-mark{background:#fff7d92e;border:2px solid #fff7d980;border-radius:50%;grid-row:span 4;place-items:center;width:40px;height:40px;display:grid}.node-stage{color:#f4d078;font-size:.92rem}.map-node strong{font-size:1.35rem}.map-node small,.map-node em{color:inherit}.map-node em{opacity:.88;font-style:normal}.map-node b{color:#f4d078;z-index:1;font-size:1.4rem;position:absolute;bottom:-24px;left:36px}.node-locked{opacity:.52;color:#e7e0c8;background:#5f655f}.node-available{box-shadow:0 0 0 3px #f4d0784d,0 14px 32px #1e3f3933}.node-cleared{background:#476d5b}.node-cleared .node-status-mark{color:#2f6d61;background:#e1f0dc}.boss-node{background:radial-gradient(circle at 78% 20%,#f4d07852,#0000 26%),#4d4a3e;border:2px solid #f4d0789e;min-height:120px}.character-stack{gap:18px;display:grid}.battle-field{grid-template-columns:1fr 1fr;gap:20px;display:grid}.enemy-panel,.player-panel,.battle-log,.pin-panel{background:#fffae8c7;border:2px solid #24484c29;border-radius:8px;padding:22px}meter{width:100%;height:22px}.combat-actions{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.combat-page{gap:16px}.combat-title{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.combat-title h1{margin-bottom:0}.turn-badge{text-align:center;color:#fff7d9;background:#24484c;border-radius:8px;min-width:132px;padding:14px 18px;font-weight:950}.phase-enemy{background:#8a4c30}.phase-victory{background:#2f6d61}.phase-defeat{background:#75534b}.combat-stage{background:radial-gradient(circle at 48% 100%,#4c695052,#0000 36%),linear-gradient(#4a736447,#3d362f14);border:2px solid #24484c2e;border-radius:8px;grid-template-columns:minmax(320px,.95fr) minmax(260px,1fr);align-items:center;gap:22px;min-height:300px;padding:20px;display:grid}.monster-zone{place-items:center;min-height:260px;display:grid;position:relative}.monster{filter:drop-shadow(0 24px 18px #1626213d);width:220px;height:190px;position:relative}.boss{width:300px;height:235px}.slime-body{background:radial-gradient(circle at 35% 28%,#ffffff6b,#0000 18%),#5e9d66d1;border:4px solid #2a67418a;border-radius:48% 52% 44% 50%;position:absolute;inset:34px 24px 20px}.slime-eye,.rat-eye,.beetle-eye,.boss-eye{background:#182f31;border-radius:50%;width:14px;height:18px;position:absolute}.slime-eye.left{top:88px;left:82px}.slime-eye.right{top:86px;right:82px}.slime-moss{background:#315f42;border-radius:50%;width:38px;height:16px;position:absolute}.slime-moss.m1{top:58px;left:48px;transform:rotate(-16deg)}.slime-moss.m2{bottom:52px;right:44px;transform:rotate(12deg)}.slime-stone{background:#6f7563;border-radius:5px;width:18px;height:18px;position:absolute;top:116px;right:66px;transform:rotate(18deg)}.rat-body{background:#8c745f;border:4px solid #6c5445;border-radius:48% 44% 38% 42%;height:96px;position:absolute;bottom:38px;left:42px;right:42px}.rat-ear{background:#9b8068;border:4px solid #6c5445;border-radius:50%;width:62px;height:72px;position:absolute;top:32px}.rat-ear.left{left:48px;transform:rotate(-22deg)}.rat-ear.right{right:48px;transform:rotate(22deg)}.rat-eye.left{top:108px;left:92px}.rat-eye.right{top:108px;right:92px}.rat-tail{border-bottom:6px solid #7b5a50;border-radius:999px;width:74px;height:18px;position:absolute;bottom:54px;right:14px;transform:rotate(-18deg)}.beetle-shell{background:linear-gradient(90deg,#0000 48%,#1e2b2642 49% 51%,#0000 52%),#7e8274;border:5px solid #575d52;border-radius:52% 48% 42% 42%;height:104px;position:absolute;top:46px;left:34px;right:28px}.beetle-head{background:#676d60;border:4px solid #4b5148;border-radius:45%;width:56px;height:58px;position:absolute;top:76px;right:20px}.beetle-eye.left{top:92px;right:48px}.beetle-eye.right{top:100px;right:26px}.beetle-leg{background:#4b5148;border-radius:999px;width:54px;height:8px;position:absolute}.beetle-leg.l1{top:96px;left:8px;transform:rotate(28deg)}.beetle-leg.l2{top:128px;left:12px;transform:rotate(-24deg)}.beetle-leg.r1{top:86px;right:4px;transform:rotate(-30deg)}.beetle-leg.r2{top:142px;right:2px;transform:rotate(24deg)}.boss-body{background:#7d7769;border:6px solid #514d45;border-radius:42% 48% 36% 34%;height:128px;position:absolute;bottom:50px;left:44px;right:36px}.boss-head{background:#746b5d;border:6px solid #514d45;border-radius:42%;width:92px;height:82px;position:absolute;top:82px;right:18px}.boss-armor{clip-path:polygon(50% 0,100% 55%,72% 100%,28% 100%,0 55%);background:#5d625a;border:2px solid #3e443d;width:64px;height:52px;position:absolute}.boss-armor.a1{top:42px;left:78px}.boss-armor.a2{top:28px;left:132px}.boss-armor.a3{top:48px;left:188px}.boss-eye{top:112px;right:54px}.boss-leg{background:#5f594f;border-radius:0 0 16px 16px;width:38px;height:60px;position:absolute;bottom:12px}.boss-leg.l1{left:72px}.boss-leg.l2{left:138px}.boss-leg.r1{right:92px}.boss-leg.r2{right:42px}.enemy-status,.player-status,.combat-result,.combat-log{background:#fffae8cc;border:2px solid #24484c29;border-radius:8px}.enemy-status,.player-status,.combat-result{padding:18px}.health-wrap{background:#dfc9a4;border:2px solid #24484c2e;border-radius:999px;width:100%;height:20px;overflow:hidden}.health-fill{border-radius:inherit;background:linear-gradient(90deg,#3f9a68,#7fc66e);height:100%;transition:width .22s}.charge-warning{color:#563918;background:#f4d078;border-radius:8px;margin-top:12px;padding:10px 12px;font-weight:900}.player-combat-panel{grid-template-columns:minmax(260px,.8fr) minmax(320px,1fr);align-items:stretch;gap:16px;display:grid}.player-status{min-height:132px;position:relative}.player-status small{color:#405a5b;margin-top:8px;font-weight:800;display:block}.battle-avatar-row{grid-template-columns:72px 1fr;align-items:center;gap:10px;margin-top:10px;display:grid}.battle-avatar-row .job-avatar,.battle-avatar-row .custom-avatar{width:72px}.battle-avatar-row .avatar-head{width:18px;height:18px;top:12px;left:27px}.battle-avatar-row .avatar-body{width:24px;height:34px;top:30px;left:24px}.battle-avatar-row .avatar-cape{width:32px;height:34px;top:32px;left:20px}.battle-avatar-row .avatar-tool{width:8px;height:34px;top:28px;right:8px}.battle-avatar-row .job-avatar-knight .avatar-tool{width:20px;height:24px;top:36px;right:4px}.battle-avatar-row .job-avatar-ranger .avatar-tool{border-width:3px;width:32px;height:42px;top:22px;right:2px}.battle-avatar-row .avatar-magic{width:16px;height:16px;top:14px;right:8px}.combat-actions button{flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:82px;display:flex}.combat-actions small{color:inherit;font-size:.82rem;font-weight:800}.item-drawer{background:#24484c1a;border:2px solid #24484c29;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;display:grid}.item-drawer button{color:#23373b;background:#fffae8e6;border:0;border-radius:8px;justify-items:center;gap:8px;min-height:120px;padding:12px;font-weight:900;display:grid}.item-drawer small{color:#405a5b;margin-top:6px;display:block}.combat-log{max-height:170px;padding:14px 18px;overflow:auto}.combat-log p{color:#2c484b;margin-bottom:6px;font-size:.98rem}.combat-result h2{font-size:2rem}.loot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.boss-loot-grid{background:radial-gradient(circle at 50% 0,#f4d0784d,#0000 42%),#3a342b14;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px}.loot-card{color:#23373b;background:#fffae8eb;border:2px solid #99b8ceb3;border-radius:8px;place-items:center;gap:6px;min-height:178px;padding:14px;display:grid;position:relative;overflow:hidden;box-shadow:0 0 22px #9bcde961}.loot-card:before,.loot-card:after{content:"";pointer-events:none;position:absolute}.loot-card:before{background:#ffffffc7;border-radius:50%;width:6px;height:6px;animation:1.8s ease-in-out infinite lootParticles;top:24%;left:18%;box-shadow:42px 12px #ffffff8c,96px 36px #ffffff6b,68px 78px #ffffff70}.loot-card.revealed{place-items:start center}.loot-card.owned{opacity:.78}.loot-orb{background:#e9f7ff;border-radius:50%;width:42px;height:42px;animation:1.4s ease-in-out infinite lootPulse;box-shadow:0 0 18px #a9d8f0,0 0 34px #a9d8f08c}.item-icon{z-index:1;filter:drop-shadow(0 5px 8px #1c30333d);width:58px;height:58px;position:relative}.loot-card .item-icon{width:72px;height:72px}.item-drawer .item-icon{width:48px;height:48px}.rarity-bronze,.rarity-common{background:linear-gradient(135deg,#fffae8f0,#d2894838);border-color:#a5622ecc;box-shadow:0 0 22px #a5622e7a,inset 0 0 0 2px #8f522629}.rarity-bronze .loot-orb,.rarity-common .loot-orb{background:#d39455;box-shadow:0 0 18px #b8753c,0 0 34px #a5622e8f}.rarity-silver,.rarity-uncommon{background:linear-gradient(135deg,#fffffff5,#bcd5db52);border-color:#d6e0e2e6;box-shadow:0 0 30px #d6e0e2c7,inset 0 0 0 2px #ffffff75}.rarity-silver .loot-orb,.rarity-uncommon .loot-orb{background:#f1f7f8;box-shadow:0 0 18px #d6e0e2,0 0 38px #d6e0e2cc}.rarity-gold,.rarity-rare{background:radial-gradient(circle at 50% -8%,#ffed96bf,#0000 42%),linear-gradient(135deg,#fffae8f5,#e8ae3052);border-color:#e4b136e0;box-shadow:0 0 42px #e4b136db,0 0 0 4px #f4d0782e}.rarity-gold:after,.rarity-rare:after{background:linear-gradient(#0000,#f4d0788c,#0000);animation:1.6s ease-in-out infinite goldBeam;inset:-35% 34%}.rarity-gold .loot-orb,.rarity-rare .loot-orb{background:#fff0a6;box-shadow:0 0 20px #f4d078,0 0 44px #e4b136b3}.rarity-diamond{background:radial-gradient(circle at 50% 12%,#d7f3ffd1,#0000 35%),linear-gradient(135deg,#fffffff0,#8bd0ff42);border-color:#8bd0fff2;box-shadow:0 0 38px #8bd0ffdb,inset 0 0 20px #ffffff80}.rarity-diamond .loot-orb{background:#d7f3ff;box-shadow:0 0 22px #8bd0ff,0 0 50px #8bd0ffcc}.rarity-black-gold{color:#fff7d9;background:radial-gradient(circle at 50% 0,#f4d07857,#0000 38%),#1d1c19;border-color:#f4d078e6;box-shadow:0 0 44px #f4d078cc,inset 0 0 0 2px #f4d07857}.rarity-black-gold .loot-orb{background:#111;box-shadow:0 0 0 3px #f4d078,0 0 48px #f4d078c7}.loot-card .loot-name{font-size:1.08rem;font-weight:950}.loot-card small,.loot-card em{color:#405a5b;text-align:center}.loot-card em{font-size:.9rem;font-style:normal}.completion-banner,.loot-collection,.settlement-grid article{background:#fffae8d1;border:2px solid #24484c29;border-radius:8px;padding:18px}.completion-banner{background:radial-gradient(circle at 22% 0,#f4d0784d,#0000 36%),#fffae8db;gap:8px;display:grid}.completion-banner strong{color:#2f6d61;font-size:1.35rem}.settlement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.loot-list{gap:8px;display:grid}.loot-row{background:#e9f7ffb8;border:1px solid #99b8ceb3;border-radius:8px;grid-template-columns:42px 1fr auto auto;align-items:center;gap:10px;min-height:48px;padding:10px 12px;display:grid}.loot-row .item-icon{width:38px;height:38px}.loot-row small{color:#405a5b;font-weight:800}.loot-row strong{color:#24484c}.float-layer{pointer-events:none;position:absolute;inset:0}.float-text{color:#b52920;text-shadow:0 2px #fff7d9;font-size:2rem;font-weight:950;animation:.9s ease-out forwards floatUp;position:absolute;top:30%;left:50%}.player-floats .float-text{top:42%}.float-text.heal{color:#2f8a58}.float-text.miss,.float-text.block{color:#24484c}.effect-player-attack .monster,.effect-shield-bash .monster,.effect-rapid-shot .monster,.effect-fireball .monster{animation:.36s monsterHit}.effect-enemy-attack .player-status,.effect-boss-smash .player-status{animation:.36s playerHit}.effect-boss-charge .boss{animation:.9s ease-in-out infinite bossCharge}.effect-defend .player-status,.effect-dodge .player-status{animation:.52s guardPulse}.effect-fireball .monster-zone:before{content:"";background:radial-gradient(circle,#fff0a2 0 24%,#f06c2f 48%,#0000 70%);border-radius:50%;width:34px;height:34px;animation:.52s ease-out forwards fireballFly;position:absolute;top:42%;left:16%}.effect-shield-bash .monster-zone:before{content:"盾";color:#fff7d9;background:#24484c;border-radius:50%;place-items:center;width:52px;height:52px;font-weight:950;animation:.42s ease-out forwards shieldRush;display:grid;position:absolute;top:42%;left:22%}.effect-rapid-shot .monster-zone:before,.effect-rapid-shot .monster-zone:after{content:"";background:#7a4f18;border-radius:999px;width:70px;height:6px;animation:.34s ease-out forwards arrowFly;position:absolute;left:18%}.effect-rapid-shot .monster-zone:before{top:38%}.effect-rapid-shot .monster-zone:after{animation-delay:.22s;top:52%}@keyframes monsterHit{0%,to{transform:translate(0)}30%{transform:translate(10px)scale(.98)}60%{transform:translate(-8px)}}@keyframes playerHit{0%,to{transform:translate(0)}35%{transform:translate(-9px)}65%{transform:translate(7px)}}@keyframes guardPulse{0%,to{box-shadow:none}45%{box-shadow:0 0 0 12px #f4d07866}}@keyframes bossCharge{0%,to{filter:drop-shadow(0 24px 18px #1626213d);transform:translateY(0)}50%{filter:drop-shadow(0 30px 22px #68372461);transform:translateY(-4px)scale(1.02)}}@keyframes fireballFly{0%{opacity:1;transform:translate(0)scale(.8)}to{opacity:0;transform:translate(230px)scale(1.8)}}@keyframes shieldRush{0%{opacity:1;transform:translate(0)rotate(-10deg)}to{opacity:0;transform:translate(220px)rotate(18deg)}}@keyframes arrowFly{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(260px)}}@keyframes floatUp{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-58px)}}@keyframes lootPulse{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-4px)scale(1.08)}}@keyframes lootParticles{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-8px)}}@keyframes goldBeam{0%,to{opacity:.25;transform:scaleY(.8)}50%{opacity:.9;transform:scaleY(1.08)}}@keyframes levelUpPop{0%{opacity:0;transform:scale(.78)}18%,76%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.08)}}@keyframes growthFlash{0%{opacity:0;transform:translate(-50%,-10px)scale(.96)}15%,78%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-14px)scale(1.02)}}.decision-grid{grid-template-columns:1fr}.decision-grid button{min-height:58px;font-size:1.05rem}.file-import{position:relative}.file-import input{opacity:0;position:absolute;inset:0}.toggle-row{flex-direction:row;align-items:center}.toggle-row input{width:24px;min-height:24px}.segmented{gap:8px;display:flex}.segmented button{color:#23373b;background:#e4d3a6;border:0;border-radius:8px;min-width:64px;min-height:44px;font-weight:900}.segmented button.active{color:#fff7d9;background:#24484c}@media (width<=900px){.screen-frame{min-height:640px}.content{padding:78px 22px 96px}.start-page,.battle-field,.combat-stage,.player-combat-panel,.settlement-grid,.bag-grid,.item-drawer,.entry-grid,.reality-grid,.parent-grid,.form-grid,.stat-grid{grid-template-columns:1fr}.start-art{min-height:260px}.combat-stage{min-height:auto}.monster-zone{min-height:230px}.boss{width:250px;transform:scale(.9)}.job-grid,.skill-grid,.adventure-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){body{overflow:auto}.app-shell{min-height:100vh;padding:0}.screen-frame{border:0;border-radius:0;width:100%;height:auto;min-height:100vh}.job-grid,.skill-grid,.adventure-list,.reality-grid,.parent-grid,.task-row,.character-panel,.combat-actions,.item-drawer,.bag-grid,.loot-grid,.boss-loot-grid{grid-template-columns:1fr}.start-page{padding:18px 0}.top-bar{padding:10px 14px}.bottom-nav{padding-inline:12px}.combat-title{flex-direction:column}.turn-badge{width:100%}.monster{width:190px;transform:scale(.88)}.boss{width:230px;transform:scale(.78)}}
