/* gk-responsive: phone-safe tables, code blocks and long links for every berkle.space page.
   Owner rule (Oct 19 2026): no table may squeeze its words to one letter per line on a phone.
   Applied by assets/brand/kit/responsive_tables.py; checked by the artifact gate (rules
   table-not-responsive, no-responsive-css, phone-overflow and table-letter-wrap).
   - table.gk-rt            every table: cells wrap between words only
   - table.gk-rt-cards      3+ columns: under 600 px each row is a card of label: value lines (header row hidden)
   - div.gk-rt-scroll       other tables: a sideways-scrolling box with sane column widths */
table.gk-rt :is(th,td){word-break:normal!important;overflow-wrap:break-word!important;hyphens:manual}
table.gk-rt :is(th,td) :is(span,a,b,strong,em,i,small,code,.gk-word){word-break:normal!important;overflow-wrap:break-word!important}
.gk-rt-scroll{display:block;max-inline-size:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.gk-rt-scroll>table.gk-rt{min-inline-size:100%;max-inline-size:none}
.gk-rt-scroll>table.gk-rt :is(th,td){min-inline-size:6.5em}
.gk-rt-scroll>table.gk-rt :is(th,td) :is(code,a){white-space:nowrap}
pre{max-inline-size:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
pre code{white-space:inherit}
/* A grid or flex item grows to fit its widest child unless its min size is 0: let code and tables scroll instead. */
:has(>pre,>table.gk-rt,>.gk-rt-scroll){min-inline-size:0}
:is(p,li,dd,dt,blockquote,figcaption,h1,h2,h3,h4,h5,h6,label,summary)>:is(a,code,kbd,samp){overflow-wrap:anywhere}
img,video,iframe{max-inline-size:100%}
@media (max-width:600px){
 table.gk-rt-cards,table.gk-rt-cards>:is(tbody,tfoot),table.gk-rt-cards>tr,table.gk-rt-cards>:is(tbody,tfoot)>tr,table.gk-rt-cards>:is(tbody,tfoot,thead)>tr>:is(td,th),table.gk-rt-cards>tr>:is(td,th){display:block!important;inline-size:auto!important;min-inline-size:0!important;max-inline-size:100%!important;float:none!important}
 table.gk-rt-cards{border:0!important;table-layout:auto!important;min-inline-size:0!important}
 table.gk-rt-cards>caption{display:block;text-align:start}
 table.gk-rt-cards>thead,table.gk-rt-cards tr.gk-rt-head{display:none!important}
 table.gk-rt-cards>:is(tbody,tfoot)>tr,table.gk-rt-cards>tr{border:1px solid color-mix(in srgb,currentColor 22%,transparent)!important;border-radius:10px;padding:8px 12px!important;margin:0 0 10px!important}
 table.gk-rt-cards>:is(tbody,tfoot)>tr>:is(td,th),table.gk-rt-cards>tr>:is(td,th){border:0!important;padding:4px 0!important;text-align:start!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
 table.gk-rt-cards>:is(tbody,tfoot)>tr>:is(td,th) *,table.gk-rt-cards>tr>:is(td,th) *{overflow-wrap:anywhere!important;white-space:normal!important;max-inline-size:100%}
 table.gk-rt-cards>:is(tbody,tfoot)>tr>:is(td,th)[data-label]:not([data-label=""])::before,table.gk-rt-cards>tr>:is(td,th)[data-label]:not([data-label=""])::before{content:attr(data-label);display:block!important;flex:none!important;inline-size:auto!important;max-inline-size:none!important;margin:0 0 2px!important;font-size:.8em;font-weight:600;letter-spacing:.01em;opacity:.75;overflow-wrap:normal!important;white-space:normal!important}
 table.gk-rt-cards.gk-rt-own-labels>:is(tbody,tfoot)>tr>:is(td,th)::before{content:none!important}
 table.gk-rt-cards .cell-key{display:flex!important;flex:none!important;inline-size:auto!important;max-inline-size:none!important;min-block-size:0!important;margin:0 0 2px!important}
 table.gk-rt-cards>:is(tbody,tfoot)>tr>:is(td,th):first-child,table.gk-rt-cards>tr>:is(td,th):first-child{font-weight:600}
 table.gk-rt-cards>:is(tbody,tfoot)>tr>:is(td,th):empty,table.gk-rt-cards>tr>:is(td,th):empty{display:none!important}
}
