:root{--bg: #0b0f0c;--card: #141b16;--text: #e8f3ea;--muted: #9bb3a0;--accent: #2ecc71;--danger: #e74c3c}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){--bg: #f4f8f5;--card: #ffffff;--text: #13201a;--muted: #506556}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif}.app{max-width:1100px;margin:0 auto;padding:16px}.layout{display:flex;flex-direction:column;gap:16px;margin-top:16px}.sidebar{display:flex;flex-direction:row;gap:8px;overflow-x:auto}.navitem{background:var(--card);color:var(--text);font-weight:500;white-space:nowrap;border:1px solid transparent;padding:10px 14px;align-self:auto}.howto section{margin-bottom:18px}.howto ul,.howto ol{padding-left:22px;line-height:1.5}.howto li{margin:6px 0}.navitem.active{border-color:var(--accent);color:var(--accent)}.lock{color:var(--muted);font-size:.8rem}.content{flex:1;min-width:0}.userbox{display:flex;align-items:center;gap:10px}li.me{color:var(--accent);font-weight:700}li.me em{font-style:normal;font-size:.8rem;border:1px solid var(--accent);border-radius:6px;padding:0 4px;margin-left:4px}.sidebar-board{display:none}@media (min-width: 800px){.layout{flex-direction:row;align-items:flex-start}.sidebar{flex-direction:column;width:220px;flex-shrink:0;overflow:visible}.navitem{text-align:left;width:100%}.sidebar-board{display:block;margin-top:12px;background:var(--card);border-radius:12px;padding:12px}.sidebar-board h3{margin:0 0 8px;font-size:.95rem}.sidebar-board ol{padding-left:18px;font-size:.9rem}.sidebar-board li{display:flex;justify-content:space-between;gap:8px}.sidebar-board li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}h1{font-size:1.5rem;margin:8px 0}h2{font-size:1.2rem;margin:0 0 12px}h3{font-size:1rem;margin:8px 0}.card{background:var(--card);border-radius:12px;padding:16px;margin-top:16px}.row{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}input{padding:10px;border-radius:8px;border:1px solid #355040;background:transparent;color:var(--text);font-size:1rem;max-width:320px}button{padding:10px 16px;border:0;border-radius:8px;background:var(--accent);color:#05140a;font-weight:600;cursor:pointer;font-size:.95rem;align-self:flex-start}button:disabled{opacity:.6;cursor:default}button.ghost{background:transparent;color:var(--text);border:1px solid #355040}.notice{background:var(--card);padding:10px 12px;border-radius:8px;color:var(--muted)}.code{font-size:1.05rem;word-break:break-word}.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media (min-width: 560px){.tiles{grid-template-columns:repeat(4,1fr)}}.tiles div{background:var(--bg);border-radius:8px;padding:10px;display:flex;flex-direction:column}.tiles strong{font-size:1.3rem}.tiles span{color:var(--muted);font-size:.85rem}.chart{width:100%;height:auto;margin-top:8px}.chart .grid{stroke:#22302a;stroke-width:1}.chart .axis{fill:var(--muted);font-size:12px}.chart .line{stroke:var(--accent);stroke-width:2.5}.chart .dot{fill:var(--accent)}.botlink{display:inline-block;align-self:flex-start;padding:10px 16px;border-radius:8px;background:#229ed9;color:#fff;font-weight:600;text-decoration:none}.list{list-style:none;padding:0;margin:0}.list li{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:8px 0;border-bottom:1px solid #22302a}.tournament{display:block}.tournament button{margin-top:8px}.row label{display:flex;flex-direction:column;gap:4px}select{padding:10px;border-radius:8px;border:1px solid #355040;background:transparent;color:var(--text);font-size:1rem;max-width:320px}.thumb{width:120px;max-width:100%;border-radius:8px;border:1px solid #22302a;cursor:zoom-in}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000e6;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;cursor:zoom-out}.lightbox img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:8px}.lightbox-hint{color:#cfd8d2;font-size:.85rem;margin-top:8px}.status.approved{color:var(--accent)}.status.rejected{color:var(--danger)}.status.pending{color:var(--muted)}.boards{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 560px){.boards{grid-template-columns:1fr 1fr}}ol{margin:0;padding-left:20px}li{margin:4px 0}
