:root{--yz-brand:#eb2302;--yz-brand-pressed:#c71d00;--yz-brand-on-text:#a11700;--yz-brand-tint:#fdece9;--yz-brand-tint-strong:#fbd9d2;--yz-bg:#f4f5f7;--yz-surface:#fff;--yz-surface-raised:#fafafb;--yz-surface-sunken:#f3f4f6;--yz-input:#fff;--yz-text:#1f2933;--yz-text-secondary:#4b5563;--yz-text-quiet:#6b7280;--yz-text-inverse:#fff;--yz-border:#e3e6ea;--yz-border-strong:#cbd5e1;--yz-success:#178a4e;--yz-success-bg:#e7f6ee;--yz-warning:#b45309;--yz-warning-bg:#fef3e2;--yz-error:#c71d00;--yz-error-bg:#fdece9;--yz-info:#1d4ed8;--yz-info-bg:#eaf2fe;--yz-radius:10px;--yz-radius-tile:8px;--yz-gap:10px;--yz-margin:16px;--yz-hit:44px;--yz-tabbar:64px;--yz-safe-bottom:env(safe-area-inset-bottom,0px);--yz-font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif}[data-theme=dark]{--yz-brand:#b94f38;--yz-brand-pressed:#9e4230;--yz-brand-on-text:#e08a74;--yz-brand-tint:#b94f381f;--yz-brand-tint-strong:#b94f383d;--yz-bg:#090c10;--yz-surface:#10161c;--yz-surface-raised:#141c23;--yz-surface-sunken:#0c1217;--yz-input:#0b1015;--yz-text:#e6ecf2;--yz-text-secondary:#b9c4cf;--yz-text-quiet:#8c99a6;--yz-text-inverse:#05070a;--yz-border:#253040;--yz-border-strong:#31404f;--yz-success:#62b58d;--yz-success-bg:#62b58d1c;--yz-warning:#c99a58;--yz-warning-bg:#c99a581c;--yz-error:#c96b58;--yz-error-bg:#c96b581c;--yz-info:#8fb2bb;--yz-info-bg:#8fb2bb1a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--yz-brand:#b94f38;--yz-brand-pressed:#9e4230;--yz-brand-on-text:#e08a74;--yz-brand-tint:#b94f381f;--yz-brand-tint-strong:#b94f383d;--yz-bg:#090c10;--yz-surface:#10161c;--yz-surface-raised:#141c23;--yz-surface-sunken:#0c1217;--yz-input:#0b1015;--yz-text:#e6ecf2;--yz-text-secondary:#b9c4cf;--yz-text-quiet:#8c99a6;--yz-text-inverse:#05070a;--yz-border:#253040;--yz-border-strong:#31404f;--yz-success:#62b58d;--yz-success-bg:#62b58d1c;--yz-warning:#c99a58;--yz-warning-bg:#c99a581c;--yz-error:#c96b58;--yz-error-bg:#c96b581c;--yz-info:#8fb2bb;--yz-info-bg:#8fb2bb1a}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--yz-font);background:var(--yz-bg);color:var(--yz-text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}a{color:var(--yz-brand-on-text)}.app-shell{background:var(--yz-bg);max-width:480px;height:100%;box-shadow:0 0 0 1px var(--yz-border);flex-direction:column;margin:0 auto;display:flex;position:relative}.app-main{-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--yz-tabbar) + var(--yz-safe-bottom) + 8px);flex:1;overflow:auto}.app-main.full{padding-bottom:var(--yz-safe-bottom)}.screen{flex-direction:column;min-height:100%;display:flex}.screen-header{z-index:20;min-height:52px;padding:8px var(--yz-margin);background:color-mix(in srgb, var(--yz-bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--yz-border);align-items:center;gap:10px;display:flex;position:sticky;top:0}.screen-header .title{text-align:center;color:var(--yz-text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:15px;font-weight:600;overflow:hidden}.screen-header .actions{justify-content:flex-end;gap:8px;min-width:72px;display:flex}.icon-btn{min-width:var(--yz-hit);min-height:var(--yz-hit);color:var(--yz-brand);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:active{background:var(--yz-brand-tint)}.brand-mark{width:auto;height:32px;display:block}.brand-mark.lg{height:76px;margin-left:auto;margin-right:auto}.btn-primary,.btn-secondary{min-height:var(--yz-hit);border-radius:var(--yz-radius);justify-content:center;align-items:center;gap:8px;width:100%;padding:0 14px;font-weight:600;display:inline-flex}.btn-primary{background:var(--yz-brand);color:var(--yz-text-inverse)}.btn-primary:active{background:var(--yz-brand-pressed)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{background:var(--yz-surface);color:var(--yz-text);border:1px solid var(--yz-border);font-weight:500}.btn-secondary:active{background:var(--yz-surface-raised)}.btn-danger{color:var(--yz-error);min-height:var(--yz-hit);font-weight:600}.field{flex-direction:column;gap:8px;display:flex}.field label{color:var(--yz-text-secondary);font-size:13px;font-weight:600}.field input,.field textarea,.field select{min-height:var(--yz-hit);border-radius:var(--yz-radius);border:1px solid var(--yz-border);background:var(--yz-input);outline:none;padding:12px 14px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--yz-brand);border-width:1.5px}.field textarea{resize:vertical;min-height:96px}.banner{border-radius:var(--yz-radius);align-items:flex-start;gap:8px;padding:12px;font-size:14px;font-weight:500;display:flex}.banner.info{background:var(--yz-info-bg);color:var(--yz-text)}.banner.warning{background:var(--yz-warning-bg)}.banner.error{background:var(--yz-error-bg)}.banner.success{background:var(--yz-success-bg)}.banner .icon{flex-shrink:0;margin-top:1px}.banner.info .icon{color:var(--yz-info)}.banner.warning .icon{color:var(--yz-warning)}.banner.error .icon{color:var(--yz-error)}.banner.success .icon{color:var(--yz-success)}.tab-bar{width:100%;max-width:480px;height:calc(var(--yz-tabbar) + var(--yz-safe-bottom));padding-bottom:var(--yz-safe-bottom);background:var(--yz-surface);border-top:1px solid var(--yz-border);z-index:40;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab-item{color:var(--yz-text-quiet);min-height:var(--yz-tabbar);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:10px;font-weight:500;display:flex;position:relative}.tab-item.active{color:var(--yz-brand)}.tab-badge{background:var(--yz-brand);min-width:16px;height:16px;color:var(--yz-text-inverse);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:6px;right:calc(50% - 22px)}.card{background:var(--yz-surface);border:1px solid var(--yz-border);border-radius:16px;padding:24px;box-shadow:0 8px 18px #0000000f}.photo-grid{gap:calc(var(--yz-gap) + 6px);padding:4px var(--yz-margin) 16px;grid-template-columns:1fr 1fr;display:grid}.photo-tile{text-align:left;flex-direction:column;gap:6px;display:flex}.photo-tile .thumb,.photo-list-row .thumb{aspect-ratio:1;object-fit:cover;border-radius:var(--yz-radius-tile);background:var(--yz-surface-sunken);width:100%}.photo-tile .cap{color:var(--yz-text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.photo-tile .meta{color:var(--yz-text-quiet);font-size:11px}.photo-list{padding:0 var(--yz-margin)}.photo-list-row{border-bottom:1px solid var(--yz-border);text-align:left;gap:12px;width:100%;padding:10px 0;display:flex}.photo-list-row .thumb{aspect-ratio:1;flex-shrink:0;width:72px}.search-bar{margin:8px var(--yz-margin) 4px;background:var(--yz-input);border:1px solid var(--yz-border);border-radius:var(--yz-radius);align-items:center;gap:8px;padding:10px;display:flex}.search-bar input{background:0 0;border:none;outline:none;flex:1;min-height:24px}.chips{padding:4px var(--yz-margin) 8px;scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.chip{background:var(--yz-brand-tint-strong);color:var(--yz-brand-on-text);border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.empty{text-align:center;color:var(--yz-text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:36px;display:flex}.empty h2{color:var(--yz-text);margin:0;font-size:22px}.sheet{z-index:50;background:var(--yz-overlay,#11182780);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-panel{background:var(--yz-surface);width:100%;max-width:480px;max-height:90vh;padding:16px var(--yz-margin) calc(16px + var(--yz-safe-bottom));border-radius:16px 16px 0 0;overflow:auto}.list-section{margin:12px var(--yz-margin);background:var(--yz-surface);border-radius:var(--yz-radius);border:1px solid var(--yz-border);overflow:hidden}.list-section h3{color:var(--yz-text-quiet);text-transform:uppercase;letter-spacing:.02em;margin:0;padding:10px 14px 4px;font-size:12px;font-weight:600}.list-row{min-height:var(--yz-hit);border-top:1px solid var(--yz-border);text-align:left;background:var(--yz-surface);align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.list-row:first-of-type{border-top:none}.fab{right:max(20px,50% - 220px);bottom:calc(var(--yz-tabbar) + var(--yz-safe-bottom) + 20px);background:var(--yz-brand);width:56px;height:56px;color:var(--yz-text-inverse);z-index:30;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;box-shadow:0 4px 12px #00000040}.spinner{border:3px solid var(--yz-border);border-top-color:var(--yz-brand);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.center{flex:1;justify-content:center;align-items:center;display:flex}.muted{color:var(--yz-text-quiet);font-size:13px}.locked{opacity:.4}.composer-item{border-bottom:1px solid var(--yz-border);grid-template-columns:72px 1fr;gap:12px;padding:12px 0;display:grid}.composer-item img{object-fit:cover;border-radius:var(--yz-radius-tile);background:var(--yz-surface-sunken);width:72px;height:72px}.log-card{text-align:left;background:var(--yz-surface);border:1px solid var(--yz-border);border-radius:var(--yz-radius);width:calc(100% - 32px);margin:0 16px 10px;padding:14px;display:block}.log-card .date{font-size:16px;font-weight:700}.log-card .meta{color:var(--yz-text-quiet);margin-top:4px;font-size:13px}.status-pill{text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.status-pill.draft{background:var(--yz-warning-bg);color:var(--yz-warning)}.status-pill.final{background:var(--yz-success-bg);color:var(--yz-success)}.segmented{background:var(--yz-surface-sunken);border-radius:var(--yz-radius);grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.segmented button{min-height:36px;color:var(--yz-text-secondary);border-radius:8px;font-size:13px;font-weight:600}.segmented button.active{background:var(--yz-surface);color:var(--yz-text);box-shadow:0 1px 2px #00000014}.viewer{color:#fff;background:#000;min-height:100%}.viewer img{object-fit:contain;background:#111;width:100%;max-height:70vh}.viewer .meta{color:#ddd;padding:16px}.row-add{color:var(--yz-brand-on-text);min-height:40px;margin-top:4px;font-weight:600}
