@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(/assets/fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fredoka-latin-700-normal-BOIZVyIN.woff2)format("woff2"),url(/assets/fredoka-latin-700-normal-C8FeHd3X.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}:root{--cream:#fff9ec;--cream-deep:#f7ecd6;--paper:#fffdf7;--ink:#3b3a3f;--muted:#7a7168;--line:#e2d3ba;--sky:#8ed8f8;--sky-deep:#4f9bcf;--leaf:#72c77a;--leaf-deep:#4c8c55;--coral:#ff7e79;--coral-deep:#c95550;--sun:#ffd166;--sun-deep:#d9a63f;--berry:#e86fa6;--lavender:#b39ddb;--shadow:0 6px 0 #3b3a3f1a, 0 18px 40px #3b3a3f1f;--shadow-small:0 3px 0 #3b3a3f1a, 0 8px 18px #3b3a3f1a;--radius:22px;--radius-small:14px;--font-display:"Fredoka", "Nunito", ui-rounded, system-ui, sans-serif;--font-body:"Nunito", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{width:100%;height:100%;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;background:#101a2a;margin:0;overflow:hidden}button,input,select{font:inherit;color:inherit}input{-webkit-user-select:text;user-select:text}button{cursor:pointer}#app,#game-shell{position:absolute;inset:0;overflow:hidden}#viewport{z-index:0;touch-action:none;position:absolute;inset:0}.game-canvas{outline:none;width:100%;height:100%;display:block}#title-screen{z-index:60;background:radial-gradient(circle at 18% 18%,#fff9ec8c 0 12%,#0000 40%),radial-gradient(circle at 82% 74%,#ffd16657 0 10%,#0000 38%),linear-gradient(160deg,#8ed8f8 0%,#b8e7f5 42%,#d8f3d8 100%);place-items:center;padding:24px;display:grid;position:absolute;inset:0;overflow:hidden}#title-screen:before,#title-screen:after{content:"";filter:blur(2px);opacity:.55;pointer-events:none;border-radius:50%;position:absolute}#title-screen:before{background:#ffffff6b;width:420px;height:420px;top:-160px;right:-80px}#title-screen:after{background:#ffffff4d;width:520px;height:260px;bottom:-150px;left:-120px}.title-card{text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fff9ecf0;border:2px solid #e2d3bae6;border-radius:34px;width:min(520px,100%);max-height:calc(100dvh - 32px);padding:40px 38px 30px;animation:.42s cubic-bezier(.2,.9,.25,1.2) pop-in;position:relative;overflow-y:auto;box-shadow:0 18px #3b3a3f14,0 40px 90px #22465b33}@keyframes pop-in{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.logo-lockup{justify-content:center;align-items:center;gap:14px;margin-top:6px;display:flex}.logo-mark{color:#3f5e35;background:linear-gradient(145deg,#d7f2b5,#8ed8a0);border:2px solid #4c8c5547;border-radius:22px;place-items:center;width:66px;height:66px;display:grid;transform:rotate(-3deg);box-shadow:inset 0 -5px #4c8c5524,0 8px #4c8c5514}.logo-title{font-family:var(--font-display);letter-spacing:.045em;color:#39463a;text-shadow:0 3px #ffffffbf;margin:0;font-size:clamp(40px,8vw,58px);font-weight:700;line-height:.95}.logo-subtitle{color:#6c7a65;letter-spacing:.2em;text-transform:uppercase;margin:3px 0 0;font-size:13px;font-weight:700}.title-copy{color:#5f5a53;max-width:390px;margin:18px auto 22px;font-size:15px;line-height:1.55}.title-decor{pointer-events:none;position:absolute;inset:0}.sokemon-ball{--accent:#4c8c55;--scale:1;width:112px;height:112px;transform:scale(var(--scale));border:2px solid #3b3a3f2e;border-radius:50%;position:relative;box-shadow:inset -14px -18px #00000014,inset 10px 12px #ffffff3d,0 10px #3b3a3f1a}.title-decor .sokemon-ball{animation:5s ease-in-out infinite float;position:absolute}.title-decor .sokemon-ball:first-child{width:78px;height:78px;animation-delay:-1.4s;top:30px;left:-18px}.title-decor .sokemon-ball:nth-child(2){width:68px;height:68px;animation-delay:-2.6s;top:66px;right:-14px}.title-decor .sokemon-ball:nth-child(3){width:52px;height:52px;animation-delay:-.5s;top:-28px;right:42px}@keyframes float{0%,to{transform:translateY(0) scale(var(--scale))}50%{transform:translateY(-12px) scale(var(--scale))}}.ball-eye{background:#2f2d32;border-radius:50%;width:17%;height:19%;position:absolute;top:39%;box-shadow:inset -2px -2px #ffffff29}.ball-eye:after{content:"";background:#fff;border-radius:50%;width:36%;height:36%;position:absolute;top:16%;left:16%}.ball-eye.left{left:27%}.ball-eye.right{right:27%}.ball-cheek{background:#ffffff6b;border-radius:50%;width:15%;height:8%;position:absolute;bottom:26%}.ball-cheek.left{left:16%}.ball-cheek.right{right:16%}.sokemon-ball.mini{flex:none;width:56px;height:56px}.sokemon-ball.large{width:112px;height:112px}.sokemon-ball.mini .ball-eye{width:15%;height:17%}.seed-row{border:1px solid var(--line);background:#ffffff8a;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 12px 10px 16px;display:flex}.seed-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:800}.seed-control{flex:1;justify-content:flex-end;align-items:center;gap:6px;display:flex}.seed-input{border:1px solid var(--line);background:var(--paper);text-align:right;border-radius:10px;outline:none;width:120px;padding:8px 10px;font-weight:700}.seed-input:focus{border-color:var(--sun-deep);box-shadow:0 0 0 3px #ffd16647}.title-buttons{flex-direction:column;align-items:center;gap:10px;display:flex}.btn{letter-spacing:.01em;border:2px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 20px;font-weight:800;transition:transform .12s,box-shadow .12s,filter .12s;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-2px)}.btn:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.btn:disabled{cursor:not-allowed;opacity:.48;filter:saturate(.55)}.btn-primary{color:#3d3a2f;background:linear-gradient(180deg, #ffe08a, var(--sun));border-color:#e2b64d;box-shadow:0 5px #c99a32,0 12px 20px #c99a3238}.btn-secondary{color:#4d4a43;border-color:var(--line);background:linear-gradient(#fff,#f4ead7);box-shadow:0 4px #3b3a3f1a}.btn-ghost{color:var(--muted);box-shadow:none;background:0 0;border-color:#0000;min-height:36px;padding:8px 12px}.btn-small{font-size:13px}.btn-wide{width:100%}.seed-random{border:1px solid var(--line);width:34px;height:34px;min-height:34px;color:var(--muted);background:#fff9;border-radius:10px;padding:0}.title-help{border:1px solid var(--line);text-align:left;background:#ffffff80;border-radius:16px;margin-top:10px;padding:14px}.help-grid{color:#5f5a53;grid-template-columns:1fr 1fr;gap:7px 14px;font-size:12px;display:grid}.help-grid>div{align-items:center;gap:7px;display:flex}.key{min-width:30px;height:23px;font-family:var(--font-body);color:#615b51;white-space:nowrap;background:#f0e5d1;border:1px solid #ddccb1;border-radius:7px;justify-content:center;align-items:center;padding:0 6px;font-size:10px;font-weight:800;display:inline-flex;box-shadow:0 2px #d5c3a7}.title-footnote{color:#8d857a;letter-spacing:.04em;margin:16px 0 0;font-size:11px;font-weight:700}#loading-screen{z-index:70;background:linear-gradient(160deg,#8ed8f8,#d8f3d8);place-items:center;display:grid;position:absolute;inset:0}.loading-card{text-align:center;color:#405449;border:2px solid var(--line);box-shadow:var(--shadow);background:#fff9ece6;border-radius:30px;padding:38px 44px}.loading-card h2{font-family:var(--font-display);margin:16px 0 6px;font-size:24px}.loading-card p{color:var(--muted);margin:0;font-size:13px}.loading-ball{background:linear-gradient(145deg,#8ed8f8,#72c77a);border:2px solid #3b3a3f2e;border-radius:50%;width:74px;height:74px;margin:0 auto;animation:1.2s ease-in-out infinite loading-bounce;position:relative;box-shadow:inset -10px -12px #00000014,0 8px #3b3a3f14}.loading-eye{background:#2f2d32;border-radius:50%;width:13px;height:15px;position:absolute;top:38%}.loading-eye.left{left:26%}.loading-eye.right{right:26%}@keyframes loading-bounce{0%,to{transform:translateY(0)scale(1)}45%{transform:translateY(-14px)scale(.96,1.04)}70%{transform:translateY(0)scale(1.05,.95)}}#hud{z-index:10;pointer-events:none;font-family:var(--font-body);position:absolute;inset:0}.hud-top-left{top:max(16px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));flex-direction:column;align-items:flex-start;gap:9px;display:flex;position:absolute}.brand-pill{box-shadow:var(--shadow-small);font-family:var(--font-display);letter-spacing:.1em;color:#465044;background:#fff9eceb;border:2px solid #e2d3baf2;border-radius:999px;align-items:center;gap:8px;padding:7px 13px 7px 8px;font-size:14px;font-weight:700;display:flex}.brand-dot{color:#3f5e35;background:linear-gradient(145deg,#d7f2b5,#8ed8a0);border-radius:50%;place-items:center;width:27px;height:27px;display:grid}.status-row{flex-wrap:wrap;gap:5px;max-width:330px;display:flex}.status-chip{color:#5f5a53;background:#fff9ecd6;border:1px solid #e2d3baeb;border-radius:10px;align-items:center;gap:5px;padding:5px 9px;font-size:11px;font-weight:800;display:flex;box-shadow:0 2px #3b3a3f0f}.status-icon{color:#9b8d78;display:flex}.rank-chip{color:#8b6a24}.status-value{white-space:nowrap}.top-actions{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));pointer-events:auto;gap:7px;display:flex;position:absolute}.icon-btn{color:#5f5a53;width:42px;height:42px;box-shadow:var(--shadow-small);background:#fff9eceb;border:2px solid #e2d3baf2;border-radius:14px;place-items:center;padding:0;transition:transform .12s,background .12s;display:grid}.icon-btn:hover{background:#fffdf7;transform:translateY(-2px)}.icon-btn:active{transform:translateY(1px)}#crosshair{pointer-events:none;opacity:.9;width:18px;height:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#crosshair:before,#crosshair:after{content:"";background:#ffffffe6;position:absolute;box-shadow:0 0 0 1px #3b3a3f59,0 0 8px #3b3a3f40}#crosshair:before{width:18px;height:2px;top:8px;left:0}#crosshair:after{width:2px;height:18px;top:0;left:8px}.prompt{color:#fffdf7;letter-spacing:.01em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;background:#3b3a3fd1;border-radius:999px;max-width:80vw;padding:8px 15px;font-size:13px;font-weight:800;position:absolute;bottom:136px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #222a3438}.hotbar-wrap{left:50%;bottom:max(20px, env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:7px;width:min(760px,100vw - 32px);display:flex;position:absolute;transform:translate(-50%)}.selected-label{color:#6b6257;background:#fff9ece0;border:1px solid #e2d3baeb;border-radius:999px;padding:4px 13px;font-size:11px;font-weight:800;box-shadow:0 2px #3b3a3f0f}.hotbar{width:100%;box-shadow:var(--shadow);scrollbar-width:none;pointer-events:auto;background:#fff9ece6;border:2px solid #e2d3baf5;border-radius:20px;justify-content:center;gap:5px;padding:8px;display:flex;overflow-x:auto}.hotbar::-webkit-scrollbar{display:none}.hotbar-slot{background:#ffffff8f;border:2px solid #0000;border-radius:13px;flex-direction:column;flex:0 0 54px;justify-content:center;align-items:center;gap:2px;height:58px;padding:5px;transition:transform .12s,background .12s,border-color .12s;display:flex;position:relative}.hotbar-slot:hover{background:#fffdf7;transform:translateY(-3px)}.hotbar-slot.selected{border-color:var(--sun-deep);background:linear-gradient(#fff3bf,#ffe8a0);transform:translateY(-4px);box-shadow:0 4px #d9a63f66}.hotbar-slot.empty{opacity:.55}.slot-swatch{border:1px solid #3b3a3f29;border-radius:8px;width:27px;height:27px;box-shadow:inset 0 -5px #00000014,inset 0 3px #ffffff2e}.slot-swatch.prop{border-radius:50% 50% 42% 42%}.slot-swatch.material{border-radius:6px;transform:rotate(8deg)}.slot-key{color:#3b3a3f73;font-size:9px;font-weight:800;position:absolute;top:3px;left:5px}.slot-count{color:#6b6257;font-size:10px;font-weight:800;line-height:1}.hint-bar{left:max(16px, env(safe-area-inset-left));bottom:max(18px, env(safe-area-inset-bottom));color:#ffffffe6;letter-spacing:.02em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#3b3a3f8f;border-radius:9px;max-width:280px;padding:6px 10px;font-size:10px;font-weight:700;display:none;position:absolute}.stats-text{right:max(16px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));color:#ffffffd9;background:#3b3a3f80;border-radius:8px;padding:5px 9px;font-size:10px;font-weight:700;position:absolute}.ability-pill{left:max(18px, env(safe-area-inset-left));bottom:max(104px, calc(env(safe-area-inset-bottom) + 104px));max-width:260px;box-shadow:var(--shadow-small);color:#5c5348;background:#fff9eceb;border:2px solid #e2d3baf2;border-radius:16px;align-items:center;gap:9px;padding:10px 13px;display:flex;position:absolute}.ability-pill .ability-icon{color:#6d5792;background:linear-gradient(145deg,#f0e3ff,#cbb9ee);border-radius:50%;flex:none;place-items:center;width:32px;height:32px;display:grid}.ability-pill strong{font-size:12px;display:block}.ability-pill small{color:var(--muted);margin-top:1px;font-size:10px;line-height:1.25;display:block}.request-card,.goal-card{left:max(18px, env(safe-area-inset-left));width:252px;box-shadow:var(--shadow-small);background:#fff9ecf0;border:2px solid #e2d3baf2;border-radius:16px;padding:12px 14px;transition:transform .12s;position:absolute;top:104px}.request-card:hover,.goal-card:hover{background:#fffdf7;transform:translateY(-2px)rotate(-.3deg)}.card-eyebrow{color:#8b816f;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:5px;margin-bottom:5px;font-size:10px;font-weight:800;display:flex}.request-card p,.goal-card p{color:#4f4a43;margin:0 0 7px;font-size:12px;line-height:1.4}.request-progress{color:#9a7d45;align-items:center;gap:5px;font-size:10px;font-weight:800;display:flex}.request-progress.complete{color:var(--leaf-deep)}.habitat-card{left:max(18px, env(safe-area-inset-left));bottom:max(176px, calc(env(safe-area-inset-bottom) + 176px));width:252px;box-shadow:var(--shadow-small);background:#fff9eceb;border:2px solid #e2d3baf2;border-radius:14px;padding:11px 13px;position:absolute}.tag-row{flex-wrap:wrap;gap:4px;display:flex}.tag{color:#8b7b63;background:#f0e6d3;border:1px solid #e0d0b6;border-radius:999px;padding:2px 7px;font-size:9px;font-weight:800}.tag.ok{color:#4c7d44;background:#e4f5df;border-color:#b9dfaf}.habitat-meter{background:#eadfca;border-radius:999px;height:6px;margin-top:7px;overflow:hidden}.habitat-meter span{border-radius:inherit;background:linear-gradient(90deg,#8ed8a0,#72c77a);height:100%;transition:width .24s;display:block}.touch-controls{pointer-events:none;z-index:20;position:absolute;inset:0}.joystick-zone{left:max(18px, env(safe-area-inset-left));bottom:max(18px, env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;place-items:center;width:128px;height:128px;display:grid;position:absolute}.joystick-base{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);touch-action:none;background:#3b3a3f47;border:2px solid #ffffff6b;border-radius:50%;place-items:center;width:116px;height:116px;display:grid;box-shadow:inset 0 0 0 8px #ffffff14,0 8px 18px #00000029}.joystick-thumb{pointer-events:none;background:linear-gradient(145deg,#ffe08a,#ffb84d);border:2px solid #fff9;border-radius:50%;width:52px;height:52px;box-shadow:0 4px #c99a328c,inset 0 3px #ffffff59}.action-pad{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;flex-direction:column;align-items:flex-end;gap:7px;display:flex;position:absolute}.touch-row{align-items:flex-end;gap:7px;display:flex}.touch-btn{color:#3d3a2f;touch-action:none;background:#fff9ece6;border:2px solid #fff6;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:70px;height:70px;transition:transform 80ms,filter 80ms;display:flex;box-shadow:0 5px #3b3a3f2e,0 10px 18px #00000029}.touch-btn span{letter-spacing:.06em;font-size:8px;font-weight:900}.touch-btn svg{width:21px;height:21px}.touch-btn.pressed{filter:brightness(1.06);transform:translateY(3px)scale(.97);box-shadow:0 2px #3b3a3f29}.touch-small{border-radius:15px;width:48px;height:48px}.touch-small svg{width:17px;height:17px}.touch-small span{font-size:7px}.touch-medium{border-radius:18px;width:58px;height:58px}.touch-row.large{gap:9px}.touch-mine{background:linear-gradient(#ffaaa2,#ff8b82)}.touch-build{background:linear-gradient(#a4e2a2,#7ccc80)}.touch-jump{background:linear-gradient(#ffe38f,#ffc94d);border-radius:50%;width:78px;height:78px}#toast-container{top:max(78px, calc(env(safe-area-inset-top) + 78px));z-index:80;pointer-events:none;flex-direction:column;align-items:center;gap:7px;width:min(420px,100vw - 28px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.toast{color:#fffdf7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;background:#3b3a3fe0;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:8px;max-width:100%;padding:9px 14px;font-size:12px;font-weight:800;transition:opacity .22s,transform .22s;display:flex;transform:translateY(-8px)scale(.97);box-shadow:0 8px 22px #0000002e}.toast.show{opacity:1;transform:translateY(0)scale(1)}.toast.success{background:#3e7040eb}.toast.warning{background:#8f602ceb}.menu-layer{z-index:50;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);pointer-events:auto;background:#262b346b;place-items:center;padding:22px;animation:.16s fade-in;display:grid;position:absolute;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.menu-card{background:var(--cream);border:2px solid #e2d3baf5;border-radius:28px;flex-direction:column;width:min(780px,100%);max-height:min(82vh,760px);animation:.22s cubic-bezier(.2,.9,.3,1.1) menu-pop;display:flex;overflow:hidden;box-shadow:0 12px #3b3a3f14,0 34px 80px #00000047}@keyframes menu-pop{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.menu-header{background:linear-gradient(#fffdf7,#fbf3e3);border-bottom:1px solid #e2d3bacc;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 14px;display:flex}.menu-title{font-family:var(--font-display);color:#4a4943;align-items:center;gap:9px;font-size:21px;font-weight:700;display:flex}.menu-title svg{color:#8b7c65}.menu-close{border-radius:12px;width:38px;height:38px;box-shadow:0 2px #3b3a3f14}.menu-body{scrollbar-width:thin;scrollbar-color:#d8c7a9 transparent;padding:17px 20px 22px;overflow-y:auto}.menu-body::-webkit-scrollbar{width:8px}.menu-body::-webkit-scrollbar-thumb{background:#d8c7a9;border-radius:999px}.menu-intro{color:var(--muted);margin:0 0 14px;font-size:12px;line-height:1.45}.section-title{font-family:var(--font-display);color:#5b554b;margin:18px 0 8px;font-size:16px}.item-grid,.recipe-grid,.journal-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.item-card{text-align:left;background:#fffdf7;border:2px solid #eadcc5;border-radius:13px;align-items:center;gap:10px;padding:9px 10px;transition:transform .11s,border-color .11s,background .11s;display:flex;box-shadow:0 2px #3b3a3f0d}.item-card.placeable:hover{background:#fff8df;border-color:#d7b865;transform:translateY(-2px)}.item-card:disabled{cursor:default;opacity:.78}.item-swatch{border:1px solid #3b3a3f2e;border-radius:9px;flex:none;width:34px;height:34px;box-shadow:inset 0 -6px #00000014,inset 0 3px #fff3}.item-info{flex-direction:column;min-width:0;display:flex}.item-info strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.item-info small{color:#988c7b;font-size:9px;font-weight:700}.slot-badge{color:#a27b2f;text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:8px;font-weight:900}.empty-note,.menu-note{color:var(--muted);font-size:12px;line-height:1.5}.recipe-card{opacity:.7;background:#fffdf7;border:2px solid #eadcc5;border-radius:15px;flex-direction:column;gap:6px;padding:11px;display:flex}.recipe-card.can-craft{opacity:1;background:#fbfff5;border-color:#c8dfae}.recipe-top{align-items:center;gap:8px;display:flex}.recipe-swatch{border:1px solid #3b3a3f26;border-radius:9px;width:34px;height:34px;box-shadow:inset 0 -5px #00000012}.recipe-heading{flex-direction:column;display:flex}.recipe-heading strong{font-size:12px}.recipe-heading small{color:#988c7b;font-size:9px;font-weight:800}.recipe-description{color:#8d8375;min-height:28px;margin:0;font-size:10px;line-height:1.35}.ingredient-row{flex-wrap:wrap;gap:4px;display:flex}.ingredient{color:#8b7d69;background:#f2e9d8;border-radius:999px;align-items:center;gap:3px;padding:2px 6px;font-size:9px;font-weight:800;display:inline-flex}.ingredient.have{color:#4d7c43;background:#e3f3dc}.ingredient-dot{border:1px solid #3b3a3f26;border-radius:50%;width:7px;height:7px}.btn-craft{color:#3d3a2f;background:#ffe08a;border:1px solid #e2b64d;border-radius:10px;width:100%;min-height:34px;margin-top:auto;padding:6px;font-size:11px;box-shadow:0 3px #c99a32}.btn-craft:disabled{box-shadow:none;background:#eee5d2;border-color:#ddcfb8}.journal-card{background:#fffdf7;border:2px solid #eadcc5;border-radius:15px;flex-direction:column;gap:6px;padding:11px;display:flex}.journal-card.resident{background:#fbfff8;border-color:#b9dfaf}.journal-card.locked{opacity:.62;filter:saturate(.4)}.journal-heading{flex-direction:column;display:flex}.journal-heading strong{font-size:13px}.journal-heading small{color:#988c7b;font-size:9px;font-weight:700}.journal-description{color:#7d7468;min-height:40px;margin:0;font-size:10px;line-height:1.4}.hearts{color:#d86f82;align-items:center;gap:3px;font-size:11px;font-weight:900;display:inline-flex}.journal-ability{color:#715b94;background:#f1e9fb;border-radius:9px;gap:5px;padding:6px 7px;font-size:9px;line-height:1.35;display:flex}.journal-request-count{color:#a3937d;text-align:right;margin-top:auto;font-size:9px;font-weight:800}.request-list{flex-direction:column;gap:8px;display:flex}.request-entry{background:#fffdf7;border:2px solid #eadcc5;border-radius:14px;align-items:flex-start;gap:10px;padding:11px;display:flex}.request-entry.complete{background:#f8fff4;border-color:#b9dfaf}.request-dot{border:1px solid #3b3a3f2e;border-radius:50%;flex:none;width:34px;height:34px;box-shadow:inset -4px -5px #00000014}.request-entry-body{flex:1;min-width:0}.request-entry-body strong{font-size:12px}.request-entry-body p{color:#6d655b;margin:2px 0;font-size:11px}.request-entry-body small{color:#a1937f;font-size:9px;font-weight:700}.request-entry-progress{color:#a27b2f;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:5px;font-size:9px;font-weight:900;display:flex}.btn-small{border-radius:8px;min-height:28px;padding:4px 10px;font-size:10px}.settings-list{flex-direction:column;gap:8px;display:flex}.settings-row{background:#fffdf7;border:2px solid #eadcc5;border-radius:13px;justify-content:space-between;align-items:center;gap:14px;padding:11px 12px;display:flex}.settings-row strong{font-size:12px;display:block}.settings-row small{color:#988c7b;margin-top:2px;font-size:9px;font-weight:700;display:block}.toggle{color:#8b7d69;background:#f4ead8;border:2px solid #ddcfb8;border-radius:999px;min-width:64px;padding:7px 12px;font-size:10px;font-weight:900}.toggle.on{color:#4d7c43;background:#e3f3dc;border-color:#9fd58e}.select-control{background:#fffdf7;border:2px solid #ddcfb8;border-radius:10px;min-width:100px;padding:7px 9px;font-size:11px;font-weight:800}.range-control{accent-color:#d9a63f;width:130px}.pause-list{flex-direction:column;gap:8px;max-width:330px;margin:0 auto;display:flex}.help-columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}.help-section h3{align-items:center;gap:6px;margin-top:0;display:flex}.help-line{color:#6d655b;align-items:center;gap:8px;padding:4px 0;font-size:11px;display:flex}.dialog-card{width:min(560px,100%)}.dialog-portrait{background:radial-gradient(circle at 50% 55%,#ffffffe6,#0000 68%);place-items:center;padding:14px 0 2px;display:grid}.dialog-description{color:#6d655b;text-align:center;margin:0 0 10px;font-size:12px;line-height:1.5}.dialog-status{justify-content:center;align-items:center;gap:9px;margin-bottom:12px;display:flex}.dialog-body .request-box{background:#fffdf7;border:2px solid #eadcc5;border-radius:14px;padding:12px}.request-box p{color:#57514a;margin:0 0 6px;font-size:12px;line-height:1.4}.request-hint{color:#9a8f7e;font-size:10px;font-weight:700}.dialog-actions{justify-content:center;gap:8px;margin-top:12px;display:flex}.ability-note{color:#715b94;background:#f1e9fb;border-radius:10px;gap:7px;margin-top:12px;padding:8px 10px;font-size:10px;line-height:1.4;display:flex}@media (width<=900px),(pointer:coarse){.hint-bar{display:none}.hotbar-wrap{bottom:max(224px, calc(env(safe-area-inset-bottom) + 224px));width:min(600px,100vw - 20px)}.hotbar{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:6px;display:grid;overflow:visible}.prompt{bottom:max(382px, calc(env(safe-area-inset-bottom) + 382px))}.ability-pill{top:max(100px, calc(env(safe-area-inset-top) + 100px));width:204px;max-width:204px;padding:8px 10px;bottom:auto}.ability-pill small{display:none}.habitat-card{top:max(156px, calc(env(safe-area-inset-top) + 156px));width:204px;bottom:auto}.request-card,.goal-card{width:204px;top:max(156px, calc(env(safe-area-inset-top) + 156px))}.hotbar-slot{flex:initial;width:auto;height:46px}.slot-swatch{width:23px;height:23px}.top-actions .icon-btn{width:38px;height:38px}.hud-top-left{top:max(10px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left))}.top-actions{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right))}.request-card,.goal-card{top:max(156px, calc(env(safe-area-inset-top) + 156px))}}@media (width<=620px){.status-row{max-width:220px}.status-chip:nth-child(3){display:none}.habitat-card,.ability-pill,.request-card,.goal-card{width:190px;left:10px}.title-card{border-radius:26px;padding:28px 20px 22px}.logo-mark{border-radius:18px;width:54px;height:54px}.title-decor{display:none}.title-help .help-grid,.help-columns{grid-template-columns:1fr}.menu-card{border-radius:22px;max-height:88vh}.menu-header{padding:14px 14px 11px}.menu-body{padding:13px 14px 18px}.item-grid,.recipe-grid,.journal-grid{grid-template-columns:1fr 1fr}.touch-btn{border-radius:18px;width:60px;height:60px}.touch-jump{width:68px;height:68px}.joystick-zone{width:112px;height:112px}.joystick-base{width:102px;height:102px}.joystick-thumb{width:46px;height:46px}}@media (width<=440px){.item-grid,.recipe-grid,.journal-grid{grid-template-columns:1fr}.top-actions{gap:4px}.top-actions .icon-btn:nth-child(3),.status-chip:nth-child(2){display:none}}@media (width<=380px){.brand-pill>span:last-child{display:none}.top-actions .icon-btn{border-radius:11px;width:34px;height:34px}.seed-input{width:92px}.joystick-zone{width:96px;height:96px;bottom:8px;left:8px}.joystick-base{width:88px;height:88px}.joystick-thumb{width:40px;height:40px}.action-pad{gap:4px;bottom:8px;right:8px}.touch-row{gap:4px}.touch-btn{border-radius:16px;width:52px;height:52px}.touch-jump{width:60px;height:60px}.touch-small{width:42px;height:42px}.touch-medium{width:48px;height:48px}.hotbar-wrap{bottom:max(196px, calc(env(safe-area-inset-bottom) + 196px))}.prompt{bottom:max(350px, calc(env(safe-area-inset-bottom) + 350px))}}@media (height<=520px) and (orientation:landscape){.status-row .status-chip:nth-child(2),.status-row .status-chip:nth-child(3){display:none}.goal-card{width:196px;padding:8px 10px;top:88px;bottom:auto;left:8px}.goal-card .card-eyebrow{margin-bottom:3px}.goal-card p{margin-bottom:4px;font-size:10px}.request-card,.habitat-card,.ability-pill{display:none}.hotbar-wrap{bottom:max(8px, env(safe-area-inset-bottom));width:min(340px,100vw - 360px)}.hotbar{gap:2px;padding:4px;display:flex;overflow:hidden}.hotbar-slot{border-radius:9px;flex:1 1 0;gap:1px;width:auto;height:40px;padding:2px}.slot-swatch{border-radius:6px;width:20px;height:20px}.slot-count{font-size:8px}.slot-key{font-size:7px;top:1px;left:3px}.selected-label{padding:2px 8px;font-size:9px}.prompt{bottom:max(88px, calc(env(safe-area-inset-bottom) + 88px));padding:4px 10px;font-size:10px}.joystick-zone{width:96px;height:96px;bottom:8px;left:8px}.joystick-base{width:88px;height:88px}.joystick-thumb{width:40px;height:40px}.action-pad{gap:3px;bottom:8px;right:8px}.touch-row{gap:3px}.touch-btn{border-radius:14px;width:48px;height:48px}.touch-btn svg{width:16px;height:16px}.touch-btn span{font-size:6px}.touch-jump{width:56px;height:56px}.touch-small{border-radius:12px;width:38px;height:38px}.touch-medium{border-radius:14px;width:44px;height:44px}.top-actions .icon-btn{border-radius:11px;width:34px;height:34px}}
