:root{--color-bg:#f7f7f8;--color-surface:#fff;--color-border:#e1e3e5;--color-border-strong:#c9cccf;--color-text:#202223;--color-text-secondary:#6d7175;--color-primary:#2c6ecb;--color-primary-hover:#1f5199;--color-danger:#d72c0d;--color-danger-hover:#bc2200;--color-success:#008060;--color-highlight:#f0f5ff;--radius:8px;--radius-sm:4px;--shadow:0 1px 3px #00000014;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "PingFang TC", "Microsoft JhengHei", "Source Han Sans TC", "Noto Sans CJK TC", sans-serif;--font-mono:"SF Mono", "Fira Code", "Fira Mono", Menlo, monospace}html[lang^=zh]{line-height:1.55}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}.app{flex-direction:column;height:100vh;display:flex}.app__header{background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;display:flex}.app__brand{align-items:center;gap:20px;min-width:0;display:flex}.app__title{font-size:18px;font-weight:600}.app__view-switch{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);gap:4px;padding:2px;display:flex}.btn--tab{color:var(--color-text-secondary);background:0 0;border:none;padding:4px 12px;font-size:13px}.btn--tab:hover{background:var(--color-surface);color:var(--color-text)}.btn--tab-active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow)}.app__toolbar{gap:8px;display:flex}.app__main--guide{padding:0}.app__body{flex:1;display:flex;overflow:hidden}.app__sidebar{border-right:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;width:340px;min-width:340px;display:flex;overflow-y:auto}.app__add-campaign{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:8px;padding:12px;display:flex}.app__add-campaign .field__input--select{flex:1 1 0;min-width:0}.app__add-campaign .btn{flex-shrink:0}.app__main{flex:1;padding:20px;overflow-y:auto}.app__editor{grid-template-columns:1fr 1fr;gap:20px;height:100%;display:grid}.app__form{flex-direction:column;gap:16px;padding-right:8px;display:flex;overflow-y:auto}.app__form-desc{color:var(--color-text-secondary);margin:-8px 0 4px;font-size:13px}.app__preview{height:fit-content;max-height:100%;position:sticky;top:0;overflow-y:auto}.app__empty{height:100%;color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.campaign-list{flex:1}.campaign-list--empty{text-align:center;color:var(--color-text-secondary);padding:20px}.campaign-list__item{border-bottom:1px solid var(--color-border);align-items:center;display:flex}.campaign-list__item--selected{background:var(--color-highlight)}.campaign-list__item--inactive{opacity:.5}.campaign-list__item-main{cursor:pointer;text-align:left;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;flex:1;gap:2px;padding:10px 12px;display:flex}.campaign-list__label{font-size:13px;font-weight:500}.campaign-list__type{color:var(--color-text-secondary);font-size:11px}.campaign-list__actions{gap:2px;padding-right:8px;display:flex}.btn{font:inherit;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;padding:6px 14px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{background:var(--color-bg)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn--primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn--small{padding:4px 10px;font-size:12px}.btn--icon{background:0 0;border:none;padding:4px 6px;font-size:14px;line-height:1}.btn--icon:hover{background:var(--color-bg);border-radius:var(--radius-sm)}.btn--danger{color:var(--color-danger)}.btn--danger:hover{color:var(--color-danger-hover)}.field{flex-direction:column;gap:4px;display:flex}.field__label{color:var(--color-text);font-size:13px;font-weight:500}.field__label--group{border-bottom:1px solid var(--color-border);margin-bottom:4px;padding-bottom:4px;font-size:14px;font-weight:600}.field__input{font:inherit;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:7px 10px;font-size:13px;transition:border-color .15s}.field__input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px #2c6ecb26}.field__input--textarea{resize:vertical;min-height:60px}.field__input--select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236d7175' d='M6 8.4L1.2 3.6h9.6z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.field__help{color:var(--color-text-secondary);font-size:12px}.field-row{gap:12px;display:flex}.field-row>.field{flex:1}.field-group{background:var(--color-bg);border-radius:var(--radius);border:1px solid var(--color-border);flex-direction:column;gap:8px;padding:12px;display:flex}.fieldset{border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:12px;display:flex}.fieldset legend{padding:0 6px;font-size:13px;font-weight:600}.array-field{flex-direction:column;gap:6px;display:flex}.array-field__input-row{gap:8px;display:flex}.array-field__input-row .field__input{flex:1}.array-field__tags{flex-wrap:wrap;gap:4px;display:flex}.tag{background:var(--color-highlight);border:1px solid var(--color-border);border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.tag__remove{cursor:pointer;width:16px;height:16px;color:var(--color-text-secondary);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;line-height:1;display:inline-flex}.tag__remove:hover{background:var(--color-border);color:var(--color-danger)}.tier-rows{flex-direction:column;gap:6px;display:flex}.tier-rows__header{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;grid-template-columns:1fr 1fr .7fr 1.5fr 36px;gap:6px;padding:0 2px;font-size:11px;font-weight:600;display:grid}.tier-rows__header--3col{grid-template-columns:2fr 1fr .7fr 36px}.tier-rows__row{grid-template-columns:1fr 1fr .7fr 1.5fr 36px;align-items:center;gap:6px;display:grid}.tier-rows__row--3col{grid-template-columns:2fr 1fr .7fr 36px}.card--nested{border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:10px;margin-bottom:8px;padding:12px;display:flex}.card__header{justify-content:space-between;align-items:center;display:flex}.card__title{font-size:13px;font-weight:600}.compositor{background:var(--color-bg);border-radius:var(--radius);border:1px dashed var(--color-border-strong);flex-direction:column;gap:10px;padding:8px;display:flex}.compositor__slot{background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-direction:column;gap:6px;padding:8px;display:flex}.compositor__slot-header{justify-content:space-between;align-items:center;display:flex}.compositor__slot-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.compositor__slot .fieldset{border:none;gap:8px;padding:0}.compositor__slot .fieldset legend{display:none}.compositor__slot .field-group{padding:8px}.toggle-field{align-items:center;gap:10px;display:flex}.toggle-field__label{color:var(--color-text-secondary);font-size:13px;font-weight:500}.toggle{cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.toggle__track{background:var(--color-border-strong);border-radius:11px;align-items:center;width:40px;height:22px;padding:2px;transition:background .2s;display:flex}.toggle--active .toggle__track{background:var(--color-success)}.toggle__thumb{background:var(--color-surface);border-radius:50%;width:18px;height:18px;transition:transform .2s;display:block;box-shadow:0 1px 3px #0003}.toggle--active .toggle__thumb{transform:translate(18px)}.json-preview{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.json-preview--empty{min-height:200px;color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.json-preview__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.json-preview__title{font-size:14px;font-weight:600}.json-preview__code{font-family:var(--font-mono);color:var(--color-text);white-space:pre-wrap;word-break:break-all;background:#fafbfc;margin:0;padding:14px;font-size:12px;line-height:1.6;overflow-x:auto}.guide{flex-direction:column;gap:32px;max-width:1040px;height:100%;margin:0 auto;padding:24px 24px 48px;display:flex;overflow-y:auto}.guide__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.guide__title{margin-bottom:6px;font-size:22px;font-weight:700}.guide__intro{color:var(--color-text-secondary);max-width:640px;font-size:14px}.guide__locale{flex-direction:column;gap:4px;min-width:160px;display:flex}.guide__locale-label{color:var(--color-text-secondary);font-size:12px;font-weight:500}.guide__section-title{margin-bottom:10px;font-size:16px;font-weight:600}.guide__concepts{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px}.guide__concept-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:12px;display:grid}.guide__concept{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:14px;display:flex}.guide__concept-title{font-size:14px;font-weight:600}.guide__concept-body{color:var(--color-text);font-size:13px}.guide__concept-bullets{color:var(--color-text-secondary);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:13px;display:flex}.guide__picker{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px 20px}.guide__picker-select{max-width:420px;margin-top:4px}.guide__doc{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:20px;padding:24px;display:flex}.guide__doc-header{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.guide__doc-title{font-size:20px;font-weight:700}.guide__doc-type{font-family:var(--font-mono);background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:12px;padding:2px 8px;font-size:12px}.guide__doc-oneliner{color:var(--color-text);margin-top:-8px;font-size:14px}.guide__doc-section{flex-direction:column;gap:8px;display:flex}.guide__doc-section--columns{grid-template-columns:1fr 1fr;gap:24px;display:grid}.guide__doc-section--gotchas{border-radius:var(--radius-sm);background:#fff7ed;border:1px solid #fde8cc;padding:14px 16px}.guide__doc-section-title{color:var(--color-text);font-size:14px;font-weight:600}.guide__doc-bullets{color:var(--color-text);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:13px;display:flex}.guide__doc-fields{flex-direction:column;gap:8px;margin:0;display:flex}.guide__doc-field{grid-template-columns:160px 1fr;align-items:start;gap:10px;font-size:13px;display:grid}.guide__doc-field dt{font-family:var(--font-mono);color:var(--color-text);word-break:break-all;font-size:12px}.guide__doc-field dd{color:var(--color-text-secondary)}.guide__doc-empty{color:var(--color-text-secondary);font-size:13px}.guide__examples{flex-direction:column;gap:16px;display:flex}.guide__example{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:12px;padding:16px;display:flex}.guide__example-header{justify-content:space-between;align-items:baseline;display:flex}.guide__example-title{font-size:15px;font-weight:600}.guide__example-summary{color:var(--color-text);font-size:13px}.guide__example-block{flex-direction:column;gap:6px;display:flex}.guide__example-subtitle{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.guide__example-narrative{color:var(--color-text);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:13px;display:flex}.guide__example-json-header{justify-content:space-between;align-items:center;display:flex}.guide__example-json{font-family:var(--font-mono);border:1px solid var(--color-border);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-all;color:var(--color-text);background:#fafbfc;margin:0;padding:12px;font-size:12px;line-height:1.55;overflow-x:auto}.guide__example-devnote{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px}.guide__example-devnote summary{cursor:pointer;color:var(--color-text-secondary);font-weight:600}.guide__example-devnote p{color:var(--color-text);margin-top:8px}.guide__example-actions{justify-content:flex-end;display:flex}.guide__empty{color:var(--color-text-secondary);text-align:center;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius);padding:24px}@media (width<=720px){.guide__doc-section--columns{grid-template-columns:1fr}.guide__doc-field{grid-template-columns:1fr;gap:2px}}
