*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:var(--type-body-weight) var(--type-body-size)/var(--type-body-line) var(--font-sans);color:var(--color-on-surface);
  padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);min-height:100dvh}
a{color:var(--color-primary);text-underline-offset:3px}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.wrap{max-width:1200px;margin:0 auto;padding:0 var(--space-4)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;z-index:99;background:var(--color-surface);padding:12px}
/* header */
.top{position:sticky;top:0;z-index:20;background:var(--color-surface-container);border-bottom:1px solid var(--color-outline-variant);padding-top:var(--safe-top)}
.top .wrap{display:flex;align-items:center;gap:var(--space-2);min-height:64px;flex-wrap:wrap}
.logo{display:inline-flex;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-1);font:600 18px/1 var(--font-mono);color:var(--color-on-surface);text-decoration:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.logo b{color:var(--color-primary);font-weight:600}
.logo svg{width:28px;height:28px;stroke:var(--color-primary);fill:none;stroke-width:1.5}
.ctrls{margin-left:auto;display:flex;gap:var(--space-2)}
.btn-ico{min-width:48px;height:48px;padding:0 var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-outline-variant);font:600 14px/1 var(--font-mono);color:var(--color-on-surface-variant)}
.btn-ico[aria-pressed="true"]{border-color:var(--color-primary);color:var(--color-primary)}
.nav{display:flex;gap:var(--space-2);width:100%;overflow-x:auto;padding-bottom:var(--space-2);scrollbar-width:none}
.nav a{flex:none;display:inline-flex;align-items:center;min-height:48px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-on-surface-variant);text-decoration:none;font-size:15px;font-weight:600}
.nav a[aria-current]{color:var(--color-on-primary-container);background:var(--color-primary-container)}
@media(min-width:900px){.top .wrap{flex-wrap:nowrap}.nav{width:auto;order:0;padding:0}.ctrls{order:1}}
/* grid + dimension */
.grid{background-color:var(--color-surface);background-image:linear-gradient(var(--color-grid-line-major) 1px,transparent 1px),linear-gradient(90deg,var(--color-grid-line-major) 1px,transparent 1px),linear-gradient(var(--color-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--color-grid-line) 1px,transparent 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px}
.statusline{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font:600 14px/20px var(--font-mono);letter-spacing:.05em;color:var(--color-on-surface-variant);text-transform:uppercase}
.statusline .ok{color:var(--color-success)}.statusline .warn{color:var(--color-warning)}.statusline .acc{color:var(--color-primary)}
.dimline{display:flex;align-items:center;gap:var(--space-2);font:600 14px/20px var(--font-mono);color:var(--color-on-surface-variant);margin:var(--space-3) 0}
.dimline::before,.dimline::after{content:"";flex:1;height:8px;border-left:1px solid var(--color-dimension-line);border-right:1px solid var(--color-dimension-line);background:linear-gradient(var(--color-dimension-line),var(--color-dimension-line)) center/100% 1px no-repeat}
/* hero */
.hero{padding:var(--space-12) 0 var(--space-10);border-bottom:1px solid var(--color-outline-variant)}
.hero h1{font:600 clamp(32px,7vw,64px)/1.2 var(--font-sans);letter-spacing:-.02em;margin:var(--space-4) 0;max-width:20ch}
.hero h1 em{font-style:normal;color:var(--color-primary)}
.hero p.lead{font-size:18px;line-height:28px;color:var(--color-on-surface-variant);max-width:60ch;margin:0 0 var(--space-6)}
.cta{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-5);border-radius:var(--radius-md);font-weight:600;font-size:15px;letter-spacing:.03em;text-decoration:none;transition:background-color var(--motion-short) var(--ease-standard)}
.btn.primary{background:var(--color-primary);color:var(--color-on-primary)}
.btn.tonal{background:var(--color-surface-container-high);color:var(--color-on-surface);border:1px solid var(--color-outline)}
.btn[aria-disabled="true"]{opacity:1;background:var(--color-surface-container);color:var(--color-on-surface-variant);border:1px dashed var(--color-outline);cursor:not-allowed}
/* panels */
section.panel{padding:var(--space-10) 0}
.ph{display:flex;align-items:baseline;gap:var(--space-3);border-bottom:1px solid var(--color-outline-variant);padding-bottom:var(--space-2);margin-bottom:var(--space-6)}
.ph .no{font:600 14px/20px var(--font-mono);color:var(--color-primary);letter-spacing:.06em}
.ph h2{margin:0;font-size:24px;line-height:32px;font-weight:600}
.ph .meta{margin-left:auto;font:14px/20px var(--font-mono);color:var(--color-on-surface-variant)}
.cards{display:grid;gap:var(--space-4);grid-template-columns:1fr}
@media(min-width:720px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.cards.c3{grid-template-columns:repeat(3,1fr)}.cards.c4{grid-template-columns:repeat(4,1fr)}}
.card{position:relative;background:var(--color-surface-container-low);border:1px solid var(--color-outline-variant);border-radius:var(--radius-md);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}
.card::before,.card::after{content:"";position:absolute;width:10px;height:10px;border:0 solid var(--color-dimension-line)}
.card::before{top:5px;left:5px;border-top-width:1px;border-left-width:1px}.card::after{bottom:5px;right:5px;border-bottom-width:1px;border-right-width:1px}
.card h3{margin:0;font-size:20px;line-height:28px}
.card p{margin:0;color:var(--color-on-surface-variant)}
.card .foot{margin-top:auto;display:flex;flex-wrap:wrap;gap:var(--space-2)}
.chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:32px;padding:4px 10px;border-radius:var(--radius-sm);border:1px solid currentColor;font:600 14px/20px var(--font-mono);letter-spacing:.04em;width:max-content;max-width:100%}
.chip.ok{color:var(--color-success)}.chip.warn{color:var(--color-on-warning-container);background:var(--color-warning-container);border-color:var(--color-warning)}.chip.info{color:var(--color-primary)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-4);margin:0;font-size:15px}
.kv dt{color:var(--color-on-surface-variant)}.kv dd{margin:0;font-family:var(--font-mono);overflow-wrap:anywhere}
.ph-mark{color:var(--color-warning);font:600 14px var(--font-mono)}
.list-plain{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-2)}
.list-plain a{display:flex;align-items:center;min-height:48px;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-4);border:1px solid var(--color-outline-variant);border-radius:var(--radius-sm);text-decoration:none;color:var(--color-on-surface);background:var(--color-surface-container-low)}
.list-plain a span.mono{color:var(--color-on-surface-variant);font-size:14px}
.split{display:grid;gap:var(--space-6)}@media(min-width:900px){.split{grid-template-columns:1.1fr 1fr;align-items:center}}
.render{border:1px solid var(--color-outline-variant);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-surface-container-lowest)}
.render svg{width:100%;height:auto;display:block}
.render text{font:600 14px var(--font-mono);fill:var(--color-on-surface-variant)}
.frame{border:2px solid var(--color-warning);border-radius:var(--radius-md);padding:var(--space-5);background:var(--color-warning-container);color:var(--color-on-warning-container)}
.frame h3{margin:0 0 var(--space-2)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3)}
.shot{aspect-ratio:9/16;border:1px dashed var(--color-outline);border-radius:var(--radius-md);display:grid;place-items:center;text-align:center;padding:var(--space-2);font:600 14px/20px var(--font-mono);color:var(--color-on-surface-variant);background:var(--color-surface-container-low)}
.steps{counter-reset:s;list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}
.steps li{counter-increment:s;display:flex;gap:var(--space-3);align-items:flex-start}
.steps li::before{content:counter(s,decimal-leading-zero);font:600 14px/24px var(--font-mono);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:0 6px}
footer{border-top:1px solid var(--color-outline-variant);background:var(--color-surface-container);padding:var(--space-8) 0 calc(var(--space-8) + var(--safe-bottom));margin-top:var(--space-10)}
footer .wrap{display:grid;gap:var(--space-4)}
footer nav{display:flex;flex-wrap:wrap;gap:var(--space-2)}footer nav a{display:inline-flex;align-items:center;min-height:48px;padding:0 var(--space-2)}
footer small{font-size:14px;color:var(--color-on-surface-variant)}

/* ===== LCARS-inspired layer (generic shapes/colors, no trademarked assets) ===== */
[data-skin="lcars"]{--color-surface:#000;--color-surface-container-lowest:#000;--color-surface-container-low:#0B0B12;--color-surface-container:#000;--color-surface-container-high:#1A1A26;
 --color-on-surface:#F2E9DA;--color-on-surface-variant:#C9BFD6;--color-primary:#FF9F5A;--color-on-primary:#000;--color-primary-container:#CC99CC;--color-on-primary-container:#000;
 --color-outline-variant:#3A3350;--color-outline:#8C83A6;--color-dimension-line:#9999FF;--color-grid-line:transparent;--color-grid-line-major:transparent;--color-success:#99CC66;--color-warning:#FF9F5A}
[data-skin="lcars"] .top{border-bottom:0}
[data-skin="lcars"] .top .wrap{border-left:24px solid #CC99CC;border-bottom:12px solid #CC99CC;border-bottom-left-radius:40px;padding-left:var(--space-4)}
[data-skin="lcars"] .nav a,[data-skin="lcars"] .btn,[data-skin="lcars"] .chip,[data-skin="lcars"] .btn-ico{border-radius:999px}
[data-skin="lcars"] .nav a{background:#9999FF;color:#000}[data-skin="lcars"] .nav a[aria-current]{background:#FF9F5A}
[data-skin="lcars"] .ph{border-bottom:0;background:#9999FF;color:#000;border-radius:999px 0 0 999px;padding:var(--space-2) var(--space-5)}
[data-skin="lcars"] .ph .no,[data-skin="lcars"] .ph .meta{color:#000}
[data-skin="lcars"] .ph .no::after{content:attr(data-lcars);margin-left:6px}
[data-skin="lcars"] .card{border:0;border-left:16px solid #CC99CC;border-top-left-radius:28px;border-bottom-left-radius:28px}
[data-skin="lcars"] .card::before,[data-skin="lcars"] .card::after{display:none}
/* ===== Matrix-inspired hidden layer ===== */
[data-skin="matrix"]{--color-surface:#000;--color-surface-container-lowest:#000;--color-surface-container-low:#020A04;--color-surface-container:#000;--color-surface-container-high:#03140A;
 --color-on-surface:#00FF41;--color-on-surface-variant:#4BD86F;--color-primary:#00FF41;--color-on-primary:#000;--color-primary-container:#00FF41;--color-on-primary-container:#000;
 --color-outline-variant:#0B3D1A;--color-outline:#1F9E45;--color-dimension-line:#00FF41;--color-grid-line:rgba(0,255,65,.05);--color-grid-line-major:rgba(0,255,65,.1);--color-success:#00FF41;--color-warning:#FFB000;--color-warning-container:#1A1200;--color-on-warning-container:#FFC94D;--font-sans:var(--font-mono)}
[data-skin="matrix"] body{text-shadow:0 0 6px rgba(0,255,65,.35)}
@media (prefers-reduced-motion:reduce){.skin-toggle{display:none!important}}
.list-plain a{overflow-wrap:anywhere;padding-top:8px;padding-bottom:8px}.list-plain a span.mono{flex:none}
[data-skin="matrix"] .hero h1{line-height:1.35;letter-spacing:0}
/* ===== v2 ===== */
.bbar{position:fixed;z-index:30;left:0;right:0;bottom:0;display:flex;gap:var(--space-1);padding:0 calc(var(--space-2) + var(--safe-right)) var(--safe-bottom) calc(var(--space-2) + var(--safe-left));background:var(--color-surface-container);border-top:1px solid var(--color-outline-variant)}
.bbar a{flex:1;min-width:48px;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--color-on-surface-variant);text-decoration:none;font-size:14px;line-height:20px;font-weight:600}
.bbar a .ind{display:grid;place-items:center;width:56px;height:28px;border-radius:var(--radius-full)}
.bbar a[aria-current]{color:var(--color-on-surface)}.bbar a[aria-current] .ind{background:var(--color-primary-container);color:var(--color-on-primary-container)}
.bbar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
body{padding-bottom:calc(72px + var(--safe-bottom))}
@media(max-width:899px){.top .nav{display:none}}
@media(min-width:900px){.bbar{display:none}body{padding-bottom:var(--safe-bottom)}}
[data-skin="lcars"] .bbar a .ind{border-radius:999px}
.fig{display:flex;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;font:600 14px/20px var(--font-mono);color:var(--color-on-surface-variant);letter-spacing:.05em}
.model svg .edge{stroke:var(--color-primary);stroke-width:1.6;fill:none}
.model svg .hid{stroke:var(--color-primary);stroke-width:1;stroke-dasharray:4 4;opacity:.45;fill:none}
.model svg .dim{stroke:var(--color-dimension-line);stroke-width:1;fill:none;transition:stroke-width var(--motion-short) var(--ease-standard)}
.model:hover svg .dim,.model:focus-within svg .dim{stroke-width:2}
.range{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);font:600 14px/20px var(--font-mono);color:var(--color-on-surface-variant)}
.range input{flex:1;min-width:0;height:48px;accent-color:var(--color-primary)}
.breath{display:grid;gap:var(--space-4);justify-items:center;text-align:center}
.breath svg{width:min(260px,70vw);height:auto}
.breath .ring{fill:none}
.breath .ring{stroke:var(--color-primary);stroke-width:2;opacity:.9;filter:drop-shadow(0 0 calc(var(--glow,.4)*10px) var(--color-primary))}
.breath .ring2{fill:none;stroke:var(--color-dimension-line);stroke-width:1;stroke-dasharray:2 6;opacity:.6}
.breath .core{fill:none;stroke:var(--color-primary);stroke-width:1.4;transform-origin:130px 130px;transform:scaleY(.6)}
.breath .node{fill:var(--color-primary);filter:drop-shadow(0 0 6px var(--color-primary))}
.breath .phase{font:600 18px/28px var(--font-mono);color:var(--color-primary);min-height:28px}
.breath .row{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;align-items:center}
.breath select{min-height:48px;padding:0 var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-container-high);color:var(--color-on-surface);border:1px solid var(--color-outline);font:600 15px var(--font-mono)}
.tp{display:grid;grid-template-columns:1fr;gap:0;border:1px solid var(--color-outline-variant);border-radius:var(--radius-md);overflow:hidden}
.tp div{display:grid;grid-template-columns:minmax(110px,30%) 1fr;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px dashed var(--color-outline-variant);background:var(--color-surface-container-low)}
.tp div:first-child{border-top:0}.tp dt{font:600 14px/24px var(--font-mono);color:var(--color-on-surface-variant);text-transform:uppercase;letter-spacing:.05em}.tp dd{margin:0}
.form{display:grid;gap:var(--space-3);max-width:560px}
.form label{display:grid;gap:var(--space-1);font-weight:600;font-size:15px}
.form input,.form textarea{min-height:48px;padding:12px;border-radius:var(--radius-sm);border:1px solid var(--color-outline);background:var(--color-surface-container-lowest);color:var(--color-on-surface);font:inherit}
.log{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}
.log li{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px dashed var(--color-outline-variant)}
.log time{font:600 14px/24px var(--font-mono);color:var(--color-primary)}
.big404{font:600 clamp(72px,22vw,160px)/1 var(--font-mono);color:var(--color-primary);margin:0}
.model svg .mesh{stroke:var(--color-primary);stroke-width:.7;opacity:.55;fill:none}
.model svg{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--color-primary) 35%,transparent))}
/* HUD-style transparency panel */
.hud{border:1px solid var(--color-outline);border-radius:var(--radius-sm);background:var(--color-surface-container-lowest)}
.hud-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-on-primary);font:600 14px/20px var(--font-mono);letter-spacing:.08em}
.hud .tp{border:0;border-radius:0}
.hud .tp div{position:relative;background:transparent;padding-left:var(--space-5)}
.hud .tp div::before{content:"";position:absolute;left:0;top:14px;width:8px;height:12px;background:var(--color-primary);clip-path:polygon(0 0,100% 50%,0 100%)}
.hud-f{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-outline-variant);font:600 14px/20px var(--font-mono);color:var(--color-on-surface-variant)}
.bars{display:flex;gap:3px;align-items:flex-end;height:20px}.bars i{width:6px;background:var(--color-primary);opacity:.8}
.tp dd,.tp div{min-width:0}.tp dd{overflow-wrap:anywhere;display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}
@media(max-width:480px){.tp div{grid-template-columns:1fr;gap:var(--space-1)}}
.kv dd a{display:inline-block;line-height:24px}
.big404{line-height:1.25;margin-bottom:var(--space-2)}
.kv dd a,.tp dd a{display:inline-flex;align-items:center;min-height:48px}
.big404{margin-top:var(--space-6)}
/* v3 */
.filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}
.fbtn{min-height:48px;padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--color-outline);background:var(--color-surface-container-low);color:var(--color-on-surface);font-size:15px;font-weight:600;text-align:left}
.fbtn[aria-pressed="true"]{background:var(--color-primary-container);color:var(--color-on-primary-container);border-color:var(--color-primary)}
.entries{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}@media(min-width:900px){.entries{grid-template-columns:repeat(2,1fr)}}
.entry{background:var(--color-surface-container-low);border:1px solid var(--color-outline-variant);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);padding:var(--space-4);display:grid;gap:var(--space-2)}
.entry h3{margin:0;font-size:20px;line-height:28px}.entry h3 a{display:inline-flex;align-items:center;min-height:48px}.entry p{margin:0;color:var(--color-on-surface-variant)}
.tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.tag{font:600 14px/20px var(--font-mono);padding:2px 8px;border:1px dashed var(--color-outline);border-radius:var(--radius-xs);color:var(--color-on-surface-variant)}
.entry[hidden]{display:none}
[hidden]{display:none!important}
/* ===== v4 overrides ===== */
:root,[data-theme="dark"]{--color-body:#C9D1D9}
[data-theme="light"]{--color-body:#2B333C}
body{font-size:16px;line-height:26px;color:var(--color-body)}
h1,h2,h3,.entry h3 a,.card h3{color:var(--color-on-surface)}
.lead,.card p,.entry p,.kv,.tp dd,.note,.faq dd{color:var(--color-body);font-size:16px;line-height:26px}
.nav a,.fbtn,.btn,.kv,.form label{font-size:16px}
/* grid only as a dimmed backdrop; text areas sit on solid surface */
body.grid{background-image:none;background-color:var(--color-surface)}
.hero{background-color:var(--color-surface);background-image:linear-gradient(var(--color-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--color-grid-line) 1px,transparent 1px);background-size:16px 16px}
.hero .txt,.hero .wrap>.eyebrow~*{position:relative}
.hero .txt{background:color-mix(in srgb,var(--color-surface) 92%,transparent);padding:var(--space-2);border-radius:var(--radius-md)}
.hero .wrap:not(.split){background:color-mix(in srgb,var(--color-surface) 92%,transparent);border-radius:var(--radius-md);padding-top:var(--space-2);padding-bottom:var(--space-2)}
.eyebrow{margin:0 0 var(--space-2);font:600 14px/20px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary)}
.tagline{margin:0 0 var(--space-3);font:500 18px/28px var(--font-mono);color:var(--color-on-surface-variant)}
.sub .hero h1{font-size:clamp(40px,5vw,48px);line-height:1.25}
.hero{padding:var(--space-8) 0}
/* decorations removed (keep: grid backdrop, FIG dimension lines, section numbers) */
.card::before,.card::after,.hud .tp div::before{display:none}
.hud .tp div{padding-left:var(--space-4)}
.model svg,.breath .ring{filter:none}
.hud-h{background:var(--color-surface-container-high);color:var(--color-on-surface);border-bottom:1px solid var(--color-outline-variant)}
.ph .meta{display:none}
.chip{margin-right:var(--space-2)}
.chip.draft{color:var(--color-on-surface-variant);border-color:var(--color-outline);background:var(--color-surface-container-high)}
.entry{border-left-width:1px}
/* 360 content-first */
.model{margin:0}
@media(max-width:899px){.model svg{max-width:300px;margin:0 auto}.hero .split{gap:var(--space-4)}}
.filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:var(--space-2);-webkit-overflow-scrolling:touch}
.fbtn{flex:none;white-space:nowrap}
.range span{font:600 14px/20px var(--font-mono);color:var(--color-on-surface-variant)}
.theme-btn{width:48px;padding:0;display:grid;place-items:center}
.theme-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round}
[data-theme="dark"] .i-moon,[data-theme="light"] .i-sun{display:none}
.contact{display:grid;gap:var(--space-2);justify-items:start}.contact .addr{margin:0;font-size:14px;color:var(--color-on-surface-variant)}
.steps .btn{margin-top:var(--space-2)}
.faq{margin:0 0 var(--space-4)}.faq dt{font-weight:600;color:var(--color-on-surface)}.faq dd{margin:0}
.note{margin:0;font-size:14px;color:var(--color-on-surface-variant)}
footer nav a{font-size:16px}footer small{font-size:14px}
body{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))}
@media(min-width:900px){body{padding-bottom:env(safe-area-inset-bottom,0px)}}
.bbar{position:fixed;bottom:0}
.breath .phase{font:600 16px/24px var(--font-mono);color:var(--color-on-surface-variant);margin:0}
.btn:disabled{background:var(--color-surface-container);color:var(--color-on-surface-variant);border:1px dashed var(--color-outline);cursor:not-allowed}
.fwrap{position:relative;margin-bottom:var(--space-5)}.fwrap .filters{margin-bottom:0}
.fwrap::after{content:"";position:absolute;top:0;right:0;bottom:var(--space-2);width:48px;pointer-events:none;opacity:0;transition:opacity var(--motion-short) var(--ease-standard);background:linear-gradient(90deg,transparent,var(--color-surface))}
.fwrap.more::after{opacity:1}
