/* Presentation only: the working example retains its validated logic. */
body{background:#f5f3ec;color:#2e382d;font-weight:400}.lab-head{background:#2d4036;padding-block:18px}.lab-brand{font-size:17px;letter-spacing:.2em}.lab-brand span{font-size:8px;color:#c3c8b5}.demo-intro{background:#fbf9f2;border-color:#d5d6c9}.demo-intro b{font-weight:500}.demo-intro p{color:#939582;font-size:10px}.workbench{padding-block:34px;gap:32px}.config h1{font-family:'Noto Serif JP',serif;font-weight:500;font-size:26px;line-height:1.7;letter-spacing:-.05em}.config{border-color:#d2d5c5}.step-label{color:#a68862;font-size:9px}.config label{font-weight:500;font-size:10px;color:#7f8873}.config input,.config select{border-color:#cdd1bf;border-radius:0;background:#fbfaf4;min-height:42px;font-size:11px;color:#3d4b37}.button{border-radius:0;background:#344c3b;border-color:#344c3b;font-weight:500;font-size:11px;padding-block:14px}.apply{background:#97724c;border-color:#97724c}.config details{font-size:10px;border-color:#c8cfb9}.config .small{font-size:9px}.landing{border-color:#d5d4c4;box-shadow:0 20px 45px #4946340b}.event-heading{background:linear-gradient(125deg,#eee8d6,#e1e6d8);position:relative;padding:36px}.event-heading:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(115deg,transparent 0,transparent 120px,#fffffe28 121px,#fffffe28 145px,transparent 146px)}.event-heading>*{position:relative}.event-overline{font-size:9px;color:#6c7c5e;letter-spacing:.14em}.event-tag{font-size:11px;color:#9a7f58}.event-heading h2{font-family:'Noto Serif JP',serif;font-weight:500;font-size:clamp(24px,2.8vw,37px);line-height:1.65;letter-spacing:-.045em}.event-heading>p:last-of-type{font-size:11px;color:#7d8a6c}.event-meta{border-color:#b8c2a4;font-size:11px;padding-top:20px;margin-top:25px}.event-meta b{font-weight:500;color:#a08053}.event-body{background:#fffdf7}.curriculum h3{font-weight:500;font-size:12px}.curriculum li{font-size:10px;border-color:#dedfce}.curriculum>p{font-size:9px;color:#939b7f}.enroll input{border-radius:0;background:#fffef9;border-color:#ccd4bd}.availability b{font-weight:500}.results-heading h2{font-family:'Noto Serif JP',serif;font-weight:500;font-size:25px}.tabs button{font-weight:400;font-size:11px}.tabs button[aria-selected=true]{font-weight:500}.result-panel{background:#fffef8;border-color:#d5dcc6;padding:26px}.panel-caption p{font-size:10px;color:#8a9577}.mail-paper{background:#f6f2e5;border-color:#d5cfb7}.mail-paper h3{font-family:'Noto Serif JP',serif;font-weight:500}.audit-row strong{font-weight:500}.lab-footer{color:#9a9e88;font-size:9px}.text-button{font-weight:500;font-size:10px}
@media(max-width:600px){.workbench{padding-inline:6%;gap:29px}.config h1{font-size:23px}.event-heading{padding:25px}.event-heading h2{font-size:27px}.config form{gap:0 13px}.config label{font-size:10px}.event-meta{font-size:10px}.results{padding-inline:6%}.results-heading h2{font-size:23px}.tabs button{font-size:10px}.result-panel{padding:17px}.demo-intro b{font-size:12px}.demo-intro p{font-size:9px}.availability{font-size:11px}.lab-brand{font-size:16px}.lab-badge{font-size:8px}.event-overline{font-size:8px}}
/* Keep working controls comfortably legible. */
.demo-intro p,.config label,.config details,.event-overline,.curriculum h3,.curriculum li,.panel-caption p,.text-button{font-size:13px}
.config input,.config select,.enroll input{font-size:15px}
.button,.tabs button,.event-heading>p:last-of-type,.event-meta{font-size:14px}
.config .small,.curriculum>p,.lab-footer,.step-label{font-size:12px}
@media(max-width:600px){.config input,.config select,.enroll input{font-size:16px}.tabs button{font-size:12px}.demo-intro p{font-size:12px}.event-meta{font-size:13px}.lab-badge{font-size:10px}}

/* Embedded AI-page workbench only; standalone demo and desktop stay unchanged. */
@media (max-width:750px){
 :host .lab-root{min-width:0;overflow-wrap:break-word}
 :host .lab-root :is(h1,h2,h3,p,label,li){text-align:left;word-break:normal}
 :host .lab-root :is(h1,h2,h3){text-wrap:balance;line-height:1.7}
 :host .lab-root .workbench{padding-inline:16px}
 :host .lab-root .config form{grid-template-columns:1fr}
 :host .lab-root .config form>label{grid-column:1/-1;min-width:0}
 :host .lab-root .pair{min-width:0;gap:12px}
 :host .lab-root .pair>label{min-width:0}
 :host .lab-root :is(input,select){width:100%;min-width:0;max-width:100%;font-size:16px}
 :host .lab-root .event-heading{padding:24px 16px}
 :host .lab-root .event-heading h2{font-size:24px;line-height:1.75}
 :host .lab-root .event-overline{flex-wrap:wrap;gap:12px;line-height:1.8}
 :host .lab-root .event-body{padding-inline:16px}
 :host .lab-root .button{white-space:normal;gap:12px;line-height:1.7;min-width:0}
 :host .lab-root .button span{flex-shrink:0}
 :host .lab-root .results{padding-inline:16px}
 :host .lab-root .tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 :host .lab-root .tabs button{min-width:0;padding:12px 5px;font-size:12px;line-height:1.6;text-align:center;white-space:normal}
 :host .lab-root .result-panel{padding:16px 12px;min-width:0}
 :host .lab-root .table-scroll{max-width:100%;overscroll-behavior-x:contain}
 :host .lab-root .table-scroll::before{content:'台帳は左右にスクロールできます';display:block;font-size:11px;line-height:1.8;color:#6d7568;margin-bottom:10px}
}

@media (max-width:360px){
 :host .lab-root .pair{grid-template-columns:1fr}
 :host .lab-root .event-heading h2{font-size:22px}
}
