.seasonal-banner { align-self:center; max-width:100%; padding:7px 14px; border:1px solid var(--theme-color); border-radius:10px; background:#090909e8; color:#ddd; font:11px monospace; text-align:center; box-shadow:0 0 20px var(--theme-glow); }
#seasonal-particles { position:fixed; inset:0; z-index:40; overflow:hidden; pointer-events:none; }
.seasonal-particle { position:absolute; top:-40px; animation:seasonal-fall linear infinite; opacity:.7; }
@keyframes seasonal-fall { to { transform:translate3d(60px,110vh,0) rotate(180deg); } }
#achievement-toast { position:fixed; right:16px; bottom:60px; z-index:90; max-width:300px; padding:12px 16px; border:1px solid var(--theme-color); border-radius:12px; background:#0c0c0c; color:#eee; font:12px monospace; opacity:0; transform:translateY(10px); transition:opacity .2s,transform .2s; pointer-events:none; }
#achievement-toast.show { opacity:1; transform:translateY(0); }
.extras-modal { position:fixed; inset:0; z-index:80; align-items:center; justify-content:center; padding:16px; background:#000d; backdrop-filter:blur(8px); }
.extras-modal:not([hidden]) { display:flex; }
.extras-panel { width:min(100%,620px); max-height:min(80vh,750px); overflow:auto; border:1px solid #333; border-radius:18px; background:#0b0b0b; color:#ddd; box-shadow:0 25px 60px #000; font:12px monospace; }
.extras-heading { position:sticky; top:0; display:flex; justify-content:space-between; align-items:center; padding:18px 20px; border-bottom:1px solid #222; background:#0b0b0b; }
.extras-heading h2 { color:var(--theme-color); font-weight:bold; letter-spacing:.12em; text-transform:uppercase; }
.extras-heading button { color:#888; }
#extras-content { padding:20px; }
.achievement-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px; }
.achievement-progress { height:5px; margin:11px 0 18px; border-radius:99px; background:#252525; overflow:hidden; }
.achievement-progress-fill { height:100%; border-radius:inherit; background:var(--theme-color); box-shadow:0 0 12px var(--theme-glow); transition:width .25s ease; }
.achievement-card,.guestbook-entry { padding:13px; border:1px solid #282828; border-radius:11px; background:#101010; }
.achievement-card.locked { opacity:.8; }
.achievement-card.locked strong { color:#aaa; }
.achievement-card strong,.guestbook-entry strong { color:var(--theme-color); }
.achievement-card p,.guestbook-entry p { margin-top:5px; color:#aaa; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.report-from-achievements { margin-top:18px; padding:9px 12px; border:1px solid var(--theme-color); border-radius:8px; color:var(--theme-color); }
.report-from-achievements:hover { background:var(--theme-glow); color:#fff; }
.report-intro { margin-bottom:14px; color:#aaa; line-height:1.5; }
.report-card { padding:20px; border:1px solid var(--report-color); border-radius:16px; background:linear-gradient(135deg,#151515,#070707 75%); box-shadow:0 0 28px #000; }
.report-card.report-rainbow { border-color:transparent; background:linear-gradient(#0d0d0d,#0d0d0d) padding-box,linear-gradient(120deg,#f43f5e,#facc15,#22c55e,#3b82f6,#a855f7) border-box; }
.report-top { display:flex; justify-content:space-between; gap:8px; color:var(--report-color); font-size:10px; font-weight:bold; letter-spacing:.09em; }
.report-terminal { margin:28px 0 20px; color:#888; }
.report-label { margin-top:15px; color:#777; font-size:10px; letter-spacing:.17em; }
.report-theme { margin-top:4px; color:var(--report-color); font-size:28px; font-weight:bold; letter-spacing:.05em; text-shadow:0 0 16px var(--report-color); }
.report-rainbow .report-theme { background:linear-gradient(90deg,#f43f5e,#facc15,#22c55e,#3b82f6,#a855f7); background-clip:text; color:transparent; text-shadow:none; }
.report-count { margin-top:2px; color:#eee; font-size:38px; font-weight:bold; }
.report-track { height:6px; margin-top:12px; border-radius:99px; background:#292929; overflow:hidden; }
.report-fill { height:100%; border-radius:inherit; background:var(--report-color); }
.report-footer { margin-top:28px; padding-top:12px; border-top:1px solid #2a2a2a; color:#777; font-size:10px; }
.report-url { width:100%; margin-top:15px; padding:10px; border:1px solid #333; border-radius:8px; background:#080808; color:#aaa; font:11px monospace; }
.report-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:12px; }
.report-actions[hidden],.report-url[hidden]{display:none}
.report-action,.report-own { padding:9px 12px; border:1px solid #444; border-radius:8px; color:#ddd; }
.report-action:hover,.report-own:hover { border-color:var(--theme-color); color:var(--theme-color); }
.report-primary { border-color:var(--theme-color); color:var(--theme-color); }
.report-status { min-height:18px; margin-top:9px; color:#aaa; }
.report-own { margin-top:6px; }
.guestbook-list { display:grid; gap:9px; margin:18px 0; }
.guestbook-entry time { color:#666; margin-left:8px; font-size:10px; }
.guestbook-form { display:grid; gap:9px; }
.guestbook-form input,.guestbook-form textarea,.admin-token { width:100%; padding:10px; border:1px solid #333; border-radius:8px; outline:none; background:#080808; color:#eee; }
.guestbook-form input:focus,.guestbook-form textarea:focus,.admin-token:focus { border-color:var(--theme-color); }
.guestbook-form textarea { min-height:90px; resize:vertical; }
.guestbook-form button,.moderation-button { width:max-content; padding:8px 12px; border:1px solid var(--theme-color); border-radius:8px; color:var(--theme-color); }
.guestbook-status { min-height:20px; color:#aaa; }
.honeypot { position:absolute; left:-9999px; }
.moderation-actions { display:flex; gap:8px; margin-top:10px; }
.cmd-autocomplete { display:grid; gap:2px; max-height:180px; overflow:auto; padding:6px 8px; border-bottom:1px solid #222; background:#080808; }
.cmd-autocomplete[hidden] { display:none; }
.cmd-autocomplete button { padding:6px 10px; border-radius:6px; color:#aaa; text-align:left; font:12px monospace; }
.cmd-autocomplete button:hover,.cmd-autocomplete button:focus-visible { background:#181818; color:var(--theme-color); outline:none; }
.cmd-hint { padding:7px 16px; color:#666; font:10px monospace; }
.project-intro { margin-bottom:15px; color:#aaa; line-height:1.5; }
.project-list { display:grid; gap:10px; }
.project-row { display:flex; align-items:center; gap:12px; width:100%; padding:10px; border:1px solid #282828; border-radius:11px; background:#101010; text-align:left; transition:border-color .2s,background .2s; }
.project-row:hover,.project-row:focus-visible { border-color:var(--theme-color); background:#151515; outline:none; }
.project-thumb { width:92px; height:64px; flex:none; border:1px solid #222; border-radius:7px; object-fit:cover; object-position:top; background:#050505; }
.project-row-copy { display:grid; gap:3px; min-width:0; }
.project-row-copy strong { color:#eee; font-size:13px; }
.project-row-copy small,.project-kind { color:var(--theme-color); font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.project-row-copy span { color:#999; line-height:1.4; }
.project-arrow { margin-left:auto; color:#777; font-size:18px; }
.project-back { margin-bottom:14px; color:#aaa; }
.project-back:hover { color:var(--theme-color); }
.project-hero { width:100%; max-height:270px; border:1px solid #292929; border-radius:11px; object-fit:cover; object-position:top; background:#050505; }
.project-kind { margin-top:18px; }
.project-title { margin-top:4px; color:#eee; font-size:20px; font-weight:bold; }
.project-summary { margin-top:8px; color:#aaa; line-height:1.6; }
.project-points { display:grid; gap:7px; margin:16px 0 20px; padding-left:18px; color:#aaa; list-style:disc; }
.project-link { display:inline-block; padding:9px 12px; border:1px solid var(--theme-color); border-radius:8px; color:var(--theme-color); }
.project-link:hover { background:var(--theme-glow); color:#fff; }
.help-list { display:grid; gap:8px; }
.help-row { display:flex; justify-content:space-between; gap:15px; padding:10px; border:1px solid #262626; border-radius:8px; }
.help-row code { color:var(--theme-color); white-space:nowrap; }
.help-row span { color:#999; text-align:right; }
@media(max-width:700px) { .extras-panel { max-height:90vh; } }
@media(max-width:800px) {
  #main-body { height:auto; min-height:100dvh; overflow-y:auto; }
  #main-body header .absolute, #main-body header .border-l { display:none; }
  #main-body main { flex-direction:column; min-height:auto; }
  #main-body aside { width:100%; flex:none; }
  #main-body nav { order:-1; width:100%; flex-direction:row; justify-content:center; gap:18px; padding:0 0 4px; }
  #main-body main > section { width:100%; min-height:320px; overflow:visible; padding:18px; }
  #main-body main > section .grid { grid-template-columns:1fr; }
}
@media(max-width:480px) {
  #main-body nav { gap:10px; }
  .project-thumb { width:72px; height:54px; }
  .project-row-copy span { display:none; }
  .help-row { display:grid; gap:4px; }
  .help-row span { text-align:left; }
}
@media(prefers-reduced-motion:reduce) { .seasonal-particle { animation:none; display:none; } #achievement-toast { transition:none; } }
