:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--theme-bg:#fffcf0;--theme-bg-secondary:#f2f0e5;--theme-surface:#fffcf0;--theme-surface-translucent:#fffcf0e6;--theme-surface-subtle:#fffcf0ad;--theme-ui:#e6e4d9;--theme-ui-hover:#dad8ce;--theme-ui-active:#cecdc3;--theme-text:#100f0f;--theme-text-muted:#6f6e69;--theme-text-faint:#b7b5ac;--theme-accent:#24837b;--theme-accent-solid:#1c6c66;--theme-accent-solid-hover:#164f4a;--theme-on-accent:#fffcf0;--theme-focus-ring:#24837b42;--theme-shadow:#100f0f17;--theme-shadow-soft:#100f0f0e;--theme-grid:#100f0f09;--theme-success:#66800b;--theme-success-bg:#edeecf;--theme-success-border:#cdd597;--theme-danger:#af3029;--theme-danger-strong:#942822;--theme-danger-bg:#ffe1d5;--theme-danger-border:#f89a8a;--theme-code-bg:#100f0f;--theme-code-text:#fffcf0;--theme-browser-color:#fffcf0;--map-branch-1:#24837b;--map-branch-1-fill:#1c6c66;--map-branch-2:#205ea6;--map-branch-2-fill:#1a4f8c;--map-branch-3:#5e409d;--map-branch-3-fill:#4f3685;--map-branch-4:#bc5215;--map-branch-4-fill:#9d4310;--map-branch-5:#66800b;--map-branch-5-fill:#536907;--map-branch-6:#a02f6f;--map-branch-6-fill:#87285e;--map-branch-on-fill:#fffcf0}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--theme-bg:#100f0f;--theme-bg-secondary:#1c1b1a;--theme-surface:#1c1b1a;--theme-surface-translucent:#1c1b1ae6;--theme-surface-subtle:#1c1b1ab8;--theme-ui:#282726;--theme-ui-hover:#343331;--theme-ui-active:#403e3c;--theme-text:#cecdc3;--theme-text-muted:#878580;--theme-text-faint:#575653;--theme-accent:#3aa99f;--theme-accent-solid:#5abdac;--theme-accent-solid-hover:#87d3c3;--theme-on-accent:#100f0f;--theme-focus-ring:#3aa99f52;--theme-shadow:#00000047;--theme-shadow-soft:#0003;--theme-grid:#cecdc30b;--theme-success:#879a39;--theme-success-bg:#1a1e0c;--theme-success-border:#3d4c07;--theme-danger:#d14d41;--theme-danger-strong:#e8705f;--theme-danger-bg:#261312;--theme-danger-border:#6c201c;--theme-code-bg:#100f0f;--theme-code-text:#cecdc3;--theme-browser-color:#100f0f;--map-branch-1:#3aa99f;--map-branch-1-fill:#5abdac;--map-branch-2:#4385be;--map-branch-2-fill:#66a0c8;--map-branch-3:#8b7ec8;--map-branch-3-fill:#a699d0;--map-branch-4:#da702c;--map-branch-4-fill:#ec8b49;--map-branch-5:#879a39;--map-branch-5-fill:#a0af54;--map-branch-6:#ce5d97;--map-branch-6-fill:#e47da8;--map-branch-on-fill:#100f0f}.theme-toggle{border:1px solid var(--theme-ui);background:var(--theme-surface);min-height:36px;color:var(--theme-text-muted);cursor:pointer;font:inherit;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:.76rem;font-weight:700;transition:background .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.theme-toggle:hover{border-color:var(--theme-ui-hover);background:var(--theme-bg-secondary);color:var(--theme-text)}.theme-toggle:active{transform:translateY(1px)}.theme-toggle:focus-visible{outline:3px solid var(--theme-focus-ring);outline-offset:2px}.theme-toggle-icon{text-align:center;width:1em;font-size:.95rem;line-height:1}:root{color:var(--theme-text);background:var(--theme-bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,sans-serif}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{background:radial-gradient(circle at 12% -10%, color-mix(in srgb, var(--theme-accent) 13%, transparent), transparent 28rem), radial-gradient(circle at 92% 4%, color-mix(in srgb, var(--map-branch-2) 9%, transparent), transparent 26rem), var(--theme-bg);min-height:100vh}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--theme-focus-ring);outline-offset:2px}.loading-screen,.fatal-error{min-height:100vh;color:var(--theme-text-muted);text-align:center;place-content:center;padding:32px;display:grid}.fatal-error h1{color:var(--theme-text);margin-bottom:8px}.admin-shell{min-height:100vh}.admin-header{z-index:20;border-bottom:1px solid var(--theme-ui);background:var(--theme-surface-translucent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;min-height:72px;padding:12px clamp(18px,4vw,52px);display:flex;position:sticky;top:0}.header-actions{align-items:center;gap:8px;display:flex}.brand-button{color:var(--theme-text);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.brand-button strong,.brand-button small{display:block}.brand-button strong{font-size:.92rem}.brand-button small{color:var(--theme-text-faint);letter-spacing:.14em;margin-top:2px;font-size:.62rem;font-weight:700}.brand-mark,.login-brand{background:var(--theme-accent-solid);color:var(--theme-on-accent);letter-spacing:-.04em;place-items:center;font-weight:800;display:grid}.brand-mark{border-radius:12px;width:38px;height:38px;font-size:.82rem}.admin-content{width:min(1280px,100%);margin:0 auto;padding:44px clamp(18px,4vw,52px) 64px}.page-heading,.editor-title-row{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.page-heading{margin-bottom:28px}.eyebrow{color:var(--theme-accent);letter-spacing:.14em;margin:0 0 7px;font-size:.68rem;font-weight:800}h1,h2,p{margin-top:0}h1{color:var(--theme-text);letter-spacing:-.04em;margin-bottom:8px;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.1}.page-heading p:last-child,.editor-title-row p:last-child,.share-panel p:last-child{color:var(--theme-text-muted);margin-bottom:0;font-size:.9rem}.primary-button,.secondary-button,.text-button,.back-button{cursor:pointer;border-radius:10px;font-weight:700;transition:background .15s,border-color .15s,color .15s,transform .15s}.primary-button,.secondary-button{border:1px solid #0000;min-height:40px;padding:9px 14px;font-size:.82rem}.primary-button{background:var(--theme-accent-solid);color:var(--theme-on-accent);box-shadow:0 8px 18px color-mix(in srgb, var(--theme-accent) 20%, transparent)}.primary-button:hover{background:var(--theme-accent-solid-hover)}.secondary-button{border-color:var(--theme-ui);background:var(--theme-surface);color:var(--theme-text-muted)}.secondary-button:hover{border-color:var(--theme-ui-hover);background:var(--theme-bg-secondary);color:var(--theme-text)}.primary-button:active,.secondary-button:active{transform:translateY(1px)}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.58}.text-button,.back-button{color:var(--theme-text-muted);background:0 0;border:0;padding:7px 8px;font-size:.8rem}.text-button:hover,.back-button:hover{color:var(--theme-text)}.full-width{width:100%}.danger-outline{border-color:var(--theme-danger-border);color:var(--theme-danger)}.danger-outline:hover{border-color:var(--theme-danger);background:var(--theme-danger-bg);color:var(--theme-danger-strong)}.danger-text{color:var(--theme-danger)}.project-list{gap:14px;display:grid}.project-card{border:1px solid var(--theme-ui);background:var(--theme-surface-translucent);box-shadow:0 12px 35px var(--theme-shadow-soft);border-radius:18px;justify-content:space-between;align-items:center;gap:24px;padding:22px;display:flex}.project-card-main{min-width:0}.project-title-row{align-items:center;gap:10px;display:flex}.project-title-row h2{text-overflow:ellipsis;white-space:nowrap;margin-bottom:0;font-size:1.05rem;overflow:hidden}.status-badge{border-radius:999px;flex:none;padding:4px 8px;font-size:.68rem;font-weight:800}.status-badge.is-published{background:var(--theme-success-bg);color:var(--theme-success)}.status-badge.is-draft{background:var(--theme-bg-secondary);color:var(--theme-text-muted)}.project-meta{gap:22px;margin:13px 0 0;display:flex}.project-meta div{gap:7px;font-size:.72rem;display:flex}.project-meta dt{color:var(--theme-text-faint)}.project-meta dd{color:var(--theme-text-muted);margin:0}.project-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.empty-state{border:1px dashed var(--theme-ui-active);background:var(--theme-surface-subtle);text-align:center;border-radius:20px;padding:68px 24px}.empty-state h2{margin-bottom:8px}.empty-state p{color:var(--theme-text-muted);margin-bottom:20px}.notice{border:1px solid var(--theme-success-border);background:var(--theme-success-bg);color:var(--theme-success);border-radius:10px;margin:-10px 0 18px;padding:11px 14px;font-size:.82rem}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid;position:relative}.login-theme-actions{position:absolute;top:20px;right:20px}.login-card{border:1px solid var(--theme-ui);background:var(--theme-surface-translucent);width:min(420px,100%);box-shadow:0 28px 80px var(--theme-shadow);border-radius:24px;padding:38px}.login-brand{border-radius:17px;width:54px;height:54px;margin-bottom:24px}.login-card h1{font-size:2rem}.login-description{color:var(--theme-text-muted);margin-bottom:24px;font-size:.88rem;line-height:1.6}label{color:var(--theme-text);margin-bottom:8px;font-size:.8rem;font-weight:700;display:block}label span{color:var(--theme-text-faint);margin-left:5px;font-size:.68rem;font-weight:600}input,textarea{border:1px solid var(--theme-ui-active);background:var(--theme-surface);width:100%;color:var(--theme-text);border-radius:11px;transition:border-color .15s,box-shadow .15s}input{min-height:44px;padding:10px 12px}input:focus,textarea:focus{border-color:var(--theme-accent);box-shadow:0 0 0 3px var(--theme-focus-ring)}.form-error{min-height:20px;color:var(--theme-danger);margin:7px 0 8px;font-size:.76rem}.editor-heading{margin-bottom:24px}.back-button{margin:-8px 0 18px -8px}.editor-card,.share-panel{border:1px solid var(--theme-ui);background:var(--theme-surface-translucent);box-shadow:0 14px 42px var(--theme-shadow-soft);border-radius:20px}.editor-card{padding:clamp(20px,3vw,32px)}.share-panel{grid-template-columns:minmax(220px,.7fr) minmax(420px,1.3fr);gap:28px;margin-bottom:18px;padding:22px;display:grid}.share-panel h2{margin-bottom:5px;font-size:1rem}.share-link-row{align-items:center;gap:8px;display:flex}.share-link-row input{min-width:0;color:var(--theme-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.share-link-row button{flex:none}.field-group+.field-group{margin-top:24px}.field-group small{color:var(--theme-text-muted);margin-top:7px;font-size:.73rem;line-height:1.5;display:block}.label-row{justify-content:space-between;align-items:center;display:flex}.label-row a{color:var(--theme-accent);font-size:.75rem;font-weight:700;text-decoration:none}textarea{resize:vertical;tab-size:2;min-height:430px;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.84rem;line-height:1.72}.format-guide{border:1px solid var(--theme-ui-active);background:var(--theme-bg-secondary);color:var(--theme-text-muted);border-radius:12px;margin-top:18px;padding:18px;font-size:.8rem;position:relative}.format-guide pre{background:var(--theme-code-bg);color:var(--theme-code-text);border-radius:8px;margin:12px 0;padding:12px;line-height:1.55;overflow-x:auto}.format-guide p{margin-bottom:0}.close-guide{color:var(--theme-text-muted);cursor:pointer;background:0 0;border:0;font-size:1.2rem;position:absolute;top:9px;right:10px}.validation-result{border:1px solid;border-radius:12px;margin-top:20px;padding:16px;font-size:.8rem}.validation-result.is-valid{border-color:var(--theme-success-border);background:var(--theme-success-bg);color:var(--theme-success)}.validation-result.is-invalid{border-color:var(--theme-danger-border);background:var(--theme-danger-bg);color:var(--theme-danger-strong)}.validation-result p{margin:6px 0}.validation-result ol{margin:10px 0 0;padding-left:22px}.validation-result li+li{margin-top:7px}.validation-result li span{opacity:.7;margin-bottom:2px;font-size:.7rem;display:block}.count-list{flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.count-list li{background:var(--theme-surface-subtle);border-radius:7px;padding:5px 8px}.editor-message{min-height:20px;color:var(--theme-accent);margin:14px 0 0;font-size:.8rem;font-weight:700}.editor-actions{border-top:1px solid var(--theme-ui);justify-content:flex-end;gap:9px;margin-top:12px;padding-top:20px;display:flex}@media (width<=900px){.project-card,.share-panel{display:block}.project-actions{justify-content:flex-start;margin-top:18px}.share-link-row{flex-wrap:wrap;margin-top:18px}.share-link-row input{flex:1 0 100%}}@media (width<=620px){.admin-header{min-height:64px}.admin-content{padding-top:30px}.admin-header .theme-toggle-label{display:none}.page-heading,.editor-title-row{display:block}.page-heading .primary-button,.editor-title-row .status-badge{margin-top:16px}.project-meta{display:block}.project-meta div+div{margin-top:6px}.project-actions button{flex:auto}.editor-actions{display:grid}.login-card{padding:28px 22px}}
