:root{--text:#626873;--text-h:#0a0e17;--bg:#fff;--bg-canvas:#f3f4f6;--border:#e3e5e9;--code-bg:#f2f4f7;--accent:#2563eb;--accent-bg:#2563eb1a;--accent-border:#2563eb80;--social-bg:#f2f4f780;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--bg-canvas:#101116;--border:#2e303a;--code-bg:#1f2028;--accent:#60a5fa;--accent-bg:#60a5fa26;--accent-border:#60a5fa80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#root{box-sizing:border-box;flex-direction:column;min-height:100svh;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.home{box-sizing:border-box;flex-direction:column;flex:1;align-items:center;gap:48px;width:100%;max-width:760px;margin:0 auto;padding:88px 24px 40px;display:flex}.home-intro{text-align:center;flex-direction:column;align-items:center;display:flex}.home-intro .home-brand{background:#fff8ed;border-radius:16px;width:min(100%,360px);margin:0 0 20px;line-height:0;overflow:hidden}.home-logo{width:100%;height:auto;display:block}.home-lead{max-width:560px;font-size:19px;line-height:150%}.home-grid{grid-template-columns:1fr;gap:14px;width:100%;display:grid}@media (width>=561px){.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-card{--card-accent:var(--accent);border:1px solid var(--border);background:var(--bg);color:inherit;border-radius:16px;grid-template-columns:auto 1fr;align-items:center;gap:12px 16px;padding:18px 20px;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid}.app-card:hover,.app-card:focus-visible{border-color:var(--card-accent);box-shadow:var(--shadow);outline:none;transform:translateY(-2px)}.app-card-random{--card-accent:#dc713c;font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}.app-card-random:disabled{opacity:.5;cursor:not-allowed}.app-card-icon{width:64px;height:64px;color:var(--card-accent);background:#fff8ed;border-radius:14px;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.app-card-icon img{object-fit:contain;width:100%;height:100%;display:block}.app-card-body{flex-direction:column;gap:4px;min-width:0;display:flex}.app-card-title{color:var(--text-h);font-size:20px;font-weight:500}.app-card-tagline{font-size:13px;line-height:145%}.home-footer{text-align:center;flex-direction:column;align-items:center;gap:14px;min-height:1.5em;margin-top:auto;font-size:14px;display:flex}.home-footer>p{opacity:.7}.home-footer strong{color:var(--text-h);font-weight:600}.home-author{color:var(--text);text-underline-offset:3px;text-decoration:underline}.home-author:hover{color:var(--text-h)}.home-author:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}@media (width<=560px){.home{gap:36px;padding-top:80px}.app-card{padding:16px 18px}}.home-controls{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));z-index:10;gap:8px;display:flex;position:absolute}.home-controls button{border:1px solid var(--border);width:44px;height:44px;color:var(--text-h);background:var(--bg);cursor:pointer;border-radius:14px;place-items:center;padding:0;display:grid}.home-controls button:hover:not(:disabled){background:var(--code-bg)}.home-controls button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.home-controls button:disabled{opacity:.4;cursor:not-allowed}.home-controls-error{border:1px solid var(--border);background:var(--bg);border-radius:12px;width:min(260px,80vw);padding:12px;font-size:14px;position:absolute;top:52px;right:0}.ideabox-open{border:1px solid var(--border);background:var(--bg);color:var(--text-h);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;transition:border-color .15s,background .15s,transform .1s;display:inline-flex}.ideabox-open:hover{border-color:var(--accent);background:var(--code-bg)}.ideabox-open:active{transform:scale(.98)}.ideabox-open:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.ideabox{border:1px solid var(--border);background:var(--bg);width:min(520px,100vw - 32px);max-width:none;color:var(--text);box-shadow:var(--shadow);border-radius:20px;padding:0}.ideabox::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0e1773}.ideabox[open]{animation:.18s ease-out ideabox-in}@keyframes ideabox-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.ideabox-form{flex-direction:column;gap:14px;padding:22px 24px 20px;display:flex}.ideabox-head{justify-content:space-between;align-items:center;display:flex}.ideabox-head h2{margin:0;font-size:22px}.ideabox-close{width:36px;height:36px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:10px;place-items:center;padding:0;display:grid}.ideabox-close:hover{background:var(--code-bg);color:var(--text-h)}.ideabox-lead{font-size:15px;line-height:145%}.ideabox-text,.ideabox-contact{box-sizing:border-box;border:1px solid var(--border);background:var(--bg-canvas);width:100%;color:var(--text-h);font:inherit;border-radius:12px;outline:none;padding:12px 14px;font-size:16px;line-height:145%;transition:border-color .15s,box-shadow .15s}.ideabox-text{resize:vertical;min-height:120px}.ideabox-text:focus,.ideabox-contact:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.ideabox-text::placeholder,.ideabox-contact::placeholder{color:var(--text);opacity:.6}.ideabox-error{color:#e5484d;font-size:14px}.ideabox-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.ideabox-count{opacity:.6;font-size:12px}.ideabox-send{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:999px;padding:10px 22px;font-size:15px;font-weight:500;transition:opacity .15s,transform .1s}.ideabox-send:hover:not(:disabled){transform:translateY(-1px)}.ideabox-send:disabled{opacity:.45;cursor:default}.ideabox-send:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.ideabox-thanks{text-align:center;color:var(--text-h);padding:24px 0 12px;font-size:17px}.app-shell{flex-direction:column;flex:1;min-height:100svh;display:flex;position:relative}.app-back{z-index:10;width:40px;height:40px;color:var(--text);opacity:.75;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0;text-decoration:none;transition:opacity .15s;display:inline-flex;position:fixed;top:16px;left:16px}.app-back:hover,.app-back:focus-visible{opacity:1;outline:none}.app-back-dark{color:#ffffffd9}.rant-inner{box-sizing:border-box;flex-direction:column;flex:1;gap:20px;width:100%;max-width:720px;margin:0 auto;padding:72px 20px 40px;display:flex}.rant-head{text-align:center}.rant-head h1{letter-spacing:-1px;margin:0 0 12px;font-size:40px}.rant-head p{max-width:520px;margin:0 auto;font-size:16px}.rant-stage{flex:1;min-height:260px;display:flex;position:relative}.rant-textarea{box-sizing:border-box;resize:none;border:1px solid var(--border);background:var(--bg);width:100%;min-height:260px;color:var(--text-h);font:inherit;border-radius:18px;outline:none;flex:1;padding:22px 24px;font-size:20px;line-height:150%;transition:border-color .15s,box-shadow .15s}.rant-textarea:focus{border-color:#f97316;box-shadow:0 0 0 4px #f9731626}.rant-textarea::placeholder{color:var(--text);opacity:.6}.rant-flight{pointer-events:none;color:var(--text-h);white-space:pre-wrap;word-break:break-word;font-size:20px;line-height:150%;position:absolute;inset:22px 24px;overflow:visible}.rant-char{will-change:transform, opacity;animation:1.3s cubic-bezier(.2,.6,.3,1) forwards rant-fly;display:inline-block}@keyframes rant-fly{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}to{transform:translate(var(--dx), var(--dy)) rotate(var(--rot)) scale(.4);opacity:0;filter:blur(2px)}}.rant-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.rant-button{color:#fff;font:inherit;cursor:pointer;background:#f97316;border:none;border-radius:999px;padding:14px 32px;font-size:18px;font-weight:500;transition:transform .12s,background .15s,opacity .15s}.rant-button:hover:not(:disabled){background:#ea680c;transform:translateY(-1px)}.rant-button:active:not(:disabled){transform:scale(.97)}.rant-button:disabled{opacity:.4;cursor:default}.rant-button:focus-visible{outline-offset:2px;outline:3px solid #f9731666}.rant-shortcut{opacity:.6;font-size:13px}.rant-done{text-align:center;min-height:1.5em;color:var(--text-h);opacity:0;transition:opacity .4s,transform .4s;transform:translateY(6px)}.rant-done-visible{opacity:1;transform:translateY(0)}.rant-counter{text-align:center;opacity:.6;font-size:13px}@media (width<=560px){.rant-inner{padding-top:64px}.rant-head h1{font-size:32px}.rant-textarea,.rant-flight{font-size:18px}}.gradient{background:#111;overflow:hidden}.gradient-canvas{cursor:pointer;touch-action:none;display:block;position:fixed;inset:0}.gradient-hint{color:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;white-space:nowrap;background:#0000004d;border-radius:999px;padding:10px 18px;font-size:14px;transition:opacity .8s;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.gradient-hint-hidden{opacity:0}.toggle{--toggle-bg:#f6f2ea;--toggle-fg:#2a2622;--toggle-track:#ddd6c8;--toggle-knob:#fffdf8;background:var(--toggle-bg);color:var(--toggle-fg);transition:background .55s cubic-bezier(.4,0,.2,1),color .55s}.toggle-on{--toggle-bg:#0f1115;--toggle-fg:#e8e6e1;--toggle-track:#3a3f4b;--toggle-knob:#f4f4f5}.toggle .app-back{color:var(--toggle-fg)}.toggle-center{-webkit-user-select:none;user-select:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:28px;padding:24px;display:flex}.toggle-switch{background:var(--toggle-track);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:999px;width:168px;height:88px;padding:0;transition:background .45s,transform .12s;position:relative;box-shadow:inset 0 2px 6px #0000002e,0 12px 30px #0000001f}.toggle-switch:active{transform:scale(.97)}.toggle-switch:focus-visible{outline:3px solid color-mix(in srgb, var(--toggle-fg) 45%, transparent);outline-offset:4px}.toggle-knob{background:var(--toggle-knob);border-radius:50%;width:72px;height:72px;transition:transform .4s cubic-bezier(.34,1.4,.64,1),background .45s;position:absolute;top:8px;left:8px;box-shadow:0 4px 12px #00000040}.toggle-on .toggle-knob{transform:translate(80px)}.toggle-caption{letter-spacing:-.5px;color:var(--toggle-fg);font-size:28px;font-weight:500}.toggle-sub{opacity:.6;min-height:1.5em;font-size:15px}.mosaic{background:#fff;overflow:hidden}.mosaic .app-back{color:#4b5563}.mosaic-canvas{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;display:block;position:fixed;top:0;left:0}.mosaic-mode{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffd9;border:1px solid #00000014;border-radius:999px;gap:2px;padding:4px;display:inline-flex;position:fixed;top:16px;right:16px;box-shadow:0 4px 14px #00000014}.mosaic-mode-btn{color:#4b5563;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:8px;padding:7px 14px 7px 10px;font-size:14px;transition:background .15s,color .15s;display:inline-flex}.mosaic-mode-btn:hover{color:#111827}.mosaic-mode-btn:focus-visible{outline-offset:2px;outline:2px solid #111827}.mosaic-mode-active{color:#fff;background:#111827}.mosaic-mode-active:hover{color:#fff}.mosaic-swatch{border-radius:50%;width:14px;height:14px;box-shadow:inset 0 0 0 1px #fff6}.mosaic-swatch-rainbow{background:conic-gradient(#f43f5e,#f59e0b,#22c55e,#06b6d4,#6366f1,#f43f5e)}.mosaic-swatch-mono{background:linear-gradient(135deg,#111 0%,#888 50%,#ddd 100%)}.mosaic-status{z-index:10;color:#374151;text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffd9;border:1px solid #00000014;border-radius:999px;max-width:calc(100vw - 32px);padding:8px 16px;font-size:13px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.mosaic-rounds{opacity:.6}@media (width<=480px){.mosaic-mode-btn{padding:7px 10px;font-size:13px}}.kvatrix{background:var(--bg-canvas)}.kvatrix-layout{box-sizing:border-box;flex-direction:column;flex:1;align-items:center;gap:16px;min-height:100svh;padding:64px 16px 20px;display:flex}.kvatrix-board-wrap{flex:1;justify-content:center;align-items:center;width:100%;max-width:420px;min-height:0;display:flex}.kvatrix-board{background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow);touch-action:none;border-radius:12px;display:block}.kvatrix-controls{gap:10px;display:flex}.kvatrix-btn{border:1px solid var(--border);background:var(--bg);width:56px;height:48px;color:var(--text-h);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:14px;justify-content:center;align-items:center;transition:transform 80ms,background .15s;display:inline-flex}.kvatrix-btn:hover{background:var(--code-bg)}.kvatrix-btn:active{transform:scale(.94)}.kvatrix-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kvatrix-hint{text-align:center;opacity:.7;min-height:1.5em;font-size:13px;transition:opacity .6s}.kvatrix-hint-hidden{opacity:0}@media (width<=560px){.kvatrix-layout{gap:12px;padding-top:56px}.kvatrix-btn{width:64px;height:52px}}.daily-smile{background:#fff8ed}.daily-smile-center{flex:1;place-items:center;padding:80px 24px;display:grid}.daily-smile-sun{-webkit-user-select:none;user-select:none;transform-origin:50% 75%;width:min(68vw,52svh,360px);height:auto;animation:12s ease-in-out infinite daily-smile-sway;display:block}@keyframes daily-smile-sway{0%,25%,65%,to{transform:rotate(0)}38%{transform:rotate(7deg)}52%{transform:rotate(-7deg)}}@media (prefers-reduced-motion:reduce){.daily-smile-sun{animation:none}}.cica{cursor:none;background:#fff8ed;overflow:hidden}.cica .app-back{cursor:pointer;color:#5a3a6b}.cica-canvas{touch-action:none;-webkit-user-select:none;user-select:none;display:block;position:fixed;inset:0}.cica-hint{color:#5a3a6b;white-space:nowrap;pointer-events:none;background:#5a3a6b14;border-radius:999px;padding:8px 16px;font-size:13px;transition:opacity .6s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.cica-hint-hidden{opacity:0}@media (hover:none){.cica{cursor:auto}}.kavics{background:#efe3cf;overflow:hidden}.kavics .app-back{color:#5a3a2b}.kavics-canvas{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;display:block;position:fixed;inset:0}.kavics-smooth{z-index:10;color:#5a3a2b;font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffaf0d9;border:1px solid #5a3a2b26;border-radius:999px;padding:8px 16px;font-size:14px;transition:background .15s,transform .1s;position:fixed;top:16px;right:16px}.kavics-smooth:hover{background:#fffaf0}.kavics-smooth:active{transform:scale(.96)}.kavics-smooth:focus-visible{outline-offset:2px;outline:2px solid #5a3a2b}.kavics-hint{color:#5a3a2b;white-space:nowrap;pointer-events:none;background:#5a3a2b14;border-radius:999px;padding:8px 16px;font-size:13px;transition:opacity .6s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.kavics-hint-hidden{opacity:0}.kikipalo{background:var(--bg);overflow:hidden}.kikipalo-center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:28px;padding:80px 24px;display:flex}.kikipalo-intro{color:var(--text)}.kikipalo-label{cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:24px;display:flex;position:relative}.kikipalo-label input{opacity:0;width:1px;height:1px;position:absolute}.kikipalo-box{aspect-ratio:1;color:#fff8ed;background:#fff8ed;border:7px solid #8b9d78;border-radius:32px;place-items:center;width:clamp(140px,38vw,220px);transition:background .18s;display:grid}.kikipalo-box svg{visibility:hidden;width:72%;height:72%}.kikipalo-label input:checked+.kikipalo-box{background:#718660}.kikipalo-label input:checked+.kikipalo-box svg{visibility:visible}.kikipalo-label input:focus-visible+.kikipalo-box{outline:3px solid var(--accent);outline-offset:8px}.kikipalo-caption{color:var(--text-h);font-size:clamp(26px,6vw,36px)}.kikipalo-result{min-height:1.5em;color:var(--text-h)}.kikipalo-celebrating .kikipalo-box{animation:.65s kikipalo-pop}.kikipalo-confetti{pointer-events:none;position:fixed;inset:0;overflow:hidden}.kikipalo-confetti span{opacity:0;width:9px;height:15px;animation:kikipalo-burst 2.2s var(--delay) ease-out forwards;border-radius:3px;position:absolute;top:50%;left:50%}@keyframes kikipalo-pop{0%,to{transform:scale(1)}40%{transform:scale(1.1)rotate(-5deg)}70%{transform:scale(.98)rotate(3deg)}}@keyframes kikipalo-burst{0%{opacity:1;transform:translate(0)rotate(0)}40%{opacity:1;transform:translate(var(--x), var(--y)) rotate(var(--spin))}to{opacity:0;transform:translate(var(--x), calc(var(--y) + 440px)) rotate(calc(var(--spin) * 2))}}@media (prefers-reduced-motion:reduce){.kikipalo-celebrating .kikipalo-box,.kikipalo-confetti span{animation:none}.kikipalo-box{transition:none}}.infinite-scroll{background:#f4e4ca}.infinite-scroll .app-back{color:#593957;background:#fff8edcc}.infinite-scroll-viewport{overflow-anchor:none;overscroll-behavior-y:none;scrollbar-width:none;color:#593957;position:fixed;inset:0;overflow:hidden auto}.infinite-scroll-viewport::-webkit-scrollbar{display:none}.infinite-scroll-viewport:focus-visible{outline-offset:-4px;outline:2px solid #593957}.infinite-scroll-section{box-sizing:border-box;text-align:center;place-items:center;padding:80px 28px;display:grid;position:relative;overflow:hidden}.infinite-scroll-intro{flex-direction:column;align-items:center;gap:20px;display:flex;position:relative}.infinite-scroll-intro h1{color:#593957;margin:0;font-family:Georgia,serif;font-size:clamp(42px,9vw,72px)}.infinite-scroll-message{max-width:480px;font:clamp(24px,5vw,36px)/1.4 Georgia,serif;position:relative}.infinite-scroll-art{aspect-ratio:1;opacity:.12;width:min(70vw,380px);position:absolute}.infinite-scroll-art span{border:2px solid #593957;border-radius:45% 55% 65% 35%;position:absolute;inset:0}.infinite-scroll-art span:nth-child(2){inset:20px;transform:rotate(30deg)}.infinite-scroll-art span:nth-child(3){inset:40px;transform:rotate(60deg)}.page{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.page a{color:var(--accent)}button{-webkit-tap-highlight-color:transparent}
