:root{color-scheme:light;--paper:#f5f0e5;--ink:#25291f;--red:#c93827;--line:#d9d5c9;--muted:#77796c;--green:#217448;--surface:#eae7dc;--surface-border:#d6d3c5;--secondary:#626557;--status:#6d7062;--error:#a82217;--corner:#a2a595;--stamp:#7b806b;--stamp-border:#b5b7a7;--negative:#c93827}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}header{max-width:1160px;margin:auto;padding:27px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:26px;font-weight:900;text-decoration:none;letter-spacing:-2px}.brand span{color:var(--red)}.edition,.issue,.eyebrow,.frame-label,.stamp{font-family:'Courier New',monospace;font-size:10px;letter-spacing:1.5px;font-weight:bold}.issue{color:var(--muted)}main{max-width:650px;margin:0 auto;padding:45px 32px 0}.intro{text-align:center}.eyebrow{font-size:10px;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:1.2px}.dot{width:7px;height:7px;border-radius:50%;background:var(--red)}h1{font-size:clamp(54px,10vw,83px);line-height:.94;letter-spacing:-5px;margin:24px 0 20px;font-weight:900}h1 span{color:var(--red)}.subtitle{font-size:15px;color:var(--secondary);margin:0 0 31px}.photo-frame{position:relative;aspect-ratio:1.42;background:var(--surface);border:1px solid var(--surface-border);border-radius:13px;overflow:hidden;display:flex;align-items:center;justify-content:center}.photo-frame>img{width:100%;height:100%;object-fit:contain;background:#25291f}.illustration{position:relative;width:220px;margin:auto}.illustration img{display:block;width:220px;height:154px}.spark{position:absolute;color:var(--red);font-size:30px}.s1{top:18px;right:-5px}.s2{bottom:18px;left:0;font-size:21px}.frame-title{font-weight:800;font-size:19px;text-align:center;margin:0 0 7px}.frame-subtitle{text-align:center;color:var(--muted);font-size:13px;margin:0 0 28px}.corner{position:absolute;width:20px;height:20px;border:solid var(--corner);pointer-events:none}.top-left{top:16px;left:16px;border-width:2px 0 0 2px}.top-right{top:16px;right:16px;border-width:2px 2px 0 0}.bottom-left{bottom:16px;left:16px;border-width:0 0 2px 2px}.bottom-right{bottom:16px;right:16px;border-width:0 2px 2px 0}.frame-label{position:absolute;bottom:17px;font-size:8px;color:var(--muted);letter-spacing:1px;text-align:center;left:30px;right:30px}.actions{display:flex;gap:10px;margin-top:15px}button{cursor:pointer;border-radius:8px;min-height:54px;border:1px solid var(--ink);font:700 14px Arial;display:flex;gap:9px;align-items:center;justify-content:center;flex:1;padding:12px;transition:transform .15s,background .15s}button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.primary{background:var(--ink);color:var(--paper)}.secondary{background:transparent;color:var(--ink)}button:hover{transform:translateY(-2px)}button:disabled{opacity:.55;cursor:wait;transform:none}button:focus-visible,a:focus-visible{outline:3px solid var(--red);outline-offset:4px}.status{text-align:center;font-size:12px;color:var(--status);min-height:18px;margin:15px 0 0}.status.error{color:var(--error)}.manifesto{border-top:1px solid var(--line);margin-top:30px;padding:24px 0;display:flex;align-items:center;gap:14px}.asterisk{color:var(--red);font-size:48px;line-height:1}.manifesto p{font-size:13px;color:var(--muted);line-height:1.6;margin:0;flex:1}.manifesto strong{color:var(--ink);font-weight:500}.stamp{border:1px solid var(--stamp-border);color:var(--stamp);border-radius:50%;width:87px;height:87px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:8px;line-height:1.5;letter-spacing:.8px;transform:rotate(-12deg)}footer{border-top:1px solid var(--line);max-width:1160px;margin:8px auto 0;padding:22px 32px 28px;display:flex;justify-content:space-between;gap:18px;font-size:10px;line-height:1.5;color:var(--muted)}footer a{font-weight:bold}footer>span:last-child{text-align:right}.scan-line{display:none;position:absolute;left:0;right:0;height:3px;background:#f4cf39;box-shadow:0 0 28px 6px #f4cf3966;animation:scan 2s ease-in-out infinite}.scanning .scan-line{display:block}.scanning .frame-label{color:white;background:#25291fcc;padding:5px;border-radius:4px}.verdict{position:absolute;inset:auto 0 0;background:var(--green);color:white;text-align:center;padding:18px 10px}.verdict svg{stroke:currentColor;stroke-width:5;fill:none;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.verdict h2{font-size:clamp(30px,7vw,48px);line-height:1;letter-spacing:-1.5px;margin:5px 0 7px;font-weight:900}.verdict p{margin:0;font-size:12px}.negative .verdict{background:var(--negative)}.result .photo-frame>img{opacity:.85}.result .corner{border-color:white}.result .frame-label{display:none}[hidden]{display:none!important}@keyframes scan{0%,100%{top:5%}50%{top:95%}}@media(min-width:900px){main{padding-top:42px}.photo-frame{aspect-ratio:1.65}}@media(max-width:479px){header{padding:19px 20px}.edition{font-size:8px;letter-spacing:.7px}.issue{display:none}main{padding:32px 20px 0}h1{letter-spacing:-3px;margin:22px 0 18px}.eyebrow{font-size:8px;letter-spacing:.6px}.subtitle{font-size:13px;margin-bottom:25px}.photo-frame{aspect-ratio:1.13}.actions{flex-direction:column}button{min-height:50px}.manifesto{margin-top:25px}.stamp{width:72px;height:72px;font-size:7px}footer{padding:20px;flex-direction:column;gap:8px}footer>span:last-child{text-align:left}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.scanning .scan-line{top:50%}}

/* Follow the system preference automatically, including changes while open. */
@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --paper: #191c17;
    --ink: #f5f0e5;
    --red: #ff806b;
    --line: #3d4237;
    --muted: #b3b8a8;
    --surface: #252a22;
    --surface-border: #444b3d;
    --secondary: #c3c7b9;
    --status: #b9beae;
    --error: #ff9b89;
    --corner: #818b73;
    --stamp: #b3bca3;
    --stamp-border: #67725b;
  }
}

.powered{text-align:center;color:var(--muted);font-size:11px;margin:18px 0 0}.powered a{font-weight:700;text-underline-offset:3px}.drop-overlay{display:none;position:absolute;inset:0;z-index:3;background:var(--surface);color:var(--ink);border:3px dashed var(--red);border-radius:12px;align-items:center;justify-content:center;flex-direction:column;gap:12px;font-size:clamp(20px,5vw,30px);font-weight:800;pointer-events:none}.drop-overlay span{font-size:13px;font-weight:400;color:var(--secondary)}.dragging .drop-overlay{display:flex}

/* Small paper-theatre Easter egg. The rest of the page stays interactive. */
button.stamp{flex:none;min-height:72px;padding:0;background:transparent;font-family:'Courier New',monospace;cursor:pointer}
button.stamp:hover{transform:rotate(-6deg)}
.cameo{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:env(safe-area-inset-bottom,0px);width:min(330px,calc(100vw - 24px));height:350px;z-index:20;pointer-events:none;isolation:isolate}
.cameo-character{position:absolute;right:0;bottom:-12px;width:220px;height:220px;object-fit:contain;filter:drop-shadow(4px 6px 0 #00000035);transform-origin:70% 100%}
.cameo-bubble{position:absolute;bottom:194px;right:21px;width:calc(100% - 27px);padding:21px 40px 22px 20px;background:#fff7e5;color:#292c22;border:2px solid #292c22;border-radius:5px 14px 6px 12px;box-shadow:5px 6px 0 #00000035;transform-origin:80% 100%;pointer-events:auto}
.cameo-bubble::after{content:'';position:absolute;right:46px;bottom:-15px;width:22px;height:22px;background:#fff7e5;border-right:2px solid #292c22;border-bottom:2px solid #292c22;transform:skewY(20deg) rotate(35deg);z-index:-1}
.cameo-name{font-family:'Courier New',monospace;font-size:8px;font-weight:700;letter-spacing:1px;color:#83604d;display:block;margin-bottom:10px}
.cameo-bubble p{font-family:Arial,Helvetica,sans-serif;font-size:19px;font-weight:800;letter-spacing:-.5px;line-height:1.18;margin:0}
.cameo-close{position:absolute;right:0;top:0;min-height:44px;width:44px;height:44px;padding:12px;border:0;background:transparent;color:#292c22;border-radius:0;box-shadow:none}
.cameo-close:hover{transform:none;background:#292c2210}
.cameo-close:focus-visible{outline:3px solid #c93827;outline-offset:-5px}
.onstage .cameo-character{animation:paper-person-in 620ms cubic-bezier(.2,.85,.25,1.15) both}
.onstage .cameo-bubble{animation:paper-bubble-in 400ms cubic-bezier(.2,.85,.25,1.2) 240ms both}
@keyframes paper-person-in{0%{transform:translate(50px,240px) rotate(18deg)}65%{transform:translate(-5px,-8px) rotate(-5deg)}100%{transform:translate(0,0) rotate(-2deg)}}
@keyframes paper-bubble-in{0%{opacity:0;transform:translateY(16px) scale(.65) rotate(8deg)}70%{opacity:1;transform:translateY(-3px) scale(1.03) rotate(-3deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(-2deg)}}
@media(max-width:479px){.cameo{width:min(290px,calc(100vw - 24px));height:310px}.cameo-character{width:190px;height:190px}.cameo-bubble{bottom:168px}.cameo-bubble p{font-size:17px}}
@media(prefers-reduced-motion:reduce){.onstage .cameo-character,.onstage .cameo-bubble{animation:none;transform:none;opacity:1}}
