USCSS TECHNICAL REFERENCE // WCYPD COLONY SYSTEMS
CASSETTE FUTURISM
Design System Reference — NASA/TM-2026-CSS-001 — Revision D
Technologies Demonstrated
1.0 Color Palette
[Alpine]DOCUMENT COLORS
--color-bg
#f5f4ef
Page Background
--color-surface
#ffffff
Panel / Card Surface
--color-surface-2
#e8e7e2
Table Headers / Inputs
PRIMARY PALETTE
--color-primary
#0b3d91
Primary / Rules / Labels
--color-secondary
#1a5276
Hover / Secondary Actions
STATUS COLORS
--color-danger
#c0392b
Fault / Warning / KIA
--color-caution
#c85200
Caution / Degraded
TEXT & BORDERS
--color-text
#1a1a14
Body Text
--color-text-muted
#5a5a52
Labels / Metadata
--color-border
#c8c7c0
Borders / Dividers
--color-rule
#0b3d91
Section Rules
Click any swatch to copy hex value to clipboard.
<div x-data="{ copied: null }"> <div class="mb-4"> <p class="mb-2" style="font-size: var(--font-size-caption); color: var(--color-text-muted); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;">DOCUMENT COLORS</p> <div class="grid grid-cols-2 sm:grid-cols-3 gap-3 mb-6"> <div class="cursor-pointer" { templ.Attributes{"@click": "navigator.clipboard.writeText('#f5f4ef'); copied='bg'; setTimeout(()=>copied=null,1500)"}... }> <div style="height: 48px; background: #f5f4ef; border: 1px solid var(--color-border);"></div> <p style="font-size: var(--font-size-caption); font-weight: 700; margin-top: 0.25rem;">--color-bg</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);" x-text="copied==='bg' ? 'COPIED' : '#f5f4ef'">#f5f4ef</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);">Page Background</p> </div> <div class="cursor-pointer" { templ.Attributes{"@click": "navigator.clipboard.writeText('#ffffff'); copied='surface'; setTimeout(()=>copied=null,1500)"}... }> <div style="height: 48px; background: #ffffff; border: 1px solid var(--color-border);"></div> <p style="font-size: var(--font-size-caption); font-weight: 700; margin-top: 0.25rem;">--color-surface</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);" x-text="copied==='surface' ? 'COPIED' : '#ffffff'">#ffffff</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);">Panel / Card Surface</p> </div> <div class="cursor-pointer" { templ.Attributes{"@click": "navigator.clipboard.writeText('#e8e7e2'); copied='surface2'; setTimeout(()=>copied=null,1500)"}... }> <div style="height: 48px; background: #e8e7e2; border: 1px solid var(--color-border);"></div> <p style="font-size: var(--font-size-caption); font-weight: 700; margin-top: 0.25rem;">--color-surface-2</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);" x-text="copied==='surface2' ? 'COPIED' : '#e8e7e2'">#e8e7e2</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);">Table Headers / Inputs</p> </div> </div> </div> <div class="mb-4"> <p class="mb-2" style="font-size: var(--font-size-caption); color: var(--color-text-muted); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;">PRIMARY PALETTE</p> <div class="grid grid-cols-2 sm:grid-cols-3 gap-3 mb-6"> <div class="cursor-pointer" { templ.Attributes{"@click": "navigator.clipboard.writeText('#0b3d91'); copied='primary'; setTimeout(()=>copied=null,1500)"}... }> <div style="height: 48px; background: #0b3d91; border: 1px solid var(--color-border);"></div> <p style="font-size: var(--font-size-caption); font-weight: 700; margin-top: 0.25rem;">--color-primary</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);" x-text="copied==='primary' ? 'COPIED' : '#0b3d91'">#0b3d91</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);">Primary / Rules / Labels</p> </div> <div class="cursor-pointer" { templ.Attributes{"@click": "navigator.clipboard.writeText('#1a5276'); copied='secondary'; setTimeout(()=>copied=null,1500)"}... }> <div style="height: 48px; background: #1a5276; border: 1px solid var(--color-border);"></div> <p style="font-size: var(--font-size-caption); font-weight: 700; margin-top: 0.25rem;">--color-secondary</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);" x-text="copied==='secondary' ? 'COPIED' : '#1a5276'">#1a5276</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);">Hover / Secondary Actions</p> </div> </div> </div> <div class="mb-4"> <p class="mb-2" style="font-size: var(--font-size-caption); color: var(--color-text-muted); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;">STATUS COLORS</p> <div class="grid grid-cols-2 sm:grid-cols-3 gap-3 mb-6"> <div class="cursor-pointer" { templ.Attributes{"@click": "navigator.clipboard.writeText('#c0392b'); copied='danger'; setTimeout(()=>copied=null,1500)"}... }> <div style="height: 48px; background: #c0392b; border: 1px solid var(--color-border);"></div> <p style="font-size: var(--font-size-caption); font-weight: 700; margin-top: 0.25rem;">--color-danger</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);" x-text="copied==='danger' ? 'COPIED' : '#c0392b'">#c0392b</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);">Fault / Warning / KIA</p> </div> <div class="cursor-pointer" { templ.Attributes{"@click": "navigator.clipboard.writeText('#c85200'); copied='caution'; setTimeout(()=>copied=null,1500)"}... }> <div style="height: 48px; background: #c85200; border: 1px solid var(--color-border);"></div> <p style="font-size: var(--font-size-caption); font-weight: 700; margin-top: 0.25rem;">--color-caution</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);" x-text="copied==='caution' ? 'COPIED' : '#c85200'">#c85200</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);">Caution / Degraded</p> </div> </div> </div> <div class="mb-4"> <p class="mb-2" style="font-size: var(--font-size-caption); color: var(--color-text-muted); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;">TEXT & BORDERS</p> <div class="grid grid-cols-2 sm:grid-cols-4 gap-3"> <div class="cursor-pointer" { templ.Attributes{"@click": "navigator.clipboard.writeText('#1a1a14'); copied='text'; setTimeout(()=>copied=null,1500)"}... }> <div style="height: 48px; background: #1a1a14; border: 1px solid var(--color-border);"></div> <p style="font-size: var(--font-size-caption); font-weight: 700; margin-top: 0.25rem;">--color-text</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);" x-text="copied==='text' ? 'COPIED' : '#1a1a14'">#1a1a14</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);">Body Text</p> </div> <div class="cursor-pointer" { templ.Attributes{"@click": "navigator.clipboard.writeText('#5a5a52'); copied='muted'; setTimeout(()=>copied=null,1500)"}... }> <div style="height: 48px; background: #5a5a52; border: 1px solid var(--color-border);"></div> <p style="font-size: var(--font-size-caption); font-weight: 700; margin-top: 0.25rem;">--color-text-muted</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);" x-text="copied==='muted' ? 'COPIED' : '#5a5a52'">#5a5a52</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);">Labels / Metadata</p> </div> <div class="cursor-pointer" { templ.Attributes{"@click": "navigator.clipboard.writeText('#c8c7c0'); copied='border'; setTimeout(()=>copied=null,1500)"}... }> <div style="height: 48px; background: #c8c7c0; border: 1px solid var(--color-border);"></div> <p style="font-size: var(--font-size-caption); font-weight: 700; margin-top: 0.25rem;">--color-border</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);" x-text="copied==='border' ? 'COPIED' : '#c8c7c0'">#c8c7c0</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);">Borders / Dividers</p> </div> <div class="cursor-pointer" { templ.Attributes{"@click": "navigator.clipboard.writeText('#0b3d91'); copied='rule'; setTimeout(()=>copied=null,1500)"}... }> <div style="height: 48px; background: #0b3d91; border: 1px solid var(--color-border);"></div> <p style="font-size: var(--font-size-caption); font-weight: 700; margin-top: 0.25rem;">--color-rule</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);" x-text="copied==='rule' ? 'COPIED' : '#0b3d91'">#0b3d91</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);">Section Rules</p> </div> </div> </div> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted); margin-top: 0.75rem;">Click any swatch to copy hex value to clipboard.</p> </div>
2.0 Typography
WEYLAND-YUTANI CORP. — MISSION BRIEFING — USCSS NOSTROMO (MSV-180286) — The crew of the Nostromo has been diverted to planetoid LV-426 to investigate a transmission of unknown origin. Special Order 937 has been activated per standing directives from the Science Division. All non-essential crew members are to be kept uninformed of the nature of the mission objective. The Science Officer will assume command authority for all specimen-related activities. Crew safety is secondary to retrieval of specimen. This order supersedes all standing protocols established under the Colonial Marine Corps Charter, Articles 1 through 18. Any violation of this order constitutes breach of contract under ICC Charter and is subject to immediate punitive action.
3.0 Spacing Scale
4.0 Button Components
[Alpine]| VARIANT | PREVIEW | USE CASE |
|---|---|---|
| Outline Primary | Standard actions, secondary operations | |
| Filled Primary | Primary CTA, high-priority actions | |
| Outline Danger | Destructive secondary action | |
| Filled Danger | Irreversible destructive action | |
| Disabled | Locked / insufficient clearance |
SM
MD (default)
LG
<div class="cass-panel mb-6"> <div class="cass-panel-header">INTERACTIVE — ARMED / SAFE TOGGLE</div> <div style="padding: 1rem;"> <div x-data="{ armed: false }" class="flex items-center gap-4"> <button { templ.Attributes{"@click": "armed = !armed"}... } { templ.Attributes{":class": "armed ? 'cass-btn cass-btn-danger-filled' : 'cass-btn'"}... } > <span x-text="armed ? '◙ ARMED' : '○ SAFE'">○ SAFE</span> </button> <span style="font-size: var(--font-size-caption); color: var(--color-text-muted);" x-text="armed ? 'WEAPONS HOT — CONFIRM TARGET BEFORE FIRING' : 'WEAPONS SAFE — CLICK TO ARM'">WEAPONS SAFE — CLICK TO ARM</span> </div> </div> </div>
5.0 Form Components
[HTMX] [Alpine]<form hx-post="/guides/cassette/demo-form" hx-target="#cass-form-response" hx-swap="innerHTML" style="display: grid; gap: 1.25rem;" > <!-- Personnel Designation --> <div class="cass-field-group"> <span class="cass-field-group-label">PERSONNEL DESIGNATION</span> <label class="cass-label" for="cass-personnel">Full Name / ID</label> <input id="cass-personnel" name="name" type="text" class="cass-input" placeholder="RIPLEY, E. — WO-NOS-002" /> </div> <!-- Authorization Code --> <div class="cass-field-group"> <span class="cass-field-group-label">AUTHORIZATION CODE</span> <label class="cass-label" for="cass-auth">Access Code (L-4 or above)</label> <input id="cass-auth" name="auth" type="password" class="cass-input cass-input-box" placeholder="••••••••" /> </div> <!-- Mission Classification --> <div class="cass-field-group"> <span class="cass-field-group-label">MISSION CLASSIFICATION</span> <label class="cass-label" for="cass-class">Select Classification Level</label> <select id="cass-class" name="classification" class="cass-input cass-input-box" style="cursor: pointer;"> <option value="routine">ROUTINE</option> <option value="priority">PRIORITY</option> <option value="classified">CLASSIFIED</option> <option value="eyes-only">EYES ONLY</option> </select> </div> <!-- Mission Briefing with char counter --> <div class="cass-field-group" x-data="{ chars: 0 }"> <span class="cass-field-group-label">MISSION BRIEFING</span> <div class="flex justify-between items-center mb-1"> <label class="cass-label" for="cass-briefing">Operational Summary</label> <span style="font-size: var(--font-size-caption); color: var(--color-text-muted);" x-text="chars + ' chars'">0 chars</span> </div> <textarea id="cass-briefing" name="briefing" rows="3" class="cass-input cass-input-box" style="resize: vertical;" placeholder="Describe mission objectives, hazards, and special orders..." x-on:input="chars = $el.value.length" ></textarea> </div> <!-- Systems Verified checkboxes --> <div class="cass-field-group"> <span class="cass-field-group-label">SYSTEMS VERIFIED</span> <div style="display: flex; gap: 1.5rem; flex-wrap: wrap;"> <label class="flex items-center gap-2 cursor-pointer" style="font-size: var(--font-size-body);"> <input type="checkbox" name="systems" value="life-support" class="cass-check"/> LIFE SUPPORT </label> <label class="flex items-center gap-2 cursor-pointer" style="font-size: var(--font-size-body);"> <input type="checkbox" name="systems" value="propulsion" class="cass-check"/> PROPULSION </label> <label class="flex items-center gap-2 cursor-pointer" style="font-size: var(--font-size-body);"> <input type="checkbox" name="systems" value="comms" class="cass-check"/> COMMUNICATIONS </label> </div> </div> <!-- Crew Status radios --> <div class="cass-field-group"> <span class="cass-field-group-label">CREW STATUS</span> <div style="display: flex; gap: 1.5rem; flex-wrap: wrap;"> <label class="flex items-center gap-2 cursor-pointer" style="font-size: var(--font-size-body);"> <input type="radio" name="crew-status" value="nominal" class="cass-check" checked/> <span class="cass-value-ok">NOMINAL</span> </label> <label class="flex items-center gap-2 cursor-pointer" style="font-size: var(--font-size-body);"> <input type="radio" name="crew-status" value="degraded" class="cass-check"/> <span class="cass-value-warn">DEGRADED</span> </label> <label class="flex items-center gap-2 cursor-pointer" style="font-size: var(--font-size-body);"> <input type="radio" name="crew-status" value="critical" class="cass-check"/> <span class="cass-value-danger">CRITICAL</span> </label> </div> </div> <!-- Thrust Allocation range --> <div class="cass-field-group" x-data="{ thrust: 75 }"> <span class="cass-field-group-label">THRUST ALLOCATION</span> <div class="flex justify-between items-center mb-2"> <label class="cass-label">Engine Power Output</label> <span class="cass-value" x-text="thrust + '%'">75%</span> </div> <input type="range" name="thrust" min="0" max="100" x-model="thrust" style="width: 100%; accent-color: var(--color-primary);" /> <div class="flex justify-between" style="font-size: var(--font-size-caption); color: var(--color-text-muted); margin-top: 0.25rem;"> <span>0% — OFFLINE</span> <span>50% — CRUISE</span> <span>100% — MAX</span> </div> </div> <!-- Submit --> <div class="flex justify-end gap-3"> <button type="reset" class="cass-btn">CLEAR FORM</button> <button type="submit" class="cass-btn cass-btn-filled">TRANSMIT REPORT</button> </div> </form>
6.0 Panel Components
[Alpine]NAVIGATIONAL NOTE
The Nostromo has been diverted from its registered course by automated subroutine activation. Navigation override is locked pending Science Officer authorization. ETA to LV-426: 18 hours at current velocity.
7.0 Data Tables
[Alpine]| ID | DESIGNATION | RANK | DEPARTMENT | STATUS | CLEARANCE |
|---|---|---|---|---|---|
| NOS-001 | DALLAS, A.J. | CAPTAIN | COMMAND | ACTIVE | L-5 |
| NOS-002 | RIPLEY, E. | WARRANT OFFICER | COMMAND | ACTIVE | L-4 |
| NOS-003 | KANE, G. | EXECUTIVE OFFICER | COMMAND | KIA | L-4 |
| NOS-004 | ASH | SCIENCE OFFICER | SCIENCE | DECOMMISSIONED | UNRESTRICTED |
| NOS-005 | LAMBERT, J. | NAVIGATOR | COMMAND | KIA | L-3 |
| NOS-006 | BRETT, S. | ENGINEER | ENGINEERING | KIA | L-2 |
| NOS-007 | PARKER, D. | CHIEF ENGINEER | ENGINEERING | KIA | L-2 |
| SYSTEM | CURRENT READING | NOMINAL RANGE | STATUS |
|---|---|---|---|
| Atmospheric Pressure | 101.3 kPa | 99.0–103.0 kPa | NOMINAL |
| Cabin Temperature | 19.7 °C | 18.0–22.0 °C | NOMINAL |
| Oxygen Partial Press. | 21.3 kPa | 20.5–22.0 kPa | NOMINAL |
| Reactor Coolant | 94.1% | < 95% | CAUTION |
| Fuel Cell Capacity | 67.4% | > 20% | NOMINAL |
| Hypersleep Units | 7/7 | 7/7 | NOMINAL |
8.0 System Status Monitor
[Alpine]| NAME | LOCATION | STATUS |
|---|---|---|
| RIPLEY, E. | DECK C — MEDICAL | ACTIVE |
| BISHOP | SCIENCE LAB | ACTIVE |
| HICKS, D. | ARMORY | ACTIVE |
<div class="cass-panel" x-data="{ systems: [{n:'LIFE SUPPORT',s:'ok'},{n:'PROPULSION',s:'ok'},{n:'NAVIGATION',s:'warn'},{n:'COMMUNICATIONS',s:'ok'},{n:'POWER GRID',s:'ok'},{n:'HYPERSLEEP',s:'ok'},{n:'MOTION SENSORS',s:'err'},{n:'ATMOSPHERIC',s:'ok'},{n:'FIRE SUPPRESSION',s:'ok'},{n:'CARGO LOCKS',s:'warn'}] }"> <div class="cass-panel-header">SYSTEM STATUS GRID — CLICK TO CYCLE</div> <div style="padding: 0.5rem;"> <template x-for="(sys, i) in systems" x-key="i"> <div class="flex items-center gap-3 cursor-pointer" style="padding: 0.4rem 0.25rem; border-bottom: 1px solid var(--color-surface-2);" { templ.Attributes{"@click": "sys.s = sys.s==='ok'?'warn':sys.s==='warn'?'err':'ok'"}... } > <span { templ.Attributes{":class": "sys.s==='ok'?'cass-light cass-light-green cass-pulse':sys.s==='warn'?'cass-light cass-light-amber':sys.s==='err'?'cass-light cass-light-red cass-blink':'cass-light cass-light-off'"}... } ></span> <span style="flex: 1; font-size: var(--font-size-caption); font-weight: 700; letter-spacing: 0.04em;" x-text="sys.n"></span> <span style="font-size: var(--font-size-caption); font-weight: 700;" { templ.Attributes{":style": "sys.s==='ok'?'color:#27ae60':sys.s==='warn'?'color:var(--color-caution)':'color:var(--color-danger)'"}... } x-text="sys.s==='ok'?'NOMINAL':sys.s==='warn'?'DEGRADED':'FAULT'" ></span> </div> </template> </div> </div>
9.0 Notice Components
All personnel must complete atmospheric decompression protocol before entering Deck C. Standard decompression time is 15 minutes. Reference: SOP-ATM-042, Revision 3.
Reactor coolant pressure is operating at 94.1% of nominal limits. Monitor pressure gauge readings every 15 minutes. Initiate venting procedure if readings exceed 97% nominal. Contact Chief Engineer immediately.
UNAUTHORIZED ACCESS TO SCIENCE DIVISION LABORATORY IS STRICTLY PROHIBITED. Special Order 937 is in effect. Violation is subject to immediate contract termination and criminal prosecution under ICC Charter Article 14, Section 9.
Hypersleep revival protocol requires a minimum 4-hour monitoring period. Medical Officer must be present for all revivals. Reference: MED-HS-001.
Motion sensor array sector 7G reporting intermittent signal loss. Maintenance crew dispatched. Estimated resolution: 2 hours. Do not rely on sector 7G coverage during this period.
AIRLOCK CYCLE DETECTED — DECK A EMERGENCY AIRLOCK. No crew authorization on record. Investigate immediately. Security to report to Deck A airlock station.
10.0 Document Metadata
11.0 Navigation Components
[Alpine]The USCSS Nostromo (registration MSV-180286) is a modified Lockmart CM-88B Bison M-Class starfreighter, commissioned 2116 and currently assigned commercial haulage routes under contract ref. CMO-180286. The vessel has been diverted from its registered transit route by automated command subroutine Mother, acting under Special Order 937.
All crew have been revived from hypersleep at grid reference Zeta II Reticuli. Navigation shows current position 34 light years from Earth. Mission duration estimate: 10 months transit to LV-426. All systems reading nominal except Navigation (override engaged) and Science Lab (access restricted under SO-937).
Selected section:
Click any section in the nav to change the active state. In a production document, this would scroll to or load that section.
12.0 Instrument Readouts
[Alpine]<div class="cass-panel mb-6"> <div class="cass-panel-header cass-panel-header-blue">ENVIRONMENTAL INSTRUMENT READOUTS — LIVE</div> <div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; padding: 0.75rem; gap: 0.5rem;"> <!-- 1. Cabin Pressure --> <div class="cass-readout" x-data="{ v: 101.3 }" x-init="setInterval(()=>{ v=parseFloat((101.3+(Math.random()-0.5)*0.4).toFixed(1)) },2500)"> <div class="cass-readout-unit" style="margin-bottom: 0.25rem;">CABIN PRESSURE</div> <div class="flex items-baseline gap-1"> <span class="cass-readout-value" x-text="v">101.3</span> <span class="cass-readout-unit">kPa</span> </div> <div style="margin-top: 0.25rem; font-size: var(--font-size-caption); font-weight: 700;" class="cass-value-ok">NOMINAL</div> </div> <!-- 2. O2 Partial Pressure --> <div class="cass-readout" x-data="{ v: 21.3 }" x-init="setInterval(()=>{ v=parseFloat((21.3+(Math.random()-0.5)*0.3).toFixed(1)) },2500)"> <div class="cass-readout-unit" style="margin-bottom: 0.25rem;">O₂ PARTIAL PRESS.</div> <div class="flex items-baseline gap-1"> <span class="cass-readout-value" x-text="v">21.3</span> <span class="cass-readout-unit">kPa</span> </div> <div style="margin-top: 0.25rem; font-size: var(--font-size-caption); font-weight: 700;" class="cass-value-ok">NOMINAL</div> </div> <!-- 3. Cabin Temp --> <div class="cass-readout" x-data="{ v: 19.7 }" x-init="setInterval(()=>{ v=parseFloat((19.7+(Math.random()-0.5)*0.5).toFixed(1)) },2500)"> <div class="cass-readout-unit" style="margin-bottom: 0.25rem;">CABIN TEMP.</div> <div class="flex items-baseline gap-1"> <span class="cass-readout-value" x-text="v">19.7</span> <span class="cass-readout-unit">°C</span> </div> <div style="margin-top: 0.25rem; font-size: var(--font-size-caption); font-weight: 700;" class="cass-value-ok">NOMINAL</div> </div> <!-- 4. Reactor Output --> <div class="cass-readout" x-data="{ v: 98.7 }" x-init="setInterval(()=>{ v=parseFloat((98.7+(Math.random()-0.5)*2).toFixed(1)) },2500)"> <div class="cass-readout-unit" style="margin-bottom: 0.25rem;">REACTOR OUTPUT</div> <div class="flex items-baseline gap-1"> <span { templ.Attributes{":class": "v < 80 ? 'cass-readout-value cass-readout-value-danger' : 'cass-readout-value'"}... } x-text="v" >98.7</span> <span class="cass-readout-unit">%</span> </div> <div style="margin-top: 0.25rem; font-size: var(--font-size-caption); font-weight: 700;" { templ.Attributes{":class": "v < 80 ? 'cass-value-danger' : 'cass-value-ok'"}... } x-text="v < 80 ? 'FAULT' : 'NOMINAL'" >NOMINAL</div> </div> <!-- 5. Velocity (static) --> <div class="cass-readout"> <div class="cass-readout-unit" style="margin-bottom: 0.25rem;">VELOCITY</div> <div class="flex items-baseline gap-1"> <span class="cass-readout-value">12.4</span> <span class="cass-readout-unit">km/s</span> </div> <div style="margin-top: 0.25rem; font-size: var(--font-size-caption); font-weight: 700;" class="cass-value-ok">CRUISE</div> </div> <!-- 6. Fuel Remaining --> <div class="cass-readout" x-data="{ v: 67.4 }" x-init="setInterval(()=>{ v=parseFloat((67.4+(Math.random()-0.5)*0.2).toFixed(1)) },3000)"> <div class="cass-readout-unit" style="margin-bottom: 0.25rem;">FUEL REMAINING</div> <div class="flex items-baseline gap-1"> <span { templ.Attributes{":class": "v < 30 ? 'cass-readout-value cass-readout-value-danger' : 'cass-readout-value'"}... } x-text="v" >67.4</span> <span class="cass-readout-unit">%</span> </div> <div style="margin-top: 0.25rem; font-size: var(--font-size-caption); font-weight: 700;" { templ.Attributes{":class": "v < 30 ? 'cass-value-warn' : 'cass-value-ok'"}... } x-text="v < 30 ? 'LOW' : 'NOMINAL'" >NOMINAL</div> </div> </div> </div>
13.0 Progress & Completion
[Alpine]<div class="cass-panel" x-data="{ steps: 6, total: 10 }"> <div class="cass-panel-header">SEGMENTED PROGRESS — MISSION SUBSTEPS</div> <div style="padding: 1rem;"> <div class="flex flex-wrap" style="margin-bottom: 0.75rem;"> <template x-for="i in total"> <div { templ.Attributes{":style": "i<=steps?'width:24px;height:24px;margin:1px;background:var(--color-primary);border:1px solid var(--color-border)':'width:24px;height:24px;margin:1px;background:var(--color-surface-2);border:1px solid var(--color-border)'"}... }></div> </template> </div> <div class="flex items-center gap-3"> <button class="cass-btn" { templ.Attributes{"@click": "if(steps>0)steps--"}... }>◀ PREV</button> <span style="font-size: var(--font-size-caption); color: var(--color-text-muted);" x-text="steps + ' / ' + total + ' SUBSTEPS COMPLETE'">6 / 10 SUBSTEPS COMPLETE</span> <button class="cass-btn" { templ.Attributes{"@click": "if(steps<total)steps++"}... }>NEXT ▶</button> </div> </div> </div>
| TASK | OWNER | PROGRESS | STATUS |
|---|---|---|---|
| Atmospheric Processor Repair | HICKS, D. | COMPLETE | |
| Colonial Lab Sweep | VASQUEZ, J. | IN PROGRESS | |
| Alien Nest Survey | BISHOP | IN PROGRESS | |
| Drop Ship Maintenance | FERRO, C. | DELAYED | |
| Perimeter Defense Setup | APONE, SGT. | NOT STARTED |
14.0 System Event Log
[HTMX]HTMX client — cassette.templ
<!-- HTMX polling trigger --> <div hx-get="/guides/cassette/log" hx-trigger="every 4s" hx-target="#cass-log-output" hx-swap="beforeend" ></div>
Go handler — handlers/guides.go
mux.HandleFunc("/guides/cassette/log", func(w http.ResponseWriter, r *http.Request) { entries := []struct{ sub, msg string }{ {"SYS", "WCYPD COLONY SYSTEMS — HEARTBEAT NOMINAL"}, // ... more entries ... } idx := int(time.Now().Unix()) % len(entries) e := entries[idx] ts := time.Now().Format("15:04:05") fmt.Fprintf(w, `<div ...>[%s] %s %s</div>`, ts, templ.EscapeString(e.sub), templ.EscapeString(e.msg), ) })
15.0 Dialog Components
[Alpine]Click a button above to open the corresponding modal dialog.
<div x-data="{ modal: null, authCode: '', confirmed: false }"> <!-- Trigger buttons --> <div class="flex flex-wrap gap-3 mb-4"> <button class="cass-btn cass-btn-filled" { templ.Attributes{"@click": "modal='auth'"}... }>REQUEST ACCESS</button> <button class="cass-btn cass-btn-danger" { templ.Attributes{"@click": "modal='jettison'; authCode=''; confirmed=false"}... }>CONFIRM JETTISON</button> <button class="cass-btn" { templ.Attributes{"@click": "modal='alert'"}... }>SYSTEM NOTIFICATION</button> </div> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);">Click a button above to open the corresponding modal dialog.</p> <!-- Overlay --> <div class="cass-overlay" x-show="modal !== null" style="display: none;" { templ.Attributes{"@click.self": "modal=null"}... }> <!-- Modal 1: Auth --> <div class="cass-modal" x-show="modal==='auth'" style="display: none;"> <div class="cass-modal-header">ACCESS REQUEST — LEVEL 5 CLEARANCE</div> <div style="padding: 1.25rem; display: flex; flex-direction: column; gap: 1rem;"> <div> <label class="cass-label" for="modal-personnel">PERSONNEL ID</label> <input id="modal-personnel" type="text" class="cass-input" placeholder="e.g. RIPLEY, E. — WO-NOS-002"/> </div> <div> <label class="cass-label" for="modal-code">AUTHORIZATION CODE</label> <input id="modal-code" type="password" class="cass-input cass-input-box" placeholder="••••••••"/> </div> <div> <label class="cass-label" for="modal-level">ACCESS LEVEL REQUESTED</label> <select id="modal-level" class="cass-input cass-input-box" style="cursor: pointer;"> <option>L-3</option> <option>L-4</option> <option>L-5</option> <option>UNRESTRICTED</option> </select> </div> <div> <label class="cass-label" for="modal-reason">REASON FOR ACCESS</label> <textarea id="modal-reason" rows="2" class="cass-input cass-input-box" placeholder="Describe operational need for elevated access clearance..."></textarea> </div> </div> <div class="flex justify-end gap-3" style="padding: 0.75rem 1.25rem; border-top: 1px solid var(--color-border);"> <button class="cass-btn" { templ.Attributes{"@click": "modal=null"}... }>CANCEL</button> <button class="cass-btn cass-btn-filled" { templ.Attributes{"@click": "modal=null"}... }>SUBMIT REQUEST</button> </div> </div> <!-- Modal 2: Jettison --> <div class="cass-modal" x-show="modal==='jettison'" style="display: none; border-color: var(--color-danger);"> <div class="cass-modal-header cass-modal-header-danger">CONFIRM JETTISON — IRREVERSIBLE ACTION</div> <div style="padding: 1.25rem;"> <div class="cass-notice cass-notice-warning mb-4"> <div class="cass-notice-label" style="color: var(--color-danger);">WARNING</div> <p>This action is irreversible. Once executed, the following cargo will be permanently jettisoned into open space and cannot be recovered.</p> </div> <p style="font-size: var(--font-size-caption); font-weight: 700; margin-bottom: 0.5rem; text-transform: uppercase; letter-spacing: 0.06em;">Cargo to be jettisoned:</p> <ul style="font-size: var(--font-size-body); color: var(--color-text-muted); margin-bottom: 1rem; padding-left: 1rem; line-height: 2;"> <li>Refinery Module RFN-7 (8,400 MT)</li> <li>Processing Equipment Set A (12,000 MT)</li> <li>Cargo Bay 3 Contents (2,200 MT)</li> </ul> <div> <label class="cass-label" for="modal-jettison-confirm">TYPE "CONFIRM" TO PROCEED</label> <input id="modal-jettison-confirm" type="text" x-model="authCode" class="cass-input cass-input-box" placeholder="CONFIRM" style="text-transform: uppercase;" /> </div> </div> <div class="flex justify-end gap-3" style="padding: 0.75rem 1.25rem; border-top: 1px solid var(--color-border);"> <button class="cass-btn" { templ.Attributes{"@click": "modal=null"}... }>ABORT</button> <button class="cass-btn cass-btn-danger-filled" { templ.Attributes{":disabled": "authCode !== 'CONFIRM'"}... } { templ.Attributes{"@click": "authCode==='CONFIRM' && (modal=null)"}... } >JETTISON</button> </div> </div> <!-- Modal 3: Alert --> <div class="cass-modal" x-show="modal==='alert'" style="display: none;"> <div class="cass-modal-header">SYSTEM NOTIFICATION — PRIORITY MESSAGE</div> <div style="padding: 1.25rem;"> <div class="cass-notice cass-notice-note mb-4"> <div class="cass-notice-label" style="color: var(--color-primary);">PRIORITY: ROUTINE</div> <p>Scheduled maintenance window for atmospheric processing units 3 and 4 will commence at 0200 station time. Estimated duration: 45 minutes. Decks F and G will experience reduced atmospheric circulation during this period.</p> </div> <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; margin-top: 0.75rem;"> <div class="cass-doc-cell"> <div class="cass-doc-cell-label">MSG REF</div> <div class="cass-doc-cell-value">SYS-MAINT-2026-003</div> </div> <div class="cass-doc-cell"> <div class="cass-doc-cell-label">PRIORITY</div> <div class="cass-doc-cell-value">ROUTINE</div> </div> <div class="cass-doc-cell"> <div class="cass-doc-cell-label">ISSUED BY</div> <div class="cass-doc-cell-value">MU/TH/UR 6000</div> </div> <div class="cass-doc-cell"> <div class="cass-doc-cell-label">TIMESTAMP</div> <div class="cass-doc-cell-value">2026-03-06 01:42</div> </div> </div> </div> <div class="flex justify-end" style="padding: 0.75rem 1.25rem; border-top: 1px solid var(--color-border);"> <button class="cass-btn cass-btn-filled" { templ.Attributes{"@click": "modal=null"}... }>ACKNOWLEDGED</button> </div> </div> </div> </div>