/* Shared palette supplies light, dim and dark paint; this file owns only OYSS component layout. */
.sk277-student{background:var(--ls-surface);border:1px solid var(--ls-line);color:var(--ls-text);padding:clamp(16px,2.5vw,25px);border-radius:20px;margin:20px 0;max-width:100%;overflow-wrap:anywhere}
.sk277-student-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.sk277-student-top small{font-weight:750;letter-spacing:.055em;color:var(--ls-link)}
.sk277-student-top h2{font-size:clamp(19px,2vw,25px);margin:5px 0;color:var(--ls-text-strong)}
.sk277-student-top p{margin:0;color:var(--ls-muted);font-size:14px;max-width:650px}
.sk277-tag{background:var(--ls-control-bg);color:var(--ls-control-text);border:1px solid var(--ls-line);font-weight:700;padding:7px 12px;border-radius:999px;font-size:12px}
.sk277-alert{background:var(--ls-surface-2);border:1px solid var(--ls-line);padding:14px 16px;border-radius:14px;margin:16px 0;color:var(--ls-text)}
.sk277-alert strong{color:var(--ls-text-strong)}.sk277-alert p{font-size:14px;line-height:1.55;margin:7px 0 0;color:var(--ls-muted)}
.sk277-subjects{margin:14px 0;color:var(--ls-text)}.sk277-subjects>summary{cursor:pointer;font-weight:700;min-height:44px}
.sk277-subject-grid{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0}.sk277-subject-grid span{background:var(--ls-surface-2);color:var(--ls-text);border:1px solid var(--ls-line);padding:7px 11px;border-radius:9px;font-size:13px}
.sk277-excluded{font-size:13px;color:var(--ls-muted)}.sk277-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:9px;margin:14px 0}
.sk277-steps>div{display:flex;align-items:start;gap:9px;background:var(--ls-surface-2);color:var(--ls-text);border:1px solid var(--ls-line);border-radius:12px;padding:13px;font-size:13px;line-height:1.5}
.sk277-steps b{background:var(--ls-control-bg);color:var(--ls-control-text);border-radius:50%;width:25px;height:25px;text-align:center;line-height:25px;flex-shrink:0}
.sk277-meta{font-size:12px!important;color:var(--ls-muted)!important;overflow-wrap:anywhere}
.sk277-student summary:focus-visible,.sk277-admin :is(input,select,textarea,button,summary):focus-visible{outline:3px solid var(--ls-focus);outline-offset:3px}
.sk277-admin{max-width:1240px}.sk277-warning{border-inline-start:4px solid var(--ls-warning-line);background:var(--ls-warning-bg);color:var(--ls-warning-text);padding:14px;border-radius:8px}.sk-oyss-workspace .sk277-warning,.sk-oyss-workspace .sk277-warning strong{color:var(--ls-warning-text)}
.sk277-source-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,365px),1fr));gap:10px;margin-bottom:18px}
.sk277-source-list>div{background:var(--ls-surface-2);color:var(--ls-text);border:1px solid var(--ls-line);padding:14px;border-radius:12px;min-width:0}
.sk277-source-list strong,.sk277-source-list small,.sk277-source-list code{display:block;margin-bottom:7px}.sk277-source-list code{font:12px/1.55 monospace;white-space:normal;word-break:break-all;background:var(--ls-control-bg);color:var(--ls-control-text);padding:7px;border-radius:6px;user-select:all}
.sk277-matrix{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px}.sk277-matrix-item{padding:14px;background:var(--ls-surface-2);color:var(--ls-text);border:1px solid var(--ls-line);border-radius:12px}.sk277-matrix-item b{color:var(--ls-text-strong)}.sk277-matrix-item p{line-height:1.6;margin:5px 0 0;color:var(--ls-muted)}
.sk277-form{display:grid;gap:16px;max-width:1040px}.sk277-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sk277-form label{display:block;font-weight:700;color:var(--ls-text);min-width:0}.sk277-form label small{font-weight:400;color:var(--ls-muted)}.sk277-form button{justify-self:start}
.sk277-record form{margin-top:12px;display:grid;gap:9px;border-top:1px solid var(--ls-line);padding-top:11px}.sk277-record form label{display:flex;align-items:flex-start;gap:8px}.sk277-record button{justify-self:start}
@media(max-width:650px){.sk277-form-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.sk277-student *{transition:none!important}}
