:root{color-scheme:light;--navy:#073b78;--ink:#17334f;--muted:#4f687e;--red:#e5002b;--line:#d5e1ec;--paper:#fff;--bg:#f3f6fa;--visit:#087969;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}a{color:var(--navy)}button,input,select,textarea{font:inherit}button,a.button{min-height:44px;cursor:pointer;background:#fff;border:1px solid #a4bbd0;color:var(--navy);border-radius:9px;padding:.65rem 1rem;font-weight:650;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}button:hover,a.button:hover{background:#eef5fc}button:disabled{opacity:.55;cursor:wait}button.primary{background:var(--navy);color:#fff;border-color:var(--navy)}button.danger{color:#ae1730;border-color:#e5a4af}button.quiet{border-color:transparent;background:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #fbb724;outline-offset:3px}input,select,textarea{width:100%;min-height:44px;border:1px solid #9fb6ca;border-radius:7px;background:white;color:var(--ink);padding:.65rem}input:focus,textarea:focus,select:focus{outline:2px solid #2c78be;outline-offset:2px}textarea{min-height:100px;resize:vertical}label{display:block;font-weight:650;font-size:.9rem;margin-bottom:.9rem}label input,label select,label textarea{margin-top:.35rem;font-weight:400}.subtle,small{color:var(--muted)}small{line-height:1.5}.banner{background:#fff7e6;border-bottom:1px solid #dfb86c;padding:.65rem 1rem;text-align:center;font-size:.87rem;color:#6e4700}.masthead{background:white;border-bottom:1px solid var(--line)}.top{max-width:1120px;margin:auto;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.brand{font-size:1.3rem;font-weight:800;color:var(--navy)}.brand span{color:var(--red)}.brand small{display:block;font-size:.69rem;font-weight:500;letter-spacing:.045em}.top nav{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.container{max-width:1120px;margin:2rem auto;padding:0 1.2rem 5rem}h1{font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.17;margin:.3rem 0 1rem}h2{font-size:1.25rem;margin:0 0 1rem}h3{font-size:1.04rem}.eyebrow{color:var(--visit);font-weight:800;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.35rem;margin:1rem 0;box-shadow:0 6px 18px #15344e05}.toolbar{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;margin:1rem 0}.toolbar.spread{justify-content:space-between}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.grid .wide{grid-column:1/-1}.list{list-style:none;padding:0}.list li{border-bottom:1px solid var(--line);padding:1rem 0;display:flex;align-items:center;gap:1rem;justify-content:space-between}.list .open{text-align:left;justify-content:flex-start;flex:1;flex-direction:column;align-items:flex-start;border:0;padding:.4rem 0}.open small{font-weight:400}.empty{padding:2rem 1rem;text-align:center;background:#f8fbfd;border:1px dashed #b1c6d9;border-radius:10px;color:var(--muted)}.status{padding:.8rem 1rem;border-radius:8px;margin:1rem 0;background:#e9f4fb;white-space:pre-line;overflow-wrap:anywhere}.status.error{background:#fff0ef;color:#9c2034;border:1px solid #e7b1b1}.status.success{background:#e7f5ee;color:#126047}.status:empty{display:none}.badge{font-size:.78rem;border-radius:20px;background:#e6f3ee;color:#075b49;padding:.35rem .65rem;display:inline-block}.badge.trash{background:#fde9ec;color:#aa1933}.point{border-left:4px solid var(--visit)}.photo-grid{display:flex;flex-wrap:wrap;gap:.7rem}.photo{margin:.4rem 0;max-width:180px;font-size:.85rem;overflow-wrap:anywhere}.photo img{width:160px;height:110px;object-fit:contain;background:#edf2f7;border-radius:6px}.photo button{font-size:.8rem;min-height:36px}summary{cursor:pointer;min-height:40px;padding:.6rem 0;font-weight:650;color:var(--navy)}details+details{border-top:1px solid var(--line)}.actions{position:sticky;bottom:0;background:#ffffffed;backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:12px;padding:.6rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem;z-index:2;box-shadow:0 -5px 18px #16314b0a}.actions .subtle{font-size:.85rem}dialog{border:1px solid var(--line);border-radius:14px;max-width:540px;width:calc(100% - 2rem);padding:1.4rem;color:var(--ink)}dialog::backdrop{background:#122b46aa}.auth{max-width:490px;margin:7vh auto;padding:1.2rem}.auth .card{padding:2rem}.auth button{width:100%;margin-top:.5rem}.auth .brand{margin-bottom:2rem}.muted-box{padding:.85rem;border-radius:9px;background:#f4f7fa;line-height:1.55}.history{font-size:.85rem;line-height:1.9;overflow-wrap:anywhere}.no-margin{margin:0}[hidden]{display:none!important}.offline{background:#fff1d1;color:#694600;padding:.75rem 1rem;text-align:center}footer{color:var(--muted);font-size:.82rem;margin:1.5rem 0}.progress{font-size:.88rem}.profile{font-size:.85rem;color:var(--muted)}
@media(max-width:650px){.grid{grid-template-columns:1fr}.container{margin:1.1rem auto;padding:0 .8rem 5rem}.card{padding:1rem}.top{padding:.8rem}.top nav{width:100%;justify-content:space-between}.list li{align-items:flex-start;gap:.4rem}.list .open{max-width:calc(100% - 60px);overflow-wrap:anywhere}.auth .card{padding:1.25rem}.actions{flex-wrap:wrap}.actions button{flex:1}.photo{max-width:135px}.photo img{width:130px;height:100px}}
@media print{.banner,nav,.toolbar,.actions,button,.no-print,#notice,#offline{display:none!important}.container{margin:0;padding:0}.card{box-shadow:none;break-inside:avoid}.masthead{border:0}.photo img{max-width:100%}body{background:white}}

