@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap");:root{--bg:#f5f4fa;--surface:#fff;--surface2:#f9f8fc;--ink:#171527;--muted:#716e82;--line:#e6e3ee;--purple:#6856e8;--soft:#eeebff;--green:#1f9d6a;--shadow:0 18px 48px #231b4714}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px Inter,Noto Sans SC,system-ui,sans-serif}button,input{font:inherit}button{color:inherit}.app-shell{min-height:100dvh;display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100dvh;background:#181625;color:#cfccdc;padding:28px 18px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 28px;color:#fff}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:var(--purple)}.brand-mark svg{width:22px}.brand>span:last-child{display:grid}.brand b{font-size:18px}.brand small{font-size:9px;letter-spacing:.13em;color:#8d899f}.sidebar nav,.sidebar-bottom{display:grid;grid-gap:5px;gap:5px}.sidebar button{min-height:46px;border:0;background:transparent;color:#9995aa;border-radius:11px;padding:0 13px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;transition:.18s}.sidebar button svg{width:18px}.sidebar button.active,.sidebar button:hover{background:#2c283e;color:#fff}.sidebar button.active{box-shadow:inset 3px 0 var(--purple)}.sidebar button span{margin-left:auto;background:#3b3650;padding:2px 7px;border-radius:20px;font-size:10px}.sidebar-bottom{margin-top:auto}.profile{border-top:1px solid #2b2838;margin-top:13px;padding:20px 8px 0;display:flex;align-items:center;gap:10px}.profile>span{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#373149;color:#bcb4ff;font-size:11px;font-weight:800}.profile div{display:grid}.profile b{font-size:11px;color:#fff}.profile small{font-size:9px;color:#7f7a90}.workspace{min-width:0;padding:0 clamp(24px,4vw,64px)}header{min-height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}header small{font-size:10px;color:var(--muted)}header h1{margin:3px 0 0;font-size:19px}.header-actions{gap:12px}.header-actions,.service-state{display:flex;align-items:center}.service-state{font-size:10px;color:var(--muted);gap:7px}.game-stage .eyebrow i,.service-state i{width:7px;height:7px;border-radius:50%;background:#35c98b;box-shadow:0 0 0 4px #e3f8ef}.key-button,.reset{height:42px;padding:0 15px;border:1px solid var(--line);background:#fff;border-radius:11px;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;cursor:pointer}.key-button svg,.reset svg{width:16px;color:var(--purple)}.intro-card{max-width:1280px;margin:32px auto 0;min-height:310px;border-radius:24px;padding:50px clamp(28px,5vw,72px);display:grid;grid-template-columns:1.15fr .85fr;align-items:center;overflow:hidden;background:#211d3d;color:#fff;position:relative}.intro-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,#7d69ff59,transparent 30%)}.intro-card>div{position:relative;z-index:1}.eyebrow{font-size:9px;font-weight:800;letter-spacing:.14em;color:#8878ff;display:flex;align-items:center;gap:7px}.eyebrow svg{width:14px}.intro-card .eyebrow{color:#a99fff}.intro-card h2{font-size:clamp(34px,4vw,52px);letter-spacing:-.045em;line-height:1.08;margin:14px 0 17px}.intro-card p{color:#aaa6ba;max-width:560px;font-size:13px;line-height:1.8}.primary-action{margin-top:14px;height:45px;padding:0 19px;border:0;background:#765fff;color:#fff;border-radius:11px;display:flex;align-items:center;gap:9px;font-weight:700;font-size:12px;cursor:pointer}.primary-action svg{width:16px;fill:currentColor}.intro-visual{height:220px}.bot-core,.intro-visual{display:grid;place-items:center}.bot-core{width:105px;height:105px;background:#7662f0;border:15px solid #ffffff1f;border-radius:30px;transform:rotate(-5deg);box-shadow:0 18px 60px #0b0829}.bot-core svg{width:45px;height:45px;transform:rotate(5deg)}.orb{position:absolute;border:1px solid #ffffff1f;border-radius:50%}.orb.one{width:250px;height:250px}.orb.two{width:340px;height:340px}.decision-chip{position:absolute;background:#fff;color:#28233e;border-radius:9px;padding:8px 11px;font-size:9px;font-weight:700;box-shadow:0 12px 28px #08061c80}.chip-a{top:15px;left:10%}.chip-b{right:2%;top:44%}.chip-c{bottom:5px;left:12%}.game-stage,.lab-banner,.section-block,footer{max-width:1280px;margin-left:auto;margin-right:auto}.section-block{padding:44px 0 36px}.section-heading,.stage-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.section-heading h2,.stage-top h2{margin:7px 0 0;font-size:22px}.text-action{border:0;background:transparent;color:var(--purple);font-size:11px;font-weight:700;display:flex;align-items:center;cursor:pointer}.text-action svg{width:15px}.catalog{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.catalog>button{min-height:94px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:14px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;grid-gap:0 12px;gap:0 12px;text-align:left;cursor:pointer;transition:.18s}.catalog>button.selected,.catalog>button:hover:not(:disabled){border-color:#9386ee;background:#fbfaff}.catalog>button:disabled{cursor:not-allowed;opacity:.65}.game-icon{grid-row:1/-1;width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:var(--soft);color:var(--purple)}.game-icon svg{width:22px}.cyan .game-icon{background:#e6f7f8;color:#258d98}.orange .game-icon{background:#fff1df;color:#df8225}.pink .game-icon{background:#ffebf3;color:#d15c89}.green .game-icon{background:#e6f7ee;color:#329566}.red .game-icon{background:#ffebea;color:#cf5e55}.game-copy{display:grid;align-content:center}.game-copy b{font-size:13px}.game-copy small{font-size:9px;color:var(--muted);margin-top:4px}.badge{justify-self:start;font-size:8px;color:var(--green);font-weight:700}.badge.muted{color:#9490a2;display:flex;align-items:center;gap:4px}.badge svg{width:10px}.game-stage{background:#fff;border:1px solid var(--line);border-radius:22px;padding:27px;margin-top:12px;box-shadow:var(--shadow)}.game-stage .eyebrow{color:var(--green)}.game-stage .eyebrow i{box-shadow:none}.reset{height:40px}.game-layout{display:grid;grid-template-columns:220px minmax(300px,590px);grid-gap:32px;gap:32px;justify-content:center;padding-top:10px}.game-info{display:flex;flex-direction:column;gap:12px}.analysis,.turn-card{border:1px solid var(--line);border-radius:13px;padding:13px}.turn-card{display:flex;align-items:center;gap:10px}.turn-avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff}.turn-avatar.human{background:var(--purple)}.turn-avatar.jev{background:#e85d78}.turn-avatar svg{width:18px}.turn-card div{display:grid}.turn-card small{font-size:8px;color:var(--muted)}.turn-card b{font-size:11px}.thinking{margin-left:auto;width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite}.analysis{background:var(--surface2)}.analysis span{display:flex;align-items:center;gap:6px;color:var(--purple);font-size:9px;font-weight:800}.analysis svg{width:13px;fill:currentColor}.analysis p{font-size:10px;line-height:1.6;color:var(--muted);margin:8px 0 0}.game-info dl{margin:0;border-top:1px solid var(--line)}.game-info dl div{display:flex;justify-content:space-between;padding:10px 1px;border-bottom:1px solid var(--line);font-size:9px}.game-info dt{color:var(--muted)}.game-info dd{margin:0;font-weight:700}.healthy{color:var(--green)}.privacy{display:flex;gap:6px;font-size:8px!important;color:#9994a6!important}.privacy svg{width:12px;flex:none}.board-wrap{display:flex;justify-content:center}.board{display:grid;width:min(100%,570px);aspect-ratio:1;background:#171d2b;border:10px solid #242039;border-radius:15px;overflow:hidden;box-shadow:0 22px 50px #1f193a29}.board button{min-width:0;border:1px solid #343049;background:#211e32;padding:0;position:relative}.board button.legal:not(:disabled){cursor:pointer}.board button.legal:not(:disabled):after{content:"";position:absolute;width:22%;height:22%;border-radius:50%;background:#7d6df055;left:39%;top:39%}.board button i{position:absolute;width:70%;height:70%;left:15%;top:15%;border-radius:50%}.board button.human i{background:radial-gradient(circle at 35% 30%,#c9c3ff,#7664eb 62%,#4738a7)}.board button.jev i{background:radial-gradient(circle at 35% 30%,#ffbac7,#e34e6b 62%,#912a42)}.board.gomoku{background:#c7965b;border-color:#7b5330}.board.gomoku button{border-color:#805c38;background:transparent}.board.tictactoe{max-width:450px}.board.tictactoe button i{border-radius:18px}.lab-banner{margin-top:28px;border:1px solid var(--line);background:#eeecf8;border-radius:17px;padding:22px 25px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:18px;gap:18px}.lab-icon{width:45px;height:45px;border-radius:12px;display:grid;place-items:center;background:#dcd7f4;color:var(--purple)}.lab-icon svg{width:20px}.lab-banner h3{font-size:13px;margin:6px 0 4px}.lab-banner p{font-size:9px;color:var(--muted);margin:0}.lab-banner button{border:0;background:transparent;color:var(--purple);font-size:10px;font-weight:700;display:flex;align-items:center;cursor:pointer}.lab-banner button svg{width:14px}footer{display:flex;justify-content:space-between;padding:30px 0;color:#9a96a5;font-size:9px}.shade{position:fixed;inset:0;background:#0c0a18b8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:grid;place-items:center;padding:20px;z-index:20}.modal{width:min(430px,100%);background:#fff;border-radius:22px;padding:32px;position:relative}.close{position:absolute;right:16px;top:16px;width:38px;height:38px;border:0;background:#f3f1f7;border-radius:10px;display:grid;place-items:center;cursor:pointer}.close svg{width:17px}.modal-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--soft);color:var(--purple);margin-bottom:18px}.modal-icon svg{width:21px}.modal h2{font-size:25px;margin:8px 0}.modal>p{color:var(--muted);font-size:11px;line-height:1.65}.modal label{display:block;font-size:10px;font-weight:700;margin:20px 0 7px}.input{height:47px;display:flex;border:1px solid var(--line);border-radius:10px;background:var(--surface2);overflow:hidden}.input:focus-within{border-color:var(--purple);box-shadow:0 0 0 3px var(--soft)}.input input{width:100%;outline:0;padding:0 12px;font-size:12px}.input button,.input input{border:0;background:transparent}.input button{width:46px;color:var(--muted);cursor:pointer}.input svg{width:17px}.save{width:100%;height:47px;border:0;border-radius:10px;background:var(--purple);color:#fff;font-size:11px;font-weight:800;margin-top:13px;display:flex;justify-content:center;align-items:center;gap:7px;cursor:pointer}.save:disabled{opacity:.5}.save svg{width:15px}.later{width:100%;height:42px;border:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #a79df1;outline-offset:2px}@keyframes spin{to{transform:rotate(1turn)}}@media(max-width:1050px){.app-shell{grid-template-columns:78px minmax(0,1fr)}.sidebar{padding:24px 12px}.brand{padding:0 7px 28px}.brand>span:last-child,.sidebar button:not(.active){font-size:0}.sidebar button{justify-content:center;padding:0}.sidebar button.active{font-size:0}.profile div,.sidebar button span{display:none}.profile{padding-left:7px}.catalog{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.app-shell,.sidebar{display:block}.sidebar{position:fixed;z-index:10;top:auto;bottom:0;width:100%;height:68px;padding:8px 12px}.brand,.sidebar-bottom{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(4,1fr)}.sidebar button,.sidebar button.active,.sidebar button:not(.active){font-size:8px;min-height:52px;flex-direction:column;gap:2px;justify-content:center;padding:0}.workspace{padding:0 16px 74px}header{min-height:78px}.service-state{display:none}.intro-card{margin-top:20px;padding:32px 24px;display:block}.intro-card h2{font-size:34px}.intro-visual{display:none}.catalog{grid-template-columns:1fr 1fr}.game-stage{padding:19px}.game-layout{grid-template-columns:1fr}.game-info{display:grid;grid-template-columns:1fr 1fr}.game-info dl,.privacy{grid-column:1/-1}.lab-banner{grid-template-columns:auto 1fr}.lab-banner button{display:none}}@media(max-width:480px){header h1{font-size:16px}.key-button{width:42px;padding:0;justify-content:center;font-size:0}.catalog{grid-template-columns:1fr}.game-info{display:flex}.stage-top h2{font-size:17px}.reset{width:40px;padding:0;justify-content:center;font-size:0}.board{border-width:6px}.lab-banner{padding:18px}footer{display:block;line-height:1.8}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}