/* 0.3 — cold operations desk, warm base light, high-contrast action controls. */
:root{--bg:#0b121d;--panel:#131f30;--line:#2a3d54;--text:#eef4ff;--muted:#9babbd;--accent:#69d8f4;--orange:#ffaf73}body{background:radial-gradient(ellipse at 80% 0,#233f5a 0,#0b121d 60%);font-size:15px}header{background:linear-gradient(110deg,#111c2d,#1a3044);height:84px;border-bottom:1px solid #3b5b79;padding:0 22px;gap:20px;box-shadow:0 6px 25px #0005}.brand{color:#77e2fa}.brand span{letter-spacing:1px}.brand small{color:#a8bed2}nav{gap:2px}nav button{font-size:13px;padding:10px 11px;border-radius:7px}nav button:hover{background:#355878}.balance b{color:#ffd69c;font-size:18px}.strip{background:#090f18;color:#8ea9bf}.strip b{color:#d1e7f7}main{position:relative;grid-template-columns:210px minmax(0,1fr);height:calc(100vh - 290px);min-height:480px}.left{background:linear-gradient(170deg,#17273b,#0f1927);border-right:1px solid #2b4760;padding:22px 18px}.left h1{font-size:25px}.left p{font-size:13px;color:#acbfd0}.left .eyebrow{color:#66c7e8}.left-bottom button{background:#1e334b;text-align:left}.right{position:absolute;right:14px;top:65px;width:190px;max-height:calc(100% - 110px);padding:12px;z-index:2;background:#0b1829dc;border:1px solid #53759080;border-radius:10px;box-shadow:0 12px 35px #0007;backdrop-filter:blur(12px)}body:not(.in-battle) .right{display:none}.right .eyebrow{font-size:10px}.right #timer{font-size:28px;margin:6px 0}.right #minimap{margin:5px 0 10px;border:1px solid #4c6b87;border-radius:5px;background:#0e2032}.right #log{height:65px;font-size:10px;margin:7px 0}.right .radio{display:none}.right button{font-size:11px;padding:7px}.right .meter{margin-bottom:8px}.scene-top{background:linear-gradient(#08131df2,#09162590,transparent);padding:15px 20px;font-size:12px}.scene-top button{background:#19364bd9;border-color:#5e8ba8;border-radius:6px}.scene-bottom{background:linear-gradient(transparent,#09121ff2);color:#b5e7fb;font-size:12px}.building{background:linear-gradient(120deg,#182d42f5,#273d4deb);border:1px solid #87a9b578;border-left:3px solid #ffbe83;border-radius:6px;box-shadow:0 7px 25px #0009;padding:11px 16px;color:#f5eadb;transition:transform .15s,box-shadow .15s}.building:hover{transform:translate(-50%,-55%);box-shadow:0 8px 30px #ffc07144;background:#35546a}.building small{color:#adc5d9;font-size:10px}.building::before{background:#ffca8d;box-shadow:0 0 15px #ffb666}.operator{border-color:#35516a}.portrait{background-color:#1d2e43;border-color:#54708b;border-radius:8px}.meter{background:#08121e;border-radius:8px}.meter i{background:linear-gradient(90deg,#3d8abd,#82e6ed)}button{background:#22374f;border-color:#405d79;border-radius:7px;color:#e5f1ff}button:hover{background:#355d7d;border-color:#75c9e8}button.primary{background:linear-gradient(120deg,#70e4f3,#51abeb);color:#0a2031;border:0;box-shadow:0 4px 16px #43b4df22}button.active{background:#225776;border-color:#71eaff;color:#c5f8ff}input,select{background:#0e1c2c;border-color:#466381;border-radius:7px;color:#edf5ff}.eyebrow{color:#71cde8}p{color:#adbdcf}dialog{background:linear-gradient(135deg,#182b40,#101c2d);border:1px solid #517795;border-radius:14px;box-shadow:0 30px 120px #000c}dialog::backdrop{background:#030a14b8;backdrop-filter:blur(9px)}h2{color:#edf5ff}.quest{background:linear-gradient(100deg,#23384e,#192b40);border-left:3px solid #62d7f0;border-radius:0 8px 8px 0}.quest .reward{color:#ffd299}.notice{background:#3b2e23;border-color:#a57548;color:#ffd9b0}.item{background:linear-gradient(155deg,#24374a,#142130);border-color:#3b536a;border-radius:9px;padding:12px;box-shadow:0 4px 12px #0002;transition:transform .15s,border-color .15s}.item:hover{transform:translateY(-3px);border-color:#72c9eb}.item b{font-size:14px;min-height:34px;color:#e8f4ff}.item small{color:#b5c6d7}.item-desc{font-size:12px;line-height:1.45;min-height:50px}.item-spec{color:#85dff0!important;font-size:12px;min-height:32px}.catalog{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:15px}.item .icon{height:115px;width:115px;border-radius:8px}.tier1{border-top:3px solid #4fbda8}.tier2{border-top:3px solid #5baff5}.tier3{border-top:3px solid #c896f1}.row{border-color:#354d65}.vendor-head{border:1px solid #51718a;border-radius:10px;background:linear-gradient(100deg,#4b3526,#253a50 65%)}.shop-food .vendor-head{background:linear-gradient(100deg,#734728,#233949)}.shop-household .vendor-head{background:linear-gradient(100deg,#345166,#183440)}.vendor{border-radius:8px;border-color:#968566}.location{background:#15283d;border-color:#385d7a;border-radius:10px}.landscape{border-radius:7px}.inventory-extra{padding:18px;background:#102237;border:1px solid #375b78;border-radius:10px;margin-bottom:22px}.faction{background:linear-gradient(145deg,#214956,#183047);border-radius:10px;border-color:#56869a}.faction.west{background:linear-gradient(145deg,#755037,#283447)}footer{position:relative;background:linear-gradient(#182b40,#111d2c);border-top:1px solid #45647e;gap:12px;min-height:150px;padding:45px 18px 13px;align-items:center}#battle-info{width:145px;color:#b6d7ee}#actions{gap:6px;max-height:95px;overflow:auto;padding-right:3px}#actions button{min-height:44px;min-width:82px;padding:7px 10px;font-size:12px;border:1px solid #3c627e;background:#1e364e;box-shadow:inset 0 1px #ffffff09}#actions button[data-action=shoot],#actions button[data-action=shootPoint]{border-color:#8b644e;background:#413b37;color:#ffdab7}#actions button.active{background:#205778;border-color:#77edff;color:white}#actions small{font:10px Consolas;color:#8fb8d6;margin-top:4px}#end{max-width:180px;min-height:62px;font-size:14px;line-height:1.45}#plan-list{position:absolute;top:0;left:0;right:0;padding:7px 20px;background:#0a1624;border-bottom:1px solid #2b4b64;height:35px;overflow:auto;white-space:nowrap;font-size:11px;color:#a4c7df}#plan-list>span{color:#70e7f6;margin-right:15px}#plan-list button{font-size:10px;padding:3px 8px;margin-left:8px}.bottom{background:#07101a;color:#7c9bb2}.social-chat{height:280px;background:#0c1b2b;border-radius:8px}.social-chat>div{padding:10px;border-bottom:1px solid #294760}.social-chat small{color:#77d6f1}#tooltip{background:#0b1b2cf7;border-color:#7cb5d5;border-radius:9px;color:#e7f3ff;max-width:330px}#toast{background:#8de3f1;color:#0a2634}#map{cursor:crosshair}@media(max-width:1100px){header{height:auto;flex-wrap:wrap}nav{order:3;justify-content:flex-start;overflow:auto}main{grid-template-columns:170px 1fr;height:calc(100vh - 330px)}.right{display:block;width:150px;right:8px;top:60px}.right #log,.right>button.full:last-child{display:none}.right #timer{font-size:22px}.left{padding:16px 12px}.left h1{font-size:22px}#actions button{min-width:73px;font-size:11px}.building{padding:7px 10px;font-size:11px}}@media(max-width:680px){header{padding:12px;gap:10px}.brand span{font-size:14px}.balance b{font-size:14px}nav button{font-size:12px}main{display:block;height:56vh;min-height:340px}.right{width:120px;top:55px;padding:7px;max-height:240px}.right #timer-label,.right .eyebrow,.right #log,.right .meter{display:none}.right #minimap{margin:0}.right #timer{font-size:18px;margin:0 0 5px}.right button{font-size:10px}.scene-top{font-size:9px}footer{padding-top:42px;min-height:220px}#battle-info{width:100%}#actions{max-height:100px}#actions button{font-size:10px;min-width:65px;min-height:38px}#end{max-width:none;width:100%;min-height:42px}.catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.item{padding:8px}.item .icon{width:100px;height:100px}.item b{font-size:12px}.building{min-width:75px}.social-chat{height:200px}}

.needs-attention{position:relative!important;border-color:#e1b755!important;box-shadow:inset 0 0 16px #bca54825,0 0 8px #dcb84b22!important}.needs-attention:after{content:attr(data-badge);display:inline-grid;place-items:center;background:#e8b759;color:#14242d;font:bold 10px/1 sans-serif;border-radius:12px;min-width:16px;height:16px;padding:1px 3px;margin-left:5px}.equipped-figure{height:330px;position:relative;background:radial-gradient(ellipse at 50% 35%,#395264,#14232b 70%);border:1px solid #506879;border-radius:10px;overflow:hidden;margin-bottom:12px}.equipped-figure>svg{height:100%;width:100%;filter:drop-shadow(4px 5px 5px #0008)}.figure-weapon{position:absolute;width:140px;height:85px;left:calc(50% - 70px);top:43%;transform:rotate(-25deg);pointer-events:none}.figure-weapon .icon{width:140px!important;height:85px!important;display:block}.figure-caption{position:absolute;bottom:6px;left:0;right:0;text-align:center;color:#a9c6d4;font-size:11px}#feedback-text{width:100%;min-height:180px}.admin-feedback{border:1px solid #4b6472;padding:12px;margin:8px 0;white-space:pre-wrap}

.figure-weapon{top:49%;transform:rotate(-19deg)}.figure-weapon>svg{width:100%;height:100%;filter:drop-shadow(2px 3px 2px #0008)}

/* Photographic paperdoll and reward presentation. */
.equipped-figure.realistic{height:470px;background:#171b1a}.operator-body{position:relative;height:100%;width:210px;margin:auto;background-position:center;background-size:150% 100%;background-repeat:no-repeat}.operator-layer{position:absolute;inset:0;background-size:300% 200%;background-repeat:no-repeat}.realistic .figure-caption{background:#0a101de6;border-top:1px solid #476779;padding:9px}
body{caret-color:transparent}input,textarea,[contenteditable="true"]{caret-color:auto}button,a,summary,.icon{user-select:none}
#reward-receipt{width:min(520px,92vw);text-align:center;overflow:hidden;border:1px solid #55b6d8;background:radial-gradient(ellipse at top,#294650,#101a22 70%);box-shadow:0 0 65px #2ebbec35;padding:28px;animation:reward-arrive .3s ease-out}#reward-receipt::backdrop{background:#020811b8}.reward-rays{color:#e4c97b;font-size:60px;animation:reward-star 1.2s ease-out}.reward-receipt-items{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:22px 0}.reward-receipt-items>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;max-width:140px;padding:10px;background:#0a131ba0;border:1px solid #446673;border-radius:6px;animation:reward-arrive .45s ease-out}.reward-number{font-size:22px;color:#e4c97b}.reward-receipt-items b{font-size:14px}.active-task-list{padding:16px;background:#12232d;border:1px solid #355362;margin-bottom:20px}@keyframes reward-arrive{from{opacity:0;transform:translateY(15px) scale(.94)}to{opacity:1;transform:none}}@keyframes reward-star{from{transform:rotate(-90deg) scale(.4);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){#reward-receipt,.reward-rays,.reward-receipt-items>div{animation:none}}

.equipped-figure.avatar-only{height:235px;display:flex;justify-content:center;align-items:flex-start;padding:0 0 34px;background:#12232d}.avatar-only>img,.avatar-only>.npc-portrait{width:100%;height:100%;object-fit:cover;aspect-ratio:auto;border:0}.operator-avatar{display:block;width:100%;height:100%;object-fit:cover}.registration-avatar{width:130px;height:130px;margin:14px auto;border:1px solid #547789;border-radius:6px;overflow:hidden}.registration-avatar>.npc-portrait{width:100%;height:100%;border:0}

/* Operations dashboard */
.admin-metrics{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.admin-metrics>div{flex:1;min-width:110px;background:#111e27;border:1px solid #385163;border-radius:6px;padding:12px;color:#aabdc8}.admin-metrics strong{display:block;font-size:24px;color:#55c8ec;margin-top:8px}.admin-dashboard details{margin-bottom:14px}#admin-dossier{overflow-wrap:anywhere}.module-photo{border:1px solid #3e5059}

#reward-receipt .icon{display:block;flex:none;width:84px;height:84px;min-width:84px;background-repeat:no-repeat;background-size:600% 400%;position:relative;overflow:hidden;border-radius:6px}#reward-receipt .icon svg{width:100%;height:100%}#reward-receipt .item-stamp{display:none}#reward-receipt{max-height:90vh;overflow-y:auto}.reward-receipt-items>div{width:120px;min-width:100px}.honor-status{display:flex;align-items:center;gap:8px;margin:10px 0}.honor-status svg{width:36px;height:48px;flex:none}.honor-status>div{flex:1;min-width:100px}.honor-status small{font-size:10px;display:block}.honor-progress{height:5px;background:#07141e;margin:5px 0;border-radius:4px;overflow:hidden}.honor-progress i{display:block;height:100%;background:linear-gradient(90deg,#51bde6,#dbcb91)}.honor-status.compact{margin:2px 0}.honor-status.compact svg{width:26px;height:34px}
