:root{--malachite:#0bda51;--malachite-dim:#089e3b;--black:#000000;--ink:#0a0a0a;--panel:#0f0f0f;--line:#1c1c1c;--muted:#8a8a8a;--text:#f2f2f2;--danger:#ff4d4d;--font-display:"Orbitron",sans-serif;--font-body:"Rajdhani",sans-serif;color:var(--text);background:var(--black);font-family:var(--font-body);font-size:18px;line-height:1.4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,:after,:before{box-sizing:border-box}#root,body,html{min-height:100%;margin:0}body{background-color:var(--black);background-image:radial-gradient(circle at 1px 1px,rgba(11,218,81,.12) 1px,transparent 0);background-size:28px 28px;color:var(--text)}a{color:var(--malachite);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.brand,h1,h2,h3{font-family:var(--font-display);letter-spacing:.06em;margin:0}.app-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:1rem 1rem 3rem}.pill-header{display:inline-flex;align-items:center;gap:1rem;margin:.75rem auto 1.5rem;padding:.55rem 1.1rem;border:1px solid var(--malachite);border-radius:999px;background:var(--ink);width:-moz-fit-content;width:fit-content;max-width:calc(100% - 1rem)}.pill-header .brand{color:var(--malachite);font-size:.95rem;font-weight:800}.pill-header nav{display:flex;gap:.75rem;align-items:center}.pill-header a,.pill-header button.linkish{background:none;border:none;color:var(--muted);cursor:pointer;font-weight:600;font-size:.95rem;padding:0}.pill-header a.active,.pill-header a:hover,.pill-header button.linkish:hover{color:var(--text)}.page{width:min(960px,100%)}.hero-brand{font-family:var(--font-display);font-size:clamp(2.6rem,10vw,4.5rem);font-weight:800;color:var(--malachite);text-align:center;margin:1rem 0 .35rem}.hero-sub{text-align:center;color:var(--muted);margin:0 0 1.75rem;font-size:1.15rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:1.25rem;width:100%;min-width:0}.panel-title{margin-bottom:1rem;font-size:1.05rem}.play-layout{display:grid;grid-gap:1rem;gap:1rem;width:100%;align-items:stretch}.play-panel{display:flex;flex-direction:column;height:100%}@media (min-width:760px){.play-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem}}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}.field label{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.field input,.field select,.field textarea{background:var(--black);border:1px solid var(--line);border-radius:10px;padding:.7rem .85rem;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--malachite)}.room-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;flex:1 1}.room-link{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:12px;background:var(--black);color:var(--text);min-width:0}.room-link:hover{border-color:var(--malachite)}.room-link-main{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1 1}.room-link-topic{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-link-meta{color:var(--muted);font-size:.9rem;flex-shrink:0}.custom-select{position:relative;z-index:1}.custom-select.is-open,.custom-select:focus-within{z-index:40}.cs-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--black);border:1px solid var(--line);border-radius:10px;padding:.7rem .85rem;cursor:pointer;text-align:left;font-weight:600}.cs-trigger.open,.cs-trigger:hover:not(.disabled){border-color:var(--malachite)}.cs-trigger.disabled{opacity:.5;cursor:not-allowed}.cs-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-placeholder{color:var(--muted)}.cs-chevron{color:var(--malachite);flex-shrink:0;font-size:.85rem;line-height:1}.cs-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--ink);border:1px solid var(--malachite);border-radius:12px;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.55);z-index:50}.cs-search{padding:.55rem;border-bottom:1px solid var(--line)}.cs-search input{width:100%;background:var(--black);border:1px solid var(--line);border-radius:8px;padding:.55rem .7rem;outline:none}.cs-search input:focus{border-color:var(--malachite)}.cs-options{list-style:none;margin:0;padding:.35rem;max-height:min(280px,50vh);overflow-y:auto}.cs-option{width:100%;text-align:left;background:transparent;border:none;border-radius:8px;padding:.6rem .7rem;cursor:pointer;font-weight:600;color:var(--text)}.cs-option.hi,.cs-option:hover{background:#121212;color:var(--malachite)}.cs-option.selected{color:var(--malachite)}.cs-empty{padding:.75rem;color:var(--muted);font-size:.9rem}.cs-custom{border-top:1px solid var(--line);padding:.7rem .55rem .75rem;background:#080808}.cs-custom-label{display:block;margin-bottom:.4rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--malachite);font-weight:700}.count-custom-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.5rem;gap:.5rem;align-items:stretch}.count-custom-row input{min-width:0;width:100%;background:var(--black);border:1px solid var(--line);border-radius:8px;padding:.55rem .7rem;outline:none}.count-custom-row input:focus{border-color:var(--malachite)}.count-apply{padding:.55rem .95rem;font-size:.75rem;white-space:nowrap}.field-hint{margin:.35rem 0 0;font-size:.8rem}.mode-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem;margin-bottom:1rem}.mode-row button{border:1px solid var(--line);background:var(--black);border-radius:999px;padding:.55rem .75rem;cursor:pointer;font-weight:700;color:var(--muted)}.mode-row button.on{border-color:var(--malachite);color:var(--malachite)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:999px;padding:.75rem 1.25rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.9rem;cursor:pointer;font-family:var(--font-display)}.btn-primary{background:var(--malachite);color:#000}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:transparent;border:1px solid var(--malachite);color:var(--malachite)}.btn-block{width:100%}.error{color:var(--danger);margin:.5rem 0 0}.error,.hint{font-size:.95rem}.hint{color:var(--muted)}.grid-2{display:grid;grid-gap:1rem;gap:1rem;width:100%;align-items:start}@media (min-width:760px){.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.stat{border:1px solid var(--line);border-radius:14px;padding:1rem;background:var(--black)}.stat .n{font-family:var(--font-display);color:var(--malachite);font-size:1.6rem}.choice{width:100%;text-align:left;background:var(--black);border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem;margin-bottom:.55rem;cursor:pointer;font-weight:600}@media (hover:hover){.choice:hover:not(:disabled){border-color:var(--malachite)}}.choice.correct{border-color:var(--malachite);color:var(--malachite);-webkit-text-fill-color:var(--malachite)}.choice.wrong{border-color:var(--danger);color:var(--danger);-webkit-text-fill-color:var(--danger)}.choice:disabled{cursor:default;opacity:.85;-webkit-text-fill-color:currentColor}.game-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;min-height:220px;border:1px solid var(--malachite);border-radius:18px;background:var(--ink);padding:2rem 1.25rem;position:relative;overflow:hidden}.game-loader:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(11,218,81,.18) 1px,transparent 1.5px);background-size:18px 18px;opacity:.5;animation:drift 8s linear infinite;pointer-events:none}@keyframes drift{0%{background-position:0 0}to{background-position:18px 18px}}.hex{width:64px;height:64px;-webkit-clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%);clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%);background:var(--malachite)}.game-loader p,.hex{position:relative;z-index:1}.game-loader p{margin:0;font-family:var(--font-display);font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--malachite)}.score-row{display:flex;justify-content:space-between;padding:.55rem 0;border-bottom:1px solid var(--line);font-weight:600}.score-row:last-child{border-bottom:none}.badge{display:inline-block;padding:.15rem .55rem;border:1px solid var(--malachite);border-radius:999px;color:var(--malachite);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}