.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:2rem;text-align:center;background:#0a0a0a40}.error-eightball{width:min(360px,80vw);height:min(360px,80vw);margin-bottom:2rem}.error-eightball canvas{display:block;width:100%!important;height:100%!important}.error-text h1{font-family:Frutiger,sans-serif;font-weight:400;font-size:clamp(1.4rem,4vw,2rem);color:#fff;margin-bottom:.6rem;letter-spacing:.08em;text-transform:lowercase;text-shadow:var(--neon-glow)}.error-text p{font-family:Frutiger,sans-serif;font-size:clamp(.95rem,2.5vw,1.15rem);color:var(--text-muted);margin-bottom:2rem;line-height:1.5}.error-text button{font-family:Frutiger,sans-serif;font-size:.9rem;font-weight:400;color:#fff;background:none;border:none;padding:1rem 2rem;cursor:pointer;letter-spacing:.15em;text-transform:uppercase;transition:color .2s,text-shadow .2s}.error-text button:hover{color:#ff69b4;text-shadow:0 0 8px rgba(255,105,180,.7),0 0 20px rgba(255,105,180,.4)}.home{position:relative;z-index:1;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3rem}.home-logo{display:inline-flex;flex-direction:column;align-items:flex-start}.home-title{font-family:Playwrite AT,cursive;font-size:2.5rem;font-weight:400;letter-spacing:.3em;text-transform:lowercase;color:#fff;text-shadow:var(--neon-glow)}.neon-flicker{animation:neon-flicker 4s infinite}@keyframes neon-flicker{0%,19%,23%,25%,54%,56%,to{text-shadow:var(--neon-glow);opacity:1}20%,24%{text-shadow:none;opacity:.8}21%{text-shadow:0 0 8px #fff,0 0 20px #ff69b4,0 0 45px #ff69b4,0 0 80px rgba(255,105,180,.9),0 0 140px rgba(255,105,180,.6);opacity:1}55%{text-shadow:0 0 2px #fff,0 0 5px #ff69b4;opacity:.9}}.home-subtitle{font-family:Frutiger,sans-serif;font-size:.7rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:#ff69b4;text-shadow:0 0 8px rgba(255,105,180,.6),0 0 20px rgba(255,105,180,.3);margin-top:-.3rem}.home-nav{display:flex;flex-direction:column;gap:1rem;width:240px}.home-btn{display:block;padding:1rem;text-align:center;font-family:Frutiger,sans-serif;font-size:.9rem;letter-spacing:.15em;text-transform:uppercase;transition:color .2s,text-shadow .2s}.home-btn:hover{color:#ff69b4;text-shadow:0 0 8px rgba(255,105,180,.7),0 0 20px rgba(255,105,180,.4)}.home-btn--disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed;pointer-events:none}.issues-page{max-width:1000px;margin:0 auto;padding:1.5rem;padding-top:calc(3rem + env(safe-area-inset-top,0px));min-height:100dvh;position:relative}.issues-loading,.issues-empty{color:var(--text-muted);text-align:center;padding:3rem 0}.issues-error{text-align:center;padding:3rem 0}.issues-error p{font-family:Frutiger,sans-serif;font-size:clamp(1.2rem,3.5vw,1.6rem);font-weight:400;color:#fff;letter-spacing:.08em;text-shadow:var(--neon-glow);margin-bottom:1.5rem}.issues-error button{font-family:Frutiger,sans-serif;font-size:.9rem;font-weight:400;color:#fff;background:none;border:none;padding:1rem 2rem;cursor:pointer;letter-spacing:.15em;text-transform:uppercase;transition:color .2s,text-shadow .2s}.issues-error button:hover{color:#ff69b4;text-shadow:0 0 8px rgba(255,105,180,.7),0 0 20px rgba(255,105,180,.4)}.issues-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}@media(max-width:768px){.issues-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}.issues-grid a{text-decoration:none;color:inherit}.issues-card{display:flex;flex-direction:column;gap:.5rem}.issues-card:hover .issues-number{color:#ff69b4}.issues-card--locked{cursor:not-allowed;pointer-events:none}.issues-cover{position:relative;aspect-ratio:1;overflow:hidden;background:#111;border:1px solid var(--border)}.issues-padlock{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:35%;height:auto;object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}.issues-cover img:not(.issues-padlock){width:100%;height:100%;object-fit:cover;object-position:100% center;display:block}.issues-cover img.issues-cover--pending-special{object-fit:fill}.issues-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:1.5rem;letter-spacing:.05em}.issues-meta{display:flex;align-items:center;justify-content:space-between;padding:0 .1rem}.issues-number{font-size:.85rem}.issues-star{color:#f5c542}.issues-date{font-size:.7rem;color:var(--text-muted)}.issues-inline-pass{display:flex}.issues-inline-pass input{width:80px;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:16px;font-family:inherit;padding:0 0 2px;outline:none;text-align:right}.issues-inline-pass input:focus{border-color:#ff69b4}.issues-inline-pass input::placeholder{color:var(--text-muted)}.issues-inline-pass-shake{animation:issues-shake .4s ease;border-color:#e74c3c!important}@keyframes issues-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.magazine-viewer{width:100%;height:100%;position:relative}.magazine-viewer canvas{display:block}.magazine-viewer--fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}.magazine-viewer--fallback p{font-family:Frutiger,sans-serif;font-weight:400;font-size:clamp(1.2rem,3.5vw,1.6rem);color:#fff;letter-spacing:.08em;text-shadow:var(--neon-glow);text-align:center}.magazine-viewer--fallback button{font-family:Frutiger,sans-serif;font-size:.9rem;font-weight:400;color:#fff;background:none;border:none;padding:1rem 2rem;cursor:pointer;letter-spacing:.15em;text-transform:uppercase;transition:color .2s,text-shadow .2s}.magazine-viewer--fallback button:hover{color:#ff69b4;text-shadow:0 0 8px rgba(255,105,180,.7),0 0 20px rgba(255,105,180,.4)}.magazine-nav{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;z-index:10}@media(max-width:768px){.magazine-nav{left:0;right:0;bottom:calc(1rem + env(safe-area-inset-bottom,0px));transform:none;justify-content:space-between;padding:0 calc(1rem + env(safe-area-inset-left,0px))}}.magazine-nav button{width:40px;height:40px;border:none;background:none;color:#fff9;display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:color .2s}.magazine-nav button:active{color:#ff69b4;transition:color 0s}@keyframes nav-flash{0%{color:#ff69b4}to{color:#fff9}}.magazine-nav button.flash{animation:nav-flash .5s ease-out}.iv-page{height:100dvh;display:flex;flex-direction:column}.iv-viewer-wrap{flex:1;position:relative;overflow:hidden}.iv-error,.iv-empty{color:var(--text-muted);text-align:center;padding:3rem}.iv-overlay{position:fixed;inset:0;z-index:100;background:transparent;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease}.iv-overlay--done{opacity:0;pointer-events:none}.iv-loader{font-family:Playwrite AT,cursive;font-size:2.5rem;font-weight:400;letter-spacing:.3em;display:flex}.iv-loader-letter{color:#fff;text-shadow:var(--neon-glow);opacity:.15;will-change:opacity;animation:iv-cascade 2.4s ease-in-out infinite}@keyframes iv-cascade{0%,to{opacity:.15}10%,30%{opacity:1}50%{opacity:.15}}.iv-buy-btn{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:50;background:#fff;color:#000;border:none;padding:8px 20px;font-size:13px;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:opacity .2s}@media(max-width:768px){.iv-buy-btn{bottom:calc(1rem + env(safe-area-inset-bottom,0px))}}.iv-buy-btn:hover{opacity:.85}.iv-buy-btn:disabled{opacity:.4;cursor:not-allowed}.iv-page .magazine-nav{gap:10rem}@media(max-width:768px){.iv-page .magazine-nav{gap:.5rem}}.iv-buy-overlay{position:fixed;inset:0;z-index:200;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:20px}.iv-buy-modal{background:#111;border:1px solid #333;padding:32px;width:100%;max-width:400px}.iv-buy-modal h2{font-size:16px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:0 0 4px}.iv-buy-price{color:#888;font-size:13px;margin:0 0 20px}.iv-buy-error{color:#f44;font-size:13px;margin:0 0 12px}.iv-buy-submit{background:#fff;color:#000;border:none;padding:12px;font-size:14px;font-weight:600;cursor:pointer;width:100%}.iv-buy-done{text-align:center}.iv-buy-done h2{margin-bottom:8px}.iv-buy-done p{color:#888;margin:0 0 20px}.iv-buy-done button{background:#fff;color:#000;border:none;padding:10px 24px;font-size:14px;font-weight:600;cursor:pointer}.iv-checkout-wrap{margin-top:8px}.iv-buy-modal iframe[name*=__privateStripeMetricsController],.iv-buy-modal .StripeElement+div[style],.iv-buy-modal .__PrivateStripeElement+div{display:none!important}.moscow-login{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:20px}.moscow-login-box{display:flex;flex-direction:column;gap:12px;width:300px}.moscow-login-box h1{font-size:14px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.moscow-login-box input{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:10px 12px;font-size:14px;font-family:inherit;border-radius:4px;outline:none}.moscow-login-box input:focus{border-color:var(--text-muted)}.moscow-login-box button{background:var(--accent);color:var(--bg);padding:10px;font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-radius:4px}.moscow-login-box button:hover{opacity:.85}.moscow-login-error{color:#e55;font-size:12px}.moscow-editor{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.moscow-toolbar{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.moscow-toolbar select{background:var(--bg);color:var(--text);border:1px solid var(--border);padding:6px 10px;font-size:13px;font-family:inherit;border-radius:4px;outline:none;min-width:220px}.moscow-toolbar-spacer{flex:1}.moscow-btn{padding:6px 14px;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-radius:4px;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:opacity .15s}.moscow-btn:hover{opacity:.8}.moscow-btn:disabled{opacity:.35;cursor:not-allowed}.moscow-btn-publish{background:var(--accent);color:var(--bg);border-color:var(--accent)}.moscow-btn-save{border-color:var(--text-muted)}.moscow-toolbar-title{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.moscow-body{display:flex;flex:1;overflow:hidden}.moscow-issues-sidebar{width:160px;border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;background:var(--surface)}.moscow-sidebar-header{padding:8px 12px;border-bottom:1px solid var(--border);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.moscow-issues-list{flex:1;overflow-y:auto;padding:6px 0}.moscow-issue-item{display:flex;align-items:center;gap:6px;padding:8px 12px;cursor:pointer;font-size:13px;color:var(--text-muted);transition:background .1s,color .1s}.moscow-issue-item:hover{background:var(--bg);color:var(--text)}.moscow-issue-item.active{background:var(--bg);color:var(--text);border-left:2px solid var(--accent)}.moscow-issue-num{font-weight:600;font-size:13px}.moscow-issue-date{font-size:11px;color:var(--text-muted)}.moscow-issue-badge{font-size:9px;text-transform:uppercase;letter-spacing:.05em;padding:1px 5px;border:1px solid var(--border);border-radius:3px;color:var(--text-muted);margin-left:auto}.moscow-issue-badge.published{color:#4c8;border-color:#4c8}.moscow-issue-badge.pending{color:#f5a623;border-color:#f5a623}.moscow-issues-empty{padding:12px;font-size:12px;color:var(--text-muted);text-align:center}.moscow-spreads{flex:1;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--border);min-width:300px}.moscow-spreads-scroll{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:16px}.moscow-spread-section{display:flex;flex-direction:column;align-items:center;gap:4px}.moscow-spread-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);align-self:flex-start;margin-bottom:2px}.moscow-cover-row{display:flex;flex-direction:column;align-items:center;gap:3px;padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:4px}.moscow-cover-spread{display:flex;border:2px solid var(--border);border-radius:3px;overflow:hidden;background:var(--bg);width:100%}.moscow-cover-half{flex:1;display:flex;align-items:center;justify-content:center}.moscow-cover-spine{width:4px;background:var(--border);flex-shrink:0}.moscow-row-label{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.moscow-cover-img{width:100%;height:auto;display:block;border:2px solid var(--border);border-radius:3px}.moscow-cover-spread-img{display:block;object-fit:fill;border:2px solid var(--border);border-radius:3px}.moscow-cover-upload-btn{font-size:10px;padding:4px 10px;border:1px solid var(--border);border-radius:3px;color:var(--text-muted);margin-top:2px}.moscow-cover-upload-btn:hover{color:var(--text);border-color:var(--text-muted)}.moscow-spread-row{display:flex;gap:2px;justify-content:center}.moscow-thumb-empty{border:2px dashed var(--border);border-radius:3px;opacity:.2}.moscow-thumb{position:relative;border:2px solid var(--border);border-radius:3px;overflow:hidden;cursor:pointer;transition:border-color .15s;background:var(--bg);display:flex;align-items:center;justify-content:center}.moscow-thumb:hover{border-color:var(--text-muted)}.moscow-thumb.active{border-color:var(--accent)}.moscow-thumb.swap-source{border-color:#f5a623;box-shadow:0 0 0 1px #f5a623}.moscow-spread-section.spread-selected{outline:2px solid #f5a623;outline-offset:2px;border-radius:4px}.moscow-spread-section.swappable .moscow-spread-label:hover{color:#f5a623}.moscow-thumb.fixed{cursor:default}.moscow-thumb img{width:100%;height:100%;object-fit:fill;display:block}.moscow-thumb-label{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;text-align:center;padding:2px}.moscow-thumb-wrap{display:flex;flex-direction:column;align-items:center;gap:2px}.moscow-thumb-credit{font-size:8px;color:var(--text-muted);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.moscow-thumb-num{position:absolute;bottom:1px;right:2px;font-size:8px;color:var(--text-muted);background:#0009;padding:0 3px;border-radius:2px;line-height:1.4}.moscow-viewer{flex:1;position:relative;overflow:hidden}.moscow-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:14px}.moscow-status{font-size:11px;color:var(--text-muted);padding:0 4px}.moscow-export-progress{font-size:11px;color:var(--text-muted);padding:0 8px}.explore-page{max-width:1000px;margin:0 auto;padding:1.5rem;padding-top:calc(3rem + env(safe-area-inset-top,0px));min-height:100dvh;position:relative}.explore-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}@media(max-width:768px){.explore-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}.explore-grid a{text-decoration:none;color:inherit}.explore-card{display:flex;flex-direction:column;gap:.5rem}.explore-card:hover .explore-name{color:#ff69b4}.explore-cover{position:relative;aspect-ratio:1;overflow:hidden;background:#111;border:1px solid var(--border)}.explore-cover img{width:100%;height:100%;object-fit:cover;display:block}.explore-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:1.5rem;letter-spacing:.05em}.explore-meta{display:flex;align-items:center;justify-content:space-between;padding:0 .1rem}.explore-name{font-size:.85rem;transition:color .2s}.explore-desc{font-size:.7rem;color:var(--text-muted)}.notfound-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:2rem;text-align:center;background:#0a0a0a40}.notfound-text h1{font-family:Frutiger,sans-serif;font-weight:400;font-size:clamp(1.4rem,4vw,2rem);color:#fff;margin-bottom:.6rem;letter-spacing:.08em;text-shadow:var(--neon-glow)}.notfound-text p{font-family:Frutiger,sans-serif;font-size:clamp(.95rem,2.5vw,1.15rem);color:var(--text-muted);margin-bottom:2rem;line-height:1.5}.notfound-text button{font-family:Frutiger,sans-serif;font-size:.9rem;font-weight:400;color:#fff;background:none;border:none;padding:1rem 2rem;cursor:pointer;letter-spacing:.15em;text-transform:uppercase;transition:color .2s,text-shadow .2s}.notfound-text button:hover{color:#ff69b4;text-shadow:0 0 8px rgba(255,105,180,.7),0 0 20px rgba(255,105,180,.4)}@font-face{font-family:Frutiger;src:url(/Frutiger.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Frutiger;src:url(/Frutiger_bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0a0a0a;--surface: #141414;--border: #222;--text: #e8e8e8;--text-muted: #888;--accent: #fff;--accent-dim: #aaa;--neon-glow: 0 0 4px #fff, 0 0 10px #ff69b4, 0 0 25px #ff69b4, 0 0 50px rgba(255, 105, 180, .7), 0 0 100px rgba(255, 105, 180, .4)}html{min-height:100%;background:linear-gradient(#0a0a0aa6,#0a0a0aa6),url(/bg.jpg) center / cover no-repeat fixed;background-color:var(--bg)}body{font-family:Frutiger,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;background:transparent;color:var(--text);min-height:100dvh;-webkit-font-smoothing:antialiased}#root{min-height:100dvh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}.page-title{position:fixed;top:calc(1rem + env(safe-area-inset-top,0px));left:calc(1rem + env(safe-area-inset-left,0px));font-family:Frutiger,sans-serif;font-size:1.1rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;z-index:10}
