:root{--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f0f2f5;--text: #1b1f24;--muted: #5e6774;--border: #dde1e6;--accent: #2f5bd3;--accent-text: #ffffff;--accent-soft: #e7edfc;--ok: #1c7745;--ok-soft: #e2f4e9;--warn: #965800;--warn-soft: #fcefd6;--bad: #b42318;--bad-soft: #fde7e5;--info: #23609f;--info-soft: #e4effa;--purple: #6a3db3;--purple-soft: #efe7fb;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);--radius: 10px;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #0f1216;--surface: #171b21;--surface-2: #1f242c;--text: #e6e9ed;--muted: #9ba5b2;--border: #2b323c;--accent: #7193f2;--accent-text: #0a0f1f;--accent-soft: #1e2949;--ok: #5fcb8e;--ok-soft: #12301e;--warn: #f0b350;--warn-soft: #34270f;--bad: #f37a6d;--bad-soft: #3b1714;--info: #78b1f2;--info-soft: #132a43;--purple: #b99ff2;--purple-soft: #2a2141;--shadow: 0 1px 2px rgba(0, 0, 0, .4);color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.6rem;line-height:1.25;margin:.2rem 0 .4rem}h2{font-size:1.15rem;margin:0 0 .6rem;display:flex;align-items:center;gap:.5rem}h3{font-size:1rem;margin:0 0 .5rem}.sub{color:var(--muted);margin:0 0 1rem;max-width:70ch}.hint{color:var(--muted);font-size:.85rem}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85em}.nowrap{white-space:nowrap}.small-link{font-size:.85rem;font-weight:400}.app{min-height:100vh;display:flex;flex-direction:column}.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;padding:.55rem 1rem;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:.5rem;font-weight:700;color:var(--text)}.brand:hover{text-decoration:none}.brand.big{font-size:1.15rem;margin-bottom:1rem}.nav{display:flex;gap:.25rem;overflow-x:auto;flex:1;scrollbar-width:none}.nav a{padding:.35rem .7rem;border-radius:8px;color:var(--muted);white-space:nowrap}.nav a:hover{background:var(--surface-2);text-decoration:none}.nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.who{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.9rem;white-space:nowrap}main{flex:1}.page{max-width:1100px;margin:0 auto;padding:1.25rem 1rem 3rem}.page.wide{max-width:1500px}.page.narrow{max-width:820px}.center-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.foot{text-align:center;color:var(--muted);font-size:.8rem;padding:1rem}.crumbs{margin:0;font-size:.9rem;color:var(--muted)}.title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.section{margin-top:1.75rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}.link-card{color:var(--text);display:block}.link-card:hover{border-color:var(--accent);text-decoration:none}.big-num{font-size:2rem;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.sign-in{width:100%;max-width:400px}.sign-in h1{margin-bottom:.3rem}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{text-align:left;padding:.5rem .7rem;border-bottom:1px solid var(--border);vertical-align:top}.table thead th{font-weight:600;color:var(--muted);background:var(--surface-2);white-space:nowrap}.table tbody tr:last-child>*{border-bottom:0}.table tbody th{font-weight:500}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table.compact th,.table.compact td{padding:.3rem .4rem}.table .center{text-align:center}.table .setting{min-width:220px;max-width:340px}.cat-row th,.cat-row td{background:var(--surface-2);font-weight:700;padding-top:.6rem}.cat-row td{font-weight:400}tr.clickable{cursor:pointer}tr.clickable:hover>*{background:var(--accent-soft)}.matrix th[scope=row]{white-space:nowrap}.rules-wrap{max-height:calc(100vh - 220px);overflow:auto}.table.rules thead th{position:sticky;top:0;z-index:2}.table.rules th.sticky{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--border)}.table.rules thead th.sticky{z-index:3;background:var(--surface-2)}.table.rules .cat-row th.sticky{background:var(--surface-2)}.table.rules td.cell{padding:0;min-width:150px;max-width:240px}.cell.na{color:var(--border);text-align:center;padding:.5rem!important}.cell.gap{background:var(--warn-soft)}.cell-btn{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:.15rem;width:100%;min-height:2.3rem;padding:.45rem .7rem;cursor:pointer;font-size:.88rem}.cell-btn .badge{align-self:flex-start;margin-left:0}.cell-btn:hover{background:var(--accent-soft)}.cell-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.inherited{color:var(--muted)}.proposed{color:var(--purple);font-style:italic;font-size:.82rem}.by-country{color:var(--info);font-size:.82rem}.rule-list{display:grid;gap:.5rem}.rl-item{all:unset;box-sizing:border-box;display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem .9rem;cursor:pointer}button.rl-item:hover{border-color:var(--accent)}button.rl-item:focus-visible{outline:2px solid var(--accent)}.rl-item.retired{cursor:default;opacity:.75}.rl-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.rl-setting{font-weight:600}.rl-scope{color:var(--muted);font-size:.88rem}.rl-value{margin:.25rem 0;white-space:pre-wrap}.rl-why{color:var(--muted);font-size:.9rem}.badges{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin:.4rem 0 .8rem}.badge{display:inline-flex;align-items:center;padding:.05rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap;background:var(--surface-2);color:var(--muted);vertical-align:middle;margin-left:.25rem}.badges .badge,.lesson-meta .badge,.rl-head .badge{margin-left:0}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--bad-soft);color:var(--bad)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.accent{background:var(--purple-soft);color:var(--purple)}.mark{display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:6px;font-weight:700;font-size:.85rem}.mark.ok{background:var(--ok-soft);color:var(--ok)}.mark.bad{background:var(--bad-soft);color:var(--bad)}.mark.info{background:var(--info-soft);color:var(--info)}.mark.muted{background:var(--surface-2);color:var(--muted)}.legend{display:flex;flex-wrap:wrap;gap:.4rem .6rem;align-items:center;color:var(--muted);font-size:.85rem;margin-top:.8rem}.error-box{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--bad-soft);color:var(--bad);border-radius:8px;padding:.55rem .8rem;margin:.6rem 0;font-size:.9rem}.loading{display:flex;align-items:center;gap:.6rem;color:var(--muted);padding:1rem 0}.spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{padding:2rem 1rem;text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius)}.note{background:var(--info-soft);color:var(--text);border-radius:8px;padding:.55rem .8rem;margin:.6rem 0;font-size:.9rem}.note.warn{background:var(--warn-soft)}.help{margin:0 0 .4rem;color:var(--muted)}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.45rem .6rem;max-width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}textarea{width:100%;resize:vertical}input[type=checkbox],input[type=radio]{width:1rem;height:1rem;accent-color:var(--accent);margin:0}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem;min-width:0}.field>input,.field>select{width:100%}.field-label{font-weight:600;font-size:.9rem}.field-error{color:var(--bad);font-size:.85rem}.with-unit{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.unit{color:var(--muted)}.num-input{width:8.5rem}.bands .num-input{width:4.8rem}.bands select{max-width:13rem}.radios{display:flex;flex-wrap:wrap;gap:.4rem 1rem}.radios.column{flex-direction:column}.check{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 1rem}.span-all{grid-column:1 / -1}.form-stack{display:flex;flex-direction:column}.pair{display:flex;gap:.4rem}.pair input{flex:1;min-width:0}.pairs{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}.pairs .pair{width:100%}.inline-form{margin-top:.6rem}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.btn{font:inherit;font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .9rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap}.btn:hover{background:var(--surface-2);text-decoration:none}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.primary:hover{filter:brightness(1.07)}.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{background:var(--surface-2);color:var(--text)}.btn.small{padding:.25rem .6rem;font-size:.82rem}.btn.wide{width:100%;margin-top:.4rem}.toolbar{display:flex;align-items:center;gap:.6rem;margin:.5rem 0 .9rem;flex-wrap:wrap}.search{min-width:200px}.search.grow{flex:1}.segmented{display:inline-flex;background:var(--surface-2);border-radius:9px;padding:3px;gap:2px;flex-wrap:wrap}.segmented button,.tabs button{font:inherit;font-size:.88rem;border:0;background:transparent;color:var(--muted);padding:.3rem .75rem;border-radius:7px;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:600}.count{background:var(--warn-soft);color:var(--warn);border-radius:999px;padding:0 .4rem;font-size:.75rem;font-weight:700}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:.9rem;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{border-radius:0;padding:.5rem .9rem;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs button.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0a0e1473;display:flex;justify-content:flex-end}.drawer{width:min(760px,100%);height:100%;background:var(--bg);display:flex;flex-direction:column;box-shadow:-8px 0 24px #0003;outline:none}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.1rem .6rem;background:var(--surface);border-bottom:1px solid var(--border)}.drawer-title{font-size:1.15rem;font-weight:700}.drawer-head .sub{margin:0}.drawer-body{padding:1rem 1.1rem 2rem;overflow-y:auto;flex:1}.rule-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem .9rem;margin:.7rem 0}.rule-card.draft{border-color:var(--purple);border-style:dashed}.rule-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.rule-head .badge{margin-left:0}.rule-countries{color:var(--info);font-weight:600;font-size:.9rem}.rule-value{font-size:1.05rem;font-weight:600;margin:.35rem 0;white-space:pre-wrap}.rule-reason{color:var(--muted);margin-bottom:.3rem}.rule-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem;margin-top:.8rem}.history{margin:.6rem 0 0;padding-left:1.2rem;font-size:.88rem}.history li{margin-bottom:.5rem}.country-picker{display:flex;flex-direction:column;gap:.4rem}.chips{display:flex;flex-wrap:wrap;gap:.3rem}.chip{display:inline-flex;align-items:center;gap:.25rem;background:var(--info-soft);color:var(--info);border-radius:999px;padding:.05rem .25rem .05rem .6rem;font-size:.85rem}.chip button{all:unset;cursor:pointer;padding:0 .35rem;font-weight:700}.country-list{max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:.4rem .6rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.25rem .8rem;background:var(--surface)}.bands .table-wrap{margin-bottom:.5rem}.band-preview{margin:.6rem 0 .2rem;padding-left:1.1rem;font-size:.88rem}.kv-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.3rem .9rem}.kv{display:grid;grid-template-columns:170px 1fr;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--border)}.kv:last-child{border-bottom:0}.k{color:var(--muted)}.v{min-width:0;overflow-wrap:anywhere}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.checklist{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem .9rem}.check-row{display:flex;align-items:center;gap:.6rem;padding:.3rem 0}.check-label{flex:1}.check-row select{padding:.2rem .4rem;font-size:.85rem}.plain-list{margin:0;padding-left:1.1rem}.plain-list li{margin-bottom:.3rem}.lesson-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.lesson-item{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem .9rem;color:var(--text)}.lesson-item:hover{border-color:var(--accent);text-decoration:none}.lesson-title{font-weight:600}.lesson-meta{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;margin:.25rem 0}.snippet{color:var(--muted);font-size:.88rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.md{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem 1.1rem;margin:1rem 0;overflow-wrap:anywhere}.md table{border-collapse:collapse;display:block;overflow-x:auto;font-size:.88rem;margin:.6rem 0}.md th,.md td{border:1px solid var(--border);padding:.3rem .5rem;vertical-align:top}.md th{background:var(--surface-2)}.md code{background:var(--surface-2);padding:.05rem .3rem;border-radius:4px;font-size:.88em}.md pre{background:var(--surface-2);padding:.7rem;border-radius:8px;overflow-x:auto}.feed{list-style:none;padding:0;margin:0 0 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.feed li{display:grid;grid-template-columns:150px 80px 1fr;gap:.75rem;padding:.5rem .9rem;border-bottom:1px solid var(--border);font-size:.9rem}.feed li:last-child{border-bottom:0}.feed-when{color:var(--muted);white-space:nowrap}.feed-who{font-weight:600}.feed-what{min-width:0;overflow-wrap:anywhere}@media (max-width: 720px){.top{flex-wrap:wrap;gap:.4rem .8rem}.nav{order:3;flex-basis:100%}.who{margin-left:auto}.hide-sm{display:none}.kv{grid-template-columns:1fr;gap:.1rem}.feed li{grid-template-columns:1fr auto;gap:.1rem .6rem}.feed-what{grid-column:1 / -1}.drawer{width:100%}.rules-wrap{max-height:none}.table .setting{min-width:160px}.search{min-width:0;flex:1}}.num.pos,.big-num.pos{color:var(--ok)}.num.neg,.big-num.neg{color:var(--bad)}.table.wrap-head thead th{white-space:normal}.table tr.lead>*{border-bottom:0;padding-bottom:.15rem}.table .places{padding-top:0;font-size:.85rem;line-height:1.5}.table .places .place{white-space:nowrap}
