@font-face{font-family:'Material Symbols Rounded';font-style:normal;font-weight:100 700;font-display:block;src:url(vendor/fonts/material-symbols-rounded.woff2) format('woff2')}
:root, [data-theme="material-light"]{--bg:#FEF7FF;--surface:#F3EDF7;--surface2:#E8DEF8;--text:#1D1B20;--muted:#5F5B66;--primary:#6750A4;--on-primary:#fff;--pc:#EADDFF;--on-pc:#21005D;--track:#D9D0E8;--good:#2E7D32;--warn:#B45309;--bad:#B3261E;--line:#CAC4D0}
[data-theme="material-dark"]{--bg:#141218;--surface:#211F26;--surface2:#2B2930;--text:#E6E0E9;--muted:#A09CA8;--primary:#D0BCFF;--on-primary:#381E72;--pc:#4F378B;--on-pc:#EADDFF;--track:#3A3545;--good:#81C784;--warn:#FFB74D;--bad:#F2B8B5;--line:#49454F}
[data-theme="ocean"]{--bg:#F4F8FB;--surface:#fff;--surface2:#E6EEF8;--text:#0F1A24;--muted:#56677A;--primary:#0B6BCB;--on-primary:#fff;--pc:#D6E6FA;--on-pc:#06305C;--track:#D9E3EE;--good:#1E8E3E;--warn:#B45309;--bad:#B3261E;--line:#E3E7EE}
[data-theme="forest"]{--bg:#F5F8F3;--surface:#fff;--surface2:#E7F0E4;--text:#14201A;--muted:#56665C;--primary:#2E7D32;--on-primary:#fff;--pc:#D8EBD5;--on-pc:#0B3D12;--track:#DCE6D9;--good:#1E8E3E;--warn:#B45309;--bad:#B3261E;--line:#E0E7DD}
[data-theme="sunset"]{--bg:#1A1416;--surface:#262022;--surface2:#312A2C;--text:#F5EDEA;--muted:#B8A9A4;--primary:#FF8A65;--on-primary:#3A1200;--pc:#5C2A1A;--on-pc:#FFD9CD;--track:#3D3134;--good:#9CCC65;--warn:#FFD54F;--bad:#FF8A80;--line:#4A3F42}
[data-theme="127ai"]{--bg:#F4F7FA;--surface:#FFFFFF;--surface2:#E3ECF2;--text:#0B1F33;--muted:#4E6175;--primary:#00796F;--on-primary:#FFFFFF;--pc:#C8EEE9;--on-pc:#00332E;--track:#D5E1E8;--good:#1E7D32;--warn:#A35200;--bad:#B3261E;--line:#D3DDE5}
[data-theme="court"]{--bg:#FBF6EE;--surface:#FFFFFF;--surface2:#F1E6D3;--text:#2B1E12;--muted:#6E5B47;--primary:#B3261E;--on-primary:#FFFFFF;--pc:#FFDAD4;--on-pc:#410002;--track:#EADBC4;--good:#2E7D32;--warn:#995100;--bad:#B3261E;--line:#E5D6BF}
[data-theme="padel"]{--bg:#F6F8EC;--surface:#FFFFFF;--surface2:#E7EDCB;--text:#1A1E0B;--muted:#5A6142;--primary:#4E6300;--on-primary:#FFFFFF;--pc:#D6EC7A;--on-pc:#161F00;--track:#DCE3BF;--good:#2E7D32;--warn:#995100;--bad:#B3261E;--line:#D9DFBE}
[data-theme="nordic"]{--bg:#F4F6F8;--surface:#FFFFFF;--surface2:#E4E9EF;--text:#16202B;--muted:#526070;--primary:#3D5A80;--on-primary:#FFFFFF;--pc:#D3DEEC;--on-pc:#0E2440;--track:#D8DFE7;--good:#2E7D32;--warn:#995100;--bad:#B3261E;--line:#D9E0E8}
[data-theme="graphite"]{--bg:#000000;--surface:#121315;--surface2:#1E2023;--text:#E8EAED;--muted:#9AA0A6;--primary:#8AB4F8;--on-primary:#002E6B;--pc:#1F3A5F;--on-pc:#D6E3FF;--track:#2A2D31;--good:#81C995;--warn:#FDD663;--bad:#F28B82;--line:#2F3236}
[data-theme="contrast"]{--bg:#FFFFFF;--surface:#FFFFFF;--surface2:#E8E8E8;--text:#000000;--muted:#2B2B2B;--primary:#0033A0;--on-primary:#FFFFFF;--pc:#002170;--on-pc:#FFFFFF;--track:#BDBDBD;--good:#00611A;--warn:#7A3D00;--bad:#9E0000;--line:#000000}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 Roboto,'Segoe UI',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--primary);text-decoration:none}
.ms{font-family:'Material Symbols Rounded';font-weight:normal;font-style:normal;font-size:24px;line-height:1;display:inline-block;vertical-align:middle;font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24}
.ms.fill{font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24}.ms.s{font-size:18px}
#topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:calc(env(safe-area-inset-top) + 12px) 16px 10px;background:var(--bg)}
#title{font-size:22px;font-weight:500}#topactions{display:flex;gap:4px}
#topactions a,#topactions button{width:44px;height:44px;border-radius:22px;display:flex;align-items:center;justify-content:center;color:var(--text);background:none;border:0;cursor:pointer}
main{max-width:720px;margin:0 auto;padding:0 16px 110px;display:flex;flex-direction:column;gap:12px}
#nav{position:fixed;bottom:0;left:0;right:0;height:calc(84px + env(safe-area-inset-bottom));background:var(--surface);display:grid;grid-template-columns:repeat(5,1fr);padding:10px 4px calc(16px + env(safe-area-inset-bottom));z-index:5}
#nav a{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:500;color:var(--muted)}
#nav a.active{color:var(--text)}#nav .pill{display:flex;align-items:center;justify-content:center;width:60px;height:30px;border-radius:15px}#nav a.active .pill{background:var(--surface2)}#nav a.active .ms{font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24}
body.nonav #nav{display:none}body.nonav main{padding-bottom:24px}
.card{background:var(--surface);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.card.hero{background:var(--pc);color:var(--on-pc);border-radius:24px;padding:18px}
.card h3{margin:0;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px}
.row{display:flex;align-items:center;gap:12px}.row.between{justify-content:space-between}.col{display:flex;flex-direction:column;gap:2px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tile{background:var(--surface);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:6px}.tile .l{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}.tile .v{font-size:24px;font-weight:500}.tile .v small{font-size:13px;color:var(--muted);font-weight:400}.tile .s{font-size:12px;color:var(--muted)}
.muted{color:var(--muted)}.small{font-size:12px}.good{color:var(--good)}.warn{color:var(--warn)}.bad{color:var(--bad)}.b{font-weight:500}
.sec{font-size:12px;color:var(--muted);font-weight:500;padding:6px 4px 0;letter-spacing:.04em;text-transform:uppercase}
button.btn,a.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:20px;border:0;background:var(--primary);color:var(--on-primary);font:500 14px Roboto,system-ui,sans-serif;cursor:pointer}
.btn.tonal{background:var(--surface2);color:var(--text)}.btn.outl{background:transparent;border:1px solid var(--line);color:var(--text)}.btn.sm{padding:7px 12px;font-size:12px}.btn:disabled{opacity:.5}
.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0}.chip{flex:none;padding:8px 14px;border-radius:8px;border:1px solid var(--line);font-size:13px;font-weight:500;background:transparent;color:var(--text);cursor:pointer;display:flex;align-items:center;gap:6px}.chip.on{background:var(--surface2);border-color:transparent}
input,select,textarea{width:100%;height:46px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:0 14px;font:14px Roboto,system-ui,sans-serif}textarea{height:auto;padding:12px 14px}
label.f{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500}
.list{display:flex;flex-direction:column}.item{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.item:first-child{border-top:0}.item .ic{width:40px;height:40px;border-radius:10px;background:var(--surface2);display:flex;align-items:center;justify-content:center;flex:none;color:var(--primary)}
.bar{height:8px;background:var(--track);border-radius:4px;overflow:hidden}.bar>div{height:100%;background:var(--primary);border-radius:4px}
.ring{position:relative;width:96px;height:96px;flex:none}.ring .c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring .c b{font-size:28px;font-weight:700;line-height:1}.ring .c span{font-size:10px;font-weight:500;opacity:.8}
.md h1,.md h2,.md h3{font-size:16px;margin:12px 0 6px}.md ul,.md ol{padding-left:18px;margin:6px 0}.md p{margin:6px 0}.md table{border-collapse:collapse;font-size:13px}.md td,.md th{border:1px solid var(--line);padding:4px 8px}
.avatar{width:36px;height:36px;border-radius:18px;background:var(--surface2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:none}
.code{font-family:'Roboto Mono',monospace;font-size:40px;letter-spacing:6px;font-weight:500}
.center{text-align:center;align-items:center}
.skins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.skin{border-radius:16px;border:2px solid transparent;background:var(--surface);padding:10px;cursor:pointer;display:flex;flex-direction:column;gap:8px}.skin.on{border-color:var(--primary)}.skin .prev{height:70px;border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:6px}.skin .prev i{display:block;border-radius:6px}
#toast{position:fixed;left:50%;bottom:110px;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:10px 16px;border-radius:8px;font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:9;max-width:90vw}#toast.show{opacity:1}
canvas{max-width:100%}
table.t{width:100%;border-collapse:collapse;font-size:13px}table.t th{text-align:left;color:var(--muted);font-weight:500;padding:6px 4px;border-bottom:1px solid var(--line)}table.t td{padding:7px 4px;border-bottom:1px solid var(--line)}
.empty{padding:40px 16px;text-align:center;color:var(--muted)}
.fab{position:fixed;right:20px;bottom:calc(100px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:16px;background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;border:0;box-shadow:0 2px 6px rgba(0,0,0,.2);cursor:pointer}
@media(min-width:720px){#nav{max-width:720px;margin:0 auto;border-radius:24px 24px 0 0}}

[data-theme="contrast"] .card,[data-theme="contrast"] .tile{border:2px solid #000}[data-theme="contrast"] .btn.outl,[data-theme="contrast"] .chip{border-width:2px}
[data-theme="graphite"] #nav{border-top:1px solid var(--line)}

#installSheet{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center}#installSheet .sheet-bg{position:absolute;inset:0;background:rgba(0,0,0,.45)}#installSheet .sheet{position:relative;width:100%;max-width:560px;background:var(--surface);color:var(--text);border-radius:28px 28px 0 0;padding:22px 20px calc(22px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;box-shadow:0 -8px 30px rgba(0,0,0,.25);animation:sheetUp .25s ease-out}@keyframes sheetUp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
/* dotyk: ikony i elementy listy nie zaznaczają się jako tekst (Android „Dotknij, aby wyszukać”, iOS lupa) */
.ms,.item,.chip,.btn,#nav a,.tile .l{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
a.item{cursor:pointer;-webkit-tap-highlight-color:rgba(127,127,127,.15)}a.item:active{background:var(--surface2);border-radius:12px}
