@font-face{font-family:Onest;src:url('assets/onest-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Onest;src:url('assets/onest-medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Onest;src:url('assets/onest-semibold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Onest;src:url('assets/onest-bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{font-family:Onest,Arial,sans-serif;color:#20211f;background:#f7f7f3;font-synthesis:none}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{width:100%;max-width:100%;height:100%;margin:0;overflow:hidden;overflow-x:clip;overscroll-behavior-x:none;overscroll-behavior-y:none}
body{position:fixed;inset:0;background:#f7f7f3}
button,input,a{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #849064;outline-offset:3px}
.login-page{width:100%;max-width:100vw;height:100dvh;display:grid;grid-template-columns:minmax(520px,55%) minmax(420px,45%);background:#fff}
.login-panel{position:relative;min-width:0;height:100%;padding:34px clamp(42px,5vw,78px) 28px;display:flex;flex-direction:column;background:#fff}
.header{display:flex;align-items:center;flex:none;animation:reveal .42s ease-out both}
.brand{display:inline-flex;align-items:center;font-size:19.8px;font-weight:600;letter-spacing:-.82px;transition:opacity .18s ease,transform .18s ease}
.content-stage{position:relative;min-height:0;flex:1;display:grid;place-items:center}
.content-view{grid-area:1/1;width:min(100%,430px);transition:opacity .28s ease,transform .32s cubic-bezier(.2,.7,.2,1),visibility 0s linear .32s}
.form-wrap{opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-24px)}
.content-view.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
h1{max-width:420px;margin:0;font-size:clamp(34px,3.57vw,52.7px);line-height:1.02;font-weight:500;letter-spacing:-2.55px}
.intro{max-width:390px;margin:18px 0 18px;color:#797b75;font-size:13px;line-height:1.65}
form{display:flex;flex-direction:column}
.field{height:56px;position:relative;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:8px 17px;border:1px solid #e1e2dc;border-radius:14px;background:#fafaf7;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}
.field+.field{margin-top:10px}
.field:focus-within{border-color:#9ca58a;background:#fff;box-shadow:0 7px 20px #82906412;transform:translateY(-1px)}
.field>span{font-size:10px;color:#777970}
.field input{width:100%;border:0;outline:0;background:transparent;padding:0;color:#20211f;font-size:14px;line-height:22px}
.field input::placeholder{color:#b2b3ad;opacity:1}
.field:has([aria-invalid="true"]){border-color:#b87165}
.password-field{padding-right:58px}
.password-toggle{position:absolute;right:10px;top:50%;width:36px;height:36px;transform:translateY(-50%);display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:#777a72;transition:background .18s ease,color .18s ease,transform .12s ease}
.password-toggle:hover{background:#eceee7;color:#20211f}
.password-toggle[aria-pressed="true"]{background:#e5e9dc;color:#20211f}
.password-toggle:active{transform:translateY(-50%) scale(.9)}
.password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.status{min-height:18px;margin:8px 3px 5px;font-size:10px;line-height:16px;color:#9a5147}
.status.demo{color:#687052}
.primary,.google{width:100%;height:54px;border-radius:14px;font-size:13px;font-weight:500;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .12s ease}
.primary{position:relative;overflow:hidden;border:0;background:#20211f;color:#fff}
.primary span{position:relative;z-index:1;transition:opacity .18s ease,transform .18s ease}
.primary i{position:absolute;z-index:1;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid #ffffff55;border-top-color:#fff;border-radius:50%;opacity:0;transform:rotate(0deg);transition:opacity .12s ease;will-change:transform}
.primary:after{content:'';position:absolute;left:50%;top:50%;width:14px;height:14px;border-radius:50%;background:#ffffff24;opacity:0;transform:translate(-50%,-50%) scale(0)}
.primary.is-reacting:after{animation:button-wave .42s ease-out}
.primary.is-loading span{opacity:0;transform:scale(.96)}
.primary.is-loading i{opacity:1;animation:spin .65s linear infinite}
.primary:disabled{cursor:wait}
.primary:active,.google:active{transform:scale(.985)}
.divider{height:31px;display:flex;align-items:center;color:#a1a39b;font-size:9px;gap:12px}
.divider:before,.divider:after{content:'';height:1px;flex:1;background:#e7e8e2}.divider span{flex:none}
.google{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #dfe0da;background:#fff;color:#2b2c29}
.google svg{width:18px;height:18px;flex:none}
.legal{max-width:410px;margin:17px 0 0;color:#92948d;font-size:9px;line-height:1.6}
.legal button{border:0;background:transparent;padding:0;color:#62655d;text-decoration:underline;text-underline-offset:2px;font-size:inherit;transition:color .18s ease}
.document-view{height:min(620px,calc(100dvh - 145px));min-height:0;display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(24px)}
.back-button{width:max-content;display:inline-flex;align-items:center;gap:8px;margin:0 0 20px;border:0;border-radius:10px;background:#f4f5f0;padding:8px 12px;color:#575a53;font-size:11px;transition:background .18s ease,color .18s ease,transform .12s ease}
.back-button span{font-size:16px;line-height:1;transition:transform .18s ease}
.back-button:active{transform:scale(.96)}
.document-scroll{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y pinch-zoom;padding:0 18px 28px 0;scrollbar-width:thin;scrollbar-color:#d4d7cc transparent}
.document-scroll::-webkit-scrollbar{width:5px}.document-scroll::-webkit-scrollbar-thumb{background:#d4d7cc;border-radius:999px}
.document-view h2{margin:0;font-size:34px;line-height:1.05;font-weight:500;letter-spacing:-1.8px}
.document-date{margin:10px 0 27px;color:#a0a29b;font-size:10px}
.document-view h3{margin:24px 0 8px;font-size:13px;font-weight:600;letter-spacing:-.2px}
.document-view h3:first-of-type{margin-top:0}
.document-view .document-scroll>p:not(.document-date){margin:0;color:#72756e;font-size:12px;line-height:1.65}
.document-loading{display:grid;place-items:center;min-height:180px;color:#92958d!important;font-size:12px!important}
.footer{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#a2a49d;font-size:9px;flex:none;animation:reveal .42s .1s ease-out both}
.footer-links{display:flex;align-items:center;gap:5px}.footer-links i{font-style:normal}
.footer button{border:0;background:transparent;padding:0;color:inherit;font-size:inherit;transition:color .18s ease}
.place{position:relative;height:100%;min-width:0;overflow:hidden;background:#7798bd;animation:photo-in .55s ease-out both}
.place:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#13243b16 0%,transparent 40%,#10231666 100%);pointer-events:none}
.place img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:brightness(.9);opacity:0;transition:opacity .22s ease,transform .7s cubic-bezier(.2,.7,.2,1),filter .3s ease}.place.is-photo-ready img{opacity:1}
.menu{position:absolute;z-index:2;right:36px;top:35px;width:38px;height:34px;border:0;border-radius:10px;background:transparent;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:0 7px;transition:background .18s ease,transform .12s ease}
.menu:active{transform:scale(.9)}
.menu span{display:block;width:24px;height:1px;background:#fff;box-shadow:0 1px 2px #0005;transition:width .18s ease}.menu span:last-child{width:17px;align-self:flex-end}
.place-label{position:absolute;z-index:2;left:34px;bottom:45px;display:flex;flex-direction:column;color:#fff;text-shadow:0 1px 10px #0006;opacity:0;transition:opacity .22s ease}.place.is-photo-ready .place-label{opacity:1}
.place-label span{font-size:11px;opacity:.8}.place-label strong{font-size:18px;font-weight:500;letter-spacing:-.4px}
.photo-credit{position:absolute;z-index:2;right:25px;bottom:18px;color:#fff;font-size:8px;opacity:0;pointer-events:none;text-shadow:0 1px 5px #0008;transition:opacity .18s ease}.place.is-photo-ready .photo-credit{opacity:.76;pointer-events:auto}
@media(hover:hover){
  .brand:hover{opacity:.72;transform:translateY(-1px)}
  .primary:hover{background:#30312e;box-shadow:0 9px 24px #20211f24;transform:translateY(-1px)}
  .google:hover{background:#fafaf7;border-color:#cfd2c8;box-shadow:0 7px 18px #20211f0d;transform:translateY(-1px)}
  .legal button:hover,.footer button:hover{color:#20211f}
  .menu:hover{background:#ffffff1c}.menu:hover span:last-child{width:24px}
  .photo-credit:hover{opacity:1}
  .back-button:hover{background:#e9ebe3;color:#20211f}.back-button:hover span{transform:translateX(-2px)}
}
@keyframes reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes photo-in{from{opacity:.72}to{opacity:1}}
@keyframes button-wave{0%{opacity:1;transform:translate(-50%,-50%) scale(0)}100%{opacity:0;transform:translate(-50%,-50%) scale(34)}}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(max-width:820px){
  .login-page{grid-template-columns:1fr;grid-template-rows:64% 36%}
  .login-panel{grid-row:1;padding:calc(20px + env(safe-area-inset-top)) 24px 18px}
  .place{grid-row:2}
  .content-view{width:100%;max-width:430px}
  h1{font-size:29px;letter-spacing:-1.53px}.intro{margin:10px 0 10px;font-size:12px}
  .field{height:50px}.field input{font-size:16px}.field+.field{margin-top:7px}.password-toggle{right:7px;width:36px;height:36px}.primary,.google{height:46px}.divider{height:24px}.legal{margin-top:10px;line-height:1.4}.footer{font-size:8px;gap:10px}
  .document-view{height:calc(100% - 18px)}.back-button{margin-bottom:13px;padding:7px 10px}.document-view h2{font-size:27px;letter-spacing:-1.2px}.document-date{margin-bottom:20px}.document-view h3{margin-top:19px}.document-scroll{padding-right:12px}
  .place img{object-position:50% 56%}.menu{right:22px;top:20px}.place-label{left:24px;bottom:27px}.photo-credit{right:16px;bottom:10px}
}
@media(max-height:650px) and (min-width:821px){.login-panel{padding-top:22px;padding-bottom:19px}.form-wrap{scale:.84}.footer{display:none}.document-view{height:calc(100dvh - 92px)}}
@media(max-width:820px) and (max-height:650px){.login-page{grid-template-rows:74% 26%}.header{display:none}.content-view{max-width:390px}.intro{margin-bottom:10px}.field{height:46px}.password-toggle{width:34px;height:34px}.primary,.google{height:42px}.divider{height:19px}.legal{margin-top:7px;font-size:8px}.document-view{height:calc(100% - 4px)}.place-label{bottom:18px}.place-label strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
