:root{color:#e7f0ee;font-synthesis:none;text-rendering:optimizelegibility;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--muted:#a9bdb2;--accent:#c1efb2;--focus:#b4ffae;--border:#adcdb32e;--mono:Consolas, "Courier New", monospace;background:#080f12;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{background:#080f12 url(/assets/desktop/backgrounds/neon-desktop.svg) 50%/cover no-repeat fixed;min-width:280px;margin:0}button,select{font:inherit}button,h2{-webkit-tap-highlight-color:transparent}button:focus-visible,h2:focus-visible,select:focus-visible,summary:focus-visible,.save-notice p:focus-visible{outline:3px solid var(--focus);outline-offset:5px}::selection{color:#14251c;background:var(--accent)}.trial-link{color:var(--accent);padding-block:.6rem;display:inline-block}.trial-link:focus-visible{outline:3px solid var(--focus);outline-offset:5px}.app-shell{grid-template-rows:auto 1fr auto;width:min(100%,1280px);min-height:100svh;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3.5rem);display:grid}.app-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding-block:1.5rem;display:flex}.wordmark{color:var(--accent);font:700 .85rem/1.5 var(--mono);letter-spacing:.2em;margin:0}.preview-label{color:var(--muted);font:.7rem/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase}main{grid-template-columns:minmax(0,34rem) minmax(0,1fr);align-items:center;gap:clamp(2rem,6vw,5rem);padding-block:clamp(2rem,6vh,4rem);display:grid}.preview-content{min-width:0}.wallmark{aspect-ratio:1;-webkit-user-select:none;user-select:none;pointer-events:none;justify-self:center;place-items:center;width:100%;max-width:360px;display:grid;position:relative}.wallmark>img{width:100%;height:100%;position:absolute}.wallmark-text{color:#9bd8a744;letter-spacing:.3em;text-align:center;font-size:clamp(1rem,2vw,1.5rem);font-weight:700;position:relative}.wallmark-text small{color:#a5d5b63a;font:.5rem/1.5 var(--mono);letter-spacing:.25em;text-transform:uppercase;margin-top:1.25rem;display:block}.eyebrow{color:var(--accent);font:.7rem/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase}h2{letter-spacing:-.035em;text-wrap:balance;margin:1rem 0;font-size:clamp(1.65rem,3vw,2rem);font-weight:400;line-height:1.2}p{color:var(--muted);font-size:.95rem;line-height:1.7}.screen-area{gap:1rem;display:grid}.screen-panel{background:linear-gradient(135deg,#1a3029f5,#0c191ef5);border:1px solid #adcdb345;border-radius:.6rem;padding:clamp(1.5rem,4vw,2.5rem);box-shadow:0 20px 60px #0004}.screen-panel>:first-child{margin-top:0}.screen-panel>:last-child{margin-bottom:0}.panel-icon{margin-bottom:1.5rem;display:block}.button{color:#14251c;background:var(--accent);cursor:pointer;border:1px solid #d4f5c864;border-radius:.25rem;justify-content:center;align-items:center;gap:1rem;max-width:100%;min-height:44px;padding:.8rem 1.1rem;font-size:.85rem;font-weight:700;line-height:1.4;display:inline-flex}.button>img{filter:brightness(.2);flex:none}.button:hover{background:#dcf8d0}.button:active{background:#a8d69a}.button-secondary{color:#e7f0ee;background:0 0;border-color:#71816c}.button-secondary:hover,.button-quiet:hover{background:#244037}.button-secondary:active,.button-quiet:active{background:#304d42}.button-quiet{color:#e7f0ee;background:0 0;border-color:#0000;justify-self:start;padding-inline:.5rem;font-weight:400}.button-quiet>img{filter:none}.button-row{flex-wrap:wrap;gap:.75rem;display:flex}.screen-panel>.button,.button-row{margin-top:1rem}.note:not(:empty){border-left:2px solid var(--accent);background:#c1efb20a;margin-top:1.5rem;padding:1.25rem}.note p{color:#e7f0ee;margin:0;line-height:1.8}.small-print{margin-top:1.5rem;font-size:.75rem}.app-footer{color:var(--muted);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem;padding-block:1.25rem;font-size:.7rem;line-height:1.6;display:flex}.app-footer>:last-child{font-family:var(--mono)}.loading-panel{min-height:20rem}.loading-indicator{border:2px solid #4b5c43;border-top-color:var(--accent);border-radius:50%;width:1.5rem;height:1.5rem;margin-bottom:1.5rem;animation:.9s linear infinite spin;display:block}.error-panel{border-color:#8b765b}.progress-main{grid-template-columns:minmax(0,1fr);align-items:start}.progress-main .wallmark{display:none}.progress-panel{width:100%;max-width:960px;margin-inline:auto}.progress-heading{justify-content:space-between;align-items:center;gap:2rem;display:flex}.progress-heading>div:first-child{flex:1}.progress-heading h2{font-size:clamp(1.8rem,4vw,2.8rem)}.progress-heading p{margin-bottom:0}.mission{color:var(--muted);flex:0 0 14rem;gap:.5rem;font-size:.75rem;display:grid}.mission-count{color:var(--accent);font:400 2.8rem/1 var(--mono)}.mission-count span{color:var(--muted);font-size:1.25rem}.mission strong{color:#e7f0ee;font-weight:400}progress{width:100%;height:.4rem;accent-color:var(--accent);appearance:none;background:#263c31;border:0;border-radius:4px;overflow:hidden}progress::-webkit-progress-bar{background:#263c31}progress::-webkit-progress-value{background:#9cdd89}progress::-moz-progress-bar{background:#9cdd89}.preview-explanation{margin-bottom:0;padding-block:1rem;font-size:.75rem}.save-notice{border:1px solid var(--border);border-radius:.25rem;padding:.7rem 1rem}.save-notice p{margin:0;font-size:.8rem}.save-warning{background:#d5af650a;border-color:#d5af65}.message-list{margin:1.5rem 0;padding:0;list-style:none}.message-card{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem 0;display:flex}.message-card>div{min-width:0}.message-card>.button{flex-shrink:0}.message-card p{margin:0}.message-meta{color:var(--accent);font:.7rem/1.6 var(--mono)}.message-meta span,.message-detail{color:var(--muted)}.message-card h3{overflow-wrap:anywhere;margin:.35rem 0;font-size:1rem;font-weight:400;line-height:1.5}.message-detail{font-size:.75rem}.message-status{padding-top:.45rem;font-size:.75rem}.is-read .message-status{color:var(--accent)}.letter-reader{max-width:42rem;margin:1.5rem auto 0}.letter-body{overflow-wrap:anywhere;padding:.75rem 0}.letter-body p{color:#e7f0ee;white-space:pre-wrap;font-size:1.05rem;line-height:1.9}.letter-end{height:1px;display:block}.reader-receipt,.continue-hint{color:var(--accent);font-size:.8rem}.button:disabled{cursor:not-allowed;opacity:.5}.ready-panel{border-left:2px solid var(--accent);background:#c1efb20a;padding:1rem 1.25rem}.ready-panel h3{margin-top:0;font-weight:400}.ready-panel p{margin-bottom:0}.review-panel{border-block:1px solid var(--border);margin-top:1.5rem;padding-block:1rem}.review-panel summary{cursor:pointer;min-height:44px;color:var(--muted);align-content:center;font-size:.8rem}.review-panel p,.review-panel label{font-size:.8rem}.review-panel label{margin-bottom:.5rem;display:block}.review-panel select{color:#e7f0ee;background:#14251c;border:1px solid #71816c;width:100%;max-width:25rem;min-height:44px;padding:.6rem}.progress-footer{justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.progress-footer p{margin:0;font-size:.75rem}.progress-footer .button{flex-shrink:0;font-size:.75rem}.confirmation{color:#e7f0ee;background:#152822;border:1px solid #adcdb378;border-radius:.6rem;width:min(32rem,100% - 2rem);max-height:calc(100svh - 2rem);padding:clamp(1.25rem,4vw,2rem);overflow:auto;box-shadow:0 20px 80px #0008}.confirmation::backdrop{background:#020908c9}.screen-panel>.confirmation{margin:auto}.confirmation h2{margin-top:0}@media (width<=680px){.progress-heading{flex-direction:column;align-items:stretch;gap:1.5rem}.mission{flex-basis:auto}.message-card{flex-direction:column;align-items:stretch}.message-card>.button{align-self:start}.progress-footer{flex-direction:column;align-items:start}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-indicator{animation:none}}@media (width<=960px){main{grid-template-columns:minmax(0,34rem);justify-content:center}.wallmark{display:none}}@media (width<=420px){.app-header{padding-block:1.25rem}.screen-panel{padding:1.5rem}.screen-panel>.button{width:100%}.button-row,.app-footer{flex-direction:column}}
