:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#203b36;background:#f5f7f6;font-synthesis:none;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #135fa5;outline-offset:4px}[hidden]{display:none!important}main{max-width:860px;margin:auto;padding:24px 24px max(32px,env(safe-area-inset-bottom))}header{display:flex;align-items:center;justify-content:space-between;padding:8px 0 28px;border-bottom:1px solid #dce4e0;gap:12px}.brand{font-size:23px;font-weight:750;text-decoration:none;color:#173c36;display:grid;grid-template-columns:40px auto;column-gap:10px;align-items:center}.brand-icon{grid-row:span 2;display:grid;place-items:center;width:40px;height:44px;background:#173c36;border-radius:11px;color:#fff;font-size:29px}.brand-sub{font-size:10px;letter-spacing:2px;font-weight:600;margin-top:3px}.intro{padding:38px 0 25px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:1.5px;color:#507067}h1{font-size:clamp(27px,4.8vw,36px);letter-spacing:-1px;line-height:1.12;margin:12px 0}p{color:#5d6e67;line-height:1.55}h2{font-size:21px;letter-spacing:-.4px}.intro p{margin-bottom:0}.children{display:grid;gap:13px}.child{border:0;display:flex;align-items:center;gap:18px;padding:23px;border-radius:19px;text-align:left;color:white;font-size:24px;font-weight:700;box-shadow:0 4px 0 #00000008;transition:transform .15s}.child:active{transform:scale(.98)}.jakob{background:#2563b4}.sofia{background:#974580}.ida{background:#b15119}.initial{display:grid;place-items:center;background:#ffffff25;border:1px solid #ffffff35;border-radius:50%;width:49px;height:49px;font-size:23px}.child small{display:block;font-size:14px;font-weight:400;margin-top:4px;color:#fff}.camera{margin-left:auto;font-size:31px;font-weight:300}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:34px}.section-heading h1{font-size:29px}.text-button{background:none;border:0;color:#345d51;padding:12px 0;font-weight:600;font-size:14px;min-height:44px}.filters{display:flex;gap:8px;margin:2px 0 19px;flex-wrap:wrap}.filters button{border:1px solid #d9e2dd;border-radius:24px;background:white;color:#4b635a;padding:10px 19px;font-size:14px;min-height:44px}.filters button[aria-pressed=true]{background:#173c36;color:white;border-color:#173c36}.empty{border:1px dashed #c8d6ce;border-radius:16px;padding:26px 22px;text-align:center;background:#ffffff70}.empty strong{display:block;margin-bottom:6px}.empty p{margin:0;font-size:14px}.footnote{font-size:13px;text-align:center;margin:28px 0;color:#687c71}.panel{background:white;border:1px solid #e0e6e2;border-radius:20px;padding:24px}.panel h2{margin:0 0 16px}label{display:block;font-size:14px;font-weight:650;margin:18px 0 8px}label span{font-weight:400;color:#718178}input,textarea{width:100%;border:1px solid #c8d5ce;border-radius:10px;background:#fbfcfb;color:#203b36;padding:13px;min-height:49px;max-width:100%;appearance:none}input:focus,textarea:focus{outline:2px solid #2e7563;outline-offset:1px}input[type=date]{min-width:0;display:block}textarea{resize:vertical}.primary{border:0;border-radius:12px;background:#173c36;color:#fff;font-weight:650;min-height:53px;padding:15px;width:100%;margin-top:23px}.form-hint{margin:0;font-size:14px}.back{margin-top:15px}.badge{color:white;border-radius:25px;padding:8px 14px;font-size:14px;font-weight:650}.editor{display:grid;grid-template-columns:1fr 1.15fr;gap:24px;margin-top:21px;align-items:start}.photo-frame{border-radius:16px;background:#e8edea;overflow:hidden;padding:12px;border:1px solid #dce4df}.photo-frame img{width:100%;max-height:420px;object-fit:contain;display:block}.scan-status{display:flex;gap:9px;align-items:center;font-size:14px;color:#526b5f;line-height:1.5;margin:10px 0 20px}.scan-dot{width:8px;height:8px;border-radius:50%;background:#458772;flex-shrink:0}.date-options{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.date-options button{background:#edf3ef;border:1px solid #d1dfd5;border-radius:8px;padding:9px;color:#30594a;font-size:14px}.event{display:flex;align-items:center;text-align:left;width:100%;padding:16px;border:1px solid #e0e6e2;border-radius:15px;background:white;margin-bottom:10px;gap:15px;color:inherit}.event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:52px;min-height:56px;border-radius:10px;background:#f0f4f1;font-size:22px;font-weight:700}.event-date small{font-size:11px;letter-spacing:.5px;text-transform:uppercase}.event-info{min-width:0}.event-info strong{display:block;font-size:16px;overflow-wrap:anywhere;line-height:1.35}.event-info small{display:block;color:#62746a;margin-top:6px;font-size:13px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.arrow{margin-left:auto;color:#6c8275}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:25px}.detail-grid img{display:block;width:100%;border-radius:12px}.detail-grid a{color:#315e4d;font-size:14px}.detail-grid h1{overflow-wrap:anywhere}.detail-grid p{white-space:pre-wrap;overflow-wrap:anywhere}#notice{background:#e4f2ea;border:1px solid #b8d8c4;padding:14px 17px;border-radius:12px;color:#234d38}#notice.error{background:#fff0ec;border-color:#efc6ba;color:#8c311c}#login-view{max-width:470px;margin:auto}@media(max-width:600px){main{padding:18px 20px 30px}.intro{padding-top:29px}header{padding-bottom:21px}.child{padding:20px}.editor,.detail-grid{grid-template-columns:1fr}.photo-frame img{max-height:240px}.panel{padding:20px}.section-heading{margin-top:28px}.section-heading h2{font-size:20px}.filters button{padding:9px 16px}.brand{font-size:21px}#logout{font-size:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

dialog{width:min(420px,calc(100% - 36px));padding:25px;border:1px solid #dce4e0;border-radius:22px;color:#203b36;background:#fff;box-shadow:0 20px 70px #102b3433}dialog::backdrop{background:#122b3866}dialog h2{margin:0 0 12px}dialog p{font-size:15px;margin:0}dialog .primary{margin-top:20px}.secondary{width:100%;min-height:53px;margin-top:10px;padding:15px;border:1px solid #c8d5ce;border-radius:12px;background:#eef4f1;color:#173c36;font-weight:650}dialog .text-button{width:100%;margin-top:8px}
