:root{--bg:#FBF7F0;--card:#fff;--text:#2B2420;--muted:#6E6259;--primary:#2A9D8F;--accent:#C4663F;--line:#E6DCCB;--soft:#F2E8D8}
@media (prefers-color-scheme:dark){:root{--bg:#1c1815;--card:#26211d;--text:#f3ece2;--muted:#b3a698;--line:#3a322b;--soft:#2f2823}}
*{box-sizing:border-box}
body{margin:0;font-family:Nunito,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.top{position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--line);z-index:5}
.bar{display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{font-weight:800;font-size:1.25rem;color:var(--text);text-decoration:none}
nav{display:flex;gap:16px;align-items:center}
nav a{color:var(--text);text-decoration:none;font-weight:600}
.btn{background:var(--primary);color:#fff!important;padding:8px 16px;border-radius:999px;text-decoration:none;font-weight:800;display:inline-block}
.btn.big{padding:12px 24px;margin:4px 8px 4px 0}
.btn.ghost{background:transparent;color:var(--primary)!important;border:2px solid var(--primary)}
.hero{background:var(--soft);padding:56px 0;margin-bottom:8px}
.hero h1{font-size:clamp(2rem,6vw,3.2rem);margin:0 0 8px;font-weight:800}
.hero p{font-size:1.15rem;color:var(--muted);margin:0 0 20px}
section.wrap{padding-top:32px;padding-bottom:8px}
h2{font-size:1.6rem;margin:0 0 16px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.games{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--soft)}
.games .card img{aspect-ratio:1/1;object-fit:contain}
.card .in{padding:12px 14px 16px}
.card h3{margin:0 0 4px;font-size:1.05rem}
.card p{margin:4px 0 0;color:var(--muted);font-size:.93rem}
.tag{display:inline-block;background:var(--soft);color:var(--accent);font-weight:800;font-size:.75rem;padding:2px 10px;border-radius:999px;margin-bottom:6px}
.muted{color:var(--muted)}
input[type=search]{width:100%;max-width:420px;padding:10px 16px;margin-bottom:16px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit}
footer{margin-top:48px;padding:24px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
@media(max-width:700px){.bar{height:auto;flex-direction:column;align-items:flex-start;padding:8px 16px;gap:4px}nav{gap:14px;overflow-x:auto;max-width:100%;padding-bottom:4px}nav a{white-space:nowrap}}
.card p,.card h3{overflow-wrap:anywhere}
main.wrap{padding-top:24px;min-height:60vh}
nav a.on{color:var(--primary)}
a.card{text-decoration:none;color:inherit}
.back{display:inline-block;margin-bottom:12px;color:var(--primary);font-weight:800;text-decoration:none}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.chip{border:1px solid var(--line);background:var(--card);color:var(--text);padding:6px 14px;border-radius:999px;font:inherit;font-weight:600;cursor:pointer}
.chip.on{background:var(--primary);color:#fff;border-color:var(--primary)}
.form{max-width:420px;display:flex;flex-direction:column;gap:12px}
.form input{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit}
.form button,button.btn{border:0;cursor:pointer;font:inherit;font-weight:800}
.form .btn{text-align:center}
.btn.red{background:var(--accent)}
.msg{padding:10px 14px;border-radius:12px;background:var(--soft)}
.msg.err{color:#c0392b}
.detail{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
@media(min-width:760px){.detail{grid-template-columns:320px minmax(0,1fr)}}
.detail img{width:100%;border-radius:16px;background:var(--soft)}
.facts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.facts span{background:var(--soft);padding:4px 12px;border-radius:999px;font-weight:600;font-size:.9rem}
.avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;background:var(--soft)}
.row{display:flex;gap:16px;align-items:center;margin-bottom:16px}
.links a{margin-right:12px;color:var(--primary);font-weight:800}
.hero .btn{margin-top:4px}
.hero-inline{padding:24px 0 8px}.hero-inline h1{font-size:clamp(2rem,6vw,3rem);margin:0 0 8px;font-weight:800}
.toolbar{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
.toolbar input[type=search]{flex:1;min-width:200px;margin-bottom:12px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px;display:grid;gap:12px}
.rng input[type=range]{width:100%;accent-color:var(--primary)}
select{border:1px solid var(--line);background:var(--card);color:var(--text);padding:6px 12px;border-radius:999px;font:inherit;font-weight:600}

.star{background:none;border:0;font-size:2rem;color:var(--line);cursor:pointer;padding:0 2px}.star.on{color:#E3A33B}.star:disabled{cursor:default}
.bar2{height:10px;background:var(--soft);border-radius:99px;overflow:hidden;margin:8px 0}.bar2 i{display:block;height:100%;background:var(--primary)}
.act{margin:0 0 10px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:grid;place-items:center;z-index:20;padding:16px}
.modal .box{background:var(--card);border-radius:16px;padding:16px;max-width:420px;width:100%;display:grid;gap:10px}
.modal video{width:100%;border-radius:12px;background:#000;max-height:50vh}
.modal input{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit}
.btn.ghost{background:transparent;color:var(--primary)!important;border:2px solid var(--primary)}

.tabs a.chip{text-decoration:none}
textarea{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit}
.form select{padding:10px 14px;border-radius:12px}
.post{margin-bottom:12px}.pre{white-space:pre-wrap}
.chat{max-height:50vh;overflow:auto;display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.bub{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px 12px;max-width:80%;align-self:flex-start}
.bub.me{align-self:flex-end;background:var(--soft)}.bub small{color:var(--muted)}
.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;max-width:600px}th,td{padding:6px 10px;border-bottom:1px solid var(--line);text-align:left}

[hidden]{display:none!important}
details.card{margin-bottom:10px}details summary{cursor:pointer}details .form{max-width:none}
label{display:flex;gap:8px;align-items:center}

.step{display:flex;gap:8px;padding:4px 0}

.swapf{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.swapf select,.swapf input{padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit}
.plan{margin-bottom:8px}.plan .evt{margin:4px 0 6px;padding:4px 10px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;width:100%;max-width:360px}
.slot{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:4px 0;border-top:1px dashed var(--line)}.slot>span{min-width:180px}

/* ================= Community (matches the app) ================= */
:root{--c-sec:#6B7A3A;--c-ter:#C4663F;--c-ok:#4C9A5B;--c-warn:#E3A33B;--c-err:#C0392B;--c-acc1:#F2E8D8;--c-acc3:#B5A996;--logo:#22302C;--cream:#F6F0E4}
@media (prefers-color-scheme:dark){:root{--primary:#34A99B;--c-sec:#8C9A4E;--c-ter:#D5754B;--c-ok:#5DB36D;--c-warn:#EBB24E;--c-err:#E5574A;--c-acc1:#33291F;--c-acc3:#85776A;--bg:#1A1411;--card:#261E19;--line:#3F342D;--soft:#33291F;--text:#F3ECE2;--muted:#BDAE9F}}
.ic{fill:currentColor;flex:none;vertical-align:middle}
.cm{max-width:720px;margin:0 auto;padding-bottom:24px}
.cm h1,.cm h2,.cm h3,.cm h4{overflow-wrap:anywhere}
.cm-head{display:flex;align-items:center;gap:12px;margin:8px 0 16px}
.cm-head>div:first-child{flex:1;min-width:0}
.cm-head h1{font-size:clamp(1.6rem,4.5vw,2rem);line-height:1.15;margin:0;font-weight:800;letter-spacing:-.01em}
.cm-head p{margin:4px 0 0;color:var(--muted)}
.cm-acts{display:flex;gap:8px;align-items:center}
.cm-round{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--c-acc1);color:var(--text);border:0;cursor:pointer;text-decoration:none}
.cm-round.plain{background:transparent}
.cm-round:hover{filter:brightness(.95)}
.cm-load{color:var(--muted);padding:24px 0;text-align:center}
.bebas{font-family:'Bebas Neue',Nunito,sans-serif;font-weight:400;letter-spacing:.01em;text-transform:uppercase}
/* Logo-style banners */
.cm-intro{border-radius:24px;border:1px solid var(--line);overflow:hidden;background:linear-gradient(color-mix(in srgb,var(--card) 82%,transparent),color-mix(in srgb,var(--card) 82%,transparent)),url(img/community_intro_bg.jpg) center/cover}
.cm-intro .frame,.cm-idea .frame{margin:12px;padding:18px 16px 20px;border:2.5px solid var(--text);text-align:center}
.cm-intro h2{font-size:clamp(2.4rem,8vw,3rem);line-height:.95;margin:0}
.cm-intro .small{font-size:.9rem;letter-spacing:.3em;margin:8px 0 10px}
.cm-intro p:last-child{margin:0 auto;max-width:440px;font-weight:600}
.cm-idea{border-radius:24px;overflow:hidden;margin-top:20px;color:var(--cream);background:linear-gradient(rgba(34,48,44,.86),rgba(34,48,44,.86)),url(img/community_idea_bg.jpg) center/cover}
.cm-idea .frame{border-color:var(--cream)}
.cm-idea h2{font-size:clamp(2.2rem,7.5vw,2.8rem);line-height:.95;margin:0 0 10px;color:var(--cream)}
.cm-idea p{margin:0 auto 14px;max-width:420px;font-weight:600;opacity:.9}
.cm-cream{background:var(--cream);color:var(--logo);border:0;font:inherit;font-weight:900;padding:11px 12px 11px 16px;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.cm-cream:hover{background:#fff}
/* Sections */
.cm-sec{display:flex;justify-content:space-between;align-items:baseline;font-size:1.1rem;font-weight:800;margin:26px 0 10px}
.cm-sec span{color:var(--primary);font-size:.95rem}
.cm-bubbles{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}
.cm-bub{width:72px;flex:none;text-align:center;text-decoration:none;color:var(--text);font-size:.8rem;font-weight:700}
.cm-bub .ring{width:64px;height:64px;margin:0 auto 5px;border-radius:50%;padding:3px;border:2.5px solid var(--primary);display:grid;place-items:center;overflow:hidden}
.cm-bub .ring img,.cm-bub .ring .ph{width:100%;height:100%;border-radius:50%;object-fit:cover}
.cm-bub.more .ring{border:1.5px solid var(--c-acc3);background:var(--c-acc1);color:var(--muted)}
.cm-bub>span:last-child{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph{display:grid;place-items:center;background:var(--c-acc1);color:var(--muted)}
/* Made for you */
.cm-scroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;margin-right:-16px;padding-right:16px}
.cm-big{flex:none;width:250px;min-height:292px;scroll-snap-align:start;background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden;display:flex;flex-direction:column}
.cm-big .cover{display:block;height:112px}
.cm-big .cover img,.cm-big .cover .ph{width:100%;height:112px;object-fit:cover}
.cm-big .in{padding:12px 14px;display:flex;flex-direction:column;flex:1}
.cm-big a{text-decoration:none;color:inherit}
.cm-big h4{margin:0;font-size:1rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-big .desc{margin:2px 0 0;color:var(--muted);font-size:.85rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cm-big .meta{margin:auto 0 0;padding-top:8px}
.meta{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:.85rem;font-weight:700}
.cm-big .foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px}
.cm-big .foot .meta .ic{color:var(--c-ter)}
/* Status buttons */
.cm-join{border:1.5px solid var(--primary);background:transparent;color:var(--primary);font:inherit;font-weight:800;border-radius:10px;padding:4px 12px;min-width:64px;cursor:pointer}
.cm-join.big{background:var(--primary);color:#fff;border-radius:12px;padding:6px 16px}
.cm-join:hover{filter:brightness(1.05)}
.cm-join:disabled{opacity:.6}
.cm-in{color:var(--c-ok);font-weight:800;display:inline-flex;align-items:center;gap:2px}
.cm-req{color:var(--muted);font-weight:700;font-size:.85rem}
.cm-blk{color:var(--c-err);font-weight:700;font-size:.85rem}
/* All communities */
.cm-search{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:0 14px;color:var(--muted)}
.cm-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}
.cm-search input{flex:1;border:0;background:transparent;color:var(--text);font:inherit;padding:13px 0;outline:0;margin:0;max-width:none}
#cmList{margin-top:10px}
.cm-row{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:10px 12px 10px 10px;margin-bottom:10px}
.cm-row>a{display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-decoration:none;color:inherit}
.cm-row:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--line))}
.cm-row .thumb{width:58px;height:58px;border-radius:16px;object-fit:cover;flex:none}
.cm-row .txt{min-width:0}.cm-row b{display:block;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-row small{color:var(--muted)}
.cm-none{text-align:center;color:var(--muted)}
/* How it works */
.cm-how{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cm-how div{height:100px;border-radius:18px;background-size:cover;background-position:center;position:relative;overflow:hidden;display:grid;place-items:center;text-align:center}
.cm-how div::before{content:"";position:absolute;inset:0;background:rgba(34,48,44,.45)}
.cm-how span{position:relative;color:#fff;font-weight:900;padding:6px;line-height:1.15;text-shadow:0 0 6px rgba(0,0,0,.55)}
/* Proposals */
.cm-prop{display:block;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin-bottom:10px;text-decoration:none;color:inherit}
.cm-prop .ptop{display:flex;align-items:center;gap:8px}.cm-prop .ptop b{flex:1}
.cm-prop.ok .ic{color:var(--c-ok)}.cm-prop.wait .ic{color:var(--c-warn)}.cm-prop.no .ic{color:var(--muted)}
.cm-prop p{margin:6px 0 0;color:var(--muted);font-size:.88rem}
.cm-pill{display:inline-block;font-size:.75rem;font-weight:800;padding:2px 9px;border-radius:10px;line-height:1.5}
.cm-pill.ok{color:var(--c-ok);background:color-mix(in srgb,var(--c-ok) 14%,transparent)}
.cm-pill.wait{color:#B07A1A;background:color-mix(in srgb,var(--c-warn) 18%,transparent)}
.cm-pill.no{color:var(--muted);background:var(--c-acc1)}
@media (prefers-color-scheme:dark){.cm-pill.wait{color:var(--c-warn)}}
/* Buttons */
.cm-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--primary);color:#fff;border:0;border-radius:12px;padding:10px 18px;font:inherit;font-weight:800;cursor:pointer;text-decoration:none}
.cm-btn:hover{filter:brightness(1.06)}.cm-btn:disabled{opacity:.6;cursor:default}
.cm-btn.wide{width:100%;min-height:48px;border-radius:14px;margin-bottom:12px}
.cm-btn.ghost{background:transparent;color:var(--primary);box-shadow:inset 0 0 0 1.5px var(--primary)}
.cm-btn.red{background:var(--c-err)}.cm-btn.ghost.red{background:transparent;color:var(--c-err);box-shadow:inset 0 0 0 1.5px var(--c-err)}
.cm-btn.sm{padding:5px 12px;font-size:.85rem;border-radius:16px;min-height:32px}
.cm-btn.okb{background:var(--c-ok)}
.cm-btn:focus-visible,.cm-join:focus-visible,.cm-round:focus-visible,.cm-tabs a:focus-visible,.day:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.cm-row-btns{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.center{text-align:center}
/* Hub */
.cm-banner{border-radius:20px;overflow:hidden;margin-bottom:12px}
.cm-banner img{width:100%;aspect-ratio:16/7;max-height:260px;object-fit:cover;display:block}
.cm-banner.in{border-radius:14px;margin:0 0 12px}
.cm-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px;margin-bottom:12px}
.cm-card h3{margin:0 0 6px;font-size:1.05rem;font-weight:800}
.cm-card p{margin:0 0 6px}.cm-card p:last-child{margin-bottom:0}
.cm-card .cm-btn{margin-top:8px}
.cm-menu{position:relative}
.cm-menu .pop{position:absolute;right:0;top:44px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 28px rgba(0,0,0,.18);padding:6px;min-width:220px;z-index:10}
.cm-menu .pop a,.cm-menu .pop button{display:flex;gap:10px;align-items:center;width:100%;padding:10px 12px;border:0;background:none;color:var(--text);font:inherit;font-weight:600;text-decoration:none;border-radius:10px;cursor:pointer;text-align:left}
.cm-menu .pop a:hover,.cm-menu .pop button:hover{background:var(--soft)}
.cm-menu .pop .red{color:var(--c-err)}
.cm-tabs{display:grid;gap:8px;margin:16px 0}
.cm-tabs .trow{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:8px}
.cm-tabs a{height:40px;display:grid;place-items:center;border-radius:20px;background:var(--card);border:1px solid var(--c-acc1);color:var(--text);font-weight:600;text-decoration:none;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 6px}
.cm-tabs a:hover{border-color:var(--primary)}
.cm-tabs a.on{background:var(--primary);border-color:var(--primary);color:#fff}
.cm-post{display:block;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:10px;text-decoration:none;color:inherit}
.cm-post:hover,.cm-ev.link:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--line))}
.cm-post .t{display:flex;gap:6px;align-items:center}
.cm-post h4{margin:0;font-size:1.02rem;font-weight:800;line-height:1.3}
.cm-post small{color:var(--muted);display:block;margin-top:2px}
.cm-post p{margin:6px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pinned{color:var(--c-ter);display:inline-flex}
.cm-compose{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px;display:grid;gap:10px}
.cm-compose label,.cm-form label{display:grid;gap:4px;font-weight:700;font-size:.92rem;align-items:stretch}
.cm-compose input,.cm-compose textarea,.cm-form input,.cm-form textarea{padding:11px 14px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;font-weight:400;width:100%}
.cm-compose input:focus,.cm-compose textarea:focus,.cm-form input:focus,.cm-form textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}
.cm-compose .cm-row-btns{justify-content:flex-end;margin:0}
.cm-ev{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:10px;color:inherit;text-decoration:none}
.cm-ev.link{align-items:center}.cm-ev.link>.ic{color:var(--muted)}
.cm-ev .ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:none;color:var(--c-ter);background:color-mix(in srgb,var(--c-ter) 14%,transparent)}
.cm-ev .ico.done{color:var(--muted);background:var(--c-acc1)}
.cm-ev .in{flex:1;min-width:0}
.cm-ev .t{display:flex;gap:8px;align-items:center;justify-content:space-between}
.cm-ev h4{margin:0;font-weight:800;font-size:1rem}
.cm-ev small{display:block;color:var(--muted)}.cm-ev small.lg{font-size:.82rem}
.cm-ev p{margin:6px 0 0;font-size:.92rem}
.cm-ev .res{font-size:.85rem}
.cm-leave{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:24px;padding:12px;border-radius:14px;border:1.5px solid var(--line);background:transparent;color:var(--c-err);font:inherit;font-weight:800;cursor:pointer}
.cm-leave:hover{border-color:var(--c-err)}
.cm-fab{position:fixed;right:max(20px,calc(50vw - 380px));bottom:24px;width:58px;height:58px;border-radius:50%;background:var(--c-ter);color:#fff;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.25);z-index:8}
.cm-fab:hover{filter:brightness(1.07)}
.cm-empty{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:28px 12px;color:var(--muted)}
.cm-empty .ic{opacity:.7;margin-bottom:4px}.cm-empty b{color:var(--text)}.cm-empty .cm-btn{margin-top:10px}
/* Calendar */
.cm-month{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:10px 12px 12px}
.cm-month .mh{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.grid7{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.grid7 .wd{text-align:center;font-size:.72rem;font-weight:700;color:var(--muted);padding:2px 0}
.day{aspect-ratio:1/1;max-height:48px;border:0;border-radius:10px;background:none;color:var(--text);font:inherit;font-size:.85rem;font-weight:500;cursor:pointer}
.day:hover{background:var(--soft)}
.day.meet{background:color-mix(in srgb,var(--c-ter) 22%,transparent);font-weight:700}
.day.tour{background:color-mix(in srgb,var(--c-sec) 22%,transparent);font-weight:700}
.day.both{background:linear-gradient(135deg,color-mix(in srgb,var(--c-ter) 22%,transparent) 50%,color-mix(in srgb,var(--c-sec) 22%,transparent) 50%);font-weight:700}
.day.today{box-shadow:inset 0 0 0 1.5px var(--primary);font-weight:700}
.day.sel{background:var(--primary);color:#fff;font-weight:700}
.legend{display:flex;gap:14px;justify-content:center;margin-top:8px;font-size:.75rem;color:var(--muted)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.legend .meet{background:color-mix(in srgb,var(--c-ter) 45%,transparent)}.legend .tour{background:color-mix(in srgb,var(--c-sec) 45%,transparent)}
.cm-day{margin:16px 0 8px;font-size:1rem;font-weight:700}
.cm-cal-item{display:flex;gap:10px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px 8px 10px 12px;margin-bottom:10px}
.cm-cal-item .ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none}
.cm-cal-item.meet .ico{color:var(--c-ter);background:color-mix(in srgb,var(--c-ter) 15%,transparent)}
.cm-cal-item.tour .ico{color:var(--c-sec);background:color-mix(in srgb,var(--c-sec) 15%,transparent)}
.cm-cal-item .in{flex:1;min-width:0}.cm-cal-item b{display:block}
.cm-cal-item small{display:block;color:var(--muted);font-size:.82rem}
.cm-cal-item p{margin:4px 0 0;font-size:.9rem}
.cm-cal-item .go{display:flex;align-items:center;gap:10px;margin-top:6px;flex-wrap:wrap}
/* Members */
.cm-mem{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px 12px;margin-bottom:8px}
.cm-mem .av{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none}
.cm-mem .in{flex:1;min-width:140px}.cm-mem b{display:block}.cm-mem small{color:var(--muted)}
.cm-mem .cm-row-btns{margin:0}
/* Chat */
.cm-chatpage{display:flex;flex-direction:column;min-height:calc(100vh - 140px)}
.cm-chat{flex:1;min-height:50vh;max-height:calc(100vh - 300px);overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--soft);border-radius:20px}
.cm-chat .sep{text-align:center;margin:8px 0}.cm-chat .sep span{font-size:.75rem;font-weight:700;color:var(--muted);background:var(--bg);padding:2px 10px;border-radius:10px}
.msg-b{max-width:78%;align-self:flex-start;background:var(--card);border-radius:18px 18px 18px 6px;padding:8px 12px 6px}
.msg-b.me{align-self:flex-end;background:var(--primary);color:#fff;border-radius:18px 18px 6px 18px}
.msg-b .who{font-size:.8rem;font-weight:800;color:var(--c-ter);display:flex;align-items:center;gap:6px}
.msg-b .txt{white-space:pre-wrap;overflow-wrap:anywhere}
.msg-b .meta{display:flex;justify-content:flex-end;align-items:center;gap:2px;font-size:.7rem;opacity:.75;margin-top:2px;font-weight:600}
.msg-b.me .meta{color:#fff}
.badge{font-size:.62rem;font-weight:800;letter-spacing:.03em;padding:0 6px;border-radius:8px;border:1px solid}
.badge.admin{color:var(--c-ter);background:color-mix(in srgb,var(--c-ter) 18%,transparent)}
.badge.staff{color:var(--c-sec);background:color-mix(in srgb,var(--c-sec) 18%,transparent)}
.badge.moderator{color:var(--primary);background:color-mix(in srgb,var(--primary) 18%,transparent)}
.mini{border:0;background:none;color:inherit;opacity:.7;cursor:pointer;padding:2px;border-radius:6px;display:inline-grid}
.mini:hover{opacity:1;background:rgba(127,127,127,.15)}
.cm-fine{text-align:center;color:var(--muted);font-size:.8rem;margin:8px 0}
.cm-send{display:flex;gap:8px;align-items:center;position:sticky;bottom:12px;margin-top:8px}
.cm-send input{flex:1;padding:13px 18px;border-radius:24px;border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;min-width:0}
.cm-send input:focus{outline:0;border-color:var(--primary)}
.cm-sendbtn{width:48px;height:48px;border-radius:50%;border:0;background:var(--primary);color:#fff;display:grid;place-items:center;cursor:pointer;flex:none}
/* Post detail + comments */
.cm-kicker{margin:0 0 2px!important;font-size:.85rem;font-weight:700;color:var(--muted)}
.cm-card.post .pre{white-space:pre-wrap;line-height:1.6}
.cm-com{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin-bottom:8px}
.cm-com .who{display:flex;align-items:center;gap:8px}.cm-com .who small{color:var(--muted);flex:1}
.cm-com p{margin:4px 0 0;white-space:pre-wrap}
/* Sheets (proposal, meetup, report) */
.cm-sheet .box{position:relative;max-width:480px;max-height:92vh;overflow-y:auto;padding:22px 20px;border-radius:24px;background:var(--bg);box-shadow:0 20px 60px rgba(0,0,0,.35)}
.cm-sheet h2{margin:0 0 12px;font-size:1.5rem;font-weight:800}
.cm-x{position:absolute;right:12px;top:12px;width:36px;height:36px;border-radius:50%;border:0;background:transparent;color:var(--text);display:grid;place-items:center;cursor:pointer}
.cm-x:hover{background:var(--soft)}
.cm-x.sm{position:static;width:32px;height:32px;color:var(--muted)}
.cm-start{margin-top:34px;background:var(--logo);border-radius:22px;padding:6px}
.cm-start{outline:2.5px solid var(--cream);outline-offset:-14px;padding:28px 22px;text-align:center;color:var(--cream)}
.cm-start h2{font-size:2.5rem;line-height:.95;margin:0 0 10px;color:var(--cream)}
.cm-start p{margin:0;font-weight:600;font-size:.92rem}
.cm-benefits{list-style:none;margin:14px 0;padding:6px 14px;background:var(--card);border:1px solid var(--line);border-radius:20px}
.cm-benefits li{display:flex;gap:12px;align-items:center;padding:9px 0}
.cm-benefits li>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none}
.cm-benefits b{display:block;font-size:.95rem}.cm-benefits small{color:var(--muted);font-size:.82rem}
.b1{color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,transparent)}.b2{color:var(--c-ter);background:color-mix(in srgb,var(--c-ter) 14%,transparent)}
.b3{color:var(--c-sec);background:color-mix(in srgb,var(--c-sec) 14%,transparent)}.b4{color:#3B82C4;background:rgba(59,130,196,.14)}.b5{color:var(--c-warn);background:color-mix(in srgb,var(--c-warn) 16%,transparent)}
.cm-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);padding:0;margin:4px 0 16px;text-align:center}
.cm-steps li{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.88rem}
.cm-steps li .ic{width:40px;height:40px;padding:9px;border-radius:50%;border:1.5px solid var(--line);color:var(--muted);margin-bottom:4px}
.cm-steps li.on .ic{background:var(--primary);border-color:var(--primary);color:#fff}
.cm-steps small{color:var(--muted);font-size:.75rem}
.cm-form{display:grid;gap:12px}
.cm-form .cnt{justify-self:end;color:var(--muted);font-weight:400;font-size:.75rem}
.cm-form fieldset{border:0;padding:0;margin:0}.cm-form legend,.cm-form .lbl{font-weight:700;font-size:.92rem;margin-bottom:6px;padding:0}
.cm-form .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cm-chips{display:flex;flex-wrap:wrap;gap:8px}
.cm-chip{border:0;background:var(--c-acc1);color:var(--text);font:inherit;font-weight:600;padding:6px 14px;border-radius:16px;cursor:pointer;display:inline-flex!important;align-items:center;gap:6px}
.cm-chip.on,.cm-chip:has(input:checked){background:color-mix(in srgb,var(--primary) 22%,transparent);color:var(--text)}
.cm-chip input{accent-color:var(--primary);margin:0;width:auto}
.cm-pick{display:flex;align-items:center;gap:14px}
.cm-pick .prev{width:90px;height:56px;border-radius:12px;background:var(--c-acc1);display:grid;place-items:center;color:var(--muted);overflow:hidden}
.cm-pick .prev img{width:100%;height:100%;object-fit:cover}
.cm-link{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px;color:#3B82C4;font-weight:700;cursor:pointer;background:none;border:0;font:inherit}
.cm-link.red{color:var(--c-err)}
.cm-preview{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.cm-preview .cv{height:86px;background:var(--c-acc1);display:grid;place-items:center;color:var(--muted)}
.cm-preview .cv img{width:100%;height:86px;object-fit:cover}
.cm-preview .in{padding:10px 14px}.cm-preview b{display:block}.cm-preview small{color:var(--muted)}
.cm-sent{text-align:center;margin-top:24px}.cm-sent .party{font-size:4rem;line-height:1}
.cm-sent h2{font-size:1.8rem!important;margin:8px 0!important}.cm-sent p{color:var(--muted);margin:0 0 16px}
.cm-track{list-style:none;padding:8px 16px;margin:0 0 16px;background:var(--card);border:1px solid var(--line);border-radius:20px}
.cm-track li{display:flex;gap:12px;align-items:center;padding:8px 0}
.cm-track li>.ic{width:30px;height:30px;padding:6px;border-radius:50%;flex:none}
.cm-track .ok>.ic{background:var(--c-ok);color:#fff}.cm-track .wait>.ic{background:var(--c-warn);color:#fff}.cm-track .go>.ic{background:var(--c-acc1);color:var(--primary)}
.cm-track b{display:block;font-size:.95rem}.cm-track small{color:var(--muted);font-size:.82rem}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:#2B2420;color:#fff;padding:12px 18px;border-radius:12px;font-weight:600;z-index:30;transition:opacity .2s,transform .2s;pointer-events:none;max-width:calc(100vw - 32px)}
#toast.on{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){#toast{transition:none}}
@media(min-width:900px){.cm-scroll{margin-right:0;padding-right:0}}
footer a{color:var(--primary)}
.cm-link[hidden]{display:none!important}
/* ---------- Profile ---------- */
.pf{display:grid;gap:40px;padding-bottom:24px}
@media(min-width:960px){.pf{grid-template-columns:340px minmax(0,1fr);align-items:start}.pf-id{position:sticky;top:84px}}
.pf-id{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:32px 24px 24px}
.pf-avatar{position:relative;width:168px;height:168px;display:grid;place-items:center}
.pf-ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--rank) calc(var(--p)*1%),var(--soft) 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 9px),#000 calc(100% - 8px));mask:radial-gradient(farthest-side,transparent calc(100% - 9px),#000 calc(100% - 8px))}
.pf-avatar img,.pf-avatar>span{width:136px;height:136px;border-radius:50%;object-fit:cover;background:var(--soft);display:grid;place-items:center;font-size:64px;font-weight:800;color:var(--primary)}
.pf-badge{position:absolute;right:-6px;bottom:-4px;width:64px;height:64px;padding:0;border:0;background:none;cursor:pointer;transition:transform .15s}
.pf-badge:hover{transform:scale(1.06)}.pf-badge:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:16px}
.pf-badge svg,.pf-step svg,.pf-ranks svg{width:100%;height:100%;display:block}
.pf-id h1{font-size:clamp(2rem,4vw,2.5rem);line-height:1;letter-spacing:-.03em;margin:20px 0 6px;font-weight:800;overflow-wrap:anywhere}
.pf-role{margin:0;color:var(--primary);font-weight:700}.pf-role.warn{color:#c0392b}
.pf-level{margin:16px 0 14px;border:0;cursor:pointer;background:color-mix(in srgb,var(--rank) 14%,transparent);color:var(--rank);font:inherit;font-weight:800;font-size:1.1rem;padding:8px 20px;border-radius:999px}
.pf-xp{width:100%;height:10px;border-radius:99px;background:var(--soft);overflow:hidden}.pf-xp i{display:block;height:100%;background:var(--rank);border-radius:99px}
.pf-xpline{width:100%;display:flex;justify-content:space-between;font-size:.9rem;margin-top:6px;font-variant-numeric:tabular-nums}
.pf-perk{margin:10px 0 0;font-weight:700}
.pf-switch{display:flex;background:var(--soft);border-radius:999px;padding:4px;margin:24px 0 16px;width:100%}
.pf-switch button{flex:1;border:0;background:none;font:inherit;font-weight:700;color:var(--muted);padding:8px 10px;border-radius:999px;cursor:pointer}
.pf-switch button.on{background:var(--card);color:var(--text)}
.pf-note{margin:0;font-size:.95rem}
.pf-actions{display:flex;gap:10px;width:100%}.pf-actions .btn{flex:1;text-align:center;cursor:pointer;border:0;font:inherit;font-weight:800}
.pf-actions .btn.ghost{border:2px solid var(--primary)}
.pf-link{margin-top:14px;border:0;background:none;color:var(--muted);font:inherit;text-decoration:underline;cursor:pointer}
.pf-main{display:flex;flex-direction:column;gap:48px;min-width:0}
.pf-h{display:flex;align-items:center;gap:12px;margin-bottom:16px}.pf-h h2{margin:0;font-size:1.4rem;letter-spacing:-.01em}
.pf-eye{margin-left:auto;border:1px solid var(--line);background:var(--card);color:var(--muted);font:inherit;font-size:.85rem;font-weight:700;padding:3px 12px;border-radius:999px;cursor:pointer}
.pf-eye.on{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 40%,transparent)}
.pf-more{margin-left:auto;border:0;background:none;color:var(--primary);font:inherit;font-weight:800;cursor:pointer;text-decoration:none;padding:0}
.pf-h .pf-eye+.pf-more{margin-left:0}
.pf-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pf-tiles.two{grid-template-columns:repeat(2,1fr);max-width:480px}
.pf-tile{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.pf-tile b{font-size:2.2rem;line-height:1;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.pf-tile b small{font-size:1.1rem;color:var(--muted);font-weight:600}
.pf-tile span{color:var(--muted);font-weight:600;font-size:.95rem}
.pf-mini{width:100%;height:6px;background:var(--soft);border-radius:9px;overflow:hidden}.pf-mini i{display:block;height:100%;background:var(--primary)}
.pf-sub{color:var(--muted);margin:12px 0 0}
.pf-ladder{display:grid;grid-template-columns:repeat(10,1fr);gap:8px}
@media(max-width:640px){.pf-ladder{grid-template-columns:repeat(5,1fr)}.pf-tiles{grid-template-columns:1fr 1fr 1fr;gap:8px}.pf-tile{padding:14px 10px}.pf-tile b{font-size:1.7rem}}
.pf-step{border:0;background:none;padding:4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;border-radius:14px;font:inherit;color:var(--muted);font-size:.8rem;font-weight:700}
.pf-step.next svg{filter:grayscale(1);opacity:.35}.pf-step.now{background:var(--soft);color:var(--text)}
.pf-games{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}
.pf-games a{aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;text-decoration:none;color:var(--text);font-size:.8rem;text-align:center;padding:0}
.pf-games img{width:100%;height:100%;object-fit:contain;background:#FBF7F0}
.pf-comms{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.pf-comm{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:12px;text-decoration:none;color:var(--text)}
.pf-comm img,.pf-ph{width:72px;height:72px;border-radius:14px;object-fit:cover;flex:none;background:var(--soft);display:grid;place-items:center;font-weight:800;font-size:1.6rem;color:var(--primary)}
.pf-comm b{font-size:1.05rem}.pf-comm p{margin:6px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.pill{display:inline-block;font-size:.8rem;font-weight:700;padding:2px 10px;border-radius:999px;background:color-mix(in srgb,#6B7A3A 14%,transparent);color:#4f5a2a}
.pill.mod{background:color-mix(in srgb,#C4663F 14%,transparent);color:#9a4a28}.pill.t{background:color-mix(in srgb,var(--primary) 14%,transparent);color:#1f7a70}.pill.o{background:color-mix(in srgb,#C4663F 12%,transparent);color:#9a4a28}
.pf-friends{display:flex;flex-wrap:wrap;gap:16px}
.pf-friend{display:flex;flex-direction:column;align-items:center;gap:6px;width:76px;text-align:center}
.pf-friend img,.pf-friend span{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--soft);display:grid;place-items:center;font-weight:800;font-size:1.4rem;color:var(--primary)}
.pf-friend b{font-size:.85rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}
.pf-act{list-style:none;margin:0;padding:0}
.pf-act li{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line)}
.pf-act li.more{display:none}.pf-act.all li.more{display:grid}
.pf-act .k{color:var(--muted);font-size:.9rem;font-weight:700}.pf-act .t{display:flex;flex-direction:column}.pf-act small{color:var(--muted)}
.pf-act time{color:var(--muted);font-size:.9rem;white-space:nowrap}
@media(max-width:520px){.pf-act li{grid-template-columns:minmax(0,1fr) auto}.pf-act .k{display:none}}
.pf-empty{background:var(--card);border:1px dashed var(--line);border-radius:20px;padding:24px}.pf-empty p{color:var(--muted);margin:4px 0 14px}.pf-empty .btn{border:2px solid var(--primary)}
.pf-dlg{position:relative;max-width:520px!important;max-height:88vh;overflow:auto;padding:24px!important;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.pf-dlg h2{margin:0 0 4px;font-size:1.5rem}.pf-x{position:absolute;top:10px;right:12px;border:0;background:none;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--muted)}
.pf-ranks{list-style:none;padding:0;margin:12px 0;display:flex;flex-direction:column;gap:6px}
.pf-ranks li{display:flex;align-items:center;gap:12px;padding:6px 8px;border-radius:14px}.pf-ranks li.now{background:var(--soft)}
.pf-ranks li svg{width:44px;height:44px;flex:none}.pf-ranks li:not(.done):not(.now) svg{filter:grayscale(1);opacity:.4}
.pf-ranks div{display:flex;flex-direction:column;flex:1}.pf-ranks small{color:var(--muted)}
.pf-xptab{width:100%;font-variant-numeric:tabular-nums}.pf-xptab td:not(:first-child){text-align:right}
.pf-form label{display:flex;flex-direction:column;align-items:stretch;gap:4px;font-weight:700;font-size:.95rem}
.pf-form label small{font-weight:400;color:var(--muted)}.pf-form .pf-check{flex-direction:row;align-items:center;font-weight:600}
.pf-form select{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit}
.pf-photo{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.pf-photo img,.pf-photo>span{width:72px;height:72px;border-radius:50%;object-fit:cover;background:var(--soft);display:grid;place-items:center;font-weight:800;font-size:1.6rem;color:var(--primary)}
.pf-photo .btn{flex-direction:row;cursor:pointer;border:2px solid var(--primary)}
.pf-qr{width:220px;margin:12px auto;background:#fff;padding:8px;border-radius:12px}.pf-qr svg{width:100%;height:auto;display:block}
.pf-linkbox input{width:100%;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit}
@media (prefers-reduced-motion:reduce){.pf-badge{transition:none}}

footer a{color:var(--primary)}
@media (prefers-color-scheme:dark){.pf-level{color:var(--rank-light)}.pill{color:#c9d58f}.pill.t{color:#7fd8cc}.pill.mod,.pill.o{color:#f0a586}}

/* ---------- Duels / tracker ---------- */
.pf-ranklink{margin:12px 0 0;font-size:.95rem}
.pf-duel{display:grid;grid-template-columns:repeat(3,1fr);background:var(--card);border:1px solid var(--line);border-radius:20px;text-decoration:none;color:var(--text);transition:border-color .15s}
.pf-duel:hover{border-color:var(--primary)}.pf-duel div{padding:20px 16px;display:flex;flex-direction:column;gap:4px}.pf-duel div+div{border-left:1px solid var(--line)}
.pf-duel b{font-size:2.2rem;line-height:1;font-weight:800;font-variant-numeric:tabular-nums}.pf-duel b small{font-size:1.1rem;color:var(--muted)}.pf-duel span{color:var(--muted);font-weight:600}
.pf-duelbtns{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}.pf-duelbtns .btn{border:0;cursor:pointer;font:inherit;font-weight:800}
.gt{display:flex;flex-direction:column;gap:40px;padding-bottom:24px}
.gt-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.gt-head h1{font-size:clamp(2rem,5vw,3rem);letter-spacing:-.03em;line-height:1;margin:0 0 8px}.gt-head p{margin:0;color:var(--muted)}
.gt-cta .btn{border:0;cursor:pointer;font:inherit;font-weight:800}
.gt-stats{margin-top:-16px}.gt-quick{display:flex;gap:8px;flex-wrap:wrap;margin-top:-24px}
.gt h2{font-size:1.4rem;margin:0 0 16px}
.gt-opp{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.gt-o{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:12px 16px}
.gt-o>div:nth-child(2){display:flex;flex-direction:column;flex:1;min-width:0}.gt-o small{color:var(--muted)}
.gt-av{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--soft);display:grid;place-items:center;font-weight:800;color:var(--primary);flex:none}.gt-av.s{width:26px;height:26px;font-size:.8rem}
.gt-wld{display:flex;gap:10px;font-weight:800;font-variant-numeric:tabular-nums}.gt-wld span{display:flex;flex-direction:column;align-items:center;min-width:24px}.gt-wld small{font-size:.7rem;color:var(--muted)}.gt-wld .w{color:var(--primary)}.gt-wld .l{color:#c0392b}
.gt-top{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}
.gt-top a{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--text)}.gt-top img,.gt-top a>span{width:100%;aspect-ratio:1;object-fit:contain;border-radius:14px;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;font-size:.8rem}.gt-top b{font-size:.9rem}.gt-top small{color:var(--muted)}
.gt-hist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.gt-play{display:flex;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:14px}
.gt-cover{width:72px;height:72px;flex:none;border-radius:12px;overflow:hidden;background:var(--soft)}.gt-cover img{width:100%;height:100%;object-fit:contain}
.gt-pbody{flex:1;min-width:0}.gt-ptop{display:flex;justify-content:space-between;gap:8px}.gt-ptop>div{display:flex;flex-direction:column}.gt-ptop small{color:var(--muted)}
.gt-del{border:0;background:none;color:var(--muted);font:inherit;font-size:.85rem;text-decoration:underline;cursor:pointer;align-self:flex-start}
.gt-res{list-style:none;margin:8px 0 0;padding:0}.gt-res li{display:flex;gap:10px;align-items:baseline;padding:3px 0}.gt-res .gt-pl{width:36px;color:var(--muted);font-weight:700;font-size:.9rem}
.gt-res li.win .gt-pl{color:var(--primary)}.gt-res b.me{color:var(--primary)}.gt-pts{margin-left:auto;font-weight:800;font-variant-numeric:tabular-nums}
.gt-note{margin:6px 0 0;color:var(--muted)}
.gt-dlg{max-width:560px!important}.gt-dlg h3{margin:18px 0 8px;font-size:1rem}
.gt-dlg input:not([type=checkbox]),.gt-dlg select{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;width:100%}
.gt-glist{display:flex;flex-direction:column;gap:4px;margin-top:8px;max-height:260px;overflow:auto}
.gt-glist button,.gt-sel{display:flex;align-items:center;gap:12px;border:0;background:var(--bg);border-radius:12px;padding:6px;font:inherit;color:var(--text);cursor:pointer;text-align:left}
.gt-glist img,.gt-glist span,.gt-sel img,.gt-sel>span{width:40px;height:40px;border-radius:8px;object-fit:contain;background:var(--soft)}.gt-sel b{flex:1}
.gt-mode{margin:0}
.gt-players,.gt-friends,.gt-add{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.gt-chip{display:inline-flex;align-items:center;gap:6px;background:var(--soft);border-radius:999px;padding:4px 10px 4px 4px;font-weight:700}.gt-chip button{border:0;background:none;font-size:1.1rem;cursor:pointer;color:var(--muted)}
.gt-tab{width:100%}.gt-tab td,.gt-tab th{padding:6px 4px}.gt-tab select,.gt-tab input{width:auto!important;min-width:70px}
.gt-teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:8px}.gt-team{background:var(--bg);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:6px}
.gt-team label,.gt-solo label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;font-weight:700}
.gt-solo{display:flex;flex-direction:column;gap:10px}
.gt-save{width:100%;margin-top:18px;border:0;cursor:pointer;font:inherit;font-weight:800}
@media(max-width:520px){.pf-duel b{font-size:1.7rem}.gt-play{flex-direction:column}.gt-cover{width:56px;height:56px}}

/* ================= Events ================= */
:root{--t-meet:#2A9D8F;--t-tour:#C4663F;--t-league:#6B7A3A;--t-pre:#7A5BB5;--t-other:#8A7B6C}
@media (prefers-color-scheme:dark){:root{--t-meet:#34A99B;--t-tour:#D5754B;--t-league:#9AAA58;--t-pre:#A48AD8;--t-other:#B3A698}}
.ev{max-width:1100px;margin:0 auto;padding-bottom:24px}
.ev-head{margin:8px 0 18px;max-width:640px}
.ev-head h1{font-size:clamp(2rem,6vw,3rem);line-height:1;margin:0 0 8px;font-weight:900;letter-spacing:-.02em}
.ev-head p{margin:0;font-size:1.05rem;color:var(--muted)}
/* Next up */
.ev-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);background:var(--logo);color:var(--cream);border-radius:24px;overflow:hidden;text-decoration:none;margin-bottom:24px;min-height:260px}
.ev-hero .pic img,.ev-hero .pic .ph{width:100%;height:100%;object-fit:cover;display:block;min-height:220px}
.ev-hero .pic .ph{background:#2c3d38;color:var(--cream)}
.ev-hero .in{display:flex;gap:16px;padding:24px;align-items:flex-start}
.ev-hero .txt{min-width:0}
.ev-hero h2{font-size:clamp(1.4rem,3vw,2rem);line-height:1.1;margin:8px 0 10px;font-weight:900;color:var(--cream);letter-spacing:-.01em}
.ev-hero p{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 18px;font-weight:700;opacity:.92}
.ev-hero p>span:not(.ev-type)::before{content:"·";margin-right:8px;opacity:.6}
.ev-hero p>span:first-child::before,.ev-hero p>.ev-type+span::before{content:none}
.ev-go{display:inline-flex;align-items:center;gap:4px;background:var(--cream);color:var(--logo);font-weight:900;padding:10px 12px 10px 16px}
.ev-hero:hover .ev-go{background:#fff}
.ev-now{display:inline-block;font-size:.85rem;font-weight:800;color:#9fe0d6}
.ev-now.live{color:#fff;background:var(--c-err);padding:2px 10px;border-radius:10px}
.ev-hero .ev-date{background:var(--cream);color:var(--logo)}
@media(max-width:760px){.ev-hero{grid-template-columns:1fr}.ev-hero .pic img,.ev-hero .pic .ph{height:180px;min-height:0}.ev-hero .in{padding:18px}}
/* Date block */
.ev-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;flex:none;border-radius:14px;background:var(--soft);padding:6px 0;line-height:1.05;color:var(--text)}
.ev-date b{font-size:1.5rem;font-weight:900}
.ev-date small{font-size:.7rem;font-weight:800;color:inherit;opacity:.75}
.ev-date.big{width:72px;padding:10px 0}.ev-date.big b{font-size:2rem}.ev-date.big small{font-size:.78rem}
/* Layout */
.ev-layout{display:grid;gap:24px}
@media(min-width:900px){.ev-layout{grid-template-columns:300px minmax(0,1fr);align-items:start}.ev-side{position:sticky;top:76px}}
.ev-side .cm-search{margin-bottom:12px}
.ev-chips{display:flex;flex-wrap:wrap;gap:8px}
.ev-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;font-weight:700;font-size:.9rem;padding:6px 14px;border-radius:999px;cursor:pointer}
.ev-chip i{width:9px;height:9px;border-radius:50%;background:var(--t-other)}
.ev-chip.meet i{background:var(--t-meet)}.ev-chip.tour i{background:var(--t-tour)}.ev-chip.league i{background:var(--t-league)}.ev-chip.pre i{background:var(--t-pre)}
.ev-chip:hover{border-color:var(--primary)}
.ev-chip.on{background:var(--text);color:var(--bg);border-color:var(--text)}
.ev-yh{font-size:1rem;font-weight:800;margin:20px 0 10px}
.ev-year{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ev-yr{grid-column:1/-1;font-size:.8rem;font-weight:800;color:var(--muted);margin-top:4px}
.ev-m{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:10px 10px 12px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--muted);font:inherit;text-align:left;cursor:pointer;overflow:hidden}
.ev-m b{font-size:1rem;color:var(--muted);font-weight:800}
.ev-m small{font-size:.75rem}
.ev-m .mbar{position:absolute;left:10px;right:10px;bottom:6px;height:3px;border-radius:2px;background:var(--soft)}
.ev-m .mbar::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--primary);border-radius:2px}
.ev-m.has b{color:var(--text)}.ev-m.has small{color:var(--primary);font-weight:800}
.ev-m:disabled{cursor:default;opacity:.65;background:transparent;border-style:dashed}
.ev-m.has:hover{border-color:var(--primary)}
.ev-m.on{background:var(--primary);border-color:var(--primary)}.ev-m.on b,.ev-m.on small{color:#fff}.ev-m.on .mbar{background:rgba(255,255,255,.3)}.ev-m.on .mbar::after{background:#fff}
@media(max-width:899px){.ev-year{display:flex;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}.ev-m{flex:none;width:92px;scroll-snap-align:start}.ev-yr{display:none}}
/* List */
.ev-bar{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}
.ev-bar h2{font-size:1.4rem;font-weight:900;margin:0}
.ev-reset{border:0;background:none;color:var(--primary);font:inherit;font-weight:800;cursor:pointer}
.ev-month h3{position:sticky;top:60px;z-index:2;display:flex;justify-content:space-between;align-items:baseline;margin:0;padding:14px 0 8px;background:var(--bg);font-size:1.05rem;font-weight:900}
.ev-month h3 small{color:var(--muted);font-weight:700;font-size:.85rem}
@media(max-width:899px){.ev-month h3{position:static}}
.ev-row{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:10px;margin-bottom:10px;color:inherit;text-decoration:none}
.ev-row:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line))}
.ev-row:hover .go{color:var(--primary);transform:translateX(2px)}
.ev-row .pic{width:84px;height:64px;border-radius:12px;overflow:hidden;flex:none}
.ev-row .pic img,.ev-row .pic .ph{width:100%;height:100%;object-fit:cover}
.ev-row .txt{flex:1;min-width:0}
.ev-row b{display:block;font-weight:900;font-size:1.02rem;line-height:1.25;margin:3px 0 2px;overflow-wrap:anywhere}
.ev-row small{display:flex;align-items:center;gap:4px;flex-wrap:wrap;color:var(--muted);font-size:.85rem;font-weight:600}
.ev-row em{font-style:normal;color:var(--c-ok);font-weight:800}.ev-row em.few{color:#B07A1A}.ev-row em.full{color:var(--c-err)}
.ev-row .go{color:var(--muted);transition:transform .15s}
@media(max-width:520px){.ev-row .pic{display:none}}
.ev-type{display:inline-block;font-size:.72rem;font-weight:800;padding:1px 9px;border-radius:10px;margin-right:4px;color:var(--t-other);background:color-mix(in srgb,var(--t-other) 15%,transparent)}
.ev-type.meet{color:var(--t-meet);background:color-mix(in srgb,var(--t-meet) 14%,transparent)}
.ev-type.tour{color:var(--t-tour);background:color-mix(in srgb,var(--t-tour) 14%,transparent)}
.ev-type.league{color:var(--t-league);background:color-mix(in srgb,var(--t-league) 16%,transparent)}
.ev-type.pre{color:var(--t-pre);background:color-mix(in srgb,var(--t-pre) 14%,transparent)}
.ev-type.live{color:#fff;background:var(--c-err)}
.ev-hero .ev-type{background:rgba(255,255,255,.14);color:var(--cream)}
.ev-gap{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.9rem;padding:12px 14px;border:1px dashed var(--line);border-radius:14px;margin:10px 0}
/* Detail */
.ev-detail{display:grid;gap:16px;margin-bottom:12px}
@media(min-width:820px){.ev-detail{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}}
.ev-dpic{border-radius:20px;overflow:hidden;background:var(--soft)}
.ev-dpic img{width:100%;display:block;aspect-ratio:16/10;object-fit:cover}
.ev-dpic .ph{display:grid;place-items:center;aspect-ratio:16/10}
.ev-facts{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:14px;display:grid;gap:12px;margin-bottom:12px}
.ev-facts>div{display:flex;gap:12px;align-items:center}
.ev-facts b{display:block}.ev-facts small{color:var(--muted)}
.ev-facts .fi{width:72px;height:44px;border-radius:12px;background:var(--soft);display:grid;place-items:center;font-weight:900;flex:none}
.ev-cap{height:8px;border-radius:4px;background:var(--soft);overflow:hidden}.ev-cap i{display:block;height:100%;background:var(--primary)}
.ev-in{display:flex;align-items:center;gap:6px;color:var(--c-ok);font-weight:800;margin:0 0 8px}
.ev-who{display:flex;flex-wrap:wrap;gap:8px}
.ev-who span{display:inline-flex;align-items:center;gap:6px;background:var(--soft);padding:3px 12px 3px 3px;border-radius:999px;font-weight:700;font-size:.9rem}
.ev-who i{width:26px;height:26px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-style:normal;font-size:.8rem}
@media (prefers-reduced-motion:reduce){.ev-row .go{transition:none}}
.ev-hero .pic{position:relative;min-height:280px}
.ev-hero .pic img,.ev-hero .pic .ph{position:absolute;inset:0;height:100%;min-height:0}
.ev-hero p.ds{display:block;font-weight:500;opacity:.85;margin:-6px 0 18px;line-height:1.5}
.ev-m b i{font-style:normal;font-weight:700;font-size:.75rem;opacity:.7}
@media(max-width:760px){.ev-hero .pic{min-height:180px}}
.ev-layout{grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.ev-layout{grid-template-columns:320px minmax(0,1fr)}}
.ev-side,.ev-main{min-width:0}
.ev-m{padding-bottom:16px}

/* Event calendar (month + year) */
.ev-cal{margin-top:16px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:10px 12px 12px}
.ev-calh{display:flex;align-items:center;justify-content:space-between;gap:4px}
.ev-calt{flex:1;border:0;background:none;color:var(--text);font:inherit;font-weight:900;font-size:1.05rem;padding:6px;border-radius:10px;cursor:pointer}
.ev-calt:hover{background:var(--soft)}
.ev-seg{display:grid;grid-template-columns:1fr 1fr;background:var(--soft);border-radius:12px;padding:3px;margin:6px 0 10px}
.ev-seg button{border:0;background:none;color:var(--muted);font:inherit;font-weight:800;font-size:.85rem;padding:5px;border-radius:9px;cursor:pointer}
.ev-seg button.on{background:var(--card);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.ev-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.ev-grid .wd{text-align:center;font-size:.72rem;font-weight:800;color:var(--muted);padding:2px 0 4px}
.cd{aspect-ratio:1/1;border:0;border-radius:10px;background:none;color:var(--text);font:inherit;font-size:.88rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0}
.cd:disabled{cursor:default}
.cd.past{color:var(--muted);opacity:.55}
.cd.has{cursor:pointer;font-weight:800;background:color-mix(in srgb,var(--primary) 10%,transparent)}
.cd.has:hover{background:color-mix(in srgb,var(--primary) 20%,transparent)}
.cd.today{box-shadow:inset 0 0 0 1.5px var(--primary)}
.cd.sel{background:var(--primary);color:#fff}
.cd .dots{display:flex;gap:2px;height:5px}
.cd .dots i{width:5px;height:5px;border-radius:50%;background:var(--t-other)}
.dots .meet,.mg .meet{background:var(--t-meet)!important}.dots .tour,.mg .tour{background:var(--t-tour)!important}.dots .league,.mg .league{background:var(--t-league)!important}.dots .pre,.mg .pre{background:var(--t-pre)!important}
.cd.sel .dots i{background:#fff!important}
.ev-calf{margin:8px 0 0;text-align:center;font-size:.8rem;color:var(--muted)}
.ev-yeargrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ev-mini{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:12px;padding:6px 6px 8px;font:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:1px}
.ev-mini:hover{border-color:var(--primary)}
.ev-mini b{font-size:.85rem;color:var(--text)}.ev-mini small{font-size:.68rem}
.ev-mini.has small{color:var(--primary);font-weight:800}
.ev-mini.cur{box-shadow:inset 0 0 0 1.5px var(--primary)}
.mg{display:grid;grid-template-columns:repeat(7,1fr);gap:1.5px;margin-top:4px}
.mg span{aspect-ratio:1/1;border-radius:1.5px;background:var(--soft)}
.mg span:empty:not([class]){background:transparent}
.mg .x{background:var(--t-other)}
@media(max-width:899px){.ev-yeargrid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:420px){.ev-yeargrid{grid-template-columns:repeat(3,1fr)}}

/* ================= Tournaments + leagues ================= */
.cp-hero{position:relative;border-radius:24px;overflow:hidden;color:var(--cream);margin:8px 0 16px;background:linear-gradient(rgba(34,48,44,.88),rgba(34,48,44,.92)),url(img/community_how_play.jpg) center/cover}
.cp-hero.league{background:linear-gradient(rgba(34,48,44,.86),rgba(34,48,44,.92)),url(img/community_how_meet.jpg) center/cover}
.cp-hero.done{filter:saturate(.6)}
.cp-hero>.cm-round{position:absolute;top:22px;left:22px;z-index:1;background:rgba(246,240,228,.14);color:var(--cream)}
.cp-hero .frame{margin:12px;border:2.5px solid var(--cream);padding:58px 18px 22px;text-align:center}
.cp-state{display:inline-block;font-size:.8rem;font-weight:800;background:var(--primary);color:#fff;padding:3px 12px;border-radius:999px}
.cp-hero.done .cp-state{background:rgba(246,240,228,.2)}
.cp-hero h1{font-size:clamp(2.3rem,8vw,3.6rem);line-height:.95;margin:10px 0 12px;color:var(--cream)}
.cp-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;font-weight:700;font-size:.92rem}
.cp-facts span{display:inline-flex;align-items:center;gap:6px;opacity:.92}
.cp-lg{margin:10px 0 0;font-size:.88rem;opacity:.85;display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap}
.cp-hero .pr{margin:12px 0 0}
.pr{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.pr span{font-size:.8rem;font-weight:800;padding:3px 10px;border-radius:999px;background:rgba(246,240,228,.14)}
.cm-card .pr{justify-content:flex-start}.cm-card .pr span{background:var(--soft);color:var(--text)}
#tAct,#lAct{margin-top:16px}#tAct:empty,#lAct:empty{display:none}
.cp-hero .cm-cream{text-decoration:none}
.cp-in{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:#9fe0d6;margin:0 0 8px}
.cp-leave{display:block;margin:0 auto;background:none;border:1.5px solid rgba(246,240,228,.5);color:var(--cream);font:inherit;font-weight:800;padding:8px 16px;cursor:pointer}
.cp-leave:hover{border-color:var(--cream)}
.cp-champ{display:flex;gap:14px;align-items:center;background:color-mix(in srgb,var(--c-warn) 18%,var(--card));border:1px solid color-mix(in srgb,var(--c-warn) 50%,transparent);border-radius:20px;padding:14px 18px;margin-bottom:12px;color:#B07A1A}
.cp-champ small{display:block;color:var(--muted);font-weight:700}.cp-champ b{font-size:1.3rem;color:var(--text)}
.cp-fmt{display:flex;gap:12px;align-items:flex-start}
.cp-fmt .ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;color:var(--c-ter);background:color-mix(in srgb,var(--c-ter) 14%,transparent)}
.cp-fmt p{margin:2px 0 0;color:var(--muted)}.cp-fmt .pr{margin-top:8px}
.cp-note{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.85rem;margin-top:16px}
/* Podium */
.cp-podium{display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:8px;margin:4px 0 12px;max-width:460px;margin-inline:auto}
.pod{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;min-width:0}
.pod b{font-size:.9rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pod small{color:var(--muted);font-weight:700;font-size:.78rem}
.pod .stp{width:100%;display:grid;place-items:center;margin-top:6px;border-radius:12px 12px 4px 4px;font-family:'Bebas Neue',Nunito,sans-serif;font-size:2rem;color:#fff}
.pod.p1 .stp{height:92px;background:#D9A23B}.pod.p2 .stp{height:68px;background:#9AA3A8}.pod.p3 .stp{height:52px;background:#B9774A}
.pod.me b{color:var(--primary)}
.cp-av{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--logo);color:var(--cream);font-weight:900;font-size:.9rem}
.pod.p1 .cp-av{width:56px;height:56px;box-shadow:0 0 0 3px #D9A23B}
.cp-av.sm{width:26px;height:26px;font-size:.65rem}
/* Table */
.cp-table{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.cp-table .tr{display:grid;grid-template-columns:36px minmax(0,1fr) repeat(var(--cols,4),38px);align-items:center;padding:9px 12px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.cp-table:has(.th span:nth-child(7)) .tr{--cols:5}
.cp-table .tr>span:nth-child(n+3){text-align:right}
.cp-table .th{border-top:0;font-size:.78rem;font-weight:800;color:var(--muted);background:var(--soft)}
.cp-table .rk{font-weight:900;color:var(--muted)}
.cp-table .top .rk{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:.8rem}
.cp-table .r1 .rk{background:#D9A23B}.cp-table .r2 .rk{background:#9AA3A8}.cp-table .r3 .rk{background:#B9774A}
.cp-table .nm{display:flex;align-items:center;gap:8px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-table .nm em{font-style:normal;font-size:.7rem;font-weight:800;color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,transparent);padding:0 6px;border-radius:8px}
.cp-table .pt{font-weight:900}
.cp-table .me{background:color-mix(in srgb,var(--primary) 8%,transparent)}
@media(max-width:420px){.cp-table .tr{grid-template-columns:30px minmax(0,1fr) repeat(var(--cols,4),30px);padding:9px 8px}}
/* Bracket + pairings */
.cp-bk{margin:12px 0 6px;font-size:.95rem}
.cp-bracket{display:flex;gap:18px;overflow-x:auto;padding:4px 2px 10px}
.cp-bracket .col{display:flex;flex-direction:column;justify-content:space-around;gap:12px;min-width:190px}
.cp-bracket h5{margin:0;font-size:.78rem;color:var(--muted);font-weight:800;text-align:center}
.cp-m{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;position:relative}
.cp-m .sd{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:8px 12px;font-weight:700;font-size:.9rem}
.cp-m .sd+.sd{border-top:1px solid var(--line)}
.cp-m .sd.won{background:color-mix(in srgb,var(--c-ok) 14%,transparent);color:var(--c-ok);font-weight:900}
.cp-m .sd.lost{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}
.cp-m .sd.tbd{color:var(--muted);font-style:italic;font-weight:600}
.cp-m .sd.me{box-shadow:inset 3px 0 0 var(--primary)}
.cp-m.draw .sd{color:#B07A1A}
.cp-m small{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:.7rem;font-weight:800;color:#B07A1A;background:var(--card);padding:0 6px}
.cp-rounds{margin-bottom:10px}
.cp-pairs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
/* League extras */
.cp-me{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.cp-me div{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px;text-align:center}
.cp-me small{display:block;color:var(--muted);font-size:.75rem;font-weight:700}.cp-me b{font-size:1.25rem;font-weight:900}
.cp-me div:first-child{background:var(--primary);border-color:var(--primary);color:#fff}.cp-me div:first-child small{color:rgba(255,255,255,.85)}
.cp-confirm p{margin:0 0 10px}
.cp-res{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}
.cp-res button,.cp-res label{border:1.5px solid var(--line);background:var(--card);color:var(--text);font:inherit;font-weight:800;padding:10px;border-radius:12px;cursor:pointer;display:flex!important;justify-content:center;align-items:center;gap:6px}
.cp-res .ok:hover,.cp-res label.ok:has(input:checked){border-color:var(--c-ok);background:color-mix(in srgb,var(--c-ok) 14%,transparent);color:var(--c-ok)}
.cp-res .mid:hover,.cp-res label.mid:has(input:checked){border-color:var(--c-warn);background:color-mix(in srgb,var(--c-warn) 16%,transparent);color:#B07A1A}
.cp-res .bad:hover,.cp-res label.bad:has(input:checked){border-color:var(--c-err);background:color-mix(in srgb,var(--c-err) 12%,transparent);color:var(--c-err)}
.cp-res input{position:absolute;opacity:0;pointer-events:none}
.cp-report select{padding:11px 14px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;width:100%}
.cp-hist{display:grid;gap:8px}
.cp-hm{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px}
.cp-hm .who{display:flex;gap:8px;align-items:baseline;min-width:0;flex-wrap:wrap}.cp-hm .who i{font-style:normal;color:var(--muted);font-size:.8rem}
.cp-hm b.won{color:var(--c-ok)}
.cp-hm small{grid-column:1;color:var(--muted)}.cp-hm .cm-pill{grid-row:1/3;grid-column:2}
/* Community tab cards */
.cm-tour{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px;margin-bottom:10px;color:inherit;text-decoration:none}
.cm-tour:hover,.cm-league:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line))}
.cm-tour .dt{width:58px;height:64px;flex:none;border-radius:14px;background:var(--logo);color:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05}
.cm-tour .dt b{font-size:1.5rem;font-weight:900}.cm-tour .dt small{font-size:.68rem;font-weight:800;opacity:.85}
.cm-tour.done .dt{background:var(--soft);color:var(--muted)}
.cm-tour .in{flex:1;min-width:0}.cm-tour .t{display:flex;gap:8px;align-items:center;justify-content:space-between}
.cm-tour b{font-weight:900}.cm-tour small{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:.85rem;margin-top:2px}
.cm-tour>.ic{color:var(--muted)}
.cm-league{display:block;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px 14px;margin-bottom:10px;color:inherit;text-decoration:none}
.cm-league .lt{display:flex;align-items:center;gap:12px}.cm-league .lt>.ic{color:var(--muted)}
.cm-league .ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;color:#fff;background:var(--c-sec)}
.cm-league.done .ico{background:var(--soft);color:var(--muted)}
.cm-league .in{flex:1;min-width:0}.cm-league b{font-weight:900;display:block}.cm-league .in small{color:var(--muted);font-size:.85rem}
.cm-league .stats{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.cm-league .stats>span{flex:1;min-width:90px;background:var(--soft);border-radius:12px;padding:6px 10px}
.cm-league .stats small{display:block;font-size:.72rem;color:var(--muted);font-weight:700}.cm-league .stats b{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-league .stats .me{background:color-mix(in srgb,var(--primary) 14%,transparent)}
@media (prefers-color-scheme:dark){.cp-av{background:var(--primary);color:#fff}}

/* Tournament management (mods) */
button.cp-m{display:block;width:100%;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}
.cp-m.edit:hover{border-color:var(--primary)}
.cp-m.edit:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.cp-m.edit em{display:block;padding:5px 12px;border-top:1px dashed var(--line);font-style:normal;font-size:.78rem;font-weight:800;color:var(--primary)}
.cp-start{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.cp-start p{margin:0;flex:1 1 260px}
.cp-pick{display:grid;gap:10px;margin-top:14px}
.cp-pick button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:10px 14px;border-radius:14px;border:1.5px solid var(--line);background:var(--card);color:var(--text);font:inherit;font-weight:800;cursor:pointer}
.cp-pick button:hover{border-color:var(--primary)}
.cp-pick .ok.on{background:var(--c-ok);border-color:var(--c-ok);color:#fff}
.cp-pick .mid.on{background:var(--c-warn);border-color:var(--c-warn);color:#2B2420}
.cp-pick .clr{min-height:40px;border:0;background:transparent;color:var(--c-err)}
.cp-rr{display:grid;gap:8px;margin-top:12px}
.cp-rr .row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 12px}
.cp-rr .nm{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;align-items:center;min-width:0;flex:1 1 180px}
.cp-rr .nm .cp-av{grid-row:1/3}.cp-rr .nm small{color:var(--muted);font-size:.8rem}
.cp-rr .btns{display:flex;gap:6px}
.cp-rr .btns button{min-width:62px;min-height:36px;padding:4px 10px;border-radius:18px;border:1.5px solid var(--line);background:transparent;color:var(--text);font:inherit;font-size:.85rem;font-weight:800;cursor:pointer}
.cp-rr .btns button:hover{border-color:var(--primary)}
.cp-rr .btns .ok.on{background:var(--c-ok);border-color:var(--c-ok);color:#fff}
.cp-rr .btns .mid.on{background:var(--c-warn);border-color:var(--c-warn);color:#2B2420}
.cp-rr .btns .bad.on{background:var(--c-err);border-color:var(--c-err);color:#fff}
.cp-admin h3{display:flex;align-items:center;gap:8px;margin:0 0 4px}
.cp-admin h4{margin:18px 0 8px;font-size:.95rem}
.cp-plist{display:flex;flex-wrap:wrap;gap:6px}
.cp-plist span{display:inline-flex;align-items:center;gap:4px;padding:4px 4px 4px 12px;border-radius:16px;background:var(--soft);font-weight:700;font-size:.88rem}
.cp-plist i{font-style:normal;font-weight:600;color:var(--muted);font-size:.78rem}
.cp-plist button{display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}
.cp-plist button:hover{background:color-mix(in srgb,var(--c-err) 15%,transparent);color:var(--c-err)}
.cp-add{display:flex;gap:8px;margin-top:10px}
.cp-add select,.cp-add input,.cp-pts input{flex:1;min-width:0;min-height:38px;padding:6px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font:inherit}
.cp-pts{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}
.cp-pts label{display:grid;gap:4px;font-size:.82rem;font-weight:700;color:var(--muted);width:76px}
.cp-pts input{width:100%;text-align:right;font-variant-numeric:tabular-nums}
.cp-admin .cm-row-btns{display:flex;flex-wrap:wrap;gap:8px}
.cm-form fieldset{border:0;margin:0;padding:0}
.cm-form legend{font-weight:700;margin-bottom:6px}
.cp-fmts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cp-fmts label{position:relative;display:grid;gap:2px;padding:10px 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);cursor:pointer}
.cp-fmts label.on{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--card))}
.cp-fmts input{position:absolute;opacity:0;pointer-events:none}
.cp-fmts label:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}
.cp-fmts small{color:var(--muted);font-size:.78rem;font-weight:600}
.cm-tools{display:flex;justify-content:flex-end;margin-bottom:12px}
#tAdmin{margin-top:24px}
/* ---------- Staff page ---------- */
:root{--ok:#1F7A5A;--okbg:#E3F2EC;--warn:#9A5B12;--warnbg:#FBEEDC;--bad:#B0352A;--badbg:#FBE5E2}
@media (prefers-color-scheme:dark){:root{--ok:#7FD8B4;--okbg:#1E3A30;--warn:#F2C27E;--warnbg:#3D2E1A;--bad:#F2A097;--badbg:#45231F}}
.sp{display:grid;gap:20px;max-width:960px}
.sp-head h1{margin:0;font-size:2rem;letter-spacing:-.02em;line-height:1.1}.sp-head p{margin:4px 0 0;color:var(--muted)}
.ic{width:18px;height:18px;flex:none}
.sp-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.sp-groups a{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--card);border:1px solid var(--line);color:var(--text);text-decoration:none;font-weight:700}
.sp-groups a:hover{background:var(--soft)}
.sp-groups a.on{background:var(--text);border-color:var(--text);color:var(--bg)}
.sp-tabs,.sp-subs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}
.sp-tabs a,.sp-subs a{padding:10px 14px;color:var(--muted);text-decoration:none;font-weight:700;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-1px}
.sp-tabs a:hover,.sp-subs a:hover{color:var(--text)}
.sp-tabs a.on{color:var(--text);border-bottom-color:var(--primary)}
.sp-subs{border-bottom:0;gap:6px;margin-bottom:16px;flex-wrap:wrap}
.sp-subs a{border:1px solid var(--line);border-radius:999px;padding:6px 14px;margin:0;font-size:.93rem}
.sp-subs a.on{background:var(--soft);color:var(--text);border-color:var(--soft)}
#sp{display:grid;gap:16px;min-width:0}#sp>*,.sp-work{min-width:0}
.sp-work,#shb{display:grid;gap:16px;min-width:0}
.sp-seg{display:inline-flex;background:var(--soft);border-radius:999px;padding:3px;gap:2px;justify-self:start}
.sp-seg button{border:0;background:none;color:var(--muted);font:inherit;font-weight:700;padding:6px 16px;border-radius:999px;cursor:pointer}
.sp-seg button.on{background:var(--card);color:var(--text)}
.sp-month{display:flex;align-items:center;gap:8px}.sp-month h2{margin:0;font-size:1.35rem;min-width:9.5em;text-align:center}
.sp-arrow{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:1.3rem;line-height:1;cursor:pointer}
.sp-arrow:hover{background:var(--soft)}.sp-arrow:disabled{opacity:.35;cursor:default}
.sp-lead{margin:0;color:var(--text)}
.sp-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sp-row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;cursor:pointer}
.sp-row:hover{background:var(--soft)}
.sp-row-main{flex:1;min-width:0;display:flex;flex-direction:column}.sp-row-main small{color:var(--muted);font-variant-numeric:tabular-nums}
.chev{color:var(--muted);font-size:1.4rem;line-height:1}
.tagp{display:inline-block;font-size:.8rem;font-weight:800;padding:2px 10px;border-radius:999px;background:var(--soft);color:var(--muted);white-space:nowrap;text-transform:capitalize}
.tagp.ok{background:var(--okbg);color:var(--ok)}.tagp.warn{background:var(--warnbg);color:var(--warn)}
.sp-banner{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:10px 14px;border-radius:14px;background:var(--soft)}
.sp-clock{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 18px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.sp-clock p{margin:0;font-weight:700;display:flex;align-items:center;gap:10px}
.sp-clock .dot{width:10px;height:10px;border-radius:50%;background:var(--line)}
.sp-clock.run{background:var(--okbg);border-color:var(--okbg)}.sp-clock.run .dot{background:var(--ok)}
.sp-clock.pause{background:var(--warnbg);border-color:var(--warnbg)}.sp-clock.pause .dot{background:var(--warn)}
.sp-clock-btns{display:flex;gap:8px}
.sp-btn{border:0;background:var(--primary);color:#fff;font:inherit;font-weight:800;padding:10px 18px;border-radius:999px;cursor:pointer}
.sp-btn:hover{filter:brightness(.95)}.sp-btn:disabled{opacity:.5;cursor:default}
.sp-btn.ok{background:var(--ok)}@media (prefers-color-scheme:dark){.sp-btn.ok{color:#10231c}}
.sp-btn.alt{background:var(--text);color:var(--bg)}
.sp-btn.warnb{background:var(--warnbg);color:var(--warn)}
.sp-btn.ghost{background:transparent;color:var(--primary);box-shadow:inset 0 0 0 2px var(--primary)}
.sp-btn.wide{width:100%}.sp-btn.sm{padding:6px 14px;font-size:.9rem}
.sp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.sp-stats div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column}
.sp-stats b{font-size:1.8rem;line-height:1.1;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.sp-stats span{color:var(--muted);font-size:.9rem}
.sp-stats .warn{background:var(--warnbg);border-color:var(--warnbg)}.sp-stats .warn b{color:var(--warn)}
.sp-done{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;background:var(--okbg);color:var(--ok);font-weight:700}
.sp-days{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sp-days li{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.sp-days li.warn{border-color:var(--warn)}
.sp-day-top{display:flex;gap:12px;align-items:baseline;font-variant-numeric:tabular-nums}.sp-day-top span{color:var(--muted)}
.sp-net{margin-left:auto}.sp-days small{color:var(--muted)}
.sp-warn{margin:6px 0 0;color:var(--warn);font-weight:700;font-size:.93rem}
.sp-note{margin:6px 0 0;font-size:.93rem;color:var(--text);font-style:italic}
.sp-day-act{display:flex;gap:16px;margin-top:6px}
.linkb{border:0;background:none;padding:0;color:var(--primary);font:inherit;font-weight:700;cursor:pointer}.linkb.danger{color:var(--bad)}
.sp-empty{margin:0;padding:24px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}
.sp-info{background:var(--soft);border-radius:14px;padding:12px 16px}.sp-info summary{cursor:pointer;font-weight:700}
.sp-info ul{padding-left:20px}.sp-info .sp-list{padding:0;margin-top:10px}
.sp-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sp-plan-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;border-radius:14px;background:var(--soft);font-weight:700}
.sp-week h3{margin:0 0 8px;font-size:1rem}
.sp-grid-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.sp-grid{border-collapse:collapse;width:100%;max-width:none;font-size:.9rem;table-layout:fixed;min-width:560px}
.sp-grid th,.sp-grid td{border-bottom:1px solid var(--line);border-left:1px solid var(--line);padding:6px;vertical-align:top;text-align:left}
.sp-grid th:first-child{border-left:0;width:78px}
.sp-grid thead th{text-align:center;font-weight:800;font-size:1.05rem;font-variant-numeric:tabular-nums;padding:8px 4px}
.sp-grid thead th small{display:block;font-size:.78rem;color:var(--muted);font-weight:700}
.sp-grid thead th.today{background:var(--primary);color:#fff}.sp-grid thead th.today small{color:#fff}
.sp-grid thead th.out{opacity:.45}
.sp-area th{background:var(--soft);font-size:.85rem;padding:4px 8px;color:var(--muted)}
.sp-time{font-variant-numeric:tabular-nums;font-weight:800;white-space:nowrap}.sp-time small{display:block;color:var(--muted);font-weight:600}.sp-time span{display:block;font-size:.8rem;color:var(--muted)}
.sp-grid td.off{background:var(--bg)}
.sp-grid td.short{background:var(--warnbg)}
.sp-name{display:block;border:0;background:none;padding:1px 0;font:inherit;font-weight:800;text-align:left;cursor:default;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
button.sp-name{cursor:pointer}button.sp-name:hover{text-decoration:line-through}
.dash{color:var(--muted)}
.sp-add{width:100%;margin-top:2px;padding:2px 4px;border-radius:8px;font-size:.85rem;font-weight:700;color:var(--primary)}
.sp-need{display:block;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}
.sp-ev td{font-size:.82rem;color:var(--accent);font-weight:700}
.sp-evin{width:100%;border:1px solid var(--line);border-radius:8px;padding:3px 6px;font:inherit;font-size:.82rem;background:var(--bg);color:var(--text)}
.sp-for{display:flex;align-items:center;gap:10px;font-weight:700}
.sp-avail{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sp-avail li{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px}
.sp-avail li>b{min-width:110px;font-variant-numeric:tabular-nums}.sp-avail li.past{opacity:.5}
.sp-blocks{display:flex;gap:16px;flex-wrap:wrap}
.sp-block{display:flex;align-items:center;gap:8px}.sp-block small{color:var(--muted);font-variant-numeric:tabular-nums;min-width:86px}.sp-block div{display:flex;gap:4px}
.sp-av{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--muted);font:inherit;font-weight:800;cursor:pointer}
.sp-av:hover{background:var(--soft)}
.sp-av.yes.on{background:var(--ok);border-color:var(--ok);color:#fff}
.sp-av.maybe.on{background:var(--warnbg);border-color:var(--warn);color:var(--warn)}
.sp-av.no.on{background:var(--bad);border-color:var(--bad);color:#fff}
.sp-h3{margin:8px 0 0;font-size:1.05rem}
.sp-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.sp-card>div:first-child{display:flex;flex-direction:column;min-width:0;flex:1}.sp-card small{color:var(--muted)}
.sp-card-act{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sp-swap summary{cursor:pointer;color:var(--primary);font-weight:700}
.sp-swap form{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.sp-swap input,.sp-swap select{padding:6px 10px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit}
.sp-vac{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:grid;gap:8px}
.sp-vac div:first-child{display:flex;align-items:baseline;gap:10px}.sp-vac b{font-size:2.4rem;line-height:1;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.sp-vac small{color:var(--muted);font-variant-numeric:tabular-nums}
.sp-bar{height:10px;border-radius:99px;background:var(--soft);overflow:hidden}.sp-bar i{display:block;height:100%;background:var(--primary)}
.sp-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.sp-chips{display:flex;gap:6px;flex-wrap:wrap}
.sp-chip{border:1px solid var(--line);background:var(--card);color:var(--text);padding:6px 14px;border-radius:999px;font:inherit;font-weight:700;cursor:pointer}
.sp-chip.on{background:var(--text);border-color:var(--text);color:var(--bg)}
.sp-task{display:flex;align-items:flex-start;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.sp-task-main{flex:1;min-width:0;display:flex;flex-direction:column;border:0;background:none;padding:0;text-align:left;font:inherit;color:var(--text);cursor:pointer}
.sp-task-main small{color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}
.sp-task.done{background:transparent}.sp-task.done b{text-decoration:line-through;color:var(--muted)}
.late{color:var(--bad);font-weight:800}
.sp-tick{position:relative;flex:none;width:24px;height:24px;cursor:pointer}
.sp-tick input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.sp-tick span{display:block;width:24px;height:24px;border-radius:50%;border:2px solid var(--muted)}
.sp-tick input:checked+span{background:var(--primary);border-color:var(--primary)}
.sp-tick input:checked+span::after{content:"";display:block;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:translate(7px,3px) rotate(45deg)}
.sp-tick input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}
.sp-who{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:6px 14px}.sp-who legend{font-weight:700;padding:0 4px}
.pf-form .sp-pick{flex-direction:row;align-items:center;gap:6px;font-weight:600}
.ric{width:28px;height:28px;flex:none;color:var(--accent)}
.sp-rhead{display:flex;gap:14px;align-items:center;padding-right:28px}.sp-rhead .ric{width:44px;height:44px}.sp-rhead small{color:var(--muted)}
.pf-dlg h3{margin:12px 0 0}
.sp-ing{width:100%;max-width:none;font-variant-numeric:tabular-nums}.sp-ing td{padding:6px 4px;vertical-align:middle}
.sp-ing td:first-child{width:80px}.sp-ing td:nth-child(2){width:48px;color:var(--muted)}.sp-ing small{display:block;color:var(--muted)}
.sp-ing input{width:72px;text-align:right;padding:6px 8px;border-radius:10px}
.sp-steps{padding-left:22px;margin:0;display:grid;gap:6px}
.sp-ingrow{display:grid;grid-template-columns:2fr 1fr 1fr 2fr auto;gap:6px;margin-bottom:6px}
.sp-ingrow input{min-width:0;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit}
.sp-ingrow .linkb{font-size:1.3rem;color:var(--muted)}
.sp-progress{margin:8px 0 0;font-weight:700}.sp-progress.all{color:var(--ok)}
.sp-checks{list-style:none;padding:0;margin:0;display:grid;gap:8px}.sp-checks li{display:flex;gap:12px;align-items:flex-start}
.sp-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:10px 18px;border-radius:999px;font-weight:700;z-index:40;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.sp-toast.bad{background:var(--bad);color:#fff}
@media (max-width:640px){
  .sp-head h1{font-size:1.6rem}
  .sp-groups{grid-template-columns:1fr 1fr}.sp-groups a{white-space:normal;padding:10px 12px;font-size:.93rem}
  .sp-stats{grid-template-columns:1fr 1fr}
  .sp-month h2{min-width:0;flex:1}
  .sp-avail li{flex-direction:column;align-items:flex-start;gap:8px}
  .sp-ingrow{grid-template-columns:2fr 1fr 1fr auto}.sp-ingrow input[name=inote]{order:1;grid-column:1/-1}
}

/* Staff → Office */
.sp-stack{display:grid;gap:16px;min-width:0}
.sp-cal-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sp-cal-top .sp-btn{margin-left:auto}
.sp-cal-wrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:16px;align-items:start}
.sp-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.sp-cal-wd{padding:8px 6px;font-size:.8rem;font-weight:800;color:var(--muted);text-align:center;border-bottom:1px solid var(--line)}
.sp-cal-d{min-height:84px;border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:none;color:var(--text);font:inherit;text-align:left;padding:6px;cursor:pointer;display:flex;flex-direction:column;gap:3px;min-width:0}
.sp-cal-d:nth-of-type(7n){border-right:0}
.sp-cal-d:hover{background:var(--soft)}
.sp-cal-d>span{font-weight:800;font-variant-numeric:tabular-nums;width:26px;height:26px;display:grid;place-items:center;border-radius:50%}
.sp-cal-d.out{color:var(--muted)}.sp-cal-d.out>span{opacity:.6}
.sp-cal-d.today>span{background:var(--primary);color:#fff}
.sp-cal-d.sel{background:var(--soft);box-shadow:inset 0 0 0 2px var(--text)}
.sp-cal-d i{font-style:normal;display:flex;flex-direction:column;gap:2px;min-width:0}
.sp-cal-d em{font-style:normal;font-size:.75rem;font-weight:700;background:var(--okbg);color:var(--ok);border-radius:6px;padding:1px 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-cal-d small{font-size:.72rem;color:var(--muted);font-weight:700}
.evdot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:block}
.sp-cal-day{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;display:grid;gap:10px}
.sp-cal-day h3{margin:0;font-size:1.15rem}.sp-cal-day h4{margin:4px 0 0;font-size:.9rem;color:var(--muted)}
.sp-entry{width:100%;text-align:left;border:0;border-left:4px solid var(--primary);background:var(--bg);color:var(--text);font:inherit;border-radius:10px;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column}
.sp-entry:hover{background:var(--soft)}.sp-entry small{color:var(--muted);font-weight:600}.sp-entry p{margin:6px 0 0;font-size:.93rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}
.sp-evlist{list-style:none;margin:0;padding:0;display:grid;gap:4px;color:var(--muted);font-size:.93rem}.sp-evlist span{font-weight:800;margin-right:8px;font-variant-numeric:tabular-nums}
.sp-dot{width:14px;height:14px;border-radius:50%;flex:none}
.sp-row.dim{opacity:.6}
.sp-stats3{grid-template-columns:repeat(3,1fr)}
.sp-lbl{display:block;font-weight:700;margin-bottom:6px}
.sp-small{margin:0;font-size:.88rem}
.sp-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sp-tile{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:12px;padding:10px 12px;text-align:left;font:inherit;cursor:pointer;display:flex;flex-direction:column}
.sp-tile small{color:var(--muted)}.sp-tile.on{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:var(--card)}.sp-tile.on b{color:var(--primary)}
.sp-three{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sp-three input{width:100%;min-width:0}
.sp-suf{display:flex;align-items:center;gap:8px}.sp-suf input{flex:1;min-width:0}.sp-suf i{font-style:normal;color:var(--muted);font-weight:600}
.sp-free{margin:0;padding:10px 12px;border-radius:12px;background:var(--soft)}
.sp-colors{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;max-width:420px}
.sp-col{aspect-ratio:1;border-radius:50%;border:3px solid transparent;cursor:pointer;position:relative;padding:0}
.sp-col.taken::after{content:"";position:absolute;inset:0;margin:auto;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.75)}
.sp-col.on{border-color:var(--text);outline:2px solid var(--card);outline-offset:-5px}
.sp-col.on::after{display:none}
.sp-switch{gap:8px!important}.sp-switch small{margin-left:4px}
.sp-tablecard{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow-x:auto}
.sp-num{width:100%;max-width:none;font-variant-numeric:tabular-nums}
.sp-num th,.sp-num td{padding:10px 14px;border-bottom:1px solid var(--line)}
.sp-num tr:last-child th,.sp-num tr:last-child td{border-bottom:0}
.sp-num td,.sp-num thead th{text-align:right}.sp-num thead th:first-child{text-align:left}
.sp-num thead th{color:var(--muted);font-size:.9rem}.sp-num tbody th{font-weight:700;text-align:left}
.sp-num tr.warn td{color:var(--warn);font-weight:800}
.sp-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer}
.sp-toggle span{display:flex;flex-direction:column}.sp-toggle small{color:var(--muted)}
.sp-toggle input{appearance:none;width:44px;height:26px;border-radius:99px;background:var(--line);position:relative;cursor:pointer;flex:none;margin:0}
.sp-toggle input::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s}
.sp-toggle input:checked{background:var(--primary)}.sp-toggle input:checked::after{transform:translateX(18px)}
.sp-rules{list-style:none;margin:0;padding:0;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.sp-rules li+li{border-top:1px solid var(--line)}
.sp-rule{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border:0;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}
.sp-rule:hover{background:var(--soft)}.sp-rule b{color:var(--primary);font-variant-numeric:tabular-nums;white-space:nowrap}.sp-rule.dim{opacity:.4}
.sp-h3row{display:flex;align-items:center;justify-content:space-between;gap:12px}.sp-h3row .sp-h3{margin:0}
.sp-hol{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px}.sp-hol span{display:flex;flex-direction:column}.sp-hol small{color:var(--muted)}
.sp-notes-bar{display:flex;gap:10px;align-items:center}.sp-notes-bar input{margin:0;flex:1;max-width:none}
.sp-notes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.sp-notes .sp-empty{grid-column:1/-1}
.sp-note-card{width:100%;height:100%;text-align:left;border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;border-radius:14px;padding:14px;cursor:pointer;display:flex;flex-direction:column;gap:6px}
.sp-note-card:hover{background:var(--soft)}.sp-note-card.pin{border-color:var(--primary)}
.sp-note-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.sp-note-body{white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;font-size:.95rem}
.sp-note-card small{color:var(--muted);margin-top:auto}
@media (max-width:820px){.sp-cal-wrap{grid-template-columns:1fr}}
@media (max-width:640px){.sp-cal-d{min-height:52px;padding:4px}.sp-cal-d em{display:none}.sp-cal-d i{flex-direction:row;gap:3px}.sp-cal-d i::before{content:"";}
  .sp-cal-d:has(em) i::before{width:6px;height:6px;border-radius:50%;background:var(--ok);display:block}
  .sp-stats3{grid-template-columns:1fr 1fr 1fr}.sp-stats3 b{font-size:1.3rem}.sp-colors{grid-template-columns:repeat(6,1fr)}}

/* Staff → Finance */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:root{--spend:#C4663F;--earn:#2A9D8F}@media (prefers-color-scheme:dark){:root{--spend:#D5754B;--earn:#34A99B}}
.fin-totals{display:flex;gap:8px}
.fin-totals div{flex:1;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column}
.fin-totals span{color:var(--muted);font-size:.9rem}.fin-totals b{font-size:1.8rem;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}
.fin-totals b.inc{color:var(--earn)}
.fin-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.fin-bar .sp-btn{margin-left:auto}.fin-bar .sp-lead{flex:1;min-width:220px}
.fin-filter select{padding:8px 14px}
.fin-item{width:100%;display:flex;gap:12px;align-items:flex-start;text-align:left;border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;border-radius:14px;padding:12px;cursor:pointer}
.fin-item:hover{background:var(--soft)}
.fin-thumb{width:52px;height:52px;flex:none;border-radius:10px;background:var(--soft);display:grid;place-items:center;overflow:hidden;color:var(--muted)}
.fin-thumb img{width:100%;height:100%;object-fit:cover}.fin-thumb svg{width:22px;height:22px}
.fin-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.fin-top{display:flex;gap:12px;align-items:baseline}.fin-top b:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fin-amt{font-variant-numeric:tabular-nums;white-space:nowrap}.fin-amt.inc{color:var(--earn)}
.fin-main small{color:var(--muted)}.fin-rep{font-weight:800}
.fin-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.fin-pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;background:var(--soft);font-size:.82rem;font-weight:700;white-space:pre}
.fin-pill i,.fin-splits i,.fin-trow i,.fin-tagrow i{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}
.fin-form .sp-seg{display:flex;width:100%}.fin-form .sp-seg button{flex:1}
.fin-form .sp-suf i{order:-1}.fin-form .sp-suf input{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit}
.fin-line{margin:0;font-variant-numeric:tabular-nums;color:var(--muted);font-weight:700;font-size:.92rem;min-height:1em}
.fin-splits{list-style:none;padding:0;margin:8px 0;display:grid;gap:6px}
.fin-splits li{display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:12px;padding:8px 10px}
.fin-splits li>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}.fin-splits small{color:var(--muted);font-variant-numeric:tabular-nums}
.fin-sv{width:120px;flex:none}.fin-sv input{width:100%;text-align:right;padding:6px 8px!important;background:var(--card)!important}.fin-sv i{order:0!important}
.fin-sv i:first-child{order:-1!important}
.fin-splits .linkb{font-size:1.3rem;color:var(--muted);padding:0 4px}
.fin-status{margin:4px 0 0;font-weight:800;font-size:.92rem}.fin-status.ok{color:var(--ok)}.fin-status.warn{color:var(--warn)}.fin-status.bad{color:var(--bad)}
#ivaddtag{max-width:100%}
.fin-file{cursor:pointer;display:inline-block}
.fin-receipt{display:block;margin-bottom:8px}.fin-receipt img{max-width:100%;max-height:220px;border-radius:12px;display:block}
.fin-sum{display:block}
.fin-big{display:flex;flex-direction:column;gap:2px}.fin-big>span{color:var(--muted);font-weight:700}
.fin-big>b{font-size:2.4rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}.fin-big>b.neg{color:var(--bad)}
.fin-big small{color:var(--muted);font-variant-numeric:tabular-nums}
.fin-two{display:flex;gap:24px;margin-top:8px}.fin-two div{display:flex;flex-direction:column}.fin-two span{color:var(--muted);font-size:.9rem}.fin-two b{font-size:1.2rem;font-variant-numeric:tabular-nums}
.fin-chart,.fin-tags{display:block}.fin-chart h3,.fin-tags h3{margin:0 0 4px;font-size:1.05rem}
.fin-legend{display:flex;gap:16px;font-size:.88rem;font-weight:700;margin-top:6px}.fin-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}
.fin-legend .out,.fin-col .out{background:var(--spend)}.fin-legend .inc,.fin-col .inc{background:var(--earn)}
.fin-plot{position:relative;display:flex;height:220px;margin-top:12px}
.fin-y{position:relative;width:44px;flex:none}.fin-y span{position:absolute;right:8px;transform:translateY(50%);font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}
.fin-cols{position:relative;flex:1;display:flex;align-items:flex-end;gap:2px;border-bottom:1px solid var(--line)}
.fin-grid{position:absolute;left:0;right:0;border-top:1px solid var(--line);opacity:.6}
.fin-col{position:relative;flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;gap:1px;border:0;background:none;padding:0;cursor:pointer;border-radius:4px 4px 0 0;min-width:0}
.fin-col:hover,.fin-col.on{background:var(--soft)}
.fin-col i{display:block;width:100%;max-width:28px;border-radius:3px 3px 0 0;min-height:0}
.fin-x{display:flex;justify-content:space-between;margin-left:44px;font-size:.75rem;color:var(--muted);margin-top:4px}
.fin-stack{display:flex;gap:2px;height:14px;border-radius:99px;overflow:hidden;margin:10px 0}
.fin-stack i{display:block;height:100%}
.fin-trows,.fin-trows ul{list-style:none;margin:0;padding:0}
.fin-trow{width:100%;display:grid;grid-template-columns:8px minmax(0,1fr) auto 56px 16px;gap:10px;align-items:center;border:0;background:none;color:var(--text);font:inherit;text-align:left;padding:9px 4px;border-top:1px solid var(--line);cursor:pointer}
.fin-trow:disabled{cursor:default;opacity:1}
.fin-trows>li:first-child>.fin-trow{border-top:0}
.fin-trow span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.fin-trow b{font-variant-numeric:tabular-nums;text-align:right}
.fin-trow small{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.fin-trow em{font-style:normal;color:var(--muted)}
.fin-trow.sub{grid-template-columns:minmax(0,1fr) auto 56px 16px;padding-left:22px;border-top:0}.fin-trow.sub span{font-weight:600;color:var(--muted)}
.fin-export{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fin-taglist{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fin-taglist>li{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:6px 14px}
.fin-taglist ul{list-style:none;margin:0 0 4px;padding:0 0 0 18px;border-left:2px solid var(--soft)}
.fin-tagrow{display:flex;align-items:center;gap:10px;padding:8px 0;flex-wrap:wrap}.fin-tagrow>span:not(.fin-tagact){flex:1;min-width:120px}
.fin-tagrow.main>span:first-of-type{font-weight:800}
.fin-tagact{display:flex;align-items:center;gap:12px}
.sp-arrow.sm{width:28px;height:28px;font-size:.9rem}
@media (max-width:640px){.fin-totals b{font-size:1.4rem}.fin-big>b{font-size:1.9rem}.fin-bar .sp-btn{margin-left:0;width:100%}.fin-plot{height:180px}.fin-tagact{width:100%;justify-content:flex-end}}
