*,:before,:after{box-sizing:border-box}:root{--ink:#1a1a1a;--paper:#f4f2ec;--paper-highlight:#eae6d7;--font-headline:"Playfair Display", serif;--font-body:"Merriweather", serif;--font-code:"Courier Prime", monospace;--border-thick:8px double var(--ink);--border-thin:2px solid var(--ink)}[data-theme=dark]{--ink:#f0e6d2;--paper:#121212;--paper-highlight:#1a1a1a;--border-thick:8px double var(--ink);--border-thin:2px solid var(--ink)}body{background-color:var(--paper);color:var(--ink);font-family:var(--font-body);word-wrap:break-word;background-image:radial-gradient(#64646426 .5px,#0000 .5px);background-size:5px 5px;margin:0;padding:0;transition:background-color .4s,color .4s;overflow-x:clip}.newspaper-wrapper{max-width:1400px;margin:0 auto;padding:2rem}.masthead{text-align:center;border-bottom:8px double var(--ink);flex-direction:column;justify-content:center;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex;position:relative}.header-main{width:100%}.masthead h1{font-family:"Old English Text MT", "UnifrakturMaguntia", var(--font-headline);margin:.5rem 0;font-size:4rem}.issue-date,.tagline{font-family:var(--font-code);text-transform:uppercase;margin:0;font-size:.85rem}.availability-text{font-family:var(--font-code);text-transform:uppercase;text-align:center;margin:.5rem 0;font-size:.85rem}.weather-ear{text-align:center;position:absolute;top:0;left:0}@media (width<=800px){.weather-ear{margin-bottom:1.5rem;position:static}}.weather-icon{width:50px;height:50px;margin-bottom:.5rem}.animation-toggle{font-family:var(--font-code);text-transform:uppercase;font-size:.8rem}.theme-switcher{margin-top:.5rem}#theme-toggle{font-family:var(--font-code);background:var(--ink);color:var(--paper);border:1px solid var(--ink);cursor:pointer;text-transform:uppercase;padding:.3rem .6rem;font-size:.8rem;transition:all .2s}#theme-toggle:hover{background:var(--paper);color:var(--ink)}.edition-nav{background-color:var(--paper);border-bottom:4px solid var(--ink);border-top:2px solid var(--ink);z-index:1000;max-width:100%;margin-bottom:2rem;padding:.5rem 0;transition:background-color .4s;position:sticky;top:0}.edition-nav ul{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;justify-content:center;gap:1.5rem;max-width:100%;margin:0;padding:0 1rem;list-style:none;display:flex;overflow-x:auto}.edition-nav ul::-webkit-scrollbar{display:none}@media (width<=900px){.edition-nav ul{justify-content:flex-start}}.edition-nav a{white-space:nowrap;color:var(--ink);font-family:var(--font-headline);text-transform:uppercase;letter-spacing:.05em;padding-bottom:.2rem;font-size:1.1rem;font-weight:700;text-decoration:none;transition:color .2s;position:relative}.edition-nav a:after{content:"";transform-origin:100% 100%;background-color:#b22222;width:100%;height:3px;transition:transform .3s ease-out;position:absolute;bottom:0;left:0;transform:scaleX(0)}.edition-nav a:hover{color:#b22222}.edition-nav a:hover:after{transform-origin:0 100%;transform:scaleX(1)}#reading-progress{z-index:1001;background-color:#b22222;width:0%;height:4px;position:absolute;bottom:-4px;left:0}.front-page{border-bottom:2px solid var(--ink);grid-template-columns:2.5fr 1fr;gap:3rem;padding-bottom:2rem;display:grid}@media (width<=900px){.front-page{grid-template-columns:1fr}}.creative-grid{grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem;display:grid}.ascii-btn-group{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}@media (width<=800px){.creative-grid{grid-template-columns:1fr}}.creative-item{background:var(--paper-highlight);box-shadow:2px 2px 0px var(--ink);border:1px solid #0000001a;padding:1.5rem;transition:transform .2s}.creative-item:hover{box-shadow:4px 4px 0px var(--ink);transform:translate(-2px,-2px)}.lead-story p{text-align:justify}.lead-story h2{font-family:var(--font-headline);text-wrap:balance;margin-top:0;font-size:clamp(1.2rem,2.5vw,1.8rem)}.drop-cap{float:left;font-size:3.5rem;line-height:.8;font-family:var(--font-headline);margin-right:.5rem}.sidebar-photo{border-left:2px solid var(--ink);padding-left:2rem}@media (width<=900px){.sidebar-photo{border-left:none;border-top:2px solid var(--ink);margin-top:2rem;padding-top:2rem;padding-left:0}}.section-header{font-family:var(--font-headline);text-transform:uppercase;border-bottom:2px solid var(--ink);margin-top:0;padding-bottom:.5rem;font-size:1.3rem}.project-icon{width:80px;height:80px;margin:0 auto 1rem;display:block}#physics-container{border:2px groove var(--ink);cursor:grab;touch-action:none;box-sizing:border-box;width:100%;height:300px;overflow:hidden}#physics-container:active{cursor:grabbing}#ascii-container{background-color:var(--paper);border:2px groove var(--ink);cursor:grab;touch-action:none;box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:320px;display:flex;overflow:hidden}#ascii-container:active{cursor:grabbing}#physics-container canvas,#ascii-container canvas{touch-action:none;box-sizing:border-box;max-width:100%!important;height:auto!important}.typewriter-box{flex-direction:column;gap:.8rem;margin-top:1rem;display:flex}#typewriter-input{font-family:var(--font-code);border:2px solid var(--ink);background:var(--paper);color:var(--ink);box-sizing:border-box;width:100%;padding:.6rem;font-size:.9rem}.typewriter-paper{background:var(--paper-highlight);border:2px groove var(--ink);letter-spacing:.1em;color:var(--ink);min-height:2.5rem;padding:1.2rem;font-family:Courier Prime,monospace;font-size:1.2rem;font-weight:700;box-shadow:inset 0 0 10px #0000000d}#typed-text{min-height:1.2rem;display:inline-block}.typewriter-cursor{color:var(--ink);margin-left:2px;animation:.7s infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.magnifier-box{border:2px groove var(--ink);background-color:var(--paper);cursor:crosshair;padding:1.5rem;position:relative;overflow:hidden}.fine-print-text{letter-spacing:-.02em;color:var(--ink);opacity:.75;text-align:justify;-webkit-user-select:none;user-select:none;margin:0;font-size:.55rem;line-height:1.3}#magnifier-lens{border:3px solid var(--ink);pointer-events:none;background-color:var(--paper);z-index:10;background-repeat:no-repeat;border-radius:50%;width:130px;height:130px;display:none;position:absolute;overflow:hidden;box-shadow:0 5px 20px #0000004d,inset 0 0 15px #fff9}.stamp-ear{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex;position:absolute;top:0;right:0}.stamp-btn-group{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.stamp-label{font-family:var(--font-code);text-transform:uppercase;font-size:.8rem}.stamp-btn{font-family:var(--font-code);background:var(--paper);border:2px solid var(--ink);cursor:pointer;padding:.3rem .6rem;font-size:.75rem;font-weight:700;transition:all .2s}.stamp-btn:hover{background:var(--ink);color:var(--paper)}.stamp-decal{pointer-events:none;color:#b22222;text-transform:uppercase;letter-spacing:.1em;opacity:.85;z-index:9999;border:4px solid #b22222;padding:.2rem .8rem;font-family:Playfair Display,serif;font-size:2.2rem;font-weight:900;position:absolute;transform:rotate(-12deg);box-shadow:0 0 2px #b2222280;-webkit-mask-image:radial-gradient(circle,#000 70%,#000000b3 100%);mask-image:radial-gradient(circle,#000 70%,#000000b3 100%)}.weather-ear{cursor:pointer;transition:transform .2s}.weather-ear:hover{transform:scale(1.05)}.cartoon-container{border:2px groove var(--ink);background-color:var(--paper-highlight);margin-top:1rem;padding:1rem}.favorite-tools-section{margin-top:2rem}.tools-list{text-align:center;margin:0;padding:0;list-style-type:none}.tools-list li{background-color:var(--paper-highlight);font-family:var(--font-code);border:1px solid var(--ink);border-radius:5px;margin:.3rem;padding:.5rem 1rem;font-size:.9rem;transition:all .2s ease-in-out;display:inline-block}.tools-list li:hover{background-color:var(--ink);color:var(--paper);transform:translateY(-2px)}.classifieds-section{border-top:8px double var(--ink);margin-top:4rem;padding-top:2rem;padding-bottom:4rem}.section-divider{text-align:center;border-bottom:2px solid var(--ink);margin-bottom:2rem;padding-bottom:.5rem}.section-divider h2{font-family:var(--font-headline);text-transform:uppercase;letter-spacing:.1em;margin:0}.classifieds-grid{column-count:3;column-rule:1px solid var(--ink);column-gap:3rem}.classified-ad{break-inside:avoid;text-align:justify;margin-bottom:2rem;font-size:.85rem;line-height:1.5}.classified-ad strong{font-family:var(--font-headline);text-transform:uppercase;font-size:.95rem;font-weight:700}@media (width<=768px){.classifieds-grid{column-count:2}}@media (width<=480px){.classifieds-grid{column-count:1;column-rule:none}}.newspaper-footer{border-top:8px double var(--ink);border-bottom:4px double var(--ink);background-color:var(--paper-highlight);margin-top:4rem;padding:3rem 1rem}.footer-content{justify-content:space-between;gap:2rem;max-width:1200px;margin:0 auto;display:flex}.footer-section{text-align:center;flex:1}.footer-section h4{font-family:var(--font-headline);text-transform:uppercase;letter-spacing:.1em;border-bottom:2px dashed var(--ink);margin-top:0;margin-bottom:1rem;padding-bottom:.5rem}.footer-section p{margin:.5rem 0;font-size:.9rem}.telegraph-link{color:var(--ink);font-weight:700;text-decoration:underline;position:relative}.telegraph-link.coming-soon{cursor:default;text-decoration:none}.footer-section.contact-focus{border:2px dashed var(--ink);background-color:var(--paper);padding:1.5rem}@media (width<=768px){.footer-content{flex-direction:column}.footer-section{border-bottom:1px solid var(--ink);padding-bottom:1.5rem}.footer-section:last-child{border-bottom:none}}.experience-section{margin-top:4rem}.experience-grid{column-count:2;column-rule:1px solid var(--ink);column-gap:3rem}.experience-item{break-inside:avoid;border-top:2px solid var(--ink);border-bottom:1px solid #0000004d;margin-bottom:1.5rem;padding:1rem 0;display:flow-root}.experience-item h3{font-family:var(--font-headline);margin:0;font-size:1.5rem}.experience-item p{font-family:var(--font-code);text-align:justify;margin:.5rem 0;font-size:.9rem;line-height:1.4}.experience-item ul{text-align:justify;padding-left:1.5rem;line-height:1.4}.vintage-photo-container{background:var(--paper-highlight);cursor:pointer;border:1px solid #0003;max-width:220px;padding:.5rem;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s;display:block;position:relative;transform:rotate(1deg);box-shadow:2px 2px #0000001a}.vintage-photo-container.float-right{float:right;margin:.5rem 0 1rem 1.5rem}.vintage-photo-container.float-left{float:left;margin:.5rem 1.5rem 1rem 0}.vintage-photo-container:hover{z-index:1000;transform:rotate(0)scale(2);box-shadow:15px 15px 30px #0006}.vintage-photo{filter:sepia(.6)contrast(1.2)grayscale(.2);border:1px solid var(--ink);width:100%;height:auto;transition:filter .4s;display:block}.vintage-photo-container:hover .vintage-photo{filter:none}.photo-caption{font-family:var(--font-code);text-align:center;color:var(--ink);margin-top:.5rem;font-size:.8rem;font-style:italic}.blog-section{margin-top:4rem}.blog-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;display:grid}.blog-post{border:2px groove var(--ink);padding:1.5rem}.blog-post h3{font-family:var(--font-headline);margin:0 0 1rem;font-size:1.5rem}.testimonials-section{margin-top:4rem}.testimonials-grid{grid-template-columns:1fr;gap:2rem;display:grid}.testimonial{background-color:var(--paper-highlight);border:2px dashed var(--ink);padding:1.5rem}.testimonial p{margin:0}.testimonial-author{font-family:var(--font-code);text-align:right;margin-top:1rem;font-size:.9rem}.contact-form{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.contact-form input,.contact-form textarea{border:2px solid var(--ink);font-family:var(--font-body);background-color:var(--paper);color:var(--ink);padding:.8rem}.contact-form button{background-color:var(--ink);cursor:pointer;font-family:var(--font-headline);color:var(--paper);border:none;padding:1rem;font-size:1.2rem;transition:background-color .2s}.contact-form button:hover{background-color:#333}@media (width<=900px){.front-page{grid-template-columns:1fr}.sidebar-photo{border-left:none;border-top:2px solid var(--ink);margin-top:2rem;padding-top:2rem;padding-left:0}}@media (width<=800px){.masthead{flex-direction:column;padding-bottom:.5rem}.masthead h1{font-size:3rem}.lead-story h2{font-size:1.8rem;line-height:1.2}.front-page{gap:1.5rem}.weather-ear,.stamp-ear{align-items:center;margin-bottom:1rem;position:static}.stamp-btn-group{flex-flow:wrap;justify-content:center}.creative-grid{grid-template-columns:1fr}.edition-nav ul{gap:1rem}.edition-nav a{font-size:.95rem}}@media (width<=768px){.classifieds-grid{column-count:2}.footer-content{flex-direction:column;gap:1rem}.footer-section{border-bottom:1px solid var(--ink);padding-bottom:1.5rem}.footer-section:last-child{border-bottom:none}}@media (width<=600px){.newspaper-wrapper{padding:1rem .5rem}.masthead h1{margin:.2rem 0;font-size:2.2rem}.issue-date,.tagline,.availability-text{font-size:.75rem}.weather-icon{width:40px;height:40px;margin-bottom:.2rem}.weather-ear p{font-size:.8rem}.edition-nav ul{justify-content:flex-start;gap:.5rem}.edition-nav a{font-size:.8rem}.stamp-bar{gap:.3rem}.stamp-btn{padding:.2rem .4rem;font-size:.65rem}.creative-item{padding:1rem}#physics-container,#ascii-container{height:250px}.typewriter-paper{padding:.8rem;font-size:1rem}.typewriter-box input{width:100%;font-size:.8rem}#data-dog{margin:1rem auto;display:block;position:static}.project-icon{width:60px;height:60px}.experience-grid{column-count:1;column-rule:none}.experience-item{border-left-width:0;padding-left:0}.experience-item h3{font-size:1.2rem}.vintage-photo-container.float-left,.vintage-photo-container.float-right{float:none;max-width:80%;margin:1.5rem auto}}@media (width<=480px){.classifieds-grid{column-count:1;column-rule:none}.masthead h1{font-size:1.8rem}.drop-cap{font-size:2.5rem}}#code-bot{cursor:pointer;transition:transform .3s;animation:3s ease-in-out infinite float-bot}@keyframes float-bot{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}#code-bot:hover{animation-play-state:paused;transform:scale(1.1)translateY(-10px)}#code-bot:hover #bot-eye-l,#code-bot:hover #bot-eye-r{fill:#0fc!important}#code-bot:hover #bot-antenna{animation:.2s infinite alternate blink-antenna;fill:#ff003c!important}@keyframes blink-antenna{0%{opacity:1}to{opacity:.2}}#code-bot-arm-l{transform-origin:15px 55px;transition:transform .3s}#code-bot-arm-r{transform-origin:85px 55px;transition:transform .3s}#code-bot:hover #code-bot-arm-l{transform:rotate(-130deg)}#code-bot:hover #code-bot-arm-r{transform:rotate(130deg)}.newspaper-columns{column-count:2;column-rule:1px solid #0003;text-align:justify;column-gap:2rem}.newspaper-columns p{margin-top:0}@media (width<=800px){.newspaper-columns{column-count:1;column-rule:none}}body.locked{background-color:#0b0906;background-image:radial-gradient(circle,#8b5a2b26 0%,#0b0906 100%);overflow:hidden;box-shadow:inset 0 0 200px #000000e6}#main-portfolio{perspective:2500px;transform-style:preserve-3d;width:100%;min-height:100vh}#cinematic-overlay{mix-blend-mode:color;z-index:9999;pointer-events:none;opacity:0;will-change:opacity;background-color:#643c1499;position:fixed;inset:0}.ink-particle{opacity:0;z-index:10000;pointer-events:none;background-color:#fcf6ba;border-radius:50%;width:4px;height:4px;position:fixed;box-shadow:0 0 8px #d4af37,0 0 15px #aa771c}.extra-banner{text-align:center;border-bottom:4px double var(--ink);max-width:1200px;margin:0 auto 2rem;padding:3rem 1rem;position:relative}.clipping-style{background:var(--paper);border:1px solid #0000001a;padding:3rem 2rem;transform:rotate(-1deg);box-shadow:0 4px 15px #0000001a,inset 0 0 20px #0000000d}.hero-headline{background:linear-gradient(90deg,#bf953f,#fcf6ba,#b38728,#fbf5b7,#aa771c);-webkit-text-fill-color:transparent;filter:drop-shadow(2px 4px 4px #0006);letter-spacing:-1px;-webkit-background-clip:text;margin:0;font-family:Cinzel Decorative,serif;font-size:clamp(3rem,8vw,6rem);line-height:1.1}.banner-metadata{border-top:1px solid var(--ink);max-width:800px;color:var(--ink);justify-content:space-between;align-items:center;margin:2rem auto 0;padding-top:1rem;font-family:Courier Prime,monospace;display:flex}.vol-text{text-transform:uppercase;letter-spacing:2px;font-size:1.1rem;font-weight:700}.barcode-container{cursor:crosshair;padding:0 10px;display:inline-block;position:relative}.scanner-line{opacity:.8;z-index:5;background-color:#f00c;width:2px;animation:2s linear infinite alternate scan;position:absolute;top:-5px;bottom:-5px;left:0;box-shadow:0 0 10px red,0 0 5px red}@keyframes scan{0%{left:5%}to{left:95%}}
