/* Hallmark · v2.0.0 · built: the project · theme: brand · genre: atmospheric · redesign: polish · scope: app · signature: keln's existing sculptural icons */
/* Hallmark · pre-emit critique: P4 H4 E4 S5 R5 V3 · weakest: V, keeps the requested layout while repairing control proportions, pointer clarity and waveform hierarchy. */
:root{--control-active:var(--glass-2);--control-focus:var(--pink);--control-hover-ink:var(--bg);--wave-ink:var(--muted)}
html,body{overflow-x:clip}
body.keln :is(button,input,textarea,select,option,label,time){font-family:var(--font-body);font-synthesis:none}
body.keln :is(h1,h2,h3,h4){min-width:0;overflow-wrap:break-word}
body.keln .site-nav .lang-toggle{padding-block:12px}
body.keln .site-nav .lang-toggle::before{top:12px;bottom:12px;background:var(--control-active)}
body.keln .site-nav .lang-toggle span{font-family:var(--font-body);letter-spacing:0}
body.keln .keln-arrow{display:block;flex:none;width:16px;height:16px;fill:currentColor;stroke:none}
body.keln .section-head .more{gap:8px}
body.keln .release-tile,body.keln .shop-tile{cursor:default}
body.keln .release-tile__overlay{cursor:default;pointer-events:none}
body.keln .release-tile__cover,body.keln .shop-tile__cover{cursor:default}
body.keln .release-tile__overlay :is(a,button),body.keln .shop-tile__overlay :is(a,button){pointer-events:auto;cursor:pointer}
body.keln .shop-tile__overlay{pointer-events:none;cursor:default}
body.keln :is(a,button,input,summary):focus-visible{outline:2px solid var(--control-focus);outline-offset:3px}
body.keln .beats-page :is(h1,h2){text-transform:none}
body.beats-page .beat-lines{border:0}
body.beats-page .beat-lines>.beat-line{border:0;grid-template-columns:46px minmax(80px,1fr) minmax(64px,.9fr) 72px 103px;grid-template-rows:48px;gap:12px;padding:12px 0}
body.beats-page .beat-line__cover{grid-column:1;grid-row:1}
body.beats-page .beat-line__info{grid-column:2;grid-row:1;align-self:center}
body.beats-page .beat-line__wave{grid-column:3;grid-row:1;align-self:center;height:32px;color:var(--wave-ink)}
body.beats-page .beat-line__duration{grid-column:4;grid-row:1;text-align:center;font:400 11px/1.5 var(--font-body);font-variant-numeric:tabular-nums}
body.beats-page .beat-line__actions{grid-column:5;grid-row:1}
body.beats-page .beat-line.is-active .beat-line__duration{color:var(--pink)}
body.beats-page .beat-line__elapsed{display:none}
body.beats-page .beat-faq__plus{width:16px;height:16px;flex:0 0 16px}
body.beats-page .beat-faq__plus::before,body.beats-page .beat-faq__plus::after{content:none}
body.beats-page .beat-faq__plus svg{display:block;width:16px;height:16px;fill:currentColor}
body.beats-page .beat-faq__plus .faq-minus{display:none}
body.beats-page details[open] .beat-faq__plus .faq-plus{display:none}
body.beats-page details[open] .beat-faq__plus .faq-minus{display:block}
@media(min-width:761px) and (max-width:1200px){body.beats-page .beat-highlights{grid-template-columns:minmax(0,1fr);gap:32px}body.beats-page .beat-lines>.beat-line{grid-template-columns:46px minmax(120px,1fr) minmax(80px,1fr) 72px 103px}}
@media(max-width:760px){body.keln .site-nav .lang-toggle{padding-block:11px}body.keln .site-nav .lang-toggle::before{top:11px;bottom:11px}body.beats-page .beat-lines>.beat-line{grid-template-columns:40px minmax(0,1fr) 64px 90px;grid-template-rows:32px 16px;gap:4px 8px;padding-block:12px}body.beats-page .beat-line__cover{grid-row:1/3}body.beats-page .beat-line__info{grid-column:2;grid-row:1;align-self:start}body.beats-page .beat-line__wave{grid-column:2;grid-row:2;height:16px}body.beats-page .beat-line__duration{grid-column:3;grid-row:1/3;font-size:10px}body.beats-page .beat-line__actions{grid-column:4;grid-row:1/3}}
@media(max-width:360px){body.beats-page .beat-lines>.beat-line{grid-template-columns:34px minmax(0,1fr) 52px 80px;gap:4px 6px}body.beats-page .beat-line__duration{font-size:9px}}
@media(hover:hover){body.keln .release-tile__overlay a:hover{color:var(--pink)}}
@media(prefers-reduced-motion:reduce){body.keln .site-nav .lang-toggle::before{transition:none}}
/* Accessible contrast without bright decorative outlines. */
:root{--field-edge:#686873;--telegram-fill:#15618f;--telegram-hover:#1975a9}
body.beats-page .beat-contact :is(input:not([type=hidden]),textarea){border:1px solid var(--field-edge)}
body.beats-page .beat-contact .beat-honey{border:0}
body.beats-page .beat-telegram{background:var(--telegram-fill)}
body.beats-page .beat-telegram:hover{background:var(--telegram-hover)}
body.blog-theme .bfilter .bsearch input{border:1px solid var(--field-edge)}
body.blog-theme .tier__badge,body.blog-theme .tier__btn>a{background:var(--pink);color:var(--accent-ink)}
body.blog-theme .tier__badge{font:600 11px/1.4 var(--font-body);text-transform:none;letter-spacing:0}
body.blog-theme .feed-post__title{text-wrap:balance}
body.keln .release-tile__meta{font:400 11px/1.5 var(--font-body)}
body.keln .release-tile__meta :is(span,time){font:inherit}
body.beats-page .beat-search{border:1px solid var(--field-edge)}
body.beats-page .beat-faq details:not([open])>p{display:none}
