.connected-cabinet .app-shell:not(.has-actor){grid-template-columns:minmax(0,1fr)}
.connected-cabinet [hidden]{display:none!important}
.connected-cabinet .brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-height:44px}
.connected-cabinet .brand>span{overflow-wrap:anywhere}
.connected-cabinet .rail-bottom a{min-height:44px}
.connected-cabinet .intro-actions,.connected-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.connected-status-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}
.connected-status-row .hint{margin:0}
.connected-lessons{display:grid;gap:16px;max-width:1100px}
.connected-lessons .lesson h2{margin:0 0 8px}
.connected-lessons .lesson p,.connected-result p{white-space:pre-wrap;overflow-wrap:anywhere}
.connected-lesson-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:20px;align-items:start}
.connected-lesson-layout>div,.connected-lesson-layout>aside{min-width:0}
.connected-preparation .field{margin-bottom:16px}
.connected-preparation textarea{min-height:140px}
.connected-preparation .action{white-space:normal}
.connected-form-feedback{min-height:24px;margin-top:12px;font-size:14px;color:var(--muted);overflow-wrap:anywhere}
.connected-form-feedback.error,.connected-error{color:var(--ui-danger)}
.connected-material{padding:14px 0;border-bottom:1px solid var(--line);display:grid;gap:8px}
.connected-material:last-child{border-bottom:0}
.connected-material h3{margin:0;font-size:15px;overflow-wrap:anywhere}
.connected-material .actions{display:flex;gap:8px;flex-wrap:wrap}
.connected-material a{min-height:44px;display:inline-flex;align-items:center}
.connected-catalog-controls{display:grid;gap:12px;margin-top:16px}
.connected-catalog-list{max-height:430px;overflow:auto;margin-top:12px;border-top:1px solid var(--line)}
.connected-catalog-list .action{min-width:110px;justify-self:start}
.connected-class-shell{min-width:0}
.connected-class-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.connected-native-frame{display:block;width:100%;height:max(640px,calc(100dvh - 230px));border:1px solid var(--line);border-radius:12px;background:var(--ui-surface)}
.connected-class-message{background:var(--ui-surface);padding:12px 16px;border:1px solid var(--line);border-radius:8px;margin-bottom:12px;font-size:13px}
.connected-class-message p{margin:0}
.connected-read-status{font-size:12px;color:var(--muted);min-height:20px;overflow-wrap:anywhere}
.connected-result{max-width:1000px}
.connected-result section{margin-bottom:20px}
.connected-result .result-text{font-size:16px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.connected-unconfigured{display:grid;gap:12px;max-width:1000px}
.connected-unconfigured h2{font-size:17px;margin-bottom:6px}
.connected-cabinet .action.success{background:var(--ui-success-bg);color:var(--ui-success);border-color:var(--ui-success)}
.connected-cabinet .action.success:hover{box-shadow:2px 2px var(--ui-success)}
@media(max-width:1100px){.connected-lesson-layout{grid-template-columns:minmax(0,1fr)}.connected-native-frame{height:max(670px,calc(100dvh - 260px))}}
@media(max-width:800px){
  .connected-cabinet main{padding:22px 14px 32px}.connected-cabinet .brand{font-size:18px;gap:8px}
  .connected-cabinet .rail{padding:14px}.connected-cabinet .rail-bottom{display:none}
  .connected-lesson-layout{gap:16px}.connected-actions .action{max-width:100%;white-space:normal}
  .connected-class-toolbar{align-items:flex-start}.connected-class-toolbar .connected-actions{width:100%}
  .connected-native-frame{border-radius:8px;height:max(720px,calc(100dvh - 280px))}
  .connected-class-shell .intro{margin-bottom:14px}.connected-class-message{padding:12px}
  .connected-result .result-text{font-size:15px}.connected-catalog-list{max-height:360px}
}

/* The embedded classroom owns the viewport; no browser Fullscreen API is needed. */
html.connected-class-mounted{height:100%;min-height:0;overflow:hidden;overscroll-behavior:none}
body.connected-cabinet.connected-class-mounted{position:fixed;inset:0;top:var(--connected-class-top,0px);bottom:auto;width:100%;height:var(--connected-class-height,100vh);min-height:0;margin:0;padding:0;overflow:hidden;overscroll-behavior:none}
@supports(height:100dvh){body.connected-cabinet.connected-class-mounted{height:var(--connected-class-height,100dvh)}}
.connected-cabinet.connected-class-mounted>.topbar,.connected-cabinet.connected-class-mounted>.skip-link,.connected-cabinet.connected-class-mounted #rail{display:none}
.connected-cabinet.connected-class-mounted #shell{display:block;width:100%;height:100%;max-width:none;min-height:0;margin:0;padding:0;overflow:hidden;background:transparent}
.connected-cabinet.connected-class-mounted #main{width:100%;height:100%;min-height:0;margin:0;padding:0;overflow:hidden;background:transparent}
.connected-cabinet.connected-class-mounted .connected-class-shell{position:relative;width:100%;height:100%;min-height:0;margin:0;padding:0;overflow:hidden;background:transparent}
.connected-cabinet.connected-class-mounted .connected-class-shell>.intro,.connected-cabinet.connected-class-mounted .connected-class-toolbar,.connected-cabinet.connected-class-mounted .connected-class-shell>.connected-class-message:not(#exit-feedback),.connected-cabinet.connected-class-mounted #read-status:not(.connected-error){display:none}
.connected-cabinet.connected-class-mounted #native-class-host{width:100%;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}
.connected-cabinet.connected-class-mounted .connected-native-frame{width:100%;height:100%;min-height:0;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent}
.connected-cabinet.connected-class-mounted #exit-feedback,.connected-cabinet.connected-class-mounted #read-status.connected-error{position:absolute;left:50%;transform:translateX(-50%);z-index:10;box-sizing:border-box;width:calc(100% - 16px);max-width:560px;margin:0;background:var(--ui-surface);border:1px solid var(--ui-control);border-radius:8px;box-shadow:0 3px 16px #0003;overflow-wrap:anywhere}
.connected-cabinet.connected-class-mounted #exit-feedback{top:max(8px,env(safe-area-inset-top));display:flex;flex-direction:column;gap:8px;max-height:min(240px,calc(100% - max(8px,env(safe-area-inset-top)) - 8px));padding:12px 16px;overflow:hidden}
.connected-cabinet.connected-class-mounted #exit-feedback p{min-height:0;margin:0;overflow:auto}
.connected-cabinet.connected-class-mounted #exit-feedback .action{min-height:44px;max-width:100%;flex-shrink:0;align-self:flex-start;white-space:normal}
.connected-cabinet.connected-class-mounted #read-status.connected-error{bottom:max(8px,env(safe-area-inset-bottom));display:block;max-height:min(30%,160px);min-height:0;padding:8px 12px;overflow:auto}

.connected-result.connected-journal{max-width:1120px}
.connected-journal-lesson{display:flex;justify-content:space-between;gap:24px;padding:0 0 24px;border-bottom:1px solid var(--line);margin-bottom:24px}
.connected-journal-lesson>div{min-width:0}
.connected-journal-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.connected-journal-lesson h2{font-size:clamp(20px,2vw,27px);line-height:1.35;margin:0 0 16px;overflow-wrap:anywhere}
.connected-journal-people{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0}
.connected-journal-people>div{min-width:0}
.connected-journal-people dt{font-size:11px;color:var(--muted);margin-bottom:3px}
.connected-journal-people dd{margin:0;font-size:14px;overflow-wrap:anywhere}
.connected-journal-meta{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0;font-size:12px;color:var(--muted)}
.connected-journal-meta time{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.connected-journal>#read-status:not(.connected-error){display:none}
.connected-journal-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);grid-template-rows:min-content 1fr;grid-template-areas:"report homework" "materials homework";gap:20px;align-items:start}
.connected-journal .connected-journal-layout>section{min-width:0;margin:0;padding:24px}
.connected-journal-report{grid-area:report}
.connected-journal-homework{grid-area:homework;border-left:4px solid var(--yellow)}
.connected-journal-materials{grid-area:materials}
.connected-journal-layout h2{font-size:18px;line-height:1.4;margin:0 0 16px;overflow-wrap:anywhere}
.connected-journal .result-text{font-family:Onest,system-ui,sans-serif;font-size:17px;line-height:1.8;max-width:70ch;margin:0}
.connected-journal .muted,.connected-journal-empty{font-size:14px;line-height:1.7;color:var(--muted);margin:0}
.connected-journal-material-list>div+div{border-top:1px solid var(--line)}
.connected-journal-homework .connected-journal-material-list:not([hidden]){border-top:1px solid var(--line);margin-top:18px}
.connected-journal .connected-material{padding:14px 0}
.connected-journal .connected-material h3{line-height:1.5;font-size:15px}
.connected-journal .connected-material .hint{font-size:12px;white-space:normal}
.connected-journal .connected-material a{font-size:14px;max-width:100%;overflow-wrap:anywhere}
.connected-journal #result-homework-actions:empty{display:none}
@media(max-width:1100px){.connected-journal-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"report" "homework" "materials"}}
@media(max-width:800px){.connected-journal-lesson{flex-direction:column;gap:16px;padding-bottom:20px;margin-bottom:20px}.connected-journal-meta{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 12px;flex-shrink:1}.connected-journal .connected-journal-layout>section{padding:20px}.connected-journal .result-text{font-size:16px;line-height:1.75}.connected-journal-people{gap:12px 20px}.connected-journal-lesson h2{font-size:21px}.connected-journal-layout{gap:16px}}
