:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:#1c130c;color:#2b2118}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button,.file-button{border:0;border-radius:10px;background:#ead8be;color:#2a1a0f;padding:9px 12px;cursor:pointer;transition:transform .15s ease,background .15s ease}button:hover,.file-button:hover{background:#f4e4cb;transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}button.primary{background:#a65f24;color:#fff}button.danger{background:#7e2e20;color:#fff}button.secondary,button.ghost{background:#fff7ea}.app-shell{display:grid;grid-template-columns:minmax(520px,680px) 1fr;gap:18px;min-height:100vh;padding:22px;background:radial-gradient(circle at 15% 10%,rgba(232,164,68,.25),transparent 32%),linear-gradient(135deg,#25170f,#5c3218 45%,#120d08)}.editor-panel{height:calc(100vh - 44px);overflow:auto;padding-right:4px}.editor-card-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch;margin-bottom:18px}.editor-card-row>.card{display:flex;flex-direction:column;margin-bottom:0}.preview-panel{min-width:0;color:#f7ecdc}.preview-toolbar{min-height:112px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.preview-toolbar h1{margin:0 0 6px;font-size:28px}.preview-toolbar p{margin:0;color:#e9d4b4}.card{background:#fff8ecf5;border:1px solid rgba(255,255,255,.35);border-radius:16px;padding:16px;margin-bottom:18px;box-shadow:0 18px 45px #0000002e}.card h2{margin:0 0 13px;font-size:17px;color:#5b3218}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-editor{border-width:2px;padding-top:0;overflow:hidden}.section-editor-header{margin:0 -16px 14px;padding:12px 16px;color:#fffaf0}.section-editor-header strong{color:#fffaf0;font-size:17px}.section-editor-header button{background:#fff8eceb;color:#2a1a0f}.section-editor-header button.danger{background:#ffeee0f5;color:#6d1d13}.row-actions,.button-grid{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.button-grid{margin:10px 0}.stack{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:1fr;gap:12px}.form-grid.compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}label{display:grid;gap:6px;font-weight:700;color:#5c3b20}label.inline{display:flex;align-items:center;gap:8px}input,textarea,select{width:100%;border:1px solid #d7bd99;border-radius:9px;background:#fffdf8;color:#27190f;padding:8px 10px}textarea{min-height:58px;resize:vertical}input[type=color]{min-height:43px;padding:4px}input[type=file],.file-button input{display:none}.file-button{display:inline-flex;align-items:center;justify-content:center;font-weight:700}.trip-card{background:#fffaf0;box-shadow:none;border:1px solid #e7d0aa}.trip-edit-table-wrap{width:100%;overflow-x:auto;margin-bottom:10px;border:1px solid #e2c69d;border-radius:14px;background:#fffaf0}.trip-edit-table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:13px}.trip-edit-table th,.trip-edit-table td{border-right:1px solid #ead4b2;border-bottom:1px solid #ead4b2;padding:5px;vertical-align:top}.trip-edit-table th{position:sticky;top:0;z-index:1;background:#f0dfc4;color:#5c351c;font-size:13px;line-height:1.2;text-align:left;white-space:nowrap}.trip-edit-table tr:last-child td{border-bottom:0}.trip-edit-table th:last-child,.trip-edit-table td:last-child{border-right:0}.trip-edit-table th:nth-child(1),.trip-edit-table td:nth-child(1){width:138px}.trip-edit-table th:nth-child(2),.trip-edit-table td:nth-child(2){width:100px}.trip-edit-table th:nth-child(3),.trip-edit-table td:nth-child(3){width:190px}.trip-edit-table th:nth-child(4),.trip-edit-table td:nth-child(4){width:150px}.trip-edit-table th:nth-child(5),.trip-edit-table td:nth-child(5){width:145px}.trip-edit-table th:nth-child(6),.trip-edit-table td:nth-child(6){width:76px}.trip-edit-table th:nth-child(7),.trip-edit-table td:nth-child(7){width:105px}.trip-edit-table th:nth-child(8),.trip-edit-table td:nth-child(8){width:88px}.trip-edit-table input,.trip-edit-table textarea{min-height:34px;padding:5px 6px;border-radius:7px;font-size:13px;line-height:1.25}.trip-edit-table textarea{height:48px}.trip-edit-actions{background:#fff5e5}.trip-edit-actions strong{display:block;margin-bottom:5px;color:#3f2817;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-actions{gap:4px}.compact-actions button{padding:5px 7px;font-size:12px}.trip-collapsed-cell{color:#7a5537;font-weight:800;line-height:40px}.service-edit{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;padding:10px;background:#fffaf0;border-radius:12px}.save-state,.privacy{color:#775337;font-size:13px;line-height:1.55}.overflow-warning{max-width:480px;border-radius:16px;background:#ffe2ad;color:#4a2b10;padding:12px;display:grid;gap:8px;font-weight:800}.toast{position:fixed;right:24px;bottom:24px;z-index:20;background:#162113;color:#fff8ea;border-radius:999px;padding:12px 18px;box-shadow:0 18px 50px #00000057}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:grid;place-items:center;z-index:30}.dialog{max-width:420px;background:#fff8ec;color:#2b2118;border-radius:18px;padding:20px}@media (max-width: 980px){.app-shell{grid-template-columns:1fr;padding:14px}.editor-panel{height:auto;overflow:visible}.editor-card-row{grid-template-columns:1fr}.preview-toolbar{display:grid}.service-edit{grid-template-columns:1fr}}.poster-frame{position:sticky;top:18px;overflow:hidden;border-radius:14px;box-shadow:0 24px 80px #0000005c;background:var(--poster-paper)}.poster-canvas{--poster-paper: #f3eadb;--poster-brown: #2b1a0e;position:relative;width:2048px;height:2560px;overflow:hidden;transform-origin:top left;background:var(--poster-paper);color:var(--poster-brown);font-family:Avenir Next,Helvetica Neue,PingFang SC,Hiragino Sans GB,Source Han Sans SC,Noto Sans CJK SC,Arial,sans-serif}.poster-hero{position:relative;height:840px;overflow:hidden;background-color:var(--poster-paper)}.poster-hero-image{position:absolute;inset:0 0 auto;width:100%;height:800px;object-fit:cover;object-position:center top;display:block}.poster-hero-fallback{background:radial-gradient(circle at 17% 56%,rgba(246,168,54,.72),transparent 20%),linear-gradient(112deg,#df9b4b,#9d6b39 46%,#314967)}.poster-hero-vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(180deg,#ffffff08,#fff0 50%,#f5eddf0f),linear-gradient(90deg,#0000001f,#0000 30%,#0000001a);pointer-events:none}.poster-hero-fade{position:absolute;left:0;right:0;bottom:0;height:48%;z-index:2;background:linear-gradient(to bottom,rgba(245,237,223,0) 0%,rgba(245,237,223,.04) 15%,rgba(245,237,223,.12) 30%,rgba(245,237,223,.28) 48%,rgba(245,237,223,.52) 66%,rgba(245,237,223,.78) 82%,rgba(245,237,223,.94) 94%,var(--poster-paper) 100%);pointer-events:none}.poster-hero-title{position:absolute;left:0;right:0;bottom:30px;z-index:3;text-align:center;color:#26170f;background:transparent}.poster-content{position:relative;z-index:2;height:calc(100% - 840px);padding:0 56px;display:grid;grid-template-rows:minmax(0,1fr) 235px;gap:0}.poster-title{display:grid;align-content:center;justify-items:center;padding-top:8px;color:#2a1709;text-align:center;background:transparent}.poster-title h1{margin:0;display:inline-block;max-width:92%;font-size:var(--title-font-size);line-height:1.04;font-family:Source Han Sans SC,Noto Sans SC,思源黑体,Microsoft YaHei,sans-serif;font-weight:700;letter-spacing:-1px;transform:scaleX(.95) scaleY(1.03);transform-origin:center;white-space:nowrap}.poster-subtitle{display:grid;grid-template-columns:150px auto 150px;align-items:center;gap:24px;margin-top:18px}.poster-subtitle span{height:3px;background:#3d2b1e;opacity:.76}.poster-subtitle p{margin:0;font-size:var(--subtitle-font-size);line-height:1;font-family:Avenir Next,Helvetica Neue,PingFang SC,Hiragino Sans GB,Arial,sans-serif;font-weight:600;color:#24170e;letter-spacing:.2px}.table-area{overflow:visible;display:grid;align-content:start;gap:var(--section-gap);padding-bottom:18px}.poster-section{display:grid;gap:0;border-radius:21px;overflow:hidden;border:2px solid rgba(93,62,36,.18);background:#f7f0e3}.section-title{color:#fffaf0;min-height:88px;padding:13px 31px;display:flex;align-items:center;gap:22px}.section-icon{width:64px;height:64px;object-fit:contain;flex:0 0 auto}.section-title span{font-size:48px;line-height:1;font-weight:800;letter-spacing:1px}.section-title small{font-size:36px;line-height:1;font-weight:600;opacity:.96}.trip-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--table-font-size);background:#f7f0e3}.trip-table th{background:#eadabb;color:#1e160f;padding:17px 12px;border:2px solid rgba(93,62,36,.22);font-size:var(--table-head-font-size);line-height:1.08;font-weight:800;text-align:center;white-space:nowrap}.trip-table td{border:2px solid rgba(93,62,36,.22);padding:var(--cell-padding-y) 14px;vertical-align:middle;text-align:center;line-height:var(--row-line-height);font-weight:500;color:#18120d}.trip-table th:nth-child(1){width:11%}.trip-table th:nth-child(2){width:20%}.trip-table th:nth-child(3){width:22%}.trip-table th:nth-child(4){width:15%}.trip-table th:nth-child(5){width:11%}.trip-table th:nth-child(6){width:13%}.trip-table th:nth-child(7){width:8%}.cell-text{display:block;width:100%;text-align:center;white-space:pre-line;overflow-wrap:anywhere;word-break:break-word}.cell-text.strong{font-weight:800;color:#0f0d0b}.service-bar{align-self:stretch;margin:0 -56px;background:#151a1c;color:#f7f0e3;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;padding:33px 78px 37px;gap:38px;border-top:3px solid rgba(255,255,255,.08)}.service-item{display:grid;grid-template-columns:78px 1fr;align-items:center;gap:21px;min-width:0}.service-icon{width:76px;height:76px;object-fit:contain}.service-item strong,.service-item span{display:block}.service-item strong{font-size:39px;line-height:1.08;font-weight:800;color:#fff5de}.service-item span{margin-top:10px;font-size:25px;line-height:1.15;color:#f1eee8;font-weight:500}@media (max-width: 980px){.poster-frame{position:static;margin:0 auto}}
