:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:light}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:auto}
*,*:before,*:after{box-sizing:inherit}
[hidden]{display:none!important}
body{margin:0;font:16px/1.3 "Comic Sans MS","Comic Neue",cursive,sans-serif;color:#222;background:linear-gradient(135deg,#19c3a0,#ff9bf0,#ffb86b,#19c3a0);background-size:400% 400%;animation:bg 9s ease-in-out infinite alternate;overflow-x:hidden;cursor:crosshair;transition:filter .3s}
main:hover{animation:bodyWobble 2s ease-in-out infinite}
@keyframes bodyWobble{0%,100%{transform:rotate(0deg) scale(1)}25%{transform:rotate(.5deg) scale(1.01)}50%{transform:rotate(-.3deg) scale(.99)}75%{transform:rotate(.4deg) scale(1.005)}}
@keyframes bg{to{background-position:100% 100%}}
#warn{position:fixed;top:0;left:0;right:0;z-index:60;background:#ff9bf0;border:3px solid #000;font-weight:900;font-size:13px;white-space:nowrap;overflow:hidden;padding:4px 0;padding-top:calc(4px + env(safe-area-inset-top,0px))}
#warn span{display:inline-block;animation:mq 12s linear infinite}
@keyframes mq{from{transform:translateX(100vw)}to{transform:translateX(-100%)}}
#coupon{position:fixed;top:calc(40px + env(safe-area-inset-top,0px));left:8px;z-index:55;background:#ffe600;border:3px dashed #d00;padding:3px 8px;font-weight:900;transform:rotate(-3deg);animation:couponPulse 1.5s infinite}
@keyframes couponPulse{0%,100%{transform:rotate(-3deg) scale(1)}50%{transform:rotate(3deg) scale(1.15)}}
.btn{font:inherit;font-weight:900;background:#ffe600;border:3px solid #000;border-radius:0;padding:6px 12px;box-shadow:4px 4px 0 #000;cursor:pointer;animation:tw .4s infinite;transition:transform .1s}
.btn:hover{animation:tw .15s infinite, btnRainbow 1s linear infinite;filter:hue-rotate(90deg)}
@keyframes btnRainbow{0%{background:#ff0000}16%{background:#ff8800}33%{background:#ffff00}50%{background:#00ff00}66%{background:#0088ff}83%{background:#8800ff}100%{background:#ff0000}}
@keyframes tw{0%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(3px,-3px) rotate(2deg)}50%{transform:translate(-4px,2px) rotate(-2deg)}75%{transform:translate(2px,4px) rotate(1deg)}}
#gear{position:fixed;top:calc(44px + env(safe-area-inset-top,0px));right:8px;z-index:70;border-radius:50%;width:44px;height:44px;padding:0;font-size:22px;background:#333;color:#fff;animation:tw .4s infinite, gearSpin 3s linear infinite}
@keyframes gearSpin{to{rotate:360deg}}
#set{position:fixed;top:calc(96px + env(safe-area-inset-top,0px));right:8px;z-index:70;background:#fff;border:3px solid #000;padding:8px 12px;font-size:14px;animation:settingsFloat 4s ease-in-out infinite}
@keyframes settingsFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}
#set label{display:block;margin:4px 0;cursor:not-allowed}
#set input[type="checkbox"]{pointer-events:none;opacity:.3}
#side{position:fixed;z-index:50;width:160px;background:#0b6b2d;border:3px solid #000;padding:8px;color:#ff9bf0;right:8px;top:120px;transition:left 1.6s ease,top 1.6s ease}
#side h2{margin:0 0 6px;font-size:20px}
.tab{padding:6px;color:#fff;cursor:pointer;border-bottom:1px solid #fff4}
.tab.on{background:#ff9bf0;color:#000;font-weight:900}
#side small{display:block;font-size:11px}
#del{width:100%;direction:rtl}
main{max-width:720px;margin:0 auto 0 12px;padding:90px 8px 40px;position:relative;z-index:1}
#title{font-size:28px;margin:6px 0;animation:titleGlitch 3s infinite}
@keyframes titleGlitch{0%,90%,100%{transform:none;opacity:1}92%{transform:skewX(20deg) translateX(5px);opacity:.8}94%{transform:skewX(-15deg) translateX(-3px);opacity:.6}96%{transform:skewX(10deg);opacity:.9}98%{transform:none;opacity:1}}
.in{display:block;width:100%;font:inherit;padding:8px;margin:8px 0;border:3px solid #000;background:#fffc;transition:transform .3s, width .3s}
.in:focus{transform:rotate(2deg) scale(1.05);border-color:#ff00ff;box-shadow:0 0 20px #ff00ff,0 0 40px #ff00ff;animation:inputShake .1s infinite}
.in::placeholder{font-size:8px;color:#ccc}
@keyframes inputShake{0%,100%{transform:rotate(2deg) scale(1.05)}50%{transform:rotate(-1deg) scale(1.03)}}
.bar{display:flex;gap:10px;margin:8px 0}
ul{list-style:none;padding:0}
li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px;margin:6px 0;background:#fff7;border:2px solid #0003;transition:transform .5s}
li:hover{transform:rotate(1deg) scale(1.02);z-index:10}
li:nth-child(even):hover{transform:rotate(-1.5deg) scale(.98)}
li .task-main{display:flex;align-items:center;gap:10px;flex:1;overflow:hidden}
.cb{width:26px;height:26px;border:3px solid #000;background:#fff;flex:none;display:grid;place-items:center;font-weight:900;transition:transform .25s;cursor:pointer}
.cb:hover{animation:cbDodge .2s forwards}
@keyframes cbDodge{to{transform:translate(40px,-30px) rotate(180deg)}}
.tx{font-weight:900}.tx.done{text-decoration:line-through;opacity:.6;animation:doneWiggle 2s infinite}
@keyframes doneWiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(1deg)}75%{transform:rotate(-1deg)}}
.bounce{animation:bn .8s}
@keyframes bn{0%,100%{transform:translateY(0)}20%{transform:translateY(-18px) rotate(-4deg)}40%{transform:translateY(0)}60%{transform:translateY(-10px) rotate(3deg)}80%{transform:translateY(0)}}
.del-btn{background:#ff4d4d;color:#fff;border:2px solid #000;font-size:11px;font-weight:900;padding:4px 8px;cursor:pointer;flex-shrink:0;box-shadow:2px 2px 0 #000;position:relative;transition:transform 0.15s, left 0.15s, top 0.15s}
.del-btn:hover{background:#ff1a1a}
.hold-bar-container{width:100%;height:16px;background:#eee;border:2px solid #000;margin:12px 0;overflow:hidden;position:relative}
.hold-bar{height:100%;width:0%;background:#ff4d4d;transition:width 0.1s linear}
#foot{margin-top:80vh;font-size:12px;text-align:center}
.ov{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;background:#000a}
.box{position:relative;background:#fff;border:4px solid #000;padding:16px;max-width:90vw;text-align:center;box-shadow:8px 8px 0 #000}
.box h2{margin:0 0 8px}
.grid{display:grid;grid-template-columns:repeat(3,64px);gap:4px;margin:10px auto;justify-content:center}
.sq{height:64px;border:3px solid #000;font-size:34px;display:grid;place-items:center;cursor:pointer;background:#eee;transition:transform .2s}
.sq:hover{transform:rotate(15deg) scale(1.1)}
.sq.sel{background:#ff9bf0;outline:4px solid #19c34a}
#toasts{position:fixed;top:calc(90px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);z-index:1100;display:flex;flex-direction:column;gap:6px;width:min(92vw,360px)}
.toast{background:#111;color:#fff;border:3px solid #ff9bf0;padding:8px 10px;font-weight:700;cursor:pointer;animation:toastSlide .5s ease-out, toastBlink 1s step-end infinite}
@keyframes toastSlide{from{transform:translateX(120%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes toastBlink{50%{opacity:.4}}
#ck{position:fixed;right:8px;bottom:8px;width:min(92vw,300px);z-index:800;background:#ff9bf0;border:3px solid #000;padding:8px;box-shadow:5px 5px 0 #000;background-image:repeating-linear-gradient(45deg,#ff9bf0 0 12px,#fff 12px 24px);animation:cookieBounce 2s infinite}
@keyframes cookieBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}
#ck>div{background:#ff9bf0;padding:6px;border:2px solid #000}
#ck button{display:block;width:100%;margin:6px 0 2px;background:#000;color:#fff;font:inherit;font-weight:900;padding:6px;border:0}
#ck a{font-size:12px;text-decoration:underline;cursor:pointer}
#chatb{position:fixed;left:10px;bottom:56px;width:48px;height:48px;border-radius:50%;background:#19c34a;border:3px solid #000;z-index:700;font-size:22px;cursor:pointer;animation:tw .4s infinite, chatPulse 2s infinite}
@keyframes chatPulse{0%,100%{box-shadow:0 0 0 0 #19c34a}50%{box-shadow:0 0 0 20px #19c34a00}}
#chat{position:fixed;left:10px;bottom:112px;width:min(80vw,260px);background:#fff;border:3px solid #000;z-index:700;padding:8px}
#up{position:fixed;left:10px;bottom:8px;z-index:700;padding:3px 8px;font-size:13px}
#wiz{position:fixed;left:50%;bottom:6px;transform:translateX(-50%);z-index:650;text-align:center;pointer-events:none;font-size:42px;animation:wizFloat 3s ease-in-out infinite}
@keyframes wizFloat{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-20px)}}
#wb{font-size:13px;background:#fff;border:2px solid #000;border-radius:10px;padding:4px 8px;max-width:210px;margin:0 auto}
.eye{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;font-size:22px}
.cf{position:fixed;top:-30px;z-index:960;font-size:22px;pointer-events:none;animation:fall linear forwards}
@keyframes fall{to{transform:translateY(115vh) rotate(720deg)}}
.u{position:fixed;z-index:40;pointer-events:none;transition:left 1.6s,top 1.6s;font-size:12px;display:inline-flex;align-items:flex-start;gap:2px}
.u-cursor{width:18px;height:18px;flex:none;filter:drop-shadow(1px 1px 1px rgba(0,0,0,0.5))}
.u b{background:#000;color:#fff;padding:1px 5px;border-radius:4px;white-space:nowrap;margin-top:10px}

/* Fake ad banner */
#ad-banner{position:fixed;bottom:0;left:0;right:0;z-index:1050;background:linear-gradient(90deg,#ff0000,#ff8800,#ffff00,#00ff00,#0088ff,#8800ff);padding:12px;text-align:center;font-weight:900;font-size:18px;border-top:4px solid #000;animation:adFlash .5s infinite alternate;color:#fff;text-shadow:2px 2px 0 #000}
@keyframes adFlash{to{filter:brightness(1.5)}}
#ad-banner .ad-close{position:absolute;right:4px;top:2px;font-size:6px;color:#fff3;cursor:pointer;border:0;background:none}

/* Spinning loader overlay */
#loader{position:fixed;inset:0;z-index:2000;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transition:opacity .5s}
#loader.done{opacity:0;pointer-events:none}
.spinner{width:60px;height:60px;border:6px solid #eee;border-top:6px solid #ff9bf0;border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
#loader p{font-weight:900;animation:loadTxt 2s infinite}
@keyframes loadTxt{0%,100%{opacity:1}50%{opacity:.3}}

/* Cursor trail */
.trail{position:fixed;pointer-events:none;z-index:9998;font-size:16px;animation:trailFade .8s forwards}
@keyframes trailFade{to{opacity:0;transform:scale(2) rotate(180deg)}}

/* Random notification badge */
#notif-badge{position:fixed;top:calc(38px + env(safe-area-inset-top,0px));right:56px;z-index:75;background:#ff0000;color:#fff;font-size:11px;font-weight:900;padding:2px 6px;border-radius:50%;animation:badgePop .6s infinite alternate;min-width:20px;text-align:center}
@keyframes badgePop{to{transform:scale(1.3)}}

/* Password wall */
#pw-wall{position:fixed;inset:0;z-index:1500;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center}
#pw-wall .pw-box{background:#fff;border:4px solid #000;padding:24px;text-align:center;max-width:90vw;box-shadow:8px 8px 0 #000}
#pw-wall input{font:inherit;padding:8px;border:3px solid #000;margin:8px 0;display:block;width:100%}
#pw-wall .pw-hint{font-size:10px;color:#999;margin-top:4px}

/* Terms and conditions */
#terms{position:fixed;inset:0;z-index:1800;background:#fff;overflow-y:scroll;padding:40px;font-size:11px;line-height:1.8}
#terms h1{font-size:16px}
#terms .accept-row{position:sticky;bottom:0;background:#fff;border-top:3px solid #000;padding:12px;text-align:center}
#terms .accept-row label{font-weight:900;cursor:pointer}

/* Clippy-style helper */
#clippy{position:fixed;right:10px;bottom:60px;z-index:1060;text-align:center;animation:clippyBob 2s ease-in-out infinite}
@keyframes clippyBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
#clippy .clippy-bubble{background:#fffbe6;border:2px solid #000;border-radius:10px;padding:8px;font-size:12px;max-width:180px;margin-bottom:4px;font-weight:700}
#clippy .clippy-char{font-size:50px}

/* Volume slider that controls nothing */
#vol-ctrl{position:fixed;top:50%;right:8px;z-index:65;background:#222;border:2px solid #000;padding:6px;border-radius:8px;color:#fff;font-size:10px;font-weight:900;writing-mode:vertical-lr;display:flex;flex-direction:column;align-items:center;gap:4px;transform:translateY(-50%)}

/* Fake ad banner */
#ad-banner{position:fixed;bottom:0;left:0;right:0;z-index:1050;background:linear-gradient(90deg,#ff0000,#ff8800,#ffff00,#00ff00,#0088ff,#8800ff);padding:12px;text-align:center;font-weight:900;font-size:18px;border-top:4px solid #000;animation:adFlash .5s infinite alternate;color:#fff;text-shadow:2px 2px 0 #000}
@keyframes adFlash{to{filter:brightness(1.5)}}
#ad-banner .ad-close{position:absolute;right:4px;top:2px;font-size:6px;color:#fff3;cursor:pointer;border:0;background:none}

/* Spinning loader overlay */
#loader{position:fixed;inset:0;z-index:2000;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transition:opacity .5s}
#loader.done{opacity:0;pointer-events:none}
.spinner{width:60px;height:60px;border:6px solid #eee;border-top:6px solid #ff9bf0;border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
#loader p{font-weight:900;animation:loadTxt 2s infinite}
@keyframes loadTxt{0%,100%{opacity:1}50%{opacity:.3}}

/* Cursor trail */
.trail{position:fixed;pointer-events:none;z-index:9998;font-size:16px;animation:trailFade .8s forwards}
@keyframes trailFade{to{opacity:0;transform:scale(2) rotate(180deg)}}

/* Random notification badge */
#notif-badge{position:fixed;top:calc(38px + env(safe-area-inset-top,0px));right:56px;z-index:75;background:#ff0000;color:#fff;font-size:11px;font-weight:900;padding:2px 6px;border-radius:50%;animation:badgePop .6s infinite alternate;min-width:20px;text-align:center}
@keyframes badgePop{to{transform:scale(1.3)}}

/* Password wall */
#pw-wall{position:fixed;inset:0;z-index:1500;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center}
#pw-wall .pw-box{background:#fff;border:4px solid #000;padding:24px;text-align:center;max-width:90vw;box-shadow:8px 8px 0 #000}
#pw-wall input{font:inherit;padding:8px;border:3px solid #000;margin:8px 0;display:block;width:100%}
#pw-wall .pw-hint{font-size:10px;color:#999;margin-top:4px}

/* Terms and conditions */
#terms{position:fixed;inset:0;z-index:1800;background:#fff;overflow-y:scroll;padding:40px;font-size:11px;line-height:1.8}
#terms h1{font-size:16px}
#terms .accept-row{position:sticky;bottom:0;background:#fff;border-top:3px solid #000;padding:12px;text-align:center}
#terms .accept-row label{font-weight:900;cursor:pointer}

/* Clippy-style helper */
#clippy{position:fixed;right:10px;bottom:60px;z-index:1060;text-align:center;animation:clippyBob 2s ease-in-out infinite}
@keyframes clippyBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
#clippy .clippy-bubble{background:#fffbe6;border:2px solid #000;border-radius:10px;padding:8px;font-size:12px;max-width:180px;margin-bottom:4px;font-weight:700}
#clippy .clippy-char{font-size:50px}

/* Volume slider that controls nothing */
#vol-ctrl{position:fixed;top:50%;right:8px;z-index:65;background:#222;border:2px solid #000;padding:6px;border-radius:8px;color:#fff;font-size:10px;font-weight:900;writing-mode:vertical-lr;display:flex;flex-direction:column;align-items:center;gap:4px;transform:translateY(-50%)}
.vol-icon{display:inline-flex;align-items:center;justify-content:center}
.vol-icon img{width:16px;height:16px;filter:invert(1)}

/* SVG inline icon helpers */
.svg-icon{display:inline-block;vertical-align:middle;width:18px;height:18px}
.svg-icon-lg{display:inline-block;vertical-align:middle;width:24px;height:24px}
.toast .svg-icon{filter:invert(1);margin-right:6px}
#coupon img{vertical-align:middle;margin-right:4px;width:18px;height:18px}
#ck img{vertical-align:middle;margin-right:4px;width:20px;height:20px}
#chatb img{width:24px;height:24px;display:block;margin:auto}
#pw-wall img{vertical-align:middle;margin-right:6px;width:28px;height:28px}

/* Startup gating */
.startup-hidden{display:none!important}
#cap-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,#2c3e50,#000000)}

