*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{max-width:820px;margin:0 auto;padding:16px}.top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.brand{font-size:20px;font-weight:700;text-decoration:none;color:var(--text)}.auth{display:flex;align-items:center;gap:8px}.who{color:var(--muted);font-size:13px}.muted{color:var(--muted)}.small{font-size:12px}.nomarg{margin:2px 0 10px}.ftr{text-align:center;margin-top:24px}h2{font-size:19px;margin:0 0 10px}h3{font-size:15px;margin:0 0 6px}h3.sec{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.error{color:var(--danger);background:var(--danger-soft);padding:8px 12px;border-radius:10px;margin:8px 0}button,.btn{background:var(--card2);color:var(--text);border:1px solid var(--border);padding:8px 13px;border-radius:10px;cursor:pointer;font-size:14px}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button:disabled{opacity:.5;cursor:default}.kn-theme-toggle{padding:6px 9px}input{background:var(--input-bg);color:var(--text);border:1px solid var(--border);padding:8px 10px;border-radius:10px;font:inherit;font-size:15px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);margin-bottom:14px}label{display:block;font-size:13px;color:var(--muted);margin-bottom:10px}label input{display:block;width:100%;margin-top:4px}.row{display:flex;gap:8px;align-items:center}.row.end{justify-content:flex-end;margin-top:14px;gap:10px}.row.between{justify-content:space-between}.row.bgg{margin:10px 0 6px}.row.bgg input,.grow{flex:1 1 auto}.cbx{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:14px;color:var(--text)}.cbx input{width:auto;margin:0}.seg{display:flex;gap:6px;margin:10px 0 12px;flex-wrap:wrap}.seg button{flex:1 1 auto}.seg button.on{background:var(--accent);border-color:var(--accent);color:#fff}.seg.tabs{margin-top:0}.chip{padding:5px 11px;border-radius:999px;border:1px solid var(--border);background:var(--card2);font-size:13px;cursor:pointer;color:var(--text)}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.chip.sm{padding:2px 9px;font-size:12px;cursor:default;color:var(--muted)}.games{display:flex;flex-direction:column;gap:10px;margin-top:6px}.game{display:flex;gap:12px;background:var(--card2);border:1px solid var(--border);border-radius:14px;padding:12px}.game-cover{width:68px;height:68px;object-fit:cover;border-radius:10px;flex:0 0 auto;background:var(--card)}.game-cover.placeholder{display:flex;align-items:center;justify-content:center;font-size:30px}.game-main{flex:1 1 auto;min-width:0}.game-title{font-weight:600;font-size:16px}.game-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.game-desc{font-size:13px;color:var(--muted);margin:8px 0 0;cursor:pointer}.game-desc.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.game-actions{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}select{background:var(--input-bg);color:var(--text);border:1px solid var(--border);padding:8px 10px;border-radius:10px;font:inherit;font-size:15px}label select{display:block;width:100%;margin-top:4px}.row.wrap{flex-wrap:wrap}.row.wrap label{margin-bottom:0}.vis{display:flex;flex-direction:column;gap:8px;margin:10px 0}.vis-opt{display:flex;gap:10px;align-items:flex-start;background:var(--card2);border:1px solid var(--border);border-radius:14px;padding:12px;margin:0;cursor:pointer}.vis-opt.on{border-color:var(--accent);background:var(--accent-soft)}.vis-opt input{width:auto;margin:3px 0 0;flex:0 0 auto}.vis-body{display:flex;flex-direction:column;gap:4px}.vis-title{font-weight:600;font-size:15px;color:var(--text)}.lik{font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;border:1px solid var(--border)}.lik-100{background:var(--ok);color:#fff;border-color:var(--ok)}.lik-90{background:var(--ok);color:#fff;border-color:var(--ok);opacity:.78}.lik-50{background:var(--accent);color:#fff;border-color:var(--accent)}.lik-10{background:var(--card2);color:var(--muted)}.lik-off{background:transparent;color:var(--muted);border-style:dashed}.chip.day.lik-b-100,.chip.day.lik-b-90{border-color:var(--ok)}.chip.day.lik-b-50{border-color:var(--accent)}.chip.want{border-color:var(--accent);color:var(--text)}.weekly{display:flex;flex-direction:column;gap:8px;margin-top:12px}.wday{border:1px solid var(--border);border-radius:14px;background:var(--card2);overflow:hidden}.wday.on{border-color:var(--accent)}.wday-btn{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;border:0;border-radius:0;padding:11px 13px}.wday-name{font-weight:600}.wday-extra{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:0 13px 11px}.wday-extra .cbx{margin:0}.wday-extra input[type=time]{padding:5px 8px;font-size:14px}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:12px}.cal-h{text-align:center;padding-bottom:2px}.cal-d{display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 2px;background:var(--card2);border-radius:10px}.cal-d.ovr{border-color:var(--accent);border-width:2px}.cal-d.today{outline:2px solid var(--accent);outline-offset:-2px}.cal-d.past{opacity:.35}.cal-num{font-size:12px;color:var(--muted)}.cal-d .lik{font-size:11px;padding:1px 6px}
