:root{color:#edf2e9;font-synthesis:none;text-rendering:optimizelegibility;background:#0b171d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,textarea,input{font:inherit}button{cursor:pointer}.shell{background:radial-gradient(circle at 20% 0,#25464d 0,#0000 42%),#0b171d;min-height:100vh;padding:24px}.launch-shell{place-items:center;display:grid}.launch-card,.panel{background:#10232aeb;border:1px solid #52756d;border-radius:24px;width:min(100%,560px);box-shadow:0 24px 80px #02090d99}.launch-card{text-align:center;padding:48px}.welcome-panel{margin:10vh auto;padding:40px}.pixel-mark{color:#f2c66e;margin-bottom:12px;font-size:42px}.eyebrow{color:#a7c0ae;letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px;font-size:12px}h1{color:#fff4d6;margin:0;font-size:clamp(38px,8vw,74px);line-height:1}.launch-copy{color:#c0d0c7;max-width:320px;margin:24px auto 32px;line-height:1.7}.muted{color:#a9bbb5;line-height:1.7}.launch-actions{gap:12px;display:grid}.button{border:0;border-radius:12px;padding:14px 18px;font-weight:700;transition:transform .2s,filter .2s}.button:hover{filter:brightness(1.08);transform:translateY(-1px)}.button-primary{color:#1b2a24;background:#f2c66e}.button-secondary{color:#edf2e9;background:#2e514f;border:1px solid #5c877a}.launch-hint{color:#819b92;margin:24px 0 0;font-size:13px}.onboarding-panel{width:min(100%,820px);margin:0 auto;padding:34px}.section-title{color:#fff4d6;margin:0 0 14px;font-size:clamp(32px,6vw,54px)}.notice{color:#e8d7a2;background:#f2c66e12;border-left:3px solid #f2c66e;margin:18px 0;padding:12px 14px;line-height:1.6}.field-label,fieldset legend{color:#d8e8dc;margin:24px 0 9px;font-weight:700;display:block}.text-input{color:#edf2e9;background:#0c1b21;border:1px solid #52756d;border-radius:10px;outline:none;width:100%;padding:13px 14px}.text-input:focus{border-color:#f2c66e}fieldset{border:0;margin:0;padding:0}.tag-grid{flex-wrap:wrap;gap:10px;display:flex}.tag{color:#c4d8ce;background:#153039;border:1px solid #52756d;border-radius:999px;padding:9px 14px}.tag-selected{color:#182b28;background:#f2c66e;border-color:#f2c66e}.button-row{justify-content:flex-end;gap:12px;margin-top:26px;display:flex}.map-wrap{background:#d7bc81;border:1px solid #52756d;border-radius:18px;margin:24px 0;overflow:hidden}.map-svg{width:100%;height:auto;display:block}.map-alt-list{color:#18363b;background:#f4e0a8;flex-wrap:wrap;gap:8px 20px;margin:0;padding:14px 20px 18px 36px;line-height:1.6;display:flex}.map-alt-list li::marker{color:#b97843}.today-card,.todo-card,.review-card{background:#10232aeb;border:1px solid #52756d;border-radius:22px;width:min(100%,820px);margin:0 auto 18px;padding:32px;box-shadow:0 20px 60px #02090d66}.today-card h1,.review-card h2,.todo-card h2{color:#fff4d6;margin:0 0 14px;font-size:clamp(30px,6vw,52px)}.status-pill{color:#cfe7ce;border:1px solid #7eaa8d;border-radius:999px;margin-bottom:20px;padding:7px 11px;font-size:13px;display:inline-block}.journal-input{resize:vertical;color:#edf2e9;background:#0c1b21;border:1px solid #52756d;border-radius:12px;outline:none;width:100%;padding:14px;line-height:1.7}.editor-block{margin-top:22px}.review-card{background:#17353b;margin-top:20px;padding:22px}.review-card h2{font-size:28px}.review-summary{color:#fff4d6;font-size:18px;line-height:1.7}.suggestion-row{color:#c1d5cb;border-top:1px solid #5b8075;justify-content:space-between;gap:16px;padding:13px 0;display:flex}.suggestion-row strong{color:#f2c66e}.reason{color:#a9c0b3;font-size:14px}.event-suggestion{color:#d7e7dc;background:#0e252b;border-radius:12px;gap:5px;margin-top:16px;padding:14px;display:grid}.event-suggestion span{color:#a9c0b3;font-size:14px}.todo-card{flex-wrap:wrap;align-items:end;gap:18px;display:flex}.todo-card>div:first-child{flex:100%}.todo-card h2{font-size:30px}.todo-create{flex:420px;gap:10px;display:flex}.todo-create .text-input{flex:1}.todo-list{flex:100%;margin:0;padding:0;list-style:none}.todo-list li{color:#e0ece2;border-top:1px solid #34575b;justify-content:space-between;gap:20px;padding:13px 0;display:flex}.todo-completed span{color:#8fab99;text-decoration:line-through}.text-button{color:#f2c66e;background:0 0;border:0}.app-header{color:#dceade;justify-content:space-between;align-items:center;width:min(100%,820px);margin:0 auto 20px;padding:4px 2px;display:flex}.app-header .eyebrow{margin-bottom:4px}.settings-card{background:#10232aeb;border:1px solid #52756d;border-radius:22px;width:min(100%,820px);margin:0 auto;padding:34px}.setting-row{border-top:1px solid #34575b;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.setting-row strong{color:#fff4d6;font-size:18px}.setting-row p{margin:6px 0 0}.setting-actions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.button-danger{color:#fff2e8;background:#9c534e}.delete-confirm{color:#ffe5d5;background:#542d2e;border:1px solid #b87668;border-radius:12px;margin-top:20px;padding:18px}.delete-confirm p{line-height:1.6}.privacy-copy{color:#8fa9a0;margin-top:28px;font-size:13px;line-height:1.6}.error-card{background:#3d282a;border:1px solid #a46d63;border-radius:16px;width:min(100%,820px);margin:0 auto;padding:22px}.error-card h2{color:#ffe6d8;margin-top:0}.error-card p{color:#e4c6bb}.prologue-reminder{width:min(100%,820px);margin:0 auto}.composer-card,.empty-card,.journal-card,.search-card,.map-summary-card,.full-map-card{background:#10232aeb;border:1px solid #52756d;border-radius:22px;width:min(100%,820px);margin:0 auto 18px;padding:26px;box-shadow:0 20px 60px #02090d66}.calendar-card,.world-map-card{background:#10232aeb;border:1px solid #52756d;border-radius:22px;width:min(100%,900px);margin:0 auto 18px;padding:24px;box-shadow:0 20px 60px #02090d66}.calendar-heading,.map-heading{justify-content:space-between;align-items:start;gap:18px;display:flex}.calendar-heading h2,.map-heading h2{color:#fff4d6;margin:0;font-size:26px}.calendar-controls,.map-controls{color:#a9bbb5;align-items:center;gap:10px;display:flex}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-weekdays{color:#819b92;text-align:center;margin-top:22px;font-size:12px}.calendar-grid{margin-top:8px}.calendar-day,.calendar-empty{border:1px solid #0000;border-radius:10px;min-height:42px}.calendar-day{color:#dce9df;background:#102a30;place-items:center;display:grid;position:relative}.calendar-day:hover,.calendar-day-selected{color:#1b2a24;background:#f2c66e;border-color:#f2c66e}.calendar-day-recorded{color:#fff4d6;background:#31554e}.calendar-day i{color:#f2c66e;font-size:12px;font-style:normal;position:absolute;bottom:2px;right:6px}.calendar-day-selected i{color:#1b2a24}.calendar-all{margin-top:16px}.world-map-card{width:min(100%,900px)}.world-map-viewport{background:#05090b;border:1px solid #304f52;border-radius:14px;max-height:560px;margin-top:20px}.world-map-svg{width:100%;min-height:340px;image-rendering:pixelated;transition:transform .2s;display:block}.map-controls span{color:#a9bbb5;text-align:center;min-width:86px;font-size:12px}.calendar-filter{color:#f2c66e;text-align:right;width:min(100%,900px);margin:-6px auto 18px}.save-feedback{border-radius:10px;margin:16px 0 0;padding:10px 12px;line-height:1.5}.save-feedback-success{color:#cfe7ce;background:#7eaa8d20}.save-feedback-error{color:#ffe5d5;background:#9c534e40}.composer-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.composer-card .section-title{font-size:clamp(28px,5vw,42px)}.composer-fields{grid-template-columns:1fr 180px;gap:14px;display:grid}.empty-card{text-align:center;padding:40px 26px}.empty-card h2{color:#fff4d6;margin:0;font-size:28px}.timeline{gap:14px;width:min(100%,820px);margin:0 auto;display:grid}.journal-card{margin:0;padding:22px 24px}.journal-card-meta{color:#a7c0ae;justify-content:space-between;font-size:13px;display:flex}.journal-card h2{color:#fff4d6;margin:16px 0 8px;font-size:24px}.journal-content{white-space:pre-wrap;color:#dce9df;line-height:1.75}.tag-row{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.tag-row .tag,.terrain-tag{padding:6px 10px;font-size:13px}.terrain-tag{color:#f2c66e;background:#f2c66e16;border:1px solid #c09f5d;border-radius:999px}.analysis-preview{color:#bfd5c5;border-left:3px solid #7eaa8d;margin:16px 0 0;padding:12px 14px;line-height:1.6}.journal-actions{flex-wrap:wrap;gap:16px;margin-top:18px;display:flex}.map-summary-heading,.page-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.map-summary-card h2,.map-section-title{color:#fff4d6;margin:0 0 14px;font-size:26px}.map-today{color:#f2c66e;margin:12px 0;font-size:18px;font-weight:700}.terrain-strip{flex-wrap:wrap;gap:8px;min-height:30px;display:flex}.terrain-chip{color:#dce9df;background:#31554e;border-radius:999px;padding:7px 10px;font-size:13px}.full-map-card .section-title{font-size:clamp(30px,6vw,52px)}.empty-map{text-align:center;border:1px dashed #52756d;border-radius:16px;margin:20px 0;padding:32px 20px}.empty-map h2{color:#fff4d6;margin:0;font-size:24px}.map-day-list{gap:8px;display:grid}.map-day-item{color:#dce9df;text-align:left;background:#102a30;border:1px solid #34575b;border-radius:12px;justify-content:space-between;gap:12px;padding:14px;display:flex}.map-day-item strong{color:#f2c66e}.future-fog{color:#a9bbb5;text-align:center;background:linear-gradient(110deg,#183239,#15262e);border-radius:14px;margin-top:20px;padding:20px}.search-result{color:#dce9df;text-align:left;background:#10232aeb;border:1px solid #52756d;border-radius:16px;gap:6px;width:100%;padding:18px;display:grid}.search-result time{color:#a7c0ae;font-size:13px}.search-result strong{color:#fff4d6;font-size:18px}.search-result span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.top-nav{background:#0c2026;border:1px solid #34575b;border-radius:14px;gap:8px;width:min(100%,820px);margin:0 auto 18px;padding:5px;display:flex}.top-nav button{color:#a9bbb5;background:0 0;border:0;border-radius:10px;flex:1;padding:11px 8px}.top-nav button[aria-current=page]{color:#1b2a24;background:#f2c66e;font-weight:700}.app-main{width:min(100%,900px);margin:0 auto}.app-status{color:#cfe7ce;text-align:center;width:min(100%,820px);margin:0 auto 14px}.prologue-entry{margin-top:16px}@media (width<=560px){.composer-fields{grid-template-columns:1fr}.top-nav button{font-size:13px}.composer-card,.empty-card,.journal-card,.calendar-card,.world-map-card{padding:20px}.calendar-day,.calendar-empty{min-height:36px}.map-heading{display:block}.map-controls{justify-content:space-between;margin-top:14px}.shell{padding:14px}.launch-card{padding:32px 22px}}
