*{box-sizing:border-box}html,body{overflow-x:hidden}body{margin:0;background:#f3ead8;color:#152b55;font-family:Arial,sans-serif;min-height:100svh;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}header{height:58px;border-bottom:3px solid;display:flex;align-items:center;justify-content:space-between;padding:0 16px}header b{font-size:20px}header b span{color:#e64b35}header small,.kicker{font:700 9px monospace;letter-spacing:.12em}.intro{padding:22px 16px 18px;border-bottom:3px solid;display:grid;gap:18px}.intro h1{font-size:clamp(52px,16vw,82px);line-height:.78;letter-spacing:-.075em;margin:14px 0}.intro h1 em{font-family:Georgia,serif;font-weight:400;color:#e64b35}.intro p:not(.kicker){font-size:14px;line-height:1.45;max-width:520px;margin:0}button{font:900 12px Arial;min-height:48px;border:2px solid #152b55;background:#152b55;color:#fff;padding:0 16px}.tray{padding:0 16px 60px}.trayhead{height:48px;display:flex;align-items:center;justify-content:space-between;font:900 10px monospace;border-bottom:1px solid}.card{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid;padding:14px 0}.stamp{width:68px;height:68px;border:3px solid #e64b35;color:#e64b35;display:grid;place-content:center;text-align:center;transform:rotate(-3deg);font:900 10px monospace}.stamp strong{font-size:23px}.card h3{margin:0 0 5px;font-size:18px}.card p{margin:0;font-size:11px}.due{font:900 10px monospace;text-align:right}.due.warn{color:#e64b35}.empty{padding:28px 0;font-size:13px;line-height:1.5}dialog{width:min(92vw,440px);border:3px solid #152b55;background:#f3ead8;padding:0}dialog::backdrop{background:#152b55aa}form{padding:22px;position:relative}form h2{font-size:34px;margin:10px 0 20px}.x{position:absolute;right:10px;top:10px;width:44px;padding:0;background:transparent;color:#152b55;font-size:25px;border:0}label{display:block;font-size:11px;font-weight:900;margin:14px 0}input,select{width:100%;height:48px;border:2px solid #152b55;background:#fffaf0;border-radius:0;padding:0 12px;font-size:16px;color:#152b55;margin-top:6px}.duration{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}.save{width:100%;margin-top:10px}@media(min-width:760px){header{padding-inline:30px}.intro{padding:42px 30px 30px;grid-template-columns:1fr 260px;align-items:end}.tray{padding-inline:30px}}