:root{font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',system-ui,sans-serif;color:#213b36;background:#f3f0e7}*{box-sizing:border-box}body{margin:0;font-size:18px;font-weight:600;line-height:1.75;overflow-wrap:anywhere}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #cc7148;outline-offset:4px}button:hover:not(:disabled){transform:translateY(-2px)}button{transition:transform .15s}header{background:#183b35;color:#f5f0df;padding:22px 5%;display:flex;justify-content:space-between;align-items:center}.brand{font-weight:800;letter-spacing:2px;font-size:23px}.brand small{display:block;font-weight:600;font-size:14px;letter-spacing:3px;color:#acbfb3;margin-top:5px}.header-actions{display:flex;gap:10px}.subtle{background:transparent;border:1px solid #ffffff40;border-radius:7px;color:inherit;font-size:15px;padding:9px 13px}.layout{max-width:1360px;margin:0 auto;padding:30px 30px 15px}.intro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:23px}.eyebrow{font-size:14px;font-weight:bold;letter-spacing:2px;color:#8a7856;margin:0 0 10px}h1{font-size:31px;letter-spacing:-.5px;margin:0 0 10px}h2{font-size:24px;margin:0 0 13px}h3{font-size:19px;margin:0 0 12px}p{line-height:1.85}.intro p{font-size:18px;color:#6e8075;margin:0}.goal{border:1px dashed #a4ad8c;border-radius:8px;font-size:15px;padding:13px 17px;line-height:1.8;min-width:215px;background:#efeedc}.goal b{display:block;color:#688151}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:20px}.day{padding:10px;border-radius:7px;border:1px solid #d9ddcd;color:#9ca28e;font-size:14px;background:#f8f6ef}.day strong{font-size:19px;display:block;margin-bottom:4px}.day.current{background:#244e40;color:#fcf8e7;border-color:#244e40}.day.done{color:#64835e;background:#e6eadb}.main-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px}.world{background:#e6e9d9;border:1px solid #d2d9c5;border-radius:15px;overflow:hidden;position:relative}.world-top{padding:17px 21px;display:flex;justify-content:space-between;font-size:14px;color:#637760;letter-spacing:1px}.live-dot{color:#77904c}.street{height:250px;position:relative;display:flex;justify-content:center;align-items:end;background:linear-gradient(#e6e9d9 80%,#d1d6bf 80%);overflow:hidden}.sun{position:absolute;top:20px;right:15%;height:47px;width:47px;border-radius:50%;background:#f2d08d}.cloud{position:absolute;background:#f6f4e5;left:14%;top:43px;width:76px;height:14px;border-radius:30px}.cloud:after{content:'';position:absolute;background:inherit;width:30px;height:25px;border-radius:50%;left:23px;bottom:0}.building{z-index:1;width:290px;height:188px;background:#f4e7c9;border:3px solid #375b46;border-bottom:0;position:relative;border-radius:7px 7px 0 0;margin-bottom:12px;box-shadow:10px 10px 0 #64744c20}.sign{position:absolute;top:12px;left:24px;right:24px;background:#385b47;color:#f8edcf;text-align:center;padding:9px;font-size:20px;font-weight:700;letter-spacing:6px}.awning{position:absolute;top:57px;left:-12px;right:-12px;height:30px;background:repeating-linear-gradient(90deg,#d88a61 0 25px,#f7e6c3 25px 50px);border:2px solid #385b47;border-radius:0 0 8px 8px;box-shadow:0 5px 0 #00000009}.window{position:absolute;top:101px;left:20px;width:151px;height:67px;background:#bfd0b1;border:3px solid #385b47;display:flex;justify-content:center;align-items:end;gap:6px;padding:7px}.window span{font-size:31px}.door{position:absolute;right:21px;bottom:0;width:57px;height:91px;background:#42664c;border:4px solid #385b47}.door:before{content:'';position:absolute;inset:5px 5px 25px;background:#b4c9a7}.door:after{content:'';position:absolute;right:3px;top:52px;width:5px;height:5px;background:#f9dda3;border-radius:50%}.tree{position:absolute;left:10%;bottom:30px;width:49px;height:81px;background:#81966c;border-radius:60% 60% 30% 30%}.tree:after{content:'';position:absolute;width:7px;height:44px;background:#7e7754;bottom:-22px;left:21px}.plant{position:absolute;right:11%;bottom:15px;font-size:44px}.bubble{position:absolute;z-index:2;top:12px;left:50%;transform:translateX(-50%);background:#fffef5;padding:9px 15px;border-radius:14px;font-size:15px;box-shadow:0 4px 10px #3e51391a;white-space:nowrap}.resources{display:grid;grid-template-columns:1fr 1fr;background:#f9f7ed;gap:1px;border-top:1px solid #d2d9c5}.resource{padding:18px 20px;background:#fffdf6;min-height:104px}.resource small{font-size:14px;color:#89917c}.resource strong{display:block;font-size:27px;margin:7px 0}.resource em{font-style:normal;font-size:14px;color:#7b8d73}.resource .coins{color:#ae843b}.resource .boxes{color:#688659}.token-rack{display:flex;gap:8px;flex-wrap:wrap;padding:16px 20px;background:#f5f3e7;border-top:1px dashed #d6d9c7;min-height:63px}.token{font-size:14px;padding:9px 10px;border-radius:5px;border:1px solid #b5c9a9;background:#eaf1df;color:#506c45}.token.owe{background:#faecdf;border-color:#debea2;color:#976440}.empty{font-size:15px;color:#9a9d89}.cash-alert{background:#f7d9b8;color:#79522b;font-size:15px;padding:12px 20px}.mission{background:#fffdf6;border:1px solid #d9ddcd;border-radius:13px;padding:24px;align-self:start}.person{display:flex;align-items:center;gap:11px;margin-bottom:19px}.avatar{width:42px;height:42px;border-radius:50%;background:#ece6d3;font-size:28px;display:grid;place-items:center}.person b{font-size:18px}.person small{display:block;font-size:14px;color:#8d927f;margin-top:5px}.mission p{font-size:18px;color:#6f7b67}.choice{display:block;width:100%;text-align:left;background:#f8f7ed;border:1px solid #d5ddc5;border-radius:8px;padding:15px;margin-top:10px;color:#34523d}.choice b{display:block;font-size:17px;line-height:1.7}.choice span{display:block;font-size:15px;color:#849072;line-height:1.8;margin-top:5px}.choice .tag{display:inline-block;font-size:14px;background:#e9eddc;padding:3px 7px;border-radius:4px;margin-bottom:6px}.note{font-size:14px!important;color:#969b86!important}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.card{background:#fffdf6;border:1px solid #dbdece;border-radius:12px;padding:22px}.profit-top{display:flex;justify-content:space-between;align-items:start}.profit-value{font-size:31px;color:#385d46;font-weight:bold}.mini-bars{display:grid;grid-template-columns:52px 1fr 68px;gap:10px;align-items:center;font-size:14px;margin:17px 0;color:#6f7e67}.bar{height:10px;background:#edeee2;border-radius:3px;overflow:hidden}.bar i{display:block;height:100%;background:#8a9c65}.bar.cost i{background:#d5aa7d}.small-btn{border:1px solid #d6ddc8;background:#f7f6ed;color:#648052;padding:9px 13px;font-size:15px;border-radius:6px}.primary{background:#2e5a44;color:#fffbed;border:0;padding:13px 20px;border-radius:7px;font-size:18px;font-weight:600}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.movement{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:18px;margin:15px 0}.movement span{padding:9px;background:#f0f1e4;border-radius:6px}.movement b{color:#8a996f}.discovery{background:#f3edcf;border:1px solid #e4d9a8;border-radius:8px;padding:16px;margin-top:18px;font-size:18px;line-height:1.9}.discovery strong{color:#82693e}.recent{font-size:15px;line-height:1.9;color:#7b8771}.recent b{color:#486144}.event{animation:appear .35s ease-out}.modal-shade{position:fixed;inset:0;background:#152e2aa8;z-index:20;display:grid;place-items:center;padding:20px;overflow:auto;backdrop-filter:blur(5px)}.modal{background:#fcfaf1;padding:30px;border:1px solid #d4ddc4;border-radius:15px;max-width:700px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 20px 100px #0e272340}.modal-close{float:right;background:#ecefe0;border:0;border-radius:50%;width:30px;height:30px;color:#5d735a}.modal p{font-size:18px;color:#76816e}.atlas-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.concept{padding:15px;background:#f0f1e4;border-radius:8px}.concept b{display:block;font-size:18px;margin:6px 0}.concept small{font-size:14px;color:#8f977f}.concept.locked{opacity:.6}.concept p{margin:7px 0}.trial{width:100%;border-collapse:collapse;font-size:15px}.trial th,.trial td{padding:10px;border-bottom:1px solid #dde2d1;text-align:left}.trial td:nth-child(n+2),.trial th:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px}.comparison>div{background:#ecf0e1;padding:16px;border-radius:8px;font-size:15px}.comparison strong{display:block;font-size:26px;margin:8px 0}.meter-label{font-size:14px;color:#829174}.attention{color:#b77343}.dial{margin:18px 0;padding:16px;background:#eef0e2;border-radius:9px}.dial label{display:block;font-size:18px;margin-bottom:10px}.dial input{width:100%;accent-color:#668951}.equation{background:#e9eddf;padding:15px;margin:14px 0;border-radius:7px;font-size:18px;text-align:center;line-height:1.9}.footer{display:flex;justify-content:space-between;font-size:14px;color:#9c9f8e;padding:24px 0 5px}.lose{background:#f8e9dc;color:#91654d;border:1px solid #dfc4af;padding:15px;border-radius:8px}.onboarding{position:relative;background:#e7ebd9;border-radius:10px;padding:18px;margin:18px 0;font-size:18px;line-height:2}.journey-log{margin-top:10px;font-size:15px;line-height:1.9;border-left:2px solid #cbd6b8;padding-left:14px}.journey-log p{margin:8px 0}.lesson-prompt{padding:14px;background:#edf0df;border-radius:8px;font-size:18px;line-height:1.9}.chip{display:inline-block;font-size:14px;padding:5px 8px;background:#e7ebd7;border-radius:5px;margin:4px 3px 0 0}@keyframes appear{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.main-grid{grid-template-columns:minmax(0,1fr) 300px}.layout{padding:24px 18px}.mission{padding:18px}.tree{left:3%}.plant{right:3%}}@media(max-width:740px){header{padding:17px}.brand{font-size:20px}.brand small{font-size:14px}.header-actions{gap:5px}.subtle{padding:8px;font-size:14px}.layout{padding:22px 13px}.intro{display:block}.goal{margin-top:15px}.main-grid,.bottom-grid{grid-template-columns:1fr}.days{gap:3px}.day{padding:7px 4px;font-size:14px}.day strong{font-size:18px}.street{height:220px}.mission{padding:22px}.resource{padding:15px}.resource strong{font-size:25px}h1{font-size:27px}.bottom-grid{gap:12px}.footer{line-height:1.9;gap:20px}.atlas-grid{grid-template-columns:1fr}.modal{padding:22px}.tree{left:9%}.plant{right:8%}.goal br{display:none}}
/* Inline terminology help stays separate from the action it describes. */
.term-link{display:inline;padding:0 1px;border:0;border-bottom:1px dotted #728d64;border-radius:0;background:transparent;color:inherit;font:inherit;line-height:inherit;text-align:inherit;cursor:help}.term-link:hover:not(:disabled){transform:none;background:#e6edd5;color:#32543b}.term-link:focus-visible{outline:2px solid #799451;outline-offset:2px}.choice-terms{font-size:14px;color:#7d896f;padding:6px 4px;display:flex;gap:10px;flex-wrap:wrap}.term-panel{position:fixed;z-index:40;right:24px;bottom:24px;width:min(390px,calc(100vw - 32px));max-height:75vh;overflow:auto;padding:23px;background:#fffdf4;border:2px solid #81966b;border-radius:13px;box-shadow:0 14px 70px #16382b40;color:#294835;text-align:left}.term-panel>small{font-size:14px;color:#8c956e;letter-spacing:2px}.term-panel h2{font-size:27px;margin:14px 0 4px}.term-reading{font-size:15px;color:#819071}.term-panel p{font-size:17px;line-height:1.9;color:#52684d}.term-close{float:right;border:0;border-radius:50%;background:#edf0df;width:31px;height:31px;color:#526e44}.term-example{background:#edf1e2;padding:14px;border-radius:8px;margin-top:14px}.term-example b,.term-tip b{font-size:15px;color:#6c8455}.term-example p{margin:7px 0 0}.term-panel .term-tip{font-size:18px;margin-bottom:0}.glossary-label{display:block;font-size:15px;color:#718565;margin:18px 0 8px}#word-search{width:100%;padding:13px;border:1px solid #bac9aa;border-radius:7px;background:#fffef9;color:#294835;font:inherit;font-size:18px;margin-bottom:12px}.glossary-item{display:block;width:100%;padding:15px 4px;background:transparent;border:0;border-bottom:1px solid #dfe4d2;text-align:left;color:#38563d}.glossary-item b{font-size:18px}.glossary-item small{font-size:14px;color:#7e8d70;margin-left:10px}.glossary-item span{display:block;font-size:18px;line-height:1.8;color:#7a8570;margin-top:6px}@media(max-width:740px){header{flex-wrap:wrap;gap:13px}.header-actions{flex-wrap:wrap}.term-panel{right:16px;bottom:16px;max-height:70vh}.term-panel h2{font-size:25px}}

/* Readable text and flexible layouts on phones. */
.intro p,.mission p,.modal p,.recent,.glossary-item span{color:#465d46}
.note{color:#59674f!important}
.choice span,.resource small,.resource em,.person small,.empty,.footer{color:#596b50}
.main-grid>*,.bottom-grid>*,.resource{min-width:0}
.profit-top,header,.intro,.world-top{flex-wrap:wrap;gap:12px}
.mini-bars{grid-template-columns:minmax(80px,auto) minmax(20px,1fr) minmax(85px,auto);gap:8px}
.bubble{white-space:normal;width:max-content;max-width:calc(100% - 24px);text-align:center;line-height:1.6}
.street{height:280px}
.avatar{flex-shrink:0}
button{min-height:44px}
.term-link{min-height:0}
.trial th,.trial td{padding:10px 6px}
@media(max-width:980px){.main-grid{grid-template-columns:1fr}.bottom-grid{grid-template-columns:1fr}}
@media(max-width:740px){
  .days{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .day{font-size:14px;padding:10px 6px}
  .day strong{font-size:18px}
  .mission,.card,.modal{padding:18px}
  .comparison{grid-template-columns:1fr}
  .footer{flex-direction:column;gap:8px}
  .world-top{letter-spacing:0}
  .sign{letter-spacing:3px}
  .trial{font-size:14px}
}
