@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;font-family:'DM Sans',Arial,sans-serif;color:#f6f8fb;background:#080d14;font-synthesis:none}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{position:relative;overflow-x:hidden;background:radial-gradient(circle at 50% 42%,#102134 0,transparent 55%),#080d14}
.shell{min-height:var(--visual-height,100svh);max-width:1240px;margin:auto;padding:18px clamp(20px,5vw,72px);display:flex;flex-direction:column;position:relative}
.header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo-frame{display:block;position:relative;width:190px;height:76px;overflow:hidden;flex:none}
.logo{position:absolute;width:300px;height:300px;max-height:none;left:-55px;top:-118px}
.progress-text{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:600;letter-spacing:.12em}
.panel{width:min(100%,820px);margin:auto;padding:26px clamp(26px,5vw,60px) 28px;background:#101b29;border:1px solid rgba(99,172,216,.14);border-radius:24px;box-shadow:0 28px 80px rgba(0,0,0,.22)}
.topline{height:24px;display:flex;justify-content:space-between;align-items:center}
.back{border:1px solid rgba(160,186,204,.28);background:transparent;color:#8fa7b7;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:22px;line-height:1;cursor:pointer;transition:color .2s,border-color .2s,transform .2s}
.back:hover,.back:focus-visible{color:#fff;border-color:#85a8c0;transform:translateX(-2px)}
.progress-text{margin-left:auto;color:#8ba4b5;font-size:14px}
.progress{height:2px;margin-top:14px;background:#263948;border-radius:8px;overflow:hidden}
.progress span{display:block;width:25%;height:100%;background:#079de9;transition:width .35s ease}
.question-wrap{padding-top:clamp(30px,6vw,64px);min-height:310px}
.question-wrap.motion-forward{animation:enter-forward .44s cubic-bezier(.2,.72,.2,1) both}
.question-wrap.motion-back{animation:enter-back .44s cubic-bezier(.2,.72,.2,1) both}
h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(38px,6vw,66px);line-height:1.02;letter-spacing:-.018em;font-weight:700;margin:0 0 26px;max-width:690px}
.entry-row{display:flex;align-items:center;gap:18px}
.answer-line{display:flex;align-items:center;flex:1;min-width:0;border-bottom:2px solid #587183;transition:border-color .2s}
.answer-line:focus-within{border-color:#0daaf5}
input{border:0;background:transparent;color:#fff;font:500 clamp(20px,3vw,31px) 'DM Sans',Arial,sans-serif;outline:0;width:100%;min-width:0;height:72px;padding:0 2px;appearance:none}
input::placeholder{color:#6f8797;opacity:1}
.date-fields{display:grid;grid-template-columns:1fr 1.25fr .8fr;gap:12px;flex:1;min-width:0}
.date-field{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-width:0;height:70px;padding:9px 15px;border:1px solid #48657a;border-radius:10px;background:#142539;color:#fff;cursor:pointer;text-align:left}
.date-field span{color:#9db1c0;font:500 12px 'DM Sans',Arial,sans-serif}
.date-field strong{font:500 18px 'DM Sans',Arial,sans-serif;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.date-field:focus-visible,.date-field[aria-expanded=true]{border-color:#0daaf5;box-shadow:0 0 0 2px rgba(13,170,245,.18)}
.date-picker{margin-top:14px;padding:14px;border:1px solid #35536a;border-radius:14px;background:#16273a;box-shadow:0 18px 45px rgba(0,0,0,.27)}
.picker-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#dce9f2;font-size:14px;margin-bottom:12px}
.picker-close{border:0;background:transparent;color:#9db1c0;font-size:27px;line-height:1;cursor:pointer}
.picker-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;max-height:202px;overflow-y:auto;overscroll-behavior:contain}
.picker-option{min-height:40px;border:1px solid #3e5d73;border-radius:8px;background:#1b3044;color:#fff;font:500 14px 'DM Sans',Arial,sans-serif;cursor:pointer}
.picker-option:hover,.picker-option:focus-visible{background:#087db9;border-color:#0daaf5}
.arrow{border:0;border-radius:50%;flex:0 0 54px;width:54px;height:54px;background:#049fe9;color:#fff;font-size:32px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 6px 22px rgba(0,159,235,.24)}
.arrow:hover,.arrow:focus-visible{background:#22b9ff;transform:translateX(3px);box-shadow:0 9px 26px rgba(0,159,235,.35)}
.arrow:disabled{cursor:wait;opacity:.6;transform:none}
.error{min-height:24px;color:#ff9b9b;font-size:14px;margin:12px 0 0}
.done{padding:clamp(30px,6vw,64px) 0 12px;min-height:310px;animation:enter-forward .44s both}
.done-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:rgba(0,159,235,.12);border:1px solid #0daaf5;color:#19b6ff;font-size:28px;margin-bottom:27px}
.done>p:last-child{color:#acc0cd;line-height:1.6;max-width:480px;font-size:17px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}
@keyframes enter-forward{from{opacity:0;transform:translate3d(24px,10px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes enter-back{from{opacity:0;transform:translate3d(-24px,10px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(max-width:600px){.shell{padding:8px 14px 12px;justify-content:flex-start}.logo-frame{width:122px;height:43px}.logo{width:200px;height:200px;left:-39px;top:-79px}.panel{margin:12px auto 0;min-height:360px;padding:16px 18px 20px;border-radius:18px}.topline{height:30px}.back{width:32px;height:32px;font-size:19px}.progress{margin-top:9px}.question-wrap,.done{padding-top:32px;min-height:250px}h1{font-size:clamp(36px,10vw,44px);margin-bottom:24px}.entry-row{gap:8px}input{font-size:19px;height:54px}.arrow{width:46px;height:46px;flex-basis:46px;font-size:26px}.entry-row.date-mode{display:grid;grid-template-columns:1fr}.date-fields{gap:6px;grid-template-columns:1fr 1.15fr .72fr}.date-field{height:55px;padding:6px 8px}.date-field span{font-size:10px}.date-field strong{font-size:14px}.date-mode .arrow{justify-self:end;margin-top:10px}.date-picker{margin-top:10px;padding:10px}.picker-options{max-height:min(36vh,210px)}}
@media(max-width:600px) and (max-height:560px){.shell{padding-top:4px;padding-bottom:4px}.logo-frame{width:105px;height:36px}.logo{width:174px;height:174px;left:-34px;top:-68px}.panel{margin-top:6px;min-height:0;padding:10px 14px 12px}.topline{height:26px}.back{width:28px;height:28px}.progress{margin-top:7px}.question-wrap,.done{padding-top:18px;min-height:0}h1{font-size:33px;margin-bottom:17px}input{height:48px}.arrow{width:42px;height:42px;flex-basis:42px}.error{min-height:18px;margin-top:7px;font-size:12px}}
.keyboard-open{overflow:hidden}
.keyboard-open .shell{height:var(--visual-height,100svh);min-height:0;padding:4px 14px;justify-content:flex-start}
.keyboard-open .logo-frame{width:105px;height:36px}
.keyboard-open .logo{width:174px;height:174px;left:-34px;top:-68px}
.keyboard-open .panel{margin:6px auto 0;min-height:0;padding:10px 14px 12px}
.keyboard-open .topline{height:26px}
.keyboard-open .back{width:28px;height:28px}
.keyboard-open .progress{margin-top:7px}
.keyboard-open .question-wrap{padding-top:18px;min-height:0}
.keyboard-open h1{font-size:clamp(28px,8.5vw,36px);margin-bottom:15px}
.keyboard-open input{height:46px;font-size:18px}
.keyboard-open .arrow{width:42px;height:42px;flex-basis:42px}
.keyboard-open .error{min-height:18px;margin-top:7px;font-size:12px}
.keyboard-open.tiny-viewport .header{display:none}
.keyboard-open.tiny-viewport .panel{margin-top:0;padding:7px 12px 8px;flex-shrink:0}
.keyboard-open.tiny-viewport .question-wrap{padding-top:9px}
.keyboard-open.tiny-viewport h1{font-size:29px;margin-bottom:10px}
.keyboard-open.tiny-viewport input{height:42px}
.keyboard-open.tiny-viewport .error{min-height:14px;margin-top:4px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
