*{box-sizing:border-box}html,body{margin:0;min-width:0;min-height:100%;overflow-x:hidden;background:#f2f2f2;color:#111;color-scheme:light;forced-color-adjust:none;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}body{padding:0}:root{--desktop-content-max: 1440px;--desktop-main-max: 971px;--desktop-grid-gap: 20px;--paper-border: #d8d8d8;--paper-panel-radius: 8px;--paper-shadow: 0 1px 2px rgba(0, 0, 0, .04)}button,input,textarea{appearance:none;-webkit-appearance:none;color-scheme:light;font:inherit}button{cursor:pointer}input,textarea,button{max-width:100%;forced-color-adjust:none}.app-shell{display:flex;flex-direction:column;width:100%;max-width:none;min-height:100vh;min-height:100dvh;margin:0;background:#fff;color-scheme:light;forced-color-adjust:none}.app-header{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:16px;padding:calc(24px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-left)) 16px max(16px,env(safe-area-inset-right));background:#fff}.header-copy{display:grid;gap:16px;min-width:0}.app-header h1{margin:0;font-size:28px;line-height:1.15}.back-icon-button{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #c8c8c8;border-radius:50%;background:#fff;color:#111;font-size:32px;font-weight:700;line-height:1;opacity:0;pointer-events:none}.back-icon-button.is-visible{opacity:1;pointer-events:auto}.back-icon-button:disabled,.back-icon-button[aria-disabled=true]{opacity:.35;cursor:not-allowed;pointer-events:none}.progress-segments{display:flex;gap:8px;width:min(100%,240px)}.progress-segments span{flex:1 1 0;height:8px;border-radius:999px;background:#dedede}.progress-segments span.is-active{background:var(--craft-olive, #7e8d62)}.app-shell[data-screen=purpose] .progress-segments{display:none}.app-shell[data-screen=purpose] .app-header{align-items:center}.app-main{flex:1 1 auto;display:flex;flex-direction:column;min-width:0}.screen{display:none;width:100%;min-width:0;padding:24px max(16px,env(safe-area-inset-left)) 144px max(16px,env(safe-area-inset-right))}.screen.is-active{display:block}#screen-purpose,#screen-home{min-height:calc(100vh - 80px);padding-bottom:48px}#screen-purpose{padding-top:120px}#screen-home{padding-top:24px}.app-shell[data-screen=purpose] .app-header,.app-shell[data-screen=home] .app-header,.app-shell[data-screen=route] .app-header,.app-shell[data-screen=template] .app-header,.app-shell[data-screen=templateEdit] .app-header,.app-shell[data-screen=preview] .app-header{position:relative;grid-template-columns:48px minmax(0,1fr);gap:20px;padding:calc(40px + env(safe-area-inset-top)) max(28px,env(safe-area-inset-left)) 32px max(28px,env(safe-area-inset-right))}.app-shell[data-screen=purpose] .back-icon-button,.app-shell[data-screen=home] .back-icon-button,.app-shell[data-screen=route] .back-icon-button,.app-shell[data-screen=template] .back-icon-button,.app-shell[data-screen=templateEdit] .back-icon-button,.app-shell[data-screen=preview] .back-icon-button{margin-top:8px}.app-shell[data-screen=purpose] .app-header h1,.app-shell[data-screen=home] .app-header h1,.app-shell[data-screen=route] .app-header h1,.app-shell[data-screen=template] .app-header h1,.app-shell[data-screen=templateEdit] .app-header h1,.app-shell[data-screen=preview] .app-header h1{font-size:30px;line-height:1.18}.app-shell[data-screen=purpose] .header-copy,.app-shell[data-screen=home] .header-copy,.app-shell[data-screen=route] .header-copy,.app-shell[data-screen=template] .header-copy,.app-shell[data-screen=templateEdit] .header-copy,.app-shell[data-screen=preview] .header-copy{gap:8px}.app-shell[data-screen=purpose] .progress-segments,.app-shell[data-screen=home] .progress-segments,.app-shell[data-screen=route] .progress-segments,.app-shell[data-screen=template] .progress-segments,.app-shell[data-screen=templateEdit] .progress-segments,.app-shell[data-screen=preview] .progress-segments{gap:4px;width:256px}.app-shell[data-screen=purpose] .progress-segments span,.app-shell[data-screen=home] .progress-segments span,.app-shell[data-screen=route] .progress-segments span,.app-shell[data-screen=template] .progress-segments span,.app-shell[data-screen=templateEdit] .progress-segments span,.app-shell[data-screen=preview] .progress-segments span{height:16px;border-radius:16px}.purpose-title,.home-title{margin:0 0 32px;font-size:32px;line-height:1.2}.purpose-title,.purpose-card-list,.home-title,.home-input-block,.home-action-row{width:100%}.purpose-card-list{display:grid;gap:24px}.purpose-card{display:grid;grid-template-columns:minmax(0,1fr) 80px;align-items:center;gap:16px;width:100%;min-height:136px;padding:24px 16px;border:1px solid #c8c8c8;border-radius:8px;background:#fff;color:#111;text-align:left}.purpose-card.is-selected{border-color:#111;background:#f2f2f2}.purpose-card.is-disabled{cursor:not-allowed;opacity:.5}.purpose-status{min-height:20px;margin-top:12px}.purpose-card span{display:grid;gap:8px;min-width:0}.purpose-card b{font-size:30px;font-weight:800;line-height:1.18}.purpose-card small{color:#5f5f5f;font-size:15px;font-weight:700;line-height:1.18}.purpose-card i{display:block;width:100%;height:80px;background:#e6e6e6}.home-input-block{display:grid;gap:16px}.home-action-row{display:flex;justify-content:flex-end;margin-top:48px}.home-action-row .primary-button{flex:0 1 168px;box-shadow:var(--paper-shadow)}.home-input-block span{color:#333;font-size:16px;font-weight:700;line-height:1.5}textarea,input{width:100%;min-width:0;border:1px solid #c8c8c8;border-radius:16px;background:#f1f1f1;color:#111}textarea{min-height:456px;padding:24px;resize:vertical;line-height:1.5}#sourceText{border-color:#111;border-radius:24px;background:#fff;font-size:15px}#sourceText::placeholder{color:#666;opacity:1}input{padding:0;border:0;background:transparent}.route-hero{display:grid;gap:16px;margin-bottom:24px}.route-hero h2{margin:0;font-size:32px;line-height:1.15}.metadata-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid #c8c8c8;border-radius:16px;background:#f1f1f1}.metadata-chips span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:8px;border-right:1px solid #c8c8c8;font-size:14px;font-weight:700}.metadata-chips span:last-child{border-right:0}#screen-route{padding:16px max(28px,env(safe-area-inset-left)) 160px max(28px,env(safe-area-inset-right))}#screen-route .route-hero{gap:20px;margin-bottom:24px}#screen-route .route-hero h2{font-size:30px;line-height:1.18}.trip-title-input{width:100%;border:0;border-radius:0;background:transparent;color:#111;font:inherit;line-height:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}#screen-route .metadata-chips{border:0;border-radius:8px;background:#efefef}#screen-route .metadata-chips span{min-height:48px;border-right:2px solid #fff;color:#504f4f;font-size:15px;font-weight:700}#screen-route .metadata-chips span:last-child{border-right:0}#screen-route.is-editing .metadata-chips input{width:100%;color:#504f4f;font:inherit;text-align:center;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.route-list{display:grid;gap:8px}.route-row{position:relative;display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;min-height:64px;min-width:0}.time-block{position:relative;display:flex;align-items:center;justify-content:center;min-height:64px;padding:8px;border:1px solid #111;border-radius:8px;background:#fff;color:#111;font-size:20px;font-weight:800}.time-block:after{display:none}.route-row:nth-of-type(n+4) .time-block{background:#e4e4e4;color:#474747}.route-row.has-empty-time .time-block{border-color:transparent;background:transparent}.route-list.is-editing .route-row.has-empty-time .time-block{border-color:transparent;border-style:dashed;background:transparent}.route-list.is-editing .route-row.is-selected.has-empty-time .time-block,.route-list.is-editing .route-row.is-filling-empty-time .time-block{border-color:#111;border-style:solid;background:#fff}.time-block input{position:relative;z-index:3;color:#666;font-size:20px;font-weight:800;text-align:center;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.route-block{position:relative;display:grid;align-content:center;gap:4px;min-width:0;min-height:64px;padding:16px;border:1px solid #111;border-radius:8px;background:#fff}.route-list.is-editing .route-block{cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,opacity .16s ease,transform .16s ease}.route-list.is-editing .route-block.is-selected{border-color:#111;background:#f4f4f4;cursor:default}.route-list.is-editing .route-row.has-empty-route .route-block{border-color:transparent;border-style:dashed;background:transparent;cursor:default}.route-list.is-editing .route-row.has-empty-route.is-selected .route-block,.route-list.is-editing .route-row.has-empty-route .route-block.is-filling-empty-route{place-items:stretch;border-color:#111;border-style:solid;background:#f4f4f4}.route-list.is-editing .route-block:active{cursor:pointer}.route-list.is-editing .route-block.is-dragging{opacity:.55;transform:scale(.98);box-shadow:0 6px 12px #0000001f}.route-list.is-editing .route-block.is-drop-target{outline:2px dashed #777;outline-offset:4px;background:#ededed}.route-list.is-editing .route-row.is-drop-target-row:after{content:"移动到这里";position:absolute;right:16px;bottom:-20px;color:#777;font-size:16px;font-weight:700}.route-block strong{display:block;min-width:0;font-size:16px;line-height:1.35;overflow-wrap:anywhere}.route-block p{margin:0;color:#8e8e8e;font-size:16px;line-height:1.35;overflow-wrap:anywhere}.route-title-input{font-size:16px;font-weight:800;line-height:1.35;cursor:text}.route-block textarea{min-height:24px;padding:0;border:0;border-radius:0;background:transparent;color:#8e8e8e;font-size:16px;line-height:1.35;resize:vertical;cursor:text}.route-item-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}.route-item-controls button{min-width:0;min-height:40px;padding:0 6px;border:1px solid #d0d0d0;border-radius:8px;background:#fff;color:#555;font-size:13px;font-weight:800;line-height:1}.route-item-controls button:disabled{color:#b8b8b8;cursor:not-allowed;opacity:.55}.route-list.is-editing .route-block{padding-right:16px}.route-list.is-editing .route-title-input{font-size:16px}.route-detail-panel,.route-card-preview{display:none}.route-sheet-backdrop{position:fixed;inset:0;z-index:35;display:flex;align-items:flex-end;padding:16px max(16px,env(safe-area-inset-left)) calc(16px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-right));background:#00000052}.route-bottom-sheet{display:grid;gap:14px;width:100%;max-height:min(78vh,560px);overflow:auto;padding:18px;border:1px solid #d8d8d8;border-radius:12px 12px 8px 8px;background:#fff;box-shadow:0 -8px 20px #00000024}.route-bottom-sheet label{display:grid;gap:6px}.route-bottom-sheet label span{color:#777;font-size:12px;font-weight:700}.route-bottom-sheet input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #d8d8d8;border-radius:8px;background:#f4f4f4;color:#111}.route-bottom-sheet .route-detail-actions{display:flex;gap:8px}.route-bottom-sheet .route-detail-actions button{min-height:44px;font-size:16px}.template-stack{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));align-self:stretch;gap:24px;width:100%;min-height:100%;margin-right:auto;margin-left:auto}.template-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(64px,84px);align-items:center;gap:16px;width:100%;min-height:0;padding:24px 16px 24px 24px;border:1px solid #c8c8c8;border-radius:8px;background:#fff;color:#111;text-align:left}#screen-template.is-active{display:grid;grid-template-rows:minmax(0,1fr) auto;flex:1 1 auto;padding-bottom:24px}.template-card span{display:grid;gap:8px;min-width:0}.template-card b{font-size:16px;line-height:1.18}.template-card small{color:#b8b8b8;font-size:16px;font-weight:700;line-height:1.18;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.template-card i{display:block;width:100%;max-width:84px;height:64px;border-radius:0;background:#e6e6e6}.template-card.is-selected{border-color:#111;border-width:1px;background:#f2f2f2}.template-card.is-disabled{cursor:not-allowed;opacity:.5}.template-status{min-height:20px;margin-top:12px}#screen-template-edit{display:none;padding-top:8px;padding-bottom:184px}#screen-template-edit.is-active{display:grid;gap:24px}.template-mode-switcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;overflow:hidden}.template-mode-switcher button{min-width:0;min-height:48px;padding:0 8px;border:1px solid #111;border-radius:24px;background:#fff;color:#111;font-size:16px;font-weight:700;line-height:1.18;white-space:nowrap}.template-mode-switcher button.is-selected{background:#dedede}.template-mode-switcher button.is-disabled{cursor:not-allowed;opacity:.5}.template-edit-preview{display:flex;justify-content:center;width:100%;min-width:0}.template-edit-card-stage{padding-top:56px}.template-edit-preview .sticky-route-card{max-width:min(354px,calc(100vw - 48px))}.template-edit-preview .preview-card{min-height:488px;border:1px solid #111;border-radius:8px;background:#f3f3f3}.timeline-size-switcher{display:grid;grid-template-columns:47px minmax(0,1fr) 47px;align-items:center;gap:12px;width:100%;max-width:346px;margin:0 auto -8px}.timeline-size-switcher button{display:grid;place-items:center;width:47px;min-width:47px;min-height:47px;border:1px solid #111;border-radius:50%;background:#fff;color:#111;font-size:22px;font-weight:800;line-height:1}.timeline-size-switcher span{display:grid;gap:2px;min-width:0;text-align:center}.timeline-size-switcher b{font-size:16px;font-weight:700;line-height:1.2}.timeline-size-switcher small{color:#555;font-size:12px;font-weight:700;line-height:1.2}.template-edit-title,.template-edit-route,.template-edit-meta{width:100%;padding:0;border:0;border-radius:0;background:transparent;color:#111;outline:0;resize:none}.template-edit-title{font-size:24px;font-weight:800;line-height:1.2}.template-edit-route,.template-edit-meta{min-height:0;font-size:16px;font-weight:700;line-height:1.8}.template-field-panel{display:grid;gap:8px;width:100%;padding:16px 32px;border:1px solid #111;border-radius:8px;background:#fff}.template-toggle-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:16px;min-height:24px;color:#111}.template-toggle-row span{min-width:0;font-size:20px;font-weight:700;line-height:1.18}.template-toggle-row input{position:absolute;opacity:0;pointer-events:none}.template-toggle-row i{position:relative;display:block;width:44px;height:20px;border:1px solid #111;border-radius:999px;background:#fff}.template-toggle-row i:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--craft-kraft, #c99a5d);transition:transform .12s ease}.template-toggle-row input:checked+i{background:#d9d9d9}.template-toggle-row input:checked+i:after{transform:translate(24px)}#screen-preview{padding-top:64px}#templatePreview{display:flex;justify-content:center;width:100%}.preview-card{display:grid;gap:16px;width:100%;min-height:520px;padding:24px;border-radius:16px;background:#d8d8d8}.preview-card p,.preview-card h2{margin:0}.preview-card p{color:#444;font-size:14px;font-weight:800}.preview-card h2{font-size:24px;line-height:1.2}.preview-route{display:grid}.preview-route div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid #b8b8b8}.preview-route div:last-child{border-bottom:0}.preview-route span{color:#555;font-weight:800}.preview-route strong{min-width:0;overflow-wrap:anywhere}.preview-route p,.preview-route small{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.preview-route p{color:#111;font-size:16px;font-weight:700;line-height:1.8}.preview-route small{color:#555;font-size:16px;font-weight:700;line-height:1.8}.timeline-sticker-stage{display:flex;justify-content:center;width:100%}.timeline-sticker{display:flex;flex-direction:column;width:min(322px,calc(100vw - 68px));aspect-ratio:var(--timeline-ratio);padding:24px 34px 24px 24px;border:1px solid #111;background:#bbb;color:#000;color-scheme:light;forced-color-adjust:none;overflow:hidden;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}.timeline-size-standard .timeline-sticker{width:min(236px,calc(100vw - 116px));padding-right:26px}.timeline-sticker h2,.timeline-title-field{width:100%;min-height:0;margin:0;padding:0;border:0;background:transparent;color:#000;font-family:inherit;font-size:20px;font-weight:700;line-height:1.83;outline:0}.timeline-divider{width:100%;height:1px;margin:0 0 8px;background:var(--paper-ink, #2d2d2d);flex:0 0 auto}.timeline-body{min-height:0;flex:1 1 auto;overflow:hidden}.timeline-list{display:grid;align-content:start;gap:0;height:100%;margin:0;padding:0;list-style:none}.timeline-list li{position:relative;display:grid;align-items:start;grid-template-columns:21px minmax(0,1fr);min-height:29px;color:var(--paper-ink, #2d2d2d);font-size:16px;font-weight:700;line-height:1.83}.timeline-list li:before{content:"";position:absolute;top:12px;bottom:-17px;left:6px;width:1px;background:var(--paper-ink, #2d2d2d)}.timeline-list li:last-child:before{bottom:12px}.timeline-list i{position:relative;z-index:1;display:block;width:12px;height:12px;margin-top:8px;border:1px solid var(--paper-ink, #2d2d2d);border-radius:50%;background:var(--paper-ink, #2d2d2d)}.timeline-list .is-continuation i{background:transparent;border-color:transparent}.timeline-list span{display:block;min-width:0;line-height:1.83;overflow-wrap:anywhere}.timeline-list .is-continuation span,.timeline-list .is-continuation .timeline-line-field{padding-left:28px}.timeline-list-editable{height:auto}.timeline-line-field,.timeline-meta-field{width:100%;min-width:0;min-height:0;padding:0;border:0;background:transparent;color:#000;font-family:inherit;font-size:16px;font-weight:700;line-height:1.83;outline:0}.timeline-size-standard .timeline-list li,.timeline-size-standard .timeline-line-field,.timeline-size-standard .timeline-meta,.timeline-size-standard .timeline-meta-field{font-size:14px}.timeline-size-standard .timeline-list li{grid-template-columns:18px minmax(0,1fr);min-height:26px}.timeline-size-standard .timeline-list li:before{left:5px}.timeline-size-standard .timeline-list i{width:10px;height:10px}.timeline-meta,.timeline-meta-field{flex:0 0 auto;margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.timeline-meta-field{resize:none}.small-card-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;padding-top:57px}.sticky-route-card{position:relative;width:354px;max-width:calc(100vw - 48px);background:#dadada;color:#000;color-scheme:light;forced-color-adjust:none;padding:32px 24px;border-radius:0;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif;box-shadow:none}.sticky-route-card:before{content:"";position:absolute;top:-55px;left:0;width:255px;height:57px;background:#dadada;clip-path:polygon(10px 0,245px 0,255px 57px,0 57px)}.small-card-field{position:relative;z-index:1;display:block;width:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:#000;color-scheme:light;forced-color-adjust:none;font-family:inherit;field-sizing:content;min-width:0;outline:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;resize:none}.small-card-text{position:relative;z-index:1;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.small-card-field:focus{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.small-card-title{margin:0;height:auto;font-size:20px;font-weight:700;line-height:1.8}.small-card-route{min-height:0;margin:40px 0;font-size:16px;font-weight:700;line-height:1.83;text-align:justify}.small-card-meta{min-height:0;margin-top:16px;font-size:16px;font-weight:700;line-height:1.83}.small-card-divider{position:relative;z-index:1;width:100%;height:1px;background:var(--paper-ink, #2d2d2d)}.status-message{min-height:24px;margin:16px 0 0;color:#333;font-size:14px;text-align:center}.app-bottom-bar{position:fixed;right:0;bottom:0;left:0;z-index:20;width:100%;padding:16px max(16px,env(safe-area-inset-left)) calc(16px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-right));background:transparent;pointer-events:none}.app-shell[data-screen=purpose] .app-bottom-bar,.app-shell[data-screen=home] .app-bottom-bar,.app-shell[data-screen=template] .app-bottom-bar{display:none}.app-shell[data-screen=route] .app-bottom-bar{padding:16px max(32px,env(safe-area-inset-left)) calc(32px + env(safe-area-inset-bottom)) max(32px,env(safe-area-inset-right))}.button-row{display:none;gap:8px;pointer-events:auto}.button-row.is-active{display:flex}.button-row.two-up button{flex:1 1 0}.button-row.one-up{justify-content:center}.button-row.one-up button{flex:0 1 168px;min-height:48px;font-size:20px;box-shadow:var(--paper-shadow)}.button-row[data-actions-for=route]{gap:8px}.button-row[data-actions-for=route] button{min-height:48px;font-size:20px;box-shadow:var(--paper-shadow)}.modal-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:24px;background:#fffc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.route-workbench.is-generating-route{filter:blur(3px);opacity:.48;pointer-events:none;-webkit-user-select:none;user-select:none}.generation-modal-backdrop{z-index:45;background:#ffffffad}.generation-modal{display:grid;justify-items:center;align-content:center;gap:16px;width:min(100%,312px);min-height:184px;padding:36px 24px;background:#d9d9d9;color:#111;text-align:center}.generation-modal p{margin:0;font-size:20px;font-weight:700;line-height:1.25}.generation-stage-list{display:grid;gap:10px;width:100%}.generation-stage{display:grid;gap:6px;color:#555;font-size:12px;font-weight:700;line-height:1.2;text-align:left}.generation-stage span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generation-stage i{position:relative;display:block;height:6px;overflow:hidden;border-radius:999px;background:#efefef}.generation-stage i:before{position:absolute;inset:0;width:0;border-radius:inherit;background:var(--craft-olive, #7e8d62);content:"";transition:width .28s ease}.generation-stage.is-complete i:before{width:100%}.generation-stage.is-active{color:#111}.generation-stage.is-active i:before{width:62%;animation:generation-stage-pulse .9s ease-in-out infinite alternate}@keyframes generation-stage-pulse{0%{width:38%}to{width:78%}}.generation-modal-summary{display:grid;gap:4px;color:#504f4f;font-size:14px;font-weight:700;line-height:1.5}.download-success-modal{position:relative;display:grid;justify-items:center;align-content:center;gap:32px;width:min(100%,312px);min-height:272px;padding:48px 24px 32px;background:#d9d9d9;color:#111}.download-success-modal p{margin:0;font-size:20px;font-weight:700;line-height:1.18}.modal-close-button{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;background:transparent;color:#111;font-size:28px;font-weight:700;line-height:1}.modal-primary-action{width:164px;min-height:48px;font-size:20px;box-shadow:none}.primary-button,.secondary-button{width:100%;min-height:48px;padding:8px 16px;border-radius:999px;font-size:18px;font-weight:700;line-height:1}.primary-button{border:1px solid #111;background:var(--craft-yellow, #f3c760);color:var(--paper-ink, #2d2d2d)}.secondary-button{border:1px solid #111;background:#fff;color:#111}.primary-button:disabled,.secondary-button:disabled{opacity:.42;cursor:not-allowed}.primary-button.is-disabled,.secondary-button.is-disabled{opacity:.5;cursor:not-allowed}@media(min-width:768px){body{padding:24px 0}.app-shell{max-width:720px;min-height:calc(100vh - 48px);margin:0 auto}.app-header{padding:32px 32px 16px}.screen{padding:32px 32px 144px}#screen-purpose,#screen-home{min-height:calc(100vh - 128px);padding-top:24px}#screen-route{padding-bottom:176px}#routeEditor.route-workspace{display:grid;grid-template-columns:minmax(0,1fr) 236px;align-items:start;gap:16px;width:100%}#routeEditor.route-workspace.has-detail{grid-template-columns:minmax(0,1fr) 232px 172px}.route-workspace .route-list{max-width:none;margin-right:0;margin-left:0}.route-workspace .route-row{grid-template-columns:72px minmax(0,1fr);min-height:72px}.route-workspace .time-block{min-height:72px;font-size:17px}.route-workspace .route-block{min-height:72px;padding:16px}.route-workspace .route-list.is-editing .route-block{cursor:pointer}.route-workspace .route-list.is-editing .route-block.is-selected{background:var(--craft-olive-soft, #e7ecd8);color:var(--paper-ink, #2d2d2d)}.route-workspace .route-list.is-editing .route-block.is-selected p{color:#dadada}.route-detail-panel,.route-card-preview{display:grid;min-width:0;border:1px solid var(--paper-border);border-radius:var(--paper-panel-radius);background:#fff}.route-detail-panel{gap:14px;padding:16px}.route-detail-heading,.route-card-preview-copy{display:grid;gap:4px}.route-detail-heading strong,.route-card-preview-copy strong{color:#111;font-size:17px;line-height:1.2}.route-detail-heading span,.route-card-preview-copy span{color:#777;font-size:12px;line-height:1.35}.route-detail-panel label{display:grid;gap:6px;min-width:0}.route-detail-panel label span{color:#777;font-size:12px;font-weight:700}.route-detail-panel input,.route-detail-panel textarea{width:100%;min-width:0;border:1px solid #d8d8d8;border-radius:8px;background:#f4f4f4;color:#111;font:inherit;font-size:14px;line-height:1.35}.route-detail-panel input{min-height:40px;padding:8px 12px}.route-detail-panel textarea{min-height:96px;padding:10px 12px;resize:vertical}.route-detail-panel .route-item-controls{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.route-detail-actions{display:flex;gap:8px}.route-detail-actions button{min-height:42px;font-size:15px}.route-card-preview{align-content:start;gap:16px;overflow:hidden;padding:16px 10px 18px}.route-card-preview-stage{align-items:center;justify-content:flex-start;min-height:360px;padding-top:40px}.route-card-preview .sticky-route-card{flex:0 0 auto;max-width:none;transform:scale(.62);transform-origin:top center}.route-workspace.has-detail .route-card-preview{padding-right:6px;padding-left:6px}.route-workspace.has-detail .route-card-preview-stage{min-height:300px;padding-top:32px}.route-workspace.has-detail .route-card-preview .sticky-route-card{transform:scale(.45)}.purpose-title,.purpose-card-list,.home-input-block,.home-title,.home-action-row,.template-mode-switcher,.template-edit-preview,.template-field-panel{max-width:520px;margin-right:auto;margin-left:auto}.route-row{grid-template-columns:96px minmax(0,1fr);min-height:96px}.route-block{padding:24px 24px 24px 40px}.template-stack{gap:24px}.app-bottom-bar{right:auto;left:50%;width:100%;max-width:720px;transform:translate(-50%);padding-right:32px;padding-left:32px}}@media(min-width:1100px){body{padding:32px 0}body:has(.app-shell[data-screen=purpose]),body:has(.app-shell[data-screen=home]),body:has(.app-shell[data-screen=route]),body:has(.app-shell[data-screen=templateEdit]),body:has(.app-shell[data-screen=preview]){padding:0;background:transparent}.app-shell{max-width:1200px;min-height:calc(100vh - 64px)}.app-shell[data-screen=purpose],.app-shell[data-screen=home],.app-shell[data-screen=route],.app-shell[data-screen=templateEdit],.app-shell[data-screen=preview]{max-width:none;min-height:100vh;margin:0;background:#f2f2f2}.app-header{padding:40px 48px 24px}.app-shell[data-screen=purpose] .app-header,.app-shell[data-screen=home] .app-header,.app-shell[data-screen=route] .app-header,.app-shell[data-screen=templateEdit] .app-header,.app-shell[data-screen=preview] .app-header{min-height:56px;padding:12px 16px;border-bottom:1px solid var(--paper-border);background:#fff}.app-shell[data-screen=purpose] .back-icon-button,.app-shell[data-screen=home] .back-icon-button,.app-shell[data-screen=route] .back-icon-button,.app-shell[data-screen=templateEdit] .back-icon-button,.app-shell[data-screen=preview] .back-icon-button{width:32px;height:32px;margin-top:0;font-size:24px}.app-shell[data-screen=purpose] .app-header h1,.app-shell[data-screen=home] .app-header h1,.app-shell[data-screen=route] .app-header h1,.app-shell[data-screen=templateEdit] .app-header h1,.app-shell[data-screen=preview] .app-header h1{font-size:20px;line-height:1.1}.app-shell[data-screen=purpose] .progress-segments,.app-shell[data-screen=home] .progress-segments,.app-shell[data-screen=route] .progress-segments,.app-shell[data-screen=templateEdit] .progress-segments,.app-shell[data-screen=preview] .progress-segments{width:180px}.app-shell[data-screen=purpose] .progress-segments span,.app-shell[data-screen=home] .progress-segments span,.app-shell[data-screen=route] .progress-segments span,.app-shell[data-screen=templateEdit] .progress-segments span,.app-shell[data-screen=preview] .progress-segments span{height:8px}.screen{padding:40px 48px 152px}#screen-purpose.is-active{display:grid;align-content:start;gap:24px;width:min(calc(100% - 28px),var(--desktop-main-max));height:calc(100vh - 174px);margin:14px auto 96px;padding:28px;border:1px solid var(--paper-border);border-radius:var(--paper-panel-radius);background:#fff;box-shadow:var(--paper-shadow)}#screen-home{padding-top:24px}#screen-route{padding:14px 14px 96px}#screen-home.is-active,#screen-template-edit.is-active,#screen-preview.is-active{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:var(--desktop-grid-gap);align-items:start;width:100%;max-width:var(--desktop-content-max);margin:0 auto;padding:14px 14px 96px}#screen-template-edit.is-active{min-height:calc(100vh - 174px);align-items:stretch;gap:0 var(--desktop-grid-gap)}#screen-home.is-active{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(48px,1fr);width:min(calc(100% - 28px),var(--desktop-main-max));height:calc(100vh - 174px);margin:14px auto 96px;padding:28px;border:1px solid var(--paper-border);border-radius:var(--paper-panel-radius);background:#fff;box-shadow:var(--paper-shadow)}#screen-preview.is-active{grid-template-columns:minmax(0,7fr) minmax(0,3fr);grid-template-rows:minmax(0,1fr) auto;min-height:calc(100vh - 174px);align-items:stretch;gap:0 var(--desktop-grid-gap)}#screen-preview>#templatePreview,#screen-preview>.status-message{width:min(100%,var(--desktop-main-max));background:#fff;border-right:1px solid var(--paper-border);border-left:1px solid var(--paper-border);box-shadow:var(--paper-shadow)}#screen-preview>#templatePreview{align-items:center;min-height:0;padding:18px;border-top:1px solid var(--paper-border);border-radius:var(--paper-panel-radius) var(--paper-panel-radius) 0 0}#screen-preview>.status-message{min-height:0;margin-top:0;padding-bottom:18px;border-bottom:1px solid var(--paper-border);border-radius:0 0 var(--paper-panel-radius) var(--paper-panel-radius)}#screen-home .home-title{margin-bottom:0}#screen-home #sourceText{height:clamp(536px,calc(100vh - 400px),652px);min-height:0}#screen-home .home-action-row{align-self:end;margin-top:0}#screen-home>*,#screen-template-edit>.template-mode-switcher,#screen-template-edit>.timeline-size-switcher,#screen-template-edit>.template-edit-preview,#screen-template-edit>.template-status,#screen-preview>#templatePreview,#screen-preview>.status-message{grid-column:1;max-width:none;margin-right:0;margin-left:0}#screen-template-edit>.template-field-panel{position:sticky;top:70px;grid-column:2;grid-row:1 / span 4;align-self:stretch;align-content:start;max-width:none;margin-right:0;margin-left:0;border-color:var(--paper-border);border-radius:var(--paper-panel-radius);box-shadow:var(--paper-shadow)}#screen-template-edit>.template-mode-switcher,#screen-template-edit>.timeline-size-switcher,#screen-template-edit>.template-edit-preview,#screen-template-edit>.template-status{padding-right:18px;padding-left:18px;background:#fff;border-right:1px solid var(--paper-border);border-left:1px solid var(--paper-border)}#screen-template-edit>.template-mode-switcher{padding-top:18px;border-top:1px solid var(--paper-border);border-radius:var(--paper-panel-radius) var(--paper-panel-radius) 0 0;box-shadow:var(--paper-shadow)}#screen-template-edit>.template-edit-preview{padding-top:24px}#screen-template-edit>.template-status{min-height:0;margin-top:0;padding-bottom:18px;border-bottom:1px solid var(--paper-border);border-radius:0 0 var(--paper-panel-radius) var(--paper-panel-radius);box-shadow:var(--paper-shadow)}.route-workbench{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:var(--desktop-grid-gap);align-items:stretch;width:100%;max-width:var(--desktop-content-max);margin:0 auto;min-height:calc(100vh - 174px)}.route-main-panel{min-width:0;padding:18px;border:1px solid var(--paper-border);border-radius:var(--paper-panel-radius);background:#fff;box-shadow:var(--paper-shadow)}#screen-route .route-hero{max-width:none;margin:0 0 16px;padding:28px 28px 18px;border:1px solid var(--paper-border);border-radius:var(--paper-panel-radius);background:#fff}#screen-route .route-hero h2{color:#111;font-size:32px}#routeEditor.route-workspace{grid-template-columns:minmax(0,1fr);gap:24px}#routeEditor.route-workspace.has-detail{grid-template-columns:minmax(0,1fr) 320px}.route-workspace .route-row{grid-template-columns:82px minmax(0,1fr)}.route-workspace .route-block{padding:18px}.route-card-preview{position:sticky;top:70px;align-self:stretch;min-height:0;overflow:auto;padding:20px 14px 22px;border-color:var(--paper-border);border-radius:var(--paper-panel-radius);background:#fff;box-shadow:var(--paper-shadow)}.route-card-preview-stage{align-items:center;justify-content:center;width:382px;max-width:100%;height:432px;margin:20px auto 0;min-height:0}.route-card-preview .sticky-route-card{width:354px;max-width:none;transform:none;zoom:.74}.route-workspace.has-detail .route-card-preview .sticky-route-card{transform:none}.purpose-title,.purpose-card-list,.home-input-block,.home-title,.home-action-row,.route-hero,.template-stack,.template-mode-switcher,.template-edit-preview,.template-field-panel{max-width:760px;margin-right:auto;margin-left:auto}.app-bottom-bar{max-width:1200px;padding-right:48px;padding-left:48px}.app-shell[data-screen=route] .app-bottom-bar,.app-shell[data-screen=templateEdit] .app-bottom-bar,.app-shell[data-screen=preview] .app-bottom-bar{position:fixed;right:auto;bottom:0;left:50%;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:var(--desktop-grid-gap);width:100%;max-width:var(--desktop-content-max);margin:0 auto;transform:translate(-50%);padding:0 14px 14px;background:transparent}.app-shell[data-screen=route] .app-bottom-bar .button-row,.app-shell[data-screen=templateEdit] .app-bottom-bar .button-row,.app-shell[data-screen=preview] .app-bottom-bar .button-row{grid-column:1;width:min(100%,var(--desktop-main-max))}}:root{--paper-bg: #f7f0df;--paper-bg-deep: #efe4cc;--paper-surface: #fffaf0;--paper-sheet: #fffdf7;--paper-note: #fbf3df;--paper-border: #e0d8cc;--paper-border-strong: #c9bca8;--paper-ink: #2d2d2d;--paper-muted: #746b5f;--craft-olive: #7e8d62;--craft-olive-soft: #e7ecd8;--craft-kraft: #c99a5d;--craft-kraft-soft: #f1dcc0;--craft-rose: #d76c78;--craft-rose-soft: #f5d7d7;--craft-yellow: #f3c760;--paper-radius-xl: 14px;--paper-radius-2xl: 20px;--paper-panel-radius: var(--paper-radius-xl);--paper-shadow-sm: 2px 2px 0 rgba(82, 58, 31, .06);--paper-shadow-md: 4px 4px 0 rgba(82, 58, 31, .08);--paper-shadow-lg: 6px 6px 0 rgba(82, 58, 31, .1);--paper-shadow-hover: 5px 5px 0 rgba(82, 58, 31, .12);--paper-shadow-focus: 0 0 0 3px rgba(215, 108, 120, .16);--paper-shadow: var(--paper-shadow-sm);--paper-texture: radial-gradient(circle at 18% 16%, rgba(255, 255, 255, .74) 0 1px, transparent 1px 18px), radial-gradient(circle at 82% 34%, rgba(201, 154, 93, .1) 0 1px, transparent 1px 24px), linear-gradient(135deg, rgba(255, 255, 255, .46), rgba(226, 207, 174, .16))}html,body{background:var(--paper-bg);color:var(--paper-ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}body{background:var(--paper-texture),linear-gradient(180deg,var(--paper-bg) 0%,var(--paper-bg-deep) 100%)}.app-shell{background:var(--paper-texture),linear-gradient(180deg,var(--paper-surface) 0%,var(--paper-bg) 100%);color:var(--paper-ink)}.app-header{background:#fffaf0eb}.app-header h1,.purpose-title,.home-title,.route-hero h2{color:var(--paper-ink);font-weight:800}.back-icon-button{border:2px solid var(--paper-border);background:var(--paper-sheet);color:var(--paper-ink);box-shadow:var(--paper-shadow-sm);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.back-icon-button.is-visible:hover{border-color:var(--paper-border-strong);box-shadow:var(--paper-shadow-hover);transform:translate(-1px,-1px)}.back-icon-button.is-visible:active{box-shadow:1px 1px #523a1f0f;transform:translate(1px,1px)}.progress-segments span{background:var(--craft-kraft-soft);box-shadow:inset 0 0 0 1px #c99a5d2e}.progress-segments span.is-active{background:var(--craft-olive)}.purpose-card,.template-card,.route-detail-panel,.route-card-preview,.template-field-panel,.preview-card,.download-success-modal,.generation-modal{border:2px solid var(--paper-border);border-radius:var(--paper-radius-2xl);background:var(--paper-texture),var(--paper-sheet);color:var(--paper-ink);box-shadow:var(--paper-shadow-md)}.purpose-card,.template-card{position:relative;overflow:visible;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.purpose-card:not(.is-disabled):hover,.template-card:not(.is-disabled):hover{border-color:var(--paper-border-strong);box-shadow:var(--paper-shadow-hover);transform:translate(-1px,-1px)}.purpose-card:not(.is-disabled):active,.template-card:not(.is-disabled):active{box-shadow:1px 1px #523a1f0f;transform:translate(1px,1px)}.purpose-card.is-selected,.template-card.is-selected{border-color:var(--craft-olive);background:var(--paper-texture),linear-gradient(0deg,var(--craft-olive-soft),var(--paper-sheet))}.purpose-card.is-disabled,.template-card.is-disabled,.template-mode-switcher button.is-disabled{opacity:.62}.purpose-card small,.template-card small,.route-detail-heading span,.route-card-preview-copy span,.status-message,.generation-stage,.generation-modal-summary{color:var(--paper-muted)}.purpose-card i,.template-card i{border:2px solid var(--paper-border);border-radius:12px 18px 14px 16px;background:linear-gradient(135deg,rgba(255,255,255,.42),transparent 42%),var(--craft-kraft-soft);box-shadow:var(--paper-shadow-sm);clip-path:polygon(5% 0,100% 4%,96% 95%,0 100%)}.purpose-card:not(.is-disabled).is-selected i,.template-card:not(.is-disabled).is-selected i,.template-card[data-template=card] i{background:linear-gradient(135deg,rgba(255,255,255,.5),transparent 44%),var(--craft-olive-soft)}.template-card[data-template=detailed] i{background:linear-gradient(135deg,rgba(255,255,255,.5),transparent 44%),var(--craft-rose-soft)}.template-card[data-template=timeline] i{background:linear-gradient(135deg,rgba(255,255,255,.5),transparent 44%),#e8ddbf}.template-card em{justify-self:start;width:fit-content;margin-top:2px;padding:4px 9px;border:2px solid var(--paper-border);border-radius:999px;background:var(--craft-yellow);color:var(--paper-ink);font-size:12px;font-style:normal;font-weight:800;line-height:1;box-shadow:var(--paper-shadow-sm)}textarea,input,.route-detail-panel input,.route-detail-panel textarea,.route-bottom-sheet input{border:2px solid var(--paper-border);border-radius:var(--paper-radius-xl);background:radial-gradient(circle at 16% 20%,rgba(255,255,255,.7) 0 1px,transparent 1px 22px),var(--paper-sheet);color:var(--paper-ink);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}textarea:focus,input:focus,.route-detail-panel input:focus,.route-detail-panel textarea:focus,.route-bottom-sheet input:focus,.small-card-field:focus{border-color:var(--craft-rose);box-shadow:var(--paper-shadow-focus);outline:none}#sourceText{border:2px solid var(--paper-border);border-radius:var(--paper-radius-2xl);background:repeating-linear-gradient(0deg,transparent 0 30px,rgba(201,154,93,.08) 30px 31px),var(--paper-sheet);color:var(--paper-ink);box-shadow:var(--paper-shadow-md)}#sourceText::placeholder{color:#82776b}input,.trip-title-input,#screen-route.is-editing .metadata-chips input,.route-title-input,.route-block textarea,.template-edit-title,.template-edit-route,.template-edit-meta,.timeline-title-field,.timeline-line-field,.timeline-meta-field,.small-card-field{border:0;background:transparent;box-shadow:none}.metadata-chips,#screen-route .metadata-chips{overflow:hidden;border:2px solid var(--paper-border);border-radius:var(--paper-radius-xl);background:var(--craft-kraft-soft);box-shadow:var(--paper-shadow-sm)}.metadata-chips span,#screen-route .metadata-chips span{border-right:2px solid rgba(255,250,240,.9);color:#5e554a}.time-block,.route-block{border:2px solid var(--paper-border);border-radius:var(--paper-radius-xl);background:var(--paper-texture),var(--paper-sheet);color:var(--paper-ink);box-shadow:var(--paper-shadow-sm)}.route-row:nth-of-type(n+4) .time-block{background:var(--paper-texture),var(--craft-kraft-soft);color:#5d513f}.route-list.is-editing .route-block{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease,opacity .16s ease}.route-list.is-editing .route-block.is-selected,.route-workspace .route-list.is-editing .route-block.is-selected,.route-list.is-editing .route-row.has-empty-route.is-selected .route-block,.route-list.is-editing .route-row.has-empty-route .route-block.is-filling-empty-route{border-color:var(--craft-olive);background:var(--paper-texture),var(--craft-olive-soft);color:var(--paper-ink);box-shadow:var(--paper-shadow-md)}.route-workspace .route-list.is-editing .route-block.is-selected p{color:var(--paper-muted)}.route-list.is-editing .route-block.is-dragging{opacity:.68;transform:translate(2px,2px) rotate(-.4deg);box-shadow:var(--paper-shadow-sm)}.route-list.is-editing .route-block.is-drop-target{outline:2px dashed var(--craft-rose);outline-offset:4px;background:var(--paper-texture),var(--craft-rose-soft)}.route-block p,.route-block textarea{color:var(--paper-muted)}.route-item-controls button,.template-mode-switcher button,.timeline-size-switcher button,.primary-button,.secondary-button,.modal-primary-action{border:2px solid var(--paper-border-strong);border-radius:var(--paper-radius-xl);background:linear-gradient(135deg,rgba(255,255,255,.5),transparent 48%),var(--paper-sheet);color:var(--paper-ink);font-weight:800;box-shadow:3px 3px #523a1f1a;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.primary-button{background:linear-gradient(135deg,rgba(255,255,255,.46),transparent 48%),var(--craft-yellow);color:var(--paper-ink)}.secondary-button{background:linear-gradient(135deg,rgba(255,255,255,.54),transparent 48%),var(--paper-sheet)}.route-item-controls button:not(:disabled):hover,.template-mode-switcher button:not(.is-disabled):hover,.timeline-size-switcher button:hover,.primary-button:not(:disabled):hover,.secondary-button:not(:disabled):hover,.modal-primary-action:not(:disabled):hover{border-color:var(--craft-kraft);box-shadow:var(--paper-shadow-hover);transform:translate(-1px,-1px)}.route-item-controls button:not(:disabled):active,.template-mode-switcher button:not(.is-disabled):active,.timeline-size-switcher button:active,.primary-button:not(:disabled):active,.secondary-button:not(:disabled):active,.modal-primary-action:not(:disabled):active{box-shadow:1px 1px #523a1f0f;transform:translate(1px,1px)}.template-mode-switcher button.is-selected{border-color:var(--craft-olive);background:var(--craft-olive-soft)}.template-field-panel{background:var(--paper-texture),var(--paper-note)}.template-toggle-row i{border:2px solid var(--paper-border-strong);background:var(--paper-sheet)}.template-toggle-row i:after{background:var(--craft-kraft)}.template-toggle-row input:checked+i{background:var(--craft-olive-soft)}.route-sheet-backdrop{background:#48382547}.route-bottom-sheet{border:2px solid var(--paper-border);border-radius:var(--paper-radius-2xl) var(--paper-radius-2xl) var(--paper-radius-xl) var(--paper-radius-xl);background:var(--paper-texture),var(--paper-sheet);box-shadow:0 -4px #523a1f14}.small-card-stage{background:radial-gradient(circle at 28% 18%,rgba(255,255,255,.58) 0 1px,transparent 1px 22px),transparent}.sticky-route-card{background:radial-gradient(circle at 16% 22%,rgba(255,255,255,.48) 0 1px,transparent 1px 24px),linear-gradient(135deg,rgba(255,255,255,.42),transparent 42%),#e3d5bb;color:var(--paper-ink);box-shadow:4px 4px #523a1f14}.sticky-route-card:before{background:linear-gradient(135deg,rgba(255,255,255,.42),transparent 48%),#e3d5bb}.sticky-route-card:after{content:"";position:absolute;inset:10px;z-index:0;pointer-events:none;background:radial-gradient(circle at 20% 14%,rgba(255,255,255,.36) 0 1px,transparent 1px 20px),radial-gradient(circle at 78% 72%,rgba(117,89,53,.08) 0 1px,transparent 1px 22px)}.small-card-field,.small-card-text{color:var(--paper-ink)}.small-card-divider{background:#2d2d2db8}.preview-card,.timeline-sticker{border:2px solid var(--paper-border);background:var(--paper-texture),var(--paper-note);color:var(--paper-ink);box-shadow:var(--paper-shadow-md)}.timeline-sticker{border-radius:16px 20px 15px 18px}.timeline-list li,.timeline-title-field,.timeline-line-field,.timeline-meta,.timeline-meta-field,.timeline-sticker h2{color:var(--paper-ink)}.timeline-divider,.timeline-list li:before,.timeline-list i{background:var(--paper-ink)}.timeline-list i{border-color:var(--paper-ink)}.modal-backdrop{background:#f7f0dfb8}.generation-modal-backdrop{background:#f7f0dfa3}.generation-modal{width:min(100%,336px);min-height:192px}.generation-stage i{height:8px;border:1px solid var(--paper-border);background:var(--paper-sheet);box-shadow:inset 1px 1px #523a1f0a}.generation-stage i:before{background:var(--craft-olive)}.generation-stage.is-active{color:var(--paper-ink)}.download-success-modal{background:var(--paper-texture),var(--craft-olive-soft)}.modal-close-button{color:var(--paper-ink)}@media(min-width:1100px){body:has(.app-shell[data-screen=purpose]),body:has(.app-shell[data-screen=home]),body:has(.app-shell[data-screen=route]),body:has(.app-shell[data-screen=templateEdit]),body:has(.app-shell[data-screen=preview]){background:var(--paper-texture),linear-gradient(180deg,var(--paper-bg) 0%,var(--paper-bg-deep) 100%)}.app-shell[data-screen=purpose],.app-shell[data-screen=home],.app-shell[data-screen=route],.app-shell[data-screen=templateEdit],.app-shell[data-screen=preview]{background:var(--paper-texture),linear-gradient(180deg,var(--paper-bg) 0%,var(--paper-bg-deep) 100%)}.app-shell[data-screen=purpose] .app-header,.app-shell[data-screen=home] .app-header,.app-shell[data-screen=route] .app-header,.app-shell[data-screen=templateEdit] .app-header,.app-shell[data-screen=preview] .app-header{border-bottom:2px solid var(--paper-border);background:var(--paper-texture),#fffaf0f5}#screen-purpose.is-active,#screen-home.is-active,.route-main-panel,#screen-route .route-hero,#screen-preview>#templatePreview,#screen-preview>.status-message,#screen-template-edit>.template-mode-switcher,#screen-template-edit>.timeline-size-switcher,#screen-template-edit>.template-edit-preview,#screen-template-edit>.template-status{border:2px solid var(--paper-border);background:var(--paper-texture),var(--paper-sheet);box-shadow:var(--paper-shadow-md)}#screen-preview>#templatePreview,#screen-template-edit>.template-mode-switcher,#screen-template-edit>.timeline-size-switcher,#screen-template-edit>.template-edit-preview,#screen-template-edit>.template-status{border-right-width:2px;border-left-width:2px}#screen-template-edit>.template-edit-preview{border-top:0;border-bottom:0;box-shadow:none}#screen-template-edit>.timeline-size-switcher,#screen-template-edit>.template-status,#screen-preview>.status-message{box-shadow:none}.route-card-preview{border:2px solid var(--paper-border);background:var(--paper-texture),var(--paper-note);box-shadow:var(--paper-shadow-md)}}:root{--eink-page: #e7eae2;--eink-surface: #eef0ea;--eink-surface-subtle: #dde1d8;--eink-chrome: #d5dad2;--eink-ink: #090a09;--eink-ink-soft: #3d423d;--eink-muted: #6f766d;--eink-faint: #9ba398;--eink-border: #252825;--eink-border-soft: #6d746b;--eink-audio: #737d72;--eink-wine-shadow: #3a0012;--eink-radius-card: 22px;--eink-radius-control: 18px;--eink-radius-pill: 999px;--eink-shadow-card: 3px 4px 0 var(--eink-wine-shadow);--eink-shadow-soft: 2px 3px 0 rgba(58, 0, 18, .62);--eink-focus: 0 0 0 3px rgba(58, 0, 18, .14);--eink-grain: radial-gradient(circle at 12% 18%, rgba(9, 10, 9, .032) 0 1px, transparent 1px 18px), radial-gradient(circle at 86% 42%, rgba(9, 10, 9, .022) 0 1px, transparent 1px 22px), repeating-linear-gradient(0deg, rgba(9, 10, 9, .016) 0 1px, transparent 1px 6px)}html,body{background:var(--eink-page);color:var(--eink-ink)}body,.app-shell{background:radial-gradient(circle at 20% 12%,rgba(255,255,255,.2),transparent 32%),var(--eink-grain),var(--eink-page);color:var(--eink-ink)}.app-header{border-bottom-color:var(--eink-border-soft);background:var(--eink-grain),var(--eink-chrome)}.app-header h1,.purpose-title,.home-title,.route-hero h2,.route-detail-heading strong,.route-card-preview-copy strong,.download-success-modal p,.generation-modal p{color:var(--eink-ink);font-weight:800;letter-spacing:0}.purpose-card,.template-card,.route-detail-panel,.route-card-preview,.template-field-panel,.preview-card,.download-success-modal,.generation-modal,.route-bottom-sheet{border-color:var(--eink-border);border-radius:var(--eink-radius-card);background:var(--eink-grain),var(--eink-surface);color:var(--eink-ink);box-shadow:var(--eink-shadow-card)}.back-icon-button,.progress-segments span,.metadata-chips,#screen-route .metadata-chips,.time-block,.route-block,.route-item-controls button,.template-mode-switcher button,.timeline-size-switcher button,.primary-button,.secondary-button,.modal-primary-action,.template-toggle-row i{border-color:var(--eink-border);background:var(--eink-grain),var(--eink-surface);color:var(--eink-ink);box-shadow:var(--eink-shadow-soft)}.back-icon-button,.primary-button,.secondary-button,.route-item-controls button,.template-mode-switcher button,.timeline-size-switcher button,.modal-primary-action{border-radius:var(--eink-radius-pill)}.progress-segments span{background:var(--eink-surface-subtle);box-shadow:none}.progress-segments span.is-active,.primary-button,.template-mode-switcher button.is-selected{border-color:var(--eink-ink);background:var(--eink-ink);color:var(--eink-surface)}.purpose-card.is-selected,.template-card.is-selected,.route-list.is-editing .route-block.is-selected,.route-workspace .route-list.is-editing .route-block.is-selected,.route-list.is-editing .route-row.has-empty-route.is-selected .route-block,.route-list.is-editing .route-row.has-empty-route .route-block.is-filling-empty-route{border-color:var(--eink-ink);background:var(--eink-grain),var(--eink-surface-subtle);box-shadow:var(--eink-shadow-card)}.purpose-card small,.template-card small,.route-detail-heading span,.route-card-preview-copy span,.status-message,.generation-stage,.generation-modal-summary,.route-block p,.route-block textarea,.timeline-size-switcher small,.preview-route span,.preview-route small{color:var(--eink-muted)}.purpose-card i,.template-card i{border-color:var(--eink-border-soft);border-radius:12px;background:repeating-linear-gradient(0deg,transparent 0 9px,rgba(9,10,9,.08) 9px 10px),var(--eink-surface-subtle);box-shadow:none}#sourceText{border-color:var(--eink-border);border-radius:var(--eink-radius-card);background:repeating-linear-gradient(0deg,transparent 0 31px,rgba(9,10,9,.04) 31px 32px),var(--eink-grain),var(--eink-surface);color:var(--eink-ink);box-shadow:var(--eink-shadow-card)}#sourceText::placeholder{color:var(--eink-muted)}.route-detail-panel input,.route-detail-panel textarea,.route-bottom-sheet input{border-color:var(--eink-border-soft);border-radius:var(--eink-radius-control);background:var(--eink-surface);color:var(--eink-ink)}.route-detail-panel input:focus,.route-detail-panel textarea:focus,.route-bottom-sheet input:focus,#sourceText:focus{border-color:var(--eink-border);box-shadow:var(--eink-focus);outline:none}.metadata-chips,#screen-route .metadata-chips{border-color:var(--eink-border);border-radius:var(--eink-radius-pill);background:var(--eink-surface-subtle);box-shadow:none}.metadata-chips span,#screen-route .metadata-chips span{border-right-color:var(--eink-border-soft);color:var(--eink-muted);letter-spacing:.02em}.time-block{border-radius:var(--eink-radius-control);font-variant-numeric:tabular-nums}.route-row:nth-of-type(n+4) .time-block{background:var(--eink-grain),var(--eink-surface-subtle);color:var(--eink-muted)}.route-block{border-radius:var(--eink-radius-control)}.route-list.is-editing .route-block.is-drop-target{outline-color:var(--eink-border-soft);background:var(--eink-surface-subtle)}.primary-button:disabled,.secondary-button:disabled,.secondary-button.is-disabled,.route-item-controls button:disabled,.template-mode-switcher button.is-disabled{border-color:var(--eink-border-soft);background:var(--eink-surface-subtle);color:var(--eink-faint);box-shadow:none}.template-toggle-row i:after{background:var(--eink-muted)}.template-toggle-row input:checked+i{background:var(--eink-ink)}.template-toggle-row input:checked+i:after{background:var(--eink-surface)}.generation-stage i{border-color:var(--eink-border-soft);background:var(--eink-surface-subtle)}.generation-stage i:before{background:var(--eink-ink)}.modal-backdrop,.generation-modal-backdrop{background:#e7eae2c2;-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell[data-screen=route] .app-bottom-bar,.app-shell[data-screen=templateEdit] .app-bottom-bar,.app-shell[data-screen=preview] .app-bottom-bar{border-top-color:#25282529;background:linear-gradient(180deg,rgba(231,234,226,0),var(--eink-page) 22px),var(--eink-page)}@media(min-width:1100px){body:has(.app-shell[data-screen=purpose]),body:has(.app-shell[data-screen=home]),body:has(.app-shell[data-screen=route]),body:has(.app-shell[data-screen=templateEdit]),body:has(.app-shell[data-screen=preview]){background:radial-gradient(circle at 76% 22%,rgba(255,255,255,.14),transparent 26%),var(--eink-grain),var(--eink-page)}.app-shell[data-screen=purpose],.app-shell[data-screen=home],.app-shell[data-screen=route],.app-shell[data-screen=templateEdit],.app-shell[data-screen=preview]{background:var(--eink-grain),var(--eink-page)}.app-shell[data-screen=purpose] .app-header,.app-shell[data-screen=home] .app-header,.app-shell[data-screen=route] .app-header,.app-shell[data-screen=templateEdit] .app-header,.app-shell[data-screen=preview] .app-header{border-bottom-color:var(--eink-border-soft);background:var(--eink-grain),var(--eink-chrome)}#screen-purpose.is-active,#screen-home.is-active,.route-main-panel,#screen-route .route-hero,#screen-preview>#templatePreview,#screen-preview>.status-message,#screen-template-edit>.template-mode-switcher,#screen-template-edit>.timeline-size-switcher,#screen-template-edit>.template-edit-preview,#screen-template-edit>.template-status,.route-card-preview{border-color:var(--eink-border);background:var(--eink-grain),var(--eink-surface);box-shadow:var(--eink-shadow-card)}}.sticky-route-card{background:repeating-linear-gradient(0deg,rgba(255,253,248,.045) 0 1px,transparent 1px 8px),#4f5b43;color:#fffdf8;box-shadow:0 0 0 1px #fffdf8db}.sticky-route-card:before{background:repeating-linear-gradient(0deg,rgba(255,253,248,.045) 0 1px,transparent 1px 8px),#4f5b43;z-index:0;box-shadow:none;filter:drop-shadow(0 -1px 0 rgba(255,253,248,.86)) drop-shadow(1px 0 0 rgba(255,253,248,.86)) drop-shadow(-1px 0 0 rgba(255,253,248,.86))}.sticky-route-card:after{content:none}.small-card-field,.small-card-text{color:#fffdf8}.small-card-divider{background:#fffdf8d1}.purpose-card{grid-template-columns:minmax(0,1fr)}.purpose-card i{display:none}#screen-route .route-hero{padding:0;border:0;background:transparent;box-shadow:none}.template-toggle-row i{width:44px;height:20px;box-shadow:none}.template-toggle-row i:after{top:50%;left:3px;width:14px;height:14px;transform:translateY(-50%)}.template-toggle-row input:checked+i:after{transform:translate(24px,-50%)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
