/* Стиль A «Пиксель-додзё» — из прототипа mockups/proto. */

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{color:#f2e2c0;font:15px/1.45 'Golos Text',system-ui,sans-serif;background:radial-gradient(900px 420px at 8% 0%,rgba(255,150,70,.16),transparent 70%),#150f1a;min-height:100vh}
svg{display:block}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
.px{font-family:'Press Start 2P',monospace;font-weight:400}
.notch{clip-path:polygon(0 6px,6px 6px,6px 0,calc(100% - 6px) 0,calc(100% - 6px) 6px,100% 6px,100% calc(100% - 6px),calc(100% - 6px) calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,6px calc(100% - 6px),0 calc(100% - 6px))}
.app{position:relative;height:100vh;height:100dvh;max-width:520px;margin:0 auto;display:flex;flex-direction:column;overflow:hidden;background:repeating-linear-gradient(0deg,#1f1627 0 38px,#1a1221 38px 40px)}
.scr{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 14px 18px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin}
.card{background:#2b1f34;box-shadow:inset 0 0 0 3px #0b070d,inset 0 0 0 5px #4b3858;padding:14px}
.h{font-family:'Press Start 2P';font-size:9px;color:#ffcf86;line-height:1.6}
.top{display:flex;justify-content:space-between;align-items:center;padding:2px 2px 0}
.top .brand{font-family:'Press Start 2P';font-size:10px;color:#ffcf86}
.top .date{font-size:12px;color:#bfae8e}
.btn{display:inline-block;font-family:'Press Start 2P';font-size:8px;line-height:1.4;padding:8px 10px;background:#ffa24c;color:#1d1424;box-shadow:inset -3px -3px 0 #c46a2a;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:#1a1220;color:#e7d3aa;box-shadow:inset 0 0 0 2px #4b3858}
.btn.done{background:#1f2a2a;color:#6fe0a6;box-shadow:inset 0 0 0 2px #2f9a68}
.btn.wide{display:block;width:100%;text-align:center;padding:12px}
.xp{height:12px;margin-top:8px;position:relative;background:#0b070d;box-shadow:inset 0 0 0 2px #4b3858}
.xp i{position:absolute;left:2px;top:2px;bottom:2px;width:calc((100% - 4px) * var(--p));background:repeating-linear-gradient(90deg,var(--c,#6fe0a6) 0 8px,transparent 8px 10px)}
.sub{font-size:12px;color:#bfae8e}
.hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}
.hero .art{width:86px;display:flex;justify-content:center;align-items:flex-end;background:radial-gradient(circle at 50% 75%,rgba(255,162,76,.3),transparent 65%)}
.hero .art svg{width:76px;height:auto}
.big{font-family:'Press Start 2P';font-size:20px;color:#ffcf86;text-shadow:2px 2px 0 #6a2f1a}
.lv4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:8px}
.lv4 span{font-size:11px;text-align:center;background:#0b070d;padding:4px 2px;line-height:1.2}
.lv4 b{display:block;font-family:'Press Start 2P';font-weight:400;font-size:10px;margin-top:2px}
.dir{margin-top:10px}
.dir-h{display:flex;align-items:center;gap:8px;font-family:'Press Start 2P';font-size:8px;line-height:1.5;margin-bottom:4px}
.dir-h i{width:10px;height:10px;display:block}
.br{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 0;border-top:2px dashed #3a2b47}
.dir-h+.br{border-top:0}
.br .n{font-size:13px;color:#f8ecd2;line-height:1.3}
.br .n small{display:block;font-size:11.5px;color:#9c8db0}
.br .acts{display:flex;gap:6px}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.chestnext{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:center;margin-top:10px}
.chestnext svg{width:30px;height:auto}
.chestnext b{display:block;color:#f8ecd2;font-weight:600;font-size:13.5px}
.player{margin-top:12px;aspect-ratio:16/9;background:#0b070d;box-shadow:inset 0 0 0 2px #4b3858;position:relative;display:grid;place-items:center}
.player .play{width:58px;height:40px;background:#e8553b;box-shadow:inset -4px -4px 0 #a4321f;display:grid;place-items:center}
.player .play::after{content:'';border-left:14px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent;margin-left:4px}
.player .t{position:absolute;left:10px;top:9px;font-size:11px;color:#9c8db0}
.player .b{position:absolute;left:10px;right:10px;bottom:10px;font-size:11px;color:#bfae8e;display:flex;justify-content:space-between}
.cells{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:3px;margin-top:10px}
.cells i{aspect-ratio:1;display:block;background:#0b070d;box-shadow:inset 0 0 0 1px #3a2b47;position:relative}
.cells i.d{background:#2f9a68;box-shadow:none}
.cells i.c{background:#ffa24c;box-shadow:0 0 0 2px #ffcf86}
.cells i.q::after{content:'';position:absolute;right:1px;bottom:1px;width:3px;height:3px;background:#ffd36b}
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.mate{text-align:center;background:#1a1220;box-shadow:inset 0 0 0 2px #4b3858;padding:8px 4px}
.mate .sp{height:64px;display:flex;align-items:flex-end;justify-content:center}
.mate .sp svg{width:52px;height:auto}
.mate b{display:block;font-size:13px;color:#f8ecd2;margin-top:4px}
.mate small{font-size:11px;color:#bfae8e}
.stack{display:flex;height:16px;margin-top:10px;background:#0b070d;box-shadow:inset 0 0 0 2px #4b3858;padding:3px;gap:2px}
.stack i{display:block;height:100%}
.feed{display:grid;gap:8px;margin-top:10px}
.feed div{font-size:12.5px;line-height:1.35;color:#e7d3aa}
.feed b{color:#f8ecd2;font-weight:600}
.feed em{font-style:normal;color:#6fe0a6}
.gen{text-align:center}
.gen .art{height:150px;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(circle at 50% 82%,rgba(255,162,76,.32),transparent 60%);border-bottom:4px solid #0b070d}
.gen .art svg{width:116px;height:auto}
.dirs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dc{background:#1a1220;box-shadow:inset 0 0 0 2px #4b3858;padding:8px;min-width:0}
.dc .t2{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px;align-items:end}
.dc .ic{height:46px;display:flex;align-items:flex-end;justify-content:center}
.dc .ic svg{width:40px;height:auto}
.dc b{display:block;font-family:'Press Start 2P';font-weight:400;font-size:8px;line-height:1.5}
.dc .n{font-size:12px;color:#f8ecd2;font-weight:600;line-height:1.25}
.dc .lv{font-family:'Press Start 2P';font-size:13px;color:#ffcf86;margin-top:2px}
.dc small{display:block;font-size:11px;color:#9c8db0;margin-top:5px;line-height:1.3}
.scroll{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;background:#0b070d;box-shadow:inset 0 0 0 2px #6a5530;margin-top:8px;font-size:12.5px;line-height:1.35}
.scroll small{display:block;font-size:11px;margin-bottom:2px;font-family:'Press Start 2P'}
.chest{display:grid;gap:6px;margin-top:10px}
.chest div{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;padding:6px 8px;background:#1a1220;box-shadow:inset 0 0 0 2px #4b3858}
.chest .ok{color:#6fe0a6;box-shadow:inset 0 0 0 2px #2f9a68}
.chest .nx{color:#ffcf86;box-shadow:inset 0 0 0 2px #ffa24c}
.chest span:last-child{color:#9c8db0;white-space:nowrap}
.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:8px 6px 12px;background:#0b070d}
.tabs button{text-align:center;padding:9px 2px;font-family:'Press Start 2P';font-size:8px;color:#8f7fa3;line-height:1.5}
.tabs button.on{color:#ffcf86;box-shadow:inset 0 3px 0 #ffa24c}
.toast{position:absolute;left:12px;right:12px;top:48px;display:grid;gap:6px;pointer-events:none;z-index:5}
.toast div{background:#0b070d;box-shadow:inset 0 0 0 2px #6fe0a6;color:#6fe0a6;padding:9px 12px;font-size:13px;animation:t 2.6s forwards}
@keyframes t{0%{opacity:0;transform:translateY(6px)}10%{opacity:1;transform:none}80%{opacity:1}100%{opacity:0}}
.modal{position:absolute;inset:0;z-index:10;background:rgba(11,7,13,.82);display:flex;align-items:center;justify-content:center;padding:16px}
.modal[hidden]{display:none}
.mbox{width:100%;max-width:360px;background:#2b1f34;box-shadow:inset 0 0 0 3px #0b070d,inset 0 0 0 5px #ffa24c;padding:18px;text-align:center;max-height:100%;overflow-y:auto}
.mbox .ttl{font-family:'Press Start 2P';font-size:11px;color:#ffcf86;line-height:1.6}
.mbox p{font-size:13.5px;color:#e7d3aa;margin-top:8px;line-height:1.45}
.evo{display:flex;align-items:flex-end;justify-content:center;gap:12px;margin:14px 0 6px}
.evo svg{width:84px;height:auto}
.evo .arr{font-family:'Press Start 2P';color:#ffcf86;font-size:14px;align-self:center}
.mbox .btns{display:grid;gap:8px;margin-top:14px}
.mbox input{width:100%;margin-top:12px;padding:10px;background:#0b070d;border:0;box-shadow:inset 0 0 0 2px #4b3858;color:#f8ecd2;font:inherit}
.opt{display:block;width:100%;text-align:left;padding:10px 12px;background:#1a1220;box-shadow:inset 0 0 0 2px #4b3858;color:#e7d3aa;font-size:13px;margin-top:6px}
.opt.no{box-shadow:inset 0 0 0 2px #a4321f;color:#ff9a8a}
.sc-card{text-align:left;padding:10px 12px;background:#1a1220;box-shadow:inset 0 0 0 2px #4b3858;margin-top:8px;font-size:13px;color:#e7d3aa;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.sc-card small{display:block;font-family:'Press Start 2P';font-size:7px;margin-bottom:4px}

.tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.tabs button{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px}
.tab-ava svg{width:22px;height:auto}
.tabs[hidden]{display:none}
.lv4 button{font-size:11px;text-align:center;background:#0b070d;padding:4px 2px;line-height:1.2}
.lv4 button b{display:block;font-family:'Press Start 2P';font-weight:400;font-size:10px;margin-top:2px}
button.dc{text-align:left;display:block;width:100%}
.dc:hover,.lv4 button:hover{box-shadow:inset 0 0 0 2px #ffa24c}
.dc .more{color:#ffcf86;font-size:10.5px;margin-top:4px}
#chatbar{background:#150f1a;box-shadow:inset 0 2px 0 #3a2b47}
#chatbar:empty{display:none}
.chips{display:flex;gap:6px;overflow-x:auto;padding:8px 10px 0;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chips button{flex:none;font-size:12px;padding:6px 10px;background:#1a1220;box-shadow:inset 0 0 0 2px #4b3858;color:#e7d3aa;white-space:nowrap}
.cbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:8px 10px 10px}
.cbar input,.addrow input,.fld input{min-width:0;padding:10px;background:#0b070d;border:0;box-shadow:inset 0 0 0 2px #4b3858;color:#f8ecd2;font:inherit;font-size:16px;outline:none}
.cbar input:focus,.addrow input:focus,.fld input:focus{box-shadow:inset 0 0 0 2px #ffa24c}
.cbar .btn{font-size:12px;padding:0 16px}
.chat-h{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;padding-bottom:10px;border-bottom:2px dashed #3a2b47}
.chat-h b{font-family:'Press Start 2P';font-weight:400;font-size:10px;color:#ffcf86}
.chat-h small{display:block;font-size:11.5px;color:#9c8db0;margin-top:5px;line-height:1.35}
.ava svg{width:44px;height:auto}
.ava.sm{flex:none}.ava.sm svg{width:30px}
.msgs{display:grid;gap:10px}
.msg{display:flex;gap:8px;align-items:flex-end}
.msg.u{justify-content:flex-end}
.bub{max-width:84%;padding:9px 12px;font-size:13.5px;line-height:1.45;background:#2b1f34;box-shadow:inset 0 0 0 2px #4b3858;color:#f2e2c0;overflow-wrap:anywhere}
.msg.u .bub{background:#3a2a1c;box-shadow:inset 0 0 0 2px #c46a2a}
.bub small{color:#9c8db0;font-size:11.5px}
.xp-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.xp-tags em{font-style:normal;font-family:'Press Start 2P';font-size:8px;color:#6fe0a6;box-shadow:inset 0 0 0 2px #2f9a68;padding:5px 6px}
.typing i{display:inline-block;width:6px;height:6px;background:#bfae8e;margin-right:4px;animation:bl 1s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes bl{0%,100%{opacity:.2}50%{opacity:1}}
.back{font-family:'Press Start 2P';font-size:8px;color:#bfae8e;padding:6px 0;text-align:left}
.bstrip{display:flex;gap:6px;margin:10px 0;flex-wrap:wrap;min-height:40px}
.bstrip svg{width:40px;height:auto}
.bgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.bt{background:#1a1220;box-shadow:inset 0 0 0 2px #3a2b47;padding:8px 4px 7px;text-align:center;min-width:0;display:flex;flex-direction:column;align-items:center}
.bt svg{width:44px;height:auto}
.bt span{display:block;font-size:10.5px;line-height:1.25;color:#e7d3aa;margin-top:5px;overflow-wrap:anywhere;hyphens:auto}
.bt.off span{color:#7d6e90}
.bt.off svg{opacity:.75}
.bt .mini{height:4px;width:80%;background:#0b070d;position:relative;margin-top:5px}
.bt .mini i{position:absolute;left:0;top:0;bottom:0;background:#6fe0a6}
.bigb svg{width:96px;height:auto}
.rar{display:flex;gap:6px 12px;flex-wrap:wrap;margin-top:8px;font-size:11.5px;color:#bfae8e}
.rar i{display:inline-block;width:8px;height:8px;margin-right:5px}
.addrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}
.addrow .btn{font-size:12px;padding:0 14px}
.lad{display:grid;margin-top:10px}
.lr{display:grid;grid-template-columns:48px 30px minmax(0,1fr);gap:10px;align-items:center;padding:5px 8px;border-left:3px solid #3a2b47;margin-left:4px}
.lr .sp svg{width:42px;height:auto}
.lr .lvn{font-family:'Press Start 2P';font-size:9px;color:#9c8db0;text-align:right}
.lr b{display:block;font-size:13px;color:#f8ecd2;font-weight:600}
.lr small{font-size:11px;color:#9c8db0}
.lr.cur{background:#3a2a1c;box-shadow:inset 0 0 0 2px #ffa24c;border-left-color:#ffa24c}
.lr.cur .lvn{color:#ffcf86}
.lr.lock b{color:#6d5e80}
.lr[data-tale]{cursor:pointer}
.lr[data-tale]:hover{background:#2f2238}
.seal{display:grid;gap:6px;margin-top:10px}
.seal div{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;font-size:12.5px;line-height:1.35;padding:7px 8px;background:#1a1220;box-shadow:inset 0 0 0 2px #3a2b47}
.seal b{font-family:'Press Start 2P';font-weight:400;font-size:8px;color:#9c8db0;padding-top:3px}
.seal .v{box-shadow:inset 0 0 0 2px #ffd36b}.seal .v b{color:#ffd36b}
.tale{font-size:14px;line-height:1.55;color:#f2e2c0;margin-top:8px;font-style:italic}
.ob-dots{display:flex;gap:6px;justify-content:center}
.ob-dots i{width:24px;height:6px;background:#3a2b47}.ob-dots i.on{background:#ffa24c}
.pick{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pick button{font-size:13px;padding:8px 10px;background:#1a1220;box-shadow:inset 0 0 0 2px #4b3858;color:#e7d3aa}
.pick button.on{background:#3a2a1c;box-shadow:inset 0 0 0 2px var(--c);color:#f8ecd2}
.pick button.on::before{content:'✓ ';color:var(--c)}
.fld{display:grid;gap:4px;margin-top:10px}.fld:first-child{margin-top:0}
.fld label{font-size:12.5px;color:#bfae8e}
.obnav{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px}
.obnav .btn.ghost{padding:12px 16px}
.btn[disabled]{opacity:.45;cursor:default}
.tag{font-size:11px;color:#9c8db0;box-shadow:inset 0 0 0 2px #3a2b47;padding:6px 8px;white-space:nowrap}
.gen .art svg[viewBox]{max-height:140px}

/* волна 2 */
.br button.n{text-align:left;display:block;width:100%;min-width:0}
.br button.n .go,.linkc .go{color:#ffcf86;font-size:11px}
.x2{font-family:'Golos Text';font-size:10.5px;color:#6fe0a6;box-shadow:inset 0 0 0 2px #2f9a68;padding:1px 6px;margin-left:6px}
.x2card{box-shadow:inset 0 0 0 3px #0b070d,inset 0 0 0 5px #2f9a68}
.x2row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:8px}
.x2row span{font-family:'Press Start 2P';font-size:8px;padding:6px 8px;color:var(--c);box-shadow:inset 0 0 0 2px var(--c)}
.row2{display:flex;gap:8px}
.row2>.linkc{flex:1 1 0;min-width:0;text-align:left;display:block}
.linkc .sub{margin-top:6px}
.linkc .go{display:block;margin-top:8px}
.bname{font-size:18px;font-weight:700;color:#f8ecd2;margin:4px 0 2px}
.acts2{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.goal{margin-top:10px;padding:10px;background:#1a1220;box-shadow:inset 0 0 0 2px #3a2b47}
.goal[data-gobranch]{cursor:pointer}
.goal[data-gobranch]:hover{box-shadow:inset 0 0 0 2px #ffa24c}
.goal.gdone{box-shadow:inset 0 0 0 2px #2f9a68}
.gtop{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.gtop b{font-size:13.5px;color:#f8ecd2;font-weight:600;line-height:1.3}
.szchip{flex:none;font-size:10.5px;color:#ffcf86;box-shadow:inset 0 0 0 2px #6a5530;padding:2px 6px;white-space:nowrap}
.gbar{height:10px;margin-top:8px;background:#0b070d;box-shadow:inset 0 0 0 2px #4b3858;position:relative}
.gbar i{position:absolute;left:2px;top:2px;bottom:2px;max-width:calc(100% - 4px)}
.gnums{display:flex;justify-content:space-between;gap:6px;margin-top:6px;font-size:11px;color:#9c8db0}
.gnums b{color:#f8ecd2}
.gok{margin-top:6px;font-size:12px;color:#6fe0a6}
.chartbox{margin-top:10px;box-shadow:0 0 0 2px #4b3858}
.chart{display:block;width:100%;height:110px}
.clegend{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-size:11px;color:#9c8db0}
.clegend i{display:inline-block;width:14px;height:0;border-top:2px dashed #ffd36b;vertical-align:middle;margin-right:5px}
.hlist{display:grid;gap:4px;margin-top:8px}
.hlist div{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#e7d3aa;padding:4px 0;border-top:2px dashed #3a2b47}
.hlist span:first-child{color:#9c8db0;white-space:nowrap}
.norms{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:10px}
.norms div{background:#0b070d;text-align:center;padding:6px 2px;font-size:10.5px;color:#bfae8e;line-height:1.3}
.norms b{display:block;font-family:'Press Start 2P';font-weight:400;font-size:8px;color:#ffd36b;margin-top:4px}
.mbox select,.fld select{width:100%;padding:10px;background:#0b070d;border:0;box-shadow:inset 0 0 0 2px #4b3858;color:#f8ecd2;font:inherit;font-size:16px;-webkit-appearance:none;appearance:none;border-radius:0}
.mbox .fld{text-align:left}
.mbox .fld input{margin-top:0}
.frow2{display:flex;gap:8px;margin-top:10px}
.frow2 .fld{flex:1 1 0;min-width:0;margin-top:0}
.sizes{display:flex;gap:6px}
.sizes button{flex:1 1 0;padding:8px 4px;background:#1a1220;box-shadow:inset 0 0 0 2px #4b3858;font-size:12.5px;color:#e7d3aa;text-align:center}
.sizes button small{display:block;font-family:'Press Start 2P';font-size:7px;margin-top:4px;color:#9c8db0}
.sizes button.on{background:#3a2a1c;box-shadow:inset 0 0 0 2px #ffa24c;color:#f8ecd2}
.sizes button.on small{color:#ffcf86}
#gSug{color:#ffcf86;font-size:11.5px}
.flist{display:grid;gap:6px;margin-top:10px}
.flist div{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;padding:6px 8px;background:#1a1220;box-shadow:inset 0 0 0 2px #3a2b47}
.flist em{font-style:normal;color:#6fe0a6;font-size:11px}
.chestart svg{width:96px!important}
.rlist{display:grid;gap:6px;margin-top:10px}
.rlist>div{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#1a1220;box-shadow:inset 0 0 0 2px #3a2b47}
.rlist .ok{box-shadow:inset 0 0 0 2px #2f9a68}
.rlist .nx{box-shadow:inset 0 0 0 2px #ffa24c}
.rlist .rat{flex:none;width:52px;font-family:'Press Start 2P';font-size:8px;color:#9c8db0}
.rlist .rnm{flex:1 1 auto;min-width:0;font-size:13px;color:#f8ecd2}
.rlist .rnm small{display:block;font-size:10.5px;color:#ffcf86}
.rlist .btn{flex:none}
.chk{display:flex;align-items:center;gap:8px;font-size:13px;color:#e7d3aa;margin-top:8px}
.chk input{width:18px!important;height:18px;margin:0!important;accent-color:#ffa24c}
textarea{display:block;width:100%;margin-top:10px;padding:10px;background:#0b070d;border:0;box-shadow:inset 0 0 0 2px #4b3858;color:#f8ecd2;font:inherit;font-size:16px;resize:vertical;outline:none}
button.mate{display:block;width:100%}
button.mate:hover{box-shadow:inset 0 0 0 2px #ffa24c}
.seg{display:flex;gap:6px;margin-top:10px}
.seg button{flex:1 1 0;padding:8px 4px;font-size:12.5px;background:#1a1220;box-shadow:inset 0 0 0 2px #4b3858;color:#bfae8e}
.seg button.on{background:#3a2a1c;box-shadow:inset 0 0 0 2px #ffa24c;color:#f8ecd2}
.mbr{display:grid;gap:4px;margin-top:10px}
.mbr div{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;padding:5px 0;border-top:2px dashed #3a2b47}
.mbr span i{display:inline-block;width:8px;height:8px;margin-right:6px}
.mbr small{display:block;font-size:11px;color:#9c8db0;margin-left:14px}
.mbr em{font-style:normal;font-size:11px;color:#7d6e90}.mbr em.on{color:#6fe0a6}
.mapsw{display:flex;gap:6px}
.mapsw button{flex:1 1 0;padding:7px 2px;background:#1a1220;box-shadow:inset 0 0 0 2px #4b3858;font-size:11.5px;color:#bfae8e;text-align:center}
.mapsw button b{display:block;font-family:'Press Start 2P';font-weight:400;font-size:9px;margin-top:3px}
.mapsw button.on{box-shadow:inset 0 0 0 2px var(--c);color:var(--c)}
.mapbox{box-shadow:inset 0 0 0 3px #0b070d}
.map{display:block;width:100%;height:auto}
.trophy{background:linear-gradient(180deg,#2b1f34,#1a1220);box-shadow:inset 0 0 0 3px #0b070d,inset 0 0 0 6px var(--c);padding:16px 16px 14px;text-align:center}
.tr-top{display:flex;justify-content:space-between;font-family:'Press Start 2P';font-size:7px;color:#9c8db0}
.tr-art{display:flex;justify-content:center;margin:12px 0 8px;background:radial-gradient(circle at 50% 60%,rgba(255,207,134,.25),transparent 65%)}
.tr-art svg{width:96px;height:auto}
.tr-t{font-family:'Press Start 2P';font-size:10px;line-height:1.6;color:var(--c)}
.tr-s{font-size:12.5px;color:#bfae8e;margin-top:6px}
.tr-q{font-size:13px;font-style:italic;color:#f2e2c0;margin-top:10px}
.tr-by{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;font-size:12px;color:#e7d3aa}
.tr-ava svg{width:24px;height:auto}
.scr.fabpad{padding-bottom:76px}
.fab{position:absolute;right:14px;bottom:74px;z-index:6;width:48px;height:48px;background:#ffa24c;color:#1d1424;font-family:'Press Start 2P';font-size:18px;box-shadow:inset -4px -4px 0 #c46a2a,0 0 0 3px #0b070d}
.fab[hidden]{display:none}
.qlist{display:grid;gap:6px;margin-top:10px;text-align:left}
.qrow{display:flex;align-items:center;gap:6px}
.qrow .qn{flex:1 1 auto;min-width:0;font-size:13px;color:#f8ecd2}
.qrow .qn i{display:inline-block;width:8px;height:8px;margin-right:6px}
.qrow .btn{flex:none}
.photo{display:block;position:relative;margin-top:10px;padding:10px;text-align:center;font-size:13px;color:#e7d3aa;box-shadow:inset 0 0 0 2px #4b3858;background:#1a1220;cursor:pointer}
.photo input{position:absolute;inset:0;width:100%!important;height:100%;opacity:0;cursor:pointer;margin:0!important}
.phprev{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:12px;color:#6fe0a6;text-align:left}
.phprev:empty{display:none}
.phprev img{width:56px;height:56px;object-fit:cover;box-shadow:0 0 0 2px #2f9a68}

/* волна 3 */
.row2{flex-wrap:wrap}
.row2>.linkc{flex:1 1 calc(50% - 4px)}
.pyr{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:12px}
.prow{position:relative;display:flex;justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;background:#0b070d;box-shadow:inset 0 0 0 2px var(--c);font-size:11px;color:#f2e2c0;overflow:hidden;min-width:0}
.prow i{position:absolute;left:0;top:0;bottom:0;background:var(--c);opacity:.28}
.prow span,.prow b{position:relative;white-space:nowrap}
.prow b{font-family:'Press Start 2P';font-weight:400;font-size:7px;color:var(--c)}
.tier{box-shadow:inset 0 0 0 3px #0b070d,inset 0 0 0 5px #4b3858}
.tkey{display:flex;align-items:center;gap:8px;margin-top:6px}
.keyi svg{width:26px;height:auto}
.keyb svg{width:110px;height:auto}
.wl{display:grid;gap:5px;margin-top:10px}
.wi{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 9px;background:#1a1220;box-shadow:inset 0 0 0 2px #3a2b47;font-size:13px;color:#f2e2c0}
button.wi:hover{box-shadow:inset 0 0 0 2px var(--c,#ffa24c)}
.wi span{min-width:0}
.wi em{flex:none;font-style:normal;font-size:11px;color:#7d6e90}
.wi em.op{color:#6fe0a6}.wi em.tk{color:#ffcf86}
.klist{display:grid;gap:0;max-height:240px;overflow-y:auto;margin-top:8px}
.kc{display:inline-block;font-size:10px;color:var(--c);box-shadow:inset 0 0 0 1px var(--c);padding:1px 5px;white-space:nowrap}
.xc{display:inline-block;font-size:10px;color:#bfae8e;white-space:nowrap}
.tnodes{display:grid;gap:6px;margin-top:10px}
.tn{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:7px 8px;background:#1a1220;box-shadow:inset 0 0 0 2px #3a2b47}
button.tn:hover{box-shadow:inset 0 0 0 2px #ffa24c}
.tn.on{box-shadow:inset 0 0 0 2px #2f9a68}
.tn .ti{flex:none}.tn .ti svg{width:34px;height:auto}
.tn .tt{flex:1 1 auto;min-width:0}
.tn .tt b{display:block;font-size:13px;color:#f8ecd2;font-weight:600;line-height:1.3}
.tn .tt small{display:block;font-size:11px;color:#9c8db0;line-height:1.3;margin-top:2px}
.tn .tc{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px;max-width:42%}
.band.here{box-shadow:inset 0 0 0 3px #0b070d,inset 0 0 0 5px #ffa24c}
.band.passed{opacity:.85}
.youhere{font-family:'Press Start 2P';font-size:7px;color:#1d1424;background:#ffa24c;padding:4px 6px}
.bforms{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.bforms>span{display:flex;flex-direction:column;align-items:center;gap:3px;width:74px;text-align:center}
.bforms svg{width:40px;height:auto}
.bforms small{font-size:10.5px;color:#e7d3aa;line-height:1.2}
.bforms .dim small{color:#7d6e90}
.gkeys{margin-top:4px;text-align:right}

/* бассейн */
.chips2{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.chips2::-webkit-scrollbar{display:none}
.chips2 button{flex:none;font-size:11.5px;padding:5px 8px;background:#1a1220;box-shadow:inset 0 0 0 2px #3a2b47;color:#bfae8e;white-space:nowrap}
.chips2 button.on{box-shadow:inset 0 0 0 2px var(--c);color:var(--c);background:#241a2d}
.pl{display:grid;gap:5px;margin-top:10px}
.pi{display:flex;align-items:center;gap:8px;padding:7px 9px;background:#1a1220;box-shadow:inset 0 0 0 2px #3a2b47}
.pi .pn{flex:1 1 auto;min-width:0;font-size:13px;color:#f2e2c0;line-height:1.3}
.pi .pn small{display:block;font-size:10.5px;color:#9c8db0;margin-top:2px}
.pi .pn small i{display:inline-block;width:7px;height:7px;margin-right:5px}
.pi .btn{flex:none;padding:6px 12px;font-size:11px}
.pi em{flex:none;font-style:normal;font-size:11px;color:#6fe0a6}
.picks{box-shadow:inset 0 0 0 3px #0b070d,inset 0 0 0 5px #2f9a68}
.pool-link{display:block;margin-top:8px}

/* мини-апп */
body{background:#150f1a}
.loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;color:#bfae8e}
.loading svg{width:96px;height:auto}
.yt{position:relative;margin-top:12px;aspect-ratio:16/9;background:#0b070d;box-shadow:inset 0 0 0 2px #4b3858}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.recent{display:grid;gap:6px;margin-top:10px}
.recent div{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:#e7d3aa}
.recent em{font-style:normal;color:#6fe0a6;white-space:nowrap}
.mbox textarea,.mbox input{font-size:16px}
