:root{color:#17343f;background:#f4efe3;font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #17343f;--ink-soft: #5e6f73;--sea: #123743;--sea-bright: #286779;--sand: #f4efe3;--paper: #fffdf7;--gold: #e9ad4b;--coral: #d66b4f;--line: rgba(23, 52, 63, .12);--shadow: 0 24px 70px rgba(24, 64, 75, .13)}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{min-width:320px;min-height:100dvh;margin:0;background:radial-gradient(circle at 12% 0%,rgba(233,173,75,.22),transparent 31rem),linear-gradient(180deg,#f8f4e9,#eee7d8)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(40,103,121,.35);outline-offset:3px}.skip-link{position:fixed;top:8px;left:8px;z-index:20;padding:10px 14px;color:#fff;background:var(--sea);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-shell{position:relative;min-height:100dvh;overflow:hidden}.ambient{position:fixed;z-index:0;border-radius:999px;filter:blur(1px);pointer-events:none}.ambient--one{width:18rem;height:18rem;right:-9rem;top:18rem;background:#2b6d7c17}.ambient--two{width:13rem;height:13rem;left:-7rem;bottom:4rem;background:#d66b4f14}.page{position:relative;z-index:1;width:min(100%,38rem);min-height:100dvh;margin:0 auto;padding:max(1.25rem,env(safe-area-inset-top)) 1.25rem calc(7.5rem + env(safe-area-inset-bottom))}.brand-header{display:flex;align-items:center;gap:.85rem;margin-bottom:3rem}.brand-logo{flex:none;width:3.5rem;height:3.5rem;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(18,55,67,.18))}.brand-copy{min-width:0}.brand-name,.brand-product,.kicker,.order-number{margin:0}.brand-name{color:var(--ink);font-family:Songti SC,STSong,serif;font-size:1rem;font-weight:700;letter-spacing:.08em}.brand-product{margin-top:.24rem;color:var(--ink-soft);font-size:.72rem;font-weight:600;letter-spacing:.08em}.kicker{color:var(--sea-bright);font-size:.68rem;font-weight:700;letter-spacing:.12em}.hero{max-width:31rem;margin-bottom:2rem}.hero--compact{margin-bottom:2.3rem}.hero--list{margin-bottom:1.5rem}.hero h1,.empty-state h1,.detail-hero h1{margin:.45rem 0 .85rem;font-family:Songti SC,STSong,serif;font-size:clamp(2rem,9vw,3.3rem);line-height:1.08;letter-spacing:-.055em;text-wrap:balance}.hero p:last-child,.empty-state>p:last-of-type,.detail-hero>p{max-width:30rem;margin:0;color:var(--ink-soft);font-size:.96rem;line-height:1.75}.skeleton-stack{padding:1.4rem;border-radius:2rem .9rem 2rem 2rem;background:#fffdf7ad}.skeleton{overflow:hidden;position:relative;background:#e8e2d5}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.62),transparent);transform:translate(-100%);animation:shimmer 1.4s infinite}.skeleton--hero{height:8.5rem;margin-bottom:1.4rem;border-radius:1.35rem}.skeleton--line{height:.8rem;margin-top:.75rem;border-radius:.4rem}.skeleton--short{width:62%}@keyframes shimmer{to{transform:translate(100%)}}.form-card,.breakdown{padding:1.35rem;border:1px solid rgba(255,255,255,.72);border-radius:2rem .9rem 2rem 2rem;background:#fffdf7e0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.field{display:grid;gap:.55rem;margin-bottom:1.15rem}.field>span{font-size:.8rem;font-weight:650}.field input{width:100%;min-height:3.25rem;border:1px solid var(--line);border-radius:.85rem;padding:0 .95rem;color:var(--ink);background:#fffefb;transition:border-color .2s ease,box-shadow .2s ease}.field input:focus{border-color:var(--sea-bright);box-shadow:0 0 0 4px #28677917;outline:none}.code-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem}.code-button{border:0;border-radius:.85rem;padding:0 .9rem;color:var(--sea);background:#e6eee9;font-size:.78rem;font-weight:700}.code-button:disabled{color:#8a9695;background:#eeece5}.form-error,.inline-notice{margin:0 0 1rem;border-radius:.85rem;padding:.8rem .9rem;font-size:.8rem;line-height:1.55}.form-error{color:#8d3528;background:#f9e8e1}.inline-notice{color:#71511d;background:#fff1cf}.privacy-note{margin:.9rem 0 0;color:var(--ink-soft);font-size:.72rem;line-height:1.6}.button{display:inline-flex;width:100%;min-height:3.3rem;align-items:center;justify-content:center;border:0;border-radius:1rem;padding:.8rem 1.1rem;text-decoration:none;font-weight:700;transition:transform .18s ease,box-shadow .2s ease,background .2s ease}.button:active{transform:translateY(1px) scale(.985)}.button:disabled{cursor:not-allowed;opacity:.58}.button--primary{color:#fffaf0;background:var(--sea);box-shadow:0 15px 32px #1237433d}.button--primary:not(:disabled):hover{background:#194c5a}.button--quiet{color:var(--sea);background:#fffdf7bd}.action-stack{display:grid;gap:.75rem}.follow-hero{margin-bottom:1.35rem}.follow-card{display:grid;gap:.75rem;padding:1.35rem;border:1px solid rgba(255,255,255,.72);border-radius:2rem .9rem 2rem 2rem;background:#fffdf7e6;box-shadow:var(--shadow)}.follow-card__logo{display:block;width:4rem;height:4rem;margin:0 auto .5rem;border-radius:50%;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(18,55,67,.16))}.phone-fallback{border:0;padding:.45rem;color:var(--ink-soft);background:transparent;font-size:.72rem;text-decoration:underline;text-underline-offset:.22rem}.phone-fallback{margin-top:.25rem}.official-qr-panel{padding:1rem;border-radius:1rem;background:#f5f0e5;text-align:center}.official-qr-image{display:block;width:min(15rem,72vw);height:auto;margin:0 auto .75rem;border-radius:.75rem;background:#fff;cursor:zoom-in}.official-qr-panel>p{margin:0;color:var(--ink-soft);font-size:.76rem;line-height:1.65}.qr-preview-mask{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));background:#071d24d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.qr-preview{width:min(100%,28rem);padding:1rem;border-radius:1.4rem;background:var(--paper);text-align:center}.qr-preview img{display:block;width:min(22rem,82vw);height:auto;margin:.5rem auto 1rem;background:#fff}.qr-preview p{margin:0;color:var(--ink-soft);font-size:.8rem;line-height:1.65}.qr-preview__close{display:block;margin-left:auto;border:0;padding:.4rem .55rem;color:var(--sea-bright);background:transparent;font-size:.78rem}.follow-feedback{margin:.1rem 0 0;padding:.75rem .85rem;border-radius:.8rem;color:#174e55;background:#e7f6f5e6;font-size:.78rem;line-height:1.55;text-align:center}.empty-state{padding-top:2.5rem;text-align:center}.empty-compass{position:relative;width:7rem;height:7rem;margin:0 auto 1.8rem;border:1px solid rgba(18,55,67,.17);border-radius:50%}.empty-compass:before,.empty-compass:after{content:"";position:absolute;background:#12374329}.empty-compass:before{width:1px;height:100%;left:50%}.empty-compass:after{width:100%;height:1px;top:50%;left:0}.empty-compass span{position:absolute;width:1.6rem;height:2.7rem;top:1.45rem;left:2.65rem;border-radius:100% 0;background:var(--gold);transform:rotate(38deg)}.empty-state .button{margin-top:2rem}.order-list{display:grid;gap:1rem;margin-bottom:1rem}.order-card{position:relative;padding:1.25rem;border-radius:1.6rem .8rem 1.6rem 1.6rem;background:var(--paper);box-shadow:0 18px 48px #1c46501a;transition:transform .22s ease,box-shadow .22s ease}.order-card:active{transform:scale(.99)}.order-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.order-card h2{margin:.28rem 0 0;font-family:Songti SC,STSong,serif;font-size:1.25rem;line-height:1.35}.order-number{color:#738185;font-size:.67rem;font-weight:700;letter-spacing:.08em}.status-label{flex:none;padding:.35rem .5rem;border-radius:.45rem;color:#765019;background:#f9e7bf;font-size:.68rem;font-weight:700}.status-label--success{color:#0f6b55;background:#e4f4ed}.voyage-line{display:flex;flex-wrap:wrap;gap:.45rem 1rem;margin:1rem 0 1.2rem;color:var(--ink-soft);font-size:.78rem}.amount-row{display:flex;align-items:flex-end;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.8rem}.amount-row strong,.balance-number{color:var(--coral);font-size:1.8rem;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.amount-row small,.balance-number small{margin-right:.15rem;font-size:.72em}.text-action{margin-top:1rem;border:0;padding:0;color:var(--sea-bright);background:transparent;font-size:.78rem;font-weight:700}.back-button{margin:0 0 1.5rem;border:0;padding:0;color:var(--sea-bright);background:transparent;font-size:.78rem;font-weight:700}.detail-hero{margin-bottom:1.5rem}.detail-hero .kicker{margin-bottom:.65rem}.detail-hero h1{font-size:clamp(2rem,10vw,3.25rem)}.boat-note{display:inline-block;margin-top:.8rem;padding:.35rem .55rem;border-radius:.45rem;color:var(--sea);background:#2867791a;font-size:.72rem}.balance-panel{margin-bottom:1rem;padding:1.45rem;border-radius:.9rem 2rem 2rem;color:#fff8e8;background:var(--sea);box-shadow:0 25px 60px #1237433d}.balance-panel p,.balance-panel span{margin:0;color:#fff8e8ad;font-size:.78rem}.collection-guide{margin:1rem 0;padding:1.15rem;border:1px solid rgba(16,47,60,.12);border-radius:1rem;background:#fffdf7eb}.collection-guide>p{margin:0;color:var(--ink-soft);line-height:1.7}.confirmation-state{margin:1rem 0;padding:.75rem .85rem;border-radius:.75rem;color:#8a4c16;background:#fff1db;font-weight:700}.confirmation-state[data-state=confirmed]{color:#0f6b55;background:#e4f4ed}.confirmation-state[data-state=reversed]{color:#9a2f2f;background:#fde8e5}.service-group-qr{display:block;width:min(13.75rem,70vw);aspect-ratio:1;object-fit:contain;margin:0 auto 1rem;border-radius:.75rem;background:#fff}.balance-number{display:block;margin:.65rem 0 .8rem;color:#f7ca75;font-size:clamp(2.5rem,13vw,4rem)}.section-heading{margin-bottom:1rem}.section-heading h2{margin:.35rem 0 0;font-family:Songti SC,STSong,serif;font-size:1.35rem}.breakdown dl,.breakdown dt,.breakdown dd{margin:0}.breakdown dl{display:grid;gap:.85rem}.breakdown dl>div{display:flex;justify-content:space-between;gap:1rem;color:var(--ink-soft);font-size:.82rem}.breakdown dd{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:650}.breakdown .breakdown__due{margin-top:.2rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--ink);font-weight:700}.breakdown__due dd{color:var(--coral);font-size:1.05rem}.sticky-actions{position:fixed;z-index:8;display:grid;grid-template-columns:.72fr 1.55fr;gap:.65rem;width:min(calc(100% - 1.5rem),36.5rem);left:50%;bottom:max(.75rem,env(safe-area-inset-bottom));transform:translate(-50%);padding:.65rem;border:1px solid rgba(255,255,255,.75);border-radius:1.35rem;background:#fffdf7e6;box-shadow:0 18px 50px #1237432e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sticky-actions .button{min-height:3rem;font-size:.8rem}.sheet-mask{position:fixed;z-index:15;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:1rem;background:#091f277a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sheet{width:min(100%,36rem);padding:1.6rem 1.3rem max(1.3rem,env(safe-area-inset-bottom));border-radius:1.8rem 1.8rem .9rem .9rem;background:var(--paper);box-shadow:0 30px 90px #071d2459;animation:sheet-in .28s ease both}.sheet-handle{display:block;width:2.7rem;height:.25rem;margin:-.6rem auto 1.3rem;border-radius:1rem;background:#d5d1c8}.sheet h2{margin:.35rem 0 .7rem;font-family:Songti SC,STSong,serif;font-size:1.65rem}.sheet>p:not(.kicker){margin:0 0 1.35rem;color:var(--ink-soft);line-height:1.7}@keyframes sheet-in{0%{opacity:0;transform:translateY(2rem)}}.footer-note{margin-top:2.5rem;color:#17343f85;font-size:.68rem;line-height:1.6;text-align:center}@media(max-width:430px){.brand-header{margin-bottom:2.6rem}.brand-logo{width:3.25rem;height:3.25rem}}@media(min-width:680px){.page{padding-inline:2rem}.order-card:hover{transform:translateY(-2px);box-shadow:0 24px 55px #1c465024}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.payment-feedback{margin:1rem 0 calc(6rem + env(safe-area-inset-bottom));padding:.75rem .9rem;border:1px solid rgba(14,92,102,.18);border-radius:.85rem;background:#e7f6f5e6;color:#174e55;font-size:.875rem;line-height:1.6;text-align:center}
