@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display&display=swap";:root{font-family:DM Sans,sans-serif;color:#28231f;background:#eee5d1;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:0;min-height:100vh;background:radial-gradient(circle at 30% -20%,#fff9ea 0,transparent 42%),#eee5d1}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #e79a45;outline-offset:2px}.app-shell{min-height:100vh}.topbar{height:84px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #c9bda6;background:#fffaeee6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark,.loading-mark{display:grid;place-items:center;width:45px;height:45px;color:#fff8ea;background:#385d50;border:2px solid #263f37;box-shadow:3px 3px #d09b54;font:700 14px Courier New,monospace}.brand h1{margin:0;font:30px/1 "DM Serif Display",serif;letter-spacing:-.02em}.brand p{margin:4px 0 0;color:#74695f;font-size:13px}.header-actions{display:flex;align-items:center;gap:12px}.header-status{display:flex;align-items:center;gap:12px;min-width:0}.auth-label{color:#74695f;font-size:12px}.auth-user{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.connection{display:flex;gap:7px;align-items:center;color:#8a6453;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.connection span{width:8px;height:8px;border-radius:50%;background:#c66b57;box-shadow:0 0 0 3px #f1d3cb}.connection.online{color:#426957}.connection.online span{background:#4e9c72;box-shadow:0 0 0 3px #d5eadc}.viewer-count{padding:8px 11px;background:#e8dfca;border-radius:8px;color:#645c53;font-size:12px}.world-spend{width:39px;height:39px;display:grid;place-items:center;padding:0;border:1px solid #cfc0a7;border-radius:8px;background:#fff8e9;cursor:pointer}.world-spend:hover{background:#fffdf7;transform:translateY(-1px)}.world-spend-ring{width:25px;height:25px;display:grid;place-items:center;border-radius:50%}.world-spend-ring>span{width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:#fff8e9;color:#385d50;font-size:10px;font-weight:900}.primary,.secondary,.danger{border:0;border-radius:8px;padding:10px 16px;font-weight:700;cursor:pointer}.primary{background:#385d50;color:#fffaf0;box-shadow:0 3px #254137}.primary:hover{background:#2c5044;transform:translateY(-1px)}.primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.secondary{background:#e8dfca;border:1px solid #c8baa0}.danger{color:#fff;background:#a64538}.wide{width:100%;padding:13px}.icon-button{width:39px;height:39px;border:1px solid #c7bba6;border-radius:8px;background:#fffaf0;cursor:pointer;display:grid;place-items:center;font-size:18px}.owner-chip{display:flex;align-items:center;gap:8px;height:39px;padding:0 12px;border:1px solid #bba98d;background:#fff8e9;border-radius:9px;font-weight:700;cursor:pointer}.owner-chip span{width:18px;height:18px;border:2px solid #3c332c}.main-grid{display:grid;grid-template-columns:minmax(720px,1fr) clamp(320px,23vw,420px);gap:12px;width:100%;height:calc(100vh - 84px);padding:12px}.world-panel,.activity-panel{position:relative;border:1px solid #b9ab91;background:#fff9ed;box-shadow:0 8px 25px #4c3c2514}.world-panel{min-width:0;min-height:0;height:100%;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.world-meta{height:43px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #cabc9f;color:#5c5146;font-size:12px}.world-meta div{font-weight:700;text-transform:uppercase;letter-spacing:.06em}.world-meta p{margin:0;min-width:0;text-align:right}.world-dot{display:inline-block;width:8px;height:8px;margin-right:6px;background:#4e9470;border-radius:50%}.world-canvas{width:100%;flex:1;min-height:0;overflow:hidden;background:#91b58f}.world-canvas canvas{display:block!important;width:100%!important;height:100%!important;object-fit:contain}.world-loading{flex:1;display:grid;place-items:center;background:#91b58f;color:#304638;font-weight:700}.empty-world{position:absolute;inset:43px 0 0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:10;padding:24px}.empty-world-copy{width:min(28rem,100%);display:flex;flex-direction:column;align-items:center;padding:22px 26px 26px;border-radius:16px;background:#fff9ed;border:1px solid #c3b394;box-shadow:0 12px 32px #202c2038}.empty-world h2{margin:12px 0 6px;color:#1f2c1f;font:34px "DM Serif Display",serif}.empty-world p{max-width:440px;margin:0 0 22px;color:#1f2c1f;font-weight:500}.empty-orb{width:66px;height:66px;display:grid;place-items:center;border-radius:50%;font-size:28px;background:#fff7dc;border:3px solid #4f604a;box-shadow:0 5px #6c805f}.paused-banner{position:absolute;top:58px;left:50%;transform:translate(-50%);z-index:12;padding:9px 14px;background:#382f2a;color:#fff;border-radius:8px;font-size:13px}.activity-panel{border-radius:14px;overflow:hidden;height:100%;min-height:0;display:flex;flex-direction:column}.panel-heading{padding:12px 14px;display:flex;justify-content:space-between;border-bottom:1px solid #ddd1ba;flex-shrink:0}.panel-heading h2{margin:1px 0 0;font:25px "DM Serif Display",serif}.panel-heading .eyebrow{color:#5c5146}.eyebrow{margin:0;color:#7d6d5c;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.event-count{align-self:center;padding:5px 8px;border:1px solid #d7c8ad;color:#5c5146;font-size:.875rem;border-radius:5px}.event-list{list-style:none;margin:0;padding:0 14px 12px;overflow:auto;flex:1;min-height:0}.event{display:grid;grid-template-columns:27px 1fr;gap:8px;padding:6px 2px;border-bottom:1px dashed #ded2bd}.event-copy{min-width:0}.event-headline{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.event-symbol{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#e6dcc8;color:#4a5f51;font-weight:800}.event p{margin:0;min-width:0;font-size:13px;line-height:1.35}.event time{flex-shrink:0;color:#53483e;font-size:.875rem}.event details summary{cursor:pointer;color:#526b5c;font-size:11px;box-sizing:border-box;min-height:2.75rem;padding-block:.75rem}.event pre{white-space:pre-wrap;font:11px/1.4 DM Sans,sans-serif;color:#62564a}.activity-empty{margin:auto;padding:30px;text-align:center;color:#8b7b69}.activity-empty span{font-size:34px}.inspector{position:absolute;z-index:30;left:18px;bottom:18px;width:min(400px,calc(100% - 36px));max-height:min(520px,calc(100% - 80px));overflow:hidden;padding:16px;background:#fffaf0f5;border:1px solid #a9987b;border-radius:16px;box-shadow:7px 10px 28px #372a1d3d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.close{position:absolute;top:12px;right:12px;font-size:24px}.character-card-heading{display:flex;gap:12px;align-items:center;padding:0 44px 12px 0}.character-card-heading h2{margin:1px 0;font:25px "DM Serif Display",serif}.character-heading-copy{min-width:0;flex:1}.character-name-line{display:flex;align-items:center;gap:8px}.budget-summary{min-width:0;padding:4px 7px;overflow:hidden;border:1px solid #d3c5ac;border-radius:999px;background:#eee5d3;color:#62574b;font-size:10px;font-weight:800;line-height:1;text-overflow:ellipsis;white-space:nowrap}.model-label{margin:0;color:#897969;font-size:12px}.portrait{width:52px;height:52px;display:grid;place-items:center;border:3px solid #302a25;box-shadow:4px 4px #d8c7a7;overflow:hidden;font:700 20px monospace}.portrait img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.inspector-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;border-radius:9px;background:#e9dfcc}.inspector-tabs button{padding:8px 5px;border:0;border-radius:6px;background:transparent;color:#756858;cursor:pointer;font-size:11px;font-weight:800}.inspector-tabs button.active{color:#304d43;background:#fffaf0;box-shadow:0 1px 4px #4d3e2b33}.inspector-content{max-height:374px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c1b299 transparent}.inspector section{padding:11px 1px;border-bottom:1px solid #e4d9c5}.inspector-pane section:last-child{border-bottom:0}.inspector h3{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.07em}.inspector h3 span{float:right;color:#9a8a77}.inspector section>p{margin:0;color:#544b42;line-height:1.5;font-size:13px}.intent-card{padding:9px 10px;background:#e6efdf;border-left:4px solid #668a6c;border-radius:4px}.memory-list{margin:0;padding-left:19px;color:#51483f;font-size:13px}.memory-list li{margin:7px 0}.empty-copy{color:#9a8d7d!important;font-style:italic}.relationship{padding:9px 0}.relationship p{margin:3px 0 0;color:#786c60;font-size:12px}.owner-panel{border:0!important;padding-bottom:2px!important}.owner-title{display:flex;justify-content:space-between;margin-bottom:12px;font-weight:800;font-size:11px;text-transform:uppercase;color:#4d6557}.owner-panel textarea{width:100%;margin:9px 0 7px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:8px}.settings-grid label:last-child{grid-column:1 / -1}.button-row{display:flex;gap:8px;margin-top:14px}.button-row>*{flex:1}.danger-link{margin-top:12px;border:0;background:none;color:#9a3d34;text-decoration:underline;cursor:pointer}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:30px;background:#27221c8f;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{position:relative;width:min(590px,90vw);max-height:92vh;overflow-y:auto;padding:32px;border-radius:16px;background:#fffaf0;border:1px solid #b6a68c;box-shadow:0 22px 70px #231d174d}.modal h2{margin:4px 0 20px;font:38px "DM Serif Display",serif}.segmented{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:9px;background:#e9dfcc;margin-bottom:18px}.segmented button{padding:9px;border:0;background:transparent;border-radius:6px;cursor:pointer;font-size:12px;font-weight:700}.segmented button.active{background:#fffaf0;box-shadow:0 1px 4px #b8a98f}.segmented.compact{margin:0}.modal label,.settings-grid label{display:grid;gap:6px;margin:14px 0;color:#4f453b;font-size:12px;font-weight:700}.modal input,.modal textarea,.modal select,.owner-panel input,.owner-panel textarea,.owner-panel select{border:1px solid #bdb09a;border-radius:7px;background:#fffdf7;padding:11px 12px;color:#302a25}.modal textarea,.owner-panel textarea{resize:vertical;line-height:1.45}.modal small{color:#8a7c6e;font-weight:400}.form-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:12px}.money-input{display:flex;align-items:center;border:1px solid #bdb09a;border-radius:7px;background:#fffdf7}.money-input span{padding-left:10px}.money-input input{min-width:0;width:100%;border:0!important;background:transparent!important}.modal fieldset{padding:0;margin:20px 0;border:0}.modal legend{margin-bottom:9px;font-size:12px;font-weight:700}.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mission{display:grid;gap:5px;padding:14px;text-align:left;border:2px solid #d2c4ad;border-radius:10px;background:#fffdf8;cursor:pointer}.mission.selected{border-color:#4f7964;background:#eaf1e5;box-shadow:0 0 0 2px #c4dbc7}.mission-icon{font-size:25px}.mission small{line-height:1.35}.form-error{padding:9px 11px;border-radius:6px;color:#82382f;background:#f4d9d3;font-size:12px}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.metric-grid div{padding:14px;background:#eee4d2;border-radius:8px}.metric-grid span,.metric-grid strong{display:block}.metric-grid span{margin-bottom:5px;color:#877968;font-size:10px;text-transform:uppercase}.loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.loading h1{margin:20px 0 3px;font:36px "DM Serif Display",serif}.loading p{color:#74695f}.world-budget-control{display:grid;grid-template-columns:1fr 180px;align-items:center;gap:4px 16px;margin-top:18px;padding:15px;border-radius:9px;background:#eee4d2;color:#4f453b;font-size:12px;font-weight:700}.world-budget-control .money-input{grid-column:2;grid-row:1 / span 2}.world-budget-control small{color:#857667;font-weight:400}.artifact-list{list-style:none;margin:0;padding:8px 14px 0;display:grid;gap:6px;flex-shrink:0}.artifact-list li{padding:7px 10px;border:1px solid #ddd1ba;border-radius:8px;background:#f7f0e1}.artifact-list strong{display:block;font-size:13px}.artifact-list span{color:#53483e;font-size:.875rem}.artifact-list p{margin:6px 0 0;color:#544b42;font-size:12px}.restore-export{margin-top:8px}.admin-lists{display:grid;gap:14px;margin-top:18px}.admin-lists h3{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.admin-lists ul{margin:0;padding-left:18px;color:#544b42;font-size:13px}.admin-lists li{display:grid;gap:6px;margin-bottom:10px}.admin-lists .button-row{justify-content:flex-start}@media(max-width:900px){.topbar{height:56px;min-height:56px;padding:0 12px;flex-wrap:nowrap;gap:8px}.brand{flex-shrink:0;gap:8px;min-width:0}.brand p{display:none}.brand-mark{width:32px;height:32px;font-size:11px}.brand h1{font-size:18px;white-space:nowrap}.header-actions{width:auto;flex:1;min-width:0;justify-content:flex-end;flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none}.header-actions::-webkit-scrollbar{display:none}.header-status{flex:1;min-width:0;justify-content:flex-end;gap:6px}.connection{flex-shrink:0;font-size:10px;white-space:nowrap}.viewer-count{padding:4px 8px;font-size:11px;white-space:nowrap}.viewer-count-here{display:none}.header-actions .primary,.header-actions .secondary{flex-shrink:0;padding:8px 12px;font-size:12px;white-space:nowrap}.header-actions .primary{padding:8px 14px}.owner-chip{height:32px;padding:0 8px;font-size:12px}.auth-user{max-width:132px}.main-grid{grid-template-columns:1fr;grid-template-rows:minmax(280px,58dvh) minmax(240px,auto);height:auto;min-height:calc(100dvh - 56px);padding:8px}.world-panel,.activity-panel{height:auto;min-height:240px}.world-meta{gap:8px}.world-meta p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector{left:8px;right:8px;bottom:8px;width:auto;max-height:min(70dvh,520px)}.modal-backdrop{padding:12px;align-items:end}.modal{width:100%;max-height:94dvh;padding:22px 16px}.form-grid,.mission-grid,.settings-grid,.world-budget-control{grid-template-columns:1fr}.world-budget-control .money-input{grid-column:auto;grid-row:auto}}@media(max-width:430px){.brand h1{font-size:16px}.header-status{flex-direction:column;align-items:flex-end;justify-content:center;gap:1px;line-height:1.2}.viewer-count{padding:0;background:transparent;font-size:10px}}
