.route-root{box-sizing:border-box;min-width:0;width:100%;font:14px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#283b35;background:#fffef9;padding:2px 0 10px;overflow-wrap:anywhere}
.route-root *{box-sizing:border-box}.route-root [hidden]{display:none!important}.route-root button,.route-root input,.route-root select,.route-root textarea{font:inherit;color:inherit;max-width:100%}.route-root button{min-height:44px;border:1px solid #ccd8cc;border-radius:10px;background:#f9faf5;padding:9px 12px;cursor:pointer;touch-action:manipulation}.route-root button:disabled{opacity:.45;cursor:not-allowed}.route-root button:focus-visible,.route-root input:focus-visible,.route-root select:focus-visible,.route-root textarea:focus-visible,.route-root summary:focus-visible{outline:3px solid #a5bf85;outline-offset:3px}.route-root input,.route-root select,.route-root textarea{min-height:44px;min-width:0;width:100%;border:1px solid #cdd6ca;border-radius:9px;padding:8px 10px;background:#fff;color:#293c33}.route-root input[type=radio]{width:20px;min-height:20px;flex:none;accent-color:#355b45}.route-root textarea{resize:vertical}.route-root label{display:grid;gap:6px;min-width:0;font-size:13px;font-weight:600}.route-root h2,.route-root h3,.route-root h4,.route-root p{margin:0}.route-root h2{font-size:21px;line-height:1.4;letter-spacing:-.5px}.route-root h3{font-size:17px;line-height:1.45}.route-root h4{font-size:20px;line-height:1.45}.route-root small{font-size:13px;line-height:1.55}.route-root strong{font-weight:650}
.route-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.route-kicker{display:block;font-size:13px;color:#7d7053;margin-bottom:6px}.route-icon-button{flex:none;width:44px;font-size:23px!important}.route-intro{font-size:13px;color:#66766a;margin:0 0 16px!important}.route-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.route-presets [aria-pressed=true]{background:#e7efe1;border-color:#87a57a;color:#254c36}.route-settings{display:grid;gap:12px}.route-field-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.route-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px;padding:17px;margin:18px 0 22px;background:#eff3e9;border-radius:14px}.route-summary span{display:block;font-size:13px;color:#6b7868}.route-summary strong{display:block;font-size:17px;line-height:1.5}.route-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:18px 0 12px}.route-section-title>span{font-size:13px;color:#7c8777;text-align:right}.route-nodes{display:grid;gap:9px}.route-node{border:1px solid #dfe5d8;border-radius:13px;padding:7px;background:#fcfdf8}.route-node-selected{border-color:#78976b;background:#f1f5e9}.route-node-select{display:flex;width:100%;align-items:center;gap:10px;text-align:left;border:0!important;background:transparent!important;padding:7px!important}.route-node-number{display:grid;place-items:center;width:30px;height:30px;background:#e5ebdc;border-radius:50%;font-size:13px;flex:none}.route-node-select strong,.route-node-select small{display:block}.route-node-select strong{font-size:15px}.route-node-select small{margin-top:3px;color:#73806e}.route-node-tools{display:flex;align-items:center;gap:6px;padding:3px 3px 0}.route-node-tools>span{flex:1;font-size:13px;color:#7a856f}.route-node-tools button{min-width:44px;padding:6px 10px}.route-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin:14px 0 20px}.route-add>button{white-space:nowrap}.route-edit-details{border:1px solid #dde3d5;border-radius:13px;padding:14px;background:#fffdf6}.route-edit-details summary{cursor:pointer;font-weight:650;min-height:44px;font-size:15px}.route-edit-details>p{font-size:13px;color:#6b7869;margin:10px 0 14px}.route-edit-details>label{margin-top:12px}.route-resources{padding:0;border:0;margin:16px 0 0;min-width:0}.route-resources legend{padding:0;margin-bottom:10px;font-size:13px;font-weight:650}.route-resource{display:flex!important;align-items:flex-start;gap:9px!important;border:1px solid #dfe5d7;border-radius:10px;padding:11px;margin-bottom:8px;cursor:pointer;font-weight:400!important}.route-resource:has(input:checked){border-color:#7d9e70;background:#edf4e5}.route-resource>span{min-width:0}.route-resource strong,.route-resource small{display:block}.route-resource small{color:#77816f;margin-top:4px}.route-resource input{margin:4px 0 0}.route-constraint{border-radius:12px;padding:14px;margin:16px 0;font-size:13px}.route-constraint-error{background:#fff0e5;border:1px solid #eac2a9;color:#754f36}.route-constraint-ok{background:#edf4e8;border:1px solid #d2e0ca;color:#49633e}.route-constraint ul{margin:8px 0 10px;padding-left:19px}.route-constraint li+li{margin-top:6px}.route-constraint p{margin-top:8px}.route-story-section{margin-top:24px}.route-story{overflow:hidden;border:1px solid #d9e0d2;border-radius:14px;background:#f9fbf3}.route-story-visual{padding:14px 14px 8px;background:linear-gradient(135deg,#e4eedd,#f5efdf)}.route-story-visual>span{font-size:13px;font-weight:650;color:#6d785c}.route-story-visual>small{display:block;font-size:13px;color:#7f8872}.route-path-map{display:block;width:100%;height:auto;max-height:180px;margin:2px auto 0}.route-path-map text{font-size:13px;fill:#68785f}.route-path-map line{stroke:#c9d6bf;stroke-width:1}.route-path-map polyline{fill:none;stroke:#9c875b;stroke-width:2;stroke-dasharray:4 4}.route-path-map circle{fill:#d4dfc6;stroke:#74906b;stroke-width:1.5}.route-path-map .route-map-current{fill:#426346}.route-path-map .route-map-number{text-anchor:middle;font-weight:650}.route-story-copy{padding:16px}.route-story-copy>span{font-size:13px;color:#8a7658}.route-story-copy h4{margin:7px 0 10px}.route-story-copy p{font-size:14px;color:#57674f;min-height:42px}.route-story-resource{font-size:13px;padding-top:14px;margin-top:13px;border-top:1px solid #e2e8d9}.route-story-resource small{display:block;color:#78866d;margin-top:5px}.route-story-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.route-scrub{margin-top:14px}.route-scrub input{accent-color:#477249;padding:0;border:0;background:transparent}.route-story-position{color:#6c7b62;font-size:13px;margin:3px 0 12px}.route-quest details{border:1px solid #e1e5d6;border-radius:12px;padding:12px}.route-quest summary{cursor:pointer;font-size:14px;min-height:44px}.route-quest p{margin:8px 0;font-size:13px;color:#6c7764}.route-quest small{display:block;margin-top:10px;color:#7f8974}.route-quest button{width:100%}.route-companion{display:flex;gap:12px;align-items:center;margin:14px 0}.route-companion>span{flex:none;width:56px;height:56px}.route-companion label{flex:1}.route-app{border-top:1px solid #dce3d4;padding-top:7px;margin-top:24px}.route-app>p{font-size:13px;color:#748069;margin-bottom:12px}.route-app>button{width:100%}.route-app-body{margin-top:12px}.route-scene-status{font-size:13px;color:#69785f;padding:10px 12px;background:#eff4e8;border-radius:9px 9px 0 0}.route-frame-host{position:relative;width:100%;height:340px;overflow:hidden;border-radius:0 0 12px 12px;background:#e6e8dc}.route-scene-frame{display:block;width:100%;height:100%;border:0}.route-scene-controls{display:grid;gap:8px;margin-top:10px}.route-walk{margin-top:12px;padding:12px;background:#f0f4e9;border-radius:12px}.route-walk p{font-size:13px;margin-bottom:10px;color:#6b785f}.route-walk-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.route-walk>button{width:100%;margin-top:8px}.route-notice{position:sticky;bottom:8px;background:#244a36;color:#fff;padding:12px 14px;border-radius:12px;margin-top:16px;font-size:13px;z-index:3;box-shadow:0 4px 18px #173d2925}.route-footer{display:grid;gap:10px;margin-top:24px;border-top:1px solid #dce3d4;padding-top:17px}.route-footer p{font-size:13px;color:#68785e}.route-footer small{color:#8a927e}.route-root .route-button-primary{background:#2f5c40;color:#fff;border-color:#2f5c40}.route-root .route-button-secondary{background:#f7f9f1;color:#47603f}.route-empty{font-size:14px;color:#78876d;padding:20px 12px;text-align:center}
@media(max-width:380px){.route-root h2{font-size:19px}.route-section-title{display:block}.route-section-title>span{display:block;text-align:left;margin-top:4px}.route-summary{padding:13px;gap:12px 8px}.route-summary strong{font-size:16px}.route-presets button{font-size:13px;padding:8px}.route-frame-host{height:300px}.route-node-tools>span{font-size:13px}.route-node-tools button{padding:6px 8px}.route-story-copy{padding:13px}}
