@font-face{font-family:AEMono;src:url(/assets/AEMono-CwwO6LbV.ttf) format("truetype");font-weight:100 700;font-style:normal;font-display:block}:root{--bg: #131315;--bg-panel: #121214;--bg-card: #1a1a1c;--bg-hover: #232325;--bg-active: #2b2b2d;--border: #24242c;--border-hover: #30303a;--text: #b0b0b8;--text-dim: #5a5a66;--text-bright: #e8e8ec;--text-on-accent: #f0eff2;--alea: #d4a574;--spark: #4ecdc4;--chroma: #a78bfa;--accent: #6366f1;--accent-hover: #818cf8;--warning: #f59e0b;--chart-bar-past: #3a3a5c;--modal-overlay-bg: rgba(0,0,0,.65);--radius: 5px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "AEMono", "NSimSun", "Songti SC", "Noto Serif CJK SC", serif;color-scheme:dark}[data-theme=light]{--bg: #f6f5f2;--bg-panel: #f8f7f4;--bg-card: #fbfaf7;--bg-hover: #efeee9;--bg-active: #e6e5e0;--border: #cac8c2;--border-hover: #b5b3ad;--text: #4a4a52;--text-dim: #8a8a94;--text-bright: #1c1c22;--text-on-accent: #eae9ec;--alea: #d4a574;--spark: #1d8a82;--chroma: #6f4fb8;--warning: #d48806;--chart-bar-past: #c0c0de;--modal-overlay-bg: rgba(0,0,0,.35);color-scheme:light}*{margin:0;padding:0;box-sizing:border-box}body:has(>.game-overlay){overflow:hidden}html,body,#app{height:100%;min-height:-webkit-fill-available;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.6;user-select:none;-webkit-user-select:none}input,textarea,.history-block .content,.history-block h3,.history-action-label,.history-action-error-msg,.option-card .name,.event-name,.save-feed-text,.save-feed-name,.earth-form-value,.test-prompt{user-select:text;-webkit-user-select:text}#app{display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}.game-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);color:var(--text);z-index:100;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom);overflow:hidden}.resource-bar{position:relative;display:flex;align-items:center;gap:32px;height:calc(44px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 24px 0;border-bottom:1px solid var(--border);flex-shrink:0;font-family:var(--font-mono);font-size:13px;letter-spacing:.02em}.resource{display:flex;align-items:center;gap:8px}.resource .label{color:var(--text-dim);text-transform:uppercase;font-size:11px;letter-spacing:.08em}.resource.alea .val{color:var(--alea)}.resource.spark .val{color:var(--spark)}.resource.chroma .val{color:var(--chroma)}.resource .val{font-weight:600;min-width:28px;transition:color .4s ease}.current-date{position:absolute;left:50%;transform:translate(-50%);color:var(--text-dim);font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;pointer-events:none}.current-date:empty{display:none}.toolbar-buttons{margin-left:auto;display:flex;align-items:center;gap:4px}.toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:1px solid transparent;border-radius:var(--radius);color:var(--text-dim);cursor:pointer;transition:all .15s}.toolbar-btn:hover{color:var(--text-bright);background:var(--bg-hover);border-color:var(--border)}.toolbar-btn:active{background:var(--bg-active)}.game-area{display:flex;flex:1;overflow:hidden}.history-panel-wrap{width:100%;position:relative;overflow:hidden}.history-panel{max-width:700px;height:100%;overflow-y:auto;padding:20px 24px 0;margin:0 auto;scrollbar-width:none;display:flex;flex-direction:column}.history-panel::-webkit-scrollbar{display:none}.history-block{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border);flex-shrink:0}.history-block:last-child,.history-block:has(+.history-action){border-bottom:none}.history-block h3{color:var(--text-bright);font-size:13px;font-weight:600;margin-bottom:6px}.history-block .date-range{color:var(--text-dim);font-family:var(--font-mono);font-size:12px;margin-left:8px;font-weight:400}.history-block .content{color:var(--text);font-size:13.5px;line-height:1.7;white-space:pre-wrap}.history-empty{color:var(--text-dim);font-style:italic;text-align:center;display:flex;align-items:center;justify-content:center;flex:1;min-height:0}.history-panel:has(>.history-empty){overflow-y:hidden}.history-action{display:flex;align-items:center;justify-content:space-evenly;height:55px;flex-shrink:0;margin-top:auto;overflow:hidden}.history-block+.history-action{border-top:1px solid var(--border)}.history-action-link{color:var(--text-dim);font-size:15px;letter-spacing:.06em;cursor:pointer;transition:color .2s ease}.history-action-link:hover{color:var(--text-bright)}.history-action-label{color:var(--text-dim);font-size:15px;letter-spacing:.06em}.history-action-error-msg{color:var(--text-dim);font-size:13px;word-break:break-all;min-width:0}.history-action-error-msg~.history-action-link{font-size:13px}.player-reply-block{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border);flex-shrink:0}.player-reply-input{width:100%;box-sizing:border-box;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:13.5px;line-height:1.7;font-family:inherit;padding:8px;resize:vertical;min-height:60px}.player-reply-input:focus{outline:none;border-color:var(--text-dim)}.event-context-bar{margin-bottom:16px;color:var(--text-dim);font-size:13px;letter-spacing:.03em}.event-context-names{color:var(--text-bright);font-weight:600;line-height:1.6}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:13px;cursor:pointer;transition:all .15s;line-height:1.4}.btn:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-bright)}.btn:active{background:var(--bg-active)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--text-on-accent)}.btn-danger{background:transparent;border-color:#ef4444;color:#ef4444}.btn-danger:hover{background:color-mix(in srgb,#ef4444 10%,var(--bg-card));border-color:#ef4444;color:#ef4444}.btn-spark{border-color:color-mix(in srgb,var(--spark) 30%,transparent);color:var(--spark)}.btn-spark:hover{background:color-mix(in srgb,var(--spark) 8%,var(--bg-card))}.btn-chroma{border-color:color-mix(in srgb,var(--chroma) 30%,transparent);color:var(--chroma)}.btn-chroma:hover{background:color-mix(in srgb,var(--chroma) 8%,var(--bg-card))}.btn:disabled,.btn-sm:disabled{color:var(--text-dim);border-color:var(--border);background:var(--bg-card);cursor:default;pointer-events:none}.options-list{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.option-card{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .15s}.option-card:hover{background:var(--bg-hover);border-color:var(--accent)}.option-card .name{color:var(--text-bright);font-size:13.5px}.option-card .prob{color:var(--text-dim);font-family:var(--font-mono);font-size:12px}.dir-card,.cat-card{flex-wrap:wrap;row-gap:6px}.dir-actions{display:flex;gap:4px;align-items:center}.btn-sm{display:inline-flex;align-items:center;padding:3px 10px;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:11px;cursor:pointer;transition:all .15s;line-height:1.4}.btn-sm:hover{background:var(--bg-active);color:var(--text-bright)}.btn-sm.btn-chroma{border-color:color-mix(in srgb,var(--chroma) 30%,transparent);color:var(--chroma)}.btn-sm.btn-chroma:hover{background:color-mix(in srgb,var(--chroma) 8%,var(--bg-card))}.btn-sm.btn-chroma:disabled{color:var(--text-dim);border-color:var(--border);background:var(--bg-card);cursor:default;pointer-events:none}.btn-sm.btn-chroma-solid{background:var(--chroma);border-color:var(--chroma);color:var(--text-on-accent)}.btn-sm.btn-chroma-solid:hover{background:color-mix(in srgb,var(--chroma) 80%,var(--text-on-accent));border-color:color-mix(in srgb,var(--chroma) 80%,var(--text-on-accent))}.option-card.spark-rare{border-color:color-mix(in srgb,var(--spark) 35%,transparent)}.option-card.spark-rare:hover{border-color:var(--spark);background:color-mix(in srgb,var(--spark) 5%,var(--bg-hover))}.option-card.selected{border-color:var(--accent);background:var(--bg-active)}.option-card.aday-required{border-color:var(--accent);background:var(--bg-active);cursor:default;pointer-events:none}.event-row-daily{padding:8px 12px;margin-top:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.event-row-daily .event-info{display:flex;align-items:center;gap:10px;margin-bottom:6px}.event-row-daily .event-name{color:var(--text-bright);font-size:13px;font-weight:500}.event-today-prob{color:var(--text-dim);font-family:var(--font-mono);font-size:11px}.event-badge.prevented{color:var(--alea);font-size:11px;font-family:var(--font-mono);border:1px solid color-mix(in srgb,var(--alea) 30%,transparent);border-radius:3px;padding:1px 6px}.event-badge.updated,.event-badge.new-event{color:#c8507a;font-size:11px;font-family:var(--font-mono);border:1px solid color-mix(in srgb,#c8507a 30%,transparent);border-radius:3px;padding:1px 6px}.event-actions{display:flex;gap:6px;flex-wrap:wrap}.btn-evt{font-family:var(--font-mono);font-size:11px;letter-spacing:.01em}.btn-evt[disabled]{opacity:.3;pointer-events:none}.btn-sm.active-prevent{background:color-mix(in srgb,var(--alea) 15%,var(--bg-card));border-color:var(--alea);color:var(--alea)}.btn-sm.active-force{background:color-mix(in srgb,var(--accent) 15%,var(--bg-card));border-color:var(--accent);color:var(--accent-hover)}.daily-bottom{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.prob-modal{width:640px;max-width:calc(100vw - 48px)}.prob-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.prob-summary{color:var(--text);font-size:13px}.prob-total{color:var(--accent-hover);font-family:var(--font-mono);font-size:15px}.prob-zoom{display:flex;gap:4px}.prob-zoom .btn-sm{width:28px;justify-content:center;font-size:14px;font-weight:600}.prob-chart-wrap{position:relative;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:8px;margin-bottom:12px;overflow-x:scroll;overflow-y:hidden}.prob-chart-wrap canvas{display:block;height:200px}.prob-tooltip{display:none;position:absolute;background:var(--bg-card);border:1px solid var(--border);border-radius:3px;padding:3px 8px;color:var(--text-bright);font-family:var(--font-mono);font-size:11px;white-space:nowrap;pointer-events:none;z-index:10}.ff-modal{min-width:320px}.ff-spinners{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 0 12px}.ff-spinner{display:flex;flex-direction:column;align-items:center}.ff-arrow{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:8px 14px;border-radius:var(--radius);transition:color .15s,background .15s;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.ff-arrow:hover:not(.ff-arrow-off){color:var(--text-bright);background:var(--bg-card)}.ff-arrow:active:not(.ff-arrow-off){color:var(--accent)}.ff-arrow-off{opacity:.15;cursor:default;pointer-events:none}.ff-value{font-family:var(--font-mono);font-size:20px;font-weight:300;color:var(--text-bright);text-align:center;padding:2px 6px;letter-spacing:.02em;line-height:1.3;white-space:nowrap;min-width:36px}.ff-spinner-year .ff-value{font-size:17px;min-width:100px}.loading{font-size:15px;letter-spacing:.06em;padding:24px 0;display:flex;align-items:center;gap:10px}.loading-text{background:linear-gradient(90deg,var(--text-dim) 0%,var(--text-bright) 20%,var(--text-dim) 40%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:wave-text 2s ease-in-out infinite}@keyframes wave-text{0%{background-position:100% 0}to{background-position:-100% 0}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay-bg);display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:24px;min-width:360px;max-width:600px;max-height:80vh;overflow-y:auto}.modal h2{color:var(--text-bright);font-size:15px;font-weight:600;margin-bottom:16px}.modal .field{margin-bottom:12px}.modal label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:4px}.modal input[type=number]{width:100%;padding:6px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-bright);font-family:var(--font-mono);font-size:14px;outline:none}.modal input[type=number]:focus{border-color:var(--accent)}.modal .modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.option-card.random-highlight{border-color:var(--accent);background:var(--bg-active);transition:none}.option-card.random-selected{border-color:var(--accent);background:var(--bg-active)}@keyframes resource-shake{0%,to{transform:translate(0)}15%,45%,75%{transform:translate(-3px)}30%,60%,90%{transform:translate(3px)}}.resource .val.flash-insufficient{color:#ef4444!important;animation:resource-shake .5s ease;transition:color .12s ease}.test-mode-badge{color:var(--warning);font-size:11px;font-family:var(--font-mono);border:1px solid color-mix(in srgb,var(--warning) 27%,transparent);padding:1px 8px;border-radius:3px}[data-confirming]{position:relative!important;overflow:hidden!important;background:var(--confirm-color)!important;border-color:color-mix(in srgb,var(--confirm-color) 70%,#fff)!important;color:transparent!important;cursor:pointer!important;pointer-events:auto!important}[data-confirming]:hover{background:color-mix(in srgb,var(--confirm-color) 78%,#fff)!important;border-color:color-mix(in srgb,var(--confirm-color) 60%,#fff)!important}[data-confirming]:before{content:"";position:absolute;top:0;left:-100%;width:200%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);pointer-events:none;animation:confirm-sweep 1.5s ease-in-out infinite}@keyframes confirm-sweep{0%{transform:translate(-50%)}to{transform:translate(100%)}}.save-feed-page{flex:1;overflow-y:auto;--text-dim: #8a8a96;--text: #c0c0c8}[data-theme=light] .save-feed-page{--text-dim: #8a8a94;--text: #4a4a52}.save-feed-toolbar{position:fixed;top:calc(16px + env(safe-area-inset-top));right:24px;display:flex;gap:4px;z-index:1}.save-feed{max-width:660px;margin:0 auto;padding:calc(64px + env(safe-area-inset-top)) 24px 48px}.save-feed-entry{display:flex;cursor:pointer;padding:24px 0;transition:all .2s ease}.save-feed-entry+.save-feed-entry{border-top:1px solid var(--border)}.save-feed-entry:hover .save-feed-date .year,.save-feed-entry:hover .save-feed-date .save-feed-name{color:var(--accent-hover)}.save-feed-entry:hover .save-feed-text{color:var(--text-bright)}.save-feed-date{width:84px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-right:20px;border-right:1px solid var(--border);overflow:visible;position:relative}.save-feed-date .year{font-size:26px;font-weight:300;color:var(--text-bright);line-height:1;letter-spacing:.01em;white-space:nowrap;align-self:flex-end;font-family:var(--font-mono);transition:color .2s ease}.save-feed-date .monthday{font-size:12px;color:var(--text-dim);margin-top:5px;font-family:var(--font-mono);white-space:nowrap;letter-spacing:.02em}.save-feed-body{flex:1;padding-left:20px;min-width:0;display:flex;flex-direction:column;justify-content:center}.save-feed-text{font-size:13.5px;color:var(--text);line-height:1.7;transition:color .2s ease}.save-feed-name{font-size:26px;font-weight:300;color:var(--text-bright);line-height:1;letter-spacing:.01em;font-family:var(--font-mono);white-space:nowrap;margin-bottom:8px;transition:color .2s ease;align-self:flex-end;margin-right:0}.save-feed-actions{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;margin-left:8px;margin-right:-10px;opacity:0;transition:opacity .2s ease;flex-shrink:0}.save-feed-entry:hover .save-feed-actions{opacity:1}.save-action-btn{background:none;border:1px solid transparent;border-radius:4px;color:var(--text-dim);cursor:pointer;font-size:14px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:all .15s ease;padding:0;line-height:1}.save-action-btn:hover{color:var(--text-bright);background:var(--bg-hover);border-color:var(--border)}.save-action-del:hover{color:#f87171;background:#f8717114;border-color:#f8717133}.save-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}.save-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:28px 32px 24px;min-width:320px;max-width:400px;box-shadow:0 8px 32px #0000004d}.save-modal-title{font-size:15px;color:var(--text-bright);margin-bottom:18px;line-height:1.5}.save-modal-input{width:100%;padding:9px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text-bright);font-size:14px;font-family:inherit;outline:none;transition:border-color .2s ease;box-sizing:border-box;margin-bottom:20px}.save-modal-input:focus{border-color:var(--accent)}.save-modal-buttons{display:flex;justify-content:flex-end;gap:10px}.save-modal-buttons-col{flex-direction:column}.save-modal-buttons-col .btn{width:100%;justify-content:center}.save-modal-danger{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important}.save-modal-danger:hover{background:#ef4444!important;border-color:#ef4444!important}.earth-form-group{margin-bottom:14px}.earth-form-label{display:block;font-size:13px;color:var(--text-dim);margin-bottom:5px}.earth-form-group .save-modal-input{margin-bottom:0}.earth-form-error{font-size:12px;color:#f87171;margin-top:4px;min-height:0}.earth-date-row{display:flex;align-items:center;flex-wrap:nowrap;gap:3px}.earth-date-group{display:flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:6px;overflow:hidden;transition:border-color .2s ease}.earth-date-group:focus-within{border-color:var(--accent)}.earth-era-btn{font-size:12px;padding:5px 8px;background:transparent;border:none;border-radius:0;cursor:pointer;color:var(--text-dim);white-space:nowrap;text-align:center;transition:color .15s;line-height:1;box-sizing:border-box;flex-shrink:0}.earth-era-btn:hover{color:var(--text-bright)}.earth-di-vbar{width:1px;align-self:stretch;background:var(--border);flex-shrink:0}.earth-di{background:transparent;border:none;border-radius:0;color:var(--text-bright);font-size:13px;padding:5px 2px;text-align:center;outline:none;font-family:inherit;box-sizing:border-box}.earth-di-y{width:48px;min-width:36px;flex-shrink:1}.earth-di-md{width:34px}.earth-di-sep{color:var(--text-dim);font-size:12px;opacity:.4;line-height:1}.earth-date-tilde{color:var(--text-dim);font-size:14px;margin:0 2px}.ending-group{flex-wrap:nowrap;width:fit-content}.ending-group.ending-expand{width:100%}.ending-condition-input{flex:1;min-width:60px;text-align:left;padding-left:8px}.ending-amount-input{width:48px;text-align:center}.ending-static-label{cursor:default;pointer-events:none}.shop-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:0 20px;padding:10px 0}.shop-row-label{font-size:13px;color:var(--text);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.shop-val{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:15px;font-weight:400;width:70px;height:20px;justify-content:flex-start}.shop-val.dollar{color:var(--text-bright)}.shop-val.dollar svg{color:var(--accent)}.shop-val.gold{color:var(--warning)}.shop-divider{height:1px;background:var(--border);margin:2px 0}.shop-val input{width:40px;padding:0;background:none;border:none;border-radius:0;color:var(--text-bright);font-size:15px;font-family:var(--font-mono);font-weight:400;outline:none;caret-color:var(--accent)}.shop-bottom{display:flex;align-items:center;justify-content:center;position:relative;margin-top:18px}.shop-pay-btn{width:auto;height:22px;padding:0;font-size:14px;font-weight:500;line-height:22px;background:none;border:none;color:var(--text);cursor:pointer;transition:color .2s;display:inline-flex;align-items:center;gap:4px}.shop-pay-btn .shop-pay-arrow{transition:transform .2s ease}.shop-pay-btn:hover{color:var(--text-bright)}.shop-pay-btn:hover .shop-pay-arrow{transform:translate(3px)}.shop-pay-btn:disabled{opacity:.35;cursor:default;pointer-events:none}.shop-pay-btn.shop-pay-hidden{opacity:0;pointer-events:none}.shop-help-toggle{position:absolute;left:0;padding:4px 0;font-size:14px;color:var(--text);cursor:pointer;transition:color .2s;line-height:1}.shop-help-toggle:hover,.shop-help-toggle.open{color:var(--text-bright)}.shop-help-text{max-height:0;overflow:hidden;transition:max-height .3s ease,margin .3s ease,opacity .3s ease;opacity:0;font-size:12px;line-height:1.6;color:var(--text);margin-top:0}.shop-help-text p{margin:0 0 .5em}.shop-help-text p:last-child{margin-bottom:0}.shop-help-text.open{max-height:400px;opacity:1;margin-top:14px}.btn-secondary{background:var(--bg-hover);border:1px solid var(--border);color:var(--text);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit;transition:all .15s ease}.btn-secondary:hover{background:var(--bg-active);color:var(--text-bright)}.save-feed-top-row{display:flex;border-bottom:1px solid var(--border);margin-bottom:8px}.save-feed-new-game{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px 0;cursor:pointer;transition:all .2s ease;flex:1}.save-feed-new-game:hover .new-game-label{color:var(--text-bright)}.new-game-label{font-size:15px;color:var(--text-dim);letter-spacing:.06em;transition:color .2s ease}.new-game-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:110;display:flex;flex-direction:column;align-items:center;overflow-y:auto;scrollbar-gutter:stable;padding:calc(56px + env(safe-area-inset-top)) 0;--text-dim: #8a8a96;--text: #c0c0c8}.new-game-toolbar{position:fixed;top:calc(16px + env(safe-area-inset-top));right:24px;display:flex;gap:4px;z-index:111}[data-theme=light] .new-game-overlay{--text-dim: #8a8a94;--text: #4a4a52}.new-game-page{display:flex;flex-direction:column;align-items:center;gap:48px;width:100%;max-width:700px;padding:0 24px;margin:auto 0;flex-shrink:0}.year-selector{display:flex;flex-direction:column;align-items:center}.year-row{display:flex;align-items:baseline;gap:16px}.year-adj{color:var(--text-dim);font-family:var(--font-mono);font-size:13px;font-weight:300;cursor:pointer;transition:color .2s ease;letter-spacing:.01em}.year-adj:hover{color:var(--text-bright)}.year-adj-off{opacity:.2;cursor:default;pointer-events:none}.year-locked .year-adj{opacity:0;pointer-events:none;transition:opacity .4s ease}.year-display{min-width:160px;text-align:center;font-size:36px;font-weight:200;color:var(--text-bright);font-family:var(--font-mono);letter-spacing:.02em;line-height:1;padding:0 8px}.ng-text-link{color:var(--text-dim);font-size:15px;letter-spacing:.12em;cursor:pointer;transition:color .2s ease}.ng-text-link:hover{color:var(--text-bright)}.orbit-section{display:flex;flex-direction:column;align-items:center;width:100%}.ng-result-text{color:var(--text-bright);font-size:20px;font-weight:200;letter-spacing:.08em;font-family:var(--font-mono)}.ng-fade-in{animation:ngFadeIn .5s ease}@keyframes ngFadeIn{0%{opacity:0}to{opacity:1}}.location-section{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;min-height:64px}.slot-group{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.slot-container{position:relative;width:100%;max-width:560px;height:44px;overflow:hidden}.slot-strip{display:flex;position:absolute;top:0;left:0;height:100%;will-change:transform}.slot-item{display:flex;align-items:center;justify-content:center;width:72px;height:100%;flex-shrink:0;color:var(--text-dim);font-family:var(--font-mono);font-size:14px;letter-spacing:.02em;transition:color .3s ease}.slot-item.slot-selected{color:var(--text-bright);font-weight:600}.slot-center-mark{position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--text-dim);transform:translate(-50%);pointer-events:none;opacity:.3;z-index:2}.slot-fade-left,.slot-fade-right{position:absolute;top:0;bottom:0;width:80px;pointer-events:none;z-index:1}.slot-fade-left{left:0;background:linear-gradient(to right,var(--bg),transparent)}.slot-fade-right{right:0;background:linear-gradient(to left,var(--bg),transparent)}.new-game-start{margin-top:24px;opacity:0;transition:opacity .6s ease;text-align:center}.new-game-start.visible{opacity:1}.ng-lang-lock-hint{margin-top:10px;font-size:.75em;color:var(--text-dim);opacity:.55}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay-bg);display:flex;align-items:center;justify-content:center;z-index:200}.settings-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;width:720px;max-width:calc(100vw - 48px);height:520px;max-height:calc(100vh - 80px);display:flex;flex-direction:column;overflow:hidden}.settings-body{display:flex;flex:1;overflow:hidden}.settings-sidebar{width:140px;flex-shrink:0;border-right:1px solid var(--border);padding:12px 0;overflow-y:auto}.settings-tab{padding:8px 20px;font-size:13px;color:var(--text-dim);cursor:pointer;transition:all .15s}.settings-tab:hover{color:var(--text);background:var(--bg-hover)}.settings-tab.active{color:var(--text-bright);background:var(--bg-active)}.settings-content{flex:1;padding:20px 24px;overflow-y:auto}.settings-field{margin-bottom:14px}.settings-field label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:4px}.settings-field input[type=password],.settings-field input[type=number],.settings-field input[type=date]{width:100%;padding:7px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-bright);font-family:var(--font-mono);font-size:13px;outline:none}.settings-field input:focus{border-color:var(--accent)}.settings-field textarea{width:100%;padding:7px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-bright);font-family:var(--font);font-size:13px;outline:none;resize:vertical}.settings-field textarea:focus{border-color:var(--accent)}.settings-actions{display:flex;gap:8px;margin-top:16px}.settings-empty{color:var(--text-dim);font-size:13px;padding:24px 0;text-align:center}@media(max-width:650px)and (orientation:portrait){.settings-body{flex-direction:column}.settings-sidebar{width:100%;flex-shrink:0;border-right:none;border-bottom:1px solid var(--border);padding:0;display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.settings-sidebar::-webkit-scrollbar{display:none}.settings-tab{flex:1;min-width:max-content;text-align:center;white-space:nowrap}}.lang-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999}.lang-menu{position:absolute;top:44px;right:60px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:4px 0;min-width:140px}.lang-menu-item{padding:8px 16px;font-size:13px;color:var(--text);cursor:pointer;transition:background .15s}.lang-menu-item:hover{background:var(--bg-hover)}.lang-menu-item.active{color:var(--accent)}.language-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.language-options .btn{min-width:100px}.login-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.login-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:32px 32px 15px;width:100%;max-width:380px;position:relative;animation:modal-in .2s ease-out}@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.login-modal-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--text-dim);cursor:pointer;padding:4px;transition:color .15s}.login-modal-close:hover{color:var(--text)}.auth-providers{display:flex;flex-direction:column;gap:10px}.auth-provider-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 16px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:14px;cursor:pointer;transition:border-color .15s,background .15s;position:relative;overflow:hidden}.auth-provider-btn:hover{border-color:var(--text-dim);background:var(--bg-card)}.auth-provider-btn:disabled{opacity:.5;cursor:default}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-dim);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-email-section{display:flex;flex-direction:column;gap:10px}.auth-email-input{padding:11px 14px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;outline:none;transition:border-color .15s}.auth-email-input:focus{border-color:var(--text-dim)}.auth-continue{border-radius:8px;padding:8px 20px;align-self:center;width:auto;background:#adadb5;border-color:#adadb5;color:var(--bg);margin-top:12px}.auth-continue:hover{background:var(--text);border-color:var(--text);color:var(--bg)}[data-theme=light] .auth-continue{background:var(--text-bright);border-color:var(--text-bright);color:var(--bg-card)}[data-theme=light] .auth-continue:hover{background:var(--text);border-color:var(--text);color:var(--bg-card)}.auth-error{color:var(--alea);font-size:12px;min-height:0;margin-top:0;text-align:center}.auth-error:not(:empty){margin-top:4px}.auth-legal{margin-top:14px;font-size:10px;color:var(--text-dim);text-align:center;line-height:1.6}.auth-legal a{color:var(--text-dim);text-decoration:underline;text-underline-offset:2px}.auth-legal a:hover{color:var(--text)}.auth-code-section{text-align:center}.auth-code-title{font-size:18px;font-weight:500;margin-bottom:8px;color:var(--text)}.auth-code-subtitle{font-size:13px;color:var(--text-dim);margin-bottom:24px;line-height:1.5}.auth-code-inputs{display:flex;gap:8px;justify-content:center;margin-bottom:16px;position:relative;cursor:text}.code-hidden-input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.code-digit{width:44px;height:52px;display:flex;align-items:center;justify-content:center;font-size:22px;font-family:var(--font-mono);background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);transition:border-color .15s}.code-hidden-input:focus~.code-digit.active{border-color:var(--text)}.code-digit.disabled{opacity:.5}.auth-resend{background:none;border:none;color:var(--text-dim);font-size:13px;cursor:pointer;padding:4px 0;transition:color .15s}.auth-resend:hover{color:var(--text)}.auth-resend:disabled{opacity:.5;cursor:default}.btn-login-text{font-size:13px;color:var(--text-dim);background:none;border:none;padding:4px 2px;cursor:pointer;transition:color .15s;white-space:nowrap}.btn-login-text:hover{color:var(--text)}.landing-page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;min-height:100%}.landing-toolbar{position:fixed;top:calc(16px + env(safe-area-inset-top));right:24px;display:flex;gap:4px;z-index:1}.landing-center{display:flex;flex-direction:column;align-items:center;gap:0}.landing-title{font-family:var(--font-mono);font-size:28px;font-weight:200;color:var(--text-bright);letter-spacing:.12em;line-height:1}.landing-start{margin-top:48px;font-size:15px;font-weight:400;letter-spacing:.2em;color:var(--text-dim);background:none;border:none;cursor:pointer;transition:color .3s ease;font-family:var(--font);padding:8px 0}.landing-start:hover{color:var(--text-bright)}@media(display-mode:fullscreen){.landing-toolbar{top:16px}}.username-field{display:flex;gap:8px;align-items:center}.username-input{flex:1;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:14px;outline:none;transition:border-color .15s}.username-input:focus{border-color:var(--accent)}.username-input.input-error{border-color:#ef4444}.username-save-btn{padding:7px 14px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text);font-size:13px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.username-save-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.username-save-btn:disabled{opacity:.4;cursor:default}.username-error{font-size:12px;color:#ef4444;margin-top:6px}.account-section h3{font-size:13px;font-weight:500;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.account-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.account-label{font-size:14px;color:var(--text)}.account-value{font-size:13px;color:var(--text-dim)}.linked-badge{display:inline-block;padding:2px 8px;border-radius:4px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-size:12px}.dim{color:var(--text-dim)}.pk-manage-list{border:1px solid var(--border);border-radius:8px;overflow:hidden}.pk-manage-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;font-size:13px;color:var(--text);border-bottom:1px solid var(--border);transition:background .15s}.pk-manage-item:last-child{border-bottom:none}.pk-manage-item.pk-confirming{flex-direction:column;align-items:stretch;gap:10px}.pk-manage-item.pk-confirming .pk-manage-name{margin-bottom:0}.pk-manage-info{display:flex;flex-direction:column;gap:2px;min-width:0}.pk-manage-date{font-size:12px;color:var(--text-dim)}.pk-manage-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.pk-confirming .pk-manage-actions{align-items:stretch}.pk-confirm-text{font-size:12px;color:var(--text-dim);line-height:1.5}.pk-confirm-btns{display:flex;gap:8px;justify-content:flex-end}.pk-confirm-del-btn{color:#ef4444!important;border-color:#ef4444!important}.pk-confirm-del-btn:hover{background:color-mix(in srgb,#ef4444 10%,var(--bg-card))!important}.pk-manage-empty{padding:16px 14px;font-size:13px;color:var(--text-dim);border-bottom:1px solid var(--border)}.pk-add-row{cursor:pointer;color:var(--accent);font-size:13px}.pk-add-row:hover{background:var(--bg-hover)}.pk-add-text{font-weight:500}.pk-loading{opacity:.5}.pk-remove-btn{color:#ef4444!important;border-color:color-mix(in srgb,#ef4444 30%,transparent)!important}.pk-remove-btn:hover{background:color-mix(in srgb,#ef4444 10%,var(--bg-card))!important}.devices-list{display:flex;flex-direction:column}.device-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.device-info{display:flex;flex-direction:column;gap:2px}.device-name{font-size:14px;color:var(--text)}.device-meta{font-size:12px;color:var(--text-dim)}.current-badge{display:inline-block;padding:1px 6px;border-radius:3px;background:#4caf5026;color:#4caf50;font-size:11px;margin-left:6px}.device-revoke{color:var(--alea);border-color:var(--alea)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(20px);background:var(--bg-card);border:1px solid var(--border);color:var(--text);padding:10px 20px;border-radius:var(--radius);font-size:13px;z-index:300;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none}.toast.visible{opacity:1;transform:translate(-50%) translateY(0)}.connection-banner{position:fixed;top:0;left:0;right:0;z-index:500;text-align:center;font-size:11px;padding:3px 0;background:color-mix(in srgb,var(--warning) 15%,var(--bg));color:var(--warning);border-bottom:1px solid color-mix(in srgb,var(--warning) 30%,transparent);opacity:0;transform:translateY(-100%);transition:opacity .3s,transform .3s;pointer-events:none}.connection-banner.visible{opacity:1;transform:translateY(0)}.landscape-prompt{display:none;flex:1;align-items:center;justify-content:center;color:var(--text-dim);font-size:15px;letter-spacing:.08em}@media(max-width:650px){.new-game-overlay>.landscape-prompt{display:flex}.new-game-overlay>.new-game-page{display:none!important}.resource-bar .resource,.resource-bar .current-date,.resource-bar .test-mode-badge{display:none!important}}.pwa-prompt-desc{font-size:13px;color:var(--text);line-height:1.6;margin-bottom:18px;white-space:pre-line}.pwa-prompt-dismiss-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim);cursor:pointer;margin-bottom:18px}.pwa-prompt-dismiss-label input[type=checkbox]{accent-color:var(--accent);cursor:pointer}@media(display-mode:fullscreen){.resource-bar{height:44px;padding:0 24px}.save-feed-toolbar{top:16px}.save-feed{padding-top:64px}.new-game-overlay{padding-top:56px}.new-game-toolbar{top:16px}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.custom-scrollbar{position:absolute;top:0;right:0;bottom:0;width:11px;z-index:2;transition:opacity .25s}.custom-scrollbar-thumb{position:absolute;top:0;right:1px;width:9px;min-height:32px;border-radius:999px;background:var(--border);transition:background .15s,width .15s,right .15s;cursor:grab}.custom-scrollbar:hover .custom-scrollbar-thumb,.custom-scrollbar.active .custom-scrollbar-thumb{background:var(--border-hover)}.custom-scrollbar.active .custom-scrollbar-thumb{cursor:grabbing}#credential_picker_container{color-scheme:light!important;overflow:hidden!important;border-radius:8px!important}#credential_picker_container iframe{border:none!important;border-radius:8px!important;color-scheme:light!important}.history-block h3{display:flex;align-items:baseline}.btn-share{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:2px 4px;margin-left:auto;flex-shrink:0;transition:color .15s;display:inline-flex;align-items:center}.btn-share svg{display:block}.btn-share:hover{color:var(--text-bright)}.btn-bookmark{display:inline-flex;align-items:center;height:32px;padding:0 10px;background:none;border:1px solid transparent;border-radius:var(--radius);color:var(--text-dim);font-size:12px;font-family:var(--font-mono);letter-spacing:normal;white-space:nowrap;cursor:pointer;transition:color .15s,background .15s,border-color .15s;position:relative;line-height:1}.btn-bookmark:hover{color:var(--text-bright);background:var(--bg-hover);border-color:var(--border)}.bookmark-entry .save-feed-date .year,.bookmark-entry .save-feed-date .save-feed-name{color:var(--text-dim)}.readonly-bar .current-date{display:none}.readonly-bar~.game-area .daily-bottom{display:none}.plaza-content{max-width:660px;margin:0 auto;padding:0 24px 48px;width:100%}.plaza-list{display:flex;flex-direction:column}.plaza-entry{display:flex;flex-direction:column;cursor:pointer;padding:11px 0;position:relative}.plaza-entry+.plaza-entry{border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.plaza-entry:hover .plaza-entry-name{color:var(--accent-hover)}.plaza-entry-name{display:block;font-size:20px;font-weight:300;color:var(--text-bright);letter-spacing:.01em;line-height:1.3;font-family:var(--font-mono);transition:color .2s ease}.plaza-new-world{padding:7px 0 15px}.plaza-new-world .plaza-entry-name{font-family:var(--font);font-size:15px;font-weight:400;letter-spacing:.04em;color:var(--spark)}:root:not([data-theme=light]) .plaza-new-world .plaza-entry-name{background:linear-gradient(90deg,var(--alea),var(--spark),var(--chroma),var(--alea));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer-flow 20s ease-in-out infinite}@keyframes shimmer-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.plaza-entry-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;color:var(--text);line-height:1.6;margin-top:6px}.plaza-entry:hover .plaza-entry-desc{color:var(--text)}.plaza-entry-actions{position:absolute;top:11px;right:0;display:flex;gap:4px;opacity:0;transition:opacity .2s ease;height:26px;align-items:center}.plaza-entry:hover .plaza-entry-actions{opacity:1}.plaza-action-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:var(--radius);color:var(--text-dim);cursor:pointer;transition:color .15s,background .15s;padding:0;font-size:13px}.plaza-action-btn:hover{color:var(--text-bright);background:var(--bg-hover)}.create-world-page{display:flex;align-items:flex-start;justify-content:center;width:100%;flex:1;padding:calc(20px + env(safe-area-inset-top)) 24px 48px}.create-world-form{width:100%;max-width:420px}.create-world-form .earth-form-group{margin-bottom:20px}.create-world-form .earth-form-label{display:block;font-size:13px;color:var(--text-dim);margin-bottom:6px}.create-world-form .save-modal-input{width:100%;padding:9px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-bright);font-size:14px;font-family:inherit;outline:none;transition:border-color .2s ease;box-sizing:border-box}.create-world-form .save-modal-input:focus{border-color:var(--accent)}.create-world-form textarea.save-modal-input{resize:vertical;min-height:120px}.create-world-form textarea.earth-opening-input{min-height:54px}.create-world-form textarea.earth-desc-input{min-height:60px}.earth-edit-overlay{position:absolute;left:0;width:100%;box-sizing:border-box;z-index:10}textarea.earth-edit-overlay{resize:vertical;min-height:0;font-family:inherit}.earth-form-value{font-size:14px;color:var(--text-bright);line-height:1.6}.earth-form-value-pre{white-space:pre-wrap;word-break:break-word}.earth-form-label-row{display:flex;align-items:center;gap:6px;margin-bottom:5px}.earth-form-label-row .earth-form-label{margin-bottom:0}.earth-inline-edit{display:inline-block;font-size:13px;opacity:.55;cursor:pointer;vertical-align:baseline;color:var(--text-dim)}.earth-inline-edit:hover{opacity:1;color:var(--text-bright)}.create-world-actions{display:flex;justify-content:flex-start;gap:10px;margin-top:28px}.create-world-actions .btn{border-radius:8px;padding:8px 20px}.create-world-actions .btn-dark{background:#adadb5;border-color:#adadb5;color:var(--bg)}.create-world-actions .btn-dark:hover{background:var(--text);border-color:var(--text);color:var(--bg)}[data-theme=light] .create-world-actions .btn-dark{background:var(--text-bright);border-color:var(--text-bright);color:var(--bg-card)}[data-theme=light] .create-world-actions .btn-dark:hover{background:var(--text);border-color:var(--text);color:var(--bg-card)}.new-game-page.fictional-layout{gap:72px}.fictional-layout .new-game-start{margin-top:0}.start-section{display:flex;flex-direction:column;align-items:center;min-height:64px}.new-game-overlay.world-detail-active{overflow:hidden;padding-bottom:0}.world-info-panel{align-self:stretch;flex:1 1 0;min-height:0;padding:0 32px 48px;overflow-y:auto;scrollbar-width:none}.world-info-panel::-webkit-scrollbar{display:none}
