:root{--bg:#f5f3ef;--card:#fff;--text:#2a2e2b;--muted:#858b86;--line:#e7e4dd;--accent:#475c52;--soft:#edf1ed;--shadow:0 12px 38px rgba(48,54,48,.055)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Hiragino Sans','Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}
.app{max-width:440px;min-height:100vh;margin:auto;padding:19px 18px 104px}.topbar{display:flex;height:45px;align-items:center;justify-content:space-between;margin-bottom:16px}.brand,.iconbutton{background:transparent;border:0;color:var(--text)}.brand{padding:0;font-weight:760;font-size:23px;letter-spacing:-.045em}.iconbutton{font-size:20px;color:#8a908b;padding:8px 4px}
.screen{display:none}.screen.active{display:block}h1{font-size:29px;letter-spacing:-.045em;line-height:1.25;margin:17px 0 9px;font-weight:720}h3{font-size:12px;letter-spacing:.04em;color:#8d938e;margin:25px 2px 9px}.lead{font-size:14px;line-height:1.65;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:13px}.mini{font-size:11px;line-height:1.6}
.hero,.panel,.form-panel{background:#fff;border:1px solid var(--line);border-radius:25px}.hero{padding:24px;box-shadow:var(--shadow)}.panel{padding:17px}.form-panel{padding:16px;margin-top:16px}.eyebrow{font-size:12px;font-weight:700;color:#858c86}.money{font-size:46px;font-weight:735;letter-spacing:-.058em;margin:5px 0 0}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.stat{border:1px solid #efede7;background:#faf9f6;border-radius:17px;padding:13px 14px}.stat span{display:block;font-size:11px;color:#9a9e99}.stat strong{display:block;font-size:20px;margin-top:4px}
.primary,.outlined,.textbutton,.danger-button,.file-label{display:block;width:100%;padding:15px 16px;font-weight:680;border:0;border-radius:17px;text-align:center}.primary{background:var(--accent);color:white;margin-top:14px;box-shadow:0 7px 18px rgba(71,92,82,.15)}.outlined{border:1px solid var(--line);background:#fff;color:var(--text);margin-top:10px}.textbutton{background:transparent;color:var(--accent);font-size:13px;margin-top:5px}.danger-button{background:transparent;color:#955e57;font-size:13px;margin-top:8px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}.quick button{background:#faf9f6;border:1px solid #eeeae3;border-radius:15px;color:#656c66;font-weight:650;padding:12px 6px;font-size:13px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.choice{background:white;border:1px solid var(--line);min-height:100px;border-radius:18px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:15px;font-weight:690;text-align:left;font-size:15px;color:var(--text)}.choice small{display:block;color:#989d98;font-size:11px;font-weight:400;margin-top:6px}.choice input,.file-label input{display:none}.file-label{cursor:pointer}
.field{display:block;font-size:12px;color:#686f69;font-weight:650;margin:12px 0}.field input,.field select{display:block;width:100%;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--text);padding:13px 14px;margin-top:7px;outline:none;font-size:15px}.field input:focus{border-color:#aebbb1;box-shadow:0 0 0 4px #edf1ed}.field span{font-size:11px;color:#9c9f9b;font-weight:400}
.hint{background:#edf1ed;border-radius:16px;color:#51655a;font-size:13px;line-height:1.65;padding:14px 16px;margin-top:14px}.hint p{margin-bottom:0}.hint[hidden]{display:none}code{background:#e4e8e3;border-radius:5px;padding:2px 4px}.dropzone{border:1px dashed #c9ccc6;border-radius:18px;text-align:center;padding:25px 13px;color:#8c938c;background:#f9f8f5;font-size:12px;margin-top:15px}.dropzone.drag{background:#edf1ed;border-color:var(--accent)}
.reading-panel{height:245px;background:white;border:1px solid var(--line);border-radius:25px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin-top:16px;padding:20px}.reading-panel p{line-height:1.5}.spinner{width:37px;height:37px;border-radius:50%;border:3px solid #e4e8e4;border-top-color:var(--accent);animation:spin 1s linear infinite;margin-bottom:17px}@keyframes spin{to{transform:rotate(360deg)}}
.pill{display:inline-block;border-radius:100px;padding:6px 11px;background:var(--soft);color:var(--accent);font-size:11px;font-weight:700}.line,.row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #f1efeb}.line:last-child,.row:last-child{border:0}.line b{display:block;font-size:14px}.line small{display:block;color:#9a9e99;margin-top:4px;font-size:11px;line-height:1.5}.line .right{white-space:nowrap;font-size:12px;color:#788079}.line .positive{white-space:nowrap;color:var(--accent);font-weight:750}.line[role='button']{cursor:pointer}.row span{font-size:13px;color:#777f78}.row strong{font-size:13px;text-align:right;max-width:62%;overflow-wrap:anywhere}.footnote{text-align:center;color:#aaaead;font-size:11px;margin-top:17px;line-height:1.5}.statusbox{background:#f0f2ee;padding:16px;border-radius:18px;margin:16px 0}.statusbox b{font-size:14px}.statusbox p{color:#6d7770;font-size:12px;line-height:1.6;margin:6px 0 0}
.nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(440px,100%);display:grid;grid-template-columns:1fr 1fr 1fr;background:rgba(252,251,248,.97);border-top:1px solid #e4e2dc;backdrop-filter:blur(10px);padding:9px 6px 12px;z-index:10}.nav button{background:transparent;border:0;color:#868d87;font-size:11px}.nav span{display:block;color:#566258;font-size:18px;margin-bottom:2px}.nav-center i{width:47px;height:47px;display:flex;align-items:center;justify-content:center;color:white;background:var(--accent);font-size:27px;font-style:normal;border-radius:17px;margin:-21px auto 3px;box-shadow:0 9px 22px rgba(71,92,82,.2)}.toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%) translateY(12px);background:#2d3933;color:white;font-size:12px;padding:11px 15px;white-space:nowrap;border-radius:12px;opacity:0;pointer-events:none;transition:.25s;z-index:100}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(min-width:650px){.app{padding-top:29px}}

.mini-edit{border:1px solid var(--line);background:#faf9f6;color:#6d766f;padding:5px 9px;border-radius:9px;display:block;margin-left:auto;margin-top:5px;font-size:11px}.mini-edit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Public beta additions */
.scope-note{margin-top:12px;border:1px solid var(--line);background:#faf9f6;border-radius:14px;color:#7b827c;font-size:12px;line-height:1.6;padding:11px 13px}
.legal-footer{display:flex;justify-content:center;align-items:center;gap:17px;margin:18px 0 4px;flex-wrap:wrap}
.legal-footer a{color:#7a847c;font-size:11px;text-decoration:underline;text-underline-offset:3px}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #7b9889;outline-offset:3px}
#imageSafety .panel b{font-size:14px}#imageSafety .panel p{font-size:13px;margin-top:9px}

/* v1.1: calm, single-purpose feedback */
.extra-actions{margin-top:15px;background:#faf9f6;border:1px solid var(--line);border-radius:17px;padding:5px 15px 13px}
.extra-actions summary{padding:11px 2px;color:#6e7770;font-size:13px;font-weight:600;cursor:pointer;list-style-position:inside}
.extra-actions[open] summary{border-bottom:1px solid var(--line);margin-bottom:8px}
#retakePhotoButton{font-size:13px}
#photoAdvice{border-left:3px solid #a5b4a9;background:#f5f7f4}
#add h1{font-size:27px;line-height:1.36}
@media(min-width:650px){#add h1{font-size:28px}}
