Template:Cobwatch/styles.css
From SNCApedia, the shit nobody cares about encyclopedia
Jump to navigationJump to search
/* Wrapper provides positioning for the absolute layers */
.cobwatch-wrapper {
position: relative;
max-width: 650px;
margin: 1em auto;
}
/*
Container shapes the cigar.
overflow:hidden ensures the left cap/band corners are perfectly smooth.
*/
.cobwatch-cigar {
display: flex;
align-items: stretch;
background:
repeating-linear-gradient(25deg, transparent, transparent 35px, rgba(0,0,0,0.15) 37px, transparent 38px),
linear-gradient(to bottom, #2b160a 0%, #4a2613 25%, #593019 50%, #30170a 80%, #1a0c05 100%);
border-radius: 40px 8px 8px 40px;
border: 1px solid #111;
box-shadow: 0 8px 15px rgba(0,0,0,0.4), inset 0 3px 6px rgba(255,255,255,0.05);
color: #ffdf00;
font-family: "Times New Roman", serif;
overflow: hidden;
}
/* Neutralize MediaWiki's automatic paragraph and break tags */
.cobwatch-cigar p, .cobwatch-wrapper p { display: contents; margin: 0; }
.cobwatch-cigar br, .cobwatch-wrapper br { display: none; }
/* The rounded mouth-piece (Cap) */
.cobwatch-cap {
width: 25px;
background: linear-gradient(to right, rgba(0,0,0,0.7) 0%, transparent 100%);
}
/* The Cigar Band */
.cobwatch-band {
background: linear-gradient(to bottom, #111 0%, #222 15%, #000 20%, #d4af37 20%, #fff080 50%, #aa8000 80%, #000 80%, #222 85%, #111 100%);
border-left: 2px solid #6b5400;
border-right: 2px solid #6b5400;
padding: 6px 12px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
box-shadow: 5px 0 12px rgba(0,0,0,0.5), -5px 0 12px rgba(0,0,0,0.5);
z-index: 2;
}
.cobwatch-band a.image {
border: 2px solid #000;
border-radius: 3px;
box-shadow: 0 2px 5px rgba(0,0,0,0.6);
display: block;
line-height: 0;
}
/* Main content area */
.cobwatch-body {
flex: 1;
padding: 8px 15px;
display: flex;
flex-direction: column;
justify-content: center;
text-align: center;
}
.cobwatch-title {
font-size: 1.5em;
font-weight: bold;
text-shadow: 2px 2px 3px rgba(0,0,0,0.8);
margin-bottom: 2px;
}
.cobwatch-audio { margin: 2px 0; }
.cobwatch-subtitle { font-size: 1em; font-style: italic; color: #ffca28; }
/*
==========================================
THE ASH TIP (Visuals only)
==========================================
*/
.cobwatch-foot {
width: 50px;
position: relative;
background:
radial-gradient(circle at 30% 35%, rgba(255, 50, 0, 0.9) 1.5px, transparent 3px),
radial-gradient(circle at 65% 55%, rgba(255, 80, 0, 0.8) 2px, transparent 5px),
radial-gradient(circle at 45% 75%, rgba(255, 40, 0, 0.9) 1.5px, transparent 4px),
radial-gradient(circle at 75% 25%, rgba(255, 100, 0, 0.7) 1px, transparent 3px),
linear-gradient(to right, #111 0%, #2a2a2a 40%, #1a1a1a 80%, #050505 100%);
box-shadow: inset 5px 0 12px rgba(0,0,0,0.9);
border-left: 1px solid #000;
}
.cobwatch-burn-layer {
position: absolute;
top: 0; left: 0; bottom: 0;
width: 100%;
background:
repeating-linear-gradient(25deg, transparent, transparent 35px, rgba(0,0,0,0.15) 37px, transparent 38px),
linear-gradient(to bottom, #2b160a 0%, #4a2613 25%, #593019 50%, #30170a 80%, #1a0c05 100%);
z-index: 2;
}
/*
==========================================
THE INVISIBLE TRIGGER & ANIMATIONS
==========================================
*/
/* An invisible button overlaying the right tip */
.cobwatch-trigger {
position: absolute;
top: 0; right: 0;
width: 50px;
height: 100%;
cursor: pointer;
outline: none;
z-index: 20;
}
/* Animate the internal burn layer when the trigger is clicked */
.cobwatch-trigger:focus ~ .cobwatch-cigar .cobwatch-burn-layer,
.cobwatch-trigger:active ~ .cobwatch-cigar .cobwatch-burn-layer {
animation: cobwatch-ignite-burn 2.5s ease-in forwards;
}
@keyframes cobwatch-ignite-burn {
0% { width: 100%; box-shadow: none; }
10% { width: 100%; box-shadow: inset -4px 0 6px rgba(255, 200, 0, 0.8), inset -10px 0 15px rgba(255, 42, 0, 0.9); }
100% { width: 0%; box-shadow: inset -4px 0 6px rgba(255, 200, 0, 0.8), inset -10px 0 15px rgba(255, 42, 0, 0.9); }
}
/*
==========================================
PARTICLES (Outside the cigar)
==========================================
*/
.cobwatch-particle-system {
position: absolute;
right: 0; top: 0;
width: 50px;
height: 100%;
z-index: 10;
}
/* --- Embers --- */
.cobwatch-spark {
position: absolute;
top: 50%; right: 0;
width: 4px; height: 4px;
background: #fff;
border-radius: 50%;
box-shadow: 0 0 8px 4px #ff4500, 0 0 3px 2px #ffcc00;
opacity: 0;
}
.cobwatch-trigger:focus ~ .cobwatch-particle-system .cobwatch-spark-1, .cobwatch-trigger:active ~ .cobwatch-particle-system .cobwatch-spark-1 { animation: cobwatch-spark-fly-1 1.8s 2 ease-out forwards; animation-delay: 0.1s; }
.cobwatch-trigger:focus ~ .cobwatch-particle-system .cobwatch-spark-2, .cobwatch-trigger:active ~ .cobwatch-particle-system .cobwatch-spark-2 { animation: cobwatch-spark-fly-2 2.2s 2 ease-out forwards; animation-delay: 0.3s; }
.cobwatch-trigger:focus ~ .cobwatch-particle-system .cobwatch-spark-3, .cobwatch-trigger:active ~ .cobwatch-particle-system .cobwatch-spark-3 { animation: cobwatch-spark-fly-3 1.5s 2 ease-out forwards; animation-delay: 0.6s; }
.cobwatch-trigger:focus ~ .cobwatch-particle-system .cobwatch-spark-4, .cobwatch-trigger:active ~ .cobwatch-particle-system .cobwatch-spark-4 { animation: cobwatch-spark-fly-4 2.5s 2 ease-out forwards; animation-delay: 0.9s; }
.cobwatch-trigger:focus ~ .cobwatch-particle-system .cobwatch-spark-5, .cobwatch-trigger:active ~ .cobwatch-particle-system .cobwatch-spark-5 { animation: cobwatch-spark-fly-5 2.0s 2 ease-out forwards; animation-delay: 1.2s; }
@keyframes cobwatch-spark-fly-1 { 0% { transform: translate(0, 0) scale(1); opacity: 1; } 100% { transform: translate(35px, -45px) scale(0); opacity: 0; } }
@keyframes cobwatch-spark-fly-2 { 0% { transform: translate(0, 0) scale(1); opacity: 1; } 100% { transform: translate(50px, 20px) scale(0); opacity: 0; } }
@keyframes cobwatch-spark-fly-3 { 0% { transform: translate(0, 0) scale(1); opacity: 1; } 100% { transform: translate(25px, -20px) scale(0); opacity: 0; } }
@keyframes cobwatch-spark-fly-4 { 0% { transform: translate(0, 0) scale(1); opacity: 1; } 100% { transform: translate(45px, -60px) scale(0); opacity: 0; } }
@keyframes cobwatch-spark-fly-5 { 0% { transform: translate(0, 0) scale(1); opacity: 1; } 100% { transform: translate(20px, 35px) scale(0); opacity: 0; } }
/* --- Thick Smoke Plumes --- */
.cobwatch-smoke {
position: absolute;
top: 30%; right: -10px;
width: 14px; height: 14px;
background: rgba(220, 220, 230, 0.8);
border-radius: 50%;
box-shadow: 0 0 20px 15px rgba(220, 220, 230, 0.7);
opacity: 0;
}
.cobwatch-trigger:focus ~ .cobwatch-particle-system .cobwatch-smoke-1, .cobwatch-trigger:active ~ .cobwatch-particle-system .cobwatch-smoke-1 { animation: cobwatch-smoke-rise-1 3.5s 1 ease-in forwards; animation-delay: 0.2s; }
.cobwatch-trigger:focus ~ .cobwatch-particle-system .cobwatch-smoke-2, .cobwatch-trigger:active ~ .cobwatch-particle-system .cobwatch-smoke-2 { animation: cobwatch-smoke-rise-2 4.2s 1 ease-in forwards; animation-delay: 0.8s; }
.cobwatch-trigger:focus ~ .cobwatch-particle-system .cobwatch-smoke-3, .cobwatch-trigger:active ~ .cobwatch-particle-system .cobwatch-smoke-3 { animation: cobwatch-smoke-rise-3 3.8s 1 ease-in forwards; animation-delay: 1.5s; }
@keyframes cobwatch-smoke-rise-1 {
0% { transform: translate(0, 0) scale(1); opacity: 0; }
30% { opacity: 0.9; }
100% { transform: translate(30px, -70px) scale(5); opacity: 0; }
}
@keyframes cobwatch-smoke-rise-2 {
0% { transform: translate(0, 0) scale(1); opacity: 0; }
30% { opacity: 0.8; }
100% { transform: translate(15px, -90px) scale(6); opacity: 0; }
}
@keyframes cobwatch-smoke-rise-3 {
0% { transform: translate(0, 0) scale(1); opacity: 0; }
30% { opacity: 1; }
100% { transform: translate(50px, -60px) scale(4.5); opacity: 0; }
}
/* Mobile adjustments */
@media (max-width: 600px) {
.cobwatch-cigar { flex-direction: column; border-radius: 20px 20px 10px 10px; }
.cobwatch-cap, .cobwatch-foot, .cobwatch-trigger, .cobwatch-particle-system { display: none !important; }
.cobwatch-band {
border-left: none; border-right: none;
border-top: 2px solid #6b5400; border-bottom: 2px solid #6b5400;
background: linear-gradient(to right, #111 0%, #000 20%, #d4af37 20%, #fff080 50%, #aa8000 80%, #000 80%, #111 100%);
}
}