*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--cream:#f7f4ef;--white:#fdfbf8;--ink:#1a1714;--ink-light:#4a453f;--ink-muted:#9b9189;--copper:#b85a30;--copper-light:#f0997b;--copper-pale:#faece7;--border:rgba(26,23,20,.1);--border-strong:rgba(26,23,20,.2);--green:#2d7a4f;--green-pale:#e8f5ee;--red:#c0392b;--red-pale:#fdedec;--radius:12px;--shadow:0 2px 16px rgba(0,0,0,.06)}html{font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;background:var(--cream);color:var(--ink);min-height:100vh}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .15s;font-family:inherit;text-decoration:none}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{background:#2d2925}.btn-copper{background:var(--copper);color:#fff}.btn-copper:hover{background:#9a4a26}.btn-outline{background:transparent;color:var(--ink-light);border:1px solid var(--border-strong)}.btn-outline:hover{background:var(--cream)}.btn-danger{background:var(--red-pale);color:var(--red);border:1px solid rgba(192,57,43,.2)}.btn-danger:hover{background:#fbd7d4}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:6px 14px;font-size:13px}.btn-full{width:100%}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--ink-light);margin-bottom:6px}.form-input{width:100%;padding:10px 14px;border:1px solid var(--border-strong);border-radius:10px;font-size:14px;font-family:inherit;background:var(--white);color:var(--ink);transition:border-color .15s;outline:none}.form-input:focus{border-color:var(--copper)}.form-select{width:100%;padding:10px 14px;border:1px solid var(--border-strong);border-radius:10px;font-size:14px;font-family:inherit;color:var(--ink);outline:none;cursor:pointer}.card,.form-select{background:var(--white)}.card{border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--shadow)}.topbar{background:hsla(38,33%,95%,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 28px;height:54px;display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:100}.topbar-logo{font-size:18px;font-weight:700;color:var(--ink);letter-spacing:-.3px}.topbar-logo span{color:var(--copper)}.topbar-right{display:flex;align-items:center;gap:12px}.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:500;padding:3px 10px;border-radius:20px}.badge-green{background:var(--green-pale);color:var(--green)}.badge-copper{background:var(--copper-pale);color:var(--copper)}.badge-gray{background:var(--cream);color:var(--ink-muted);border:1px solid var(--border)}.table{width:100%;border-collapse:collapse}.table th{font-size:12px;font-weight:500;color:var(--ink-muted);text-align:left;padding:10px 14px;text-transform:uppercase;letter-spacing:.5px}.table td,.table th{border-bottom:1px solid var(--border)}.table td{padding:14px;font-size:14px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--cream)}.alert{padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:16px}.alert-error{background:var(--red-pale);color:var(--red);border:1px solid rgba(192,57,43,.2)}.alert-success{background:var(--green-pale);color:var(--green);border:1px solid rgba(45,122,79,.2)}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--copper);border-radius:50%;animation:spin .6s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.tag{display:inline-flex;align-items:center;font-size:11px;padding:2px 8px;border-radius:8px;background:var(--cream);color:var(--ink-muted);border:1px solid var(--border)}.tag-ai{background:var(--copper-pale);color:var(--copper);border-color:rgba(184,90,48,.2)}.page-wrap{max-width:980px;margin:0 auto;padding:32px 24px}.page-title{font-size:24px;font-weight:600;color:var(--ink);margin-bottom:4px}.page-sub{font-size:14px;color:var(--ink-muted);margin-bottom:28px}.section-title{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:14px}.grid-2{grid-template-columns:repeat(2,1fr);grid-gap:14px}.grid-2,.grid-3{display:grid;gap:14px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:14px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}.video-card{background:var(--white);border:1px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;transition:all .2s}.video-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:var(--shadow)}.video-thumb{aspect-ratio:16/9;background:var(--cream);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.video-thumb-bg{position:absolute;inset:0}.video-play{width:40px;height:40px;border-radius:50%;background:hsla(0,0%,100%,.9);display:flex;align-items:center;justify-content:center;position:relative;z-index:1;font-size:16px}.video-duration{position:absolute;bottom:6px;right:8px;background:rgba(0,0,0,.65);color:#fff;font-size:11px;padding:2px 6px;border-radius:4px}.video-info{padding:12px 14px 14px}.video-title{font-size:13px;font-weight:500;color:var(--ink);margin-bottom:6px}.video-meta{font-size:12px;color:var(--ink-muted);margin-bottom:8px}.tags-row{display:flex;gap:4px;flex-wrap:wrap}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(26,23,20,.7);z-index:200;align-items:center;justify-content:center;padding:24px}.modal-overlay.open{display:flex}.modal{background:var(--white);border-radius:20px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;animation:modalIn .2s ease}@keyframes modalIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-title{font-size:16px;font-weight:600;color:var(--ink)}.modal-close{width:32px;height:32px;border-radius:50%;background:var(--cream);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--ink-muted)}.modal-body{padding:24px}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.page-wrap{padding:20px 16px}}