:root{--bg: #dedcd4;--surface: #efefe9;--card: #f6f4ec;--sand: #dcd3b8;--sand-deep: #e4dec9;--ink: #26302b;--text: #26302b;--text-2: #3e4a44;--text-3: #55605a;--muted: #676c66;--green: #3f6b50;--green-light: #6e9e7e;--green-pale: #8fbf9f;--green-wash: #eff4ef;--green-tint: #eaf1ea;--green-border: #bcd6c1;--border: #d8d4c4;--border-soft: #e1dccb;--border-dashed: #c6c2b2;--disabled: #cbc9bc;--amber: #856626;--red: #aa5138;--font-display: "Archivo", system-ui, sans-serif;--font-body: "Public Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--r-sm: 9px;--r-md: 14px;--r-lg: 16px;--r-xl: 18px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}[data-theme=dark]{--bg: #11140f;--surface: #1c2219;--card: #232b20;--sand: #3a3527;--sand-deep: #454026;--text: #e9ece7;--text-2: #c7cdc3;--text-3: #9ba497;--muted: #959d90;--green: #6e9e7e;--green-light: #8fbf9f;--green-pale: #a9d4b6;--green-wash: #1e2a21;--green-tint: #233027;--green-border: #37503e;--border: #343c2f;--border-soft: #2b3327;--border-dashed: #3f4838;--disabled: #3a4234;--amber: #d9ad5c;--red: #e08568}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overscroll-behavior-y:none}body{background:var(--surface);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}::selection{background:var(--green-light);color:#f3f1ea}a{color:var(--green);text-decoration:none}.tap{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:transform .06s ease,filter .12s ease}.tap:active{transform:scale(.97);filter:brightness(.96)}.scroll::-webkit-scrollbar{width:0}button{font:inherit;color:inherit;border:none;background:none;padding:0;margin:0;text-align:left}@media (prefers-reduced-motion: reduce){.tap{transition:none}.tap:active{transform:none}}#app{min-height:100dvh}.app{position:relative;min-height:100dvh;background:var(--surface);max-width:440px;margin:0 auto}@media (min-width: 460px){body{background:var(--bg)}.app{box-shadow:0 0 0 1px var(--border-soft)}}:root{--foot-h: calc(91px + var(--safe-bottom))}html{scroll-padding-bottom:calc(var(--foot-h) + 12px)}.screen{display:flex;flex-direction:column;min-height:100dvh;padding-top:var(--safe-top)}.header{display:flex;align-items:center;gap:12px;padding:30px 22px 6px}.header__logo{height:36px;flex-shrink:0}.header__title{font-family:var(--font-display);font-weight:800;font-size:21px;margin:0}.header__sub{font-size:13px;color:var(--muted);margin:2px 0 0}.form{flex:1;overflow-y:auto;padding:6px 22px 16px}.label{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:18px 0 6px;display:block}.field__textarea,.field__input{width:100%;background:var(--card);border:1.5px solid var(--border);border-radius:var(--r-md);padding:13px 15px;font-family:var(--font-body);font-size:15px;line-height:1.45;color:var(--text)}.field__textarea{resize:none}.field__textarea[aria-invalid=true],.field__textarea[aria-invalid=true]:focus{border-color:var(--red)}.form__fields{border:0;margin:0;padding:0;min-width:0}.form__fields:disabled{opacity:.6}.form__fields:disabled .location__map{pointer-events:none}.field-error{color:var(--red);font-size:13.5px;font-weight:600;margin:6px 0 0}.counter{font-size:12.5px;color:var(--muted);text-align:right;margin:4px 0 0;font-variant-numeric:tabular-nums}.counter--full{color:var(--red);font-weight:600}.field__textarea:focus,.field__input:focus{outline:none;border-color:var(--green);background:var(--green-wash)}.row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-md);background:var(--card);border:1.5px solid var(--border);width:100%}.row--dashed{border:2px dashed var(--border-dashed)}.row--on{background:var(--green-wash);border-color:var(--green)}.row__chip{width:40px;height:40px;border-radius:10px;background:var(--sand);display:flex;align-items:center;justify-content:center;flex-shrink:0}.row__thumb{width:44px;height:44px;border-radius:10px;object-fit:cover;flex-shrink:0}.row__chip[hidden],.row__thumb[hidden]{display:none}.row__body{flex:1;min-width:0}.row__title{display:block;font-weight:600;font-size:15px}.row__sub{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}.location__toggle{color:var(--green);font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 2px}.location__panel{margin-top:10px}.location__map{width:100%;height:220px;border-radius:var(--r-md);border:1.5px solid var(--border);overflow:hidden;position:relative}.location__hint{font-size:12.5px;color:var(--muted);margin:8px 0 0}.location__actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:10px}.link-btn{font-weight:600;font-size:13.5px;display:inline-flex;align-items:center;min-height:44px;padding:0 2px;color:var(--green)}.link-btn[hidden]{display:none}.link-btn--quiet{color:var(--text-3)}.location__hint-kb{display:none}@media (hover: hover) and (pointer: fine){.location__hint-kb{display:inline}}@media (pointer: coarse){.location__map .maplibregl-ctrl-group button{width:44px;height:44px}}.foot{position:sticky;bottom:0;z-index:3;height:var(--foot-h);padding:10px 22px calc(16px + var(--safe-bottom));background:linear-gradient(to top,var(--surface) 72%,transparent);border-top:1px solid var(--border-soft)}.btn-submit{background:var(--green);border-radius:var(--r-xl);height:64px;width:100%;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 8px 20px -6px #3f6b5099;font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--surface)}.btn-submit:disabled{opacity:.7}.error{color:var(--red);font-size:13.5px;font-weight:600;margin:10px 0 0}.confirm{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;gap:14px}.confirm__title{font-family:var(--font-display);font-weight:800;font-size:22px;margin:0}.confirm__sub{color:var(--muted);font-size:14.5px;max-width:32ch;margin:0}.confirm__ref{background:var(--card);border:1.5px solid var(--border);border-radius:var(--r-sm);padding:6px 14px;font-size:13.5px;font-weight:600;color:var(--text-2);margin:4px 0 0}
