/* theme tokens (dark = default; light overrides live at the end of pages.css, :root[data-theme=light]) */
:root{--tw:255,255,255;--tk:0,0,0;--ts:0,0,0;--sa:1;--k-0d0f14:13,15,20;--kt-f4f5f6:244,245,246;--kt-a8adb5:168,173,181;--kt-3df29a:61,242,154;--k-030406:3,4,6;--kt-7d828b:125,130,139;--k-04140c:4,20,12;--k-12141a:18,20,26;--kt-f7d08a:247,208,138}
/* Cookie banner (visual only, all H-T pages incl. the homepage and /sign-in/). Same tokens as site.css; standalone so the homepage can load it alone. */
.ck-bar{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:150;display:flex;flex-direction:column;gap:12px;max-width:760px;margin:0 auto;padding:16px;border-radius:14px;
  background:rgb(var(--k-0d0f14));border:1px solid rgba(var(--tw),.14);box-shadow:0 30px 70px -20px rgba(var(--ts),var(--sa));color:var(--text,rgb(var(--kt-f4f5f6)));font-family:var(--font,system-ui)}
.ck-bar[hidden],.ck-panel[hidden]{display:none}
.ck-short{display:none}
.ck-text{margin:0;font-size:15px;line-height:1.5;color:var(--text-2,rgb(var(--kt-a8adb5)))}
.ck-text a,.ck-link a,.ck-d a{color:var(--accent,rgb(var(--kt-3df29a)));text-decoration:underline;text-underline-offset:3px}
.ck-btns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
/* Accept, Preferences and Decline: same size, same visual weight */
.ck-btn{min-height:44px;padding:0 12px;border-radius:10px;border:1px solid rgba(var(--tw),.28);background:rgba(var(--tw),.06);color:var(--text,rgb(var(--kt-f4f5f6)));font:600 15px/1.2 var(--font,system-ui);cursor:pointer}
.ck-btn:hover{border-color:var(--accent,#3df29a);background:rgba(61,242,154,.08)}
.ck-btn:focus-visible,.ck-x:focus-visible,.ck-sw input:focus-visible+span,.ck-bar a:focus-visible,.ck-panel a:focus-visible{outline:2px solid var(--accent,#3df29a);outline-offset:3px}
@media (min-width:720px){.ck-bar{flex-direction:row;align-items:center}.ck-text{flex:1}.ck-btns{flex:none;grid-template-columns:repeat(3,auto)}.ck-btn{min-width:112px}}
.ck-panel{position:fixed;inset:0;z-index:160;display:grid;place-items:center;padding:16px;background:rgba(var(--k-030406),.72)}
.ck-box{width:min(560px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:20px;border-radius:16px;background:rgb(var(--k-0d0f14));border:1px solid rgba(var(--tw),.14);box-shadow:0 40px 90px -30px rgba(var(--ts),var(--sa));color:var(--text,rgb(var(--kt-f4f5f6)));font-family:var(--font,system-ui)}
.ck-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ck-head h2,.ck-head .ck-title{margin:0;font-size:22px;line-height:1.2;font-weight:600;letter-spacing:-.02em}
.ck-x{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:10px;border:1px solid rgba(var(--tw),.14);background:none;color:var(--text,rgb(var(--kt-f4f5f6)));cursor:pointer}
.ck-intro{margin:10px 0 14px;font-size:15px;line-height:1.55;color:var(--text-2,rgb(var(--kt-a8adb5)))}
.ck-rows{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}
.ck-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 14px;padding:12px 14px;border-radius:12px;border:1px solid rgba(var(--tw),.08);background:rgba(var(--tw),.02)}
.ck-l{font-weight:700;font-size:15px}
.ck-d{margin:2px 0 0;font-size:13px;line-height:1.5;color:var(--text-3,rgb(var(--kt-7d828b)))}
.ck-on{grid-column:1/-1;font:500 11px/1 var(--mono,monospace);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3,rgb(var(--kt-7d828b)))}
.ck-sw{position:relative;display:inline-block;width:52px;height:44px}
.ck-sw input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.ck-sw input:disabled{cursor:not-allowed}
.ck-sw span{position:absolute;left:0;top:10px;width:52px;height:24px;border-radius:999px;background:rgba(var(--tw),.16);pointer-events:none;transition:background-color .2s}
.ck-sw span::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:rgb(var(--tw));transition:transform .2s}
.ck-sw input:checked+span{background:var(--accent,#3df29a)}
.ck-sw input:checked+span::after{transform:translateX(28px);background:rgb(var(--k-04140c))}
.ck-sw input:disabled+span{opacity:.6}
.ck-link{margin:12px 0 0;font-size:14px;color:var(--text-2,rgb(var(--kt-a8adb5)))}
.ck-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:170;max-width:calc(100vw - 32px);margin:0;padding:12px 18px;border-radius:12px;background:rgb(var(--k-12141a));border:1px solid rgba(61,242,154,.55);
  color:var(--text,rgb(var(--kt-f4f5f6)));font:400 15px/1.4 var(--font,system-ui);transform:translate(-50%,16px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.ck-toast.is-on{opacity:1;transform:translate(-50%,0)}
.ck .tp-flag{display:inline;padding:1px 6px;border-radius:4px;border:1px solid rgba(242,184,75,.45);background:rgba(242,184,75,.14);color:rgb(var(--kt-f7d08a));font:500 11px/1.6 var(--mono,monospace)}
@media (prefers-reduced-motion:reduce){.ck-toast,.ck-sw span,.ck-sw span::after{transition:none}}

/* phones: slim bar pinned to the bottom edge (text + 3 equal buttons), well under 25% of the first screen */
@media (max-width:719px){
  .ck-bar{left:0;right:0;bottom:0;max-width:none;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;border-width:1px 0 0}
  /* compact (about 72px): one short line (the full text is in the Preferences panel) + three equal buttons in one row; Decline is as easy as Accept */
  .ck-bar{gap:5px;padding:6px 12px calc(6px + env(safe-area-inset-bottom))}
  .ck-full{display:none}.ck-short{display:inline}
  .ck-text{font-size:12px;line-height:1.3}
  .ck-btns{gap:6px}
  .ck-btn{min-height:44px;font-size:14px;padding:0 6px}
}
/* short landscape (e.g. iPhone SE on its side): one row, text left, buttons right */
@media (max-height:500px) and (orientation:landscape){
  .ck-bar{flex-direction:row;align-items:center;left:0;right:0;bottom:0;max-width:none;gap:12px;padding:6px 12px calc(6px + env(safe-area-inset-bottom));border-radius:0;border-width:1px 0 0}
  .ck-text{flex:1;font-size:12px;line-height:1.35}
  .ck-btns{flex:none;grid-template-columns:repeat(3,auto);gap:6px}
  .ck-btn{min-width:92px;font-size:13px}
  .ck-box{max-height:calc(100dvh - 16px)}
  .ck-panel{padding:8px}
}

/* MOBILE PASS 3 (2026-10-10, MB-06): the Cookie Policy links keep their look but get a 44px hit area (padding cancelled by negative margin = no layout change) */
.ck-text a,.ck-link a,.ck-d a{display:inline-block;padding:15px 6px;margin:-15px -6px}
@media (max-height:500px) and (orientation:landscape){.ck-btn{min-height:44px}}
