*{box-sizing:border-box}:root{--pink-100: #ffd1e3;--pink-300: #ff8fb8;--pink-500: #ff4d8d;--pink-700: #c2145b;--wine: #59002a;--ink: #0b0008;--term-bg: rgba(14, 2, 10, .78);--term-border: rgba(255, 122, 170, .28);--text: #ffe9f2;--muted: #d99ab5}html,body,#root{height:100%;margin:0}body{font-family:Poppins,system-ui,-apple-system,sans-serif;color:var(--text);overflow-x:hidden;background:#0b0008}code{font-family:JetBrains Mono,monospace;background:#ff4d8d2e;border:1px solid rgba(255,77,141,.35);padding:1px 7px;border-radius:6px;color:#ffd1e3}.stage{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 18px;position:relative;cursor:text}.bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden}.bg-base{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(1100px 600px at 15% 10%,rgba(255,77,141,.55),transparent 60%),radial-gradient(900px 700px at 85% 20%,rgba(194,20,91,.6),transparent 62%),radial-gradient(1000px 800px at 50% 100%,rgba(89,0,42,.9),transparent 65%),linear-gradient(135deg,#ff9ebb,#ff4d8d 22%,#3d051d 52%,#0b0008 78%,#1c020f)}.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.75;animation:drift 12s ease-in-out infinite alternate}.blob-1{width:480px;height:480px;left:-120px;top:-120px;background:radial-gradient(circle at 30% 30%,#ffc2da,#ff4d8d 60%,transparent 72%)}.blob-2{width:560px;height:560px;right:-140px;top:8%;background:radial-gradient(circle at 60% 40%,#ff5c9e,#59002a 62%,transparent 74%);animation-delay:-4s}.blob-3{width:700px;height:420px;left:50%;bottom:-160px;transform:translate(-50%);background:radial-gradient(ellipse at center,rgba(0,0,0,.85),rgba(89,0,42,.55) 60%,transparent 75%);filter:blur(60px);animation:none}.noise{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.14;background-image:radial-gradient(rgba(255,255,255,.35) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:radial-gradient(80% 80% at 50% 40%,black,transparent);mask-image:radial-gradient(80% 80% at 50% 40%,black,transparent)}@keyframes drift{0%{transform:translateY(-18px) scale(1)}to{transform:translateY(22px) scale(1.06)}}.page-head{text-align:center;margin-bottom:22px;text-shadow:0 4px 30px rgba(0,0,0,.45)}.logo{display:flex;align-items:center;justify-content:center;gap:12px}.logo-heart{font-size:40px;filter:drop-shadow(0 6px 20px rgba(255,77,141,.8));animation:beat 1.6s ease-in-out infinite}@keyframes beat{0%,to{transform:scale(1)}25%{transform:scale(1.15)}45%{transform:scale(1)}}.page-head h1{margin:0;font-size:clamp(32px,5vw,52px);font-weight:600;letter-spacing:.5px;color:#fff}.page-head h1 span{background:linear-gradient(90deg,#fff,#ffd1e3);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:600}.subtitle{margin:6px 0 0;color:#ffe9f2d9;font-size:14px}.term-window{width:min(880px,100%);border-radius:18px;overflow:hidden;background:var(--term-bg);border:1px solid var(--term-border);box-shadow:0 30px 80px #0000008c,0 0 0 1px #0006,0 0 60px #ff4d8d59,inset 0 1px #ffffff1f;backdrop-filter:blur(22px) saturate(1.2);-webkit-backdrop-filter:blur(22px) saturate(1.2)}.term-titlebar{display:flex;align-items:center;gap:14px;padding:12px 16px;background:linear-gradient(180deg,#ff4d8d38,#59002a59);border-bottom:1px solid rgba(255,122,170,.22);font-family:JetBrains Mono,monospace;font-size:13px}.title{flex:1;text-align:center;color:#ffdbe9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title-heart{color:var(--pink-500);margin-right:6px}.window-controls{display:flex;align-items:center;gap:6px;margin-left:auto}.win-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:26px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:#ffc9dd;cursor:pointer;opacity:.85;transition:background .15s ease,color .15s ease,border-color .15s ease,opacity .15s ease}.win-btn:hover{background:#ff4d8d38;border-color:#ff7aaa66;color:#fff;opacity:1}.win-btn:active{transform:translateY(1px)}.win-close:hover{background:#ff4d8d59;border-color:#ff4d8d99}.term-window.maximized{width:min(1100px,100%)}.term-window.maximized .term-body{height:min(72vh,640px)}.term-body{height:min(52vh,480px);min-height:320px;overflow-y:auto;padding:18px 18px 10px;font-family:JetBrains Mono,monospace;font-size:14px;line-height:1.65;text-shadow:0 0 12px rgba(255,77,141,.25)}.term-body::-webkit-scrollbar{width:10px}.term-body::-webkit-scrollbar-track{background:transparent}.term-body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--pink-500),var(--wine));border-radius:8px;border:2px solid rgba(14,2,10,.8)}.line{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;margin-bottom:2px;word-break:break-word}.prompt{white-space:nowrap;-webkit-user-select:none;user-select:none}.prompt-heart{color:var(--pink-500);margin-right:6px}.prompt-user{color:#ff8fb8;font-weight:700}.prompt-at{color:#8d6b7d}.prompt-host{color:#e98bb6;font-weight:500}.prompt-colon{color:#8d6b7d}.prompt-path{color:#9d7bff;font-weight:700}.prompt-dollar{color:#ffe9f2;margin-left:6px}.echo{color:#fff}.output{color:#ffdbe9;white-space:pre-wrap}.output a{color:#8fd3ff;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.output a:hover{color:#fff}.output-line{display:block}.banner-line{display:block;margin-bottom:12px}.ascii{margin:0 0 12px;font-size:clamp(4px,1.15vw,9.5px);line-height:1.3;color:#ff8fb8;text-shadow:0 0 18px rgba(255,77,141,.8);overflow-x:auto;white-space:pre}.welcome{color:#ffe9f2}.welcome-help{color:#ffcfe2}.welcome-help:before{content:"♥ ";color:var(--pink-500)}.input-line{align-items:baseline}.input-wrap{flex:1;min-width:120px;display:flex}.term-input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-family:JetBrains Mono,monospace;font-size:14px;line-height:1.65;caret-color:var(--pink-500)}.term-statusbar{display:flex;align-items:center;gap:8px;padding:9px 16px;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--muted);background:#00000059;border-top:1px solid rgba(255,122,170,.18)}.term-statusbar .sep{opacity:.5}.page-foot{margin-top:16px;font-size:13px;color:#ffe9f2cc}@media(max-width:600px){.stage{padding:24px 12px}.term-body{font-size:13px;padding:14px 12px}.ascii{font-size:4.6px}.term-titlebar{font-size:12px;padding:10px 12px}}.game-line{display:block;margin:10px 0 6px}.game-panel{border:1px solid rgba(255,122,170,.35);border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#2e0418eb,#0e020af0);box-shadow:0 0 34px #ff4d8d47,inset 0 1px #ffffff14;font-family:JetBrains Mono,monospace}.game-hud{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:13px;color:#ffdbe9;background:#ff4d8d1a;border-bottom:1px solid rgba(255,122,170,.22)}.game-score{font-weight:700;color:#fff;white-space:nowrap}.game-timer{flex:1;height:8px;min-width:60px;border-radius:6px;background:#ffffff1f;overflow:hidden}.game-timer-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--pink-500),var(--pink-300));box-shadow:0 0 10px #ff4d8dcc;transition:width .3s linear}.game-time,.game-best{white-space:nowrap;color:var(--muted);font-size:12px}.game-canvas-wrap{position:relative}.game-canvas{display:block;cursor:crosshair;touch-action:none;background:radial-gradient(300px 160px at 20% 0%,rgba(255,77,141,.18),transparent 70%),radial-gradient(340px 180px at 85% 30%,rgba(194,20,91,.22),transparent 70%),transparent}.game-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0b0008b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:16px}.game-over-card{text-align:center;padding:22px 30px;border-radius:16px;background:#1e0311f2;border:1px solid rgba(255,122,170,.4);box-shadow:0 0 44px #ff4d8d66;max-width:340px}.game-over-emoji{font-size:42px;animation:beat 1.6s ease-in-out infinite}.game-over-card h2{margin:8px 0 4px;font-size:22px;color:#fff}.game-final-score{margin:4px 0;font-size:16px;color:#ffd1e3}.game-final-sub{margin:4px 0;font-size:12px;color:var(--muted)}.game-final-msg{margin:8px 0 14px;font-size:13px;color:#ffe9f2}.game-btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.game-btn{font-family:JetBrains Mono,monospace;font-size:13px;padding:8px 16px;border-radius:10px;border:1px solid rgba(255,122,170,.45);background:#ff4d8d24;color:#ffe9f2;cursor:pointer;transition:background .15s ease,transform .1s ease}.game-btn:hover{background:#ff4d8d4d}.game-btn:active{transform:translateY(1px)}.game-btn.primary{background:linear-gradient(180deg,#ff5c9e,#c2145b);border-color:#ffffff40;color:#fff;font-weight:700;box-shadow:0 4px 18px #ff4d8d73}.game-btn.primary:hover{filter:brightness(1.1)}.game-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;font-size:11px;color:var(--muted);background:#0000004d;border-top:1px solid rgba(255,122,170,.18)}.game-quit{font-family:JetBrains Mono,monospace;font-size:11px;padding:4px 12px;border-radius:8px;border:1px solid rgba(255,122,170,.35);background:transparent;color:#ffc9dd;cursor:pointer}.game-quit:hover{background:#ff4d8d38;color:#fff}.snake-wrap{display:flex;justify-content:center;padding:12px 12px 4px}.snake-canvas{max-width:460px;border-radius:12px;border:1px solid rgba(255,122,170,.25);background:radial-gradient(220px 140px at 50% 0%,rgba(255,77,141,.12),transparent 70%),#00000040;box-shadow:inset 0 0 30px #00000073;touch-action:none}.game-length{white-space:nowrap;color:var(--muted);font-size:12px}.snake-pad{display:none;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(2,44px);gap:6px;justify-content:center;padding:10px 0 2px}.snake-pad button{font-family:JetBrains Mono,monospace;font-size:16px;border-radius:12px;border:1px solid rgba(255,122,170,.4);background:#ff4d8d24;color:#ffd1e3;cursor:pointer;touch-action:manipulation}.snake-pad button:active{background:#ff4d8d59}@media(pointer:coarse){.snake-pad{display:grid}}.tetris-body{display:flex;gap:12px;justify-content:center;align-items:flex-start;padding:12px}.tetris-wrap{padding:0}.tetris-canvas{display:block;border-radius:12px;border:1px solid rgba(255,122,170,.25);background:radial-gradient(200px 140px at 50% 0%,rgba(255,77,141,.12),transparent 70%),#00000040;box-shadow:inset 0 0 30px #00000073;touch-action:none}.tetris-side{display:flex;flex-direction:column;gap:10px;min-width:108px}.tetris-box{border:1px solid rgba(255,122,170,.3);border-radius:12px;padding:8px;text-align:center;background:#ff4d8d12}.tetris-label{font-size:11px;color:var(--muted);margin-bottom:6px}.tetris-next{display:block;margin:0 auto}.tetris-value{font-size:20px;font-weight:700;color:#fff}.tetris-keys{font-size:10.5px;line-height:1.7;color:var(--muted);border:1px solid rgba(255,122,170,.2);border-radius:12px;padding:8px;background:#00000040}.tetris-pad{display:flex;gap:8px;justify-content:center;padding:4px 12px 10px;flex-wrap:wrap}.tetris-pad button{font-family:JetBrains Mono,monospace;font-size:16px;min-width:52px;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,122,170,.4);background:#ff4d8d24;color:#ffd1e3;cursor:pointer;touch-action:manipulation}.tetris-pad button:active{background:#ff4d8d59}.tetris-pad button.wide{font-size:13px}@media(max-width:520px){.tetris-body{flex-direction:column;align-items:center}.tetris-side{flex-direction:row;align-items:stretch;width:100%;justify-content:center}.tetris-keys{display:none}}.pong-wrap{display:flex;justify-content:center;padding:12px}.pong-canvas{max-width:640px;border-radius:12px;border:1px solid rgba(255,122,170,.25);background:radial-gradient(280px 160px at 50% 0%,rgba(255,77,141,.12),transparent 70%),#00000040;box-shadow:inset 0 0 30px #00000073;touch-action:none;cursor:ns-resize}.game-dim{opacity:.45}.zipzip-wrap{display:flex;justify-content:center;padding:12px}.zipzip-canvas{max-width:480px;border-radius:12px;border:1px solid rgba(255,122,170,.25);background:radial-gradient(240px 150px at 50% 0%,rgba(255,77,141,.12),transparent 70%),#00000040;box-shadow:inset 0 0 30px #00000073;touch-action:none;cursor:pointer}.game-overlay-soft{background:#0b000873}.yakala-grid-wrap{position:relative;padding:14px}.yakala-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:430px;margin:0 auto}.yakala-hole{position:relative;aspect-ratio:1;border-radius:16px;border:1px solid rgba(255,122,170,.25);background:radial-gradient(circle at 50% 78%,#000000a6 0,#000000a6 26%,#ff4d8d1a 27%,#ff4d8d0a 70%);cursor:pointer;overflow:hidden;padding:0;font-family:inherit;touch-action:manipulation;transition:border-color .15s ease,box-shadow .15s ease}.yakala-hole.up{border-color:#ff7aaa99;box-shadow:0 0 18px #ff4d8d59}.yakala-hole.good{border-color:#7dff9e;box-shadow:0 0 22px #7dff9e8c}.yakala-hole.bad{border-color:#ff5f57;box-shadow:0 0 22px #ff5f5799;animation:shake .2s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.yakala-mole{font-size:clamp(34px,8vw,52px);line-height:1;display:inline-block;transform:translateY(110%) scale(.5);transition:transform .16s ease-out;filter:drop-shadow(0 4px 12px rgba(255,77,141,.6))}.yakala-hole.up .yakala-mole{transform:translateY(0) scale(1)}.yakala-num{position:absolute;right:8px;bottom:6px;font-family:JetBrains Mono,monospace;font-size:11px;color:#d99ab5b3}.balon-wrap{display:flex;justify-content:center;padding:12px}.balon-canvas{max-width:640px;border-radius:12px;border:1px solid rgba(255,122,170,.25);background:radial-gradient(280px 160px at 50% 100%,rgba(255,77,141,.12),transparent 70%),#00000040;box-shadow:inset 0 0 30px #00000073;touch-action:none;cursor:crosshair}.game-combo{white-space:nowrap;font-size:12px;color:var(--muted)}.game-combo.hot{color:#ffd166;font-weight:700;text-shadow:0 0 12px rgba(255,209,102,.8);animation:beat .8s ease-in-out infinite}
