:root{color-scheme:light;--paper:#f7f9f8;--surface:#fff;--ink:#1d2927;--muted:#63716d;--line:#dce4e1;--green:#176c5e;--green-soft:#e7f2ee;--gold:#9f6c31;--red:#a1443e;font-family:Arial,"Noto Sans CJK TC","Microsoft JhengHei",sans-serif;letter-spacing:0}
/* The layout workspace uses the public pages as its editing canvas. */
.workspace-views{display:flex;gap:24px;margin:28px 0 22px;border-bottom:1px solid var(--line)}
.workspace-view{border:0;border-bottom:2px solid transparent;padding:0 2px 13px;background:transparent;color:var(--muted);font-size:15px;font-weight:600}
.workspace-view.is-active{border-color:var(--green);color:var(--ink)}
.layout-workspace{min-width:0}
.layout-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:28px 0 20px}
.layout-toolbar h2{font-size:22px;line-height:1.3;margin:0}
.layout-controls{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.segmented{display:inline-flex;overflow:hidden;border:1px solid var(--line);border-radius:5px;background:#fff}
.segment{min-height:40px;border:0;background:transparent;padding:9px 14px;color:var(--muted);font-size:13px;white-space:nowrap}
.segment+.segment{border-left:1px solid var(--line)}
.segment.is-active{background:var(--green-soft);color:var(--green);font-weight:700}
.layout-caption{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:9px;font-size:13px}
.layout-caption strong{font-size:15px}
.layout-caption span{color:var(--muted)}
.layout-canvas{overflow:auto;background:#e6ece9;border:1px solid var(--line);border-radius:5px;padding:16px;min-height:650px}
.layout-viewport{width:100%;height:760px;margin-inline:auto;background:#fff;box-shadow:0 10px 35px #1d292726;flex:none}
.layout-viewport iframe{display:block;width:100%;height:100%;border:0;background:#fff}
@media(max-width:700px){.workspace-views{margin-top:22px}.layout-toolbar{align-items:start}.layout-controls{justify-content:start}.segmented{max-width:100%;overflow-x:auto}.segment{padding-inline:10px}.layout-canvas{padding:9px;min-height:590px}.layout-viewport{height:670px}}
*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:var(--paper);color:var(--ink)}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:70px;padding:12px clamp(18px,3vw,48px);background:var(--surface);border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;align-items:baseline;gap:13px;white-space:nowrap}.brand-mark{font-size:20px;font-weight:800}.brand-sub{font-size:13px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:10px}.top-actions[hidden],.workspace[hidden],.login-screen[hidden],[hidden]{display:none!important}.save-status{font-size:13px;color:var(--muted);margin-right:8px}.save-status.is-dirty{color:var(--gold)}.button{border:1px solid transparent;border-radius:5px;padding:10px 15px;min-height:40px;font-size:14px;font-weight:600;white-space:nowrap}.button-primary{background:var(--green);color:#fff}.button-primary:hover:not(:disabled){background:#125548}.button-quiet{background:transparent;color:var(--ink)}.button-quiet:hover{background:#eef3f1}.button-outline{background:#fff;border-color:#bfccc7}.button-outline:hover{background:var(--green-soft)}.login-screen{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:24px}.login-box{width:min(100%,420px);padding:36px;background:var(--surface);border:1px solid var(--line);border-radius:6px}.eyebrow{font-size:11px;font-weight:700;color:var(--gold);margin:0 0 9px}.login-box h1,.workspace-heading h1{font-size:26px;line-height:1.25;margin:0}.login-box p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7}.login-box form{display:grid;gap:11px;margin-top:26px}.login-box input,.filter-label input,.filter-label select,.field-grid input,.gallery-add select{width:100%;height:40px;padding:8px 10px;background:#fff;color:var(--ink);border:1px solid #bac9c3;border-radius:4px}.login-box label,.filter-label,.field-grid label,.copy-field{display:grid;gap:7px;font-size:13px;font-weight:600}.form-message{min-height:22px;color:var(--red)!important}.workspace{max-width:1600px;margin:0 auto;padding:32px clamp(16px,3vw,48px) 80px}.workspace-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.site-link{font-size:13px;text-decoration:none;color:var(--green);font-weight:600}.site-link:hover{text-decoration:underline}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:26px 0 22px}.stats>div{padding:18px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:5px}.stats>div:first-child{padding-left:0}.stats>div:last-child{border:0}.stats span{color:var(--muted);font-size:12px}.stats strong{font-size:27px;font-weight:700}.toolbar{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.tabs,.copy-tabs{display:inline-flex;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#fff}.tab{border:0;background:transparent;padding:10px 14px;min-height:40px;font-size:13px;white-space:nowrap;color:var(--muted)}.tab+.tab{border-left:1px solid var(--line)}.tab.is-active{background:var(--green-soft);color:var(--green);font-weight:700}.filter-label{min-width:190px;color:var(--muted);font-size:12px}.search-label{margin-left:auto;min-width:min(300px,100%)}.list-note{color:var(--muted);font-size:12px;margin:18px 0}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}.item-card{display:grid;grid-template-columns:98px minmax(0,1fr);gap:12px;min-height:146px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:6px}.item-card.is-hidden{background:#f3f5f4;border-color:#ccd4d1}.item-card.dragging{opacity:.45}.item-card.drag-target{outline:2px solid var(--green)}.item-thumb{width:98px;height:120px;object-fit:contain;background:#edf0ef;border-radius:3px}.item-card.is-hidden .item-thumb{filter:grayscale(.9);opacity:.7}.item-main{min-width:0;display:flex;flex-direction:column;gap:5px}.item-title{font-size:14px;font-weight:700;line-height:1.45;margin:0;overflow-wrap:anywhere}.item-meta{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-status{font-size:11px;font-weight:700;color:var(--green)}.is-hidden .item-status{color:var(--red)}.item-actions{display:flex;align-items:center;gap:4px;margin-top:auto;flex-wrap:wrap}.small-button{border:1px solid var(--line);background:#fff;border-radius:4px;min-width:30px;height:29px;padding:0 7px;font-size:12px;white-space:nowrap}.small-button:hover{border-color:var(--green);color:var(--green)}.small-button[draggable]{cursor:grab}.small-button.danger{color:var(--red)}.small-button.danger:hover{border-color:var(--red)}.item-index{color:#8b9894;font-size:11px;margin-left:auto}.empty{text-align:center;padding:50px;color:var(--muted)}.editor{border:0;padding:0;width:min(1040px,calc(100vw - 24px));max-height:calc(100vh - 24px);border-radius:6px;box-shadow:0 24px 80px #16242040;color:var(--ink);background:#fff}.editor::backdrop{background:#111d1acc}.editor-shell{display:flex;flex-direction:column;max-height:calc(100vh - 24px);margin:0}.editor-head,.editor-foot{padding:18px 24px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px}.editor-head{border-bottom:1px solid var(--line)}.editor-head h2{margin:0;font-size:20px}.editor-foot{border-top:1px solid var(--line);justify-content:flex-end}.icon-button{border:0;background:transparent;font-size:28px;line-height:1;width:32px;height:32px}.editor-body{overflow:auto;padding:0 24px 24px}.editor-section{padding:25px 0;border-bottom:1px solid var(--line)}.editor-section:last-child{border:0}.editor-section h3{font-size:17px;margin:0 0 8px}.editor-section p,.help{font-size:12px;color:var(--muted);line-height:1.6}.section-head{display:flex;align-items:baseline;gap:12px}.gallery-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px;margin:18px 0}.gallery-image{border:1px solid var(--line);border-radius:4px;padding:7px;background:#fff;min-width:0}.gallery-image.is-cover{border-color:var(--green)}.gallery-image img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#eff2f0}.gallery-image small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);margin:5px 0}.gallery-controls{display:flex;flex-wrap:wrap;gap:3px}.gallery-add{display:flex;align-items:end;flex-wrap:wrap;gap:8px}.gallery-add label:not(.upload-button){display:grid;gap:5px;min-width:200px;font-size:12px}.upload-button{cursor:pointer}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.field-grid label{color:var(--muted)}.copy-tabs{margin:14px 0}.copy-field textarea{width:100%;min-height:260px;resize:vertical;padding:12px;border:1px solid #bac9c3;border-radius:4px;color:var(--ink);line-height:1.6;font-size:13px}.preview-actions{display:flex;justify-content:flex-end;margin-top:8px}#copyPreview{width:100%;height:380px;border:1px solid var(--line);margin-top:12px;background:#fff}.toast{position:fixed;right:24px;bottom:24px;padding:12px 18px;border-radius:5px;background:var(--ink);color:#fff;box-shadow:0 8px 25px #0003;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none;z-index:50;max-width:min(420px,calc(100vw - 32px));font-size:13px}.toast.show{opacity:1;transform:none}@media(max-width:700px){.topbar{align-items:start;flex-wrap:wrap}.top-actions{width:100%;justify-content:space-between}.save-status{margin-right:0}.workspace{padding-top:22px}.workspace-heading h1{font-size:22px}.stats>div{padding:14px 10px}.stats strong{font-size:22px}.filter-label,.search-label{flex:1 1 160px;min-width:0}.item-grid{grid-template-columns:1fr}.editor-head,.editor-foot{padding:15px}.editor-body{padding:0 15px 15px}.field-grid{grid-template-columns:1fr}.gallery-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:390px){.item-card{grid-template-columns:82px minmax(0,1fr)}.item-thumb{width:82px;height:105px}.stats span{font-size:11px}}
