@import url("./tokens.css?v=98bc8056149318dc");
@import url("./components.css?v=99e461dcfdf67628");
*{box-sizing:border-box}html{scroll-padding-top:var(--space-6)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--font-size-body);line-height:var(--line-height-body);word-break:keep-all}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;left:16px;background:var(--color-surface);padding:var(--space-3);z-index:10}.skip-link:focus{top:10px}
.site-header,main,footer{max-width:var(--content-width);margin:auto;padding-left:var(--space-10);padding-right:var(--space-10)}.site-header{min-height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:19px;font-weight:var(--font-weight-bold)}.site-header nav{display:flex;gap:var(--space-7);font-size:var(--font-size-sm)}.page-heading{padding:var(--space-11) 0 var(--space-7);display:flex;align-items:baseline;gap:var(--space-6)}.page-heading h1{font-size:26px;margin:0;font-weight:var(--font-weight-semibold);letter-spacing:-1px}.page-heading p{color:var(--muted);margin:0;font-size:var(--font-size-sm)}
.diagram-nav{display:flex;gap:7px;flex-wrap:wrap;padding-bottom:var(--space-5-half);border-bottom:1px solid var(--line)}.diagram-nav button{border-color:transparent;background:transparent;padding:var(--space-2) var(--space-3-half);font-size:var(--font-size-sm)}.diagram-nav button[aria-current="true"]{background:var(--ink);color:var(--color-surface)}.diagram-heading{min-height:146px;padding:26px 0 var(--space-5-half);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.diagram-meta{font-size:11px;color:var(--muted);margin:0 0 5px;letter-spacing:.4px}.diagram-heading h2{font-size:21px;font-weight:var(--font-weight-semibold);margin:0 0 7px;letter-spacing:-.5px}.diagram-heading>div>p:last-child{font-size:var(--font-size-sm);color:var(--muted);margin:0;max-width:900px}.pagination{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.pagination span{font-size:var(--font-size-xs);color:var(--muted);min-width:35px;text-align:center}.pagination button{padding:5px 11px}
.diagram-shell{position:relative;border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;background:var(--canvas)}.toolbar{min-height:54px;display:flex;align-items:center;gap:5px;padding:var(--space-2-half) var(--space-3-half);border-bottom:1px solid var(--line);background:var(--color-surface)}.toolbar button{font-size:var(--font-size-xs);padding:5px var(--space-2-half)}.toolbar output{font-size:11px;min-width:48px;text-align:center;color:var(--muted)}.toolbar-divider{height:20px;border-left:1px solid var(--line);margin:0 7px}.diagram-canvas{height:620px;width:100%;touch-action:none}.diagram-canvas canvas{display:block}.canvas-caption{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-2-half) var(--space-3-half);color:var(--muted);font-size:11px;border-top:1px solid var(--line);background:var(--color-surface)}[data-ui="engine-status"]{padding:var(--space-5);color:var(--muted)}
.selection-panel{display:grid;grid-template-columns:100px 1fr auto;align-items:start;gap:var(--space-4-half);padding:var(--space-5) 0;min-height:89px;border-bottom:1px solid var(--line);font-size:var(--font-size-sm)}.selection-label{color:var(--muted);font-size:var(--font-size-xs);margin:1px 0}#selection-content{overflow-wrap:anywhere}#selection-content strong{display:block;font-size:var(--font-size-ui);margin-bottom:7px}#selection-content p{margin:var(--space-1) 0;color:var(--muted)}#selection-content .relation-tag{color:var(--ink);display:inline-block;min-width:62px}.selection-panel button{font-size:11px}
.text-view{margin-top:var(--space-4-half);font-size:var(--font-size-xs)}.text-view summary{cursor:pointer;width:fit-content}.text-view>p{color:var(--muted)}#node-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);list-style:none;padding:0}#node-list button{width:100%;text-align:left;font-size:var(--font-size-xs)}#node-list button[aria-pressed="true"]{border-color:var(--accent);background:var(--color-surface-hover)}
.simple-section{padding:var(--space-12) 0;border-top:1px solid var(--line);margin-top:var(--space-12)}.simple-section h2{font-size:20px;margin:0 0 var(--space-6);font-weight:var(--font-weight-semibold)}.simple-section h3{font-size:var(--font-size-ui);font-weight:var(--font-weight-medium);margin:0 0 var(--space-3)}.pr-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}.muted{color:var(--muted);font-size:var(--font-size-sm)}.company-info{margin:0}.company-info>div{display:grid;grid-template-columns:145px 1fr;gap:var(--space-5);margin:var(--space-3) 0;font-size:var(--font-size-sm)}.company-info dt{color:var(--muted)}.company-info dd{margin:0}footer{padding-top:var(--space-6);padding-bottom:30px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}
@media(max-width:760px){.site-header,main,footer{padding-left:var(--space-4-half);padding-right:var(--space-4-half)}.site-header{min-height:66px}.site-header nav{gap:var(--space-4-half);font-size:var(--font-size-xs)}.page-heading{padding:30px 0 var(--space-5-half);display:block}.page-heading h1{font-size:23px}.page-heading p{margin-top:var(--space-1-half)}.diagram-nav{gap:3px}.diagram-nav button{padding:7px var(--space-2-half);font-size:var(--font-size-xs)}.diagram-heading{align-items:flex-start;min-height:155px;gap:var(--space-3)}.diagram-heading h2{font-size:19px}.diagram-heading>div>p:last-child{font-size:var(--font-size-xs)}.pagination{gap:var(--space-1-half)}.pagination button{padding:var(--space-1) var(--space-2)}.pagination span{font-size:11px;min-width:28px}.diagram-canvas{height:470px}.toolbar{padding:9px;gap:var(--space-1)}.toolbar button{font-size:11px;padding:5px var(--space-2)}.canvas-caption{font-size:10px;padding:9px;display:block}.canvas-caption>span{display:block}.canvas-caption>span+span{margin-top:3px}.selection-panel{grid-template-columns:1fr auto;gap:var(--space-2)}.selection-label{grid-column:1/-1}.selection-panel button{padding:5px var(--space-2)}#node-list{grid-template-columns:1fr 1fr}.simple-section{margin-top:var(--space-9);padding:var(--space-9) 0}.company-info>div{grid-template-columns:100px 1fr;gap:var(--space-3);font-size:var(--font-size-xs)}}

.structure-key{font-size:var(--font-size-xs);line-height:1.9;color:var(--muted);margin:0 0 var(--space-4-half)}.diagram-canvas{cursor:grab}.diagram-canvas:active{cursor:grabbing}

.diagram-nav{gap:var(--space-4) var(--space-6)}.nav-caption{display:block;font-size:10px;color:var(--muted);margin-bottom:var(--space-2)}.nav-buttons{display:flex;gap:3px;flex-wrap:wrap}.nav-group{border-right:1px solid var(--line);padding-right:var(--space-5)}.nav-group:last-child{border:0;padding:0}@media(max-width:760px){.diagram-nav{gap:var(--space-4)}.nav-group{border:0;padding:0}.nav-caption{font-size:10px}.page-heading p{font-size:var(--font-size-xs)}}

.story-panel{border:1px solid var(--line);border-radius:var(--radius-card);margin:0 0 var(--space-3-half);background:var(--color-surface);padding:var(--space-3-half) var(--space-4)}.story-top{display:flex;align-items:center;gap:var(--space-4)}.story-badge{font-size:var(--font-size-xs);color:var(--accent)}[data-ui="story-progress"]{font-size:11px;color:var(--muted)}.story-controls{margin-left:auto;display:flex;gap:var(--space-1-half)}.story-controls button{font-size:var(--font-size-xs);padding:5px var(--space-3)}[data-ui="play-story"]{background:var(--accent);color:var(--color-white);border-color:var(--accent)}.dialogue{font-size:var(--font-size-ui);min-height:32px;padding-top:var(--space-3)}.dialogue strong{font-size:var(--font-size-xs);color:var(--accent);font-weight:var(--font-weight-medium)}.technology-ending{padding:var(--space-6);border:1px solid var(--accent);border-radius:var(--radius-card);margin-top:var(--space-4)}.technology-ending>p{font-size:var(--font-size-xs);color:var(--muted);margin:0 0 var(--space-3)}.technology-ending ol{margin:0;padding-left:var(--space-5-half)}.technology-ending li{padding:5px 0;font-size:var(--font-size-sm);color:var(--muted)}.technology-ending li.current{font-weight:var(--font-weight-semibold);color:var(--accent)}@media(max-width:760px){.story-panel{padding:var(--space-3)}.dialogue{font-size:var(--font-size-xs)}.story-top{gap:var(--space-2)}.story-controls button{font-size:11px;padding:5px var(--space-2)}.story-badge{font-size:11px}.technology-ending{padding:var(--space-4)}.technology-ending li{font-size:var(--font-size-xs)}}

@media(max-width:760px){.diagram-canvas{height:360px}}
/* English captions remain fixed inside the game viewport while the world moves. */
.canvas-viewport{position:relative;isolation:isolate}
.canvas-subtitle{position:absolute;left:20px;right:20px;bottom:16px;z-index:2;pointer-events:none;display:flex;flex-direction:column;gap:5px;align-items:center;text-align:center;padding:13px var(--space-5-half);border-radius:var(--radius-card);background:var(--color-caption-surface);box-shadow:var(--shadow-caption);color:var(--color-text);font-size:15px;line-height:1.55;word-break:keep-all;overflow-wrap:break-word;max-width:760px;margin:0 auto}
.canvas-subtitle strong{font-size:10px;letter-spacing:1.4px;color:var(--color-text-brand);font-weight:var(--font-weight-semibold)}
.story-panel{padding:var(--space-2-half) var(--space-3-half)}
@media(max-width:760px){.canvas-subtitle{left:9px;right:9px;bottom:10px;padding:var(--space-2-half) var(--space-3);font-size:var(--font-size-xs);line-height:1.5}.canvas-subtitle strong{font-size:9px}}

.toolbar .icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:5px}.toolbar-progress{margin-left:auto;font-size:10px;color:var(--muted);white-space:nowrap}.toolbar{flex-wrap:wrap}
/* Header follows the supplied planning guide. */
.guide-header{display:flex;align-items:center;gap:var(--space-3-half);padding:30px 0 var(--space-3);border-bottom:1px solid var(--color-text)}.guide-header a{display:flex;flex-shrink:0}.guide-header h1{font-size:20px;line-height:1.5;font-weight:var(--font-weight-regular);margin:0;letter-spacing:0}.guide-description{font-size:var(--font-size-lead);line-height:1.6;margin:var(--space-6) 0 30px;color:var(--ink)}.diagram-pager{display:flex;align-items:center;gap:var(--space-2);margin-left:var(--space-2-half)}.diagram-pager span{font-size:10px;color:var(--muted);white-space:nowrap}.diagram-pager button{padding:var(--space-1) var(--space-2)}.toolbar-progress{margin-left:auto}@media(max-width:760px){.guide-header{padding-top:var(--space-6);gap:var(--space-2-half)}.guide-header h1{font-size:var(--font-size-reading)}.guide-header svg{width:28px;height:28px}.guide-description{font-size:15px;margin:var(--space-5) 0 var(--space-6)}.diagram-pager{margin-left:auto}}
.diagram-section{padding-bottom:var(--space-12)}.diagram-section+.diagram-section{padding-top:0;border-top:1px solid var(--line)}.diagram-section-title{font-size:20px;line-height:1.5;font-weight:var(--font-weight-regular);margin:var(--space-3-half) 0 var(--space-5-half)}.diagram-section .toolbar-progress{margin-left:auto}@media(max-width:760px){.diagram-section{padding-bottom:var(--space-8)}.diagram-section+.diagram-section{padding-top:0}.diagram-section-title{font-size:var(--font-size-reading);margin:var(--space-2) 0 var(--space-4-half)}}

/* Persistent technology classification, separate from playback progress. */
.diagram-section .toolbar-progress{margin-left:var(--space-2)}
.toolbar-technology{margin-left:auto;text-align:right;font-size:var(--font-size-xs);line-height:1.5;color:var(--accent);font-weight:var(--font-weight-medium)}
@media(max-width:520px){.toolbar-technology{flex-basis:100%;padding-top:3px;font-size:11px}}
/* Product readiness sits immediately below its title. */
.diagram-section-title.has-readiness{margin-bottom:var(--space-1-half)}
.diagram-readiness{margin:0 0 var(--space-5);font-size:var(--font-size-xs);line-height:1.5;color:var(--muted)}
@media(max-width:760px){.diagram-readiness{font-size:11px;margin-bottom:var(--space-4)}}
/* Inquiry form: company.html fields and submission route. */
#contact-dialog{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-dialog);padding:var(--space-6);color:var(--color-text);background:var(--color-surface)}
#contact-dialog::backdrop{background:var(--color-overlay)}
.contact-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}
.contact-header h2{margin:0;font-size:20px}
.contact-header button{font-size:var(--font-size-heading);line-height:1;padding:5px 9px}
#contact-form{display:flex;flex-direction:column;gap:var(--space-2)}
#contact-form label{font-size:var(--font-size-sm);margin-top:var(--space-2)}
#contact-form input,#contact-form textarea{box-sizing:border-box;width:100%;border:1px solid var(--color-border-input);border-radius:var(--radius-control);background:var(--color-surface);color:inherit;font:inherit;padding:var(--space-2-half) var(--space-3)}
#contact-form textarea{resize:vertical;min-height:100px}
#contact-status{font-size:var(--font-size-sm);line-height:1.6;margin:var(--space-2) 0;word-break:keep-all}
#contact-status:empty{display:none}
.contact-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4)}
.contact-actions [type=submit]{background:var(--color-action);color:var(--color-surface);border-color:var(--color-action)}
#contact-dialog button:disabled{opacity:.6}
body:has(#contact-dialog[open]){overflow:hidden}

/* Local press archive reader. */
.press-card{display:flex;width:100%;gap:var(--space-5);padding:0;border:0;background:transparent;text-align:left;color:inherit;align-items:flex-start;white-space:normal}
.press-card img{width:140px;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-control)}
.press-card-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:var(--space-3)}
.press-card strong{font-size:var(--font-size-reading);line-height:1.6;word-break:keep-all}
.press-meta,.press-read{font-size:var(--font-size-xs);color:var(--color-text-brand)}
.press-card:hover strong{text-decoration:underline;text-underline-offset:4px}
#press-dialog{--text:var(--color-text);--text-muted:var(--color-text-muted);--coral:var(--color-action);--surface:var(--color-surface);--border-sand:var(--color-border);--border:var(--color-border);width:min(860px,calc(100% - 32px));max-height:calc(100dvh - 40px);box-sizing:border-box;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-dialog);overflow:auto;color:var(--text);background:var(--color-surface);overscroll-behavior:contain}
#press-dialog::backdrop{background:var(--color-overlay)}
.press-controls{position:sticky;top:0;z-index:1;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-6);font-size:var(--font-size-sm)}
.press-reader{padding:var(--space-7) var(--space-10) var(--space-10)}
#press-dialog .article-header{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-6);margin-bottom:var(--space-7)}
#press-dialog .archive-tag{display:none}
#press-dialog .article-title{font-size:28px;line-height:1.5;word-break:keep-all;margin:0 0 var(--space-4-half)}
#press-dialog .article-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}
.press-sources{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4-half);font-size:var(--font-size-xs)}
.press-sources a{color:var(--color-action)}
#press-dialog .article-main-visual{margin:var(--space-6) 0}
#press-dialog .article-main-visual img{display:block;width:100%;height:auto;border-radius:var(--radius-control)}
#press-dialog .visual-caption{font-size:var(--font-size-xs);line-height:1.6;color:var(--color-text-muted);margin-top:var(--space-2-half)}
#press-dialog .article-content{font-size:var(--font-size-body);line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}
#press-dialog .article-content p{margin:0 0 var(--space-6)}
#press-dialog .concept-diagram{margin:var(--space-7) 0;padding:var(--space-5);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-card)}
#press-dialog .diagram-header{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-3-half)}
#press-dialog .diagram-title{font-size:var(--font-size-ui);font-weight:var(--font-weight-semibold)}
#press-dialog .diagram-source{font-size:var(--font-size-xs);color:var(--color-text-muted)}
#press-dialog .diagram-row{display:flex;align-items:center;gap:var(--space-2-half)}
#press-dialog .diagram-node{flex:1;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);text-align:center;font-size:var(--font-size-sm)}
#press-dialog .diagram-caption{margin-top:var(--space-3-half);font-size:var(--font-size-sm);color:var(--color-text-muted)}
#press-dialog .flow-step{display:flex;gap:var(--space-2-half);padding:var(--space-2-half);font-size:var(--font-size-sm)}
body:has(#press-dialog[open]){overflow:hidden}
@media(max-width:600px){
.press-card{gap:var(--space-3-half)}.press-card img{width:90px}.press-card strong{font-size:15px}
.press-reader{padding:var(--space-5)}.press-controls{padding:var(--space-2-half) var(--space-4)}
#press-dialog .article-title{font-size:21px}
#press-dialog .article-content{font-size:15px}
#press-dialog .diagram-row{flex-direction:column}
#press-dialog .diagram-node{box-sizing:border-box;width:100%}
#press-dialog .diagram-arrow{transform:rotate(90deg)}
#press-dialog .meta-separator{display:none}
}

.activity-slider figure{margin:0}
.activity-slider img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:var(--radius-card);background:var(--color-surface-subtle)}
.activity-slider figcaption{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3-half);line-height:1.6;word-break:keep-all}
.activity-slider figcaption strong{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}
#activity-controls:not([hidden]){display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-3-half)}
#activity-count{font-size:var(--font-size-xs);color:var(--color-text-muted)}
@media(max-width:760px){.pr-columns{grid-template-columns:1fr;gap:var(--space-8)}}
/* PR cards share the same image, metadata and title alignment. */
#pr .pr-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-10);align-items:start}
#pr .pr-columns>div{min-width:0}
#pr .pr-columns h3{margin:0 0 var(--space-4)}
#pr .press-card{display:flex;flex-direction:column;gap:0;align-items:stretch;border-radius:0}
#pr .press-card:hover{background:transparent}
#pr .press-card img,#pr .activity-slider img{display:block;width:100%;height:auto;aspect-ratio:8/3;border-radius:var(--radius-card);background:var(--canvas)}
#pr .press-card img{object-fit:cover;object-position:center 42%}
#pr .activity-slider img{object-fit:contain}
#pr .press-card-copy,#pr .activity-slider figcaption{display:flex;flex-direction:column;gap:var(--space-2-half);margin:var(--space-4) 0 0}
#pr .press-meta{font-size:var(--font-size-xs);line-height:1.6}
#pr .press-card strong,#pr .activity-slider figcaption strong{font-size:var(--font-size-reading);line-height:1.65;font-weight:var(--font-weight-semibold);letter-spacing:-.2px}
#pr .press-read{margin-top:var(--space-half)}
@media(max-width:760px){
#pr .pr-columns{grid-template-columns:1fr;gap:var(--space-9)}
#pr .press-card strong,#pr .activity-slider figcaption strong{font-size:var(--font-size-body)}
#pr .press-card-copy,#pr .activity-slider figcaption{margin-top:var(--space-3)}
}
#activity-image-next{display:block;width:100%;padding:0;border:0;border-radius:var(--radius-card);background:transparent;color:inherit;cursor:pointer}
#activity-image-next:disabled{cursor:default;opacity:1}
#activity-image-next:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}

.canvas-zoom{position:absolute;top:12px;right:12px;z-index:3;display:flex;flex-direction:column;gap:var(--space-1-half)}
.canvas-zoom button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;font-size:var(--font-size-heading);line-height:1;box-shadow:var(--shadow-control)}

.workshop-floating{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:5;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:var(--space-3) var(--space-5-half);border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--accent);color:var(--color-surface);font-size:var(--font-size-ui);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-floating);touch-action:manipulation}
.workshop-floating:hover{background:var(--color-action-hover)}

@media(max-width:760px){.workshop-floating{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));padding:var(--space-2-half) var(--space-4-half)}}

.contact-invitation{margin:var(--space-2-half) 0 0;color:var(--muted);font-size:var(--font-size-sm);line-height:1.6}

.workshop-floating{text-align:center;line-height:1.4}

/* Keep language switching directly above the workshop link on every screen size. */
.floating-actions{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:5;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);max-width:calc(100vw - 32px)}
.floating-actions .workshop-floating{position:static;min-height:48px;padding:var(--space-2-half) var(--space-4-half)}
.language-floating{min-height:44px;border-radius:var(--radius-pill);background:var(--paper);border-color:var(--accent);color:var(--accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-control)}
.language-floating:hover{background:var(--color-surface-hover)}
html[lang="en"] .canvas-subtitle{font-size:var(--font-size-ui);line-height:1.45}
html[lang="en"] .company-info>div{grid-template-columns:155px minmax(0,1fr)}
html[lang="en"] .diagram-section-title{overflow-wrap:break-word}

@media(max-width:760px){.floating-actions{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}html[lang="en"] .canvas-subtitle{font-size:var(--font-size-xs)}html[lang="en"] .company-info>div{grid-template-columns:105px minmax(0,1fr)}}

/* Shared component sizing and layout tokens. */
.site-header,main,footer{padding-inline:var(--page-gutter)}
.toolbar .icon-button,.canvas-zoom button{min-width:var(--control-height);min-height:var(--control-height);height:var(--control-height)}
.canvas-zoom{z-index:var(--z-canvas-controls)}
.canvas-subtitle{z-index:var(--z-caption)}
.floating-actions{right:var(--floating-inset);bottom:calc(var(--floating-inset) + env(safe-area-inset-bottom,0px));gap:var(--floating-gap);z-index:var(--z-floating)}
.skip-link{z-index:var(--z-skip)}
.press-card,#activity-image-next{min-height:0}
#contact-form input,#contact-form textarea{min-height:var(--control-height-touch)}
#contact-dialog button:disabled{opacity:.45}
footer{padding-bottom:calc(var(--space-16) + var(--space-24))}
@media(max-width:760px){.toolbar .icon-button,.canvas-zoom button{min-width:var(--control-height-touch);min-height:var(--control-height-touch);height:var(--control-height-touch)}}

/* Compact semantic relationships beneath the existing technology label. */
.toolbar-metadata{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);margin-left:auto;max-width:100%;min-width:0}
.toolbar-metadata .toolbar-technology{margin:0;padding:0}
@media(max-width:760px){.toolbar-metadata{flex-basis:100%;align-items:flex-start;margin:var(--space-1) 0 0}.toolbar-metadata .toolbar-technology{text-align:left}}

/* Solution categories and reserved geospatial canvases. */
.diagram-category{display:flex;margin:0 0 var(--space-2)}
.diagram-category+.diagram-section-title{margin-top:0}
.diagram-category .wf-badge{max-width:100%}
.diagram-canvas--placeholder{touch-action:auto;pointer-events:none}

.canvas-subtitle[hidden]{display:none}

.spatial-canvas>svg{display:block;width:100%;height:100%;user-select:none}
@media(max-width:760px){.spatial-canvas>svg{pointer-events:none;touch-action:auto}}

.farm-canvas>svg{display:block;width:100%;height:100%;user-select:none}
@media(max-width:760px){.farm-canvas>svg{pointer-events:none;touch-action:auto}}

/* Align the overview divider with its elevator landing point. */
#overview-summary-title{border-top:1px solid var(--line);padding-top:var(--space-4)}
@media(max-width:760px){#overview-summary-title{padding-top:var(--space-2)}}

/* Contributor labels follow their overview objects through pan, zoom and drag. */
.diagram-canvas:has(.canvas-heritage__label){position:relative;overflow:hidden}
.canvas-heritage{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.canvas-heritage__label{position:absolute;left:0;top:0;box-sizing:border-box;width:170px;border-left:1px solid var(--color-border);padding:var(--space-half) 0 var(--space-half) var(--space-2);color:var(--color-text);font-family:"Upright Quotes",var(--font-body, "Pretendard", sans-serif);font-size:var(--font-size-ui);line-height:1.5;word-break:keep-all;text-shadow:0 1px 1px var(--color-surface)}
.canvas-heritage__label strong{display:block;font-family:"Upright Quotes",var(--font-heading, "SUITE", sans-serif);font-size:1em;font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:1.4}
.canvas-heritage__label span{display:block;margin-top:3px;font-size:.8em;font-weight:var(--font-weight-medium);line-height:1.55;color:var(--color-text-muted)}

.company-specialty{display:block;margin-top:var(--space-1);color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);word-break:keep-all;overflow-wrap:break-word}


/* Canvas 11: compact icon-only scene, using the shared canvas palette. */
.football-canvas{cursor:grab}
.football-canvas>svg{display:block;width:100%;height:100%;user-select:none;touch-action:none}
.football-canvas:active{cursor:grabbing}
@media(max-width:760px){.football-canvas{touch-action:auto}.football-canvas>svg{pointer-events:none;touch-action:auto}}

/* Upcoming game canvas: preserve the entire video on desktop and mobile. */
.diagram-canvas.diagram-canvas--video{display:block;height:auto;object-fit:contain;background:var(--color-white);cursor:default;touch-action:auto;pointer-events:none}
