:root{--blue:#14567f;--ink:#0b3355;--muted:#647a91;--orange:#ff803d;--paper:#faf9f7;--mint:#edf7f1;--line:#e3eaf0;--orange-text:#b44c0a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}button{border:0;cursor:pointer;background:none}a{color:var(--blue);text-decoration:none}button,input,select,textarea,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #368fe9;outline-offset:3px}button:active{transform:scale(.985)}.app{max-width:480px;margin:auto;min-height:100dvh}.brand,.side-label,.side-bottom{display:none}.sidebar{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,480px);height:calc(64px + env(safe-area-inset-bottom));padding:5px 15px env(safe-area-inset-bottom);background:#ffffffed;backdrop-filter:blur(18px);border-top:1px solid #ebeff2}.sidebar nav{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;height:100%}.sidebar nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;color:#6a7c8e;gap:0;padding:0 0 4px}.sidebar nav button span{font-size:11px;font-weight:500;line-height:1.5}.sidebar nav button.active{color:var(--blue)}.sidebar nav button.active:after{content:"";position:absolute;width:20px;height:3px;bottom:1px;background:var(--blue);border-radius:3px}.sidebar nav b{position:absolute;right:12px;top:1px;background:#e2eff8;color:var(--blue);font-size:9px;border-radius:10px;padding:0 4px}.sidebar nav b:empty{display:none}.ui-icon{display:block;width:30px;height:30px;flex-shrink:0;background-image:url('assets/nav-atlas-v2.png');background-size:300% 200%;mix-blend-mode:multiply}.ui-icon.chat{background-position:0 0}.ui-icon.compass{background-position:50% 0}.ui-icon.checklist{background-position:100% 0}.ui-icon.person{background-position:0 100%}.ui-icon.menu{background-position:50% 100%}.ui-icon.arrow{background-position:100% 100%}.topbar{height:58px;display:flex;align-items:center;gap:8px;padding:0 14px;position:relative;z-index:5;background:#faf9f7eb}.topbar h1{font-size:20px;margin:0;line-height:1.3;font-weight:700;flex:1;text-align:center}.header-menu{padding:0}.avatar{width:31px;height:31px;background:#e5f2ff;border-radius:50%;padding:1px}.demo-badge{font-size:10px;color:#3678a6;background:#e6f3ff;border-radius:20px;padding:2px 7px}.workspace{padding-bottom:70px}main{padding:8px 15px 0}.footnote{text-align:center;font-size:10px;color:#7a889b;padding:11px 8px 7px}.hero{height:202px;position:relative;margin:-8px -15px 0;overflow:hidden}.hero-bg{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center bottom;inset:0}.hero-copy{position:relative;z-index:2;padding:12px 22px}.hero h1{font-size:28px;letter-spacing:-.5px;line-height:1.36;margin:0;font-weight:750}.hero p{font-size:13px;white-space:nowrap;margin:7px 0;color:#405c76}.hero-assistant{position:absolute;right:-3px;bottom:-12px;height:161px;width:158px;object-fit:contain;z-index:1}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;position:relative;margin-top:0}.service-card{height:124px;border-radius:16px;display:flex;align-items:center;flex-direction:column;padding:5px 2px 11px;background:#e5f1ff}.service-card.policy{background:linear-gradient(130deg,#e2f0ff,#e8f4ff)}.service-card.space{background:linear-gradient(130deg,#eaf7ed,#edf8ef)}.service-card.job{background:linear-gradient(130deg,#fff0e4,#fff2e9)}.service-card img{width:66px;height:67px;object-fit:contain;mix-blend-mode:multiply}.service-card strong{font-size:18px;line-height:1.4}.service-card span{font-size:11px;color:#647a91;margin-top:2px}.profile-nudge{background:#eaf5f1;border-radius:15px;width:100%;display:flex;align-items:center;text-align:left;gap:13px;padding:15px 16px;margin:12px 0 16px}.profile-nudge>.ui-icon{width:42px;height:42px;border-radius:50%;background-color:#fff;box-shadow:0 3px 7px #18466c0c}.profile-nudge span{flex:1}.profile-nudge strong{font-size:17px;display:block;line-height:1.5}.profile-nudge small{display:block;color:var(--muted);font-size:12px}.profile-nudge b{font-size:27px;font-weight:400}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 11px}.section-head h2{font-size:21px;line-height:1.4;margin:0;font-weight:700}.section-head small{color:var(--muted);font-size:12px}.text-btn{padding:0;color:var(--blue);font-size:12px}.question-card{display:flex;align-items:center;gap:10px;padding:10px 12px;width:100%;text-align:left;background:#fff;border-radius:13px;margin:8px 0;min-height:48px}.question-card img{width:27px;height:27px;object-fit:contain}.question-card span{flex:1;font-size:14px}.question-card b{font-size:21px;font-weight:400;color:var(--muted)}.intro-composer{background:white;display:flex;align-items:center;border:1px solid var(--line);border-radius:17px;padding:7px 8px 7px 12px;box-shadow:0 6px 18px #163c6204;margin-top:18px;gap:8px}.intro-composer textarea{flex:1;min-width:0;resize:none;height:34px;line-height:1.5;border:0;background:transparent;outline:none;padding:6px 0;font-size:14px}.intro-composer textarea::placeholder{color:#7e8b9e}.send{background:var(--orange);height:40px;width:40px;border-radius:50%;font-size:27px;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:3px}.send .ui-icon{width:38px;height:38px}.micro{font-size:10px;color:#7a889b}.tabs{display:flex;background:#eaf2f8;border-radius:25px;padding:3px;margin:5px 0 16px;gap:3px}.tabs button{flex:1;border-radius:23px;min-height:35px;font-size:14px;color:#3c678a;white-space:nowrap;padding:5px 8px}.tabs button.active{background:var(--blue);color:#fff;font-weight:600}.tabs img{display:none}.condition-profile{background:linear-gradient(120deg,#eaf5ef,#edf8f4);border-radius:15px;padding:13px 15px;margin-bottom:13px;overflow:hidden}.condition-profile>div:first-child{display:flex;align-items:center;justify-content:space-between}.condition-profile h2{font-size:18px;margin:0}.condition-profile.blue{background:linear-gradient(120deg,#e5f2ff,#ecf5ff)}.condition-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.condition-tags span{background:#ffffffc9;border-radius:20px;font-size:12px;padding:3px 10px;color:#315775}.condition-profile p{font-size:11px;color:var(--muted);margin:8px 0 0}.assistant-tip{display:flex;gap:9px;align-items:center;margin:13px 0}.assistant-tip>img{width:44px;height:48px;object-fit:cover;object-position:top;border-radius:50%;background:#e6f2ff}.assistant-tip p{flex:1;margin:0;background:#e8f3ff;border-radius:16px;padding:10px 13px;font-size:14px;font-weight:600;line-height:1.5}.assistant-tip small{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:3px}.assistant-tip.peach p{background:#fff0e4}.question-panel{background:white;border-radius:16px;padding:14px;margin:12px 0 18px}.question-panel h3{font-size:15px;margin:0 0 10px}.answers{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.answers button{border:1px solid #c5d8e3;border-radius:13px;padding:8px 11px;background:#ffffffcf;font-size:13px;color:var(--blue);min-height:38px}.question-panel .answers{margin:0;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:6px}.question-panel .answers button{font-size:12px;white-space:nowrap;border-radius:20px;padding:6px}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.filters label{font-size:12px;display:flex;align-items:center;gap:3px;color:#486985}.filters select{border:0;background:#fff;padding:9px 8px;border-radius:10px;max-width:140px;font-size:12px}.filters input{border:1px solid var(--line);background:#fff;padding:10px 13px;border-radius:12px;min-width:0;flex:1;width:150px;font-size:13px}.result-summary{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin:12px 0}.result-list{display:grid;gap:13px}.result-card{background:#fff;border-radius:17px;padding:16px;box-shadow:0 3px 20px #315c7803}.result-card h2{font-size:18px;margin:0;font-weight:700;line-height:1.45}.result-card p{color:var(--muted);font-size:12px;margin:3px 0}.result-heading{display:flex;gap:9px;align-items:center}.result-heading>img{width:40px;height:45px;object-fit:contain}.result-heading>div{flex:1;min-width:0}.result-heading h2{font-size:17px}.pill{display:inline-block;font-size:10px;color:#2b78ba;border-radius:13px;padding:3px 7px;background:#eaf4ff;white-space:nowrap}.pill.orange{color:var(--orange-text);background:#fff0e6}.reason{background:#eef7f2;border-radius:11px;padding:11px 12px;margin:12px 0 0;color:#126852}.reason>strong{font-size:14px;font-weight:600}.reason p{font-size:12px;color:#668092;line-height:1.65;margin-top:4px}.reason p.attention{color:#b96b20}.card-bottom{border-top:1px solid #edf0f4;margin-top:10px;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.primary,.secondary{border-radius:11px;font-size:13px;min-height:38px;padding:8px 14px;line-height:1.5}.primary{background:var(--blue);color:#fff}.secondary{border:1px solid #507b9c;background:#fff;color:var(--ink)}.orange-button{background:#B94F24;color:#FFFCF8;font-weight:600}.orange-button:active{background:#A7431E}.added{background:#e8f5ec!important;color:#246244!important}.card-actions{display:flex;gap:8px;align-items:center}.company-letter{width:43px;height:43px;border-radius:10px;background:#eaf3ff;display:flex;align-items:center;justify-content:center;font-size:28px;color:#4b7faf;font-weight:600}.job-meta{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:8px 0;font-size:11px;color:var(--muted)}.salary{font-size:16px;color:var(--orange-text);font-weight:600;white-space:nowrap}.requirement{border-radius:11px;background:#fff8ed;padding:9px 12px;margin-top:6px;color:#855f28}.requirement strong{font-size:13px}.requirement p{font-size:12px;color:#847663}.checkline{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}input[type=checkbox]{accent-color:var(--blue);width:16px;height:16px}.compare-tray{position:sticky;bottom:77px;background:var(--ink);color:#fff;border-radius:15px;padding:11px 13px;margin-top:15px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 5px 20px #23435930;font-size:12px;z-index:8}.compare-tray button{background:var(--orange);color:var(--ink)}.page-intro{font-size:15px;color:#56718b;margin:2px 0 16px}.space-type{display:flex;gap:5px;margin:14px 0}.chip{border-radius:20px;background:#eaf3f9;padding:7px 9px;color:#3d6587;font-size:12px;white-space:nowrap}.chip.active{background:var(--blue);color:#fff}.space-card{padding:0;overflow:hidden}.space-visual{height:126px;position:relative;background:#edf5f7}.space-visual>img{width:100%;height:100%;object-fit:cover}.space-visual>span{position:absolute;bottom:8px;right:9px;border:1px solid #ffffffa0;color:white;background:#17334d66;font-size:10px;padding:1px 7px;border-radius:10px}.space-content{padding:12px 14px 15px}.space-content h2 small{font-size:13px}.meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin:5px 0 10px}.space-row{border-top:1px solid #eef1f4;display:flex;gap:13px;padding:8px 0;line-height:1.6;font-size:12px;color:#5e7892}.space-row span{width:50px;flex-shrink:0}.space-row b{font-weight:400}.space-content .card-actions{margin-top:8px}.space-content .card-actions button{flex:1}.page-title{margin:5px 0 20px}.page-title h1{font-size:24px;margin:0 0 5px}.page-title p{font-size:13px;color:var(--muted);margin:0}.page-title>.secondary{margin-top:10px}.notice{background:#edf6f2;border-radius:12px;padding:13px;font-size:12px;color:#436c69;margin:12px 0}.notice.orange{background:#fff3e9;color:#a4602d}.empty{background:#fff;border-radius:18px;padding:40px 20px;text-align:center}.empty img{width:90px;height:90px;object-fit:contain}.empty h2{font-size:19px}.empty p{font-size:13px;color:var(--muted)}.back{font-size:12px;color:var(--blue);margin:0 0 16px;padding:0}.chat-layout>aside{display:none}.chat-header{display:none}.chat-body{padding:0 0 10px}.bubble{font-size:15px;line-height:1.85;margin-bottom:20px}.bubble p{margin:4px 0 10px}.bubble.user{margin-left:45px;background:#e2f2ff;border-radius:15px 15px 3px 15px;padding:12px 14px;color:var(--ink);width:fit-content;max-width:88%}.bubble.assistant{position:relative;padding-left:49px;margin-top:20px}.bubble.assistant:before{content:"";position:absolute;left:0;top:0;width:40px;height:47px;background:url('assets/mascot-v2.png') center top/cover;border-radius:50%}.bubble.assistant:after{content:"橘小才";position:absolute;left:49px;top:-20px;font-size:11px;color:var(--muted)}.bubble.assistant h3{font-size:17px;margin:8px 0}.bubble .answers button{font-size:12px;padding:7px 9px}.mini-result{background:#fff;border:1px solid #dfeaf3;padding:13px;border-radius:13px;margin:12px 0}.mini-result h4{font-size:17px;line-height:1.5;margin:9px 0}.mini-result p{font-size:12px;color:var(--muted)}.mini-result .primary{font-size:12px}.check-list{padding:0;list-style:none;font-size:12px;margin:10px 0}.check-list li{padding:5px 0;color:#668095}.check-list li:before{content:"✓";display:inline-block;margin-right:7px;color:#218866}.check-list li.wait:before{content:"?";color:#c58127}.chat-input{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:8px 10px;position:sticky;bottom:10px}.chat-input input{width:100%;min-width:0;flex:1;border:0;outline:0;font-size:13px;padding:7px 0}.chat-input .send{font-size:25px}body[data-page=chat] .sidebar{display:none}body[data-page=chat] .workspace{padding-bottom:10px}body[data-page=chat] main{padding-bottom:0}body[data-page=chat] .topbar{position:sticky;top:0}.plan-card{display:flex;align-items:center;gap:11px;background:white;padding:16px;border-radius:15px}.plan-card .grow{flex:1;min-width:0}.plan-card h3{font-size:15px;margin:0}.plan-card p{font-size:12px;color:var(--muted);margin:4px 0}.plan-card .text-btn{font-size:11px}.plan-card.done{opacity:.6}.plan-card.done h3{text-decoration:line-through}.profile-form{background:white;border-radius:17px;padding:20px}.form-grid{display:grid;gap:16px}.form-grid label{display:grid;gap:6px;color:var(--muted);font-size:12px}.form-grid input,.form-grid select{width:100%;border:1px solid #dee8ee;border-radius:10px;background:#fff;padding:11px 12px;font-size:14px;color:var(--ink)}.form-actions{display:flex;gap:10px;margin-top:22px}.form-note{font-size:11px;color:var(--muted);margin-top:15px}.hidden{display:none!important}dialog{padding:0;border:0;width:min(440px,94vw);max-height:90dvh;color:var(--ink);border-radius:20px;box-shadow:0 20px 80px #0b355533;background:#fff}dialog::backdrop{background:#102f4c55;backdrop-filter:blur(4px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:1}.modal-head h2{font-size:19px;margin:0;line-height:1.5}.close{font-size:25px;padding:0 4px}.modal-body{padding:17px 20px}.modal-body h3{font-size:16px;margin:18px 0 8px}.modal-body p,.modal-body li{font-size:13px;color:var(--muted)}.modal-body ul{padding-left:20px}.modal-body .check-list{padding:0}.modal-body img.wide{width:100%;height:160px;object-fit:cover;border-radius:12px}.image-caption{font-size:10px;color:var(--muted)}.modal-actions{position:sticky;bottom:0;padding:14px 20px;display:flex;justify-content:end;gap:10px;background:white;border-top:1px solid var(--line)}.compare-table{width:100%;border-collapse:collapse;font-size:12px}.compare-table th,.compare-table td{padding:11px 7px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.compare-table th{background:#edf6fa;font-weight:500}.toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,10px);background:var(--ink);color:white;padding:11px 16px;font-size:12px;line-height:1.5;border-radius:12px;z-index:100;max-width:85vw;min-width:200px;text-align:center;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.task-card{display:flex;gap:12px;text-align:left;background:#f5f9fc;border-radius:13px;padding:13px;margin:10px 0;width:100%}.task-card h3{font-size:15px;margin:0}.task-card p{font-size:12px;margin:5px 0;color:var(--muted)}.task-card img{width:40px;height:40px;object-fit:contain}.guide-step{display:flex;gap:15px;margin:18px 0}.guide-step>b{font-size:22px;color:var(--orange-text)}.guide-step strong{font-size:14px}.guide-step p{margin:3px 0}.text-link{font-size:12px;text-decoration:underline}.check{width:20px!important;height:20px!important}.profile-card{background:#fff;padding:18px;border-radius:16px}.profile-row{display:flex;justify-content:space-between;padding:9px;border-bottom:1px solid var(--line);font-size:12px}@media(max-width:370px){.hero h1{font-size:25px}.hero p{font-size:12px}.hero-assistant{width:141px;height:147px}.question-card span{font-size:13px}.topbar h1{font-size:19px}.service-card span{font-size:10px}.condition-tags span{font-size:11px}.space-type .chip{font-size:11px}.result-heading h2{font-size:16px}}@media(min-width:481px){body{background:#edf3f5}.app{background:var(--paper);box-shadow:0 0 45px #1d445615}.hero{height:229px}.hero h1{font-size:31px}.hero-assistant{height:190px;width:187px}.service-card{height:139px}.service-card img{width:76px;height:76px}}
/* Reference fidelity refinements: preserve sky behind text and enlarge the mascot. */
.hero{height:210px}.hero-bg{object-position:center top}.hero-assistant{width:210px;height:212px;right:-26px;bottom:-33px}.hero-copy{z-index:2}.hero p{font-size:12px}.sidebar nav .ui-icon{width:42px;height:39px}.header-menu .ui-icon,.avatar .ui-icon{width:38px;height:38px}.avatar{width:34px;height:34px;display:flex;align-items:center;justify-content:center}.intro-composer>.ui-icon{width:36px;height:36px}.profile-nudge>.ui-icon{width:47px;height:47px}.send .ui-icon{width:48px;height:48px}
/* Mobile app navigation: three root tabs, independent secondary screens. */
.sidebar nav{grid-template-columns:repeat(3,1fr);gap:28px}.topbar{position:fixed;inset:0 auto auto;left:50%;transform:translateX(-50%);width:min(100%,480px);height:58px;z-index:20;backdrop-filter:blur(16px)}.workspace{padding-top:58px}.header-back{display:none;padding:0;width:36px;height:40px;align-items:center;justify-content:center}.header-back i{width:44px;height:44px;transform:rotate(-90deg)}body[data-page=chat] .topbar{position:fixed;top:0}body[data-page=explore] .sidebar,body[data-page=profile] .sidebar,body[data-page=plan] .sidebar{display:none}body[data-page=explore] .workspace,body[data-page=profile] .workspace,body[data-page=plan] .workspace{padding-bottom:20px}body[data-page=explore] .header-menu,body[data-page=chat] .header-menu,body[data-page=profile] .header-menu,body[data-page=plan] .header-menu{display:none}body[data-page=explore] .header-back,body[data-page=chat] .header-back,body[data-page=profile] .header-back,body[data-page=plan] .header-back{display:flex}body[data-page=explore] .avatar,body[data-page=chat] .avatar,body[data-page=profile] .avatar,body[data-page=plan] .avatar{visibility:hidden}body[data-page=explore] main{padding-top:4px}.tabs{position:sticky;top:58px;z-index:10;box-shadow:0 7px 12px #faf9f7;margin:5px 0 15px}body[data-page=chat] .workspace{padding-bottom:90px}.chat-input{position:fixed;bottom:max(10px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 24px),456px);z-index:25;box-shadow:0 0 0 12px #faf9f7}.chat-body{padding-top:18px}.compare-tray{bottom:12px}.discover-intro{height:180px;position:relative;overflow:hidden;border-radius:17px;margin:8px 0 18px}.discover-intro img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:bottom;z-index:0}.discover-intro p,.discover-intro h2{position:relative;z-index:1;margin:0;padding:0 18px}.discover-intro p{padding-top:13px;font-size:12px;color:#507994}.discover-intro h2{font-size:25px;line-height:1.5;margin-top:5px}.discover-services{display:grid;gap:12px}.discover-service{display:flex;gap:13px;align-items:center;padding:14px 16px;background:#eaf4ff;border-radius:16px;text-align:left}.discover-service.space{background:#edf7ed}.discover-service.job{background:#fff2e7}.discover-service img{width:66px;height:66px;object-fit:contain}.discover-service span{flex:1}.discover-service strong{display:block;font-size:19px}.discover-service small{display:block;font-size:12px;color:var(--muted);margin-top:3px}.discover-service b{font-size:24px;font-weight:400}.journey-card{width:100%;text-align:left;padding:19px;background:#fff;border-radius:16px}.journey-card span{display:block;color:var(--muted);font-size:12px}.journey-card strong{display:block;font-size:18px;margin:5px 0}.journey-card small{font-size:12px;color:var(--blue)}.me-identity{display:flex;align-items:center;gap:17px;margin:23px 0 24px}.me-avatar{width:66px;height:66px;border-radius:50%;background:#e3f1ff;display:flex;align-items:center;justify-content:center}.me-avatar .ui-icon{width:75px;height:75px}.me-identity h2{font-size:20px;margin:0}.me-identity p{font-size:13px;color:var(--muted);margin:5px 0}.me-group{background:white;border-radius:17px;padding:0 15px;margin:18px 0}.me-group>button{display:flex;align-items:center;gap:12px;width:100%;padding:15px 0;border-bottom:1px solid var(--line);text-align:left}.me-group>button:last-child{border-bottom:0}.me-group .ui-icon{width:40px;height:40px}.me-group span{flex:1;font-size:15px}.me-group small{font-size:11px;color:var(--muted)}.me-group b{font-size:23px;font-weight:400}.me-city{position:relative;height:160px;margin-top:25px;overflow:hidden;border-radius:15px}.me-city img{width:100%;height:100%;object-fit:cover;opacity:.7}.me-city p{position:absolute;bottom:3px;left:0;right:0;text-align:center;font-size:13px;color:#587990}.me-note{color:#7a8b9e;font-size:11px;text-align:center;line-height:1.9;margin:20px 0}dialog{width:min(480px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;border-radius:0;margin:0 auto;inset:0;background:var(--paper);box-shadow:none}dialog::backdrop{background:#173a4c55;backdrop-filter:none}#dialog-content{min-height:100%;display:flex;flex-direction:column}.modal-head{height:58px;flex-shrink:0;padding:0 14px;gap:8px;background:var(--paper)}.modal-head h2{flex:1;text-align:center;font-size:19px}.modal-head .close{width:36px;height:42px;display:flex;align-items:center;justify-content:center}.modal-head .close .ui-icon{width:44px;height:44px;transform:rotate(-90deg)}.modal-body{padding:20px 20px 28px;flex:1}.modal-body>h3{margin-top:22px}.modal-actions{padding:12px 17px max(12px,env(safe-area-inset-bottom));background:white;gap:10px}.modal-actions .primary{flex:1;font-size:15px;min-height:44px}.modal-actions .secondary{min-height:44px;font-size:14px}.toast{bottom:80px}.page-title h1{font-size:22px}.form-actions{position:sticky;bottom:10px;background:#fff;padding-top:8px}.form-actions .primary{flex:1}.result-card{scroll-margin-top:118px}
/* The assistant is the default experience; service directories are secondary. */
.conversation-welcome{position:relative;text-align:center;height:286px;margin:0 -15px;overflow:hidden;padding-top:34px}.welcome-scenery{position:absolute;bottom:0;left:0;width:100%;height:172px;object-fit:cover;object-position:bottom;opacity:.2;z-index:0}.welcome-mascot{height:130px;width:142px;object-fit:contain;position:relative;z-index:1;margin-bottom:9px}.conversation-welcome h1{position:relative;font-size:23px;line-height:1.5;margin:0;color:var(--ink);font-weight:650}.conversation-welcome p{position:relative;font-size:14px;color:#65839a;margin:7px 0}.conversation-starters{padding:5px 9px 100px}.starter-heading{font-size:13px;color:#8190a3;margin:10px 0 14px}.starter-bubble{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;padding:13px 15px;margin:11px 0;background:white;border:1px solid #e8edf1;border-radius:16px 16px 16px 5px;box-shadow:0 3px 12px #22446003;text-align:left;min-height:53px}.starter-bubble img{width:27px;height:29px;object-fit:contain}.starter-bubble span{font-size:14px;line-height:1.6}.resume-chat{color:#668097;font-size:12px;margin-top:7px;padding:5px 0}.conversation-composer{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 28px),452px);min-height:58px;margin:0;z-index:25;box-shadow:0 0 0 10px #faf9f7}.conversation-composer textarea{font-size:14px;height:39px;padding:9px 3px}.conversation-composer .send{width:40px;height:40px}body[data-page=home] .footnote{display:none}body[data-page=home] .workspace{padding-bottom:64px}body[data-page=home] .topbar{border-bottom:0}.chat-body>.bubble:first-child{margin-top:0}.bubble.assistant h3{font-size:16px}.chat-input{min-height:58px}.sidebar{height:calc(64px + env(safe-area-inset-bottom))}@media(max-height:740px){.conversation-welcome{height:235px;padding-top:15px}.welcome-mascot{height:112px}.starter-bubble{padding:10px 12px;margin:9px 0;min-height:46px}.conversation-starters{padding-top:0}.conversation-welcome h1{font-size:21px}}
.bubble.assistant{scroll-margin-top:94px}.chat-body{padding-bottom:16px}
/* Profile is a compact native list. Editing happens one field at a time. */
body[data-page=profile] main{padding:8px 16px 20px}body[data-page=profile] .footnote{display:none}.profile-summary{background:linear-gradient(115deg,#e8f5f3,#eef7f9);border-radius:16px;padding:16px 18px;margin:11px 0 24px;position:relative}.profile-summary-label{font-size:17px;font-weight:600;color:#244b63}.profile-summary p{font-size:12px;color:#7c949f;margin:4px 0 15px}.profile-progress{width:110px;height:4px;border-radius:4px;background:#d5e7e7;overflow:hidden}.profile-progress span{height:100%;display:block;background:#4a8b9d;border-radius:4px}.profile-summary small{display:block;font-size:10px;color:#73919c;margin-top:6px}.profile-section-label{font-size:12px;color:#8a97a6;padding:0 7px;margin:20px 0 9px;letter-spacing:1px}.profile-group{background:#fff;border-radius:15px;padding:0 15px}.profile-item{display:flex;align-items:center;width:100%;padding:17px 0;min-height:59px;border-bottom:1px solid #f0f2f5;text-align:left;gap:10px}.profile-item:last-child{border-bottom:0}.profile-item>span{font-size:14px;color:#334e63;flex-shrink:0}.profile-item>b{font-size:13px;color:#526e81;flex:1;text-align:right;font-weight:400;line-height:1.45;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-item>b.unset{color:#acb7c1}.profile-item>i{font-style:normal;font-size:21px;font-weight:300;color:#b7c1ca;line-height:1}.profile-privacy-note{display:flex;gap:7px;align-items:center;justify-content:center;margin:25px 0;color:#96a3af;font-size:11px;line-height:1.9}.profile-privacy-note .ui-icon{width:29px;height:29px;opacity:.45}.sheet{inset:auto 0 0;height:auto;max-height:76dvh;border-radius:24px 24px 0 0;background:white;box-shadow:0 -15px 70px #12354812}.sheet #dialog-content{min-height:0}.sheet .modal-head{background:white;border:0;padding:0 18px;height:65px}.sheet .modal-head .close{position:absolute;left:13px}.sheet .modal-head h2{font-size:18px;font-weight:600}.sheet .modal-head>.micro{display:none}.sheet .modal-body{padding:0 21px 25px}.sheet .modal-actions{border:0;padding:0 21px 25px}.sheet .modal-actions .primary{border-radius:14px;min-height:47px;background:#245b78}.field-option{display:flex;align-items:center;justify-content:space-between;min-height:49px;border-bottom:1px solid #f1f3f5;width:100%;font-size:15px;padding:10px 5px;color:#607385}.field-option.selected{color:#245b78;font-weight:600}.field-option b{color:#245b78;font-size:17px}.field-option:last-child{border:0}.field-options{max-height:50dvh;overflow:auto}.field-editor label{font-size:12px;color:#8b98a6;display:block;margin:0 0 10px}.field-editor input{background:#f5f7f9;border:0;border-radius:13px;padding:14px;width:100%;font-size:15px;outline-color:#c7e4ed}.field-editor>p{font-size:12px;color:#93a0aa;margin:18px 0 10px}.field-suggestions{display:flex;flex-wrap:wrap;gap:8px}.field-suggestions button{font-size:12px;padding:7px 11px;background:#f1f6f8;border-radius:9px;color:#597689}
.modal-spacer{width:36px;flex-shrink:0}

/* Public information provenance */
.source-info{margin-top:28px;padding-top:20px;border-top:1px solid #e6eae8}.source-info a{display:block;color:#245B78;font-size:14px;line-height:1.6;text-decoration:none;margin:12px 0 3px}.source-info small{display:block;font-size:12px;color:#7b858b;line-height:1.8}.job-validity{font-size:12px;color:#96703e;line-height:1.6}.benefit-title{color:#245B78;line-height:1.6}.space-visual{height:110px;background:#eaf3ef!important}.space-visual img{object-fit:contain!important;width:100%;height:100%;mix-blend-mode:multiply}.result-heading>div{min-width:0}.result-heading h2{overflow-wrap:anywhere}

.compare-table th{min-width:76px;white-space:nowrap}.compare-table td{overflow-wrap:anywhere}

/* Voice input in both conversation composers. */
.voice-button{width:38px;height:42px;flex:0 0 38px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#245b78}.mic-image{display:block;width:32px;height:32px;object-fit:contain}.voice-feedback{position:absolute;bottom:calc(100% + 8px);left:0;right:0;display:flex;align-items:center;gap:12px;justify-content:center;font-size:12px;color:#245b78;line-height:1.5;pointer-events:none}.voice-feedback:has(span:not(:empty)){background:#edf5f1;padding:10px 12px;border:1px solid #dceae4;border-radius:14px}.voice-feedback button{pointer-events:auto;color:#a14c24;white-space:nowrap}.voice-feedback button[hidden]{display:none}.is-listening .voice-button{background:#ffe7d7;color:#bd5525}.is-listening .mic-image{animation:voice-pulse 1s ease-in-out infinite}.send:disabled{opacity:.35}.conversation-composer textarea{min-width:0}.chat-input .voice-button{padding:0}@keyframes voice-pulse{50%{opacity:.4;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.is-listening .mic-image{animation:none}}

/* Quiet motion, with an immediate reduced-motion alternative. */
button,a,input,textarea,select{transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .16s cubic-bezier(.2,.8,.2,1)}button:active{transform:scale(.97)}.starter-bubble:active,.discover-service:active,.profile-item:active{background-color:#edf3ef;transform:scale(.987)}.conversation-composer:focus-within,.chat-input:focus-within{box-shadow:0 0 0 2px #245b7814,0 5px 20px #245b7808}.thinking-dots{height:25px;display:flex;align-items:center;gap:5px}.thinking-dots i{width:6px;height:6px;background:#6b989f;border-radius:50%;animation:thinking-dot 1s ease-in-out infinite}.thinking-dots i:nth-child(2){animation-delay:.13s}.thinking-dots i:nth-child(3){animation-delay:.26s}.typing-skip{display:block;margin-top:9px;padding:4px 0;font-size:11px;color:#71868e}.bubble [hidden]{display:none!important}.is-typing>p:last-of-type:after{content:"";display:inline-block;width:2px;height:13px;background:#547e8b;margin-left:3px;vertical-align:-2px;animation:cursor-soft .8s ease-in-out infinite}.profile-progress span{transition:width .4s cubic-bezier(.2,.8,.2,1)}dialog[open]{animation:detail-in .25s cubic-bezier(.2,.8,.2,1)}dialog.sheet[open]{animation:sheet-in .3s cubic-bezier(.2,.8,.2,1)}dialog::backdrop{animation:backdrop-in .2s ease}.added{animation:saved-confirm .28s ease}.toast{transition:opacity .2s ease,transform .25s cubic-bezier(.2,.8,.2,1)}@keyframes thinking-dot{0%,70%,100%{transform:translateY(0);opacity:.35}35%{transform:translateY(-3px);opacity:1}}@keyframes cursor-soft{50%{opacity:0}}@keyframes detail-in{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}@keyframes sheet-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes backdrop-in{from{opacity:0}to{opacity:1}}@keyframes saved-confirm{50%{transform:scale(1.025)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Softer compact send control; use the dedicated bitmap instead of atlas. */
.conversation-composer .send,.chat-input .send{width:36px!important;height:36px!important;min-width:36px;flex:0 0 36px;border-radius:13px!important;background:#ffdfc8!important;padding:6px!important;display:flex;align-items:center;justify-content:center;box-shadow:none!important}.send img{display:block;width:24px;height:24px;object-fit:contain}.conversation-composer .send:active,.chat-input .send:active{background:#f8c9a9!important;transform:scale(.94)}

.me-avatar{overflow:hidden;background:#ecf0e8!important}.me-avatar img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 43%}.topbar .avatar{padding:0;overflow:hidden;background:#ecf0e8}.topbar .avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}

/* Personal header: soft city landscape, portrait and integrated profile entry. */
body[data-page=me] .topbar{background:#eef4f1}body[data-page=me] .topbar .avatar{visibility:hidden}body[data-page=me] main{padding-top:0}.personal-cover{position:relative;isolation:isolate;margin:0 -15px 22px;padding:19px 22px 0;min-height:266px;background:linear-gradient(180deg,#eef4f1,#faf9f7);overflow:hidden}.personal-landscape{position:absolute;z-index:-2;width:100%;height:230px;inset:0;object-fit:cover;object-position:center 67%;opacity:.6}.personal-cover-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#eff5f2e6, #f6f8f066 75%),linear-gradient(0deg,#faf9f7 1%,transparent 70%)}.personal-city-label{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:1.5px;color:#627e7d;margin-bottom:25px}.personal-city-label>span{width:5px;height:5px;border-radius:50%;background:#ed9466}.personal-identity{display:flex;align-items:center;gap:17px;margin-bottom:27px}.personal-portrait{width:76px;height:76px;flex:0 0 76px;border:4px solid #ffffffed;border-radius:50%;box-shadow:0 5px 20px #416b6918;overflow:hidden}.personal-portrait img{display:block;width:100%;height:100%;object-fit:cover}.personal-name>p{font-size:11px;color:#6b8583;margin:0 0 5px}.personal-name h2{font-size:25px;font-weight:650;letter-spacing:.5px;line-height:1.4;margin:0 0 5px;color:#173f51}.personal-name h2>span{display:inline-block;vertical-align:middle;font-size:12px;font-weight:500;color:#ab6037;background:#ffeadb;border:1px solid #fff7ee;border-radius:9px 9px 9px 2px;padding:2px 7px;margin-left:9px;transform:rotate(-7deg)}.personal-caption{font-size:11px;color:#7a8988}.personal-profile{position:relative;display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;text-align:left;padding:17px 17px 20px;background:#fffdf9e8;border:1px solid #fff;border-radius:18px;box-shadow:0 5px 20px #355b5a06;overflow:hidden}.personal-profile-copy{min-width:0}.personal-profile-copy strong{display:block;font-size:14px;font-weight:600;color:#294b56}.personal-profile-copy small{display:block;font-size:10px;color:#7c8c8a;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:210px}.personal-profile-action{font-size:11px;white-space:nowrap;color:#9d6342}.personal-profile-action b{font-size:17px;margin-left:3px;font-weight:400}.personal-progress{position:absolute;bottom:0;left:17px;right:17px;height:2px;background:#ecefe8}.personal-progress i{display:block;height:100%;background:#dea17d;transition:width .3s ease}body[data-page=me] .me-city{display:none}@media(max-width:370px){.personal-cover{padding-left:18px;padding-right:18px}.personal-name h2{font-size:23px}.personal-profile-copy small{max-width:165px}}

/* Saved opportunities: category navigation and useful preview cards. */
.saved-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 17px;border-radius:20px;background:linear-gradient(120deg,#eaf3ee,#f8f2e8);margin:0 0 21px}.saved-intro .saved-eyebrow{font-size:10px;letter-spacing:1px;color:#6e8880}.saved-intro h3{font-size:18px;margin:6px 0;color:#244a58}.saved-intro p{font-size:11px;margin:0;color:#7a8783}.saved-intro>img{width:65px;height:65px;object-fit:contain;mix-blend-mode:multiply}.saved-tabs{display:flex;gap:8px;padding-bottom:17px}.saved-tabs button{flex:1;padding:9px 4px;border-radius:12px;color:#6f8084;font-size:13px;white-space:nowrap}.saved-tabs button[aria-selected=true]{background:#245b78;color:white}.saved-tabs small{margin-left:5px;font-size:10px;opacity:.75}.saved-list{display:grid;gap:15px}.saved-card{background:#fff;border:1px solid #e9eeea;border-radius:19px;overflow:hidden;box-shadow:0 4px 16px #254f6204}.saved-open{display:block;width:100%;text-align:left;padding:17px 16px 13px}.saved-card-top{display:flex;gap:11px;align-items:center;margin-bottom:13px}.saved-card-top>span:nth-child(2){flex:1;min-width:0}.saved-card-top small{display:block;font-size:10px;color:#7b8b8b;line-height:1.6}.saved-card-top h3{font-size:15px;line-height:1.5;margin:3px 0 0;color:#234451}.saved-thumb{width:45px;height:48px;flex-shrink:0;border-radius:12px;background:#edf5ef}.saved-thumb.job{background:#fff0e3}.saved-thumb.policy{background:#ebf3fa}.saved-thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.saved-chevron{font-size:22px;font-weight:400;color:#8ea3a6}.saved-highlight{font-size:13px;color:#986442;font-weight:550;line-height:1.6}.saved-card .saved-summary{font-size:12px;line-height:1.7;margin:7px 0 12px;color:#73828a;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.saved-state{display:inline-block;font-size:10px;color:#6e8782;background:#f0f5f2;border-radius:7px;padding:4px 8px;line-height:1.6}.saved-card-bottom{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;border-top:1px solid #f0f2ef}.saved-card-bottom button{font-size:11px;color:#6a7e83;padding:3px 0}.saved-card-bottom button:last-child{color:#245b78;font-weight:600}.saved-card-bottom span{margin-left:5px}.saved-footnote{text-align:center;font-size:10px!important;color:#95a29f!important;margin-top:20px}.saved-empty{text-align:center;padding:34px 12px 45px}.saved-empty img{width:95px;height:95px;object-fit:contain;mix-blend-mode:multiply}.saved-empty h3{font-size:17px;color:#294e5d}.saved-empty p{font-size:12px;line-height:1.8}.saved-empty .primary{margin-top:13px;padding:11px 24px}

/* Bottom navigation already provides the personal center entry. */
body[data-page=discover] #profile-short,body[data-page=me] #profile-short{visibility:hidden;pointer-events:none}

/* Discovery editorial hierarchy: copy is never over detailed artwork. */
body[data-page=discover] main{padding:5px 18px 24px}.discover-editorial{border-radius:22px;overflow:hidden;background:#edf4f3;margin:4px 0 23px;border:1px solid #e9efeb}.discover-copy{padding:20px 19px 0;position:relative;z-index:1;background:#edf4f3}.discover-location{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:1px;color:#516e70}.discover-location i{width:5px;height:5px;border-radius:50%;background:#c87d50}.discover-copy h2{font-size:25px;line-height:1.4;letter-spacing:-.5px;color:#193e4b;margin:10px 0 7px;font-weight:650}.discover-copy p{font-size:12px;line-height:1.7;margin:0;color:#526b73}.discover-panorama{height:112px;position:relative;overflow:hidden}.discover-panorama img{width:100%;height:100%;object-fit:cover;object-position:center 69%;display:block}.discover-panorama:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#edf4f3 0%,#edf4f300 48%)}.discover-panorama>span{position:absolute;right:12px;bottom:10px;background:#fffdf3eb;border-radius:7px;padding:3px 7px;color:#526d70;font-size:9px;letter-spacing:.5px}.discover-section-title{display:flex;justify-content:space-between;align-items:center;margin:0 2px 12px}.discover-section-title h3{font-size:15px;font-weight:600;color:#2a4853;margin:0}.discover-section-title>span{font-size:10px;color:#738486}.discover-services{gap:11px}.discover-service{padding:16px 14px!important;border-radius:18px!important;background:#fff!important;border:1px solid #e8edeb;gap:13px!important;box-shadow:0 3px 12px #294e5903}.discover-service .discover-icon-tile{width:57px;height:61px;flex:0 0 57px!important;background:#edf4fa;border-radius:15px;display:flex;align-items:center;justify-content:center}.discover-service.space .discover-icon-tile{background:#eef5eb}.discover-service.job .discover-icon-tile{background:#fff0e3}.discover-service .discover-icon-tile img{width:51px;height:51px;object-fit:contain;mix-blend-mode:multiply}.discover-service-copy{min-width:0}.discover-service strong{font-size:17px!important;font-weight:600;color:#244653;line-height:1.4}.discover-service small{font-size:11px!important;color:#526b75!important;margin:4px 0!important;line-height:1.6}.discover-service em{font-size:10px;font-style:normal;color:#73857f;line-height:1.5}.discover-service>b{width:23px;height:23px;border-radius:50%;background:#f3f6f3;text-align:center;font-size:20px!important;line-height:21px;color:#648080}.discover-next{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:16px 7px;margin-top:15px;border-top:1px solid #e6ece7}.discover-next-icon{width:36px;height:36px;background:#f1eee5;border-radius:11px;display:flex;align-items:center;justify-content:center}.discover-next-icon .ui-icon{width:24px;height:24px}.discover-next>span:nth-child(2){flex:1;min-width:0}.discover-next strong{display:block;font-size:13px;color:#35545c;font-weight:550}.discover-next small{display:block;font-size:10px;color:#647b7d;margin-top:3px}.discover-next>b{font-size:20px;font-weight:400;color:#a37752}@media(max-width:370px){.discover-copy h2{font-size:23px}.discover-service{gap:10px!important;padding:14px 12px!important}.discover-service small{font-size:10px!important}.discover-service .discover-icon-tile{width:48px;height:54px;flex-basis:48px!important}}

/* Chat roles: right-aligned personal messages, left-aligned assistant replies. */
body[data-page=chat]{background:#f4f6f3}body[data-page=chat] .app{background:#f7f8f5}body[data-page=chat] .topbar{background:#f7f8f5f5;border-bottom:1px solid #e9eeea;backdrop-filter:blur(14px)}body[data-page=chat] main{padding-left:16px;padding-right:16px}.chat-body{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:24px 0 26px}.chat-body .bubble{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.chat-body .bubble.user{position:relative;align-self:flex-end;width:fit-content;max-width:calc(100% - 75px);margin:0 38px 25px auto;padding:11px 14px;background:#e4eeed;color:#244851;border:1px solid #dce8e5;border-radius:17px 5px 17px 17px;box-shadow:0 2px 5px #254e4903}.chat-body .bubble.user:after{content:"";position:absolute;right:-38px;top:0;width:29px;height:29px;border-radius:50%;background:url('assets/user-avatar-v1.png') center/cover;border:2px solid #fff;box-shadow:0 2px 6px #264c4810}.chat-body .bubble.assistant{align-self:flex-start;position:relative;width:calc(100% - 39px);margin:16px 0 29px 39px;padding:13px 14px;background:#fff;border:1px solid #e8eeea;border-radius:5px 17px 17px 17px;box-shadow:0 3px 10px #254e4903;scroll-margin-top:90px}.chat-body .bubble.assistant:before{left:-40px;top:-1px;width:31px;height:36px;background:url('assets/mascot-v2.png') center/contain no-repeat;border-radius:0}.chat-body .bubble.assistant:after{content:'橘小才';left:2px;top:-23px;font-size:10px;letter-spacing:.4px;color:#617b79}.chat-body .bubble.assistant p{margin:0 0 10px;color:#34535c}.chat-body .bubble.assistant p:last-child{margin-bottom:0}.chat-body .bubble.assistant h3{font-size:15px;font-weight:600;line-height:1.6;margin:0 0 8px;color:#204653}.chat-body .bubble .answers{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chat-body .bubble .answers button{font-size:12px;line-height:1.6;text-align:left;border:1px solid #dce7e3;background:#f7faf7;border-radius:11px;padding:8px 11px;color:#365e61;box-shadow:none}.chat-body .bubble .answers button:active{background:#e5efea}.chat-body .bubble .micro{display:block;color:#788a86;font-size:10px;margin-top:10px}.chat-body .mini-result{background:#f5f8f4;border:1px solid #e3eae1;border-radius:13px;padding:13px;margin:13px 0 2px;box-shadow:none}.chat-body .mini-result h4{font-size:15px;line-height:1.6;margin:9px 0;color:#284c55}.chat-body .mini-result p,.chat-body .mini-result li{font-size:12px;line-height:1.85}.chat-body .mini-result .primary{font-size:12px;width:100%;padding:10px 12px;border-radius:10px;background:#245b68}.chat-body .mini-result .pill{font-size:10px;padding:3px 8px}.chat-body .check-list{margin:10px 0;padding:0}.chat-body .check-list li{margin-bottom:7px}.chat-body .typing-skip{margin-top:6px;font-size:10px}body[data-page=chat] .chat-input{border:1px solid #e0e8e2;border-radius:20px;padding:8px 9px;background:#fffffff5;box-shadow:0 5px 24px #254e4910;backdrop-filter:blur(12px)}body[data-page=chat] .chat-input input{font-size:14px}body[data-page=chat] .chat-input input::placeholder{color:#7f908d}@media(max-width:370px){.chat-body .bubble.assistant{padding:11px 12px}.chat-body .bubble{font-size:13px}.chat-body .bubble.user{max-width:calc(100% - 65px)}.chat-body .mini-result{padding:11px}}

/* Policy browsing: one matching entry, then readable policy cards. */
body[data-page=explore][data-category=policy] main{padding:6px 18px 28px}body[data-category=policy] .tabs{background:transparent;border-bottom:1px solid #e5ebe7;border-radius:0;padding:0 0 10px;margin-bottom:18px;gap:5px}body[data-category=policy] .tabs button{font-size:13px;padding:9px 8px;border-radius:11px;color:#6b7f84}body[data-category=policy] .tabs button.active{background:#e6efeb;color:#245b63;box-shadow:none;font-weight:600}.policy-match-entry{background:linear-gradient(110deg,#eaf3ee,#f4f5ed);border:1px solid #e6ede5;border-radius:19px;padding:16px;margin-bottom:25px}.policy-match-top{display:flex;gap:12px;align-items:center}.policy-match-icon{width:39px;height:46px;flex:0 0 39px}.policy-match-icon img{width:100%;height:100%;object-fit:contain}.policy-match-top h2{font-size:17px;color:#254952;line-height:1.5;margin:0 0 4px;font-weight:600}.policy-match-top p{font-size:11px;color:#5e7777;margin:0;line-height:1.7}.policy-match-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;padding-top:13px;border-top:1px solid #dce6dc}.policy-match-bottom>button:first-child{font-size:10px;color:#597370;padding:0;text-align:left;flex:1;line-height:1.7}.policy-match-bottom>button:first-child span{margin-left:5px}.policy-chat-cta{font-size:11px;background:#fffdf8;border:1px solid #e1e8df;border-radius:10px;padding:8px 11px;color:#365e5e;white-space:nowrap}.policy-list-heading{display:flex;align-items:center;justify-content:space-between;margin:0 2px 14px;gap:10px}.policy-list-heading h2{font-size:18px;color:#284b56;font-weight:600;margin:0}.policy-list-heading small{display:block;font-size:10px;color:#687f82;margin-top:4px}.policy-status-filter select{font-size:11px;border:1px solid #e3e9e4;border-radius:10px;background:#fff;padding:8px 9px;color:#4d686f;max-width:115px}.policy-refined-list{display:grid;gap:14px}.policy-refined-card{border:1px solid #e5eae5;background:#fff;border-radius:18px;padding:16px;box-shadow:0 4px 13px #30534503}.policy-card-kicker{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#667e81;font-size:10px}.policy-state{background:#fff2e6;color:#99512e;border-radius:7px;padding:3px 7px;font-size:10px;white-space:nowrap}.policy-state.closed{background:#f0f2ef;color:#6a7875}.policy-refined-card h3{font-size:16px;line-height:1.6;font-weight:600;color:#234650;margin:11px 0 10px}.policy-benefit{font-size:13px;color:#2d665b;line-height:1.8;font-weight:550;padding:0 0 0 10px;border-left:3px solid #d1e4d8}.policy-brief{font-size:11px;line-height:1.8;color:#60777d;margin:12px 0 14px}.policy-card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0ec;padding-top:12px;gap:8px}.policy-card-footer>span{font-size:10px;color:#748984}.policy-card-footer button{font-size:11px;color:#365e69;padding:2px 0;font-weight:550}.policy-card-footer b{font-size:15px;margin-left:5px;font-weight:400}
body[data-page=explore][data-category=policy] .tabs{background:#faf9f7;z-index:8}

/* Shared policy/job/resource browsing language. */
body[data-page=explore] main{padding:6px 18px 28px}body[data-page=explore] .tabs{background:#faf9f7;border-bottom:1px solid #e5ebe7;border-radius:0;padding:0 0 10px;margin-bottom:18px;gap:5px;z-index:8}body[data-page=explore] .tabs button{font-size:13px;padding:9px 8px;border-radius:11px;color:#6b7f84}body[data-page=explore] .tabs button.active{background:#e6efeb;color:#245b63;box-shadow:none;font-weight:600}.list-filter-open{font-size:12px;border:1px solid #e1e8e1;background:#fff;border-radius:10px;padding:9px 13px;color:#456970}.list-search{margin:-2px 0 14px}.list-search input{width:100%;background:#fff;border:1px solid #e3e9e3;border-radius:12px;padding:11px 13px;font-size:13px;outline-offset:2px}.list-search input::placeholder{color:#788d8b}.list-type-tag{background:#edf3ef;color:#526e66;border-radius:7px;padding:3px 7px;font-size:10px}.list-validity{font-size:11px;line-height:1.8;color:#6a7f7a;margin:0 0 13px}.list-condition-note{font-size:11px;line-height:1.7;color:#975431;margin:0 0 10px}.list-resource-condition{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.list-compare-check{display:flex;align-items:center;gap:5px;font-size:11px;color:#5e7877;min-height:30px}.list-compare-check input{width:16px;height:16px;accent-color:#245b63}.list-active-filters{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 13px;font-size:11px;color:#5f7971}.list-active-filters button{font-size:11px;color:#456970;padding:7px}.list-filter-fields{display:grid;gap:20px;padding:4px 0 20px}.list-filter-fields label{display:grid;gap:8px;font-size:13px;color:#536e70}.list-filter-fields select{width:100%;border:1px solid #dfe7df;border-radius:12px;background:#fff;padding:13px;font-size:14px}.compare-tray.refined-compare{background:#fffdf9;border:1px solid #dfe7de;box-shadow:0 5px 20px #294d5010;border-radius:15px;color:#365c60;padding:10px 12px;gap:10px}.refined-compare>span{font-size:12px;flex:1}.refined-compare .text-btn{font-size:11px;color:#687f7d}.refined-compare .primary{background:#245b63;color:#fff;font-size:12px;padding:10px 14px;border-radius:10px}body:has(.refined-compare) main{padding-bottom:105px}

/* Audit baseline: readable text, consistent action hierarchy and mobile details. */
:root{--blue:#245b68;--ink:#244653;--muted:#5e747c}.primary,.orange-button{background:#245b68;color:#fff}.primary:active,.orange-button:active{background:#194953}.topbar h1{font-size:20px!important}.modal-head h2{font-size:18px}.header-menu,.header-back,.topbar .avatar,.close{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.topbar .avatar{width:34px;height:34px;min-width:34px;min-height:34px}.modal-body{padding:20px}.modal-body p,.modal-body li{font-size:14px;line-height:1.85;color:#526b75}.modal-body h3{font-size:17px}.modal-body small,.source-info small{font-size:12px}.modal-actions button,.modal-actions a{min-height:44px}.external-action{display:flex;align-items:center;justify-content:center;border-radius:11px;padding:10px 14px;font-size:14px}.source-info a{padding:8px 0;min-height:44px;overflow-wrap:anywhere}.policy-match-top p,.policy-match-bottom>button:first-child,.policy-chat-cta,.policy-list-heading small,.policy-card-kicker,.policy-state,.list-type-tag,.list-validity,.list-condition-note,.policy-card-footer>span,.policy-card-footer button,.list-compare-check,.policy-status-filter select,.list-active-filters,.discover-location,.discover-copy p,.discover-section-title>span,.discover-next small,.personal-city-label,.personal-name>p,.personal-caption,.personal-profile-copy small,.personal-profile-action,.saved-card-top small,.saved-state,.saved-card-bottom button,.saved-footnote,.saved-intro p,.saved-eyebrow,.profile-progress+small,.profile-privacy-note,.profile-section-label{font-size:12px!important}.policy-brief,.policy-benefit,.saved-highlight,.saved-card .saved-summary,.discover-service small{font-size:14px!important;line-height:1.75}.policy-card-footer button,.policy-match-bottom button,.list-filter-open,.saved-card-bottom button,.saved-tabs button,.text-btn,.answers button,.field-option{min-height:44px}.policy-card-footer{padding-top:7px}.policy-list-heading{gap:12px}.policy-card-kicker{align-items:flex-start}.policy-match-bottom{flex-wrap:wrap}.policy-match-top h2{font-size:18px}.profile-item .unset{color:#687e83!important}.profile-summary p,.profile-summary small{font-size:12px!important}.profile-item b,.profile-item span{font-size:14px}.personal-name h2{font-size:25px}.personal-profile-copy small{white-space:normal}.discover-service .discover-service-copy small{line-height:1.6}.conversation-welcome{min-height:0!important}.conversation-starters{margin-top:20px!important}.starter-bubble span{font-size:14px}.starter-heading,.resume-chat{font-size:12px}.chat-body .bubble.assistant{width:fit-content;max-width:calc(100% - 39px);margin-bottom:21px}.chat-body .bubble.assistant:has(.mini-result){width:calc(100% - 10px);max-width:calc(100% - 10px);margin-left:10px;margin-top:24px}.chat-body .bubble.assistant:has(.mini-result):before{display:none}.chat-body .bubble.assistant:has(.mini-result):after{left:4px}.chat-body .mini-result p,.chat-body .mini-result li,.chat-body .bubble .answers button{font-size:14px}.chat-body .bubble .micro,.chat-body .bubble.assistant:after,.typing-skip{font-size:12px}.chat-body .bubble.user{margin-bottom:19px}.chat-input{bottom:calc(12px + var(--keyboard-inset,0px))!important}.conversation-composer{bottom:calc(76px + var(--keyboard-inset,0px))!important}body:has(input:focus) .conversation-composer{bottom:calc(12px + var(--keyboard-inset,0px))!important}.voice-button,.send{position:relative}.voice-button:before,.send:before{content:"";position:absolute;inset:-5px}.toast{pointer-events:auto;display:flex;align-items:center;gap:16px}.toast:not(.show){pointer-events:none}.undo-save{min-height:44px;color:#fff;font-size:14px;text-decoration:underline}.history-caption{font-size:12px!important}.history-list{display:grid;gap:12px}.history-entry{display:grid;text-align:left;gap:9px;background:#fff;border:1px solid #e3ebe6;border-radius:16px;padding:16px;width:100%}.history-entry span,.history-entry small{font-size:12px;color:#617b78}.history-entry strong{font-size:15px;line-height:1.7;color:#294f58}.settings-section{margin-bottom:25px}.settings-section h3{font-size:13px;color:#71817e}.settings-row{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #e5ebe6;border-radius:13px;padding:15px;width:100%;font-size:14px;min-height:54px}.danger{color:#a54d3c}.danger-button{background:#a54d3c;color:#fff;border-radius:11px;padding:12px 18px}.help-item{border-bottom:1px solid #e3e9e3;padding:7px 0}.help-item summary{cursor:pointer;font-size:15px;line-height:1.7;padding:12px 0;color:#2c515b}.help-item p{margin:0 0 16px}.detail-hero{padding:18px;background:#eef4ef;border-radius:17px}.detail-hero h3{line-height:1.65;color:#285e55}.detail-section{padding:15px 0;border-bottom:1px solid #e6ece5}.detail-section ul{padding-left:20px}.detail-section li{margin-bottom:12px}.detail-facts{margin:20px 0}.detail-facts>div{display:flex;gap:17px;border-bottom:1px solid #e8eee7;padding:13px 0}.detail-facts span{flex:0 0 40px;font-size:13px;color:#687d78}.detail-facts p{margin:0}.comparison-head{display:grid;grid-template-columns:1fr 1fr;gap:12px}.comparison-head>div{background:#edf4ef;border-radius:13px;padding:12px;min-width:0}.comparison-head small,.comparison-head span{font-size:12px;line-height:1.7;color:#5d7572}.comparison-head h3{font-size:15px;line-height:1.6}.comparison-section{padding:14px 0;border-bottom:1px solid #e5ebe5}.comparison-section h3{display:flex;justify-content:space-between;font-size:14px}.comparison-section h3 small{font-size:12px;color:#6f7e79;font-weight:400}.comparison-section>div{display:grid;grid-template-columns:1fr 1fr;gap:16px}.comparison-section p{font-size:14px;margin:7px 0;overflow-wrap:anywhere}.comparison-section.different{border-left:3px solid #e7c9ab;padding-left:11px}.policy-wizard h3{font-size:20px;line-height:1.6}.policy-wizard>small{font-size:12px;color:#697e79}.wizard-progress{height:3px;background:#e6ede6;margin-top:12px}.wizard-progress i{display:block;height:100%;background:#598b79}.wizard-input-label{display:grid;gap:8px;font-size:14px;margin:22px 0}.wizard-input-label input{font-size:16px;border:1px solid #ccdcd3;border-radius:12px;padding:13px;width:100%;min-width:0;background:#fff}.wizard-nav{display:flex;justify-content:space-between;margin-top:20px}.wizard-nav button{min-height:44px;font-size:13px;color:#567772}.wizard-nav button:disabled{opacity:.4}.check-finish{text-align:center;padding:20px 0}.check-finish img{width:75px;height:75px;object-fit:contain}.modal-body:has(.policy-wizard){min-height:410px}#check-error{color:#a54d3c}#materials-section,#admission-section{scroll-margin-top:75px}
/* Reuse generated PNG silhouettes for a consistent functional-icon treatment. */
.voice-button .mic-image,.send img{opacity:0}.voice-button:after,.send:after{content:"";position:absolute;pointer-events:none;width:26px;height:26px;left:50%;top:50%;transform:translate(-50%,-50%);background:#245b68;mask:url('assets/voice-mic-v1.png') center/contain no-repeat;-webkit-mask:url('assets/voice-mic-v1.png') center/contain no-repeat}.send:after{mask-image:url('assets/send-arrow-v3.png');-webkit-mask-image:url('assets/send-arrow-v3.png');width:24px;height:24px}.is-listening .voice-button:after{background:#a55232}.conversation-welcome{height:220px}.conversation-starters{margin-top:8px!important}.comparison-head{position:sticky;top:58px;z-index:1;background:#faf9f7;padding:8px 0}.field-suggestions button{min-height:44px;font-size:14px}.profile-privacy-note span{font-size:12px}.me-group button small{font-size:12px}.saved-tabs{gap:4px}.saved-tabs button{font-size:13px}.saved-tabs small{font-size:12px}.topbar .avatar{min-width:44px;min-height:44px;padding:5px;background:transparent}.topbar .avatar img{width:34px;height:34px}.modal-body .policy-wizard .primary{min-height:44px;padding:10px 18px}body[data-page=home] .workspace{padding-bottom:90px}.list-compare-check{min-height:44px}
body[data-page=home] .header-back,body[data-page=discover] .header-back,body[data-page=me] .header-back{display:none}body[data-page=explore] .header-menu,body[data-page=chat] .header-menu,body[data-page=profile] .header-menu{display:none}.conversation-welcome{padding-top:14px}.welcome-mascot{height:112px}
/* Account and identity */
.account-intro{padding:12px 0 22px}.account-intro span{font-size:12px;color:#718685}.account-intro h3{font-size:23px;margin:9px 0;color:#254b55}.account-avatar-row{width:100%;display:flex;align-items:center;gap:16px;padding:18px;background:#edf4f2;border:0;border-radius:22px;text-align:left;color:#264c56}.account-avatar-row img{width:66px;height:66px;border-radius:50%;object-fit:cover}.account-avatar-row span{flex:1}.account-avatar-row strong,.account-avatar-row small{display:block}.account-avatar-row small{font-size:12px;margin-top:7px;color:#718483}.account-form{display:grid;gap:22px;padding:24px 0}.account-form>label{display:grid;gap:10px;font-size:13px;color:#536c72}.account-form input:not([type=checkbox]),.account-form textarea,.account-form select{width:100%;box-sizing:border-box;border:1px solid #e2e9e7;background:#fff;border-radius:14px;padding:15px;font:inherit;font-size:15px;color:#294c56;min-height:50px}.account-form input:focus,.account-form textarea:focus{outline:2px solid #8cafb5;outline-offset:2px}.account-form .primary,.avatar-editor>.primary{width:100%;min-height:50px;border-radius:16px;background:#245b68;color:white;border:0;font-size:15px}.account-hint{font-size:12px!important;line-height:1.8;color:#7a898c;margin:0}.avatar-editor{text-align:center;padding:24px 0}.avatar-preview{width:174px;height:174px;border-radius:50%;padding:6px;border:1px solid #d7e7e2;margin:0 auto 24px;background:#edf5f2}.avatar-preview img{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-editor h3{font-size:20px}.avatar-editor>p{font-size:13px;color:#738588}.avatar-upload{display:block;padding:15px;background:#e8f0ef;color:#245b68;border-radius:15px;margin:25px 0 12px;cursor:pointer}.avatar-upload input{display:block;width:100%;font-size:12px;margin-top:12px}.avatar-presets{display:flex;justify-content:center;gap:18px;margin:28px 0}.avatar-presets button{width:64px;height:64px;background:#edf4f5;border:1px solid #dce7e5;border-radius:50%;padding:4px}.avatar-presets img{width:100%;height:100%;object-fit:cover;border-radius:50%}.register-hero{text-align:center;padding:16px 0;background:radial-gradient(ellipse at center,#eaf3ee,transparent 72%)}.register-hero img{height:114px;display:block;margin:0 auto 16px}.register-hero span{font-size:12px;color:#8a745a}.register-hero h3{font-size:24px;margin:10px 0}.register-hero p{font-size:13px;color:#718589}.account-consent{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:#748387}.account-consent input{width:20px;height:20px;accent-color:#245b68}.account-consent button{background:none;border:0;color:#245b68;min-height:44px;font-size:12px;padding:0}.account-portrait{position:relative;padding:0;border:0;cursor:pointer;overflow:hidden}.account-portrait>span{position:absolute;bottom:0;left:0;right:0;background:#23485499;color:white;font-size:10px;padding:3px}.account-policy h3{font-size:16px;margin-top:25px}.account-policy p{font-size:14px;line-height:1.8}
.login-hero{padding:40px 0 35px}.login-hero img{height:145px}.login-hero h3{font-size:23px}.login-actions{display:grid;gap:14px;padding:24px 0}.wechat-login{border:0;border-radius:16px;min-height:52px;background:#07a651;color:#fff;font-size:16px;font-weight:600}.wechat-login span{font-size:14px;letter-spacing:-5px;margin-right:14px}.login-actions>.secondary{min-height:52px;border-radius:16px}.login-register{text-align:center;font-size:13px;color:#748387;margin:16px 0}.login-register button{color:#245b68}.login-actions>.account-hint,.login-actions>.text-btn{text-align:center}.login-unavailable{padding:48px 8px;text-align:center}.login-unavailable h3{font-size:22px}.login-unavailable p{font-size:14px;line-height:1.8}.login-unavailable button{margin-top:28px;width:100%;min-height:48px}
.launch-brand .launch-service{font-size:12px;letter-spacing:3px;color:#627d7b;margin:-2px 0 22px}.launch-brand h1{font-size:36px;letter-spacing:8px;padding-left:8px}
.launch-screen .launch-brand h1{font-size:36px;letter-spacing:8px;padding-left:8px}
/* Xiangyu authentication: landscape-led brand composition */
#detail:has(.login-hero),#detail:has(#register-form){background:#faf8f4 url('assets/auth-landscape-v1.png') center top / 100% auto no-repeat}
#detail:has(.login-hero) .modal-head,#detail:has(#register-form) .modal-head{background:transparent;border:0;backdrop-filter:none}
#detail:has(.login-hero) .modal-head h2,#detail:has(#register-form) .modal-head h2{font-size:14px;font-weight:500;color:#52706f}
#detail:has(.login-hero) .modal-body,#detail:has(#register-form) .modal-body{padding:0 26px 26px}
#detail .login-hero{height:342px;box-sizing:border-box;background:none;text-align:left;padding:24px 0 0;position:relative}
#detail .login-hero>img{position:absolute;width:86px;height:100px;object-fit:contain;right:0;bottom:0;margin:0;filter:drop-shadow(0 8px 12px #315e5420)}
#detail .login-hero>span{color:#506d70;font-size:11px;letter-spacing:2px}
#detail .login-hero h3{font-size:29px;max-width:260px;line-height:1.5;letter-spacing:1px;margin:16px 0 10px;color:#244d56}
#detail .login-hero p{max-width:245px;line-height:1.8;font-size:12px;color:#5e7979}
#detail .login-actions{padding:24px 20px 18px;margin:0 -6px;background:rgba(255,255,255,.88);border:1px solid #fff;border-radius:26px;box-shadow:0 15px 40px #365e5010;gap:12px}
#detail .wechat-login{background:#159862;box-shadow:0 5px 14px #15986220;font-size:15px;letter-spacing:1px;border-radius:15px}
#detail .login-actions>.secondary{background:#f2f6f4;border:1px solid #e4eeea;color:#315e61;font-size:15px}
#detail .login-register{margin:4px 0 0}#detail .login-actions>.account-hint{font-size:10px!important}#detail .login-actions>.text-btn{font-size:11px;min-height:28px;padding:0}
#detail:has(#register-form) .register-hero{height:215px;background:none;position:relative;text-align:left;padding:16px 0 0;box-sizing:border-box}
#detail:has(#register-form) .register-hero>img{position:absolute;right:0;bottom:12px;width:65px;height:78px;object-fit:contain;margin:0}
#detail:has(#register-form) .register-hero>span{font-size:11px;letter-spacing:2px;color:#567774}
#detail:has(#register-form) .register-hero h3{font-size:25px;line-height:1.5;max-width:240px;margin:12px 0}
#detail:has(#register-form) .register-hero p{font-size:12px;max-width:230px;line-height:1.8}
#register-form{position:relative;background:#ffffffed;border:1px solid white;border-radius:26px;padding:24px 20px;margin:0 -6px;gap:19px;box-shadow:0 15px 40px #365e5010}
#register-form>label{font-size:12px;gap:8px}#register-form input:not([type=checkbox]){background:#f5f8f6;border-color:#e7eeea;border-radius:12px;font-size:14px}#register-form .account-consent{gap:5px;font-size:11px}#register-form .account-consent button{font-size:11px}#register-form .account-hint{font-size:10px!important}
@media(max-height:720px){#detail .login-hero{height:280px;padding-top:8px}#detail .login-hero h3{font-size:26px}#detail:has(#register-form) .register-hero{height:180px}}
#detail:has(.login-hero) #dialog-content,#detail:has(#register-form) #dialog-content{background:transparent url('assets/auth-landscape-v1.png?v=2') center top / 100% auto no-repeat}
#detail .login-hero h3{max-width:none;font-size:27px}#detail:has(#register-form) .register-hero h3{max-width:none;font-size:25px}#detail:has(.login-hero) .modal-head .close,#detail:has(#register-form) .modal-head .close{background:transparent}
/* Refined unified sign-in */
#detail:has(.auth-welcome),#detail:has(.phone-heading){background:#faf8f4}
#detail:has(.auth-welcome) #dialog-content{background:url('assets/auth-landscape-v1.png') center -55px / 100% auto no-repeat;min-height:100dvh}
#detail:has(.auth-welcome) .modal-head,#detail:has(.phone-heading) .modal-head{border:0;background:transparent;backdrop-filter:none}
#detail:has(.auth-welcome) .modal-head h2{visibility:hidden}
#detail:has(.auth-welcome) .modal-body,#detail:has(.phone-heading) .modal-body{padding:0 26px 28px}
.auth-welcome{height:350px;position:relative;padding:10px 2px 0}
.auth-eyebrow{font-size:10px;letter-spacing:2.5px;color:#567676}
.auth-welcome h2{font-size:48px;letter-spacing:8px;font-weight:600;color:#264f55;margin:12px 0 8px;line-height:1.3}
.auth-welcome p{font-size:15px;color:#365d61;margin:0 0 12px}.auth-service{font-size:11px;letter-spacing:1.5px;color:#627c79}
.auth-welcome img{position:absolute;right:7px;bottom:5px;width:78px;height:94px;object-fit:contain;filter:drop-shadow(0 8px 10px #244e5320)}
.auth-panel{background:#fffffff5;border:1px solid #fff;border-radius:26px;padding:24px;box-shadow:0 12px 40px #365e5010;display:grid;gap:13px}
.auth-panel h3{font-size:16px;font-weight:500;margin:0 0 7px;text-align:center;color:#345a5c}
.auth-panel button.wechat-login,.auth-panel>.primary{height:52px;border-radius:15px;font-size:15px;letter-spacing:.5px}.auth-panel .wechat-login{background:#159862;color:white}
.auth-phone-button{height:50px;border-radius:15px;background:#edf3f1;color:#305b5c;font-size:15px}
.auth-autoreg{font-size:11px!important;line-height:1.7!important;text-align:center;color:#84918e!important;margin:3px 0!important}
.auth-terms{font-size:10px!important;line-height:1.7!important;text-align:center;color:#8d9995!important;margin:0!important}.auth-terms button{font-size:10px;color:#526f69;padding:5px 0;min-height:30px}
#detail:has(.phone-heading) #dialog-content{background:linear-gradient(#f4f8f1dd,#faf8f4 350px),url('assets/auth-landscape-v1.png') center top / 100% auto no-repeat}
.phone-heading{padding:35px 3px 30px}.phone-heading h3{font-size:30px;line-height:1.45;font-weight:600;margin:15px 0;color:#2c565a}.phone-heading p{font-size:13px;color:#738883;margin:0}.phone-heading .text-btn{font-size:12px;margin-top:10px;padding-left:0;color:#3b7067}
.phone-panel{gap:16px;padding:25px 22px}.phone-panel>label{font-size:12px;color:#6e817c}.phone-number-field{display:flex;gap:14px;align-items:center;border-bottom:1px solid #bdd0c7;padding:6px 0 17px}.phone-number-field span{font-size:17px;color:#355b58;padding-right:12px;border-right:1px solid #d5e1da}.phone-number-field input{font-size:19px;background:none;border:0;outline:0;width:100%;min-width:0;color:#2d5557}.phone-number-field input::placeholder{font-size:16px;color:#a0ada7}.phone-panel>.primary{background:#245b68;color:white;border:0;width:100%;margin-top:7px}.phone-error{font-size:12px!important;min-height:0;color:#b45b44!important;margin:0!important}.phone-error:empty{display:none}
.code-field{width:100%;min-width:0;box-sizing:border-box;height:64px;border:1px solid #d9e5dd;border-radius:13px;background:#f4f8f5;padding:12px;font-size:26px;letter-spacing:9px;text-align:center;color:#2c5b58}.code-field::placeholder{font-size:15px;letter-spacing:1px;color:#96a79f}.code-assist{font-size:11px!important;color:#71877d!important;margin:0!important;display:flex;align-items:center;gap:8px}.code-assist strong{font-weight:500;letter-spacing:1px}.code-assist button{margin-left:auto;color:#357469;font-size:12px;min-height:36px}
@media(max-height:720px){.auth-welcome{height:280px}.auth-welcome h2{font-size:40px}.auth-panel{padding:20px}.phone-heading{padding-top:15px}}
#detail:has(.auth-welcome) #dialog-content{background-image:linear-gradient(180deg,#faf8f470 0%,#faf8f430 23%,transparent 38%),url('assets/auth-landscape-v1.png');background-position:center top,center top;background-size:100% 100%,100% auto;background-repeat:no-repeat}.auth-service{display:block}
/* Login art direction: calm editorial composition, open controls */
#detail:has(.auth-welcome) #dialog-content{background-image:linear-gradient(180deg,#faf8f4 0%,#faf8f4ed 12%,#faf8f430 30%,#faf8f400 42%,#faf8f4 65%),url('assets/auth-landscape-v1.png');background-size:100% 100%,100% auto;background-position:center top,center -48px;background-repeat:no-repeat}
#detail:has(.auth-welcome) .modal-body{padding:0 32px 24px;display:flex;flex-direction:column;flex:1}
#detail:has(.auth-welcome) .modal-head{height:54px;min-height:54px;padding:0 24px}
#detail:has(.auth-welcome) .modal-head .close{background:transparent;font-size:12px;color:#7c8a85;min-width:48px}
.auth-welcome{height:352px;padding:19px 0 0;text-align:center;flex-shrink:0}
.auth-welcome .auth-eyebrow{font-size:9px;letter-spacing:4px;color:#8a978c}
.auth-welcome h2{font-size:52px;font-weight:500;letter-spacing:12px;padding-left:12px;margin:12px 0 13px;color:#294b48;line-height:1.4}
.auth-welcome p{font-size:13px;font-weight:400;letter-spacing:2px;color:#64786c;margin:0}
.auth-welcome .auth-service,.auth-welcome>img{display:none}
#detail:has(.auth-welcome) .auth-panel{background:transparent;border:0;box-shadow:none;border-radius:0;padding:14px 0 0;gap:12px}
#detail:has(.auth-welcome) .auth-panel h3{display:none}
#detail:has(.auth-welcome) .wechat-login{height:54px;border-radius:16px;background:#238c66;box-shadow:0 6px 16px #238c6617;font-size:15px;font-weight:500;letter-spacing:1px}
#detail:has(.auth-welcome) .auth-phone-button{height:54px;border-radius:16px;border:1px solid #dce4dc;background:#ffffff90;font-size:14px;color:#476452;letter-spacing:1px}
#detail:has(.auth-welcome) .auth-autoreg{font-size:10px!important;margin:6px 0 0!important;color:#94a092!important}
#detail:has(.auth-welcome) .auth-terms{margin-top:18px!important;font-size:10px!important;color:#96a18f!important}
#detail:has(.auth-welcome) .auth-terms button{color:#697f6b;font-size:10px}
#detail:has(.auth-welcome) .modal-body:after{content:'山水洲城 · 与你相遇';display:block;text-align:center;font-size:9px;letter-spacing:4px;color:#a0ac99;margin-top:auto;padding:30px 0 0}
@media(max-height:720px){.auth-welcome{height:285px;padding-top:8px}.auth-welcome h2{font-size:44px}#detail:has(.auth-welcome) .auth-terms{margin-top:8px!important}#detail:has(.auth-welcome) .modal-body:after{padding-top:20px}}
/* Balance login artwork and actions across the available screen height. */
#detail:has(.auth-welcome) .auth-welcome{height:clamp(300px,calc(100dvh - 350px),500px)}
#detail:has(.auth-welcome) .auth-panel{padding-top:8px}
#detail:has(.auth-welcome) .auth-terms{margin-top:10px!important}
#detail:has(.auth-welcome) .modal-body:after{margin-top:18px;padding:8px 0 0}
@media(max-height:650px){#detail:has(.auth-welcome) .auth-welcome{height:260px}#detail:has(.auth-welcome) .modal-body:after{margin-top:10px}}
/* One quiet footer line for the login screen. */
#detail:has(.auth-welcome) .auth-autoreg{display:none}
#detail:has(.auth-welcome) .modal-body:after{content:none;display:none}
#detail:has(.auth-welcome) .auth-terms{margin-top:16px!important;font-size:11px!important;letter-spacing:0;line-height:1.8!important;color:#87938a!important}
#detail:has(.auth-welcome) .auth-terms button{font-size:11px;color:#536e60;text-decoration:none}
/* Launch identity aligned with the sign-in artwork. */
#launch-screen{background:#faf8f4;display:block}
#launch-screen .launch-brand{position:absolute;top:19%;left:0;right:0;margin:0;padding:0 24px;text-align:center}
#launch-screen .launch-kicker{display:block;font-size:10px;letter-spacing:6px;padding-left:6px;color:#8c9c91}
#launch-screen .launch-brand h1{font-size:58px;line-height:1.4;font-weight:500;letter-spacing:14px;padding-left:14px;color:#294b48;margin:14px 0 13px}
#launch-screen .launch-service{font-size:11px;letter-spacing:3px;color:#72877a;margin:0}
#launch-screen .launch-landscape{inset:auto 0 0;width:100%;height:66%;object-fit:cover;object-position:center 58%;opacity:.85;mask-image:linear-gradient(transparent 0%,#000 24%,#000 74%,transparent 100%)}
#launch-screen .launch-footer{position:absolute;bottom:calc(44px + env(safe-area-inset-bottom));left:0;right:0;text-align:center;font-size:11px;letter-spacing:2px;color:#6f8578}
@media(max-height:650px){#launch-screen .launch-brand{top:13%}#launch-screen .launch-brand h1{font-size:48px}}
/* Extend the landscape beneath login actions with a continuous fade. */
#detail:has(.auth-welcome) #dialog-content{background-image:linear-gradient(180deg,rgba(250,248,244,.9) 0%,rgba(250,248,244,.5) 16%,rgba(250,248,244,.08) 34%,rgba(250,248,244,.12) 48%,rgba(250,248,244,.66) 70%,rgba(250,248,244,.94) 91%,#faf8f4 100%),url('assets/auth-landscape-v1.png');background-size:100% 100%,100% 118%;background-position:center top,center top;background-repeat:no-repeat}
/* Phone sign-in: quiet landscape, open form, consistent with brand entry. */
#detail:has(.phone-heading) #dialog-content{background-image:linear-gradient(180deg,#faf8f4d9 0%,#faf8f4ed 29%,#faf8f4ed 60%,#faf8f499 82%,#faf8f4d9 100%),url('assets/auth-landscape-v1.png');background-size:100% 100%,100% auto;background-position:center top,center bottom;background-repeat:no-repeat;min-height:100dvh}
#detail:has(.phone-heading) .modal-body{padding:0 30px 32px}
#detail:has(.phone-heading) .modal-head{padding:0 20px;height:58px}
#detail:has(.phone-heading) .modal-head h2{font-size:14px;font-weight:400;color:#718377}
#detail:has(.phone-heading) .modal-head .close{background:none}
.phone-heading{padding:46px 0 34px}
.phone-heading .auth-eyebrow{font-size:10px;letter-spacing:3px;color:#88968b}
.phone-heading h3{font-size:28px;line-height:1.45;font-weight:500;color:#2c514b;letter-spacing:1px;margin:18px 0 12px}
.phone-heading p{font-size:13px;color:#819087;line-height:1.8}
.phone-heading .text-btn{margin:6px 0 0;min-height:32px;color:#507e68}
.phone-panel{padding:0;border:0;background:none;box-shadow:none;border-radius:0;gap:14px}
.phone-panel>label{font-size:12px;color:#718579;letter-spacing:1px}
.phone-number-field{border:1px solid #dce5da;border-radius:17px;background:#ffffffc9;padding:18px 16px;gap:13px;min-height:66px;box-shadow:0 4px 16px #36574404}
.phone-number-field span{font-size:16px;color:#4b6a59;border-color:#dce5da}
.phone-number-field input{font-size:20px;letter-spacing:1px;line-height:1.5;color:#2a564b}
.phone-number-field input::placeholder{font-size:15px;letter-spacing:0;color:#a2afa3}
.phone-number-field:focus-within{border-color:#759f87;box-shadow:0 0 0 3px #759f870d}
.phone-panel>.primary{height:54px;margin-top:15px;border-radius:16px;background:#285f50;color:white;font-size:15px;font-weight:500;letter-spacing:1px;box-shadow:0 5px 14px #285f5014}
.phone-panel .auth-autoreg{font-size:11px!important;color:#839487!important;line-height:1.8!important;margin-top:5px!important}
.phone-panel .auth-terms{font-size:10px!important;color:#94a091!important;margin-top:12px!important}
.phone-panel .code-field{height:70px;border-radius:17px;border:1px solid #dce5da;background:#ffffffcc;letter-spacing:12px;font-size:27px;color:#2a564b}
.phone-panel .code-field:focus{outline:2px solid #759f8755;outline-offset:2px}
.phone-panel .code-assist{font-size:11px!important;color:#84958a!important;gap:8px}
@media(max-height:650px){.phone-heading{padding-top:22px;padding-bottom:24px}}
#unified-phone-form .auth-autoreg{display:none}#detail:has(.phone-heading) .modal-head .close:focus:not(:focus-visible){outline:none}
.logout-section{margin-top:32px;padding-top:20px;border-top:1px solid #e3ebe3}.logout-button{width:100%;min-height:50px;border-radius:14px;background:#fff;border:1px solid #eadfd7;color:#a45e48;font-size:14px}.logout-copy{padding:18px 0}.logout-copy h3{font-size:20px;color:#34584f}.logout-copy p{font-size:14px;line-height:1.8;color:#7d8b82}
