:root{--yellow:#f7c440;--cream:#fff4d8;--brown:#754600;--ink:#17150f;--muted:#6d675b}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Georgia,'Times New Roman',serif;background:#fff}h1,h2,.brand,.primary{font-weight:900}h1{font-size:clamp(2.5rem,7vw,3.8rem);letter-spacing:-.04em;text-align:center;margin:30px 0}main{width:min(100% - 40px,440px);margin:0 auto;padding:8px 0 56px}.login-page{background:var(--yellow);min-height:100svh}.login-page main{padding-top:48px}.login-logo{display:block;width:240px;max-width:70%;height:190px;object-fit:contain;margin:auto}.login-page h1{margin:36px -10px 54px}header{background:var(--yellow);min-height:88px;padding:12px max(20px,calc((100% - 1000px)/2));display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#000;font-size:1.2rem}.brand img{width:72px;height:60px;object-fit:contain}.text-button{border:0;background:none;text-decoration:underline;font:700 1rem Georgia,serif;color:var(--muted);cursor:pointer;padding:8px}.fields{display:flex;flex-direction:column}label{font-size:1.35rem;font-weight:700;margin:26px 12px 10px}input:not([type=hidden]):not([type=file]){width:100%;min-height:66px;border:2px solid var(--ink);border-radius:22px;background:#f7f7f6;padding:12px 18px;font:1.2rem Georgia,serif}.login-page input:not([type=hidden]){background:var(--cream);min-height:76px}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #254f88;outline-offset:4px}.primary{display:block;background:var(--brown);color:#fff;border:3px solid #3f2d00;border-radius:22px;font-family:Georgia,serif;font-size:2rem;cursor:pointer;padding:12px 28px;margin:46px auto 0;min-height:66px}.primary:hover{background:#5d3700}.avatar{display:block;width:min(280px,80vw);aspect-ratio:1;object-fit:cover;border:2px solid #30332e;border-radius:50%;margin:22px auto 12px}.avatar.small{width:130px}.picture-label{display:block;text-align:center;text-decoration:underline;color:var(--muted);cursor:pointer;margin:14px 0}.file-input{display:block;max-width:100%;margin:16px auto;font: .85rem system-ui,sans-serif}.hint{font:.85rem/1.5 system-ui,sans-serif;color:var(--muted);margin:8px 10px}.picture-label+.file-input+.hint{text-align:center;margin-bottom:38px}.notice{font:1rem/1.5 system-ui,sans-serif;background:var(--cream);border:1px solid #b38923;padding:14px;border-radius:12px}.error{background:#fff0ed;border-color:#b24230;color:#832516}.cancel{display:block;margin:20px auto}.sessions{margin-top:48px;border-top:1px solid #ddd;padding-top:16px}.sessions h2{font-size:1.2rem}.account-page main>p{line-height:1.6}@media(min-width:800px){.login-page main{padding-top:55px}.account-page main{padding-top:20px}header{min-height:90px}}
