.roadmap-skeleton[data-v-36ba8af5]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:16px}.skeleton-chips[data-v-36ba8af5]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;margin-bottom:8px}.skeleton-chip[data-v-36ba8af5]{width:80px;height:32px;background:#e5e7eb;border-radius:999px;-webkit-animation:pulse-36ba8af5 1.5s infinite;animation:pulse-36ba8af5 1.5s infinite}.skeleton-card[data-v-36ba8af5]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px}.skeleton-line[data-v-36ba8af5]{height:14px;background:#e5e7eb;border-radius:4px;-webkit-animation:pulse-36ba8af5 1.5s infinite;animation:pulse-36ba8af5 1.5s infinite}.skeleton-line--wide[data-v-36ba8af5]{width:60%}.skeleton-line--short[data-v-36ba8af5]{width:30%}@-webkit-keyframes pulse-36ba8af5{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse-36ba8af5{0%,to{opacity:1}50%{opacity:.5}}.app-chips-wrap[data-v-36ba8af5]{overflow-x:auto;margin-bottom:20px}.app-chips[data-v-36ba8af5]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;padding-bottom:4px;white-space:nowrap}.app-chip[data-v-36ba8af5]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:6px 14px;font-size:.8125rem;font-weight:500;border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#4b5563;cursor:pointer;-webkit-transition:all .15s;transition:all .15s;white-space:nowrap}.app-chip[data-v-36ba8af5]:hover{border-color:#2081da;color:#2081da}.app-chip--active[data-v-36ba8af5]{background:#2081da;border-color:#2081da;color:#fff}.app-chip-icon[data-v-36ba8af5]{color:inherit!important;margin-right:2px}.app-description[data-v-36ba8af5]{font-size:.875rem;color:#6b7280;margin:0 0 16px}.version-card[data-v-36ba8af5]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:16px}.version-header[data-v-36ba8af5]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;margin-bottom:16px;-ms-flex-wrap:wrap;flex-wrap:wrap}.version-name[data-v-36ba8af5]{font-size:.9375rem;font-weight:600;color:#111827}.version-badge[data-v-36ba8af5]{font-size:.75rem;font-weight:500;padding:2px 10px;border-radius:999px}.version-badge--planned[data-v-36ba8af5]{background:#fef9c3;color:#92400e}.version-badge--active[data-v-36ba8af5]{background:#dbeafe;color:#1e40af}.version-badge--done[data-v-36ba8af5]{background:#d1fae5;color:#065f46}.version-date[data-v-36ba8af5]{font-size:.75rem;color:#9ca3af;margin-left:auto}.version-empty[data-v-36ba8af5]{font-size:.875rem;color:#9ca3af;padding:8px 0}.feature-row[data-v-36ba8af5]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:10px;padding:10px 0;border-top:1px solid #f3f4f6}.feature-status-dot[data-v-36ba8af5]{width:8px;height:8px;border-radius:50%;margin-top:5px;-ms-flex-negative:0;flex-shrink:0}.feature-dot--planned[data-v-36ba8af5]{background:#fbbf24}.feature-dot--in_progress[data-v-36ba8af5]{background:#2081da}.feature-dot--done[data-v-36ba8af5]{background:#10b981}.feature-info[data-v-36ba8af5]{-webkit-box-flex:1;-ms-flex:1;flex:1}.feature-title[data-v-36ba8af5]{display:block;font-size:.875rem;font-weight:500;color:#111827}.feature-desc[data-v-36ba8af5]{display:block;font-size:.8125rem;color:#6b7280;margin-top:2px}.vote-control[data-v-36ba8af5]{gap:2px;-ms-flex-negative:0;flex-shrink:0}.vote-btn[data-v-36ba8af5],.vote-control[data-v-36ba8af5]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.vote-btn[data-v-36ba8af5]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:26px;height:26px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#6b7280;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.vote-btn[data-v-36ba8af5]:hover{border-color:#2081da;color:#2081da}.vote-btn--active[data-v-36ba8af5]{background:#2081da;border-color:#2081da;color:#fff!important}.vote-btn--down-active[data-v-36ba8af5]{background:#fee2e2;border-color:#fca5a5;color:#dc2626!important}.vote-count[data-v-36ba8af5]{font-size:.8125rem;font-weight:600;color:#374151;min-width:24px;text-align:center}.vote-count--pos[data-v-36ba8af5]{color:#2081da}.vote-count--neg[data-v-36ba8af5]{color:#dc2626}.empty-state[data-v-36ba8af5]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:48px 0;color:#9ca3af;font-size:.875rem}.saran-layout[data-v-052b7ca6]{display:grid;grid-template-columns:1fr;gap:24px}@media (min-width:1024px){.saran-layout[data-v-052b7ca6]{grid-template-columns:2fr 1fr}}.saran-list-header[data-v-052b7ca6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:16px}.saran-list-title[data-v-052b7ca6]{font-size:1rem;font-weight:600;color:#111827;margin:0}.saran-count[data-v-052b7ca6]{font-size:.8125rem;color:#6b7280}.saran-skeleton[data-v-052b7ca6]{gap:12px}.saran-skeleton-card[data-v-052b7ca6],.saran-skeleton[data-v-052b7ca6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.saran-skeleton-card[data-v-052b7ca6]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;gap:8px}.skeleton-line[data-v-052b7ca6]{height:13px;background:#e5e7eb;border-radius:4px;-webkit-animation:pulse-052b7ca6 1.5s infinite;animation:pulse-052b7ca6 1.5s infinite}.skeleton-line--wide[data-v-052b7ca6]{width:65%}.skeleton-line--short[data-v-052b7ca6]{width:35%}@-webkit-keyframes pulse-052b7ca6{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse-052b7ca6{0%,to{opacity:1}50%{opacity:.5}}.saran-cards[data-v-052b7ca6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px}.saran-card[data-v-052b7ca6]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;-webkit-transition:border-color .15s;transition:border-color .15s}.saran-card[data-v-052b7ca6]:hover{border-color:#d1d5db}.saran-card-main[data-v-052b7ca6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:12px}.saran-card-body[data-v-052b7ca6]{-webkit-box-flex:1;-ms-flex:1;flex:1}.saran-card-title[data-v-052b7ca6]{display:block;font-size:.9375rem;font-weight:600;color:#111827;margin-bottom:4px}.saran-card-desc[data-v-052b7ca6]{display:block;font-size:.8125rem;color:#6b7280;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px}.saran-card-meta[data-v-052b7ca6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;-ms-flex-wrap:wrap;flex-wrap:wrap}.saran-meta-app[data-v-052b7ca6],.saran-meta-author[data-v-052b7ca6],.saran-meta-date[data-v-052b7ca6]{font-size:.75rem;color:#9ca3af;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:2px}.saran-meta-dot[data-v-052b7ca6]{font-size:.75rem;color:#d1d5db}.vote-control[data-v-052b7ca6]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px;-ms-flex-negative:0;flex-shrink:0}.vote-btn[data-v-052b7ca6],.vote-control[data-v-052b7ca6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.vote-btn[data-v-052b7ca6]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:26px;height:26px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#6b7280;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.vote-btn[data-v-052b7ca6]:hover{border-color:#2081da;color:#2081da}.vote-btn--active[data-v-052b7ca6]{background:#2081da;border-color:#2081da;color:#fff!important}.vote-btn--down-active[data-v-052b7ca6]{background:#fee2e2;border-color:#fca5a5;color:#dc2626!important}.vote-count[data-v-052b7ca6]{font-size:.8125rem;font-weight:600;color:#374151;min-width:24px;text-align:center}.vote-count--pos[data-v-052b7ca6]{color:#2081da}.vote-count--neg[data-v-052b7ca6]{color:#dc2626}.saran-form-card[data-v-052b7ca6]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;position:sticky;top:80px}.saran-form-title[data-v-052b7ca6]{font-size:1rem;font-weight:600;color:#111827;margin:0 0 4px}.saran-form-subtitle[data-v-052b7ca6]{font-size:.8125rem;color:#6b7280;margin:0 0 16px}.field[data-v-052b7ca6]{margin-bottom:14px}.field-label[data-v-052b7ca6]{display:block;font-size:.8125rem;font-weight:500;color:#374151;margin-bottom:5px}.field-input[data-v-052b7ca6]{width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#111827;background:#fff;outline:none;-webkit-transition:border-color .15s;transition:border-color .15s;-webkit-box-sizing:border-box;box-sizing:border-box}.field-input[data-v-052b7ca6]:focus{border-color:#2081da;-webkit-box-shadow:0 0 0 2px rgba(32,129,218,.15);box-shadow:0 0 0 2px rgba(32,129,218,.15)}.field-textarea[data-v-052b7ca6]{resize:vertical;min-height:90px}.btn-primary[data-v-052b7ca6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:9px 16px;font-size:.875rem;font-weight:500;background:#2081da;color:#fff;border:none;border-radius:8px;cursor:pointer;-webkit-transition:background .15s;transition:background .15s}.btn-primary[data-v-052b7ca6]:hover:not(:disabled){background:#1a6bbf}.btn-primary[data-v-052b7ca6]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-052b7ca6]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:7px 14px;font-size:.8125rem;font-weight:500;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.btn-secondary[data-v-052b7ca6]:hover{border-color:#2081da;color:#2081da}.form-success[data-v-052b7ca6],.login-prompt[data-v-052b7ca6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;text-align:center;padding:24px 0;color:#6b7280;font-size:.875rem}.form-error[data-v-052b7ca6]{font-size:.8125rem;color:#dc2626;margin-bottom:10px}.empty-state[data-v-052b7ca6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:48px 0;color:#9ca3af;font-size:.875rem}@-webkit-keyframes spin-052b7ca6{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-052b7ca6{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.spin[data-v-052b7ca6]{-webkit-animation:spin-052b7ca6 .8s linear infinite;animation:spin-052b7ca6 .8s linear infinite}.bug-tab[data-v-a1acd38a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.bug-form-wrap[data-v-a1acd38a]{width:100%;max-width:600px}.bug-form-card[data-v-a1acd38a]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:32px}.bug-form-icon-row[data-v-a1acd38a]{margin-bottom:16px}.bug-form-icon-row[data-v-a1acd38a],.bug-icon-circle[data-v-a1acd38a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.bug-icon-circle[data-v-a1acd38a]{width:48px;height:48px;border-radius:12px;background:#eff6ff;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bug-form-title[data-v-a1acd38a]{font-size:1.125rem;font-weight:700;color:#111827;text-align:center;margin:0 0 6px}.bug-form-subtitle[data-v-a1acd38a]{font-size:.875rem;color:#6b7280;text-align:center;margin:0 0 24px}.field[data-v-a1acd38a]{margin-bottom:16px}.field-label[data-v-a1acd38a]{display:block;font-size:.8125rem;font-weight:500;color:#374151;margin-bottom:5px}.field-input[data-v-a1acd38a]{width:100%;padding:9px 11px;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#111827;background:#fff;outline:none;-webkit-transition:border-color .15s;transition:border-color .15s;-webkit-box-sizing:border-box;box-sizing:border-box}.field-input[data-v-a1acd38a]:focus{border-color:#2081da;-webkit-box-shadow:0 0 0 2px rgba(32,129,218,.15);box-shadow:0 0 0 2px rgba(32,129,218,.15)}.field-textarea[data-v-a1acd38a]{resize:vertical;min-height:110px}.form-error[data-v-a1acd38a]{font-size:.8125rem;color:#dc2626;margin-bottom:12px}.btn-primary[data-v-a1acd38a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:100%;padding:10px 16px;font-size:.875rem;font-weight:500;background:#2081da;color:#fff;border:none;border-radius:8px;cursor:pointer;-webkit-transition:background .15s;transition:background .15s}.btn-primary[data-v-a1acd38a]:hover:not(:disabled){background:#1a6bbf}.btn-primary[data-v-a1acd38a]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-a1acd38a]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:8px 16px;font-size:.875rem;font-weight:500;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.btn-secondary[data-v-a1acd38a]:hover{border-color:#2081da;color:#2081da}.login-prompt[data-v-a1acd38a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;text-align:center;padding:32px 0;color:#6b7280;font-size:.875rem}.login-link[data-v-a1acd38a]{font-size:.875rem;color:#2081da;font-weight:500;text-decoration:none}.login-link[data-v-a1acd38a]:hover{text-decoration:underline}.success-state[data-v-a1acd38a]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px;text-align:center;padding:16px 0}.success-icon-circle[data-v-a1acd38a],.success-state[data-v-a1acd38a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.success-icon-circle[data-v-a1acd38a]{width:56px;height:56px;border-radius:50%;background:#d1fae5;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.success-title[data-v-a1acd38a]{font-size:1.125rem;font-weight:700;color:#111827;margin:0}.success-desc[data-v-a1acd38a]{font-size:.875rem;color:#6b7280;margin:0;max-width:320px}@-webkit-keyframes spin-a1acd38a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-a1acd38a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.spin[data-v-a1acd38a]{-webkit-animation:spin-a1acd38a .8s linear infinite;animation:spin-a1acd38a .8s linear infinite}.masukan-page[data-v-57db43c2]{padding:24px;min-height:100vh;background-color:#f9fafb}.masukan-header[data-v-57db43c2]{margin-bottom:24px}.masukan-title[data-v-57db43c2]{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 4px}.masukan-subtitle[data-v-57db43c2]{font-size:.875rem;color:#6b7280;margin:0}.masukan-tabs[data-v-57db43c2]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.masukan-tab-btn[data-v-57db43c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:10px 16px;font-size:.875rem;font-weight:500;color:#6b7280;border:none;background:transparent;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;-webkit-transition:color .15s,border-color .15s;transition:color .15s,border-color .15s;border-radius:0}.masukan-tab-btn[data-v-57db43c2]:hover{color:#374151}.masukan-tab-btn--active[data-v-57db43c2]{color:#2081da;border-bottom-color:#2081da}.masukan-tab-icon[data-v-57db43c2]{color:inherit!important}.masukan-content[data-v-57db43c2]{min-height:400px}