:root{--bg: #171c24;--bg2: #1f2732;--panel: #242f3d;--panel-hi: #2b3949;--line: #3a4a5e;--text: #e8eef5;--muted: #9db0c3;--amber: #ffb020;--amber-dark: #d18a00;--safety: #ffd23f;--green: #4cd97b;--red: #ff5d5d;--blue: #58b7ff;--shadow: 0 6px 20px rgba(0, 0, 0, .35);--radius: 12px;font-size:15px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1200px 500px at 70% -10%,#26313f 0%,transparent 60%),var(--bg);color:var(--text);font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Yu Gothic UI,Meiryo,sans-serif;line-height:1.55;min-height:100vh}#app{max-width:1180px;margin:0 auto;padding:16px 16px 90px}button{font-family:inherit}.stripe{height:8px;background:repeating-linear-gradient(-45deg,var(--safety) 0 14px,#222 14px 28px);border-radius:4px}.btn{display:inline-block;border:none;border-radius:10px;padding:10px 22px;font-size:1rem;font-weight:700;cursor:pointer;background:var(--panel-hi);color:var(--text);transition:transform .12s,filter .12s}.btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.1)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,var(--amber),var(--amber-dark));color:#1b1400;box-shadow:0 4px 14px #ffb02059}.btn-big{font-size:1.15rem;padding:14px 40px}.chip{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--panel-hi);color:var(--muted);border:1px solid var(--line);margin:1px 2px;white-space:nowrap}.chip.off{opacity:.4;text-decoration:line-through}.chip-amber{background:#ffb02026;border-color:var(--amber-dark);color:var(--amber)}.chip-red{background:#ff5d5d24;border-color:#a33;color:var(--red)}.chip-green{background:#4cd97b21;border-color:#2c7d49;color:var(--green)}.chip-blue{background:#58b7ff21;border-color:#2a6b9c;color:var(--blue)}.avatar{vertical-align:-.32em;flex-shrink:0}.chip.roster-chip{padding:4px 12px 4px 6px}.chip.roster-chip .avatar{vertical-align:-.42em}.term{border-bottom:1px dotted var(--muted);cursor:help;position:relative}.term:hover:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);width:max-content;max-width:260px;background:#0d1117;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:.8rem;font-weight:400;line-height:1.5;z-index:50;box-shadow:var(--shadow);pointer-events:none;white-space:normal}.bar{height:10px;border-radius:5px;background:#17202b;overflow:hidden;border:1px solid var(--line)}.bar>i{display:block;height:100%;border-radius:5px;background:var(--green);transition:width .25s ease}.bar>i.warn{background:var(--amber)}.bar>i.danger{background:var(--red)}.hud{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);padding:10px 16px;margin-bottom:14px;position:sticky;top:8px;z-index:20;box-shadow:var(--shadow)}.hud .logo-mini{font-weight:900;letter-spacing:.04em;color:var(--safety);font-size:1.05rem}.hud .day-pill{background:var(--panel-hi);border:1px solid var(--line);border-radius:8px;padding:3px 12px;font-weight:800}.hud .money{font-weight:800;font-size:1.05rem;color:var(--green);margin-left:auto}.hud .money.minus{color:var(--red)}.hud .rep{min-width:150px}.hud .rep small{color:var(--muted)}.title-screen{text-align:center;padding-top:5vh;animation:fadein .5s ease}.title-logo{margin:0 auto 6px;width:min(430px,88vw)}.title-screen h1{font-size:2.6rem;letter-spacing:.06em;margin:8px 0 2px;color:var(--safety);text-shadow:0 3px 0 #5a4a00,0 6px 18px rgba(0,0,0,.5)}.title-screen .subtitle{color:var(--muted);margin-bottom:26px}.howto{max-width:560px;margin:0 auto 26px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 24px}.howto h2{margin:0 0 8px;font-size:1rem;color:var(--amber)}.howto ul{margin:0;padding-left:1.3em;color:var(--muted);font-size:.92rem}.briefing{animation:fadein .4s ease;max-width:720px;margin:0 auto}.briefing .day-title{text-align:center;font-size:1.7rem;font-weight:900;margin:18px 0 4px}.briefing .weather-line{text-align:center;font-size:2.6rem;margin:4px 0 14px}.event-card{background:var(--panel);border:1px solid var(--amber-dark);border-left:6px solid var(--amber);border-radius:10px;padding:10px 16px;margin:10px 0;animation:slidein .4s ease both}.event-card b{display:block}.event-card small{color:var(--muted)}.roster{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.roster .box{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px}.roster .box h3{margin:0 0 6px;font-size:.85rem;color:var(--muted)}.center{text-align:center;margin:22px 0}.dispatch{display:grid;grid-template-columns:340px 1fr;gap:14px;align-items:start}@media(max-width:860px){.dispatch{grid-template-columns:1fr}}.job-list h2,.trucks h2{font-size:.95rem;color:var(--muted);margin:4px 0 8px}.job-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px;cursor:pointer;transition:transform .12s,border-color .12s,opacity .2s;position:relative}.job-card:hover:not(.disabled){transform:translateY(-2px);border-color:var(--amber)}.job-card .row1{display:flex;align-items:baseline;gap:8px}.job-card .emoji{font-size:1.35rem}.job-card .reward{margin-left:auto;font-weight:800;color:var(--green)}.job-card .reward.minus{color:var(--red)}.job-card .row2{color:var(--muted);font-size:.83rem;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.job-card.assigned{border-color:var(--blue);background:#58b7ff12}.job-card.disabled{opacity:.45;cursor:not-allowed}.job-card .why{display:block;text-align:right;margin-top:2px;font-size:.75rem;color:var(--red);font-weight:700}.job-card .who{display:block;text-align:right;margin-top:2px;font-size:.75rem;color:var(--blue);font-weight:700}.trucks{display:flex;flex-direction:column;gap:12px}.truck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.truck{background:var(--panel);border:2px solid var(--line);border-radius:var(--radius);padding:12px 14px;cursor:pointer;transition:border-color .15s}.truck.active{border-color:var(--amber);box-shadow:0 0 0 3px #ffb0202e}.truck .head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.truck .head .name{font-weight:800;font-size:1.02rem}.truck select{background:var(--panel-hi);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:4px 8px;font-family:inherit;margin-left:auto}.truck .meters{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin:10px 0 6px;font-size:.8rem;color:var(--muted)}.route{list-style:none;margin:8px 0;padding:0;font-size:.88rem}.route li{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px}.route li:nth-child(odd){background:#ffffff08}.route .n{color:var(--amber);font-weight:800;width:1.2em}.route .t{color:var(--muted);margin-left:auto;font-size:.78rem}.route .x{background:none;border:none;color:var(--red);cursor:pointer;font-size:1rem;padding:0 4px}.route .site-line{color:var(--blue);font-size:.82rem}.truck .risk{font-size:.8rem;color:var(--muted)}.truck .risk .hi{color:var(--red);font-weight:700}.truck .risk .mid{color:var(--amber);font-weight:700}.truck .profit{font-weight:800;color:var(--green);text-align:right;font-size:1.05rem}.truck .profit.minus{color:var(--red)}.combo-chips{margin:4px 0}.footer-bar{position:fixed;left:0;right:0;bottom:0;background:#171c24eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--line);padding:10px 18px;display:flex;align-items:center;gap:18px;justify-content:center;z-index:30}.footer-bar .sum{color:var(--muted);font-size:.9rem}.footer-bar .sum b{color:var(--green);font-size:1.05rem}.footer-bar .warn-vip{color:var(--red);font-weight:700;font-size:.85rem}.departing{max-width:640px;margin:0 auto;animation:fadein .3s ease}.departing h2{text-align:center;margin:18px 0}.depart-row{position:relative;height:60px;margin:14px 0;background:var(--bg2);border:1px solid var(--line);border-radius:10px;overflow:hidden}.depart-row:before{content:"";position:absolute;top:46%;left:0;right:0;border-top:3px dashed #46566a}.depart-truck{position:absolute;top:4px;left:-44px;font-size:1.9rem;transform:scaleX(-1);animation:drive 2.4s cubic-bezier(.45,.05,.55,.95) forwards}@keyframes drive{0%{left:-44px}to{left:calc(100% + 12px)}}.depart-label{position:absolute;bottom:2px;left:10px;font-size:.78rem;color:var(--muted)}.depart-status{text-align:center;color:var(--amber);font-weight:800;font-size:1.15rem;animation:pulse 1.4s ease-in-out infinite}.depart-status .dots:after{content:"";animation:dots 1.2s steps(4) infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.results{max-width:760px;margin:0 auto;animation:fadein .3s ease}.trip-card{background:var(--panel);border:1px solid var(--line);border-left:6px solid var(--green);border-radius:10px;padding:12px 16px;margin:12px 0;opacity:0;animation:slidein .5s ease forwards}.trip-card.delayed{border-left-color:var(--amber)}.trip-card.broken{border-left-color:var(--red)}.trip-card .head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.trip-card .profit{margin-left:auto;font-size:1.25rem;font-weight:900;color:var(--green)}.trip-card .profit.minus{color:var(--red)}.trip-card ul{margin:6px 0 0;padding-left:1.2em;color:var(--muted);font-size:.86rem}.day-summary{background:var(--bg2);border:1px solid var(--amber-dark);border-radius:var(--radius);padding:14px 20px;margin:16px 0;display:flex;gap:26px;flex-wrap:wrap;justify-content:center;font-weight:700;opacity:0;animation:slidein .5s ease forwards}.day-summary .minus{color:var(--red)}.day-summary .plus{color:var(--green)}.invest{max-width:760px;margin:0 auto;animation:fadein .3s ease}.invest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin:16px 0}.invest-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;cursor:pointer;transition:transform .12s,border-color .12s}.invest-card:hover:not(.disabled){transform:translateY(-2px);border-color:var(--amber)}.invest-card.disabled{opacity:.45;cursor:not-allowed}.invest-card.bought{border-color:var(--green);opacity:.7;cursor:default}.invest-card .cost{font-weight:800;color:var(--amber)}.invest-card small{color:var(--muted)}.gameover{text-align:center;max-width:640px;margin:0 auto;animation:fadein .4s ease}.rank-letter{font-size:7rem;font-weight:900;line-height:1;margin:18px 0 4px;animation:rankpop .7s cubic-bezier(.2,2.2,.4,1) both;text-shadow:0 6px 24px rgba(0,0,0,.6)}.rank-S{color:var(--safety)}.rank-A{color:var(--green)}.rank-B{color:var(--blue)}.rank-C{color:var(--muted)}.score-table{margin:18px auto;border-collapse:collapse;min-width:320px}.score-table td{padding:6px 18px;border-bottom:1px solid var(--line);text-align:left}.score-table td:last-child{text-align:right;font-weight:700}.score-table tr.total td{border-top:2px solid var(--amber);color:var(--amber);font-size:1.15rem;font-weight:900}.titles{margin:14px 0 24px}.titles .chip{font-size:.95rem;padding:6px 16px}.seed-note{margin-top:28px;color:var(--muted);font-size:.78rem;opacity:.85}.seed-note a{color:var(--blue)}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes slidein{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes rankpop{0%{opacity:0;transform:scale(3) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}
