/* A11-79: standalone Wachon University community video archive */
.wachon-university-view[hidden],.wu-upload-panel[hidden],.wu-player-modal[hidden]{display:none!important}
.wachon-university-view{position:fixed;inset:0;background:#f7f6f4;color:#273339;z-index:140;display:flex;flex-direction:column;font-family:system-ui,-apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}
.wachon-university-view *{box-sizing:border-box}
.wachon-university-view button,.wachon-university-view input{font:inherit}
.wachon-university-view button{cursor:pointer}
.wu-app-header{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border-bottom:1px solid #eee5e0;padding:12px max(16px,env(safe-area-inset-right));flex:none}
.wu-app-header .back-to-menu{display:inline-flex;align-items:center;gap:7px;padding:7px 4px;border:0;background:transparent;color:#34434d;font-size:14px;font-weight:800;white-space:nowrap}
.wu-app-header .back-to-menu span{font-size:23px;line-height:1}
.wu-app-header>span{font-size:10px;letter-spacing:1.65px;color:#de6236;font-weight:900}
.wu-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 16px max(40px,env(safe-area-inset-bottom))}
.wu-hero{position:relative;max-width:1120px;margin:17px auto 19px;padding:22px 20px 19px;border-radius:19px;background:linear-gradient(140deg,#fff 0%,#fff7f0 100%);border:1px solid #f0d7c5;text-align:center;box-shadow:0 8px 28px #763b150b}
.wu-logo{display:block;width:min(100%,470px);height:auto;max-height:125px;object-fit:contain;margin:0 auto}
.wu-hero-sub{margin:9px 0 0;color:#8d6b5c;font-weight:700;font-size:12px;letter-spacing:-.1px}
.wu-library{max-width:1120px;margin:0 auto}
.wu-library-heading{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:14px;margin:0 0 17px}
.wu-eyebrow{display:block;color:#e4673d;font-size:10px;font-weight:900;letter-spacing:1.9px;margin-bottom:6px}
.wu-library-heading h1{font-size:23px;letter-spacing:-.9px;margin:0;color:#26343e;font-weight:900}
.wu-library-heading p{margin:7px 0 0;font-size:12px;color:#8a9094;line-height:1.5}
.wu-main-action,.wu-submit{appearance:none;background:#ed683e;border:1px solid #ed683e;color:white;border-radius:11px;padding:11px 17px;font-weight:850;font-size:12px;white-space:nowrap;box-shadow:0 5px 12px #e8673e24}
.wu-main-action:hover,.wu-submit:hover{background:#d6572c}
.wu-main-action:disabled,.wu-submit:disabled{opacity:.58;cursor:wait}
.wu-upload-panel{border:1px solid #efdfd5;background:#fff;border-radius:16px;padding:17px;margin:0 0 24px;box-shadow:0 5px 17px #5039210a;max-width:620px}
.wu-upload-heading{display:flex;align-items:center;justify-content:space-between;color:#314453;margin-bottom:13px;font-size:16px}
.wu-upload-heading button{border:0;background:#f4f2f1;width:31px;height:31px;border-radius:8px;color:#899095}
.wu-upload-file{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;min-height:137px;border:1.5px dashed #edbca3;border-radius:13px;background:#fffaf6;cursor:pointer;padding:16px;gap:6px}
.wu-upload-file-icon{font-size:18px;display:grid;place-items:center;background:#fbe5db;color:#e86640;width:36px;height:36px;border-radius:50%}
.wu-upload-file strong{font-size:14px;color:#41505b;word-break:break-word;max-width:100%}
.wu-upload-file small{font-size:10px;color:#8e9196}
.wu-field-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:850;color:#576373;margin:15px 0 7px}
.wu-field-label small{font-size:10px;font-weight:550;color:#91979e}
.wu-field{appearance:none;display:block;width:100%;min-height:45px;font-size:15px;color:#22343b;background:white;border:1px solid #dce3e5;border-radius:10px;padding:10px 13px;outline:none}
.wu-field:focus{border-color:#ed7d53;box-shadow:0 0 0 3px #ed7d531e}
.wu-submit{width:100%;min-height:47px;font-size:13px}
.wu-upload-status{min-height:20px;margin:10px 0;font-size:12px;font-weight:700;color:#a75536;line-height:1.5}
.wu-list-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:19px 0 13px}
.wu-list-title strong{font-size:15px;color:#344451}
.wu-list-title strong span{color:#e56a3f}
.wu-list-title button{border:0;background:transparent;color:#7b8389;font-size:11px;font-weight:700;padding:6px}
.wu-message{font-size:13px;color:#8a8e94;text-align:center;padding:28px 16px;margin:0;line-height:1.7}
.wu-message:empty{display:none}
.wu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:15px;margin-bottom:30px}
.wu-video-card{display:block;width:100%;text-align:left;background:#fff;border:1px solid #e9e4e0;border-radius:14px;overflow:hidden;box-shadow:0 3px 12px rgba(52,41,27,.065);padding:0;color:#303b45;transition:transform .15s,box-shadow .15s}
.wu-video-card:hover{transform:translateY(-2px);box-shadow:0 10px 20px #7e48251b}
.wu-card-media{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16/9;background:radial-gradient(circle at 20% 0%,#eabda6,transparent 38%),linear-gradient(125deg,#d76c42,#392e36);overflow:hidden}
.wu-card-media img{display:block;width:100%;height:100%;object-fit:cover}
.wu-play{position:absolute;display:grid;place-items:center;width:43px;height:43px;border-radius:100%;border:1px solid #ffffff78;background:#ffffffeb;box-shadow:0 4px 10px #0002;font-size:16px;color:#d86238;padding-left:2px}
.wu-card-body{padding:12px 13px 14px}
.wu-card-body strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:850}
.wu-card-body small{display:block;margin-top:6px;font-size:10px;color:#959da4}
.wu-player-modal{position:fixed;inset:0;z-index:160;background:#0b1014d9;display:flex;align-items:center;justify-content:center;padding:16px}
.wu-player-card{width:min(740px,100%);border-radius:16px;overflow:hidden;background:white;box-shadow:0 20px 70px #0007}
.wu-player-bar{padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.wu-player-bar strong{font-size:14px;color:#23343f;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.wu-player-bar button{border:0;background:#f2f4f5;color:#626c74;width:34px;height:34px;border-radius:9px;flex:none}
.wu-player-card video{display:block;width:100%;aspect-ratio:16/9;background:#101215;max-height:70dvh}
.wu-player-foot{padding:10px 14px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.wu-player-foot span{font-size:11px;color:#859199}
.wu-player-foot button{border:1px solid #e7c4bb;color:#b44c35;border-radius:8px;background:#fff7f5;font-size:11px;font-weight:800;padding:8px 13px}
body.wu-playing{overflow:hidden}
@media(min-width:700px){.wu-scroll{padding-inline:26px}.wu-hero{margin-top:23px;padding:30px}.wu-library-heading h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){.wu-video-card{transition:none}}

/* A11-80: first classroom, header upload action and immediate full-screen player. */
.wu-app-header{min-height:65px}
.wu-app-header .wu-main-action{font-size:12px;padding:9px 13px;border-radius:9px;min-height:38px}
.wu-hero{margin-top:16px;margin-bottom:22px;padding-block:18px}
.wu-library-heading{margin-bottom:16px;align-items:center}
.wu-library-heading h1{font-size:clamp(23px,5vw,31px);font-weight:900}
.wu-player-modal{inset:0;padding:0;background:#050505;align-items:stretch;justify-content:stretch}
.wu-player-card{width:100%;max-width:none;height:100%;height:100dvh;min-height:0;border-radius:0;background:#050505;
  display:flex;flex-direction:column;justify-content:center;box-shadow:none}
.wu-player-bar{background:#101113;color:#fff;flex:0 0 auto;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left))}
.wu-player-bar strong{color:#fff}
.wu-player-bar button{background:#34373c;color:#fff}
.wu-player-card video{flex:1 1 auto;min-height:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:contain;background:#000}
.wu-player-foot{background:#101113;color:#ddd;flex:0 0 auto;padding:12px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.wu-player-foot span{color:#afb2b5}
.wu-player-foot button{background:#26282d;color:#ffd1c3;border-color:#6e3a2d}

/* A11-112: white header bar removed; upload action shares back-link appearance. */
.wu-app-header{background:transparent;border-bottom:0;box-shadow:none}
.wu-app-header .back-to-menu{background:transparent;border:0;box-shadow:none}
.wu-app-header .wu-main-action{
  display:inline-flex;align-items:center;gap:3px;
  background:transparent;border:0;box-shadow:none;border-radius:0;
  color:#34434d;font-size:14px;font-weight:800;
  padding:7px 4px;min-height:38px
}
.wu-app-header .wu-main-action:hover{background:transparent;color:#d65c37}
.wu-app-header .wu-main-action:active,.wu-app-header .back-to-menu:active{opacity:.72}
.wu-app-header .wu-main-action:focus-visible,.wu-app-header .back-to-menu:focus-visible{
  outline:2px solid #e57b55;outline-offset:3px;border-radius:4px
}
.wu-upload-plus{font-size:23px;line-height:1;color:#e6673d;font-weight:600}
/* The new supplied emblem includes a quotation beneath the crest. Keep it uncropped. */
.wu-hero{background:#fff;padding:clamp(10px,3vw,20px)}
.wu-logo{width:min(100%,720px);height:auto;max-height:none;object-fit:contain}


/* A11-113: lecture room banner sits directly on page background. */
.wu-hero{background:transparent;border:0;box-shadow:none;padding:0;margin-top:18px;margin-bottom:20px}
.wu-logo{display:block;width:min(100%,720px);height:auto;max-height:none;object-fit:contain;margin:0 auto}
.wu-hero-sub{display:none}


/* A11-115: upload and delete actions; separate administrator-protected delete panel. */
.wu-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:clamp(6px,2vw,14px);min-width:0}
.wu-app-header .wu-main-action{font-size:clamp(11px,3.1vw,14px);padding:7px 1px;gap:1px;white-space:nowrap}
.wu-delete-minus{font-size:22px;line-height:1;color:#aa6868;font-weight:600}
.wu-delete-description{font-size:12px;line-height:1.6;color:#6c7980;margin:0 0 12px}
.wu-delete-panel{border-color:#e8d4d4}
.wu-delete-options{display:flex;flex-direction:column;gap:8px;max-height:250px;overflow-y:auto;overscroll-behavior:contain}
.wu-delete-row{display:flex;align-items:center;gap:12px;min-height:57px;padding:9px 10px;border:1px solid #dfe5e7;border-radius:10px;background:#fff;cursor:pointer}
.wu-delete-row:has(input:checked){background:#fff7f6;border-color:#d7aaaa}
.wu-delete-row input{width:19px;height:19px;flex:none;accent-color:#ba6868}
.wu-delete-row-content{display:flex;flex-direction:column;gap:3px;min-width:0}
.wu-delete-row-content strong{font-size:13px;color:#293840;overflow-wrap:anywhere}
.wu-delete-row-content small{font-size:10px;color:#87939a}
.wu-delete-empty{color:#829096;font-size:13px;text-align:center;padding:15px}
.wu-delete-submit{background:#b86665;border-color:#b86665}
.wu-delete-submit:hover{background:#a45453;border-color:#a45453}


/* A11-116: the white video card is the front layer; the comment drawer is the second, slightly inset layer. */
.wu-video-unit{display:flex;flex-direction:column;min-width:0;width:100%;isolation:isolate}
.wu-video-unit>.wu-video-card{position:relative;z-index:2;flex:none}
.wu-comment-underlay{position:relative;z-index:1;min-width:0;width:calc(100% - 18px);max-width:calc(100% - 18px);margin:-6px auto 0;padding:6px 0 0;background:#fffaf7;border:1px solid #eadfd8;border-radius:0 0 13px 13px;box-shadow:0 5px 13px #553c2f0f}
.wu-comment-toggle{appearance:none;border:0;background:transparent;color:#58666d;width:100%;min-height:34px;padding:5px 10px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:800}
.wu-comment-toggle-label{letter-spacing:-.15px}
.wu-comment-count{font-size:11px;color:#e16b44;font-weight:800}
.wu-comment-arrow{font-size:14px;color:#a3a1a0;transition:transform .18s ease}
.wu-comment-toggle[aria-expanded="true"] .wu-comment-arrow{transform:rotate(180deg)}
.wu-comment-panel[hidden]{display:none!important}
.wu-comment-panel{padding:0 11px 12px;text-align:left}
.wu-comment-list{display:flex;flex-direction:column;max-height:300px;overflow-y:auto;overscroll-behavior:contain}
.wu-comment-empty{font-size:12px;color:#9b9b9b;text-align:center;margin:10px 0 12px}
.wu-comment-item{border-top:1px solid #f0e8e2;padding:10px 0 9px}
.wu-comment-item-head{display:flex;align-items:baseline;gap:7px;min-width:0}
.wu-comment-writer{color:#34424a;font-size:12px;max-width:45%;overflow-wrap:anywhere}
.wu-comment-time{color:#9a9da0;font-size:10px;white-space:nowrap}
.wu-comment-remove{margin-left:auto;flex:none;border:0;background:transparent;color:#aa8e89;font-size:10px;padding:4px 1px}
.wu-comment-body{color:#354149;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.55;margin:5px 0 0}
.wu-comment-form{border-top:1px solid #ece0d7;padding-top:10px;display:flex;flex-direction:column;gap:7px}
.wu-comment-author,.wu-comment-input{box-sizing:border-box;min-width:0;width:100%;font-size:16px;color:#253943;background:#fff;border:1px solid #e1dedb;border-radius:9px;padding:8px 10px;outline:none;font-family:inherit}
.wu-comment-author{height:37px}
.wu-comment-input{min-height:51px;max-height:150px;resize:vertical;line-height:1.4}
.wu-comment-author:focus,.wu-comment-input:focus{border-color:#e68a65;box-shadow:0 0 0 2px #e68a651b}
.wu-comment-write-row{display:flex;align-items:stretch;gap:7px;min-width:0}
.wu-comment-write-row>.wu-comment-input{flex:1}
.wu-comment-submit{border:1px solid #ecc1af;border-radius:9px;background:#fff1ea;color:#bb5936;font-size:12px;font-weight:800;padding:0 11px;min-width:43px}
.wu-comment-submit:disabled,.wu-comment-remove:disabled{opacity:.48}
.wu-comment-status{min-height:0;font-size:11px;color:#9c6048;line-height:1.5;margin:5px 0 0;overflow-wrap:anywhere}
.wu-comment-status:empty{display:none}
@media(prefers-reduced-motion:reduce){.wu-comment-arrow{transition:none}}


/* A11-233: natural document scrolling for the whole lecture room.
   Avoid a fixed outer view and separate scrollers in video/comment sections. */
.wachon-university-view:not([hidden]){
  position:relative;inset:auto;
  display:block;
  width:100%;max-width:none;
  min-height:100dvh;height:auto;max-height:none;
  padding:calc(24px + env(safe-area-inset-top)) 0 max(28px,env(safe-area-inset-bottom));
  overflow:visible;
}
.wachon-university-view .wu-scroll{
  display:block;flex:none;min-height:0;height:auto;max-height:none;
  overflow:visible;overscroll-behavior:auto;
  padding:0 16px max(24px,env(safe-area-inset-bottom));
}
.wachon-university-view .wu-hero{
  max-width:720px;
  margin:6px auto 14px;
  padding:0;
  border:0;box-shadow:none;background:transparent;
}
.wachon-university-view .wu-logo{
  display:block;width:100%;max-width:720px;height:auto;max-height:none;
  object-fit:contain;margin:0 auto;
}
.wachon-university-view .wu-library-heading{margin-bottom:12px}
.wachon-university-view .wu-grid{height:auto;max-height:none;overflow:visible}
.wachon-university-view .wu-comment-list{
  max-height:none;height:auto;overflow:visible;overscroll-behavior:auto;
}
.wachon-university-view .wu-delete-options{
  max-height:none;height:auto;overflow:visible;overscroll-behavior:auto;
}
@media(min-width:700px){
 .wachon-university-view .wu-scroll{padding-inline:26px}
 .wachon-university-view .wu-hero{margin-top:10px;margin-bottom:20px;padding:0}
}
