.portcheck-page{padding:2.25rem 0}.portcheck-container{max-width:720px}.portcheck-logo-wrap{display:flex;justify-content:center;margin-bottom:.8rem}.portcheck-logo{max-width:260px;width:100%;height:auto}.portcheck-title{font-size:2rem;margin:0 0 1rem;text-align:center}.portcheck-subtitle{margin:0 0 1.25rem;color:var(--color-text-muted, #6b7280);text-align:center}.portcheck-subtitle p:last-child{margin-bottom:0}.portcheck-cms-body{width:100%;box-sizing:border-box;margin-top:2rem}.portcheck-form{display:grid;gap:.9rem;width:100%;box-sizing:border-box;background:#fffc;border:1px solid var(--color-border, #e5e7eb);border-radius:16px;padding:1.1rem}.portcheck-ip-button{height:40px;border-radius:10px;border:1px solid var(--color-border, #e5e7eb);background:#fff;cursor:pointer;font-weight:600}.portcheck-ip-button:disabled{opacity:.7;cursor:not-allowed}.portcheck-label{display:grid;gap:.35rem;font-weight:600;color:var(--color-text, #111827)}.portcheck-input{height:42px;border-radius:12px;padding:0 .9rem;border:1px solid var(--color-border, #e5e7eb);background:#fff;outline:none}.portcheck-input:focus{border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb2e}.portcheck-button{height:46px;border-radius:12px;border:none;cursor:pointer;background:var(--color-primary, #2563eb);color:#fff;font-weight:700;transition:transform .12s ease,background .12s ease}.portcheck-button:hover:not(:disabled){transform:translateY(-1px);background:#1d4ed8}.portcheck-button:disabled{opacity:.7;cursor:not-allowed}.portcheck-message{min-height:56px;margin-top:1rem;padding:.9rem 1rem;border-radius:12px;border:1px solid var(--color-border, #e5e7eb);background:#ffffffd9;color:var(--color-text, #111827)}.portcheck-message--success{border-color:#22c55e59;background:#22c55e17}.portcheck-message--error{border-color:#ef444459;background:#ef444417}.portcheck-loading{min-height:56px;margin-top:1rem;display:inline-flex;align-items:center;gap:.55rem;color:var(--color-text-muted, #6b7280);font-weight:600}.portcheck-spinner{width:16px;height:16px;border-radius:999px;border:2px solid rgba(37,99,235,.2);border-top-color:#2563eb;animation:portcheck-spin .8s linear infinite}@keyframes portcheck-spin{to{transform:rotate(360deg)}}.portcheck-reason{width:100%;box-sizing:border-box;margin-top:1rem;border:1px solid var(--color-border, #e5e7eb);border-radius:16px;background:#ffffffbf;padding:1rem 1.1rem}.portcheck-reason h2{margin:0 0 .75rem;font-size:1.25rem}.portcheck-reason p{margin:.45rem 0;color:var(--color-text, #111827)}
