:root{--glitch-teal: #14b8a6;--glitch-teal-dark: #0d9488;--glitch-teal-light: #5eead4;--glitch-teal-bg: rgba(20, 184, 166, .15)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0a0a0a;color:#fff;min-height:100vh;overflow:hidden}#app{height:100vh;display:flex;flex-direction:column}.header{padding:12px 20px;border-bottom:1px solid #1a1a1a}.header h1{font-size:1.25rem;background:linear-gradient(135deg,var(--glitch-teal) 0%,var(--glitch-teal-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.source-section{flex:1;display:flex;align-items:center;justify-content:center}.source-options{display:flex;gap:32px;align-items:center}.divider{color:#444}.hint{color:#555;font-size:12px;margin-top:4px}.upload-box,.capture-btn{width:180px;height:150px;border:2px dashed #2a2a2a;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .2s;background:transparent;color:#888}.upload-box{position:relative}.upload-box input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-box:hover,.capture-btn:hover{border-color:var(--glitch-teal);color:#fff;background:var(--glitch-teal-bg)}.upload-box p,.capture-btn p{font-size:14px;font-weight:500}.capture-modal{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000}.capture-modal-content{background:#141414;border-radius:12px;padding:20px;max-width:700px;width:90%;text-align:center}.capture-modal-content>p{color:#888;margin-bottom:16px}#capture-preview{width:100%;max-height:350px;background:#000;border-radius:8px;margin-bottom:16px}.capture-actions{display:flex;gap:12px;justify-content:center}.btn-primary{padding:10px 20px;background:var(--glitch-teal);border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;font-size:14px}.btn-primary:hover{background:var(--glitch-teal-dark)}.btn-ghost{padding:10px 20px;background:transparent;border:1px solid #333;border-radius:8px;color:#999;cursor:pointer;font-size:14px}.btn-ghost:hover{background:#1a1a1a;color:#fff}.btn-record{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#dc2626;border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;font-size:14px}.btn-record:hover{background:#b91c1c}.record-icon{width:10px;height:10px;background:#fff;border-radius:50%}.btn-stop{padding:8px 16px;background:#333;border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer}.studio{flex:1;display:flex;flex-direction:column;overflow:hidden}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#111;border-bottom:1px solid #222;gap:8px}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:4px}.toolbar-divider{width:1px;height:24px;background:#333;margin:0 6px}.page-nav{display:flex;align-items:center;gap:6px}.page-thumbs{display:flex;gap:4px}.page-thumb{width:40px;height:28px;border-radius:4px;border:2px solid #333;overflow:hidden;cursor:pointer;transition:all .15s;position:relative}.page-thumb img{width:100%;height:100%;object-fit:cover}.page-thumb:hover{border-color:#555}.page-thumb.active{border-color:var(--glitch-teal);box-shadow:0 0 0 1px var(--glitch-teal)}.page-thumb .page-num{position:absolute;bottom:1px;right:2px;font-size:9px;color:#fff;text-shadow:0 0 2px #000}.page-thumb .remove-page{position:absolute;top:-4px;right:-4px;width:14px;height:14px;background:#dc2626;border-radius:50%;border:none;color:#fff;font-size:10px;cursor:pointer;display:none;align-items:center;justify-content:center;line-height:1}.page-thumb:hover .remove-page{display:flex}.page-thumb .page-type-icon{position:absolute;bottom:1px;left:2px;color:#fff;text-shadow:0 0 2px #000}.add-page-wrapper{position:relative}.add-page-menu{position:absolute;top:100%;left:0;margin-top:4px;background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:4px;z-index:100;min-width:100px}.add-page-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;color:#999;font-size:13px;cursor:pointer;border-radius:4px;transition:all .15s}.add-page-option:hover{background:#252525;color:#fff}.url-modal{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000}.url-modal-content{background:#141414;border-radius:12px;padding:24px;width:400px}.url-modal-content h3{margin-bottom:16px;font-size:18px}.url-modal-content input{width:100%;padding:12px;background:#0a0a0a;border:1px solid #333;border-radius:8px;color:#fff;font-size:14px;margin-bottom:16px}.url-modal-content input:focus{outline:none;border-color:var(--glitch-teal)}.url-modal-actions{display:flex;gap:12px;justify-content:flex-end}.page-video{max-width:100%;max-height:100%;object-fit:contain}.tool-btn{display:flex;align-items:center;gap:6px;padding:6px 8px;background:transparent;border:1px solid transparent;border-radius:6px;color:#888;cursor:pointer;font-size:13px;transition:all .15s}.tool-btn:hover{background:#1a1a1a;color:#fff;border-color:#333}.tool-btn.active{background:var(--glitch-teal-bg);color:#fff;border-color:var(--glitch-teal)}.tool-btn-danger:hover{background:#dc262633;border-color:#dc2626;color:#f87171}.record-status{display:flex;align-items:center;gap:8px;padding:0 12px}.record-dot{width:10px;height:10px;background:#dc2626;border-radius:50%;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}#record-time{font-family:monospace;font-size:14px;color:#fff}.canvas-wrapper{flex:1;display:flex;background:#0a0a0a;overflow:hidden;position:relative}.canvas-container{flex:1;position:relative;display:flex;align-items:center;justify-content:center;cursor:crosshair;overflow:hidden}.canvas-container img{max-width:100%;max-height:100%;object-fit:contain;user-select:none;pointer-events:none}.annotations-layer{position:absolute;inset:0;pointer-events:none;overflow:visible}.annotations-layer *{pointer-events:auto}.annotation{cursor:move;transition:filter .15s}.annotation:hover{filter:brightness(1.2)}.annotation.dragging{cursor:grabbing}@keyframes march{to{stroke-dashoffset:-12}}.focus-annotation{fill:none;stroke:var(--glitch-teal);stroke-width:3;stroke-dasharray:8 4;animation:march .5s linear infinite}.webcam-bubble{position:absolute;bottom:20px;right:20px;width:150px;height:150px;border-radius:50%;overflow:hidden;border:3px solid var(--glitch-teal);box-shadow:0 4px 20px #00000080;cursor:move;z-index:100;background:#000}.webcam-bubble video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.guide-sidebar{width:200px;background:#111;border-left:1px solid #222;padding:14px;display:flex;flex-direction:column}.guide-sidebar h3{font-size:12px;color:#555;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.guide-hint{font-size:10px;color:#444;margin-bottom:10px}.guide-sidebar textarea{flex:1;background:#0a0a0a;border:1px solid #222;border-radius:6px;padding:10px;color:#777;font-size:12px;font-family:inherit;resize:none;line-height:1.5}.guide-sidebar textarea:focus{outline:none;border-color:#333;color:#aaa}.replay-modal{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:2000}.replay-content{background:#141414;border-radius:12px;padding:20px;max-width:900px;width:95%}.replay-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.replay-header h3{font-size:18px}.replay-content video{width:100%;border-radius:8px;background:#000;margin-bottom:16px}.replay-actions{display:flex;gap:12px;justify-content:center}.intro-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#0a0a0a,#0f172a,#0d1117);display:flex;align-items:center;justify-content:center;z-index:3000;opacity:0}.intro-overlay.animate-in{animation:introFadeIn .3s ease-out forwards}.intro-overlay.fade-out{animation:introFadeOut .5s ease-in forwards}@keyframes introFadeIn{0%{opacity:0}to{opacity:1}}@keyframes introFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.15)}}.intro-content{display:flex;flex-direction:column;align-items:center;gap:20px}.glitch-mascot{opacity:0}.glitch-mascot.zig-zag{animation:zigZagSwoosh 1.8s ease-out forwards}@keyframes zigZagSwoosh{0%{opacity:1;transform:translate(-350px) scale(.6)}20%{transform:translate(-150px,-80px) scale(.75)}40%{transform:translate(50px,60px) scale(.85)}60%{transform:translate(150px,-50px) scale(.95)}80%{transform:translate(30px,20px) scale(1.05)}90%{transform:translate(-10px,-10px) scale(1)}to{opacity:1;transform:translate(0) scale(1)}}.glitch-mascot.fizz{animation:fizzIn 1.6s ease-out forwards}@keyframes fizzIn{0%{opacity:0;transform:scale(.2);filter:blur(10px)}10%{opacity:.5;transform:scale(.4) translate(5px,-5px);filter:blur(8px)}20%{transform:scale(.5) translate(-8px,3px);filter:blur(6px)}30%{opacity:.7;transform:scale(.6) translate(6px,-4px);filter:blur(5px)}40%{transform:scale(.7) translate(-4px,6px);filter:blur(4px)}50%{opacity:.85;transform:scale(.8) translate(3px,-3px);filter:blur(3px)}60%{transform:scale(.85) translate(-3px,2px);filter:blur(2px)}70%{transform:scale(.9) translate(2px,-2px);filter:blur(1px)}80%{opacity:.95;transform:scale(.95) translate(-1px,1px);filter:blur(.5px)}90%{transform:scale(1.02) translate(1px);filter:blur(0)}to{opacity:1;transform:scale(1) translate(0);filter:blur(0)}}.intro-selector{display:flex;align-items:center;gap:8px}.intro-label{font-size:12px;color:#666}.intro-option{cursor:pointer}.intro-option input{display:none}.intro-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:#1a1a1a;border:2px solid #333;color:#666;font-size:13px;font-weight:600;transition:all .15s}.intro-option:hover .intro-badge{border-color:#555;color:#999}.intro-option input:checked+.intro-badge{background:var(--glitch-teal-bg);border-color:var(--glitch-teal);color:var(--glitch-teal)}.glitch-mascot.cheeky-enter{animation:cheekyEnter 1.2s ease-out forwards}@keyframes cheekyEnter{0%{opacity:1;transform:translate(-200px) rotate(0)}40%{transform:translate(0) rotate(0)}60%{transform:translate(0) rotate(0)}to{opacity:1;transform:translate(0) rotateY(180deg)}}.glitch-mascot.wiggle-butt{animation:wiggleButt .6s ease-in-out forwards}@keyframes wiggleButt{0%,to{transform:rotateY(180deg) rotate(0)}25%{transform:rotateY(180deg) rotate(-8deg)}75%{transform:rotateY(180deg) rotate(8deg)}}.intro-text{font-size:72px;font-weight:800;background:linear-gradient(135deg,#67e8f9,#22d3ee,#14b8a6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:0;transform:translateY(30px) scale(.9);letter-spacing:-1px}.intro-text.animate{animation:textPop .4s cubic-bezier(.34,1.56,.64,1) forwards}.intro-subtext{font-size:36px;color:#94a3b8;letter-spacing:1px;opacity:0;transform:translateY(15px)}.intro-subtext.animate{animation:textFadeUp .4s ease-out forwards}@keyframes textPop{to{opacity:1;transform:translateY(0) scale(1)}}@keyframes textFadeUp{to{opacity:1;transform:translateY(0)}}.tool-btn-glitch{border-color:transparent}.tool-btn-glitch:hover{background:var(--glitch-teal-bg);border-color:var(--glitch-teal)}.flying-glitch{position:fixed;z-index:200;pointer-events:none;opacity:0;display:none}.flying-glitch.bonking{display:block;animation:glitchFlyBonk .6s ease-in forwards}@keyframes glitchFlyBonk{0%{opacity:1;transform:translate(0) rotate(0) scale(.5)}40%{opacity:1;transform:translate(var(--bonk-x),var(--bonk-y)) rotate(360deg) scale(1.2)}50%{transform:translate(var(--bonk-x),var(--bonk-y)) rotate(380deg) scale(1)}to{opacity:0;transform:translate(calc(var(--bonk-x) + 100px),calc(var(--bonk-y) - 50px)) rotate(720deg) scale(.3)}}.webcam-bubble.bonked{animation:bubbleBonked 1.2s ease-out forwards}@keyframes bubbleBonked{0%{transform:translate(0) rotate(0)}10%{transform:translate(-30px,-20px) rotate(-15deg)}20%{transform:translate(50px,-40px) rotate(20deg)}30%{transform:translate(-40px,30px) rotate(-25deg)}40%{transform:translate(30px,-25px) rotate(15deg)}50%{transform:translate(-25px,20px) rotate(-12deg)}60%{transform:translate(20px,-15px) rotate(10deg)}70%{transform:translate(-15px,10px) rotate(-8deg)}80%{transform:translate(10px,-8px) rotate(5deg)}90%{transform:translate(-5px,5px) rotate(-3deg)}to{transform:translate(0) rotate(0)}}.hidden{display:none!important}
