.ob-topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.5rem;background:#ffffffeb;backdrop-filter:blur(8px);border-bottom:1px solid #eef1f7}.ob-shell{display:grid;grid-template-columns:260px 1fr;max-width:1180px;margin:0 auto;min-height:calc(100vh - 57px)}@media (max-width:860px){.ob-shell{grid-template-columns:1fr}.ob-side{display:none!important}}.ob-side{padding:2.2rem 1.2rem 2rem 1.5rem;border-right:1px solid #eef1f7}.ob-main{padding:2.2rem 1.5rem 5rem;max-width:760px;width:100%}.ob-step-item{display:flex;align-items:center;gap:.65rem;padding:.45rem .6rem;border-radius:.6rem;font-size:.8rem;font-weight:600;color:#94a3b8}.ob-step-item.active{background:#eef2ff;color:#3057d1;font-weight:800}.ob-step-item.done{color:#475569}.ob-dot{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:800;background:#f1f5f9;color:#94a3b8;flex-shrink:0}.ob-step-item.active .ob-dot{background:#3057d1;color:#fff}.ob-step-item.done .ob-dot{background:#d7f9f6;color:#0c7c78}.ob-h1{font-size:1.7rem;font-weight:900;color:#1e293b;letter-spacing:-.02em;line-height:1.2;margin-bottom:.4rem}.ob-sub{color:#64748b;font-size:.92rem;line-height:1.6;margin-bottom:1.6rem}.ob-cards{display:grid;gap:.8rem}.ob-cards.cols-2{grid-template-columns:1fr 1fr}@media (max-width:640px){.ob-cards.cols-2{grid-template-columns:1fr}}.ob-card{display:flex;align-items:flex-start;gap:.9rem;text-align:left;padding:1.1rem 1.2rem;border:2px solid #e8ecf5;border-radius:1rem;background:#fff;cursor:pointer;transition:all .15s ease;font-family:inherit;width:100%}.ob-card:hover{border-color:#b9c8f3;transform:translateY(-1px);box-shadow:0 8px 22px #3057d114}.ob-card.sel{border-color:#3057d1;background:linear-gradient(160deg,#f0f4ff,#fff);box-shadow:0 8px 22px #3057d11f}.ob-card .ic{width:42px;height:42px;border-radius:.7rem;background:#eef2ff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.ob-card .t{font-weight:800;color:#1e293b;font-size:.92rem;margin-bottom:.15rem}.ob-card .d{color:#64748b;font-size:.78rem;line-height:1.5}.ob-field{margin-bottom:1rem}.ob-label{display:block;font-size:.75rem;font-weight:800;color:#475569;margin-bottom:.35rem;letter-spacing:.02em}.ob-input,.ob-select{width:100%;padding:.65rem .85rem;border:1.5px solid #e2e8f0;border-radius:.65rem;font-size:.88rem;font-family:inherit;color:#1e293b;background:#fff;outline:none;transition:border-color .15s}.ob-input:focus,.ob-select:focus{border-color:#3057d1}.ob-input.err{border-color:#f43f5e;background:#fff5f6}.ob-err{color:#e11d48;font-size:.72rem;font-weight:600;margin-top:.25rem}.ob-grid2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.ob-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.9rem}@media (max-width:640px){.ob-grid2,.ob-grid3{grid-template-columns:1fr}}.ob-nav{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;gap:1rem}.ob-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.75rem 1.6rem;border-radius:999px;font-weight:800;font-size:.88rem;border:none;cursor:pointer;font-family:inherit;transition:all .15s}.ob-btn-primary{background:#3057d1;color:#fff}.ob-btn-primary:hover{background:#0c2e92;transform:translateY(-1px);box-shadow:0 8px 20px #3057d14d}.ob-btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.ob-btn-ghost{background:#fff;color:#475569;border:1.5px solid #e2e8f0}.ob-btn-ghost:hover{border-color:#94a3b8}.ob-btn-teal{background:#1dbfb3;color:#fff}.ob-btn-teal:hover{background:#19a89e}.ob-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border:1.5px solid #e2e8f0;border-radius:999px;font-size:.78rem;font-weight:700;color:#475569;cursor:pointer;background:#fff;transition:all .12s;font-family:inherit}.ob-chip.sel{border-color:#3057d1;background:#eef2ff;color:#3057d1}.ob-note{background:#f0fdfa;border:1px solid #b5ece7;border-radius:.8rem;padding:.85rem 1rem;font-size:.8rem;color:#0f766e;line-height:1.55;margin:.9rem 0}.ob-warn{background:#fffbeb;border:1px solid #fde68a;border-radius:.8rem;padding:.85rem 1rem;font-size:.8rem;color:#92400e;line-height:1.55;margin:.9rem 0}.ob-info{background:#eef2ff;border:1px solid #d4ddf9;border-radius:.8rem;padding:.85rem 1rem;font-size:.8rem;color:#27409c;line-height:1.55;margin:.9rem 0}.ob-table{width:100%;font-size:.8rem;border-collapse:collapse}.ob-table th{text-align:left;font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;font-weight:800;padding:.5rem .6rem;border-bottom:1.5px solid #eef1f7}.ob-table td{padding:.55rem .6rem;border-bottom:1px solid #f5f7fb;color:#334155}.ob-panel{border:1.5px solid #e8ecf5;border-radius:1rem;padding:1.2rem;background:#fff;margin-bottom:1rem}.ob-upbtns{display:flex;gap:.7rem;flex-wrap:wrap;margin:.8rem 0 1rem}.ob-del{color:#e11d48;background:none;border:none;cursor:pointer;font-weight:800;font-size:.85rem;padding:.2rem .4rem;font-family:inherit}.ob-link{color:#3057d1;font-weight:700;cursor:pointer;background:none;border:none;font-size:.8rem;font-family:inherit;text-decoration:underline;text-underline-offset:2px}#ob-modal{position:fixed;inset:0;z-index:90;background:#0f172a73;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1.2rem}#ob-modal.hidden{display:none}.ob-modal-box{background:#fff;border-radius:1.2rem;max-width:720px;width:100%;max-height:88vh;overflow-y:auto;padding:1.6rem;box-shadow:0 30px 80px #0f172a4d}.ob-drop{border:2.5px dashed #c7d2ee;border-radius:1rem;padding:2.4rem 1.4rem;text-align:center;cursor:pointer;transition:all .15s;background:#fafbff}.ob-drop:hover,.ob-drop.over{border-color:#3057d1;background:#f0f4ff}.ob-map-row{display:grid;grid-template-columns:1fr auto 1fr;gap:.6rem;align-items:center;margin-bottom:.55rem}.ob-plan-chip{display:inline-flex;align-items:center;gap:.45rem;background:#eef2ff;border:1.5px solid #c7d2ee;color:#0c2e92;font-size:.72rem;font-weight:800;padding:.35rem .8rem;border-radius:999px;white-space:nowrap}.ob-plan-chip .tot{color:#3057d1}.ob-plan-chip.pulse{animation:obPulse .9s ease}@keyframes obPulse{0%{box-shadow:0 0 #3057d173}70%{box-shadow:0 0 0 9px #3057d100}to{box-shadow:none}}.ob-side-plan{margin-top:1.2rem;border:1.5px solid #dbe4f8;border-radius:.9rem;padding:.85rem 1rem;background:linear-gradient(160deg,#f0f4ff,#fff)}#ob-toast{position:fixed;bottom:1.4rem;left:50%;transform:translate(-50%);z-index:99;display:flex;flex-direction:column;gap:.5rem;align-items:center}.ob-toast-item{background:#1e293b;color:#fff;font-size:.8rem;font-weight:600;padding:.7rem 1.2rem;border-radius:.7rem;box-shadow:0 12px 30px #0f172a4d;animation:obFadeUp .25s ease}@keyframes obFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.ob-plan-box{border:2px solid #3057D1;border-radius:1.1rem;padding:1.4rem;background:linear-gradient(160deg,#f0f4ff,#fff)}.ob-price{font-size:2.2rem;font-weight:900;color:#0c2e92}.ob-build{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.ob-seed{display:flex;align-items:center;gap:.7rem;font-size:.85rem;font-weight:600;color:#94a3b8;padding:.35rem 0;transition:color .3s}.ob-seed.run{color:#3057d1;font-weight:800}.ob-seed.ok{color:#0c7c78}.ob-spin{width:16px;height:16px;border:2.5px solid #dbe4f8;border-top-color:#3057d1;border-radius:50%;animation:obSpin .7s linear infinite;flex-shrink:0}@keyframes obSpin{to{transform:rotate(360deg)}}.ob-prog-wrap{height:7px;background:#eef1f7;border-radius:99px;overflow:hidden;margin-bottom:1.6rem}.ob-prog{height:100%;background:linear-gradient(90deg,#1dbfb3,#3057d1);border-radius:99px;transition:width .3s ease}.ob-pass-meter{height:5px;border-radius:99px;background:#eef1f7;overflow:hidden;margin-top:.4rem}.ob-pass-meter>div{height:100%;transition:all .2s}.ob-check{display:flex;align-items:flex-start;gap:.6rem;font-size:.82rem;color:#475569;cursor:pointer;line-height:1.5}.ob-check input{margin-top:.2rem;accent-color:#3057D1;width:16px;height:16px;flex-shrink:0}.ob-sum-sec{border:1.5px solid #eef1f7;border-radius:.9rem;margin-bottom:.7rem;overflow:hidden}.ob-sum-sec summary{padding:.85rem 1.1rem;font-weight:800;font-size:.85rem;color:#1e293b;cursor:pointer;background:#fafbff;display:flex;justify-content:space-between;align-items:center;list-style:none}.ob-sum-sec .bd{padding:.9rem 1.1rem;font-size:.8rem;color:#475569;line-height:1.7;border-top:1px solid #eef1f7}
