:root{--accent:#007aff;--on-accent:#fff;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}:root[data-platform=ios]{font:-apple-system-body;--bg:#f2f2f7;--cell:#fff;--label:#000;--secondary:#3c3c4399;--tertiary:#3c3c434d;--separator:#3c3c434a;--fill:#7676801f;--danger:#ff3b30;--success:#34c759;--radius:12px;--control-radius:14px;--side:16px;font-family:-apple-system,system-ui,Helvetica Neue,sans-serif}:root[data-platform=ios][data-scheme=dark]{--bg:#1c1c1e;--cell:#2c2c2e;--label:#fff;--secondary:#ebebf599;--tertiary:#ebebf54d;--separator:#54545899;--fill:#7676803d;--accent:#0a84ff;--danger:#ff453a;--success:#30d158}:root[data-platform=android]{--accent:#6750a4;--bg:#fef7ff;--cell:#f3edf7;--label:#1d1b20;--secondary:#49454f;--tertiary:#79747e;--separator:#cac4d0;--fill:#e6e0e9;--danger:#b3261e;--success:#386a20;--radius:16px;--control-radius:20px;--side:16px;font-family:Roboto,Google Sans Text,system-ui,sans-serif;font-size:16px}:root[data-platform=android][data-scheme=dark]{--bg:#141218;--cell:#211f26;--label:#e6e0e9;--secondary:#cac4d0;--tertiary:#938f99;--separator:#49454f;--fill:#36343b;--accent:#d0bcff;--on-accent:#381e72;--danger:#f2b8b5;--success:#9ed582}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--label);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;overscroll-behavior-y:contain;margin:0}body{min-height:100dvh}button,h1,h2,.chrome{-webkit-user-select:none;user-select:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.page{min-height:100dvh;padding:8px 0 calc(16px + env(safe-area-inset-bottom));flex-direction:column;display:flex}.page.has-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.nav{min-height:44px;padding:0 calc(var(--side) - 8px);justify-content:space-between;align-items:center;display:flex}.nav-button{min-height:44px;color:var(--accent);align-items:center;gap:2px;padding:0 8px;font-size:1rem;display:inline-flex}.nav-button svg{width:1.3em;height:1.3em}.icon-button{background:var(--fill);width:36px;height:36px;color:var(--accent);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.icon-button svg{width:20px;height:20px}.icon-button.close{color:var(--label);margin-left:8px}.icon-button.close svg{stroke-width:2.5px;width:16px;height:16px}.icon-button.add{margin-right:8px}.title{margin:4px var(--side) 4px;letter-spacing:.01em;font-size:2rem;font-weight:700;line-height:1.15}:root[data-platform=android] .title{letter-spacing:0;font-size:1.75rem;font-weight:400}.intro{margin:0 var(--side) 20px;color:var(--secondary);font-size:.94rem;line-height:1.35}.section{margin:0 var(--side) 24px}.section-header{color:var(--secondary);justify-content:space-between;margin:0 16px 6px;font-size:.8rem;display:flex}.section-footer{color:var(--secondary);margin:6px 16px 0;font-size:.8rem;line-height:1.3}.section-footer.error{color:var(--danger)}.group{background:var(--cell);border-radius:var(--radius);overflow:hidden}.field{width:100%;color:var(--label);font:inherit;min-height:44px;caret-color:var(--accent);background:0 0;border:0;outline:none;padding:11px 16px;font-size:max(17px,1rem);display:block}.field::placeholder{color:var(--tertiary)}textarea.field{resize:none;min-height:160px;line-height:1.35}:root[data-platform=android] .group.inputs{background:0 0;overflow:visible}:root[data-platform=android] .field{background:var(--cell);border-bottom:1px solid var(--tertiary);border-radius:4px 4px 0 0;min-height:56px;padding:16px}:root[data-platform=android] .field:focus{border-bottom:2px solid var(--accent)}.photos{flex-wrap:wrap;gap:10px;padding:12px;display:flex}.photo{background:var(--fill);border-radius:10px;width:72px;height:72px;position:relative;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%}.photo .remove{color:#fff;background:#0000008c;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:4px;right:4px}.photo .remove svg{width:12px;height:12px}.photo .tag{text-align:center;color:#fff;background:#00000073;padding:2px 4px;font-size:10px;position:absolute;bottom:0;left:0;right:0}.photo video{object-fit:cover;pointer-events:none;width:100%;height:100%}.photo .badge-video{font-variant-numeric:tabular-nums;color:#fff;background:#00000080;border-radius:6px;align-items:center;gap:2px;padding:1px 5px 1px 3px;font-size:11px;font-weight:600;display:flex;position:absolute;bottom:4px;left:4px}.photo .badge-video svg{width:11px;height:11px}.photo .progress{color:#fff;background:#00000059;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.photo .progress .ring{width:32px;height:32px;transform:rotate(-90deg)}.photo .progress .ring circle{fill:none;stroke-width:3px}.photo .progress .ring .track{stroke:#ffffff4d}.photo .progress .ring .value{stroke:#fff;stroke-linecap:round;transition:stroke-dashoffset .2s linear}.photo .progress.retry{background:#00000080}.photo .progress.retry svg{width:24px;height:24px}.photo.failed{box-shadow:inset 0 0 0 2px var(--danger)}.add-photo{border:1.5px dashed var(--tertiary);width:72px;height:72px;color:var(--accent);border-radius:10px;justify-content:center;align-items:center;display:flex}.add-photo svg{width:26px;height:26px}.footer{padding:12px var(--side) calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to bottom, transparent, var(--bg) 30%);position:fixed;bottom:0;left:0;right:0}:root[data-platform=ios] .page:has(.field:focus) .footer{background:0 0;padding-bottom:12px;position:static}.primary{border-radius:var(--control-radius);background:var(--accent);width:100%;min-height:50px;color:var(--on-accent);justify-content:center;align-items:center;gap:8px;font-size:1rem;font-weight:600;transition:opacity .15s,transform .1s;display:flex}.primary:active{transform:scale(.98)}.primary:disabled{background:var(--fill);color:var(--tertiary)}:root[data-platform=android] .primary{letter-spacing:.01em;min-height:48px;font-weight:500}.spinner{border:2px solid;border-right-color:#0000;border-radius:999px;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chips{padding:4px var(--side) 14px;scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{background:var(--fill);border-radius:999px;flex:none;padding:7px 14px;font-size:.88rem;font-weight:500}.chip[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.cards{margin:0 var(--side);flex-direction:column;gap:10px;display:flex}.card{border-radius:var(--radius);background:var(--cell);text-align:left;align-items:flex-start;gap:12px;width:100%;padding:12px;display:flex}.vote{background:var(--fill);width:44px;min-height:56px;color:var(--label);font-variant-numeric:tabular-nums;border-radius:10px;flex-direction:column;flex:none;justify-content:center;align-items:center;font-size:.94rem;font-weight:600;transition:background .15s,color .15s,transform .1s;display:flex}.vote:active{transform:scale(.94)}.vote svg{width:18px;height:18px}.vote[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.vote.horizontal{border-radius:999px;flex-direction:row;gap:6px;width:auto;min-height:36px;padding:0 14px}.card-body{flex:1;min-width:0}.card-title{font-size:1rem;font-weight:600;line-height:1.3}.card-text{color:var(--secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:.88rem;line-height:1.3;display:-webkit-box;overflow:hidden}.card-meta{color:var(--secondary);align-items:center;gap:10px;margin-top:8px;font-size:.8rem;display:flex}.card-meta svg{vertical-align:-2px;width:14px;height:14px}.badge{background:var(--fill);color:var(--secondary);border-radius:999px;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.badge.review{color:#c46a00;background:#ff950029}.badge.planned{color:#0a6cdb;background:#007aff24}.badge.in_progress{color:#8e3fb8;background:#af52de29}.badge.done{color:#23863b;background:#34c75929}.badge.declined{color:#d0302a;background:#ff3b3024}:root[data-scheme=dark] .badge.review{color:#ffb340}:root[data-scheme=dark] .badge.planned{color:#64a9ff}:root[data-scheme=dark] .badge.in_progress{color:#d494f0}:root[data-scheme=dark] .badge.done{color:#5fe07f}:root[data-scheme=dark] .badge.declined{color:#ff7b72}.detail{margin:0 var(--side) 20px}.detail-title{-webkit-user-select:text;user-select:text;margin:4px 0 12px;font-size:1.5rem;font-weight:700;line-height:1.2}.detail-meta{color:var(--secondary);flex-wrap:wrap;align-items:center;gap:10px;font-size:.88rem;display:flex}.detail-body{white-space:pre-wrap;-webkit-user-select:text;user-select:text;margin-top:16px;line-height:1.4}.note{background:#ff950024;border-radius:10px;margin-top:14px;padding:10px 12px;font-size:.88rem}.comment{border-top:.5px solid var(--separator);padding:12px 16px}.comment:first-child{border-top:0}.comment.team{background:color-mix(in srgb, var(--accent) 10%, var(--cell))}.comment-head{color:var(--secondary);align-items:center;gap:6px;margin-bottom:4px;font-size:.8rem;display:flex}.comment-head strong{color:var(--label);font-weight:600}.comment-head svg{width:14px;height:14px;color:var(--accent)}.comment-body{white-space:pre-wrap;-webkit-user-select:text;user-select:text;line-height:1.35}.composer{align-items:flex-end;gap:8px;padding:8px 8px 8px 0;display:flex}.composer textarea.field{min-height:44px;max-height:120px}.composer .post{color:var(--accent);flex:none;padding:10px 8px;font-weight:600}.composer .post:disabled{color:var(--tertiary)}.center{text-align:center;padding:32px var(--side);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.center h2{margin:12px 0 0;font-size:1.3rem;font-weight:700}.center p{color:var(--secondary);max-width:22em;margin:0;line-height:1.35}.badge-icon{background:color-mix(in srgb, var(--accent) 16%, transparent);width:64px;height:64px;color:var(--accent);border-radius:999px;justify-content:center;align-items:center;display:flex}.badge-icon svg{width:32px;height:32px}.pop{animation:.45s cubic-bezier(.2,.9,.3,1.3) pop}@keyframes pop{0%{opacity:0;transform:scale(.6)}}.fade-in{animation:.25s ease-out fade}@keyframes fade{0%{opacity:0;transform:translateY(4px)}}.sk{background:var(--fill);border-radius:8px;position:relative;overflow:hidden}.sk:after{content:"";background:linear-gradient(90deg,#0000,#ffffff59,#0000);animation:1.3s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}:root[data-scheme=dark] .sk:after{background:linear-gradient(90deg,#0000,#ffffff12,#0000)}@keyframes shimmer{to{transform:translate(100%)}}.sk-title{width:55%;height:34px;margin:10px var(--side) 12px}.sk-line{height:14px;margin:0 var(--side) 24px;width:80%}.sk-row{border-radius:var(--radius);height:44px}.sk-area{border-radius:var(--radius);height:160px}.sk-card{border-radius:var(--radius);height:72px}@media (prefers-reduced-motion:reduce){*,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
