:root{--ink:#16211C;--vlak:#F1F2EE;--lijn:#DDE1D9;--stil:#5B655F;--tamago:#F5C63C;--groen:#0FA958;--rood:#E5263F;--oranje:#F58A07}
*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--ink);font-family:'Zen Kaku Gothic New','Helvetica Neue',Arial,sans-serif;font-size:1.0625rem;line-height:1.55;padding:0 1.25rem 3rem}
.tg-breed{max-width:72rem;margin:0 auto}
.tg-breed a{color:var(--ink)}.tg-breed p{margin:0}
.tg-breed h1,.tg-breed h2{font-family:'Bricolage Grotesque','Helvetica Neue',Arial,sans-serif;margin:0;letter-spacing:-.02em;text-wrap:balance}
.tg-nav{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding-block:1.25rem}
.tg-merk{display:flex;align-items:center;gap:.625rem;text-decoration:none}
.tg-merk b{font-family:'Dela Gothic One','Arial Black',sans-serif;font-weight:400;font-size:1.25rem;line-height:1;display:block}
.tg-merk small,.tg-oog,.tg-kruimel,.tg-pil,.tg-datum,.tg-label,.tg-tk{font-family:'DM Mono',ui-monospace,Menlo,monospace}
.tg-merk small{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stil)}
.tg-gast{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.9375rem}.tg-gast a{color:var(--stil)}
.tg-pil{font-size:.8125rem;background:var(--vlak);border-radius:999px;padding:.375rem 1rem;display:inline-flex;align-items:center;gap:.5rem}
.tg-pil i{width:.5rem;height:.5rem;border-radius:50%;background:#22A565;box-shadow:0 0 0 3px rgba(34,165,101,.25)}
.tg-kruimel{font-size:.8125rem;color:var(--stil);margin:.5rem 0 1.5rem}
.tg-oog{font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stil)}
.tg-pan{background:var(--tamago);box-shadow:inset 0 0 0 2px var(--ink);border-radius:1.75rem;padding:clamp(1.5rem,6vw,4rem);display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}
.tg-pan .tg-oog{color:var(--ink)}
.tg-pan h1{font-size:clamp(2rem,5.5vw,3.5rem);line-height:1.02;max-width:18ch}
.tg-form{display:flex;flex-wrap:wrap;gap:.625rem;justify-content:center;width:100%;max-width:40rem;margin-top:.5rem}
.tg-form input{flex:1 1 16rem;min-width:0;min-height:3.5rem;font:inherit;font-size:1.1875rem;padding:.5rem 1.375rem;border:0;border-radius:999px;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.tg-form input:focus-visible,.tg-knop:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.tg-knop{display:inline-flex;align-items:center;justify-content:center;min-height:3.5rem;padding:.625rem 2rem;border:0;border-radius:999px;background:var(--ink);color:#fff!important;font:inherit;font-weight:700;font-size:1.0625rem;text-decoration:none;cursor:pointer;transition:transform .18s,box-shadow .18s}
.tg-knop::after{content:"\2192";margin-left:.5rem;display:inline-block;transition:transform .18s}
.tg-knop:hover{transform:translate(-2px,-3px);box-shadow:4px 5px 0 rgba(22,33,28,.35)}.tg-knop:hover::after{transform:translateX(5px)}
.tg-form :disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:inset 0 0 0 2px var(--ink)}
.tg-melding{min-height:1.5rem;font-weight:700}.tg-melding.fout{color:#8E0F22}.tg-melding.ok{color:var(--ink)}
.tg-regel{font-weight:700}
.tg-klein{font-size:.9375rem;max-width:36rem}
.tg-skip{position:absolute;left:-999rem}
.tg-held{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}
.tg-held h1{font-size:clamp(2.25rem,6vw,4rem);line-height:1}.tg-held>p{color:var(--stil);max-width:36rem}
.tg-held .tg-knop{min-height:2.875rem;background:var(--tamago);color:var(--ink)!important;box-shadow:inset 0 0 0 2px var(--ink);margin-top:.5rem}
.tg-blok{margin-top:2.5rem}
.tg-blokkop{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;margin-bottom:.75rem}
.tg-blokkop h2{font-size:1.5rem}
.tg-lijst{display:flex;flex-direction:column;gap:.5rem}
.tg-rij{display:grid;grid-template-columns:6.5rem minmax(12rem,2.4fr) 5.5rem 5.5rem 7rem 9.5rem 1.5rem;gap:0 1rem;align-items:center;background:var(--vlak);border-radius:1rem;padding:.875rem 1.25rem;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s,background .15s}
a.tg-rij:hover{background:#fff;box-shadow:inset 0 0 0 2px var(--ink);transform:translateX(4px)}
.tg-rij.bezig,.tg-rij.mislukt{grid-template-columns:6.5rem minmax(12rem,1.6fr) minmax(8rem,2fr) 8rem}
.tg-rij.mislukt{grid-template-columns:6.5rem 1fr;background:#FFE9EC}
.tg-datum{font-size:.8125rem;color:var(--stil)}
.tg-rij small{display:block;color:var(--stil);font-size:.8125rem;line-height:1.3;font-weight:400}
.tg-naam{display:grid;grid-template-columns:auto 1fr;gap:0 .625rem;align-items:center;min-width:0}
.tg-naam b{font-family:'Bricolage Grotesque',sans-serif;font-size:1.125rem;line-height:1.2;grid-column:2}
.tg-naam small{grid-column:2}
.tg-tk{grid-row:1/3;grid-column:1;font-size:.8125rem;background:var(--ink);color:#fff;border-radius:.375rem;padding:.0625rem .5rem}
.tg-cel{display:flex;flex-direction:column;min-width:0}.tg-cel small{display:none}
.tg-chip{align-self:flex-start;font-weight:700;font-size:.8125rem;letter-spacing:.05em;color:#fff;border-radius:999px;padding:.125rem .75rem;box-shadow:0 2px 0 rgba(22,33,28,.18)}
.tg-chip.buy{background:var(--groen)}.tg-chip.hold{background:var(--oranje)}.tg-chip.sell{background:var(--rood)}
.tg-stem{align-self:flex-start;display:inline-flex;align-items:center;gap:.3em;font-weight:700;border-radius:999px;padding:0 .6em;font-size:.8125rem;white-space:nowrap}
.tg-stem.bull{background:#D9F6E6;color:#087A3E}.tg-stem.bear{background:#FFDDE2;color:#B3122A}.tg-stem.neut{background:#E0E4EA;color:#3F4A57}
.tg-tn>span{display:flex;align-items:center;gap:.5rem}
.tg-tnbar{display:flex;gap:3px;flex:1;max-width:5rem}.tg-tnbar i{flex:1;height:.5rem;border-radius:2px;background:#D5DAD0}.tg-tnbar i.on{background:var(--ink)}
.tg-ga{font-weight:700;font-size:1.25rem;transition:transform .18s}a.tg-rij:hover .tg-ga{transform:translateX(4px)}
.tg-voortgang{display:block;height:.75rem;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 2px var(--ink);overflow:hidden;position:relative}
.tg-voortgang i{position:absolute;inset:2px auto 2px 2px;max-width:calc(100% - 4px);border-radius:999px;background:var(--tamago);transition:width 1s ease}
.tg-voortgang.loopt i{background-image:repeating-linear-gradient(115deg,rgba(22,33,28,.16) 0 8px,transparent 8px 16px);background-size:200% 100%;animation:tg-loop 1.2s linear infinite}
.tg-voortgang:not(.loopt) i{animation:tg-puls 1.6s ease-in-out infinite}
@keyframes tg-loop{0%{background-position:0 0}100%{background-position:-23px 0}}
@keyframes tg-puls{0%,100%{opacity:.45}50%{opacity:1}}
.tg-label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;text-align:right}
.tg-leeg{background:var(--vlak);border-radius:1.25rem;padding:1.75rem;text-align:center;color:var(--stil)}
.tg-rapport{margin-top:-.5rem}
@media (max-width:900px){
 .tg-rij,.tg-rij.bezig{grid-template-columns:1fr 1fr;gap:.625rem 1rem}
 .tg-datum,.tg-naam,.tg-voortgang,.tg-label{grid-column:1/-1}.tg-label{text-align:left}.tg-cel small{display:block}.tg-ga{display:none}
}
@media (prefers-reduced-motion:reduce){.tg-voortgang i{animation:none!important;transition:none}.tg-knop,.tg-rij,.tg-ga{transition:none}}

.tg-form input::placeholder{color:#A9B0AA;font-weight:400;opacity:1}
