:root{--ink:#153f45;--text:#243e42;--muted:#647a7e;--line:#dce6e6;--bg:#f2f6f6;--green:#c8ef95;--white:#fff;--danger:#a33030;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--text);background:var(--bg);font-size:16px;line-height:1.6;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #6bafad;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-.8px;line-height:1.3}h2{font-size:21px;line-height:1.4}h3{font-size:17px}small,.muted{color:var(--muted);font-size:14px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;max-width:1320px;padding:0 44px;margin:auto}.brand{display:flex;gap:12px;align-items:center;font-weight:750;font-size:23px;letter-spacing:1px}.brandmark{width:44px;height:44px;background:var(--ink);color:var(--green);border-radius:14px;display:grid;place-items:center;font-size:34px;font-weight:400;line-height:1}.brand small{display:block;font-size:11px;font-weight:450;letter-spacing:2px}.top-actions{display:flex;gap:24px;align-items:center}.project-label{font-size:13px;color:var(--muted)}.button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:10px;padding:10px 17px;font-weight:600;min-height:44px;white-space:normal;transition:background .15s}.button:hover{background:#eaf1f0}.button.primary{background:var(--ink);color:white;border-color:var(--ink)}.button.primary:hover{background:#25545a}.button.lime{background:var(--green);border-color:var(--green)}.button.subtle{background:transparent}.button.small{min-height:36px;padding:5px 11px;font-size:14px}.button.danger{color:var(--danger)}main{max-width:1232px;margin:12px auto 0;padding:0 24px}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:20px 0 28px}.eyebrow{font-size:12px;letter-spacing:2.5px;color:var(--muted);font-weight:650;margin-bottom:8px}.page-heading p{margin-top:8px;color:var(--muted)}.tabs{display:flex;gap:6px;background:#e4eded;padding:5px;border-radius:12px;width:max-content;max-width:100%}.tab{background:transparent;border:0;padding:9px 20px;border-radius:8px;color:var(--muted);font-weight:600;font-size:14px}.tab.active{background:white;color:var(--ink);box-shadow:0 2px 6px #153f450b}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.community-cover{height:158px;position:relative;overflow:hidden;color:white;display:flex;align-items:end;padding:24px}.community-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}.community-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#092b38d9,#092b3820)}.community-cover>div{position:relative;z-index:1}.community-cover h2{font-size:27px}.community-cover p{font-size:14px;opacity:.85}.cover-badge{position:absolute!important;right:20px;top:18px;font-size:12px;border:1px solid #ffffff65;background:#ffffff18;border-radius:50px;padding:4px 12px;backdrop-filter:blur(10px)}.panel-body{padding:26px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.step-label{display:flex;align-items:center;gap:10px;font-weight:700}.num{width:27px;height:27px;display:inline-grid;place-items:center;background:#e8f0ef;border-radius:50%;font-size:13px;flex:none}.field-grid{display:grid;grid-template-columns:1.1fr .8fr .8fr 1fr;gap:12px;margin:20px 0 12px}.field{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #d5e1e1;border-radius:9px;padding:10px 12px;background:#fcfdfd;color:var(--text);font-size:16px;font-weight:400}.field textarea{resize:vertical;line-height:1.65;min-height:80px}.field input:focus,.field textarea:focus{border-color:#498e8d}.help-line{font-size:13px;color:var(--muted);margin-top:10px}.divider{border:0;border-top:1px solid var(--line);margin:24px 0}.route-list{display:flex;flex-direction:column;gap:16px}.route-step{display:grid;grid-template-columns:136px minmax(0,1fr);gap:16px;padding:16px;border:1px solid var(--line);border-radius:13px;position:relative}.step-photo{position:relative;min-width:0}.step-photo img{width:100%;height:108px;object-fit:cover;border-radius:8px;display:block}.photo-empty{height:108px;display:grid;place-content:center;text-align:center;gap:2px;background:#edf3f3;border:1px dashed #b5c9c9;border-radius:8px;font-size:13px;color:var(--muted)}.photo-change{display:block;width:100%;border:0;background:transparent;font-size:13px;padding:7px 0;color:var(--muted)}.step-heading{display:flex;align-items:center;gap:8px;margin-bottom:6px}.step-heading input{font-weight:650;border:0;width:100%;min-width:0;background:transparent;color:var(--ink);padding:2px 0}.step-text{resize:vertical;width:100%;border:0;background:transparent;color:var(--muted);font-size:14px;line-height:1.7;min-height:76px;padding:2px 0}.step-tools{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px}.step-tools select{border:1px solid var(--line);border-radius:5px;background:white;padding:2px 6px;font-size:12px;color:var(--muted)}.icon-btn{border:0;background:transparent;min-width:30px;min-height:32px;color:var(--muted);border-radius:5px}.icon-btn:hover{background:var(--bg)}.route-end{border-radius:12px;background:#f1f6ed;border:1px solid #d9e8ca;padding:18px;margin-top:20px}.route-end .field{margin-top:10px}.route-end .field textarea{background:#ffffffb0}.editor-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;flex-wrap:wrap}.sidebar{position:sticky;top:24px}.preview-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;color:var(--muted)}.phone{border:1px solid #c4d6d7;border-radius:28px;background:white;overflow:hidden;box-shadow:0 12px 32px #153f450b}.phone-top{padding:18px 22px;background:var(--ink);color:white}.phone-top small{color:#b4d3d1;font-size:12px}.phone-top h3{font-size:20px;margin-top:5px}.phone-top p{font-size:13px;opacity:.8}.phone-photo{height:180px;width:100%;object-fit:cover;display:block}.phone-content{padding:20px}.direction-pill{display:inline-flex;gap:6px;align-items:center;font-size:12px;background:#eaf2e2;color:#486337;border-radius:30px;padding:4px 10px;margin-bottom:10px}.phone-content h3{font-size:17px}.phone-content p{font-size:14px;color:var(--muted);margin-top:8px;min-height:65px}.preview-progress{display:flex;gap:5px;margin:18px 0}.preview-progress span{height:4px;border-radius:5px;flex:1;background:#e0e9e8}.preview-progress span.current{background:var(--ink)}.phone-nav{display:flex;justify-content:space-between;gap:12px}.phone-nav button{flex:1}.share-panel{margin-top:20px;padding:23px;background:white;border:1px solid var(--line);border-radius:16px}.share-panel h3{margin-bottom:8px}.expiry-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:15px 0}.expiry-choice{padding:8px 6px;border:1px solid var(--line);background:white;border-radius:8px;font-size:14px;color:var(--muted)}.expiry-choice.active{background:#edf6e5;border-color:#a3c787;color:#3f5a2b;font-weight:650}.full{width:100%}.small-note{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.7}.mini-note{font-size:13px;color:var(--muted);margin:18px 0;text-align:center}.loading,.empty{padding:65px 24px;text-align:center;color:var(--muted)}.empty h2{color:var(--ink);margin-bottom:12px}.empty button{margin-top:18px}.list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.saved-card{padding:22px;background:white;border:1px solid var(--line);border-radius:15px}.saved-card h3{font-size:20px;margin:10px 0}.saved-card p{font-size:14px;color:var(--muted)}.saved-card .button{margin:18px 8px 0 0}.status{font-size:12px;border-radius:30px;padding:4px 9px;background:#eaf2e2;color:#486337}.status.expired{background:#eceeee;color:#6c7475}.site-footer{max-width:1184px;margin:48px auto 0;padding:24px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}dialog{padding:0;width:min(520px,calc(100% - 32px));border:0;border-radius:20px;color:var(--text);box-shadow:0 30px 100px #153f4540;max-height:90dvh;overflow:auto}dialog::backdrop{background:#092b3860;backdrop-filter:blur(4px)}.modal-inner{padding:30px}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.modal-inner .field{margin-top:16px}.modal-inner p{font-size:14px;color:var(--muted)}.modal-inner .button.full{margin-top:20px}.success-symbol{width:52px;height:52px;display:grid;place-items:center;font-size:26px;background:var(--green);border-radius:50%;margin-bottom:16px}.link-box{padding:12px;background:var(--bg);border:1px solid var(--line);border-radius:8px;width:100%;font-size:14px;margin-top:16px;color:var(--ink)}.check{display:flex;gap:10px;align-items:start;font-size:14px;margin-top:18px}.check input{margin-top:6px;accent-color:var(--ink);width:18px;height:18px;flex:none}#toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%) translateY(20px);max-width:calc(100% - 32px);padding:12px 22px;border-radius:12px;background:var(--ink);color:white;opacity:0;pointer-events:none;transition:all .2s;z-index:1000;font-size:14px}#toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.visitor-shell{max-width:600px;margin:10px auto 36px}.visitor-header{background:var(--ink);color:white;padding:28px;border-radius:20px 20px 0 0}.visitor-header small{color:#b4d3d1}.visitor-header h1{font-size:27px;margin:10px 0}.visitor-header .button{margin-top:16px;background:#ffffff15;color:white;border-color:#ffffff40}.visitor-card{border:1px solid var(--line);background:white;border-radius:0 0 20px 20px;overflow:hidden}.visitor-photo{display:block;width:100%;aspect-ratio:1.6;object-fit:contain;background:#e4ebeb}.visitor-body{padding:26px}.visitor-body h2{margin:8px 0 12px}.visitor-body p{font-size:17px;line-height:1.9;white-space:pre-wrap}.visitor-countdown{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);margin-bottom:18px}.visitor-actions{display:flex;gap:12px;margin-top:26px}.visitor-actions button{flex:1}.preview-banner{padding:10px 15px;background:#e6eedf;color:#4b6037;border-radius:10px;margin-bottom:15px;font-size:14px}.route-overview{margin-top:22px}.route-overview summary{cursor:pointer;padding:14px 0;font-size:14px;font-weight:650}.route-overview ol{font-size:14px;color:var(--muted);padding-left:22px}.route-overview li{padding:7px 0}.community-select{max-width:210px;border:1px solid var(--line);background:white;padding:8px 12px;border-radius:8px;color:var(--ink)}.consent-note{background:#f4f7f0;padding:12px 16px;border-radius:9px;margin-top:18px;font-size:13px;color:#5a6c4b}.file-input{display:none}.error-text{color:var(--danger)}
@media(max-width:950px){.workspace{grid-template-columns:minmax(0,1fr) 300px;gap:18px}.panel-body{padding:20px}.route-step{grid-template-columns:100px minmax(0,1fr);gap:12px;padding:12px}.topbar{padding:0 24px}.field-grid{grid-template-columns:repeat(2,1fr)}.list-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.topbar{height:74px;padding:0 20px}.brand{font-size:21px}.brandmark{width:38px;height:38px}.project-label{display:none}.top-actions{gap:10px}.top-actions .button{font-size:13px;padding:8px 12px}main{padding:0 16px;margin-top:8px}.page-heading{display:block;margin:16px 0 22px}h1{font-size:26px}.page-heading p{font-size:14px}.tabs{margin-top:18px;width:100%}.tab{flex:1;padding:8px 10px}.workspace{display:block}.sidebar{position:static;margin-top:24px}.phone{max-width:380px;margin:auto}.preview-label{max-width:380px;margin:0 auto 12px}.share-panel{margin-top:22px}.expiry-options{grid-template-columns:repeat(4,1fr)}.community-cover{height:150px;padding:20px}.panel-body{padding:18px}.section-top{align-items:start}.section-top .button.small{font-size:12px}.route-step{grid-template-columns:96px minmax(0,1fr);padding:12px;gap:12px}.step-photo img,.photo-empty{height:98px}.step-heading{gap:6px}.step-heading input{font-size:15px}.step-heading .num{width:22px;height:22px;font-size:12px}.step-tools{align-items:end;gap:2px}.icon-btn{min-width:28px;padding:2px}.step-text{min-height:95px}.list-grid{grid-template-columns:1fr}.site-footer{margin-top:30px;display:block;text-align:center}.site-footer span{display:block;margin-top:5px}.visitor-shell{margin-top:16px}.visitor-header{padding:24px}.visitor-body{padding:22px}.visitor-header h1{font-size:24px}.modal-inner{padding:24px}.cover-badge{font-size:11px;right:15px;top:15px}.community-select{max-width:175px}.field input{padding:10px}.editor-actions .button{font-size:14px}.phone-photo{height:190px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.login-wrap{display:grid;place-items:center;min-height:90dvh;margin:auto}.login-panel{width:min(460px,100%);padding:38px}.login-panel h1{font-size:26px}.model-panel{margin-top:32px}.model-heading{padding:24px 26px 0;display:flex;justify-content:space-between;align-items:center;gap:16px}.model-heading p{margin-top:8px}.model-panel iframe{border:0;width:100%;height:810px;display:block}.community-cover{background:#234c56}.model-panel{background:#f5f8fa}@media(max-width:720px){.model-heading{padding:22px 18px 0;display:block}.model-heading .status{display:inline-block;margin-top:12px}.model-panel iframe{height:790px}.login-panel{padding:28px}.top-actions{gap:4px}#logout{padding:7px 9px;font-size:13px}.project-label{display:none}}

.meitai-view-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:18px 26px 24px}.meitai-view-tab{justify-content:center;white-space:normal;text-align:center}.meitai-view-tab[aria-pressed="true"]{background:#173d47;color:#fff;border-color:#173d47}.meitai-view-tab:focus-visible{outline:3px solid #28848b;outline-offset:3px}.meitai-view-content[hidden]{display:none!important}.meitai-diagram{display:block;width:100%;height:auto;border-radius:0 0 18px 18px}.meitai-view-content{overflow:hidden}@media(max-width:720px){.meitai-view-tabs{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px;gap:8px}.meitai-view-tab{font-size:14px;padding:12px 6px}}
