:root{--bg:#03090c;--pn:rgba(7,22,28,.72);--ln:rgba(34,211,238,.16);--ac:#22d3ee;--ac2:#5eead4}*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;background:var(--bg) linear-gradient(rgba(34,211,238,.04) 1px,transparent 1px) 0 0/46px 46px;background-image:linear-gradient(rgba(34,211,238,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.04) 1px,transparent 1px);background-size:46px 46px}body{color:#e6f4f7;font:16px/1.65 DM Sans,system-ui,sans-serif;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}body:before{content:"";position:fixed;width:620px;height:620px;left:calc(var(--mx,50vw) - 310px);top:calc(var(--my,15vh) - 310px);background:radial-gradient(circle,rgba(34,211,238,.11),transparent 65%);pointer-events:none;transition:left .5s,top .5s;z-index:0}#top,#home,main,footer{width:100%;max-width:1000px;margin:0 auto;padding-left:20px;padding-right:20px;position:relative;z-index:1}#top{display:flex;align-items:center;gap:16px;padding-top:22px;padding-bottom:22px}.brand{font:700 1.5rem Chakra Petch,sans-serif;color:#fff;text-decoration:none;letter-spacing:.02em;margin-right:auto}.brand:after{content:"_";color:var(--ac);animation:blink 1s steps(1) infinite}.status{color:#6b8d95;font:.75rem IBM Plex Mono,monospace;text-align:right}.hero{padding:70px 0 54px;position:relative;isolation:isolate}.hero:before{content:"";position:absolute;z-index:-1;top:-90px;bottom:0;left:50%;width:100vw;margin-left:-50vw;background:linear-gradient(180deg,rgba(3,9,12,.55),rgba(3,9,12,.78) 60%,var(--bg)),url(hero.jpg) center 20%/cover}.tag{color:var(--ac);font:.78rem IBM Plex Mono,monospace;letter-spacing:.14em;margin-bottom:14px}h1{font:700 clamp(2.6rem,9vw,5.2rem)/1.04 "Chakra Petch",sans-serif;letter-spacing:-.01em;color:#fff}h1 em{font-style:normal;background:linear-gradient(90deg,var(--ac),var(--ac2));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(34,211,238,.45))}.lead{color:#9fc0c8;max-width:540px;margin:22px 0 28px;font-size:1.05rem}.belt{border:1px solid var(--ln);border-left:0;border-right:0;overflow:hidden;white-space:nowrap;padding:12px 0;background:#22d3ee0a}.belt div{display:inline-block;animation:slide 32s linear infinite}.belt span{margin-right:34px;color:#7fa6af;font:.74rem IBM Plex Mono,monospace;letter-spacing:.14em;text-transform:uppercase}.belt span:after{content:"//";margin-left:34px;color:var(--ac)}@keyframes slide{to{transform:translate(-50%)}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}@keyframes blink{50%{opacity:.25}}.find{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:40px 0 12px}.find h2{margin:0}.find h2 span{font:.85rem IBM Plex Mono,monospace;color:var(--ac)}.find input{max-width:280px;margin:0}#chips{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:18px}.chip{background:none;color:#8db0b8;border:1px solid var(--ln);border-radius:6px;padding:7px 15px;font:.82rem IBM Plex Mono,monospace;cursor:pointer;transition:all .2s}.chip:hover{color:#fff;border-color:var(--ac)}.chip.on{background:var(--ac);color:#021014;border-color:var(--ac)}#grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;padding-bottom:46px}.card{position:relative;overflow:hidden;text-align:left;color:#fff;font:inherit;cursor:pointer;background:var(--pn);backdrop-filter:blur(6px);border:1px solid var(--ln);border-radius:14px;padding:24px 22px;min-height:200px;display:flex;flex-direction:column;gap:4px;transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .15s,border-color .25s,box-shadow .25s;animation:rise .6s backwards;animation-delay:calc(var(--i)*50ms)}.card:before{content:"";position:absolute;inset:0;background:radial-gradient(300px circle at var(--x,50%) var(--y,50%),rgba(34,211,238,.2),transparent 70%);opacity:0;transition:opacity .25s;pointer-events:none}.card:after{content:"";position:absolute;inset:7px;pointer-events:none;opacity:.3;transition:opacity .25s;background:linear-gradient(var(--ac),var(--ac)) 0 0/14px 1px,linear-gradient(var(--ac),var(--ac)) 0 0/1px 14px,linear-gradient(var(--ac),var(--ac)) 100% 0/14px 1px,linear-gradient(var(--ac),var(--ac)) 100% 0/1px 14px,linear-gradient(var(--ac),var(--ac)) 0 100%/14px 1px,linear-gradient(var(--ac),var(--ac)) 0 100%/1px 14px,linear-gradient(var(--ac),var(--ac)) 100% 100%/14px 1px,linear-gradient(var(--ac),var(--ac)) 100% 100%/1px 14px;background-repeat:no-repeat}.card:hover{border-color:#22d3ee8c;box-shadow:0 0 40px -12px #22d3ee80}.card:hover:before{opacity:1}.card:hover:after{opacity:1}.card:active{transform:scale(.98)}.led{position:absolute;top:20px;right:20px;width:8px;height:8px;border-radius:50%;background:var(--ac2);box-shadow:0 0 10px var(--ac2);animation:blink 2.2s infinite}.card .ic{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;margin-bottom:14px;background:#22d3ee12;border:1px solid var(--ln);transition:transform .3s,box-shadow .3s,border-color .3s;position:relative}.card .ic svg{width:28px;height:28px;fill:none;stroke:var(--ac);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.card:hover .ic{transform:translateY(-4px);box-shadow:0 0 24px #22d3ee66;border-color:var(--ac)}.card small{color:#5f8790;font:.72rem IBM Plex Mono,monospace;letter-spacing:.1em;position:relative}.card b{font:600 1.35rem/1.2 Chakra Petch,sans-serif;position:relative}.card .ds{color:#86a9b1;font-size:.9rem;position:relative}.card .go2{margin-top:auto;padding-top:12px;color:var(--ac);font:.82rem IBM Plex Mono,monospace;opacity:.7;transition:opacity .25s;position:relative}.card .go2:after{content:" >>";display:inline-block;transition:transform .25s}.card:hover .go2{opacity:1}.card:hover .go2:after{transform:translate(8px)}.dev{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;background:var(--pn);border:1px solid var(--ln);border-radius:18px;padding:32px;margin-bottom:44px}.pf{position:relative;width:112px;height:112px;border-radius:50%;padding:3px;background:conic-gradient(from var(--a,0deg),var(--ac),#fff,#0ea5e9,var(--ac));animation:spin 6s linear infinite}.pf span,.pf img{position:absolute;inset:3px;width:calc(100% - 6px);height:calc(100% - 6px);border-radius:50%}.pf span{display:grid;place-items:center;background:#06161b;font:700 2.2rem Chakra Petch,sans-serif;color:var(--ac)}.pf img{object-fit:cover}@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes spin{to{--a:360deg}}.dev h3{font:700 1.9rem Chakra Petch,sans-serif;margin-bottom:4px}.dev p{color:#9fc0c8;margin-bottom:12px}@media(max-width:560px){.dev{grid-template-columns:1fr;padding:22px}}.back{background:none;border:0;color:#6b8d95;font:.85rem IBM Plex Mono,monospace;cursor:pointer;padding:6px 0;margin-bottom:26px}.back:before{content:"<< "}.back:hover{color:var(--ac)}main{flex:1;padding-bottom:40px;max-width:760px}section{display:none}section.on{display:block}h2{font:700 clamp(1.8rem,5vw,2.6rem)/1.15 "Chakra Petch",sans-serif;margin-bottom:8px}.sub{color:#86a9b1;margin-bottom:20px}input,textarea,select{width:100%;background:#030e12cc;color:#fff;border:1px solid #17343c;border-radius:10px;padding:13px 15px;font:inherit;margin-bottom:10px}input[type=range]{padding:0;accent-color:var(--ac)}textarea{min-height:120px;resize:vertical}input:focus,textarea:focus,select:focus{outline:0;border-color:var(--ac);box-shadow:0 0 0 3px #22d3ee2e}button:focus-visible,a:focus-visible{outline:2px solid var(--ac);outline-offset:2px}.go{background:var(--ac);color:#021014;border:0;border-radius:8px;padding:12px 26px;font:700 .95rem Chakra Petch,sans-serif;cursor:pointer;text-decoration:none;display:inline-block;margin-right:8px;transition:box-shadow .2s}.go:hover{box-shadow:0 0 24px #22d3ee8c}.alt{background:none;color:#fff;border:1px solid #2a5560;border-radius:8px;padding:11px 18px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block;margin:0 8px 8px 0}.alt:hover{border-color:var(--ac);color:var(--ac)}.out{margin-top:20px}.v{font:700 1.3rem Chakra Petch,sans-serif;padding:14px 18px;border-radius:10px;border-left:4px solid;background:#030e12cc}.bad{border-color:#ff4d4d;color:#ff8080}.mid{border-color:#ffb347;color:#ffb347}.ok{border-color:#43e29a;color:#6ef0b0}ul.n{margin:14px 0 0 20px}ul.n li{margin-bottom:7px;color:#b4cdd3}.row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #12292f;cursor:pointer}.row input{width:auto;margin:6px 0 0;accent-color:var(--ac)}.row.done span{color:#58757c;text-decoration:line-through}.line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 6px;border-bottom:1px solid #12292f;color:#fff;text-decoration:none}.line b{font:700 1.5rem Chakra Petch,sans-serif;color:var(--ac)}.line span{color:#8fb0b8;text-align:right}.line:hover{background:#22d3ee0f}.call{display:block;text-align:center;background:#ff4d4d;color:#000;font:700 1.15rem Chakra Petch,sans-serif;padding:15px;border-radius:10px;text-decoration:none;margin-bottom:16px}.q{background:var(--pn);border:1px solid var(--ln);border-radius:14px;padding:20px;margin-bottom:12px}.hint{color:#5f8790;font-size:.85rem;margin-top:10px}a{color:var(--ac)}footer{border-top:1px solid var(--ln);padding-top:30px;padding-bottom:30px;color:#5f8790;font-size:.88rem}footer .big{font:700 1.8rem Chakra Petch,sans-serif;color:#fff;margin-bottom:8px}footer .big em{font-style:normal;color:var(--ac)}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.aibox{margin-top:18px;border:1px solid var(--ln);border-radius:12px;padding:16px;background:#22d3ee0d}.aibox .tag{margin-bottom:10px}details{background:var(--pn);border:1px solid var(--ln);border-radius:12px;padding:14px 16px;margin-bottom:10px}summary{cursor:pointer;font:600 1.05rem Chakra Petch,sans-serif}details p{color:#b4cdd3;margin-top:8px}#lang-btn{margin:0;padding:7px 14px;font-size:.85rem}.chip2{display:inline-block;border:1px solid var(--ln);border-radius:6px;padding:2px 10px;font:.78rem IBM Plex Mono,monospace;color:var(--ac);margin-right:8px}.ask{display:flex;gap:8px;margin-top:16px}.ask input,.ask .go{margin:0}.fu p{margin-top:10px;color:#cfe3e8}@media(max-width:560px){.status{display:none}}
