:root{color:#142d42;font-synthesis:none;text-rendering:optimizelegibility;--navy:#071b31;--navy-soft:#0d304d;--teal:#0b8c7d;--teal-light:#a8ecdf;--ink:#142d42;--muted:#667b8d;--line:#d8e2e7;--surface:#fff;--danger:#b42318;background:#f4f7f8;font-family:Inter,Noto Sans TC,PingFang TC,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #0d8c7d47}.app-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{color:#fff;background:var(--navy);border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(20px,5vw,72px);display:flex}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{width:40px;height:40px;color:var(--navy);background:linear-gradient(145deg,#81ead7,#d4fff5);border-radius:12px;place-items:center;font-size:.82rem;font-weight:800;display:grid}.brand>span:last-child{flex-direction:column;display:flex}.brand strong{letter-spacing:.01em;font-size:.88rem}.brand small{color:#86aabd;letter-spacing:.13em;text-transform:uppercase;font-size:.64rem}.site-header nav{align-items:center;gap:24px;display:flex}.site-header nav a,.text-button{color:#b8c8d4;cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:.84rem;text-decoration:none}.site-header nav a:hover,.text-button:hover{color:#fff}main{flex:1}footer{color:#748695;border-top:1px solid var(--line);background:#eaf0f2;justify-content:space-between;gap:20px;padding:22px clamp(20px,5vw,72px);font-size:.72rem;display:flex}.button{color:#fff;background:var(--teal);border:1px solid var(--teal);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;min-height:46px;padding:0 22px;font-size:.86rem;font-weight:700;text-decoration:none;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 10px 24px #0b8c7d2e}.button:hover{transform:translateY(-1px);box-shadow:0 14px 28px #0b8c7d40}.button:disabled{opacity:.58;cursor:wait;transform:none}.button-secondary{color:var(--ink);border-color:var(--line);box-shadow:none;background:#fff}.button-small{border-radius:8px;min-height:36px;padding:0 15px}.text-link{color:var(--muted);font-size:.86rem;font-weight:600;text-decoration:none}.eyebrow{color:var(--teal);letter-spacing:.18em;text-transform:uppercase;margin:0 0 10px;font-size:.7rem;font-weight:800}.hero{color:#fff;background:radial-gradient(circle at 68% 20%,#1eab9630,#0000 26%),linear-gradient(125deg,#061527 0%,#0a2743 62%,#0b3f50 100%);grid-template-columns:minmax(0,1.1fr) minmax(360px,.72fr);align-items:center;gap:clamp(44px,8vw,120px);min-height:610px;padding:clamp(60px,9vw,128px) clamp(20px,7vw,110px);display:grid}.hero-copy{max-width:760px}.hero-copy .eyebrow{color:#75d9c7}.hero h1{letter-spacing:-.045em;max-width:760px;margin:0;font-size:clamp(2.5rem,5.2vw,5rem);line-height:1.07}.hero-lead{color:#aebfcd;max-width:660px;margin:26px 0 0;font-size:1rem;line-height:1.85}.hero-actions{gap:12px;margin-top:36px;display:flex}.hero .button-secondary{color:#eaf4f6;background:#ffffff0d;border-color:#ffffff2e}.inline-error{color:#ffc9c4;font-size:.8rem}.signal-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#04111f85;border:1px solid #a5e7dc38;border-radius:18px;padding:28px;box-shadow:0 30px 70px #0003}.signal-head{color:#7bcfc0;letter-spacing:.12em;border-bottom:1px solid #ffffff1f;justify-content:space-between;padding-bottom:20px;font-size:.66rem;display:flex}.signal-head strong{color:#d7f8f1;letter-spacing:0}.signal-grid{grid-template-columns:1fr 1fr;gap:12px;margin:24px 0;display:grid}.signal-grid div{background:#ffffff0b;border-radius:10px;flex-direction:column;gap:8px;padding:16px;display:flex}.signal-grid small{color:#7893a7;font-size:.66rem}.signal-grid strong{color:#f2faf9;font-size:.82rem}.signal-card>p{color:#8da5b6;margin:0;font-size:.74rem;line-height:1.7}.principles{grid-template-columns:repeat(3,1fr);gap:1px;max-width:1280px;margin:0 auto;padding:64px clamp(20px,5vw,72px) 84px;display:grid}.principles article{border-left:1px solid var(--line);padding:28px 32px}.principles article:first-child{border-left:0}.principles span{color:var(--teal);font-size:.68rem;font-weight:800}.principles h2{margin:12px 0 8px;font-size:1.1rem}.principles p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.7}.form-page{background:var(--surface);grid-template-columns:minmax(340px,.72fr) minmax(540px,1.15fr);min-height:calc(100vh - 76px);display:grid}.form-intro{color:#e6f1f4;background:radial-gradient(circle at 15% 15%, #22c2aa33, transparent 28%), linear-gradient(145deg, var(--navy), #0b3d50);padding:clamp(48px,8vw,112px)}.form-intro .eyebrow{color:#79ddca}.form-intro h1{color:#fff;margin:0 0 20px;font-size:clamp(2.1rem,4vw,3.5rem);line-height:1.12}.form-intro>p:not(.eyebrow){color:#a9bdca;line-height:1.8}.form-intro dl{margin-top:52px}.form-intro dl div{border-top:1px solid #ffffff1f;grid-template-columns:70px 1fr;padding:16px 0;display:grid}.form-intro dt{color:#74ddc8;font-size:.72rem;font-weight:700}.form-intro dd{color:#c6d5de;margin:0;font-size:.82rem}.form-card,.profile-card{background:#fff;padding:clamp(36px,6vw,80px)}.form-card{flex-direction:column;justify-content:center;display:flex}.card-heading{margin-bottom:30px}.card-heading h2{letter-spacing:-.025em;margin:0 0 8px;font-size:1.8rem}.card-heading p{color:var(--muted);margin:0;font-size:.84rem}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-grid-full{grid-column:1/-1}.form-field{color:#31495d;flex-direction:column;gap:8px;font-size:.78rem;font-weight:650;display:flex}.form-field input,.form-field textarea{width:100%;color:var(--ink);border:1px solid var(--line);background:#fbfcfd;border-radius:9px;padding:12px 13px;font-size:.88rem;font-weight:400;transition:border-color .15s,box-shadow .15s}.form-field input{height:45px}.form-field textarea{resize:vertical;line-height:1.65}.form-field input:focus,.form-field textarea:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #0b8c7d1a}.form-field input:disabled{color:#788c9b;background:#edf2f4}.form-field small{color:var(--muted);font-size:.68rem;font-weight:400}.form-field-error input,.form-field-error textarea{border-color:#e07a70}.form-field-error small,.field-error{color:var(--danger)}.consent{color:#4f6475;align-items:flex-start;gap:10px;margin-top:22px;font-size:.78rem;line-height:1.55;display:flex}.consent input{width:17px;height:17px;accent-color:var(--teal)}.form-actions{justify-content:flex-end;align-items:center;gap:20px;margin-top:30px;display:flex}.alert{border-radius:9px;margin-bottom:22px;padding:13px 16px;font-size:.78rem}.alert-error{color:#8f231b;background:#fff1f0;border:1px solid #f3c8c4}.alert-success{color:#086b5e;background:#e9f8f5;border:1px solid #b7e5dc}.success-panel{flex-direction:column;justify-content:center;align-items:flex-start;min-height:360px;display:flex}.success-panel>span{color:#fff;background:var(--teal);border-radius:50%;place-items:center;width:48px;height:48px;font-weight:800;display:grid}.success-panel h3{margin:22px 0 6px;font-size:1.8rem}.success-panel p{color:var(--muted)}.success-panel code{color:#28556b;word-break:break-all;background:#edf5f6;border-radius:8px;padding:10px 12px}.profile-page{max-width:1320px;margin:0 auto;padding:48px clamp(20px,5vw,72px) 80px}.page-heading{justify-content:space-between;align-items:center;gap:30px;margin-bottom:28px;display:flex}.page-heading h1{letter-spacing:-.035em;margin:0 0 8px;font-size:2.25rem}.page-heading p:last-child{color:var(--muted);margin:0;font-size:.82rem}.status-chip{color:#087465;background:#e5f7f3;border:1px solid #b5e8de;border-radius:999px;padding:7px 12px;font-size:.68rem;font-weight:800}.status-locked,.status-disabled{color:#9b4614;background:#fff2df;border-color:#efcf9f}.profile-layout{grid-template-columns:270px 1fr;align-items:start;gap:22px;display:grid}.identity-card,.profile-card{border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 34px #1231430d}.identity-card{text-align:center;padding:28px}.avatar{color:#063a3c;background:linear-gradient(145deg,#82e4d2,#d2fff6);border-radius:18px;place-items:center;width:72px;height:72px;margin:0 auto 18px;font-size:1.6rem;font-weight:800;display:grid}.identity-card h2{margin:0;font-size:1.05rem}.identity-card>p{color:var(--muted);word-break:break-all;margin:6px 0 24px;font-size:.72rem}.identity-card>small{color:#8a9aa6;margin-top:24px;font-size:.64rem;display:block}.role-list{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:18px;display:flex}.role-list span{color:var(--muted);font-size:.65rem}.role-list strong{color:#31556b;background:#edf3f5;border-radius:6px;padding:6px;font-size:.65rem}.profile-card{padding:34px}.last-updated{color:var(--muted);margin-right:auto;font-size:.68rem}.state-page{min-height:calc(100vh - 170px);color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.state-page h1{color:var(--ink);margin:16px 0 6px}.spinner{border:3px solid #d9e6e6;border-top-color:var(--teal);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:900px){.site-header nav>a{display:none}.hero{grid-template-columns:1fr}.signal-card{max-width:620px}.form-page{grid-template-columns:1fr}.form-intro{padding-bottom:48px}.form-intro dl{display:none}.profile-layout{grid-template-columns:1fr}.identity-card{text-align:left}.avatar{margin-left:0}}@media (max-width:620px){.brand strong{text-overflow:ellipsis;white-space:nowrap;max-width:175px;display:block;overflow:hidden}.brand small,footer span:last-child{display:none}.hero{min-height:auto;padding-top:72px}.hero h1{font-size:2.45rem}.hero-actions,.page-heading{flex-direction:column;align-items:stretch}.signal-grid,.principles,.form-grid{grid-template-columns:1fr}.principles article{border-top:1px solid var(--line);border-left:0}.form-grid-full{grid-column:auto}.form-card,.profile-card{padding:28px 20px}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions .button{width:100%}.last-updated{text-align:center;margin:0}}
