:root{--background: var(--bg);--bg: #f2f2f7;--surface: #ffffff;--surface2: #f2f2f7;--text: #1c1c1e;--text2: #6e6e73;--text3: #aeaeb2;--accent: #007aff;--green: #34c759;--orange: #ff9f0a;--red: #ff3b30;--sep: rgba(60, 60, 67, .12);--r: 14px;--r-sm: 10px;--app-max-width: 390px;--breakpoint-app-shell: 480px;--focus-ring: 2px solid var(--accent);--focus-offset: 2px;--nav-blur: blur(20px) saturate(180%);--ease-out: cubic-bezier(.25, .1, .25, 1)}*,*:before,*:after{box-sizing:border-box}html{height:100%;overflow:hidden;touch-action:pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%}app-root{display:block;height:100%;min-height:100%}.phone-frame{display:flex;flex-direction:column;min-height:min(844px,100dvh)}.phone-frame>router-outlet+*{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}router-outlet+*{background:var(--background, #f2f2f7);animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}body{margin:0;height:100%;min-height:100%;overflow:hidden;position:fixed;width:100%;touch-action:pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.35;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}a{color:var(--accent)}button,a,[role=button]{touch-action:manipulation}.app-title{margin:0;font-size:2rem;font-weight:700;letter-spacing:-.04em;line-height:1.05;color:var(--text)}.app-section-title{margin:0;padding:12px 4px 6px;font-size:13px;font-weight:600;color:var(--text2);letter-spacing:-.01em}.app-body{font-size:15px;color:var(--text)}.app-caption{font-size:12px;color:var(--text2)}.app-page{flex:1 1 auto;min-height:0;width:100%;display:grid;grid-template-rows:auto 1fr auto;background:var(--bg)}.app-page--single{grid-template-rows:auto 1fr}.app-page__main{min-height:0;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:none}.app-page__main--padded{padding:0 16px 16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));gap:12px;align-content:start}.app-page__main--safe-top{padding-top:max(16px,env(safe-area-inset-top))}app-bottom-nav{display:block;padding-bottom:max(8px,env(safe-area-inset-bottom))}.app-page__main--flush-bottom{padding-bottom:8px}.app-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 20px 12px;flex-shrink:0}.app-page-header--compact-top{padding-top:calc(8px + env(safe-area-inset-top))}.app-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 16px;border-radius:var(--r);border:0;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s var(--ease-out),color .15s var(--ease-out),opacity .15s var(--ease-out)}.app-btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.app-btn--primary{background:var(--accent);color:#fff}.app-btn--primary:active{opacity:.92}.app-btn--secondary{background:var(--surface);color:var(--accent);border:1px solid var(--sep)}.app-btn--secondary:active{opacity:.9}.app-btn--destructive{background:#ff3b301a;color:var(--red)}.app-btn--destructive:active{opacity:.92}.app-btn-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.app-icon-button{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:999px;background:var(--surface);font-size:18px;line-height:1;cursor:pointer;box-shadow:0 1px 0 var(--sep)}.app-icon-button:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}a.app-icon-button{text-decoration:none}.app-back-link{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px;padding:4px 0;border:0;background:none;color:var(--accent);font-size:15px;font-weight:600;cursor:pointer;text-decoration:none}.app-back-link:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:4px}.group-surface{overflow:hidden;border-radius:var(--r);background:var(--surface)}.app-hero{padding:16px;border-radius:var(--r);background:var(--surface)}.app-hero__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.app-hero__label{font-size:13px;font-weight:600;color:var(--text2)}.app-hero__number{margin-top:4px;font-size:2.5rem;font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--text)}.app-hero__total{font-size:1.25rem;font-weight:500;color:var(--text2)}.app-hero__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.app-stat-num{font-size:1.35rem;font-weight:700;color:var(--text)}.app-stat-label{margin-top:2px;font-size:12px;color:var(--text2)}.app-note{padding:12px 14px;border-radius:var(--r);background:var(--surface);color:var(--text2);font-size:13px;line-height:1.45}.app-note strong{color:var(--text);font-weight:600}.app-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-height:120px;padding:16px;border-radius:var(--r);border:1px dashed var(--sep);background:var(--surface);color:var(--accent);font-size:15px;font-weight:600;cursor:pointer;transition:background .15s var(--ease-out)}.app-upload:hover{background:var(--surface2)}.app-upload:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.app-upload__sub{font-size:12px;font-weight:500;color:var(--text2)}.app-dist-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--sep);background:var(--surface)}.app-dist-row:last-child{border-bottom:0}.app-file-row{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface)}.app-file-row .app-row-title{font-size:15px;font-weight:500;color:var(--text)}.app-file-row .app-row-subtitle{margin-top:2px;font-size:12px;color:var(--text2)}.app-row-title{font-size:15px;font-weight:500;color:var(--text)}.app-row-subtitle{margin-top:2px;font-size:12px;color:var(--text2)}.app-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.app-pill--green{background:#34c7591f;color:#1f9f45}.app-pill--orange{background:#ff9f0a1f;color:#c97900}.app-pill--blue{background:#007aff1a;color:var(--accent)}.app-online-pill{min-height:28px;padding:4px 10px;border-radius:999px;background:#34c7591f;color:#1f9f45;font-size:12px;font-weight:700}
