@font-face{font-family:DotGothic16;src:url(../assets/fonts/DotGothic16-Regular.ttf) format("truetype");font-display:swap}:root{--bg: #10141f;--bg-card: #1a2030;--bg-card-alt: #232b40;--gold: #e8b84b;--gold-dim: #a8843a;--text: #e8e6df;--text-dim: #8a8fa3;--danger: #e05b5b;--success: #5bc07a;--info: #5b9bd5;--bubble: #f5ecd9;--bubble-text: #2a2418}*{margin:0;padding:0;box-sizing:border-box}body{background:#05070c;font-family:DotGothic16,Hiragino Sans,Noto Sans JP,sans-serif;font-size:14px;color:var(--text);min-height:100dvh;display:flex;justify-content:center}.app-shell.phone{width:min(100vw,390px);min-height:100dvh;background:var(--bg);display:flex;flex-direction:column;border-left:1px solid #2a3247;border-right:1px solid #2a3247}svg.icon{width:1.1em;height:1.1em;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-lg{width:1.4em;height:1.4em}.tab-page{opacity:1;transition:opacity .15s ease}.tab-page.fade-in{opacity:0;animation:tabFade .15s ease forwards}@keyframes tabFade{to{opacity:1}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal-panel{background:var(--bg-card);border-radius:16px;padding:20px;width:min(360px,100%);border:1px solid #35405c}.toast-stack{position:absolute;top:120px;left:14px;right:14px;pointer-events:none;z-index:20;display:flex;flex-direction:column;gap:8px}.toast-item{background:var(--bg-card-alt);border:1px solid var(--success);border-radius:10px;padding:8px 12px;font-size:13px;animation:toastFade 2s ease forwards}@keyframes toastFade{0%,70%{opacity:1}to{opacity:0}}.statusbar{background:var(--bg-card);padding:14px 16px 10px;border-bottom:1px solid #2a3247}.statusbar .month{font-size:13px;color:var(--text-dim);display:flex;justify-content:space-between;align-items:center}.statusbar .money{font-size:30px;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums;margin-top:2px;display:flex;align-items:center;gap:8px}.statusbar .sub{display:flex;justify-content:space-between;font-size:13px;margin-top:6px}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700}.badge.normal{background:#24403a;color:#6fd3a7}.badge.recession{background:#403a24;color:#d3b56f}.badge.depression{background:#402424;color:#d36f6f}.tabs{display:flex;background:var(--bg-card);border-bottom:1px solid #2a3247}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 7px;font-size:11px;color:var(--text-dim);background:none;border:none;border-bottom:3px solid transparent;font-family:inherit}.tab.active{color:var(--gold);border-bottom-color:var(--gold);font-weight:700}.content{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px}.actions{display:flex;gap:10px;padding:12px 14px calc(22px + env(safe-area-inset-bottom));background:var(--bg-card);border-top:1px solid #2a3247}.btn{border:none;border-radius:14px;padding:16px 0;font-size:16px;font-weight:700;text-align:center;flex:1;min-height:88px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-family:inherit}.btn .small{font-size:11px;font-weight:400;opacity:.8;margin-top:4px}.btn .btn-line{display:flex;align-items:center;gap:6px}.btn-primary{background:var(--gold);color:#1a1405}.btn-secondary{background:var(--bg-card-alt);color:var(--text);border:1px solid #35405c}.btn-disabled{background:#2a2f3d;color:#5a5f70}.card{background:var(--bg-card);border:1px solid #2a3247;border-radius:16px;padding:14px}.card.accepted{border-color:var(--success)}.card .card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.card .tech{font-size:15px;font-weight:700;color:var(--info);display:inline-flex;align-items:center;gap:5px}.card .unit-price{font-size:13px;color:var(--gold);font-weight:700}.card .client{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim);margin-bottom:8px}.card .specs{display:flex;justify-content:space-between;font-size:14px;margin-bottom:6px}.card .specs span{display:inline-flex;align-items:center;gap:5px}.card .specs .spec-eff{gap:3px;flex-wrap:wrap}.spec-eff .spec-base{color:var(--text-dim);text-decoration:line-through;font-size:12px}.spec-eff .spec-arrow{color:var(--text-dim);font-size:12px}.spec-eff .spec-effective{color:var(--gold);font-weight:700}.card .eff-note{font-size:11px;color:var(--gold);margin:-2px 0 6px;opacity:.9}.card .reward{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;margin-bottom:10px}.card-btn{width:100%;padding:12px 0;border-radius:10px;text-align:center;font-size:14px;font-weight:700;border:none;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:6px}.card-btn.accept{background:var(--gold);color:#1a1405}.card-btn.cancel{background:transparent;color:var(--danger);border:1px solid var(--danger)}.card-btn.ng{background:#2a2f3d;color:#5a5f70}.card.premium{position:relative;flex-shrink:0;border:1px solid var(--gold-dim);background:radial-gradient(130% 160% at 100% -10%,#e8b84b33,#e8b84b00 55%),linear-gradient(160deg,#26200f,#1a2030 60%);box-shadow:0 0 0 1px #e8b84b1f,0 10px 28px -10px #e8b84b73,inset 0 1px #ffffff0d;overflow:hidden}.card.premium:before{content:"";position:absolute;top:-15%;left:-80%;width:100%;height:130%;background:linear-gradient(105deg,transparent 25%,rgba(255,238,190,.16) 42%,rgba(255,238,190,.3) 50%,rgba(255,238,190,.16) 58%,transparent 75%);animation:premium-sweep 2.1s linear infinite;pointer-events:none}@keyframes premium-sweep{0%{transform:translate(0)}to{transform:translate(160%)}}.card.premium .reward{color:var(--gold);font-size:24px;text-shadow:0 0 14px rgba(232,184,75,.45)}.card.premium .unit-price{color:var(--gold)}.card.premium .tech{color:var(--text)}.card.premium .card-head,.card.premium .client,.card.premium .specs,.card.premium .reward,.card.premium .card-btn.accept{position:relative;z-index:1}.card.premium .card-btn.accept{background:linear-gradient(135deg,#ffe9ae 0%,var(--gold) 55%,#c99a3f 100%);color:#1a1405;box-shadow:0 4px 14px -4px #e8b84ba6}.card.premium.accepted{border-color:var(--success);box-shadow:0 0 0 1px #5bc07a2e,0 10px 28px -10px #e8b84b66,inset 0 1px #ffffff0d}.secretary{display:flex;align-items:flex-end;gap:10px;padding:4px 2px}.bubble{position:relative;background:var(--bubble);color:var(--bubble-text);border-radius:14px;padding:10px 12px;font-size:13px;line-height:1.5;flex:1}.bubble:before{content:"";position:absolute;left:-7px;bottom:12px;border:8px solid transparent;border-right-color:var(--bubble);border-left:0}.bubble .who{font-size:11px;font-weight:700;color:#8a6d3b;display:block;margin-bottom:2px}img.portrait-img,img.avatar-img{image-rendering:pixelated;object-fit:cover;object-position:top;border-radius:50%;background:var(--bg-card-alt)}img.portrait-img{width:56px;height:56px;box-shadow:0 0 0 2px var(--gold-dim)}img.avatar-img{width:44px;height:44px;box-shadow:0 0 0 2px #3a4360}img.avatar-sm{width:30px;height:30px}.worker-card{background:var(--bg-card);border:1px solid #2a3247;border-radius:14px;padding:10px 12px;display:flex;align-items:center;gap:10px}.worker-card.worker-enter{animation:worker-enter .5s ease-out;border-color:var(--gold);box-shadow:0 0 12px #d4af3759}@keyframes worker-enter{0%{opacity:0;transform:translateY(-14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.hire-btn{width:100%;margin-bottom:4px}.recruit-candidates{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;border:1px solid var(--gold-dim);background:linear-gradient(180deg,#221c12 0%,var(--bg-card) 100%)}.recruit-section-title{margin-top:0;color:var(--gold);font-weight:700}.recruit-hint{font-size:12px;color:var(--text-dim);line-height:1.4;margin-bottom:8px}.lv-desc{font-size:11px;color:var(--text-dim);line-height:1.4;margin:4px 0 0}.investment-row{margin-top:8px}.recruit-candidate-list,.worker-roster-list,.worker-roster{display:flex;flex-direction:column;gap:8px}.recruit-candidates+.worker-roster{padding-top:4px;border-top:1px solid #2a3247;margin-top:4px}.worker-card .who{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.worker-card .name{font-size:14px;font-weight:700}.worker-card .meta{font-size:11px;color:var(--text-dim);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.worker-card .meta-sep{color:#4a5068}.worker-tag-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid;width:fit-content}.worker-tag-badge .icon{width:14px;height:14px}.worker-tag-badge.tag-sales{background:#3d3520;color:var(--gold);border-color:#a8843a}.worker-tag-badge.tag-tech{background:#1e3348;color:#7eb8e8;border-color:#3a6a94}.worker-tag-badge.tag-efficiency{background:#1e3a2a;color:#6fd3a7;border-color:#2d6b4a}.status-chip{font-size:11px;padding:1px 8px;border-radius:999px}.status-chip.busy{background:#24403a;color:#6fd3a7}.status-chip.idle{background:#2a2f3d;color:var(--text-dim)}.section-title{font-size:13px;color:var(--text-dim);display:flex;align-items:center;gap:6px;margin-top:4px}.mini-btn{background:var(--bg-card-alt);border:1px solid #35405c;color:var(--text);border-radius:8px;padding:10px 14px;font-size:13px;font-weight:700;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:6px}.mini-btn.gold{background:var(--gold);color:#1a1405;border:none}.mini-btn.danger{color:var(--danger);border-color:var(--danger);background:transparent;gap:10px}.log-line{font-size:13px;padding:8px 4px;border-bottom:1px solid #222a3d;display:flex;align-items:center;gap:8px}.log-line .m{color:var(--text-dim);margin-right:4px}.plus{color:var(--success)}.minus{color:var(--danger)}.title-area{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px 16px 0}.title-logo .main{font-size:34px;font-weight:700;color:var(--gold);text-align:center}.title-logo .sub{font-size:13px;color:var(--text-dim);text-align:center;margin-top:4px}.title-goal{font-size:18px;font-weight:700;color:var(--gold);text-align:center;margin:14px 0 0;letter-spacing:.04em}.title-secretary{padding:0 14px 18px}.btn-big{display:block;margin:0 32px 14px;padding:18px 0;border-radius:16px;text-align:center;font-size:18px;font-weight:700;border:none;width:calc(100% - 64px);font-family:inherit;min-height:56px}.btn-big.btn-primary{background:var(--gold);color:#1a1405}.btn-big.btn-secondary{background:var(--bg-card-alt);color:var(--text);border:1px solid #35405c}.version{text-align:center;font-size:11px;color:var(--text-dim);padding-bottom:14px}.result-body{flex:1;display:flex;flex-direction:column;gap:14px;padding:24px 14px;overflow-y:auto}.result-head{text-align:center}.result-head .verdict{font-size:26px;font-weight:700}.result-head .final{font-size:20px;font-weight:700;color:var(--gold);margin-top:4px}.stat-row{display:flex;justify-content:space-between;align-items:center;background:var(--bg-card);border-radius:10px;padding:10px 14px;font-size:14px}.almost{text-align:center;font-size:14px;color:var(--gold);font-weight:700;margin:8px 0}.settings-screen{padding:20px 16px;display:flex;flex-direction:column;gap:16px;flex:1}.settings-screen label{display:flex;flex-direction:column;gap:8px;font-size:14px}.settings-screen h2{font-size:16px;color:var(--gold)}.hint-chip{margin:0 32px 10px;padding:8px 12px;background:var(--bubble);color:var(--bubble-text);border-radius:12px;font-size:12px;text-align:center}.scenario-screen{overflow:hidden}.scenario-header{padding:18px 20px 10px;display:flex;flex-direction:column;gap:6px}.scenario-back{align-self:flex-start;font-size:13px;color:var(--info);background:none;border:none;font-family:inherit;cursor:pointer;padding:0}.scenario-title{font-size:23px;color:var(--gold);margin-top:8px}.scenario-goal{font-size:14px;color:var(--text-dim)}.scenario-helper{font-size:12px;color:#b8bccb;line-height:1.5}.scenario-list{flex:1;overflow-y:auto;padding:8px 16px 0;display:flex;flex-direction:column;gap:9px}.scenario-card{border:1px solid #35405c;border-radius:16px;background:var(--bg-card);padding:13px 14px;text-align:left;cursor:pointer;font-family:inherit;color:inherit;width:100%}.scenario-card.selected{border-color:var(--gold);background:#2a2418;box-shadow:0 0 0 1px #e8b84b47,0 8px 18px #0000002e}.scenario-card-row1{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.scenario-card-name{font-size:17px;font-weight:700;color:var(--gold)}.scenario-card-mark{width:20px;height:20px;border:1px solid #53607e;border-radius:50%;display:grid;place-items:center;color:transparent;font-size:13px;line-height:1}.scenario-card.selected .scenario-card-mark{background:var(--gold);border-color:var(--gold);color:#1a1405}.scenario-card-desc{font-size:13px;color:var(--text);line-height:1.45}.scenario-secretary{padding:8px 14px 12px}.scenario-footer{padding:0 0 16px}.scenario-choice-note{color:var(--text-dim);font-size:11px;text-align:center;margin:0 32px 8px}.scenario-badge{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--bg-card-alt);color:var(--text-dim);margin-left:6px}.schedule-empty{color:var(--text-dim);font-size:14px;margin:0}.schedule-panel{background:var(--bg-card);border:1px solid #2a3247;border-radius:16px;padding:10px 8px 12px}.schedule-timeline{overflow-x:auto;--schedule-label-width: 120px;--schedule-col-width: 44px}.schedule-months{display:flex;width:calc(var(--schedule-label-width) + var(--schedule-track-width, 220px));min-width:max-content;margin-bottom:8px;padding-left:var(--schedule-label-width);box-sizing:border-box}.schedule-month-col{flex:0 0 var(--schedule-col-width);width:var(--schedule-col-width);text-align:center;font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums;position:relative}.schedule-month-col.schedule-now{color:var(--gold);font-weight:700}.schedule-now-mark{display:block;font-size:9px;line-height:1;margin-bottom:2px}.schedule-row{display:grid;grid-template-columns:var(--schedule-label-width) var(--schedule-track-width, 220px);column-gap:8px;align-items:start;width:calc(var(--schedule-label-width) + 8px + var(--schedule-track-width, 220px));min-width:max-content;margin-top:10px}.schedule-row-label{min-width:0}.schedule-row-title{font-size:12px;font-weight:700;line-height:1.3}.schedule-row-meta{font-size:10px;color:var(--text-dim);margin-top:2px;font-variant-numeric:tabular-nums}.schedule-row-track{position:relative;height:18px;width:var(--schedule-track-width, 220px)}.schedule-row-track:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,transparent,transparent calc(var(--schedule-col-width) - 1px),#2a3247 calc(var(--schedule-col-width) - 1px),#2a3247 var(--schedule-col-width));opacity:.35;border-radius:4px}.schedule-bar{position:absolute;top:2px;height:14px;border-radius:4px;min-width:8px}.schedule-bar.ongoing{background:var(--gold);opacity:.85}.schedule-bar.pending{background:#d4af3726;border:1px dashed var(--gold);opacity:.75}.mgmt-section{display:flex;flex-direction:column;gap:10px}.mgmt-empty{color:var(--text-dim);font-size:13px;margin:0}.month-transition{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0a0e18eb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px}.month-step{text-align:center;animation:month-step-in .35s ease-out}.month-step-title{font-size:22px;font-weight:700;margin:12px 0 0}.month-step-sub{font-size:28px;font-weight:700;margin:8px 0 0;color:var(--gold)}.month-step-hint{font-size:12px;color:var(--text-dim);margin:0}.tone-gain .month-step-title{color:var(--success)}.tone-loss .month-step-title{color:#e07070}.tone-alert .month-step-title{color:#d3b56f}@keyframes month-step-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.btn-primary:disabled{opacity:.5;cursor:not-allowed}
