:root{--color-bg:#0d0d0f;--color-bg-raised:#151518;--color-bg-input:#1c1c20;--color-border:#2a2a30;--color-text:#e8e8ec;--color-muted:#8a8a96;--color-dim:#5a5a66;--color-accent:#5b8aff;--color-accent-dim:#2a4aaa;--color-success:#3cbc8d;--color-danger:#e85555;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", ui-monospace, monospace;--transition:.14s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;min-height:100dvh;line-height:1.6}.app{flex-direction:column;min-height:100dvh;display:flex}.header{z-index:100;background:color-mix(in srgb, var(--color-bg) 80%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.header__inner{max-width:1200px;padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);margin:0 auto;display:flex}.header__brand{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.header__logo{color:var(--color-accent)}.header__title{letter-spacing:-.02em;color:var(--color-text);white-space:nowrap;font-size:1rem;font-weight:700}.header__nav{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.wallet-btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition), opacity var(--transition);white-space:nowrap;border:1px solid #0000;font-size:.875rem;font-weight:600;line-height:1.4;display:inline-flex}.wallet-btn:disabled{opacity:.6;cursor:not-allowed}.wallet-btn--connect{background:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:0 0 0 0 var(--color-accent)}.wallet-btn--connect:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 85%, white);border-color:color-mix(in srgb, var(--color-accent) 85%, white)}.wallet-btn--connect:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.wallet-btn--loading{background:var(--color-bg-input);color:var(--color-muted);border-color:var(--color-border)}.wallet-btn--connected{background:var(--color-bg-input);color:var(--color-text);border-color:var(--color-border);gap:var(--space-2)}.wallet-btn--connected:hover:not(:disabled),.wallet-btn--open{border-color:var(--color-accent);color:var(--color-text)}.wallet-btn--connected:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.wallet-btn__indicator{background:var(--color-success);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2.4s ease-in-out infinite pulse-dot;display:inline-block}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.55}}.wallet-btn__address{font-family:var(--font-mono);letter-spacing:0;font-size:.8125rem}.wallet-btn__spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.wallet-connected{display:inline-block;position:relative}.wallet-dropdown{top:calc(100% + var(--space-2));background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);z-index:200;min-width:196px;animation:.12s both dropdown-in;position:absolute;right:0;overflow:hidden;box-shadow:0 8px 24px #00000080}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.wallet-dropdown__item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-sans);color:var(--color-text);cursor:pointer;text-align:left;transition:background var(--transition);background:0 0;border:none;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.wallet-dropdown__item:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.wallet-dropdown__item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.wallet-dropdown__item--destructive{color:var(--color-danger)}.wallet-dropdown__item--destructive:hover{background:color-mix(in srgb, var(--color-danger) 10%, transparent)}.main{max-width:1200px;padding:var(--space-8) var(--space-4);flex:1;width:100%;margin:0 auto}.hero{text-align:center;max-width:600px;padding-top:var(--space-8);margin:0 auto}.hero__heading{letter-spacing:-.03em;color:var(--color-text);margin-bottom:var(--space-4);font-size:clamp(2rem,6vw,3.25rem);font-weight:700;line-height:1.15}.hero__sub{color:var(--color-muted);max-width:480px;margin:0 auto var(--space-6);font-size:clamp(.9375rem,2.5vw,1.0625rem);line-height:1.65}.hero__cta{color:var(--color-dim);margin-top:var(--space-4);font-size:.9375rem}.connected-notice{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-success) 8%, transparent);border:1px solid color-mix(in srgb, var(--color-success) 25%, transparent);color:var(--color-muted);word-break:break-all;text-align:left;margin-top:var(--space-4);font-size:.8125rem;display:inline-flex}.connected-notice__dot{background:var(--color-success);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2.4s ease-in-out infinite pulse-dot;display:inline-block}.connected-notice__address{font-family:var(--font-mono);color:var(--color-text);letter-spacing:0;font-size:.8125rem}.dashboard{margin-top:var(--space-8);text-align:left}.dashboard__status{max-width:720px;padding:var(--space-4);color:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-raised);margin:0 auto}.dashboard__status--error{color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 35%, var(--color-border))}.dashboard__grid{gap:var(--space-4);grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);align-items:start;display:grid}.dashboard__side{gap:var(--space-4);display:grid}.panel{background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-4)}.panel__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.panel h2{font-size:1rem;line-height:1.3}.panel__meta,.panel__note,.panel__empty{color:var(--color-muted);font-size:.8125rem}.trooper-list__items{gap:var(--space-3);display:grid}.trooper-card{gap:var(--space-1) var(--space-3);width:100%;padding:var(--space-4);text-align:left;color:var(--color-text);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:auto 1fr;display:grid}.trooper-card:hover,.trooper-card--selected{border-color:var(--color-accent)}.trooper-card__id{font-family:var(--font-mono);color:var(--color-accent);grid-row:span 2}.trooper-card__name{font-weight:700}.trooper-card__owner{color:var(--color-muted);font-size:.75rem;font-family:var(--font-mono);overflow-wrap:anywhere}.trooper-card__state-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.trooper-card__state{font-size:.875rem;font-weight:600}.state-grid{gap:var(--space-3);display:grid}.state-grid div{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.state-grid dt{color:var(--color-muted);font-size:.8125rem}.state-grid dd{text-align:right;font-weight:700}.energy-meter{height:8px;margin-top:var(--space-4);background:var(--color-bg-input);border-radius:999px;overflow:hidden}.energy-meter span{background:var(--color-accent);height:100%;display:block}.rewards-panel__amount{margin-bottom:var(--space-3);font-size:2rem;font-weight:700;line-height:1.1}.panel-actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.action-btn{min-height:36px;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-bg-input);font-family:var(--font-sans);cursor:pointer;font-size:.8125rem;font-weight:700}.action-btn--primary{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.action-btn:disabled{cursor:not-allowed;opacity:.55}.action-status{margin-top:var(--space-3);color:var(--color-muted);font-size:.8125rem}.action-status--success{color:var(--color-success)}.action-status--error{color:var(--color-danger)}@media (width<=480px){.header__title{font-size:.875rem}.wallet-btn{padding:var(--space-2) var(--space-3);font-size:.8125rem}.wallet-btn__address{text-overflow:ellipsis;max-width:7ch;overflow:hidden}.wallet-dropdown{min-width:180px;right:-4px}.hero{padding-top:var(--space-6)}}@media (width<=780px){.dashboard__grid{grid-template-columns:1fr}.panel__header,.state-grid div{flex-direction:column;align-items:flex-start}.state-grid dd{text-align:left}}.admin-app{width:min(1180px,100%);padding:var(--space-5) var(--space-4) var(--space-8);gap:var(--space-5);margin:0 auto;display:grid}.admin-app__header,.admin-app__section,.admin-gate,.artifact-review,.contract-actions,.mission-form{background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4)}.admin-app__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.artifact-review__details,.contract-actions,.mission-form{gap:var(--space-3);display:grid}.artifact-review__details{grid-template-columns:minmax(9rem,max-content) minmax(0,1fr)}.artifact-review__details dd,.contract-actions p,.mission-form input{overflow-wrap:anywhere;min-width:0}.contract-actions__panel{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-2);display:grid}.mission-form label,.artifact-review__confirm{gap:var(--space-1);display:grid}.mission-form input,.admin-app input[type=file]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-input);width:100%;color:var(--color-text);padding:var(--space-2)}.admin-app button{justify-self:start}@media (width<=640px){.admin-app__header{flex-direction:column}.artifact-review__details{grid-template-columns:1fr}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}
