:root{--bg: #0f1729;--surface: #ffffff;--ink: #0f1729;--muted: #64748b;--line: #e2e8f0;--brand: #2563eb;--brand-ink: #1e40af;--approve: #16a34a;--reject: #dc2626;--radius: 12px;--shadow: 0 1px 3px rgba(15, 23, 41, .08), 0 8px 24px rgba(15, 23, 41, .06)}*{box-sizing:border-box}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:#f1f5f9;line-height:1.5}.muted{color:var(--muted)}.center{min-height:100vh;display:grid;place-items:center;padding:24px}.brand{display:flex;align-items:baseline;gap:8px}.brand-mark{font-weight:800;letter-spacing:-.02em;color:var(--brand-ink)}.brand-sub{color:var(--muted);font-size:.9rem}.brand-lg .brand-mark{font-size:1.6rem}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar-right{display:flex;align-items:center;gap:14px}.tabs{display:flex;gap:4px}.tab{font:inherit;font-weight:600;cursor:pointer;padding:7px 14px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--muted)}.tab:hover{background:#f1f5f9;color:var(--ink)}.tab-active{background:#eef2ff;color:var(--brand-ink)}.main{max-width:1080px;margin:0 auto;padding:28px 24px 64px}.section-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.section-head h1{margin:0;font-size:1.4rem}.section-generate{margin-left:auto}.subtabs{display:flex;gap:8px;margin-bottom:18px}.subtab{font:inherit;font-weight:600;cursor:pointer;color:var(--muted);padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface)}.subtab:hover{border-color:var(--brand)}.subtab-active{background:#eef2ff;color:var(--brand-ink);border-color:#c7d2fe}.subtab-count{opacity:.7;font-size:.82rem;margin-left:4px}.field-check .check-row{display:flex;align-items:center;gap:10px;padding-top:6px}.field-check input[type=checkbox]{width:18px;height:18px}.field-check em{font-style:normal;font-size:.78rem}.channel-block{margin:12px 0 16px;display:flex;flex-direction:column;gap:8px}.channel-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.channel-label{font-size:.82rem}.check-inline{display:flex;align-items:center;gap:5px;font-size:.88rem;cursor:pointer}.provider-field{max-width:340px}.provider-field select{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px}.channel-hint{font-size:.8rem;margin:4px 0 0}.channel-block-off{opacity:.55}.ct-enabled strong{font-size:.95rem}.ct-count{margin-left:auto;gap:6px}.ct-count input{width:64px;font:inherit;padding:4px 8px;border:1px solid var(--line);border-radius:7px}.kind-badge{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:999px;white-space:nowrap}.kind-manual{background:#fef3c7;color:#92400e}.kind-automated{background:#dbeafe;color:#1e40af}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;cursor:pointer;box-shadow:var(--shadow);transition:transform .08s ease,box-shadow .08s ease;font:inherit;color:inherit}.card:hover{transform:translateY(-2px);box-shadow:0 4px 10px #0f17291f}.card-img-wrap{position:relative;margin:-16px -16px 12px}.card-img{display:block;width:calc(100% + 32px);margin:-16px -16px 12px;height:160px;object-fit:cover;border-radius:12px 12px 0 0;background:#eef2f7}.card-img-wrap .card-img{margin:0;width:100%}.play-badge{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#0f17298c;color:#fff;border-radius:999px;font-size:1.1rem;padding-left:3px}.card-img-empty{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.82rem}.card-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}.card-tags{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.post-no{font-weight:700;color:var(--brand-ink);font-size:.9rem}.card-title{margin:0 0 8px;font-size:1.02rem;line-height:1.35}.card-preview{margin:0 0 14px;color:var(--muted);font-size:.9rem}.card-foot{display:flex;gap:12px;font-size:.8rem}.tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;padding:3px 8px;border-radius:999px;background:#eef2ff;color:var(--brand-ink)}.tag-type{background:#e0e7ff}.badge{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;padding:3px 8px;border-radius:999px;margin-left:auto}.badge-draft{background:#f1f5f9;color:#475569}.badge-approved{background:#dcfce7;color:#166534}.badge-rejected{background:#fee2e2;color:#991b1b}.badge-scheduled{background:#dbeafe;color:#1e40af}.btn{font:inherit;font-weight:600;cursor:pointer;padding:9px 16px;border-radius:9px;border:1px solid transparent;background:#e2e8f0;color:var(--ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff}.btn-approve{background:var(--approve);color:#fff}.btn-reject{background:var(--reject);color:#fff}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn-block{width:100%}.login-card{width:360px;max-width:100%;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}.login-tag{margin:-6px 0 6px}.setpw-title{margin:4px 0 0;font-size:1.15rem}.brand-switcher{font:inherit;font-weight:600;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);max-width:180px}.admin-toolbar{margin-bottom:14px;display:flex;justify-content:flex-end}.admin-form-title{margin:0 0 12px;font-size:1.15rem}.brand-form{display:flex;flex-direction:column;gap:14px}.brand-form details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px}.brand-form summary{cursor:pointer;font-weight:600;padding:4px 0}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:10px}.field-block{margin-top:12px}.admin-textarea{font:inherit;font-size:.85rem;line-height:1.5;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;resize:vertical;margin-top:6px}.admin-textarea:focus{outline:2px solid var(--brand);border-color:var(--brand)}.mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace}.mask{font-style:normal;color:var(--muted);font-size:.78rem;margin-left:6px}.brand-row{grid-template-columns:minmax(140px,1fr) 110px 90px 90px auto}.brand-actions{display:flex;gap:6px}.btn-sm{padding:5px 10px;font-size:.82rem}.btn-danger{color:var(--reject);border-color:#fecaca}.btn-danger:hover{background:#fef2f2}.user-row{grid-template-columns:minmax(160px,1fr) 80px minmax(100px,1fr) 110px auto}.user-create{margin-top:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.user-create h3{margin:0 0 6px;font-size:1rem}.user-create select{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.user-create .btn{margin-top:10px}.temp-pass-card{background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);padding:14px 16px;margin-bottom:16px;display:flex;flex-direction:column;gap:8px}.temp-pass-row{display:flex;gap:12px;flex-wrap:wrap}.temp-pass-row code{background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:.95rem}.temp-pass{font-weight:700;letter-spacing:.04em}.temp-pass-card .btn{align-self:flex-start}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172980;display:grid;place-items:center;z-index:50;padding:20px}.modal{background:var(--surface);border-radius:14px;padding:22px;width:460px;max-width:100%;box-shadow:0 20px 60px #0f17294d}.modal h3{margin:0 0 8px}.field{display:flex;flex-direction:column;gap:6px;font-size:.85rem}.field input{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:9px}.field input:focus{outline:2px solid var(--brand);border-color:var(--brand)}.week-block{margin-bottom:26px}.week-head{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 10px;border-bottom:1px solid var(--line);padding-bottom:6px}.week-head h2{margin:0;font-size:1.05rem}.log-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.log-row{width:100%;text-align:left;font:inherit;cursor:pointer;display:grid;grid-template-columns:130px 1fr 120px 110px auto;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 14px}.log-row:hover{border-color:var(--brand)}.log-approved{background:#f6fdf9;border-color:#bbf7d0}.log-post{font-weight:700;color:var(--brand-ink);font-size:.85rem}.log-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-row .badge{margin-left:0}@media (max-width: 720px){.log-row{grid-template-columns:1fr auto}.log-pillar,.log-sched{display:none}}.detail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.detail-head .badge{margin-left:0}.detail-post{font-weight:700;color:var(--brand-ink);font-size:.95rem;margin-bottom:2px}.detail-title{margin:0 0 6px;font-size:1.5rem}.hint{margin:6px 0;font-size:.85rem}.locked-banner{margin:10px 0;padding:10px 14px;border-radius:9px;background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;font-size:.9rem;font-weight:600}.video-block{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;margin:14px 0}.detail-video{width:320px;max-width:100%;border-radius:12px;background:#000;border:1px solid var(--line)}.thumb-wrap{display:flex;flex-direction:column;gap:6px;font-size:.8rem}.detail-thumb{width:200px;max-width:100%;border-radius:10px;border:1px solid var(--line)}.avatar-line{margin:2px 0 10px;font-size:.82rem}.avatar-line code{background:#f1f5f9;padding:1px 6px;border-radius:6px}.video-field{display:flex;flex-direction:column;gap:4px;margin:10px 0;font-size:.8rem}.script-ro{background:#f8fafc}.image-block{display:flex;flex-direction:column;gap:10px;align-items:flex-start;margin:14px 0}.detail-img{max-width:360px;width:100%;border-radius:12px;border:1px solid var(--line);display:block}.detail-img-empty{display:flex;align-items:center;justify-content:center;text-align:center;height:180px;padding:16px;color:var(--muted);font-size:.9rem;background:#f8fafc}.image-controls{display:flex;gap:12px;align-items:flex-end;width:100%;flex-wrap:wrap}.image-prompt-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:260px;font-size:.8rem}.image-prompt{font:inherit;font-size:.85rem;line-height:1.45;padding:10px 12px;border:1px solid var(--line);border-radius:9px;resize:vertical;width:100%}.image-prompt:focus{outline:2px solid var(--brand);border-color:var(--brand)}.image-buttons{display:flex;flex-direction:column;gap:8px}.image-notice{align-self:stretch}.detail-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:.85rem;margin-bottom:12px}.insight,.anchor,.source{margin:4px 0;font-size:.92rem}.variants{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}@media (max-width: 820px){.variants{grid-template-columns:1fr}}.variant{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.variant-chosen{border-color:var(--brand);box-shadow:0 0 0 2px #2563eb26}.variant-head{display:flex;align-items:center;justify-content:space-between}.choose{display:flex;align-items:center;gap:8px;cursor:pointer}.hook{font-size:.78rem;color:var(--brand-ink);background:#eef2ff;padding:2px 8px;border-radius:999px}.hook-reason{margin:0;font-size:.8rem}.variant-text{font:inherit;font-size:.9rem;line-height:1.5;width:100%;resize:vertical;padding:12px;border:1px solid var(--line);border-radius:9px;white-space:pre-wrap}.variant-text:focus{outline:2px solid var(--brand);border-color:var(--brand)}.hashtags{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:.75rem;background:#f1f5f9;color:#475569;padding:2px 8px;border-radius:999px}.actions{display:flex;align-items:center;gap:10px;margin-top:8px}.actions .spacer{flex:1}.notice{margin:10px 0;padding:10px 12px;border-radius:9px;background:#eff6ff;color:#1e40af;font-size:.88rem}.error{margin:10px 0;padding:10px 12px;border-radius:9px;background:#fef2f2;color:#991b1b;font-size:.88rem}
