:root{--bg:#f4f0e7;--ink:#141414;--muted:#6b6963;--line:rgba(20,20,20,.15);--accent:#ff6b57;--green:#39c98a;--yellow:#ffd469;--blue:#6d8dff;--shadow:0 24px 70px rgba(20,20,20,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Tahoma,"Segoe UI",Arial,sans-serif;min-height:100vh;overflow-x:hidden}a{color:inherit}button,input,textarea,select{font:inherit}.noise{position:fixed;inset:0;pointer-events:none;opacity:.04;z-index:50;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.site-header{height:92px;width:min(1310px,calc(100% - 40px));margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;direction:ltr}.brand-mark{width:44px;height:44px;border:2px solid var(--ink);display:grid;place-items:center;font-weight:900;transform:rotate(-3deg);background:var(--yellow)}.brand b{font-size:14px;letter-spacing:2.3px;display:block}.brand small{font-size:8px;letter-spacing:2px;color:var(--muted)}.site-header nav{display:flex;align-items:center;gap:20px;font-size:13px}.site-header nav a,.link-button{text-decoration:none;background:none;border:0;padding:0;cursor:pointer;color:var(--ink)}.site-header nav a:hover,.link-button:hover{text-decoration:underline}.nav-user{padding:7px 11px;border:1px solid var(--line);border-radius:99px}.inline-form{display:inline}.eyebrow{display:inline-block;font-family:Consolas,monospace;font-size:11px;font-weight:800;letter-spacing:2px;color:#5d5b55}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:2px solid var(--ink);border-radius:10px;text-decoration:none;font-weight:800;cursor:pointer;transition:.18s transform,.18s box-shadow,.18s background}.btn:hover{transform:translateY(-2px);box-shadow:5px 5px 0 var(--ink)}.btn.primary{background:var(--ink);color:#fff}.btn.ghost{background:transparent}.btn.danger{background:var(--accent);color:var(--ink)}.btn.wide{width:100%}.hidden{display:none!important}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,25px);opacity:0;pointer-events:none;background:#111;color:#fff;padding:13px 18px;border-radius:8px;z-index:1000;font-size:13px;box-shadow:0 12px 50px rgba(0,0,0,.25);transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.flash-stack{position:fixed;top:105px;left:50%;transform:translateX(-50%);z-index:120;width:min(600px,calc(100% - 30px))}.flash{padding:12px 16px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:8px}.flash.success{border-color:var(--green)}.flash.danger{border-color:var(--accent)}.flash.warning{border-color:var(--yellow)}
.hero{min-height:670px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px}.hero-copy h1{font-size:clamp(55px,7vw,104px);line-height:.92;letter-spacing:-5px;margin:20px 0 26px}.hero-copy h1 em{font-style:normal;color:var(--accent);position:relative}.hero-copy h1 em:after{content:"";position:absolute;right:-10px;left:-10px;bottom:2px;height:12px;background:var(--yellow);z-index:-1;transform:rotate(-2deg)}.hero-copy>p{font-size:18px;line-height:2;max-width:650px;color:#4e4d48}.hero-actions{display:flex;gap:12px;margin-top:28px}.hero-copy .micro{font-size:11px;color:var(--muted)}.hero-toy{height:480px;position:relative;display:grid;place-items:center}.toy-face{width:210px;height:210px;background:#fff;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;z-index:3;box-shadow:16px 16px 0 rgba(20,20,20,.1);animation:float 3s ease-in-out infinite}.toy-face span{font-size:95px;line-height:1}.toy-face small{font-family:Consolas,monospace;direction:ltr}.orbit{position:absolute;border:1px dashed rgba(20,20,20,.35);border-radius:50%;animation:spin 12s linear infinite}.orbit i{position:absolute;width:22px;height:22px;border:2px solid var(--ink);background:var(--accent);border-radius:50%;top:50%;left:-11px}.orbit-a{width:310px;height:310px}.orbit-b{width:410px;height:250px;animation-duration:9s;animation-direction:reverse}.orbit-b i{background:var(--blue)}.orbit-c{width:250px;height:430px;animation-duration:16s}.orbit-c i{background:var(--yellow)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-12px) rotate(1deg)}}.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin-bottom:55px;background:rgba(255,255,255,.45)}.feature-strip article{padding:24px;display:flex;align-items:center;gap:16px;border-left:1px solid var(--line)}.feature-strip article:last-child{border-left:0}.feature-strip b{font-family:Consolas,monospace;font-size:24px}.feature-strip span{font-size:13px;color:var(--muted)}
.auth-wrap{min-height:calc(100vh - 92px);display:grid;place-items:center;padding:60px 0}.auth-card{width:min(480px,100%);background:#fff;border:2px solid var(--ink);padding:42px;box-shadow:12px 12px 0 var(--ink)}.auth-card.dark{background:#171717;color:#fff;box-shadow:12px 12px 0 var(--accent)}.auth-card h1{font-size:38px;margin:14px 0 28px}.auth-card label{display:grid;gap:8px;margin:16px 0;font-size:13px;font-weight:800}.auth-card input{height:52px;border:1.5px solid var(--ink);padding:0 14px;background:transparent;color:inherit;direction:ltr;text-align:left;border-radius:8px}.auth-card .btn{margin-top:18px}.switch-auth{text-align:center;font-size:13px;margin:24px 0 0;color:var(--muted)}.field-error{color:#d23a2c}
.game-page{--game-bg:#fff}.pastel-a{--bg:#e8f6eb}.pastel-b{--bg:#fff0df}.pastel-c{--bg:#e9edff}.pastel-d{--bg:#f3eaff}.game-shell{padding:70px 0 90px}.game-heading{text-align:center;max-width:760px;margin:0 auto 35px}.game-heading h1{font-size:clamp(42px,6vw,76px);letter-spacing:-3px;margin:15px 0}.game-heading p{color:var(--muted);line-height:1.9}.game-stats{display:flex;justify-content:center;gap:28px;margin:22px 0;font-family:Consolas,monospace;font-size:12px}.game-stats span{padding:8px 14px;background:rgba(255,255,255,.55);border:1px solid var(--line)}.canvas-card{position:relative;background:rgba(255,255,255,.72);border:2px solid var(--ink);box-shadow:12px 12px 0 rgba(20,20,20,.12);overflow:hidden}.circle-card{height:min(68vh,640px)}.circle-card canvas,.cursor-card canvas{display:block;width:100%;height:100%;touch-action:none}.circle-center{position:absolute;left:50%;top:50%;width:12px;height:12px;background:var(--ink);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.big-result{position:absolute;top:18px;right:18px;background:var(--ink);color:#fff;padding:10px 15px;font-family:Consolas,monospace;font-weight:800}.big-result.success{background:var(--green);color:var(--ink)}.game-note{text-align:center;color:var(--muted);font-size:13px;margin-top:25px}.progress-line{height:10px;border:1px solid var(--ink);max-width:700px;margin:0 auto 25px;background:#fff}.progress-line i{display:block;height:100%;background:var(--accent);transition:.3s}.button-arena{height:560px;background:rgba(255,255,255,.65);border:2px solid var(--ink);position:relative;overflow:hidden;box-shadow:12px 12px 0 rgba(20,20,20,.12)}.runner-button{position:absolute;left:50%;top:50%;min-width:140px;height:54px;border:2px solid var(--ink);background:var(--yellow);font-weight:900;cursor:pointer;transition:left .14s,top .14s,transform .14s;z-index:5}.decoy-button{background:#fff;color:#222;z-index:2}.arena-counter{position:absolute;left:20px;top:20px;font:900 22px Consolas,monospace}.memory-board{width:min(580px,100%);margin:0 auto 25px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;direction:ltr}.memory-board button{aspect-ratio:1;border:2px solid var(--ink);background:#fff;cursor:pointer;transition:.12s;box-shadow:5px 5px 0 rgba(20,20,20,.12)}.memory-board button span{opacity:.12;font:800 20px Consolas}.memory-board button.active{background:var(--blue);transform:scale(.94);box-shadow:none}.memory-board button.fake{background:var(--accent);transform:rotate(2deg)}.memory-board button.pressed{background:var(--yellow);transform:scale(.94)}#memoryStart{display:flex;margin:0 auto}.cursor-card{height:min(66vh,590px);max-width:1000px;margin:auto;background:#151515}.shake{animation:shake .28s linear}@keyframes shake{25%{transform:translateX(-7px)}50%{transform:translateX(7px)}75%{transform:translateX(-4px)}}
.waiting-page{background:#111;color:#f7f1e7}.waiting-page .site-header{border-color:rgba(255,255,255,.16)}.waiting-page .brand-mark{border-color:#fff;color:#111}.waiting-page .site-header nav a,.waiting-page .site-header .link-button{color:#fff}.waiting-card{min-height:calc(100vh - 92px);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.waiting-card h1{font-size:clamp(44px,7vw,88px);letter-spacing:-4px;max-width:900px;margin:20px}.waiting-card p{max-width:650px;line-height:2;color:#aaa}.waiting-orb{width:150px;height:150px;border-radius:50%;border:1px solid #4a4a4a;display:grid;place-items:center;box-shadow:0 0 80px rgba(105,226,169,.18);margin-bottom:30px}.waiting-orb span{font-size:55px;color:var(--green)}
.leaderboard-shell{padding:70px 0}.leaderboard-shell.compact{padding-top:0}.leaderboard-shell h2{font-size:35px}.leaderboard-table{border:2px solid var(--ink);background:rgba(255,255,255,.55);box-shadow:10px 10px 0 rgba(20,20,20,.1)}.leader-row{display:grid;grid-template-columns:60px 1.1fr 2fr .7fr .7fr .7fr;align-items:center;min-height:68px;border-bottom:1px solid var(--line);padding:0 18px;gap:12px}.leader-row:last-child{border-bottom:0}.leader-row.head{min-height:45px;background:var(--ink);color:#fff;font-size:11px}.leader-row small{display:block;color:var(--muted);margin-top:5px}.leader-row>span:first-child{font:900 18px Consolas,monospace}.empty{text-align:center;padding:40px}.closed-page{background:#141414;color:#f3eee5}.closed-page .site-header{border-color:rgba(255,255,255,.14)}.closed-page .brand-mark{color:#111}.closed-page nav a,.closed-page .link-button{color:#fff}.closed-hero{padding:110px 0 70px;text-align:center}.closed-hero h1{font-size:clamp(80px,15vw,180px);line-height:.8;letter-spacing:-10px;margin:30px}.closed-hero p{color:#aaa;font-size:17px}.closed-hero strong{color:#6df2bc}.prize-card{max-width:700px;margin:50px auto;padding:30px;border:1px solid #6df2bc;background:rgba(105,242,188,.07)}.prize-card code{display:block;font:900 clamp(20px,5vw,46px) Consolas,monospace;color:#6df2bc;padding:22px;direction:ltr}.closed-page .leaderboard-table{border-color:#444;background:#1c1c1c;box-shadow:none}.closed-page .leader-row{border-color:#333}.closed-page .leader-row small{color:#888}
.error-card{min-height:calc(100vh - 92px);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.error-card>b{font:900 160px Consolas,monospace;color:var(--accent)}.error-card h1{font-size:40px}.admin-page{--bg:#111;color:#eee}.admin-page .site-header{border-color:#333}.admin-page .site-header nav a,.admin-page .link-button{color:#fff}.admin-page .brand-mark{color:#111}.admin-shell{padding:45px 0 80px}.admin-head{display:flex;justify-content:space-between;align-items:center}.admin-head h1{font-size:50px;margin:10px 0 25px}.admin-status{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.admin-status article,.admin-card{background:#191919;border:1px solid #333;padding:20px}.admin-status small{display:block;color:#888;font:10px Consolas,monospace}.admin-status b{display:block;font:700 22px Consolas,monospace;margin-top:8px;color:#6df2bc}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.admin-card h2{margin-top:0}.admin-card p{color:#aaa;line-height:1.8}.admin-actions{display:flex;flex-wrap:wrap;gap:9px}.wide-card{margin-top:12px}.admin-users{overflow:auto}.admin-user{min-width:950px;display:grid;grid-template-columns:1.1fr 1fr .8fr .5fr 2fr;gap:15px;align-items:center;padding:12px;border-bottom:1px solid #333;font-size:12px}.admin-user.head{background:#252525;color:#999;font:10px Consolas,monospace}.admin-user small{display:block;color:#777;margin-top:4px}.row-actions{display:flex;gap:5px}.row-actions button{background:#292929;border:1px solid #444;color:#eee;padding:6px 8px;font:10px Consolas;cursor:pointer}.activity-list{max-height:380px;overflow:auto}.activity-list p{display:grid;grid-template-columns:130px 150px 1fr;margin:0;padding:8px;border-bottom:1px solid #2e2e2e;font:11px Consolas,monospace}.activity-list time{color:#777}.activity-list b{color:#6df2bc}
@media(max-width:900px){.site-header{height:auto;padding:14px 0;gap:12px;align-items:flex-start}.site-header nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}.brand small{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding:80px 0 30px}.hero-toy{height:390px}.feature-strip{grid-template-columns:1fr}.feature-strip article{border-left:0;border-bottom:1px solid var(--line)}.leader-row{grid-template-columns:42px 1fr 1.5fr}.leader-row>*:nth-child(n+4){display:none}.leader-row.head>*:nth-child(n+4){display:none}.admin-status{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.game-heading h1{letter-spacing:-2px}}
@media(max-width:560px){.shell{width:min(100% - 24px,1180px)}.site-header{width:calc(100% - 24px)}.brand b{font-size:11px}.brand-mark{width:38px;height:38px}.nav-user{display:none}.site-header nav{font-size:11px}.hero-copy h1{font-size:56px}.hero-actions{display:grid}.hero-toy{transform:scale(.8);margin:-40px}.game-shell{padding-top:45px}.game-heading h1{font-size:45px}.game-stats{gap:5px;flex-wrap:wrap}.button-arena{height:470px}.circle-card{height:480px}.memory-board{gap:7px}.leaderboard-shell{padding-top:45px}.leader-row{padding:0 8px;gap:6px}.auth-card{padding:25px;box-shadow:7px 7px 0 var(--ink)}.admin-status{grid-template-columns:1fr}.closed-hero h1{letter-spacing:-5px}.error-card>b{font-size:100px}}
