@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Ma+Shan+Zheng&family=Noto+Sans+SC:wght@400;500;600;700;900&display=swap";:root{color:#0b3442;font-synthesis:none;--deep:#073b4c;--tide:#126c84;--foam:#d9f0ef;--seaweed:#31715f;--orange:#f47b35;--paper:#fbfdfb;--ink:#0b3442;--line:#b9d2d0;background:#f3f8f7;font-family:Noto Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;color:var(--ink);background:linear-gradient(#e8f5f4 0,#f8fbf9 38%,#eff7f5 100%);margin:0}button,input,select,textarea{font:inherit}button{color:inherit}.app-shell{min-height:100vh;overflow:hidden}.site-header{z-index:10;border-bottom:1px solid #073b4c26;justify-content:space-between;align-items:center;height:84px;padding:0 max(5vw,24px);display:flex;position:relative}.brand{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;font-size:18px;font-weight:900;display:flex}.brand-mark{border:2px solid var(--deep);background:#fff;border-radius:45% 52% 48% 43%;place-items:center;width:37px;height:37px;display:grid;transform:rotate(-5deg)}.brand small{letter-spacing:.13em;color:#4d747c;margin-top:2px;font:10px DM Mono,monospace;display:block}.log-link,.text-button{cursor:pointer;background:0 0;border:0;padding:10px;font-weight:700}.log-link span{color:var(--orange)}.hero{grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);align-items:center;gap:5vw;min-height:680px;padding:70px max(6vw,28px) 88px;display:grid;position:relative}.hero:before{content:"TIDE  /  FOOD  /  LOG";writing-mode:vertical-rl;letter-spacing:.4em;color:#71999b;font:10px DM Mono,monospace;position:absolute;top:50%;left:19px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--seaweed);margin:0 0 24px;font:500 12px DM Mono,Noto Sans SC,sans-serif}.hero h1{letter-spacing:-.055em;max-width:780px;color:var(--deep);margin:0;font-size:clamp(48px,6.3vw,92px);line-height:1.02}.hero h1 span{color:var(--orange);margin:0 .08em;font-family:Ma Shan Zheng,cursive;font-weight:400;display:inline-block;transform:rotate(-3deg)}.lead{color:#43636b;max-width:610px;margin:34px 0;font-size:17px;line-height:1.9}.hero-actions{flex-wrap:wrap;align-items:center;gap:15px;display:flex}.primary{background:var(--orange);color:#fff;min-height:54px;box-shadow:4px 5px 0 var(--deep);cursor:pointer;border:0;border-radius:5px;padding:0 22px;font-weight:800;transition:transform .18s,box-shadow .18s}.primary:hover{box-shadow:6px 7px 0 var(--deep);transform:translate(-2px,-2px)}.primary:active{box-shadow:2px 3px 0 var(--deep);transform:translate(2px,2px)}.primary span{opacity:.8;margin-left:14px;font-size:11px;font-weight:500}.primary:disabled{opacity:.6;cursor:wait}.tide-card{aspect-ratio:.82;border:2px solid var(--deep);background:#89cbd1;border-radius:48% 48% 6px 6px;max-height:570px;position:relative;overflow:hidden;box-shadow:12px 15px #073b4c1f}.sun{text-align:center;letter-spacing:.08em;width:70px;height:70px;color:var(--deep);background:#ffc364;border-radius:50%;place-items:center;font:10px DM Mono,monospace;display:grid;position:absolute;top:12%;right:13%}.dog-doodle{z-index:3;color:var(--deep);border:3px solid var(--deep);background:#f8deaa;border-radius:50%;padding:20px 18px;font-size:55px;position:absolute;top:42%;left:50%;transform:translate(-50%)}.wave{border-radius:50% 50% 0 0;width:130%;height:40%;position:absolute;left:-15%}.wave-one{background:#187c91;bottom:8%;transform:rotate(-4deg)}.wave-two{background:var(--deep);bottom:-11%;transform:rotate(4deg)}.tide-caption{z-index:4;color:#fff;border-top:1px solid #ffffff80;justify-content:space-between;align-items:end;padding-top:10px;display:flex;position:absolute;bottom:7%;left:9%;right:9%}.tide-caption strong{font-size:21px}.tide-caption span{max-width:150px;font-size:11px}.personality-strip{background:var(--deep);color:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;padding:28px max(8vw,28px);display:grid}.stamp{border:2px solid #9ed1cd;border-radius:50%;place-items:center;width:64px;height:64px;font-family:Ma Shan Zheng;font-size:22px;display:grid;transform:rotate(-7deg)}.personality-strip strong{font-size:19px}.personality-strip p{color:#a9cbcf;margin:6px 0 0}.personality-strip button{color:#fff;cursor:pointer;background:0 0;border:1px solid #6d9ba0;padding:12px 18px}.service-section,.diary-section{grid-template-columns:.65fr 1.35fr;gap:9vw;max-width:1320px;margin:auto;padding:120px max(5vw,28px);display:grid}.section-heading h2{letter-spacing:-.05em;color:var(--deep);margin:0 0 28px;font-size:clamp(38px,4.5vw,68px);line-height:1.12}.section-heading>p:last-child{color:#58737a;line-height:1.8}.price-ledger{border-top:3px solid var(--deep)}.ledger-head,.ledger-row{border-bottom:1px solid var(--line);grid-template-columns:1.8fr repeat(3,.7fr);align-items:center;display:grid}.ledger-head{color:#6f898d;padding:13px 8px;font:11px DM Mono,Noto Sans SC}.ledger-row{padding:25px 8px}.ledger-row span{flex-direction:column;display:flex}.ledger-row b{font-size:17px}.ledger-row small{color:#6e898c;margin-top:6px}.ledger-row strong{text-align:center;color:var(--deep);font:500 21px DM Mono}.ledger-note{color:#57777a;border-left:3px solid var(--orange);padding-left:13px;font-size:12px}.diary-section{display:block}.diary-section .section-heading{justify-content:space-between;align-items:end;display:flex}.tide-line{border-top:2px solid var(--tide);grid-template-columns:repeat(4,1fr);margin-top:55px;display:grid}.tide-line article{border-right:1px solid var(--line);padding:0 24px 35px;position:relative}.day-dot{background:var(--paper);border:2px solid var(--tide);border-radius:50%;place-items:center;width:32px;height:32px;margin-top:-17px;font:12px DM Mono;display:grid}.tide-line article>p{color:var(--orange);margin-top:25px;font:12px DM Mono}.tide-line h3{margin:8px 0;font-size:22px}.tide-line article>span:last-child{color:#647e82;font-size:14px;line-height:1.7}.safety-note{border:1px solid var(--line);background:#ffffff80;grid-template-columns:.3fr 1.7fr;gap:30px;margin-top:65px;padding:24px;display:grid}.safety-note p{color:#536f73;margin:0;line-height:1.7}footer{color:#b5d1d1;background:#062f3d;justify-content:space-between;padding:32px max(5vw,28px);font-size:12px;display:flex}.flow{max-width:1100px;min-height:calc(100vh - 150px);margin:0 auto;padding:55px max(24px,4vw) 100px}.flow-header{border-bottom:1px solid var(--line);grid-template-columns:48px 1fr;gap:20px;padding-bottom:26px;display:grid;position:relative}.flow-header>button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;width:42px;height:42px}.flow-header p{letter-spacing:.15em;color:var(--seaweed);margin:0 0 7px;font:11px DM Mono}.flow-header h1{color:var(--deep);letter-spacing:-.04em;margin:0;font-size:clamp(29px,4vw,48px)}.flow-header span{color:#678086;margin-top:8px;display:block}.tide-meter{width:100%;height:3px;position:absolute;bottom:-2px;left:0}.tide-meter i{background:var(--orange);height:100%;display:block}.question-count{justify-content:center;align-items:baseline;margin:52px 0 5px;display:flex}.question-count strong{color:var(--tide);font:500 54px DM Mono}.question-count span{color:#759094;font:14px DM Mono}.question-card{text-align:center;max-width:760px;margin:auto}.question-card>p{color:#789195;font:12px DM Mono}.question-card h2{margin:18px 0 42px;font-size:clamp(28px,4.5vw,49px)}.answer-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.answer-grid button{border:2px solid var(--deep);cursor:pointer;background:#fff;border-radius:7px;min-height:120px;font-size:18px;font-weight:700;transition:all .15s;box-shadow:5px 6px #b5d4d1}.answer-grid button:hover{background:var(--foam);transform:translateY(-3px)}.answer-grid span{color:var(--orange);margin-bottom:12px;font:12px DM Mono;display:block}.back-answer{color:#678085;cursor:pointer;background:0 0;border:0;margin-top:28px}.loading-wave{color:var(--tide);text-align:center;margin-top:150px;font:72px DM Mono;animation:1.2s ease-in-out infinite float}.result-card{border:2px solid var(--deep);text-align:center;background:#fff;max-width:720px;margin:70px auto 0;padding:clamp(28px,6vw,64px);box-shadow:9px 10px #b8d4d1}.result-card>p:first-child{letter-spacing:.14em;color:var(--seaweed);font:12px DM Mono}.result-card h2{margin:16px 0;font-size:clamp(31px,5vw,52px)}.result-card>p{color:#597278;line-height:1.8}.personality-result .code{letter-spacing:.2em;color:var(--orange);margin:22px;font:500 30px DM Mono}.result-card .primary{margin-top:24px}.form-sheet{max-width:880px;margin:44px auto 0}.form-sheet fieldset{border:0;border-top:2px solid var(--deep);margin:0;padding:24px 0 40px}.form-sheet legend{padding-right:20px;font-size:20px;font-weight:900}.field-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.field-row.three{grid-template-columns:repeat(3,1fr)}label{color:#43636a;flex-direction:column;gap:9px;font-size:13px;font-weight:600;display:flex}input,select,textarea{width:100%;color:var(--deep);background:#fff;border:1px solid #9bb9b8;border-radius:4px;outline:none;padding:13px}input:focus,select:focus,textarea:focus,button:focus-visible{outline-offset:3px;outline:3px solid #ffc04a}.check{border:1px solid var(--line);background:#fff;grid-template-columns:24px 1fr;align-items:start;margin-bottom:10px;padding:14px;display:grid}.check input{width:19px;height:19px;accent-color:var(--seaweed)}.check b,.check small{display:block}.check small{color:#748c90;margin-top:4px;font-weight:400}.check.optional{border-style:dashed}.check.compact{align-items:center;height:47px;margin:22px 0 0;display:flex}.full{width:100%}.form-error{color:#8d2d16;background:#ffe8de;border-left:4px solid #cf4828;padding:13px}.boundary{background:var(--foam);border-left:4px solid var(--tide);margin-bottom:32px;padding:17px 20px}.boundary p{color:#517278;margin:7px 0 0}.binary{grid-template-columns:1fr 110px 110px;align-items:center;gap:12px;display:grid!important}.binary legend{float:left;width:100%;font-size:16px}.binary label{display:block}.binary input{opacity:0;width:1px;position:absolute}.binary span{text-align:center;border:1px solid var(--line);cursor:pointer;background:#fff;padding:12px;display:block}.binary input:checked+span{background:var(--deep);color:#fff}.risk-light{color:#fff;border-radius:30px;padding:8px 16px;font-weight:900;display:inline-flex}.green .risk-light{background:#2d7d60}.yellow .risk-light{background:#d59a14}.red .risk-light{background:#c8492e}.risk-result{border-top-width:9px}.risk-result.green{border-top-color:#2d7d60}.risk-result.yellow{border-top-color:#d59a14}.risk-result.red{border-top-color:#c8492e}.risk-result ul{text-align:left;color:#526f72;line-height:1.8}.urgent{background:#f2f3ed;margin-top:22px;padding:16px;font-weight:700}.booking-layout{grid-template-columns:1.15fr .85fr;align-items:start;gap:35px;margin-top:48px;display:grid}.product-options{gap:14px;display:grid}.product-options button{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;align-items:center;gap:18px;padding:24px;display:flex}.product-options button.selected{border:2px solid var(--deep);box-shadow:5px 5px #b8d5d1}.radio-dot{border:2px solid var(--tide);border-radius:50%;width:18px;height:18px}.selected .radio-dot{background:var(--orange);box-shadow:inset 0 0 0 4px #fff}.product-options div{flex-direction:column;gap:5px;display:flex}.product-options small{color:#6e888b}.quote-card{background:var(--deep);color:#fff;padding:30px;position:sticky;top:20px}.quote-card p{color:#9dc6c8;font:12px DM Mono}.quote-card h2{margin:15px 0 0;font:500 54px DM Mono}.quote-card>span{color:#b6d1d1}.quote-card ul{color:#d0dfdf;padding-left:18px;font-size:13px;line-height:2}.offline,.notice{border-top:1px solid #57808a;padding:17px 0;font-size:13px}.notice{color:#ffd78c}.done-card .bottle{background:var(--seaweed);color:#fff;border-radius:48% 48% 42% 42%;place-items:center;width:80px;height:80px;margin:auto;font-size:34px;display:grid}.diary-head{grid-template-columns:1fr}.day-tabs{grid-template-columns:1fr 1fr;gap:12px;max-width:650px;margin:40px auto;display:grid}.day-tabs button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;padding:18px;font-weight:900}.day-tabs small{margin-top:6px;font-weight:400;display:block}.day-tabs .active{background:var(--deep);color:#fff;border-color:var(--deep)}@keyframes float{50%{transform:translateY(-10px)}}@media (width<=780px){.site-header{height:70px}.hero{grid-template-columns:1fr;padding-top:45px}.hero:before{display:none}.hero h1{font-size:49px}.tide-card{max-height:none}.personality-strip{grid-template-columns:auto 1fr}.personality-strip button{grid-column:1/-1}.service-section{grid-template-columns:1fr;padding-top:85px}.diary-section .section-heading{display:block}.tide-line{border-top:0;border-left:2px solid var(--tide);grid-template-columns:1fr;margin-left:15px}.tide-line article{border-right:0;padding:0 24px 35px}.day-dot{float:left;margin-top:0;margin-left:-41px}.safety-note{grid-template-columns:1fr;gap:8px}.booking-layout{grid-template-columns:1fr}.quote-card{position:static}.binary{grid-template-columns:1fr 1fr}.binary legend{grid-column:1/-1}.field-row,.field-row.three,.answer-grid{grid-template-columns:1fr}.flow-header{grid-template-columns:40px 1fr}.ledger-head,.ledger-row{grid-template-columns:1.5fr repeat(3,.65fr)}.ledger-row strong{font-size:16px}.ledger-row small{display:none}footer{flex-direction:column;gap:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
