:root{font-family:Inter,system-ui,sans-serif;color:#173e3b;background:#dce6dd;font-synthesis:none;--ink:#173e3b;--cream:#faf5e9;--gold:#dfb96e}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;font-size:13px;border:1px solid transparent;border-radius:10px;padding:12px 16px;min-height:44px;background:var(--ink);color:var(--cream);cursor:pointer;text-align:left;transition:background .18s}button:hover{background:#2b6258}button:focus-visible,a:focus-visible{outline:3px solid #b47624;outline-offset:3px}button:disabled{background:#e4e7df;color:#63716b;cursor:default}.topbar{height:78px;position:absolute;inset:0 0 auto;z-index:3;display:flex;align-items:center;gap:22px;padding:16px 32px;background:linear-gradient(#faf5e9f5,#faf5e980);border-bottom:1px solid #173e3b18}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:12px;font-weight:800;letter-spacing:1.5px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #173e3b60;border-radius:50%;font:19px Georgia,serif;letter-spacing:-1px}.brand small{display:block;font-size:9px;letter-spacing:2.5px;margin-top:5px;font-weight:500}.practice-tag{font-size:9px;font-weight:700;letter-spacing:1.5px;border:1px solid #173e3b30;border-radius:20px;padding:7px 10px;margin-left:auto}.topbar button{min-width:105px;display:flex;justify-content:space-between;gap:18px}.world{position:relative;height:100dvh;min-height:650px;overflow:hidden}.scene{position:absolute;inset:0;background:radial-gradient(#e7e9da,#b8cdc1)}.scene canvas{display:block;width:100%;height:100%}.world-title{position:absolute;top:126px;left:42px;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750}h1{font:normal clamp(34px,4.4vw,65px)/1.02 Georgia,serif;letter-spacing:-2px;margin:16px 0}p{line-height:1.55}.world-title p{font-size:13px;color:#45605a}.balance-bar{position:absolute;right:32px;top:102px;display:flex;padding:5px;background:#faf5e9ed;border:1px solid #fff9;border-radius:14px;box-shadow:0 10px 30px #173e3b10}.balance-bar button{background:none;color:var(--ink);min-width:104px;padding:9px 16px;border-radius:9px}.balance-bar button:hover{background:#e2e7d8}.balance-bar button+button{border-left:1px solid #173e3b20}.balance-bar span{display:block;font-size:8px;letter-spacing:1.3px;margin-bottom:7px}.balance-bar strong{font-size:23px;font-weight:600;font-variant-numeric:tabular-nums}.balance-bar small{font-size:11px;font-weight:400}.view-nav{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);display:flex;gap:4px;background:#faf5e9ef;border:1px solid #fff9;padding:5px;border-radius:14px;white-space:nowrap;box-shadow:0 12px 30px #173e3b14}.view-nav button{background:none;color:var(--ink);font-size:12px}.view-nav button[aria-pressed=true]{background:var(--ink);color:var(--cream)}.world-caption{position:absolute;bottom:118px;left:32px;width:330px;background:#173e3bed;color:#f9f4e6;padding:20px 23px;border:1px solid #ffffff25;border-radius:14px;box-shadow:0 12px 35px #163f3b20}.world-caption .eyebrow{color:#e6c88b}.world-caption p{font-size:12px;margin:12px 0;color:#ebecdf}.world-caption button{display:flex;justify-content:space-between;width:100%;background:#f3e9d2;color:var(--ink)}#scene-hint{position:absolute;bottom:6px;left:0;width:100%;text-align:center;font-size:10px;color:#365a50;pointer-events:none}.receipt{position:absolute;right:32px;bottom:125px;width:315px;border:1px solid #cab478;background:#fff9e9f5;border-radius:14px;padding:18px 21px;box-shadow:0 16px 45px #173e3b22;animation:receipt-in .3s ease-out}.receipt strong{font:27px Georgia,serif;display:block;margin:6px 0}.receipt p{font-size:12px;margin:5px 0}.receipt .eyebrow{color:#6a795c}@keyframes receipt-in{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}dialog{color:var(--ink);border:1px solid #c9d1bd;background:var(--cream);box-shadow:0 30px 100px #102f3b50}dialog::backdrop{background:#0b292a52;backdrop-filter:blur(3px)}#player-panel{position:fixed;inset:16px 16px 16px auto;margin:0;width:min(510px,calc(100% - 32px));max-width:none;height:calc(100dvh - 32px);max-height:none;padding:0;border-radius:20px;overflow:hidden}#player-panel[open]{display:flex;flex-direction:column}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:24px 26px 17px}.panel-heading h2{font:36px Georgia,serif;margin:6px 0 0}.panel-heading button{background:#e5e8da;color:var(--ink);font-size:24px;padding:4px 15px}.panel-nav{display:flex;overflow:auto;flex-shrink:0;gap:4px;padding:0 20px 16px;border-bottom:1px solid #d7ddcd}.panel-nav button{white-space:nowrap;font-size:11px;padding:10px 12px;background:transparent;color:var(--ink)}.panel-nav button[aria-pressed=true]{background:var(--ink);color:var(--cream)}.panel-content{overflow:auto;padding:20px 24px 28px}.intro{font:24px/1.25 Georgia,serif;margin:0 0 22px}.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0}.metric{background:#fffcf5;border:1px solid #e0e3d4;padding:14px;border-radius:12px}.metric strong{display:block;font-size:25px;font-weight:550;margin-top:4px;font-variant-numeric:tabular-nums}.metric span{font-size:11px;color:#53695c}.outcomes{grid-template-columns:repeat(3,1fr)}.outcomes .metric{padding:11px}.outcomes .metric strong{font-size:19px}.outcomes .metric span{font-size:10px}.card{background:#fffcf5;padding:20px;border:1px solid #dedfd3;border-radius:14px;margin-bottom:14px}.card h2{font:25px/1.1 Georgia,serif;margin:10px 0}.card p{font-size:13px;color:#4d625f}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e6e7df;padding:11px 0}.row span{font-size:13px}.row button{min-width:100px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.note{font-size:11px!important;color:#566964;line-height:1.6}.secondary{background:#e3dfd4;color:#294742}.secondary:hover{background:#d4d8c6}#message{border-left:3px solid #b29351;padding:10px 13px;font-size:12px;background:#e8ebde;border-radius:0 8px 8px 0}.panel-footer{border-top:1px solid #d7ddcd;margin-top:18px;padding-top:6px}#history{list-style:none;margin:0;padding:0}#history li{padding:15px 0;border-bottom:1px solid #dce1d3;font-size:12px;line-height:1.5}#history li strong{display:block;font-size:14px}#history li small{display:block;color:#647365;margin-top:4px}#owned-items p{border-bottom:1px solid #e6e7df;padding:10px 0;margin:0}#reset-dialog{border-radius:18px;width:420px;max-width:calc(100% - 32px);padding:26px}#reset-dialog h2{font:28px Georgia,serif}#reset-dialog p{font-size:14px}[hidden]{display:none!important}
@media(min-width:1500px){.world-title{left:60px;top:145px}.world-caption{left:60px;bottom:140px}}
@media(max-width:720px){.topbar{height:68px;padding:12px 16px;gap:12px}.brand{font-size:10px;gap:8px}.brand-mark{width:34px;height:34px;font-size:16px}.brand small{font-size:8px}.practice-tag{display:none}.topbar button{margin-left:auto;min-width:91px}.world{min-height:680px}.world-title{top:154px;left:22px}.world-title h1{font-size:37px;letter-spacing:-1px;margin:10px 0}.world-title .eyebrow{font-size:8px}.world-title p{display:none}.balance-bar{top:82px;left:16px;right:16px;justify-content:space-between}.balance-bar button{min-width:0;flex:1;padding:7px 12px}.balance-bar strong{font-size:20px}.world-caption{left:16px;bottom:114px;width:calc(100% - 32px);padding:14px 17px}.world-caption p{margin:7px 0;font-size:11px;max-height:54px;overflow:auto}.world-caption .eyebrow{font-size:9px}.world-caption button{min-height:40px;font-size:12px;padding:9px 12px}.view-nav{bottom:44px;max-width:calc(100% - 24px);gap:1px;padding:4px}.view-nav button{padding:10px 11px;font-size:10px}#scene-hint{font-size:9px;bottom:10px;padding:0 18px}.receipt{left:16px;right:16px;bottom:290px;width:auto;padding:12px 16px}.receipt strong{font-size:23px}.panel-content{padding:18px}.panel-heading{padding:20px}.panel-nav{padding-left:12px;padding-right:12px}.panel-nav button{padding:10px}.outcomes .metric{padding:9px}.card{padding:17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

#panel-receipt{margin:12px 24px 0;padding:12px 15px;border:1px solid #d3be86;background:#f0e7ce;border-radius:12px;flex-shrink:0}#panel-receipt .eyebrow{font-size:8px}#panel-receipt strong{display:block;font:22px Georgia,serif;margin:4px 0}#panel-receipt p{font-size:11px;margin:4px 0}#panel-receipt p:last-child{font-weight:600}@media(max-width:720px){#panel-receipt{margin:8px 18px 0;padding:9px 12px}}
/* My Life local save-and-review workspace. */
#player-panel{width:min(620px,calc(100% - 32px))}.panel-nav{flex-wrap:wrap;overflow:visible;gap:5px;padding-bottom:12px}.panel-nav button{font-size:12px}.overview-summary{display:flex;gap:12px;margin:20px 0}.overview-summary>div{flex:1;background:#fffdf6;border:1px solid #dbe1d0;border-radius:12px;padding:18px}.overview-summary strong{font:29px Georgia,serif;display:block}.overview-summary span{font-size:12px;color:#52695c}.belongings-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.belonging{border:1px solid #dbe1d0;border-radius:12px;overflow:hidden;padding:10px;background:#fffdf6}.belonging img{width:100%;height:120px;object-fit:contain;display:block}.belonging strong{font-size:14px;display:block;margin:7px 0}.belonging p{font-size:11px!important}.project-goal{border-bottom:1px solid #d8ddcc;padding:6px 0 15px}.project-goal p{margin:10px 0;font-size:13px}progress{width:100%;height:12px;accent-color:#467563}.work-list{display:grid;gap:7px;margin:15px 0;max-height:230px;overflow:auto;font-size:13px}.work-list-item{background:#e5e9db;color:#193f39;width:100%}.work-list-item small{display:block;font-size:10px;margin-top:5px;font-weight:400}.work-list-item:hover{background:#d7e2cf}.work-editor{border:1px solid #d8ddce;border-radius:14px;padding:18px;background:#fffdf5}#panel-work label{display:block;font-size:12px;font-weight:650;margin:14px 0 8px}#panel-work input:not([type=checkbox]),#panel-work select,#panel-work textarea{width:100%;display:block;background:#fffef9;border:1px solid #aebbab;border-radius:8px;padding:11px;color:#183c39;font:inherit;font-weight:400;margin-top:6px;min-height:44px}#panel-work textarea{resize:vertical;min-height:160px;line-height:1.6}#panel-work .check-label{display:flex;align-items:center;gap:9px;min-height:35px}.work-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}#work-status{font-size:12px;border-left:3px solid #ad8c48;background:#f1eddf;padding:11px;line-height:1.5}.versions{margin-top:20px;font-size:12px}.versions pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:200px;overflow:auto;font:12px/1.6 system-ui,sans-serif}.file-label input{font-size:11px!important}#panel-work h2,#panel-progress h2{font:28px Georgia,serif}#discard-work-dialog,#import-work-dialog{max-width:calc(100% - 32px);width:440px;border-radius:16px;padding:24px}#panel-money>.card{margin-top:18px}#panel-overview>.actions{margin-bottom:20px}#panel-progress .card p{font-size:13px;line-height:1.6}#panel-progress .card p+p{border-top:1px solid #dce2d3;padding-top:12px}@media(max-width:720px){#player-panel{inset:8px;width:calc(100% - 16px);height:calc(100dvh - 16px)}.panel-heading{padding:16px 18px 12px}.panel-heading h2{font-size:29px}.panel-nav{gap:3px;padding:0 12px 10px}.panel-nav button{padding:8px 10px;font-size:11px;min-height:36px}.work-editor{padding:12px}.belongings-gallery{gap:9px}.belonging img{height:90px}.actions{gap:7px}.actions button{font-size:12px;padding:11px}.panel-content{padding:16px}.panel-content input,.panel-content textarea,.panel-content select{font-size:16px!important}}
/* The tracker is the destination; Home Base is an optional visit. */
body{background:#f2f2e9}.topbar{position:sticky;top:0;height:78px;background:#faf8f0f5;z-index:3}body.at-home .topbar{position:absolute}#player-panel{position:relative;inset:auto;display:flex;flex-direction:column;margin:0 auto;padding:22px 28px 40px;width:100%;max-width:1200px;height:auto;max-height:none;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}#player-panel .panel-heading{padding:16px 0 22px}#player-panel h1{font:48px/1.1 Georgia,serif;letter-spacing:-1px;margin:7px 0}#player-panel .panel-heading button{font:13px system-ui,sans-serif;padding:12px 16px;display:flex;align-items:center;gap:18px}#player-panel .panel-nav{padding:0 0 14px;gap:7px}#player-panel .panel-nav button{padding:12px 18px;font-size:13px}#player-panel .panel-content{overflow:visible;padding:25px 0 0}#player-panel .intro{font:30px Georgia,serif;margin:0 0 8px}#player-panel #panel-overview>.note{margin-bottom:24px}.dashboard-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.dashboard-card{background:#fffcf4;border:1px solid #d9dfd0;border-radius:18px;padding:26px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}.dashboard-card h2{font:29px/1.15 Georgia,serif;margin:3px 0;overflow-wrap:anywhere}.dashboard-card p{font-size:14px;margin:0;line-height:1.6}.dashboard-card button{margin-top:auto}.dashboard-card .note{font-size:11px!important}.dashboard-card .overview-summary{width:100%;margin:0}.dashboard-card .actions{margin-top:auto;width:100%}.continue-card{background:#173f39;color:#fff7e5;border-color:#173f39}.continue-card .eyebrow{color:#e2c68c}.continue-card .note{color:#c5d5c7}.continue-card button{background:#f0deb5;color:#173f39}.continue-card button:hover{background:#f9ebcb}#owned-items{width:100%;font-size:13px}.panel-footer{margin-top:28px;max-width:720px}#panel-receipt{margin:14px 0 0;max-width:720px}#panel-work,#panel-money,#panel-progress,#panel-play,#panel-earn,#panel-impact,#panel-shop{max-width:800px}.at-home .world{height:100dvh}#panel-work .work-list{max-height:280px}.work-editor{padding:24px}#panel-money .metrics{grid-template-columns:repeat(3,1fr)}@media(max-width:720px){.topbar{height:68px}#player-panel{inset:auto;width:100%;height:auto;padding:14px 16px 30px}#player-panel .panel-heading{padding:6px 0 16px}#player-panel h1{font-size:35px}#player-panel .panel-heading button{font-size:11px;padding:10px;gap:8px}#player-panel .panel-nav{gap:4px;padding-bottom:12px}#player-panel .panel-nav button{font-size:12px;padding:9px 12px}#player-panel .panel-content{padding-top:20px}#player-panel .intro{font-size:25px}.dashboard-grid{grid-template-columns:1fr;gap:14px}.dashboard-card{padding:21px;gap:13px}.dashboard-card h2{font-size:26px}.dashboard-card p{font-size:13px}.work-editor{padding:14px}#panel-money .metrics{grid-template-columns:repeat(2,1fr)}}

/* Match playable-3d/style.css: forest ink, soft paper, Georgia + Arial. */
:root{font-family:Arial,Helvetica,sans-serif;--ink:#243f38;--cream:#f7f9f4;--accent:#286758;--line:#bbc7bd;--gold:#ce9844;color:var(--ink)}
body{background:#eaf0e8}button{border-radius:6px;font-weight:600}button:hover:not(:disabled){background:#3c745b}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.topbar{background:#f7f9f4f5;border-color:#d2dcce}.brand{letter-spacing:.6px}.brand-mark{border-color:#8caa94}.brand small{letter-spacing:1.4px}.eyebrow{letter-spacing:1.3px}#player-panel h1{font-size:42px;letter-spacing:0}#player-panel .panel-heading button{font-family:Arial,Helvetica,sans-serif;background:#286758;color:#fff}#player-panel .panel-nav{border-color:#bbc7bd}#player-panel .panel-nav button{border-radius:6px}#player-panel .panel-nav button[aria-pressed=true]{background:#286758;color:#fff}#player-panel .panel-nav button:hover:not([aria-pressed=true]){background:#dce7dc;color:var(--ink)}
.dashboard-card,.card,.work-editor{border-color:#ccd7c7;border-radius:10px;background:#f7f9f4}.dashboard-card{box-shadow:0 5px 18px #243f3806}.continue-card{background:#243f38;border-color:#243f38}.continue-card button{background:#ebd7a6;color:#243f38}.continue-card button:hover:not(:disabled){background:#f8e8c3}.continue-card .note{color:#d3e2d4}.metric,.overview-summary>div,.belonging{background:#fffef8;border-color:#d2dcce;border-radius:8px}.secondary{background:#dce7dc}.secondary:hover:not(:disabled){background:#c6d9c8}.panel-heading button:hover:not(:disabled){background:#3c745b}
.campus-banner{position:relative;margin:0 0 25px;min-height:180px;height:clamp(180px,21vw,250px);border-radius:10px;overflow:hidden;background:#243f38}.campus-banner>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 58%}.campus-banner figcaption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:25px 28px;background:linear-gradient(0deg,#0c242cf2,transparent 95%);color:#fff8e9;font:11px Arial,Helvetica,sans-serif;letter-spacing:1.5px}.campus-banner figcaption span{font:clamp(24px,3vw,36px)/1.2 Georgia,serif;letter-spacing:0;margin-top:8px}.campus-banner figcaption small{font:10px Arial,Helvetica,sans-serif;letter-spacing:0;color:#e2e8df;margin-top:10px}.collection-preview{display:flex;width:100%;gap:6px;background:#e6ede2;border-radius:7px;padding:6px}.collection-preview img{width:calc((100% - 12px)/3);height:90px;object-fit:contain}.overview-summary strong{color:#243f38}progress{accent-color:#286758}
@media(max-width:720px){#player-panel h1{font-size:35px}.campus-banner{height:180px;margin-bottom:20px}.campus-banner figcaption{padding:20px}.campus-banner figcaption span{font-size:25px}.collection-preview img{height:75px}}

/* Preserve the original shop artwork framing. */
.collection-preview{background:#102622}.collection-preview img{height:auto;aspect-ratio:900/560;border-radius:5px}.belonging img{height:auto;aspect-ratio:900/560;object-fit:contain;border-radius:6px;background:#102622}

/* Keep navigation usable while optional modules and artwork load. */
.back-to-game{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid #bbc7bd;border-radius:6px;color:#243f38;background:#f7f9f4;text-decoration:none;font-weight:600;white-space:nowrap;margin-left:auto}
.topbar .practice-tag{margin-left:0}#tracker-loading{margin:0;padding:12px 24px;background:#fff3d6;color:#243f38;font-size:13px}
@media(max-width:720px){.topbar{gap:8px;padding:10px 12px}.topbar .practice-tag{display:none}.topbar .brand{font-size:10px;gap:6px}.topbar .brand-mark{display:none}.topbar button{min-width:0;padding:10px}.back-to-game{font-size:12px;padding:8px}.topbar .brand small{font-size:8px}}

#panel-course .course-unit{margin:24px 0}#panel-course article{margin:12px 0;padding:14px;border:1px solid #c2d0c5;border-radius:12px;background:#f7faf4}#panel-course article h4{font-size:17px;margin:0 0 8px}#panel-course article p{line-height:1.55}#panel-course .actions a{display:inline-block;min-height:44px;padding:10px 14px;border:1px solid #91aa9b;border-radius:8px;color:#234a3b;background:#fff;text-decoration:none}
