:root{--navy:#08182c;--navy2:#102b4d;--blue:#174d7c;--cyan:#5ed9e5;--pale:#d9edf0;--paper:#f2f0e4;--ink:#162131;--line:#738696;--green:#8dd65a;--shadow:#050b12}*{box-sizing:border-box}html{background:#07101d}body{margin:0;color:var(--ink);font-family:Tahoma,Verdana,Arial,sans-serif;font-size:14px;background-color:#0b1c30;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:20px 20px}.site-shell{width:min(1040px,calc(100% - 24px));margin:20px auto;border:1px solid #668097;box-shadow:0 0 0 4px #050b12,0 18px 70px #000;background:#c4d1d2}.site-header{min-height:112px;display:flex;align-items:center;justify-content:space-between;padding:22px 26px;color:white;background:radial-gradient(circle at 75% 25%,#285a78 0,transparent 32%),linear-gradient(135deg,#102b4d,#071626);border-bottom:1px solid #000}.brand{display:flex;gap:15px;align-items:center;color:white;text-decoration:none}.brand-mark{display:grid;place-items:center;width:58px;height:58px;border:2px solid var(--cyan);font:700 34px Georgia,serif;color:var(--cyan);background:#0b2037;box-shadow:inset 0 0 0 4px #133b5d,3px 3px 0 #020810}.brand strong{display:block;font:700 clamp(25px,5vw,39px) Georgia,"Times New Roman",serif;letter-spacing:-1px;text-shadow:2px 2px #000}.brand small{display:block;margin-top:4px;color:#b7d5dd;letter-spacing:2px;text-transform:uppercase;font-size:10px}.header-badge{border:1px solid #55748b;padding:7px 9px;color:#b8ced2;background:#081724;font:10px "Courier New",monospace;letter-spacing:1px}.status-dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green)}.main-nav{display:flex;padding-left:12px;border-top:1px solid #3b6584;border-bottom:2px solid #050b12;background:linear-gradient(#275a7c,#123a5d)}.main-nav a{padding:12px 20px;color:#e5f4f5;text-decoration:none;text-transform:uppercase;font-weight:bold;font-size:11px;letter-spacing:1px;border-right:1px solid #071c30;border-left:1px solid #3e6e8d}.main-nav a:hover,.main-nav a.active{color:#061625;background:linear-gradient(#a9e8ed,#56b9c7)}.ticker{display:flex;gap:8px;align-items:center;padding:8px 14px;color:#cddce1;background:#091727;border-bottom:1px solid #607888;font:11px "Courier New",monospace}.ticker span{color:var(--cyan)}.layout{display:grid;grid-template-columns:220px 1fr;gap:12px;padding:12px}.sidebar,.content{display:flex;flex-direction:column;gap:12px}.panel{border:1px solid #455d70;background:var(--paper);box-shadow:2px 2px 0 rgba(4,12,20,.35)}.panel>h2,.panel-title{margin:0;min-height:34px;padding:7px 10px;color:#fff;background:linear-gradient(90deg,#143f63,#09243d);border-bottom:1px solid #020b12;box-shadow:inset 0 1px #397194}.panel>h2,.panel-title h1,.panel-title h2{font:700 13px Georgia,serif;letter-spacing:.5px}.panel-title{display:flex;align-items:center;justify-content:space-between}.panel-title h1,.panel-title h2{margin:0}.panel-title span{font:9px "Courier New",monospace;color:#8fcbd1;letter-spacing:1px}.panel-body{padding:18px}.link-list{padding:7px}.link-list a{display:block;padding:9px 7px;color:#133d61;text-decoration:none;border-bottom:1px dotted #9ba8a8}.link-list a:hover,.text-link:hover{text-decoration:underline}.stats{padding:8px 12px}.stats p{display:flex;justify-content:space-between;gap:10px;margin:0;padding:8px 0;border-bottom:1px dotted #9ea8a7;font-size:11px}.stats p:last-child{border:0}.stats span{color:#5c6970}.stats b{text-align:right}.stats .online{color:#317618}.feature .panel-body{padding:31px}.lead{font:700 20px/1.35 Georgia,serif;color:#102f49;margin-top:0}.panel p{line-height:1.65}.button-row{display:flex;gap:9px;margin-top:22px}.button{display:inline-block;padding:10px 15px;border:1px solid #495d66;background:linear-gradient(#fff,#c9d0cf);box-shadow:1px 1px 0 #172532;color:#172a3b;text-decoration:none;font-weight:bold;font-size:11px;text-transform:uppercase;letter-spacing:.4px}.button:hover{filter:brightness(1.06)}.button.primary{color:#fff;border-color:#09223b;background:linear-gradient(#266593,#123a5d)}.project-card{display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:start}.app-icon{display:grid;place-items:center;width:64px;height:64px;color:#dfffff;border:2px solid #0a263e;border-radius:12px;background:linear-gradient(135deg,#42adbd,#194f78);box-shadow:inset 0 0 0 3px #8bd7d8,3px 3px 0 #acb3ae;font:bold 13px "Courier New",monospace}.app-icon.large{width:100px;height:100px;font-size:18px}.app-icon.muted{filter:grayscale(1);opacity:.55}.eyebrow,time{font:10px "Courier New",monospace;color:#55717a;letter-spacing:1px}.project-card h3,.project-tile h2,.news-entry h2{margin:5px 0 6px;color:#102f4a;font:700 19px Georgia,serif}.text-link{color:#0a547b;font-weight:bold;text-decoration:none}.compact-news time{float:left;margin:4px 14px 8px 0;padding:7px;color:#fff;background:#496170}.compact-news h3{margin:0;color:#18384e}.single-column{display:flex;flex-direction:column;gap:12px;padding:12px}.single-column.narrow{max-width:790px;margin:auto}.intro{padding:24px 26px}.intro p:last-child{margin-bottom:0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.project-tile .panel-body{padding:24px}.project-tile .app-icon{margin-bottom:16px}.project-tile .button{margin-top:12px}.placeholder{background:#d9dbd1;border-style:dashed}.tag-row{display:flex;gap:6px;margin:15px 0}.tag-row span{padding:4px 7px;border:1px solid #85949a;color:#465b64;background:#dde7e6;font:10px "Courier New",monospace}.news-entry{position:relative;padding-left:76px}.news-entry .panel-body{min-height:170px}.news-date{position:absolute;left:0;top:0;width:76px;height:100%;padding-top:21px;text-align:center;color:white;background:#183c59;border-right:1px solid #071727}.news-date b{display:block;font:32px Georgia,serif;color:var(--cyan)}.news-date span{font:10px/1.5 "Courier New",monospace}.archive-end{text-align:center;padding:14px;color:#52646d;font:11px "Courier New",monospace}.donation-hero{display:grid;grid-template-columns:86px 1fr;gap:20px;align-items:center}.coin{display:grid;place-items:center;width:72px;height:72px;border:5px double #755b18;border-radius:50%;color:#503d10;background:#d8b94f;font:700 35px Georgia,serif;box-shadow:3px 3px 0 #95958b}.donation-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.donation-option{padding:16px;color:#143955;border:1px solid #809098;background:#e4ece9;text-decoration:none}.donation-option:hover{background:#d1eded}.donation-option b,.donation-option span{display:block}.donation-option span{margin-top:5px;color:#617078;font-size:11px}.fine-print{font-size:11px;color:#677277}.checklist p{margin:0;padding:8px 0;border-bottom:1px dotted #9da9a7}.checklist p:last-child{border:0}.checklist span{margin-right:8px;color:#39772a;font-weight:bold}.back-link{align-self:flex-start;color:#d9f4f5;text-decoration:none;padding:6px 10px;background:#102f4d;font-size:11px}.app-hero>.panel-body{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:28px}.store-button{margin-top:10px}.detail-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:12px}footer{display:flex;justify-content:space-between;padding:11px 14px;color:#829ba4;background:#071523;border-top:1px solid #628091;font:10px "Courier New",monospace}
@media(max-width:700px){.site-shell{width:100%;margin:0;border-left:0;border-right:0}.site-header{min-height:95px;padding:16px}.brand-mark{width:48px;height:48px;font-size:28px}.header-badge{display:none}.main-nav{padding:0}.main-nav a{flex:1;padding:11px 4px;text-align:center;font-size:9px}.ticker{white-space:nowrap;overflow:hidden}.layout{grid-template-columns:1fr}.sidebar{order:2}.sidebar .panel:nth-child(2){display:none}.project-grid,.detail-grid,.donation-options{grid-template-columns:1fr}.feature .panel-body{padding:22px}.app-hero>.panel-body,.donation-hero{grid-template-columns:1fr}.project-card{grid-template-columns:58px 1fr}.project-card .app-icon{width:52px;height:52px}.button-row{flex-wrap:wrap}footer{gap:10px}.news-entry{padding-left:0}.news-date{position:static;width:100%;height:auto;padding:8px;text-align:left}.news-date b,.news-date span{display:inline;font-size:11px;margin-right:5px}}
@media(prefers-reduced-motion:no-preference){.status-dot{animation:pulse 2s infinite}@keyframes pulse{50%{opacity:.35}}}
