:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Helvetica Neue",sans-serif;color:#172334;background:#f5f5f7;font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
html{min-height:100%}
body{margin:0;min-height:100vh}
button,input,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #75a8e7;outline-offset:2px}
.hidden{display:none!important}
.app-shell{width:min(100%,880px);margin:0 auto;padding:0 clamp(18px,4vw,44px)}
.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e6e8ec}
.wordmark{font-size:19px;font-weight:750;letter-spacing:-.045em}
.wordmark-dot{color:#ff9f5c}
.text-button{border:0;background:none;color:#274f78;font-size:14px;font-weight:650}
.intro{padding:48px 0 34px}
.eyebrow{margin:0 0 13px;font-size:12px;letter-spacing:.17em;font-weight:800;color:#557494}
.intro h1{font-size:clamp(42px,8.8vw,72px);line-height:1.08;letter-spacing:-.065em;margin:0;font-weight:760}
.intro h1 span{color:#697889}
.intro-copy{font-size:16px;line-height:1.7;color:#697889;margin:22px 0 0}
.feature-card{height:clamp(215px,40vw,295px);position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(120deg,#102b4d 0%,#1d4773 62%,#4e8cbd 100%);color:white;padding:clamp(28px,5vw,43px);box-shadow:0 17px 34px #153a641c}
.feature-content{position:relative;z-index:1;display:flex;flex-direction:column;height:100%}
.feature-label{font-size:17px;font-weight:720;margin:0}
.feature-days{display:flex;gap:8px;align-items:baseline;margin:auto 0 5px}
.feature-days strong{font-size:clamp(70px,18vw,126px);font-weight:540;line-height:1;letter-spacing:-.08em}
.feature-days span{font-size:20px}
.feature-caption{margin:0;font-size:15px;font-weight:650}
.orbit{position:absolute;width:260px;height:260px;right:-17px;top:calc(50% - 130px);opacity:.95}
.latest-strip{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:10px;margin-top:14px}
.latest-strip>div{min-height:84px;padding:16px;border-radius:17px;background:#e8f1f8;border:1px solid #d2e2ef;overflow:hidden}
.latest-strip span{display:block;color:#617389;font-size:13px;font-weight:650}
.latest-strip strong{display:block;margin-top:10px;font-size:17px;line-height:1.3;color:#19426a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.stats>div{min-height:108px;padding:18px;border-radius:19px;background:#fff;border:1px solid #e3e8ed;box-shadow:0 8px 22px #17233408}
.stats span{display:block;color:#617389;font-size:13px;font-weight:650}
.stats strong{display:block;margin-top:14px;font-size:29px;line-height:1;font-weight:680;letter-spacing:-.05em}
.stats small{font-size:13px;letter-spacing:0;margin-left:2px}
.records-section{padding:48px 0 130px}
.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}
.section-heading .eyebrow{margin-bottom:5px}
.section-heading h2{font-size:32px;letter-spacing:-.045em;margin:0}
.sort-label{color:#557494;font-size:13px;font-weight:650;padding-bottom:4px}
.records{display:grid;gap:12px}
.record-card{width:100%;border:1px solid #dfe6ec;border-radius:22px;background:#fff;display:grid;grid-template-columns:65px minmax(0,1fr) auto;align-items:center;gap:17px;padding:17px;text-align:left;box-shadow:0 9px 24px #17233409;color:inherit}
.record-card:hover{border-color:#a9c6df}
.record-date{background:#e8f1f8;color:#204771;border-radius:15px;padding:9px 5px;text-align:center;line-height:1.05}
.record-date strong{display:block;font-size:27px;font-weight:620}
.record-date small{display:block;font-size:12px;margin-top:5px;font-weight:700}
.record-info{min-width:0}
.record-info strong{display:block;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.record-info span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin-top:6px;color:#64758a;font-size:14px;line-height:1.35;overflow:hidden;overflow-wrap:anywhere}
.record-price{font-size:20px;font-weight:700;color:#153b64;white-space:nowrap}
.empty-state{color:#768596;text-align:center;padding:35px 12px;font-size:15px;line-height:1.7}
.bottom-action{position:fixed;z-index:5;bottom:0;left:0;right:0;display:flex;justify-content:center;padding:16px 18px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#f5f5f7 24%,#f5f5f7)}
.primary-button{border:0;border-radius:999px;background:#ffad70;color:#1b2b3c;font-size:17px;font-weight:760;padding:16px 35px;min-width:230px;min-height:54px;box-shadow:0 12px 24px #f3975652}
.primary-button:active{transform:translateY(1px)}
.primary-button span{font-size:23px;vertical-align:-1px;font-weight:400}
.sheet{position:fixed;inset:auto 0 0;width:min(100%,650px);max-height:min(93dvh,920px);padding:0;border:0;border-radius:26px 26px 0 0;box-shadow:0 -15px 60px #0f28433d;background:#fbfcfd;color:#172334;overflow:hidden}
.sheet::backdrop{background:#10243d99}
.sheet form,.settings-panel{display:flex;flex-direction:column;max-height:min(93dvh,920px)}
.sheet-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;padding:18px 20px;border-bottom:1px solid #e3e8ed;text-align:center;flex:none}
.sheet-head .eyebrow{font-size:10px;margin:0}
.sheet-head h2{font-size:21px;letter-spacing:-.04em;margin:3px 0 0}
.close-button{border:2px solid #cad8e3;width:40px;height:40px;border-radius:50%;background:#edf3f8;color:#153b64;font-size:27px;line-height:31px;font-weight:500}
.form-content{padding:20px;overflow:auto;overscroll-behavior:contain;flex:1}
.field{display:flex;flex-direction:column;gap:9px;font-size:14px;font-weight:700;margin-bottom:18px}
.field input,.field textarea,.inline-field input{width:100%;border:1px solid #c9d8e5;background:#f1f6fa;color:#172334;border-radius:13px;padding:14px;font-size:16px;min-height:50px}
.field textarea{resize:vertical}
.inline-field{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;margin-top:12px}
.inline-field input{flex:1;min-width:0}
fieldset{border:1px solid #d5e0e9;border-radius:20px;padding:16px;margin:0 0 16px;background:#fff}
legend{font-size:17px;font-weight:760;padding:0 5px}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.choice-grid button{min-height:48px;padding:10px 9px;border-radius:12px;border:1px solid #aebfd0;background:#edf3f8;color:#24394e;font-size:15px;font-weight:650}
.choice-grid button.selected{background:#1e4d78;border-color:#1e4d78;color:#fff;box-shadow:0 4px 10px #1e4d7826}
.location-box{display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid #c9d8e5;border-radius:18px;padding:14px;margin-bottom:16px;background:#edf5fb}
.location-box strong{font-size:15px}
.location-box p{margin:4px 0 0;color:#63788b;font-size:13px;line-height:1.4}
.secondary-button{border:1px solid #b6c9da;background:#edf4f9;color:#1d4b76;border-radius:12px;font-size:14px;font-weight:700;padding:11px 14px;min-height:44px;white-space:nowrap}
.sheet-footer{display:flex;justify-content:flex-end;align-items:center;gap:13px;border-top:1px solid #e3e8ed;padding:13px 20px calc(14px + env(safe-area-inset-bottom));background:#fff;flex:none}
.sheet-footer .primary-button{min-width:160px;font-size:15px;min-height:48px;padding:12px 18px;box-shadow:none}
.danger-button{border:0;background:none;color:#bd4343;font-weight:700}
.fine-print{font-size:12px;color:#718195;line-height:1.6}
.setting-card{background:#fff;border:1px solid #dfe6ec;border-radius:20px;padding:18px;margin:0 0 14px}
.setting-card h3{font-size:18px;letter-spacing:-.03em;margin:0 0 8px}
.setting-card p{font-size:14px;color:#65778b;line-height:1.65;margin:0 0 14px}
.button-row{display:flex;gap:8px;flex-wrap:wrap}
.sync-state{font-weight:700;color:#1e4d78!important}
.recovery-box{margin-top:15px;padding:14px;background:#edf5fb;border-radius:13px}
.recovery-box .field{margin:0 0 8px}
.recovery-box textarea{font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px}
.toast{position:fixed;z-index:100;left:50%;bottom:calc(94px + env(safe-area-inset-bottom));transform:translateX(-50%);padding:12px 18px;border-radius:14px;background:#1b3149;color:#fff;font-size:14px;font-weight:600;box-shadow:0 10px 30px #11263d3b;opacity:0;pointer-events:none;transition:opacity .25s;max-width:min(90vw,480px);text-align:center}
.toast.show{opacity:1}
@media(max-width:600px){.topbar{height:61px}
.intro{padding:37px 0 28px}
.intro-copy{font-size:14px;margin-top:17px}
.feature-card{border-radius:24px}
.orbit{right:-69px;opacity:.75}
.stats>div{padding:14px;min-height:101px}
.stats strong{font-size:25px}
.records-section{padding-top:43px}
.record-card{grid-template-columns:58px minmax(0,1fr) auto;gap:11px;padding:12px;border-radius:18px}
.record-date strong{font-size:24px}
.record-info strong{font-size:16px}
.record-info span{font-size:13px}
.record-price{font-size:17px}
}
@media(max-width:350px){.stats{gap:6px}
.stats>div{padding:12px 9px}
.record-card{gap:8px}
.record-price{font-size:15px}
}
@media(min-width:700px){.sheet{bottom:50%;transform:translateY(50%);border-radius:25px;max-height:85dvh}
.sheet form,.settings-panel{max-height:85dvh}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}
}

