:root{--violet:#9B8BC0;--bg:#F7F4FB;--ink:#2A1F2F;--muted:#6F6681;}
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto; background:var(--bg); color:var(--ink); line-height:1.5}
a{color:inherit}
.container{max-width:1100px;margin:0 auto;padding:0 16px}
.section{padding:24px 0}
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:50}
.nav{display:flex;align-items:center;height:64px;gap:12px}
.logo{height:40px;object-fit:contain}
.spacer{flex:1}
.btn{background:var(--violet);color:#fff;border:none;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer}
.btn.ghost{background:transparent;border:2px solid var(--violet);color:var(--violet)}
.card{background:#fff;border-radius:16px;padding:18px;box-shadow:0 6px 24px rgba(0,0,0,.06)}
.small{color:var(--muted);font-size:14px}
.field{margin:10px 0}
.table-wrap{overflow:auto}
.tbl{width:100%;border-collapse:separate;border-spacing:0 8px}
.tbl th,.tbl td{text-align:left;padding:10px 8px}
.tbl thead th{background:#faf7ff;border-bottom:1px solid #ECE7F7}

/* --- PATCH: footer icons smaller --- */
footer .icon{ width:4%; height:auto; }
/* --- PATCH: consistent card image area for Online/Studio cards --- */
.card .thumb{ width:100%; aspect-ratio: 16/9; overflow:hidden; border-radius:12px; }
.card .thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

/* PATCH V7.7: footer icons smaller and card images stable */
footer .icon{ width:4%; height:auto; }
.card .thumb{ width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:12px; }
.card .thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
