.recruit-page{max-width:1100px;margin:60px auto 80px;padding:0 40px;}
h1.main-title{font-weight:900;font-size:42px;text-align:center;letter-spacing:4px;margin-bottom:6px;color:#fff;}
p.sub-title{text-align:center;font-size:14px;font-weight:500;color:#aaa;margin-bottom:50px;}
.roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;}
.role-card{background:rgba(255,255,255,.05);border-radius:16px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);transition:transform .3s ease,box-shadow .3s ease;}
.role-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(0,0,0,.4);}
.role-presenter{border-left:5px solid #4e9af1;}
.role-content-reporter{border-left:5px solid #2dd7b0;}
.role-station-mentor{border-left:5px solid #d14ae2;}
.role-content-mentor{border-left:5px solid #625dff;}
.role-developer{border-left:5px solid #1e3cd1;}
.role-visual-designer{border-left:5px solid #f23b9b;}
.role-twitch-streamer{border-left:5px solid #9146ff;}
.role-vtc-partnership{border-left:5px solid #f59e0b;}
.role-header{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.role-icon{font-size:30px;color:var(--brand-primary);flex-shrink:0;}
.role-name{font-size:18px;font-weight:800;text-transform:uppercase;color:#fff;}
.role-desc{font-size:13px;color:#ddd;margin-bottom:18px;line-height:1.55;}
.role-desc ul{margin-top:6px;padding-left:16px;}
.role-desc ul li{margin-bottom:6px;font-style:italic;color:#fff;}
.role-desc ul li::marker{color:var(--brand-primary);font-weight:600;}
.apply-btn{background:linear-gradient(90deg,var(--brand-primary),#2dd7b0);padding:12px 28px;border-radius:9999px;font-weight:700;font-size:13px;text-transform:uppercase;color:#fff;text-align:center;width:100%;border:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 6px 15px rgba(0,0,0,.3);display:block;text-decoration:none;box-sizing:border-box;}
.apply-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.5);}
.apply-btn:disabled{background:rgba(255,255,255,.1);color:#888;cursor:not-allowed;box-shadow:none;}
@media(max-width:768px){
    .recruit-page{margin:50px auto 60px;padding:0 24px;}
    h1.main-title{font-size:36px;letter-spacing:2px;}
    p.sub-title{font-size:13px;margin-bottom:40px;}
    .roles-grid{gap:20px;}
    .role-card{padding:20px;}
    .role-header{gap:10px;margin-bottom:12px;}
    .role-icon{font-size:26px;}
    .role-name{font-size:16px;}
    .role-desc{font-size:12px;margin-bottom:16px;line-height:1.5;}
    .apply-btn{padding:10px 24px;font-size:12px;}
}

@media(max-width:640px){
    .recruit-page{margin:40px auto 50px;padding:0 16px;}
    h1.main-title{font-size:32px;letter-spacing:1px;}
    p.sub-title{font-size:12px;margin-bottom:32px;}
    .roles-grid{grid-template-columns:1fr;gap:16px;}
    .role-card{padding:18px;border-radius:14px;}
    .role-header{gap:8px;margin-bottom:10px;}
    .role-icon{font-size:24px;}
    .role-name{font-size:15px;}
    .role-desc{font-size:11px;margin-bottom:14px;line-height:1.4;}
    .role-desc ul{padding-left:14px;}
    .role-desc ul li{margin-bottom:4px;font-size:10px;}
    .apply-btn{padding:9px 20px;font-size:11px;}
}

@media(max-width:375px){
    .recruit-page{margin:32px auto 40px;padding:0 12px;}
    h1.main-title{font-size:28px;letter-spacing:0.5px;margin-bottom:4px;}
    p.sub-title{font-size:11px;margin-bottom:24px;}
    .roles-grid{gap:12px;}
    .role-card{padding:14px;border-radius:12px;border-left-width:4px;}
    .role-header{gap:8px;margin-bottom:8px;}
    .role-icon{font-size:20px;}
    .role-name{font-size:13px;letter-spacing:1px;}
    .role-desc{font-size:10px;margin-bottom:12px;line-height:1.3;}
    .role-desc ul{padding-left:12px;margin-top:4px;}
    .role-desc ul li{margin-bottom:3px;font-size:9px;}
    .apply-btn{padding:8px 16px;font-size:10px;}
}
