/* praxeologos.net interactive tools (purchasing-power calculator, Cantillon simulation). Self-hosted, no external assets. */
.tk{max-width:52rem;margin:0 auto;color:var(--ink);font-family:var(--ser)}
.tk p{line-height:1.7}
.tk .tk-intro{font-size:1.04rem;color:var(--m);margin:6px 0 22px}
.tk .tk-intro a,.tk .tk-note a,.tk .tk-q a,.tk .tk-src a{color:var(--gold);text-underline-offset:3px}
.tk-panel{border:1px solid var(--gb);background:var(--glass);border-radius:16px;padding:18px 18px 16px;margin:0 0 22px}
.tk-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 16px;align-items:end}
.tk-form label,.tk-lbl{display:block;font:600 .72rem var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 6px}
.tk-form input,.tk-form select{width:100%;box-sizing:border-box;font:1rem var(--ui);padding:9px 11px;border-radius:10px;border:1px solid var(--gb);background:var(--deep);color:var(--ink);min-height:44px}
.tk-form input:focus-visible,.tk-form select:focus-visible,.tk button:focus-visible,.tk-seg label:focus-within{outline:2px solid var(--gold);outline-offset:2px}
.tk-seg{display:flex;gap:6px;flex-wrap:wrap}
.tk-seg label{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 12px;border-radius:999px;border:1px solid var(--gb);background:var(--glass);font:.9rem var(--ui);cursor:pointer;text-transform:none;letter-spacing:0;color:var(--ink);margin:0}
.tk-seg input{position:absolute;opacity:0;width:1px;height:1px}
.tk-seg label:has(input:checked){border-color:var(--gold);background:var(--gold);color:var(--deep);font-weight:600}
.tk-res{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:14px;margin:18px 0 4px}
.tk-kpi{border:1px solid var(--gb);border-radius:14px;padding:14px 16px;background:var(--glass)}
.tk-kpi b{display:block;font-family:var(--disp);font-size:clamp(1.6rem,4.2vw,2.2rem);line-height:1.15;color:var(--gold);font-weight:600}
.tk-kpi span{display:block;font-size:.9rem;color:var(--m);line-height:1.5;margin-top:4px}
.tk-sum{font-size:1.04rem;margin:14px 0 0}
.tk-sum strong{color:var(--gold)}
.tk-cmp{font-size:.9rem;color:var(--m);margin:6px 0 0}
.tk-chart{position:relative;margin:8px 0 0}
.tk-chart svg{display:block;width:100%;height:auto;overflow:visible;touch-action:pan-y}
.tk-chart .ax{stroke:var(--gb);stroke-width:1}
.tk-chart .gr{stroke:var(--gb);stroke-width:1;stroke-dasharray:2 4}
.tk-chart .lb{font:11px var(--ui);fill:var(--m)}
.tk-chart .l-EL{fill:none;stroke:var(--gold);stroke-width:2.4}
.tk-chart .l-EA{fill:none;stroke:var(--terra);stroke-width:2;stroke-dasharray:6 4}
html[data-theme=light] .tk-chart .l-EA,html[data-theme=dark] .tk-chart .l-EA{stroke:var(--m)}
.tk-chart .cur{stroke:var(--ink);stroke-opacity:.45;stroke-width:1}
.tk-chart .dot-EL{fill:var(--gold)}.tk-chart .dot-EA{fill:var(--m)}
.tk-legend{display:flex;gap:18px;flex-wrap:wrap;font:.85rem var(--ui);color:var(--m);margin:6px 0 0}
.tk-legend i{display:inline-block;width:22px;height:0;border-top:2.4px solid var(--gold);vertical-align:middle;margin-right:6px}
.tk-legend i.ea{border-top:2px dashed var(--m)}
.tk-tip{position:absolute;pointer-events:none;background:var(--deep);border:1px solid var(--gb);border-radius:10px;padding:7px 10px;font:.8rem/1.45 var(--ui);color:var(--ink);white-space:nowrap;box-shadow:0 6px 18px rgba(0,0,0,.18);transform:translate(-50%,-110%)}
.tk-tip[hidden]{display:none}
.tk h2{font-family:var(--disp);font-weight:600;color:var(--gold);font-size:1.4rem;margin:30px 0 10px}
.tk-q{margin:16px 0;padding:4px 0 4px 16px;border-left:2px solid var(--gold)}
.tk-q p{margin:0 0 6px;font-style:italic}
.tk-q .who{font-style:normal;font-size:.88rem;color:var(--m)}
.tk-note{font-size:.95rem}
.tk-src{font-size:.86rem;color:var(--m);border-top:1px solid var(--gb);padding-top:12px;margin-top:26px}
.tk-src p{margin:.3em 0;line-height:1.6}
.tk details{border:1px solid var(--gb);border-radius:12px;padding:8px 14px;margin:14px 0}
.tk details summary{cursor:pointer;font:600 .9rem var(--ui);color:var(--gold);min-height:32px;display:flex;align-items:center}
.tk table{border-collapse:collapse;width:100%;font:.86rem var(--ui)}
.tk th,.tk td{padding:5px 8px;border-bottom:1px solid var(--gb);text-align:right}.tk th:first-child,.tk td:first-child{text-align:left}
.tk-badge{display:inline-block;font:600 .7rem var(--ui);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold);border-radius:999px;padding:4px 10px;margin:0 0 10px}
.tk-terms{font-size:.92rem;color:var(--m)}
.tk-terms a{color:var(--gold)}
/* Cantillon simulation */
.cs-ctrl{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px 18px;align-items:end}
.cs-ctrl input[type=range]{width:100%;accent-color:var(--gold);min-height:32px}
.cs-ctrl output{font:600 .95rem var(--ui);color:var(--ink)}
.cs-btns{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 0}
.tk button{font:600 .9rem var(--ui);min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--gold);background:transparent;color:var(--ink);cursor:pointer}
.tk button.pri{background:var(--gold);color:var(--deep)}
.tk button[disabled]{opacity:.45;cursor:default}
.cs-stage{position:relative;margin:16px 0 0}
.cs-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:.88rem var(--ui);color:var(--m);margin:0 0 10px}
.cs-top b{color:var(--ink)}
.cs-price{height:8px;border-radius:999px;background:var(--gb);overflow:hidden;margin:4px 0 14px}
.cs-price i{display:block;height:100%;width:0;background:var(--terra);transition:width .5s ease}
.cs-rows{display:grid;gap:10px}
.cs-row{display:grid;grid-template-columns:minmax(118px,32%) 1fr;gap:12px;align-items:center;border:1px solid var(--gb);border-radius:12px;padding:10px 12px;background:var(--glass);position:relative;transition:border-color .4s}
.cs-row.got{border-color:var(--gold)}
.cs-row .nm{font:600 .92rem/1.3 var(--ui)}
.cs-row .nm small{display:block;font-weight:400;color:var(--m);font-size:.78rem}
.cs-bar{position:relative;height:26px;border-radius:8px;background:color-mix(in srgb,var(--gb) 60%,transparent)}
.cs-bar .mid{position:absolute;left:50%;top:-3px;bottom:-3px;border-left:1px dashed var(--m);opacity:.7}
.cs-bar .fill{position:absolute;top:3px;bottom:3px;border-radius:6px;transition:left .5s ease,width .5s ease,background .3s}
.cs-bar .fill.up{background:#4f8a5b}.cs-bar .fill.dn{background:#b5523b}
.cs-bar .val{position:absolute;right:6px;top:50%;transform:translateY(-50%);font:600 .78rem var(--ui);color:var(--ink)}
.cs-row .coin{position:absolute;right:-6px;top:-8px;width:18px;height:18px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 30%,transparent);opacity:0;transform:scale(.4);transition:opacity .35s,transform .35s}
.cs-row.new .coin{opacity:1;transform:scale(1)}
.cs-cum{margin:18px 0 0}
.cs-cum td.up{color:#4f8a5b;font-weight:600}.cs-cum td.dn{color:#c0573f;font-weight:600}
html[data-theme=dark] .cs-cum td.up{color:#7fc08b}html[data-theme=dark] .cs-cum td.dn{color:#e48a72}
.cs-live{font-size:.95rem;min-height:3.2em;margin:12px 0 0}
.cs-legend{font:.8rem var(--ui);color:var(--m);margin:8px 0 0}
@media (max-width:560px){.tk-panel{padding:14px 12px}.cs-row{grid-template-columns:1fr;gap:6px}.tk-chart .lb{font-size:12px}}
@media (prefers-reduced-motion:reduce){.cs-price i,.cs-bar .fill,.cs-row .coin,.cs-row{transition:none}}
.cs-cap{caption-side:bottom;text-align:left}
