
main { display:flex; justify-content:center; padding:100px 0; background:#f6f8fc; }
main > .container { width:100%; max-width:1280px; }

main h1 { margin-top:60px; display:flex; align-items:center; }
main h1 span { position:relative; font-size:40px; font-weight:500; }
main h1 span::after { content:""; position:absolute; right:10px; top:0; transform:translateX(100%) rotate( 20deg ); width:25px; height:25px; border:2px solid #FE8130; border-radius:5px; z-index:-1; }

.jw-app-nav { display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.jw-app-nav a { height:25px; font-size:12px; border: 1px solid #ccc; border-radius:5px; padding:0 10px; display:flex; justify-content:center; align-items:center; }
.jw-app-nav a.on { background:#FE8130; color:#fff; border: 1px solid #FE8130; }

#sub02 { min-height:100vh; }
/* sub020104 - Local Video Preview */
#sub020104 { --bg:#f6f8fc; --card:#ffffff; --bd:#e6edf6; --tx:#0f172a; --sub:#64748b; --pri:#2563eb; --pri2:#1d4ed8; --shadow:0 14px 40px rgba(15,23,42,.10); --r:18px; padding:28px 0 46px; background:var(--bg); color:var(--tx); }

#sub020104 .wrap { width:min(1100px, calc(100% - 32px)); margin:0 auto; }

#sub020104 .top { background:var(--card); border:1px solid var(--bd); border-radius:var(--r); box-shadow:var(--shadow); padding:22px 22px 16px; }

#sub020104 .title h1 { margin:0; font-size:22px; letter-spacing:-.4px; }
#sub020104 .title p { margin:8px 0 0; font-size:13px; color:var(--sub); }

#sub020104 .actions { display:flex; gap:10px; margin-top:14px; align-items:center; flex-wrap:wrap; }

#sub020104 .btn { height:44px; padding:0 16px; border-radius:12px; font-size:14px; font-weight:700; cursor:pointer; transition:transform .08s ease, filter .15s ease, box-shadow .15s ease, border-color .15s ease; }

#sub020104 .btn.file { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid rgba(37,99,235,.20); background:linear-gradient(180deg, rgba(37,99,235,1), rgba(29,78,216,1)); color:#fff; box-shadow:0 10px 18px rgba(37,99,235,.18); }
#sub020104 .btn.file:hover { filter:brightness(1.03); }
#sub020104 .btn.file:active { transform:translateY(1px); }
#sub020104 .btn.file input { display:none; }

#sub020104 #clearBtn { border:1px solid var(--bd); background:#fff; color:var(--tx); box-shadow:0 10px 18px rgba(15,23,42,.06); }
#sub020104 #clearBtn:hover { border-color:rgba(37,99,235,.35); }
#sub020104 #clearBtn:active { transform:translateY(1px); }

#sub020104 .chip { height:30px; padding:0 10px; border:1px solid var(--bd); border-radius:999px; display:inline-flex; align-items:center; background:#fff; color:var(--sub); font-size:12px; font-weight:700; }

#sub020104 .list { margin-top:18px; display:grid; grid-template-columns:repeat(2, 1fr); gap:14px; }

#sub020104 .empty { margin-top:18px; background:var(--card); border:1px dashed rgba(100,116,139,.35); border-radius:var(--r); padding:26px 18px; text-align:center; color:var(--sub); box-shadow:0 10px 24px rgba(15,23,42,.06); }

#sub020104 .list .item { background:var(--card); border:1px solid var(--bd); border-radius:var(--r); box-shadow:0 10px 24px rgba(15,23,42,.06); overflow:hidden; }
#sub020104 .list .meta { padding:12px 14px; display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid var(--bd); }
#sub020104 .list .name { font-size:13px; font-weight:700; color:var(--tx); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#sub020104 .list .size { font-size:12px; color:var(--sub); flex:0 0 auto; }
#sub020104 .list video { display:block; width:100%; height:260px; background:#0b1220; }

@media (max-width: 900px) {
	#sub020104 { padding:22px 0 36px; }
	#sub020104 .top { padding:18px 16px 14px; }
	#sub020104 .list { grid-template-columns:1fr; }
	#sub020104 .actions { flex-direction:column; align-items:stretch; }
	#sub020104 .btn { width:100%; }
	#sub020104 .chip { align-self:flex-start; }
	#sub020104 .list video { height:220px; }
}

@media (max-width: 520px) {
	#sub020104 .title h1 { font-size:20px; }
	#sub020104 .list video { height:200px; }
}
