@font-face{font-family:Geist Mono Variable;src:url(/varitype/GeistMono-VariableFont_wght.ttf) format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Doto Variable;src:url(/varitype/Doto-VariableFont_ROND,wght.ttf) format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono Variable;src:url(/varitype/JetBrainsMono-VariableFont_wght.ttf) format("truetype-variations");font-weight:100 800;font-style:normal;font-display:swap}@font-face{font-family:Sono Variable;src:url(/varitype/Sono-VariableFont_MONO,wght.ttf) format("truetype-variations");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:Sixtyfour Variable;src:url(/Sixtyfour-Regular-VariableFont_BLED,SCAN.ttf) format("truetype-variations");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Workbench Variable;src:url(/varitype/Workbench-Regular-VariableFont_BLED,SCAN.ttf) format("truetype-variations");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Bitcount Grid Single;src:url(/varitype/BitcountGridSingle-VariableFont_CRSV,ELSH,ELXP,slnt,wght.ttf) format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Bodoni Moda Variable;src:url(/varitype/BodoniModa-VariableFont_opsz,wght.ttf) format("truetype-variations");font-weight:400 900;font-style:normal;font-display:swap}@font-face{font-family:Grenze Gotisch Variable;src:url(/varitype/GrenzeGotisch-VariableFont_wght.ttf) format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Linefont Variable;src:url(/varitype/Linefont-VariableFont_wdth,wght.ttf) format("truetype-variations");font-weight:4 1000;font-style:normal;font-display:swap}@font-face{font-family:Big Shoulders Stencil Variable;src:url(/varitype/BigShouldersStencil-VariableFont_opsz,wght.ttf) format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 20% 20%,rgba(139,92,246,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(236,72,153,.15) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(59,130,246,.1) 0%,transparent 70%),linear-gradient(180deg,#0a0a0f,#1a1a2e);background-attachment:fixed;color:#fff;overflow-x:hidden}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600}button{cursor:pointer;border:none;background:none;font-family:inherit}html{scroll-behavior:smooth}::selection{background-color:#a78bfa4d;color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#ffffff0d}::-webkit-scrollbar-thumb{background:#a78bfa4d;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#a78bfa80}.app{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:2rem}.app-header{text-align:center;z-index:10}.title{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;margin:0;background:linear-gradient(135deg,#fff,#a78bfa,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;text-shadow:0 0 80px rgba(167,139,250,.3)}.subtitle{font-size:1rem;color:#ffffff80;margin:.5rem 0 0;font-weight:400}.app-main{flex:1;display:flex;align-items:center;justify-content:center;width:100%;max-width:95vw;transition:all .3s ease}.app-footer{text-align:center;color:#ffffff4d;font-size:.875rem;z-index:10}.app-footer p{margin:0}.ascii-cam-container{position:relative;display:flex;align-items:center;justify-content:center;min-height:400px}.start-screen{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:3rem}.start-button{position:relative;display:flex;align-items:center;gap:1rem;padding:1.5rem 3rem;font-size:1.25rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#8b5cf6,#ec4899);border-radius:16px;cursor:pointer;transition:all .3s ease;box-shadow:0 10px 40px #8b5cf64d,0 5px 20px #ec489933,inset 0 1px #ffffff1a;overflow:hidden}.start-button:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#a78bfa,#f472b6);opacity:0;transition:opacity .3s ease}.start-button:hover:before{opacity:1}.start-button:hover{transform:translateY(-2px);box-shadow:0 15px 60px #8b5cf666,0 8px 30px #ec48994d,inset 0 1px #fff3}.start-button:active{transform:translateY(0)}.button-icon,.button-text{position:relative;z-index:1}.button-icon{font-size:1.5rem}.start-hint{color:#fff6;font-size:.875rem;margin:0}.ascii-canvas{display:block;border-radius:12px;box-shadow:0 0 80px #a78bfa66,0 0 160px #ec489933,0 20px 60px #00000080;transition:transform .3s ease,box-shadow .3s ease;background:#000;max-width:90vw;max-height:85vh;width:auto;height:auto;object-fit:contain}.ascii-canvas:hover{transform:scale(1.01);box-shadow:0 0 100px #a78bfa80,0 0 200px #ec48994d,0 25px 80px #0009}.canvas-wrapper{position:relative;display:inline-block;cursor:pointer}.pause-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:12px;opacity:0;animation:fadeIn .2s ease forwards;pointer-events:none}@keyframes fadeIn{to{opacity:1}}.pause-button{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:#000000b3;border:3px solid rgba(255,255,255,.9);border-radius:50%;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 20px #00000080;pointer-events:all}.pause-button:hover{background:#000000e6;border-color:#a78bfa;transform:scale(1.1);box-shadow:0 4px 30px #000000b3,0 0 40px #a78bfa80}.pause-button:active{transform:scale(1.05)}.pause-button svg{pointer-events:none}.status-message{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;border-radius:12px;background:#1e1e28cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);min-width:300px}.status-message p{margin:0;color:#fffc;font-size:1rem}.status-message.error p:first-child{font-size:1.25rem;color:#f87171}.status-message .hint{font-size:.875rem;color:#ffffff80}.spinner{width:40px;height:40px;border:3px solid rgba(167,139,250,.2);border-top-color:#a78bfa;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--leva-colors-elevation1: rgba(20, 20, 30, .95);--leva-colors-elevation2: rgba(30, 30, 40, .95);--leva-colors-elevation3: rgba(40, 40, 50, .95);--leva-colors-accent1: #a78bfa;--leva-colors-accent2: #8b5cf6;--leva-colors-accent3: #7c3aed;--leva-colors-highlight1: rgba(167, 139, 250, .1);--leva-colors-highlight2: rgba(167, 139, 250, .2);--leva-colors-highlight3: rgba(167, 139, 250, .3);--leva-shadows-level1: 0 0 20px rgba(0, 0, 0, .5);--leva-shadows-level2: 0 0 30px rgba(0, 0, 0, .6)}.leva-c-kWgxhW{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #0006,0 0 0 1px #a78bfa1a}@media (max-width: 768px){.app{padding:1rem}.title{font-size:2rem}.subtitle{font-size:.875rem}}
