
/* BBS / ANSI Terminal — Edition 03 */
:root{--bg:#050505;--panel:#0a0a0a;--border:#5c5c5c;--fg:#d7d7d7;--dim:#9b9b9b;--cyan:#55ffff;--green:#55ff55;--yellow:#ffff55;--magenta:#ff55ff;--red:#ff5555;--blue:#5555ff;--white:#ffffff}
html{scroll-behavior:smooth}
body{background:radial-gradient(circle at 10% 10%,#101010 0,#060606 50%,#000 100%);color:var(--fg);font:15px/1.55 "Courier New",Consolas,monospace}
a{color:var(--cyan);text-decoration:none}a:visited{color:#c485ff}a:hover{background:#131313;color:var(--white);text-decoration:underline}a:focus-visible,button:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.wrap{width:min(1180px,calc(100% - 20px));margin:12px auto 30px}
.site-header,.widget,.content-panel,.footer{background:var(--panel);border:1px solid var(--border);box-shadow:0 0 0 1px #000,inset 0 0 0 1px #111}
.header-main{display:block;padding:14px 16px 10px;background:linear-gradient(180deg,#0f0f0f 0,#090909 100%);border-bottom:1px solid #222}
.header-art,.site-header .gif-new,.widget .gif-new,.primary-nav br,.old-divider,.wide-divider{display:none!important}
.ansi-banner{margin:0;white-space:pre-wrap;font:700 clamp(9px,1.2vw,14px)/1.15 "Courier New",monospace;color:var(--cyan)}
.ansi-sub{margin:10px 0 0;color:var(--green);font-size:12px;letter-spacing:.05em;text-transform:uppercase}
.primary-nav{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;background:#050505;border-top:1px solid #222}
.nav-btn{display:inline-block;padding:5px 8px;background:#0d0d0d;border:1px solid #333;color:var(--yellow)!important;font-weight:700;letter-spacing:.03em}
.nav-btn:hover,.nav-btn[aria-current=page]{border-color:var(--yellow);background:#101010}
.columns{display:grid;grid-template-columns:210px minmax(0,1fr) 210px;gap:12px;margin-top:12px}
.main-column{display:grid;gap:12px}
.widget,.content-panel{overflow:hidden}
.widget h2,.content-panel .panel-heading{margin:0;padding:7px 10px;background:#111;border-bottom:1px solid #333;color:var(--yellow);font:700 13px/1.3 "Courier New",monospace;text-transform:uppercase;letter-spacing:.05em}
.widget h2::before,.panel-heading::before{content:'> ';color:var(--green)}
.widget-inner,.panel-body{padding:12px;background:repeating-linear-gradient(180deg,#0a0a0a 0,#0a0a0a 23px,#0c0c0c 24px)}
.widget-inner p,.panel-body p,.panel-body li{max-width:72ch}
.site-title,.section-title,.project-wide h3{color:var(--white);font:700 clamp(22px,3vw,34px)/1.1 "Courier New",monospace;letter-spacing:.02em;text-transform:uppercase}
.section-title{margin:0 0 12px}
.lead{color:var(--fg);font-size:16px}
.sidebar .side-links{list-style:none;padding:0;margin:0}
.sidebar .side-links li{padding:5px 0;border-bottom:1px dashed #2a2a2a;overflow-wrap:anywhere}
.sidebar .side-links li::before{content:'[' attr(data-bullet) '] ';color:var(--green)}
.sidebar .side-links li:nth-child(odd)::before{content:'[+ ] '}
.sidebar .side-links li:nth-child(even)::before{content:'[>>] '}
.mini-note,.footnote,.caption{color:var(--dim);font-size:12px}
.center{text-align:center}.small{font-size:13px}
.welcome-grid{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;align-items:start}
.portrait,.sidebar-right img{border:1px solid #444;background:#000;filter:grayscale(.25) contrast(1.1)}
.contact-table{width:100%;border-collapse:collapse;background:#090909}.contact-table th,.contact-table td{border:1px solid #2d2d2d;padding:8px 9px;vertical-align:top}.contact-table th{color:var(--green);text-align:left;width:132px}
.project-grid,.desk-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.project-card,.desk-list>div,.project-wide,.lesson-tile,.story-card,.gallery-item,.picture-card,.random-file-box{background:#060606;border:1px solid #2f2f2f;padding:11px}
.project-card h3,.desk-list strong,.project-wide h3,.lesson-tile h3,.gallery-item h3,.picture-card h3{margin:0 0 8px;color:var(--cyan);font:700 16px/1.3 "Courier New",monospace}
.tag,.desk-index{display:inline-block;margin-top:7px;border:1px solid #2d2d2d;padding:2px 6px;color:var(--yellow);font:11px/1.2 "Courier New",monospace;text-transform:uppercase;background:#101010}
.notice{margin-top:14px;padding:8px 10px;border:1px solid #4f4023;background:#141007;color:#ffdf75}
.web-ring,.badge-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.web-ring a{border:1px solid #444;padding:6px 9px;background:#0a0a0a}
.badge-grid img{filter:saturate(0) contrast(1.1) brightness(.93)}
.footer{margin-top:14px;padding:14px;text-align:center;color:var(--dim);font-size:13px}.footer a{color:var(--green)}.footer-line{height:1px;background:#222;margin:8px 0}
.version-nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:10px}.version-nav a{padding:4px 8px;border:1px solid #333;background:#080808}.version-nav a[aria-current=page]{border-color:var(--green);color:var(--yellow)}
.bbs-filelist{margin:0;padding:0;list-style:none}.bbs-filelist li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed #202020}.bbs-filelist span:first-child{color:var(--cyan)}.bbs-filelist .type{color:var(--yellow)}
.bbs-prompt{padding:8px 10px;border:1px solid #2b2b2b;background:#050505;color:var(--green);font-size:13px;margin:10px 0 0}.bbs-prompt strong{color:var(--yellow)}
.gallery-toolbar,.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.gallery-toolbar button,.filter-row button,.pixel-button,button{font:700 12px/1.2 "Courier New",monospace;color:var(--yellow);background:#101010;border:1px solid #383838;padding:6px 8px;cursor:pointer}.gallery-toolbar button.active,.filter-row button.active,.pixel-button:hover,button:hover{border-color:var(--yellow);background:#141414}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
footer .version-link{display:none}
.lesson-grid,.story-grid,.picture-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
canvas{background:#000;border:1px solid #333}
pre,code,.code-box{font-family:"Courier New",Consolas,monospace}
@media (max-width:900px){.columns{grid-template-columns:1fr}.sidebar-left,.sidebar-right{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sidebar-left .widget,.sidebar-right .widget{margin:0}.project-grid,.desk-list,.lesson-grid,.story-grid,.picture-grid,.gallery-grid{grid-template-columns:1fr}.welcome-grid{grid-template-columns:110px minmax(0,1fr)}}
@media (max-width:560px){.wrap{width:min(100% - 10px,1180px)}.sidebar-left,.sidebar-right{grid-template-columns:1fr}.welcome-grid{grid-template-columns:1fr}.site-title{font-size:24px}.ansi-banner{font-size:8px;line-height:1.2}.primary-nav{justify-content:center}.nav-btn{flex:1 1 40%}}
