:root { color-scheme: dark; --bg:#101518; --panel:#181f23; --line:#303b40; --text:#edf4f1; --muted:#a2b3b3; --accent:#a4e0c0; --danger:#ffacac; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
body { margin:0; background:var(--bg); color:var(--text); font:15px/1.6 system-ui,-apple-system,"Microsoft YaHei",sans-serif; }
button,input,textarea,select { font:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.shell { max-width:1200px; margin:auto; padding:28px 28px 50px; }
.top { display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); padding-bottom:22px; }
.top h1 { margin:0; font-size:28px; font-weight:650; letter-spacing:-.6px; }
.top p { margin:4px 0 0; color:var(--muted); font-size:14px; }
.brand { display:flex; gap:12px; align-items:center; }
.brand strong { font-size:17px; font-weight:650; }
.brand p { font:10px/1.5 ui-monospace,monospace; letter-spacing:2px; }
.brand-mark { width:42px;height:42px;display:grid;place-content:center;position:relative;border:1px solid var(--line);border-radius:9px;font:700 28px/1 Georgia,serif; }
.brand-mark span { position:absolute;right:5px;bottom:4px;color:var(--accent); }
.local-tag { display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--accent);white-space:nowrap; }
.local-tag i { width:6px;height:6px;border-radius:50%;background:var(--accent); }
.back { color:var(--accent);text-decoration:none;white-space:nowrap;border:1px solid var(--line);border-radius:5px;padding:8px 15px;font-size:13px; }
.eyebrow { font:11px/1.5 ui-monospace,monospace;letter-spacing:2px;color:var(--accent); }
.index-intro { padding:40px 0 28px; }
.index-intro h1 { margin:10px 0 12px;font-size:38px;line-height:1.35;font-weight:600;letter-spacing:-1px; }
.index-intro>p:not(.eyebrow) { color:var(--muted);font-size:14px; }
.intro-meta { display:flex;gap:20px;margin-top:20px;font-size:12px;color:#cfdbd8; }
.intro-meta span+span:before { content:'·';margin-right:20px;color:var(--muted); }
.index-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.effect-card { display:block;text-decoration:none;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:border-color .15s,transform .15s; }
.effect-card:hover { border-color:var(--accent);transform:translateY(-2px); }
.card-preview { aspect-ratio:3/2;position:relative;background:#0c1216;overflow:hidden;border-bottom:1px solid var(--line); }
.card-preview canvas { display:block;width:100%;height:100%;object-fit:cover; }
.card-number,.card-arrow { position:absolute;top:12px;background:#101518d9;border:1px solid #ffffff26;border-radius:4px;font:12px/1 ui-monospace,monospace;padding:7px;color:var(--accent); }
.card-number { left:12px; }.card-arrow { right:12px; }
.card-body { padding:19px; }.card-en { font:10px/1 ui-monospace,monospace;letter-spacing:1.5px;color:var(--muted);display:block;margin-bottom:9px; }
.effect-card strong { font-size:20px;font-weight:600; }.effect-card p { font-size:13px;color:var(--muted);min-height:42px;line-height:1.7;margin:7px 0 16px; }
.card-tag { border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted); }.card-tag span { color:var(--accent); }
.lab-footer { border-top:1px solid var(--line);margin-top:30px;padding-top:20px;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted); }
.effect-tabs { display:flex;gap:8px;overflow-x:auto;padding:18px 0 0; }
.effect-tabs a { flex-shrink:0;color:var(--muted);text-decoration:none;border:1px solid var(--line);border-radius:5px;font-size:12px;padding:8px 10px; }
.effect-tabs a span { font:10px ui-monospace,monospace;margin-right:8px;opacity:.6; }.effect-tabs a[aria-current] { color:var(--accent);border-color:#6b9d84;background:#1b3028; }
.grid { display:grid;grid-template-columns:290px minmax(0,1fr);gap:18px;margin-top:18px;align-items:start; }
.panel { background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px;min-width:0; }
.controls { display:grid;gap:15px;align-content:start; }
.section-label { display:flex;justify-content:space-between;align-items:center;gap:10px; }
.section-label h2 { font-size:12px;font-weight:650;letter-spacing:.4px;margin:0; }.section-label>span { font-size:11px;color:var(--muted); }
.controls .section-label:not(:first-child) { border-top:1px solid var(--line);padding-top:20px;margin-top:3px; }
.field { display:grid;gap:7px;color:var(--muted);font-size:12px;position:relative; }
.field small { position:absolute;top:0;right:0;color:var(--muted);font-size:11px; }
.field input,.field textarea,.field select { width:100%;min-width:0;border:1px solid var(--line);border-radius:5px;background:#101619;color:var(--text);padding:10px;font-size:14px; }
.field textarea { resize:vertical;min-height:100px;line-height:1.7; }
.range { display:grid;gap:8px; }.range span { display:flex;justify-content:space-between;color:var(--muted);font-size:12px; }.range output { color:var(--accent);font:12px ui-monospace,monospace; }
.range input { width:100%;accent-color:var(--accent);margin:0; }
.setting-pair { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.buttons { display:flex;flex-wrap:wrap;gap:8px; }
.button { display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid #425057;border-radius:5px;padding:8px 13px;background:#202b30;color:var(--text);cursor:pointer;text-decoration:none;font-size:13px; }
.button.primary { background:var(--accent);border-color:var(--accent);color:#10251c;font-weight:650; }.button:hover:not(:disabled) { filter:brightness(1.1); }.button[aria-pressed=true] { border-color:var(--accent);color:var(--accent); }
.button:disabled,input:disabled,select:disabled,textarea:disabled,.text-button:disabled { opacity:.45;cursor:not-allowed; }
.text-button { padding:0;border:0;background:transparent;color:var(--accent);font-size:12px;cursor:pointer; }
.hint { font-size:12px;color:var(--muted);line-height:1.8;margin:0; }.error { color:var(--danger);font-size:12px;margin:0; }
.result-column { display:grid;gap:16px;min-width:0; }.preview { display:grid;gap:16px;justify-items:center; }
.preview-toolbar { width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--accent); }
.preview-toolbar .button { min-height:34px; }.canvas-wrap { width:100%;background:#0c1216;border:1px solid #27353c;min-height:240px;padding:20px;display:grid;place-items:center;border-radius:4px;overflow:hidden; }
.canvas-wrap canvas { display:block;width:auto;height:auto;max-width:100%;max-height:480px;aspect-ratio:3/4;background:#0c1216; }
.preview-footer { display:flex;justify-content:space-between;width:100%;gap:10px;color:var(--muted);font-size:11px; }
.export-panel { display:grid;gap:15px; }.state { width:100%;color:var(--muted);font-size:12px;margin:0; }.state[data-error=true] { color:var(--danger); }
progress { width:100%;height:5px;accent-color:var(--accent); }
.download { width:100%;display:grid;gap:14px;border-top:1px solid var(--line);padding-top:18px; }
.download img,.download video { display:block;max-width:100%;max-height:360px;background:#0c1216;justify-self:center; }
.links { display:flex;gap:12px;flex-wrap:wrap; }.links a { color:#10251c; }
@media(max-width:950px) { .effect-tabs a { font-size:11px;padding:7px; }.effect-tabs a span { display:none; }.grid { grid-template-columns:255px minmax(0,1fr); }.panel { padding:16px; }.index-grid { gap:12px; }.card-body { padding:15px; } }
@media(max-width:760px) { .shell { padding:20px 16px 36px; }.grid { grid-template-columns:1fr; }.index-grid { grid-template-columns:1fr 1fr; }.index-intro { padding:28px 0 22px; }.index-intro h1 { font-size:29px; }.top h1 { font-size:24px; }.top p { font-size:12px; }.local-tag { font-size:11px; }.brand strong { font-size:15px; }.intro-meta { gap:10px;flex-wrap:wrap;font-size:11px; }.intro-meta span+span:before { margin-right:10px; }.lab-footer { flex-direction:column;gap:6px; }.canvas-wrap { padding:12px; } }
@media(max-width:420px) { .index-grid { grid-template-columns:1fr; }.index-intro h1 { font-size:27px; }.brand-mark { display:none; }.top { gap:10px; }.back { padding:6px 10px; }.preview-footer { flex-direction:column;gap:3px; }.field input,.field textarea,.field select { font-size:16px; } }
@media(prefers-reduced-motion:reduce) { .effect-card { transition:none; } }

.licenseBar .ghost,.licenseGate .ghost{padding:8px 14px;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer}.licenseBar{margin:14px 0 20px}.toolNav.effect-tabs{margin-bottom:16px}
