/* CyberCities homepages: 1999 HTML, scoped to .hp. Theme colours come in as custom properties from hp.js. */
.hp{min-height:100%;color:var(--tx);font:var(--bsz)/1.35 var(--bf);background-repeat:repeat;image-rendering:pixelated;padding:14px 10px 28px;text-align:center;-webkit-font-smoothing:auto}
.hp a{color:var(--lk);cursor:var(--cur-hand,pointer)}
.hp a:visited{color:var(--vl)}
.hp img{image-rendering:auto}
.hp img.pix,.hp i.gif{image-rendering:pixelated}
.hp p{margin:.6em 0}
.hp h2{font:var(--tw) 30px/1.1 var(--tf);color:var(--hd);margin:18px 0 8px;text-shadow:2px 2px 0 #0008}
.hp marquee{display:block}
.hp .blink{animation:hpblink 1s steps(1) infinite}
@keyframes hpblink{50%{opacity:0}}
.hp .lay{margin:0 auto;max-width:820px}
.hp .lay.pn .box{background:var(--pn);border:4px ridge var(--pl);padding:14px 18px 18px}
.hp .lay.ln{width:100%;max-width:980px;border-collapse:collapse;text-align:center}
.hp .lay.ln .side{width:170px;vertical-align:top;background:var(--pn);border-right:3px ridge var(--pl);padding:16px 8px;text-align:center}
.hp .lay.ln .main{vertical-align:top;padding:0 14px}
.hp .sidet{display:block;font:var(--tw) 22px var(--tf);color:var(--hd);margin:8px 0}
.hp .navl{list-style:none;margin:0;padding:0;text-align:left;font-size:15px}
.hp .navl li{padding:4px 0 4px 18px;background:var(--ball,none) 0 7px no-repeat}
.hp .navl li::before{content:'»';margin-left:-14px;margin-right:6px;color:var(--hd)}
.hp .sidecnt{margin:16px 0 8px}
.hp .ct{padding:0 6px}

/* titles */
.hp .ttl{font:var(--tw) 48px/1.05 var(--tf);margin:6px auto 6px;position:relative;display:inline-block;max-width:100%;overflow-wrap:anywhere;letter-spacing:.01em}
.hp .ttl[data-t]::before{content:attr(data-t);position:absolute;inset:0;z-index:0;color:transparent}
.hp .ttl span{position:relative;z-index:1}
.hp .wa-blue span,.hp .wa-green span,.hp .wa-red span,.hp .wa-brown span,.hp .gold span,.hp .chrome span{-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hp .wa-blue::before{text-shadow:1px 1px #000060,2px 2px #000060,3px 3px #000060,4px 4px #000060,5px 5px #000040,6px 6px 3px #0006}
.hp .wa-blue span{background-image:linear-gradient(180deg,#9ad8ff,#2a6aff 50%,#0a2ab0 51%,#4a8aff)}
.hp .wa-green::before{text-shadow:1px 1px #063a10,2px 2px #063a10,3px 3px #063a10,4px 4px #063a10,5px 5px 3px #0008}
.hp .wa-green span{background-image:linear-gradient(180deg,#f8ff9a,#9aff3a 45%,#2aaa1a 55%,#bfff6a)}
.hp .wa-red::before{text-shadow:1px 1px #5a0008,2px 2px #5a0008,3px 3px #5a0008,4px 4px 2px #0006}
.hp .wa-red span{background-image:linear-gradient(180deg,#ffb0a0,#ff2a1a 50%,#b0000a 51%,#ff5a3a)}
.hp .wa-brown::before{text-shadow:1px 1px #4a2000,2px 2px #4a2000,3px 3px #4a2000,4px 4px 2px #0005}
.hp .wa-brown span{background-image:linear-gradient(180deg,#ffd890,#d07a20 50%,#8a4000 51%,#e0902a)}
.hp .gold::before{text-shadow:0 1px #5a3a00,1px 2px #5a3a00,2px 3px #5a3a00,3px 4px 3px #000a}
.hp .gold span{background-image:linear-gradient(180deg,#fff6c0,#ffd040 40%,#a06a00 52%,#ffe080 75%,#c08a10)}
.hp .chrome::before{text-shadow:0 0 6px #6af,0 0 18px #36f}
.hp .chrome span{background-image:linear-gradient(180deg,#ffffff,#c0d0ff 45%,#30407a 50%,#9ab0ff 70%,#ffffff)}
.hp .neon{color:#eafff4;text-shadow:0 0 3px #fff,0 0 8px #2bff9a,0 0 18px #2bff9a,0 0 32px #00b060}
.hp .marquee{color:#fff2c0;text-shadow:0 0 4px #ffd700,0 0 12px #ff9000,0 0 24px #ff3000}
.hp .blood{color:#e00000;text-shadow:0 0 2px #000,0 2px 0 #300,0 0 14px #f00,0 -2px 8px #ff6000}
.hp .block{color:#fff;-webkit-text-stroke:2px #000;paint-order:stroke;text-shadow:4px 4px 0 #000;letter-spacing:.03em;text-transform:uppercase}
.hp .rainbow,.hp .candy{-webkit-text-stroke:1px #fff;paint-order:stroke fill;text-shadow:3px 3px 0 #0006}
.hp .candy{-webkit-text-stroke:2px #fff}

.hp .sub{display:flex;align-items:center;gap:10px;max-width:760px;margin:2px auto 8px}
.hp .sub .mq{flex:1;min-width:0;font:700 18px var(--bf);color:var(--hd)}
.hp .newrow{display:flex;align-items:center;justify-content:center;gap:8px;font:700 18px Arimo,Arial;color:#ff0}
.hp .newrow b{color:#ff2a2a;text-shadow:1px 1px #000}
.hp .ticker{max-width:640px;margin:6px auto 12px;background:#000;border:3px inset #666;padding:3px 0;font:20px/1 'VT323',monospace;color:#ff9a1a;text-shadow:0 0 4px #ff6a00}
.hp .ticker b{color:#ffd23a}
.hp .ticker .up{color:#39ff5a;text-shadow:0 0 4px #0f0}
.hp .ticker .dn{color:#ff3a3a;text-shadow:0 0 4px #f00}
.hp .ticker .flash{animation:tflash .6s steps(2) 2}
@keyframes tflash{50%{color:#fff}}
.hp .intro{margin:6px auto;max-width:760px;text-align:left;border-collapse:separate}
.hp .intro .ph{vertical-align:top;width:180px}
.hp .intro .wel{vertical-align:top}
.hp .intro .big{font-size:1.12em;margin-top:2px}
.hp .intro .sm{font-size:.85em;opacity:.85}
.hp .photo{border:4px outset #c0c0c0;background:#c0c0c0;border-collapse:separate;width:176px;table-layout:fixed}
.hp .photo img{display:block;width:160px;height:160px;object-fit:cover;border:2px inset #c0c0c0;background:#808080}
.hp .photo .cap{font:13px 'Comic Neue','Comic Sans MS',cursive;color:#000;text-align:center;padding:3px 2px 1px;background:#c0c0c0}
.hp .about{max-width:680px;margin:0 auto}
.hp .top5,.hp .links{display:inline-block;text-align:left;margin:4px auto 10px;padding:0;list-style:none;counter-reset:t5}
.hp .top5 li,.hp .links li{padding:3px 0 3px 22px;background:var(--ball) 0 .4em no-repeat;counter-increment:t5}
.hp .top5 li::before{content:counter(t5) '. ';font-weight:700;color:var(--hd)}
.hp .email{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700}

/* dividers */
.hp .hr{height:8px;max-width:640px;margin:16px auto;border:0}
.hp .hr-rainbow{background:linear-gradient(90deg,#f00,#f80,#ff0,#0c0,#0af,#30f,#c0f,#f00);background-size:200% 100%;animation:rb 3s linear infinite;border:1px solid #0006;height:7px}
@keyframes rb{to{background-position:-200% 0}}
.hp .hr-gold{height:6px;background:linear-gradient(180deg,#fff6c0,#d8a020 50%,#7a5000);border:1px solid #3a2600}
.hp .hr-scan{height:3px;background:repeating-linear-gradient(90deg,#2bff9a 0 6px,transparent 6px 10px);box-shadow:0 0 8px #2bff9a}
.hp .hr-groove{height:4px;border-top:2px groove #fff;border-bottom:2px groove #fff;background:none}
.hp .hr-hearts{height:12px;background:radial-gradient(circle at 6px 6px,#ff4fa0 4px,transparent 5px) 0 0/22px 12px}
.hp .hr-fire{display:flex;justify-content:center;gap:0;margin:12px auto 10px;height:18px}

/* midi plug-in */
.hp .midi{display:inline-flex;align-items:center;gap:6px;background:#c0c0c0;color:#000;border:2px outset #fff;padding:3px 6px;font:13px Arimo,Arial;margin:6px auto;min-width:300px}
.hp .midi button{width:24px;height:20px;border:2px outset #fff;background:#c0c0c0;font:12px Arimo;padding:0;cursor:var(--cur-hand,pointer)}
.hp .midi button:active,.hp .midi.on .mp{border-style:inset}
.hp .midi .mt{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.hp .midi .mbar{width:70px;height:8px;border:1px inset #fff;background:#fff;position:relative}
.hp .midi .mbar i{position:absolute;left:0;top:0;bottom:0;width:0;background:#000080}
.hp .midi .mtime{font:12px Cousine,monospace;width:34px}

/* guestbook */
.hp .gb{max-width:640px;margin:10px auto;background:var(--pn);border:3px ridge var(--pl);padding:6px 14px 12px}
.hp .gb h2{margin-top:6px}
.hp .gbform{margin:0 auto;text-align:left;color:var(--tx);font-size:15px}
.hp .gbform input,.hp .gbform textarea{width:340px;font:15px Arimo,Arial;border:2px inset #ddd;padding:2px 4px;background:#fff;color:#000;user-select:text}
.hp .gbform button{font:14px Arimo,Arial;border:2px outset #ddd;background:#e8e8e8;color:#000;padding:2px 10px;cursor:var(--cur-hand,pointer)}
.hp .gbform button:active{border-style:inset}
.hp .gbst{font-size:13px;margin-left:6px}
.hp .gbl{text-align:left;margin-top:10px}
.hp .gbe{border-top:1px dashed var(--pl);padding:6px 2px}
.hp .gbh{display:flex;gap:8px;align-items:baseline;font-size:15px}
.hp .gbh i{margin-left:auto;font:12px Cousine,monospace;opacity:.75;font-style:normal}
.hp .gbw{font:12px Cousine,monospace;opacity:.7}
.hp .gbho{font:700 11px Arimo;background:#0a0;color:#fff;padding:0 4px}
.hp .gbwm{font:700 11px Arimo;background:linear-gradient(#ffe680,#c08a00);color:#3a2600;padding:0 4px;border:1px solid #5a3a00}
.hp .gbt{margin-top:2px;overflow-wrap:anywhere}
.hp .gbe0{text-align:center;opacity:.8}
.hp .gbe.fresh{animation:gbf 2s ease-out}
@keyframes gbf{from{background:#ff08}}

/* webring, counter, badges, footer */
.hp .ring{margin:16px auto;border:3px outset #c0c0c0;background:#c0c0c0;color:#000;font:14px Arimo,Arial;border-collapse:separate}
.hp .ring td{text-align:center;color:#000}
.hp .ring a{color:#0000ee;font-weight:700;cursor:var(--cur-hand,pointer);text-decoration:underline}
.hp .ring .rt{background:#000080;color:#fff;font-weight:400}
.hp .ring .rt b{color:#fff}
.hp .ring .rs{font-size:12px;color:#333}
.hp .count{margin:14px auto 8px;font-size:14px}
.hp .count img{margin-top:4px}
.hp .b88{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:500px;margin:12px auto}
.hp .foot{font-size:13px;margin-top:12px;opacity:.92}
.hp .addr{font:12px Cousine,monospace;opacity:.6}
.hp .mascot{flex:0 0 auto}

/* theme specifics */
.hp.th-ai{text-shadow:0 0 4px #00ff8055}
.hp.th-ai .about,.hp.th-ai .intro .wel{font-family:'VT323',monospace}
.hp.th-goth .lay.ct,.hp.th-space .lay.ct,.hp.th-pond .lay.ct,.hp.th-sports .lay.ct,.hp.th-money .lay.ct,.hp.th-hollywood .lay.ct{text-shadow:1px 1px 0 #000a}
.hp.th-meme .lay.ct,.hp.th-food .lay.ct,.hp.th-cute .lay.ct,.hp.th-animal .lay.ct,.hp.th-retro .lay.ct{background:var(--pn);border:3px ridge var(--pl);padding:12px 16px 16px}
.hp.th-meme .lay.ln .main,.hp.th-food .lay.ln .main,.hp.th-cute .lay.ln .main,.hp.th-animal .lay.ln .main{background:var(--pn)}

/* the scan-in of pictures while the page "loads" */
.hp img.lz-img{clip-path:inset(0 0 100% 0)}
.page.loaded .hp img.lz-img{animation:scan .7s steps(10) forwards}
.hp .decorow{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:10px 0 2px}
.hp .news{display:inline-block;text-align:left;margin:2px auto 8px;padding-left:20px;font-size:.95em}
.hp .news li{margin:2px 0}
.hp .news b{font-family:Cousine,monospace;color:var(--hd);margin-right:6px}
/* titles stay readable on busy tiles: a dark stroke under every gradient title */
.hp .ttl[data-t]::before{-webkit-text-stroke:7px #000c;paint-order:stroke}
.hp .wa-blue[data-t]::before{-webkit-text-stroke:7px #fffc}
.hp .neon[data-t]::before,.hp .marquee[data-t]::before,.hp .blood[data-t]::before,.hp .block[data-t]::before{-webkit-text-stroke:0}
.hp .blood{color:#ff3a2a;text-shadow:2px 2px 0 #000,-1px -1px 0 #000,0 0 8px #c00;-webkit-text-stroke:1px #2a0000}
.hp.th-goth .ttl{letter-spacing:.02em}
.hp .gold::before{text-shadow:0 1px #5a3a00,1px 2px #5a3a00,2px 3px #5a3a00,3px 4px 3px #000a}
.hp .gbfr{font-size:12px;opacity:.8;font-style:italic}
.hp .rugged{max-width:640px;margin:0 auto 10px;background:#000;color:#ff4040;border:3px double #ff4040;padding:6px 10px;font:15px Arimo,Arial;text-shadow:none}
.hp .rugged b{color:#fff;letter-spacing:.06em}
.hp .inroom{font-size:13px;opacity:.9}
.hp .coolsite{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto 8px;max-width:520px;background:#000080;color:#fff;border:3px outset #c0c0c0;padding:4px 10px;font:14px/1.25 Arimo,Arial;text-shadow:none}
.hp .coolsite b{color:#ffe060}
.hp .gbmore{text-align:center;margin:8px 0 0;font-size:14px}
.hp .friend{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700;margin:4px 0 10px}
.hp.th-ai .gbform{font-size:19px}
.hp .ticker{overflow:hidden;white-space:nowrap;text-align:left}
.hp .ticker .track{display:inline-flex;animation:tick 26s linear infinite;will-change:transform}
.hp .ticker .tk{flex:0 0 auto;padding-right:0}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.hp .ticker .track{animation:none}}
/* the ticker's long track must never widen the table cell it sits in (leftnav layout) */
.hp .ticker{contain:inline-size;width:auto}
.hp .lay.ln{table-layout:fixed}
.hp .lay.ln .main{min-width:0}
.hp .ttl .dol{font:inherit;font-weight:inherit}
.hp.th-goth .ttl .dol,.hp.th-goth h2 .dol{font-family:Tinos,'Times New Roman',serif;font-weight:700}
