:root{--ink: #102b3d;--ink-soft: #3d5562;--sea: #0b6970;--sea-pale: #dcebea;--paper: #f8f1e5;--coral: #e85c46;--line: rgba(16, 43, 61, .16);color:var(--ink);background:var(--paper);font-family:Noto Sans CJK SC,Source Han Sans SC,Microsoft YaHei,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.app-shell{isolation:isolate;overflow:hidden;position:relative}.paper-grain{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");top:0;right:0;bottom:0;left:0;opacity:.075;pointer-events:none;position:fixed;z-index:-1}.topbar,.hero,.workspace,.route-section,.boundaries,footer{width:min(1180px,calc(100% - 64px));margin-inline:auto}.topbar{align-items:center;display:grid;grid-template-columns:1fr auto 1fr;min-height:98px}.brand{align-items:center;display:inline-flex;gap:9px;justify-self:start;letter-spacing:-.05em}.brand>span{font-family:"Noto Serif CJK SC",Songti SC,STSong,serif;font-size:1.85rem;font-weight:800}.brand small{color:var(--ink-soft);font-family:Georgia,serif;font-size:.53rem;font-weight:700;letter-spacing:.13em;margin-left:1px}.compass-mark{color:var(--coral);height:31px;width:31px}nav{display:flex;gap:29px;font-size:.86rem;font-weight:700}nav a{color:var(--ink-soft);transition:color .2s ease}nav a:hover{color:var(--coral)}.login-button{background:var(--ink);border:0;color:var(--paper);cursor:pointer;font-size:.82rem;font-weight:700;justify-self:end;padding:12px 17px;transition:background .2s ease,transform .2s ease}.login-button:hover{background:var(--coral);transform:translateY(-2px)}.login-button.signed-in{background:var(--sea)}.hero{align-items:end;display:grid;gap:clamp(30px,7vw,120px);grid-template-columns:minmax(0,1fr) 255px;min-height:555px;padding:100px 68px 95px;position:relative}.hero:before{background:var(--sea-pale);content:"";height:100%;position:absolute;right:-6vw;top:0;transform:skew(-7deg);width:57%;z-index:-1}.section-kicker{align-items:center;color:var(--sea);display:flex;font-size:.76rem;font-weight:800;gap:10px;letter-spacing:.13em;margin:0 0 19px;text-transform:uppercase}.section-kicker span{background:var(--coral);display:inline-block;height:8px;transform:rotate(45deg);width:8px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Noto Serif CJK SC",Songti SC,STSong,serif}h1{font-size:clamp(3.1rem,6vw,5.85rem);letter-spacing:-.09em;line-height:1.04;margin-bottom:27px}h1 em{color:var(--coral);font-style:normal}.hero-lede{color:var(--ink-soft);font-size:1rem;line-height:1.95;max-width:560px}.promise-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:31px}.promise-row span{border:1px solid var(--line);color:var(--ink-soft);font-size:.73rem;padding:7px 10px}.hero-stamp{align-self:center;background:var(--ink);box-shadow:13px 13px 0 var(--coral);color:var(--paper);min-height:276px;padding:28px;transform:rotate(3deg)}.hero-stamp p{color:#a4cac9;font-size:.68rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.hero-stamp strong{display:block;font-family:"Noto Serif CJK SC",Songti SC,serif;font-size:2rem;letter-spacing:-.07em;line-height:1.17}.hero-stamp>span{display:block;font-family:Georgia,serif;font-size:.57rem;font-weight:700;letter-spacing:.13em;margin-top:20px}.stamp-rule{background:#f8f1e58c;height:1px;margin:13px 0}.hero-stamp small{color:#b9d1cf;font-size:.7rem;line-height:1.7}.workspace{background:#fffdf8;border:1px solid var(--line);display:grid;grid-template-columns:.72fr 1.28fr;margin-top:46px;padding:clamp(30px,4vw,58px);position:relative}.workspace:after{border:1px solid var(--coral);bottom:-8px;content:"";left:8px;pointer-events:none;position:absolute;right:-8px;top:8px;z-index:-1}.workspace-heading{padding:7px 42px 20px 0}.workspace h2,.route-section h2,.boundaries h2{font-size:clamp(2rem,3.5vw,3.5rem);letter-spacing:-.075em;line-height:1.13;margin-bottom:19px}.workspace-heading>p:last-child{color:var(--ink-soft);font-size:.9rem;line-height:1.85}.mode-tabs{align-items:end;border-bottom:1px solid var(--line);display:flex;gap:25px}.mode-tabs button{background:transparent;border:0;color:#84918d;cursor:pointer;font-size:.86rem;font-weight:800;padding:12px 2px;position:relative}.mode-tabs button.active{color:var(--ink)}.mode-tabs button.active:after{background:var(--coral);bottom:-1px;content:"";height:3px;left:0;position:absolute;right:0}.intake-grid{display:grid;gap:14px;grid-template-columns:1.35fr .8fr;margin-top:19px}.drop-zone{align-items:center;background:var(--sea-pale);border:1px dashed rgba(11,105,112,.48);cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:283px;padding:28px;text-align:center;transition:background .2s ease,transform .2s ease}.drop-zone:hover,.drop-zone:focus-visible{background:#cfe5e2;outline:none;transform:translateY(-2px)}.drop-zone input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.upload-orbit{align-items:center;border:1px solid var(--sea);border-radius:50%;color:var(--sea);display:flex;font-family:Georgia,serif;font-size:1.7rem;height:51px;justify-content:center;margin-bottom:16px;width:51px}.drop-zone h3{font-size:1.23rem;letter-spacing:-.05em;margin-bottom:8px;word-break:break-word}.drop-zone p{color:var(--ink-soft);font-size:.76rem;line-height:1.8;margin-bottom:16px;max-width:295px}.choose-file{color:var(--sea);font-size:.74rem;font-weight:800}.choose-file b{font-size:1rem;margin-left:5px}.intake-note{background:var(--ink);color:var(--paper);display:flex;flex-direction:column;min-height:283px;padding:24px}.note-number{color:var(--coral);font-family:Georgia,serif;font-size:1.06rem}.intake-note h3{font-size:1.34rem;letter-spacing:-.06em;margin:auto 0 9px}.intake-note p{color:#bad2ce;font-size:.75rem;line-height:1.8}.intake-note button{align-items:center;background:transparent;border:0;border-top:1px solid rgba(248,241,229,.35);color:var(--paper);cursor:pointer;display:flex;font-size:.78rem;font-weight:800;justify-content:space-between;margin-top:7px;padding:12px 0 0;text-align:left}.intake-note button span{color:var(--coral);font-size:1.25rem}.intake-message{color:var(--ink-soft);font-size:.76rem;grid-column:2;line-height:1.65;margin:14px 0 0}.route-section{display:grid;gap:80px;grid-template-columns:.75fr 1.25fr;padding-block:150px}.route-intro h2{margin-bottom:0}.journey-list{border-top:1px solid var(--line);list-style:none;margin:0;padding:0}.journey-list li{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:23px;grid-template-columns:40px 1fr 25px;min-height:120px;transition:padding .2s ease,background .2s ease}.journey-list li:hover{background:#dcebea85;padding-inline:13px}.journey-list li>span{color:var(--coral);font-family:Georgia,serif;font-size:.8rem}.journey-list h3{font-size:1.52rem;letter-spacing:-.06em;margin-bottom:5px}.journey-list p{color:var(--ink-soft);font-size:.82rem;margin-bottom:0}.journey-list i{color:var(--sea);font-size:1.3rem;font-style:normal}.boundaries{background:var(--coral);color:#fff8ed;display:grid;gap:80px;grid-template-columns:.83fr 1.17fr;margin-bottom:52px;padding:clamp(38px,7vw,80px)}.boundaries .section-kicker{color:#ffe2b3}.boundaries .section-kicker span{background:var(--ink)}.boundaries h2{margin-bottom:0}.boundary-list{border-top:1px solid rgba(255,248,237,.45)}.boundary-list p{border-bottom:1px solid rgba(255,248,237,.45);font-size:.92rem;line-height:1.9;margin:0;padding:18px 0}.boundary-list b{display:inline-block;font-family:"Noto Serif CJK SC",Songti SC,serif;font-size:1.16rem;letter-spacing:-.04em;margin-right:17px;min-width:78px}footer{align-items:center;border-top:1px solid var(--line);display:grid;gap:20px;grid-template-columns:1fr 1fr auto;min-height:128px}.footer-brand .compass-mark{height:25px;width:25px}.footer-brand>span{font-size:1.45rem}.footer-brand small{display:none}footer p{color:var(--ink-soft);font-family:"Noto Serif CJK SC",Songti SC,serif;font-size:.95rem;margin:0;text-align:center}footer>span{color:var(--ink-soft);font-family:Georgia,serif;font-size:.62rem;letter-spacing:.06em}.panel-backdrop{align-items:stretch;background:#06192494;display:flex;top:0;right:0;bottom:0;left:0;justify-content:flex-end;position:fixed;z-index:30}.account-panel{animation:panel-in .38s cubic-bezier(.16,1,.3,1) both;background:#fffdf8;box-shadow:-24px 0 70px #051c2840;max-width:100%;min-height:100%;overflow-y:auto;position:relative;width:min(485px,100%)}.account-panel:before{background-image:radial-gradient(rgba(16,43,61,.09) .7px,transparent .7px);background-size:7px 7px;content:"";top:0;right:0;bottom:0;left:0;opacity:.27;pointer-events:none;position:absolute}.panel-head{align-items:start;background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;min-height:184px;padding:42px 40px 34px;position:relative}.panel-head:after{background:var(--coral);bottom:-7px;content:"";height:14px;left:40px;position:absolute;transform:skew(-26deg);width:82px}.panel-head p{color:#9fcac8;font-family:Georgia,serif;font-size:.6rem;font-weight:700;letter-spacing:.13em;margin-bottom:13px}.panel-head h2{font-size:2.5rem;letter-spacing:-.075em;margin:0}.panel-close{background:transparent;border:1px solid rgba(248,241,229,.35);border-radius:50%;color:var(--paper);cursor:pointer;font-family:Georgia,serif;font-size:1.45rem;height:39px;line-height:1;transition:border-color .2s ease,color .2s ease,transform .2s ease;width:39px}.panel-close:hover{border-color:var(--coral);color:var(--coral);transform:rotate(8deg)}.panel-loading{align-items:center;color:var(--ink-soft);display:flex;font-size:.85rem;gap:12px;padding:48px 40px}.panel-loading span{animation:pulse 1s ease-in-out infinite alternate;background:var(--coral);height:10px;transform:rotate(45deg);width:10px}.auth-content,.account-home{padding:42px 40px 46px;position:relative}.auth-tabs{border-bottom:1px solid var(--line);display:flex;gap:27px}.auth-tabs button{background:transparent;border:0;color:#87928f;cursor:pointer;font-weight:800;padding:0 2px 13px;position:relative}.auth-tabs button.active{color:var(--ink)}.auth-tabs button.active:after{background:var(--coral);bottom:-1px;content:"";height:3px;left:0;position:absolute;right:0}.auth-intro{color:var(--ink-soft);font-size:.86rem;line-height:1.85;margin:25px 0 27px}.auth-form{display:grid;gap:19px}.auth-form label{display:grid;gap:8px}.auth-form label>span{color:var(--sea);font-size:.72rem;font-weight:800;letter-spacing:.08em}.auth-form input{background:#f6efe3;border:1px solid transparent;border-bottom-color:#102b3d57;color:var(--ink);min-height:50px;outline:none;padding:12px 14px;transition:background .2s ease,border-color .2s ease;width:100%}.auth-form input:focus{background:#fff;border-color:var(--sea)}.auth-submit{align-items:center;background:var(--coral);border:0;color:#fffaf0;cursor:pointer;display:flex;font-size:.85rem;font-weight:800;justify-content:space-between;margin-top:5px;min-height:53px;padding:0 18px;transition:background .2s ease,transform .2s ease}.auth-submit:hover:not(:disabled){background:var(--ink);transform:translateY(-2px)}.auth-submit:disabled,.logout-button:disabled{cursor:wait;opacity:.65}.auth-submit span{font-size:1.25rem}.auth-error{background:#ffebe5;border-left:3px solid var(--coral);color:#7b2e24;font-size:.76rem;line-height:1.6;margin:0;padding:10px 12px}.auth-assurance{border-top:1px solid var(--line);color:var(--ink-soft);font-size:.68rem;line-height:1.7;margin:28px 0 0;padding-top:18px}.auth-assurance i{color:var(--coral);font-style:normal;margin-right:7px}.identity-ticket{background:var(--sea-pale);border:1px solid rgba(11,105,112,.28);padding:24px;position:relative}.identity-ticket:before,.identity-ticket:after{background:#fffdf8;border-radius:50%;content:"";height:18px;position:absolute;top:calc(50% - 9px);width:18px}.identity-ticket:before{left:-10px}.identity-ticket:after{right:-10px}.identity-ticket>p{color:var(--sea);font-size:.7rem;font-weight:800;letter-spacing:.1em;margin-bottom:8px}.identity-ticket strong{display:block;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;overflow-wrap:anywhere}.identity-ticket small{color:var(--ink-soft);display:block;font-size:.67rem;line-height:1.7;margin-top:13px;max-width:300px}.role-seal{align-items:center;background:var(--sea);border-radius:50%;color:#fff;display:flex;font-family:"Noto Serif CJK SC",Songti SC,serif;font-size:.72rem;font-weight:800;height:48px;justify-content:center;position:absolute;right:20px;top:20px;transform:rotate(8deg);width:48px}.role-seal.admin{background:var(--coral)}.page-ledger{align-items:end;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;margin-top:35px;padding-bottom:13px}.page-ledger p{color:var(--sea);font-family:Georgia,serif;font-size:.58rem;font-weight:700;letter-spacing:.13em;margin-bottom:5px}.page-ledger h3{font-size:1.45rem;letter-spacing:-.06em;margin:0}.ledger-count{color:var(--coral);font-family:Georgia,serif;font-size:2rem;line-height:1}.ledger-state{color:var(--ink-soft);font-size:.7rem}.empty-ledger{color:var(--ink-soft);font-size:.76rem;line-height:1.75;padding:19px 0 8px}.page-list{list-style:none;margin:0;padding:0}.page-list li{border-bottom:1px solid var(--line);display:flex;font-size:.8rem;justify-content:space-between;padding:13px 0}.page-list small{color:var(--sea)}.admin-entry{align-items:center;background:var(--ink);border:0;color:var(--paper);cursor:pointer;display:flex;justify-content:space-between;margin-top:24px;padding:16px 18px;text-align:left;transition:background .2s ease,transform .2s ease;width:100%}.admin-entry:hover{background:var(--coral);transform:translateY(-2px)}.admin-entry small{color:#9fcac8;display:block;font-family:Georgia,serif;font-size:.55rem;letter-spacing:.12em;margin-bottom:4px}.admin-entry b{font-size:1.25rem}.logout-button{background:transparent;border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;font-size:.74rem;font-weight:700;margin-top:14px;min-height:45px;transition:border-color .2s ease,color .2s ease;width:100%}.logout-button:hover:not(:disabled){border-color:var(--coral);color:var(--coral)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-in{0%{opacity:0;transform:translate(42px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%{opacity:.4;transform:rotate(45deg) scale(.75)}to{opacity:1;transform:rotate(45deg) scale(1)}}.reveal-one,.reveal-two,.reveal-three{animation:rise .7s both cubic-bezier(.16,1,.3,1)}.reveal-two{animation-delay:.13s}.reveal-three{animation-delay:.24s}@media(max-width:820px){.topbar,.hero,.workspace,.route-section,.boundaries,footer{width:min(100% - 32px,1180px)}.topbar{grid-template-columns:1fr auto;min-height:78px}nav{display:none}.brand small{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding:74px 22px}.hero:before{height:57%;right:-10vw;top:auto;transform:skew(-6deg);width:84%}.hero-stamp{justify-self:end;max-width:250px}.workspace,.route-section,.boundaries{gap:33px;grid-template-columns:1fr}.workspace-heading{padding-right:0}.intake-message{grid-column:auto}.route-section{padding-block:96px}footer{grid-template-columns:1fr auto;padding-block:25px}footer p{display:none}}@media(max-width:520px){.topbar,.hero,.workspace,.route-section,.boundaries,footer{width:min(100% - 26px,1180px)}.login-button{font-size:.72rem;padding:10px 11px}h1{font-size:clamp(2.8rem,14vw,4.1rem)}.hero{padding-inline:0}.hero-copy{padding-inline:7px}.hero-stamp{margin-right:20px}.workspace{padding:25px 18px}.mode-tabs{gap:14px}.mode-tabs button{font-size:.76rem}.intake-grid{grid-template-columns:1fr}.drop-zone,.intake-note{min-height:236px}.boundaries{padding:35px 25px}.boundary-list b{display:block;margin-bottom:3px}.panel-head{min-height:154px;padding:31px 25px 28px}.panel-head:after{left:25px}.panel-head h2{font-size:2.15rem}.auth-content,.account-home{padding:36px 25px 38px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
