:root{--bg:#070b1c;--bg2:#101a44;--card:#111a3d;--line:#2c3a7a;--tx:#e9edff;--mut:#9aa6d6;--acc:#45e0c1;--acc2:#ffcc4d;--bad:#ff6b81;--tpbg:#0000a8;--tpfg:#ffff7a;--tphl:#00a8a8}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;min-height:100vh;color:var(--tx);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  background:radial-gradient(ellipse at 50% -10%,#24349a 0%,var(--bg2) 38%,var(--bg) 85%) fixed}
a{color:#8fc7ff}
.wrap{max-width:1240px;margin:0 auto;padding:18px 20px 60px}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:22px;letter-spacing:.04em;color:var(--tx);text-decoration:none}
.logo img{width:36px;height:36px}.logo span{color:var(--acc)}
.nav a{margin-left:14px;text-decoration:none}
h1{font-size:clamp(24px,3.4vw,34px);margin:8px 0 4px}
h2{font-size:19px;margin:0 0 8px;color:var(--acc2)}
p.lead{color:var(--mut);margin:0 0 18px;max-width:780px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:16px}
.card{display:block;text-decoration:none;color:var(--tx);background:linear-gradient(180deg,#14205a,#0d1538);border:1px solid var(--line);border-radius:16px;padding:18px 20px;
  box-shadow:0 8px 28px rgba(0,0,0,.35);transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-3px);border-color:var(--acc)}
.card h3{margin:6px 0 8px;font-size:19px}.card p{margin:0 0 12px;color:var(--mut);font-size:15px}
.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:12px;padding:2px 9px;border-radius:99px;border:1px solid var(--line);color:var(--acc);background:#0a1230}
.go{display:inline-block;padding:9px 18px;border-radius:99px;font-weight:800;color:#06251f;background:linear-gradient(180deg,#7bf0d8,#2fc4a6)}
.card.soon{opacity:.55;border-style:dashed}
.panel{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin:14px 0}
.panel ul{margin:6px 0 0;padding-left:20px}.panel li{margin:3px 0}
.meta{color:var(--mut);font-size:14px}
code{background:#0a1230;border:1px solid var(--line);border-radius:5px;padding:0 5px;font-size:.92em}

/* mängija */
.stage{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:16px;margin-top:10px}
@media(max-width:960px){.stage{grid-template-columns:1fr}}
.pane-t{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin:0 0 4px}
.code{position:relative;background:var(--tpbg);color:var(--tpfg);border:3px double #bcbcff;border-radius:6px;font:13px/1.35 "Cascadia Mono",Consolas,"Courier New",monospace;
  height:560px;overflow:auto;padding:6px 0}
.code .ln{display:block;white-space:pre;padding:0 8px;min-height:1.35em}
.code .ln i{font-style:normal;color:#8cc8ff;display:inline-block;width:3.2em;text-align:right;margin-right:10px;user-select:none}
.code .ln.on{background:var(--tphl);color:#001;font-weight:700}
.code .ln.on i{color:#003}
.right{display:flex;flex-direction:column;gap:12px;min-width:0}
.cap{min-height:70px;background:#0c1546;border:1px solid var(--line);border-left:5px solid var(--acc2);border-radius:10px;padding:10px 14px;font-size:16px}
.cap b{color:var(--acc2)}
.mtxbox{background:#0a1030;border:1px solid var(--line);border-radius:12px;padding:12px;overflow-x:auto}
table.mtx{border-collapse:separate;border-spacing:5px;margin:0 auto}
table.mtx th{font-weight:600;font-size:12px;color:var(--mut);padding:0 4px}
table.mtx td{min-width:50px;height:42px;text-align:center;border-radius:8px;background:#16225c;border:1px solid #2b3b8f;font:700 17px "Cascadia Mono",Consolas,monospace;
  transition:background .2s,transform .2s,opacity .35s}
table.mtx td.scan{background:#7a6a10;border-color:var(--acc2);transform:scale(1.07)}
table.mtx td.cur{background:#2a56b8;border-color:#8fc7ff;transform:scale(1.07)}
table.mtx td.min{background:#0f6b57;border-color:var(--acc);color:#d8fff5}
table.mtx td.del{background:#7a1f35;border-color:var(--bad);text-decoration:line-through;color:#ffd5dd}
table.mtx td.src{background:#43308f;border-color:#b9a4ff}
table.mtx td.gone{opacity:.18;transform:scale(.85)}
table.mtx td.rida{background:transparent;border:1px dashed var(--line);color:var(--acc);font-size:14px;min-width:84px}
.console{background:#000;color:#bdbdbd;border:2px solid #555;border-radius:6px;font:13px/1.25 "Cascadia Mono",Consolas,"Courier New",monospace;height:200px;overflow:auto;padding:8px 10px;white-space:pre}
.console .cur{display:inline-block;width:8px;height:14px;background:#bdbdbd;animation:bl 1s steps(2) infinite;vertical-align:-2px}
@keyframes bl{50%{opacity:0}}
.ctl{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 4px}
.ctl button,.ctl select{font:inherit;font-weight:700;padding:8px 16px;border-radius:99px;border:1px solid var(--line);background:#101a48;color:var(--tx);cursor:pointer}
.ctl button.main{background:linear-gradient(180deg,#7bf0d8,#2fc4a6);color:#06251f;border:0}
.ctl button:hover{border-color:var(--acc)}
.ctl label{color:var(--mut);font-size:14px;display:flex;align-items:center;gap:6px}
.ctl input[type=range]{width:120px}
.prog{height:6px;background:#0a1030;border-radius:6px;overflow:hidden;margin-top:6px}
.prog div{height:100%;width:0;background:linear-gradient(90deg,var(--acc),var(--acc2));transition:width .2s}
.foot{color:var(--mut);font-size:13px;margin-top:30px}

table.mtx td.c-diag{background:#6b5d00;border-color:#ffff55;color:#fff9b0}
table.mtx td.c-anti{background:#5a1e63;border-color:#ff55ff;color:#ffd5ff}
table.mtx td.c-cmx,table.mtx td.c-max{background:#0f6b2c;border-color:#55ff55;color:#d8ffe0}
table.mtx td.c-min{background:#7a1f35;border-color:#ff5555;color:#ffd5dd}
table.mtx td.c-corner{background:#0f4b7a;border-color:#55ffff;color:#d5f6ff}
.dos{background:#000;border:2px solid #666;border-radius:6px;padding:8px 6px;overflow-x:auto}
.dos pre{margin:0;font:12px/1.18 "Cascadia Mono",Consolas,"Courier New",monospace;color:#aaa;min-height:300px}
.gfxbox{background:#000;border:2px solid #666;border-radius:6px;overflow:hidden}
.gfxbox canvas{width:100%;height:auto;display:block}

.stage.one{grid-template-columns:1fr}
.two{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px}
@media(max-width:900px){.two{grid-template-columns:1fr}}
.eqbox{background:#0a1030;border:1px solid var(--line);border-radius:12px;padding:14px;font:700 22px "Cascadia Mono",Consolas,monospace;color:var(--acc2);text-align:center;min-height:60px}
.calc{background:#0a1030;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:15px/1.7 "Cascadia Mono",Consolas,monospace;min-height:90px}
.calc b{color:var(--acc)}
.resbox{background:#000;border:2px solid #666;border-radius:6px;padding:10px 14px;font:20px/1.5 "Cascadia Mono",Consolas,monospace}
.resbox .g{color:#55ff55}.resbox .e{color:#ff5555}
.ctl input[type=number]{font:inherit;padding:7px 10px;border-radius:99px;border:1px solid var(--line);background:#101a48;color:var(--tx)}
table.mtx td.keep{background:#0f6b57;border-color:var(--acc);color:#d8fff5}
table.mtx td.new{background:#2a56b8;border-color:#8fc7ff;color:#eaf3ff}
table.mtx.lst td{min-width:46px}
.bars{display:flex;align-items:flex-end;gap:5px;justify-content:center;min-height:190px;padding:6px 0 0}
.bw{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:44px}
.bw span{font:700 13px "Cascadia Mono",Consolas,monospace;margin-top:4px;color:var(--tx)}
.bar2{width:100%;min-height:2px;border-radius:6px 6px 0 0;background:#2b3b8f;border:1px solid #4a5cc4;transition:height .2s,background .2s}
.bar2.cmp{background:#a8860f;border-color:var(--acc2)}
.bar2.swap{background:#c0334f;border-color:var(--bad)}
.bar2.piv{background:#8a4bd6;border-color:#c9a4ff}
.bar2.rng{background:#3a54b8;border-color:#8fc7ff}
.bar2.done{background:#0f8a6c;border-color:var(--acc)}
.bar2.skip{background:#3b3b4a;border:1px dashed #777;opacity:.7}
.two3{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr) minmax(0,1fr);gap:16px}
@media(max-width:900px){.two3{grid-template-columns:1fr}}
.menu{background:#0a1030;border:1px solid var(--line);border-radius:12px;padding:10px}
.menu .mi{padding:6px 10px;border-radius:8px;color:var(--mut);font-size:15px}
.menu .mi b{display:inline-block;width:1.4em;color:var(--acc2)}
.menu .mi.on{background:#1b3a8a;color:#fff;border:1px solid var(--acc)}
.stk{display:flex;flex-direction:column;align-items:center;min-height:240px;padding:6px 0}
.stk .ptr{color:var(--acc2);font:700 13px "Cascadia Mono",Consolas,monospace;margin-bottom:4px;border:1px dashed var(--acc2);border-radius:6px;padding:1px 8px}
.sbox{width:76px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#16225c;border:2px solid #2b3b8f;font:800 22px "Cascadia Mono",Consolas,monospace;transition:background .2s,transform .2s}
.sbox.new{background:#0f6b57;border-color:var(--acc);transform:scale(1.1)}
.sbox.del{background:#7a1f35;border-color:var(--bad);text-decoration:line-through}
.sbox.scan{background:#7a6a10;border-color:var(--acc2);transform:scale(1.08)}
.sbox.nilbox{background:transparent;border:1px dashed var(--line);color:var(--mut);font-size:14px;height:30px}
.conn{width:2px;height:12px;background:var(--line)}

.card[data-href]{cursor:pointer;-webkit-user-select:text;user-select:text}
.card h3,.card p{-webkit-user-select:text;user-select:text}
.card .go{margin-top:4px;text-decoration:none}
.ng{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;max-width:640px;margin:0 auto}
.nc{height:42px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#16225c;border:1px solid #2b3b8f;font:700 16px "Cascadia Mono",Consolas,monospace;color:var(--mut)}
.nc.ok{background:#0f6b2c;border-color:#55ff55;color:#d8ffe0}
.nc.bad{background:#7a1f35;border-color:#ff5555;color:#ffd5dd}
.nc.miss{background:#6b5d00;border-color:#ffff55}
.nc.cur{outline:3px solid var(--acc2);transform:scale(1.1)}
table.hor td{min-width:64px}
.resbox{overflow-x:auto}

.viewbar{display:flex;gap:6px;margin:6px 0 4px}
.vb{font:inherit;font-weight:700;padding:7px 18px;border-radius:99px;border:1px solid var(--line);background:#101a48;color:var(--tx);cursor:pointer}
.vb.on{background:linear-gradient(180deg,#7bf0d8,#2fc4a6);color:#06251f;border:0}
.card .thumb{border-radius:10px;overflow:hidden;margin:-4px -4px 10px;line-height:0}
.card .thumb svg{width:100%;height:auto;display:block}
.cards.list{grid-template-columns:1fr;gap:10px}
.cards.list .card{display:flex;align-items:center;gap:18px;padding:12px 16px}
.cards.list .card .thumb{flex:none;width:170px;margin:0}
.cards.list .card .cbody{flex:1;min-width:0}
.cards.list .card h3{margin:0 0 4px}
.cards.list .card p{margin:0}
.cards.list .card .go{flex:none}
.cards.list .card.soon{padding:12px 16px}
@media(max-width:640px){.cards.list .card{flex-wrap:wrap}.cards.list .card .thumb{width:100%}}

.tk{display:inline-block;min-width:36px;padding:6px 10px;margin:3px;border-radius:8px;background:#16225c;border:1px solid #2b3b8f;font:700 22px "Cascadia Mono",Consolas,monospace;text-align:center;transition:background .2s,transform .2s}
.tk.cur{background:#7a6a10;border-color:var(--acc2);transform:scale(1.12)}
.tk.bad{background:#7a1f35;border-color:var(--bad)}
.fac{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.fbox{background:#0b1030;border:1px solid var(--line);border-radius:12px;padding:12px 22px;min-width:160px;text-align:center}
.fbox b{display:block;font:800 30px "Cascadia Mono",Consolas,monospace;color:#fff;min-height:40px}
.fbox.cur{border-color:var(--acc2)}.fbox.ok b{color:var(--acc)}

table.mtx td.zup,table.mtx td.zdn{border-style:dashed;border-color:#4f64d8}
table.mtx td.foot{background:#0f4b7a;border-color:#55ffff;color:#d5f6ff}
.ptags{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}
.ptags a,.ctags .tg{font:600 12px/1 inherit;font-family:inherit;padding:5px 10px;border-radius:99px;border:1px solid var(--line);background:#101a48;color:var(--mut);text-decoration:none;cursor:pointer}
.ptags a:hover,.ctags .tg:hover{border-color:var(--acc);color:var(--tx)}
.ptags a.cat,.ctags .tg.catb{background:#1b3a8a;color:#fff;border-color:var(--acc)}
.ctags{display:flex;flex-wrap:wrap;gap:5px;margin:2px 0 10px}
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0 6px}
.filters input[type=search]{flex:1;min-width:240px;max-width:420px;font:inherit;padding:9px 16px;border-radius:99px;border:1px solid #2c3a7a;background:#101a48;color:var(--tx)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.chip{font:inherit;font-weight:700;font-size:14px;padding:6px 14px;border-radius:99px;border:1px solid var(--line);background:#101a48;color:var(--tx);cursor:pointer}
.chip.on{background:linear-gradient(180deg,#7bf0d8,#2fc4a6);color:#06251f;border:0}
.chip small{opacity:.7;font-weight:600}
.tagcloud summary{cursor:pointer;color:var(--mut);margin:2px 0 6px}
.tagcloud div{display:flex;flex-wrap:wrap;gap:5px;margin:4px 0 8px}
.tagcloud .tg{font:600 12px/1 inherit;font-family:inherit;padding:5px 10px;border-radius:99px;border:1px solid var(--line);background:#101a48;color:var(--mut);cursor:pointer}
.tagcloud .tg:hover{border-color:var(--acc);color:var(--tx)}
h2.cat{grid-column:1/-1;margin:18px 0 0;font-size:20px;border-bottom:1px solid var(--line);padding-bottom:6px}
h2.cat small{color:var(--mut);font-weight:600;font-size:14px}
.cards.list .card .ctags{margin:6px 0 0}

.ng.w20{grid-template-columns:repeat(20,minmax(0,1fr));max-width:900px}
.ng.s .nc{height:30px;font-size:12px;border-radius:6px}
@media(max-width:640px){.ng.w20{grid-template-columns:repeat(10,minmax(0,1fr))}}

.lgrid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;max-width:720px}
.lc{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px}
.lc img{width:100%;height:auto;cursor:pointer;border-radius:8px;display:block}
@media(max-width:640px){.lgrid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.ktabs{display:flex;gap:6px;margin:0 0 8px}
.ktab,.kbtn{font:600 14px inherit;font-family:inherit;padding:7px 14px;border-radius:99px;border:1px solid var(--line);background:#101a48;color:var(--mut);cursor:pointer;text-decoration:none}
.ktab.on{background:var(--acc);color:#04210f;border-color:var(--acc)}
.kbtn{color:var(--tx)}
.kcmd{font-family:"Cascadia Mono",Consolas,monospace;background:#101a48;border:1px solid var(--line);border-radius:6px;padding:1px 6px}
.kpre{margin:0;max-height:420px;overflow:auto;background:#060b22;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:13px/1.5 "Cascadia Mono",Consolas,monospace;color:#d6dcff;white-space:pre;tab-size:4}

/* Menüü filtrid, sildid, sarnased lahendused, kasutuskoht */
.filters2{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:4px 0 8px;font-size:14px;color:var(--mut)}
.filters2 select{font:inherit;padding:6px 12px;border-radius:99px;border:1px solid #2c3a7a;background:#101a48;color:var(--tx)}
.filters2 .ck{display:inline-flex;gap:6px;align-items:center;cursor:pointer}
.cbadges{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 2px}
.bd{font:700 11px/1 inherit;font-family:inherit;padding:4px 9px;border-radius:99px;border:1px solid var(--line);background:#0e1640;color:var(--mut)}
.bd-film{color:#8fc7ff;border-color:#2a56b8}
.bd-mang{color:#ffcc4d;border-color:#7a6a10}
.bd-kood{color:#45e0c1;border-color:#0f6b57}
.bd-l1{color:#9ef0b0}.bd-l2{color:#ffe08a}.bd-l3{color:#ff9aa8}
.bd-seen{color:#06251f;background:#7bf0d8;border:0}
.card.seen h3::after{content:" \2713";color:#7bf0d8;font-size:.8em}
.similar h2{margin:0 0 10px}
.simgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.simgrid a{display:block;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#101a48;color:var(--tx);text-decoration:none;font-weight:700}
.simgrid a:hover{border-color:var(--acc)}
.simgrid small{display:block;margin-top:4px;font-weight:600;color:var(--mut)}
.kus{margin:10px 0 0;color:var(--mut)}
.kus b{color:var(--tx)}
/* Puuteekraan: suuremad nupud ja ei topeltpuute suurendust */
@media (pointer:coarse){
  button,select,.chip,.vb,.ktab,.kbtn{touch-action:manipulation}
  .ctl button,.ctl select,.ctl input,.vb,.chip,.filters2 select{min-height:44px}
  .mtxbox button,.mtxbox input[type=checkbox]{min-height:44px;min-width:44px}
  canvas{touch-action:manipulation;max-width:100%;height:auto}
}
