.gph-wrap{--gph-blue:#0b5ed7;--gph-ink:#0f1b33;--gph-mute:#5b6880;--gph-line:#dfe5ee;font-size:16px;color:var(--gph-ink)}
.gph-wrap *{box-sizing:border-box}
.gph-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin:24px 0}
.gph-card{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:24px;border:1px solid var(--gph-line);border-radius:16px;background:#fff;box-shadow:0 4px 14px rgba(15,27,51,.06);transition:transform .15s,box-shadow .15s,border-color .15s}
.gph-card:hover,.gph-card:focus-visible{transform:translateY(-3px);border-color:var(--gph-blue);box-shadow:0 10px 26px rgba(11,94,215,.16)}
.gph-host{font-size:13px;font-weight:600;color:var(--gph-blue);letter-spacing:.3px}
.gph-name{font-size:21px;font-weight:700;line-height:1.25}
.gph-desc{font-size:14.5px;color:var(--gph-mute);line-height:1.5;flex:1}
.gph-cta{margin-top:6px;align-self:flex-start;background:var(--gph-blue);color:#fff;font-weight:600;font-size:14.5px;padding:9px 16px;border-radius:9px}

.gph-modal[hidden]{display:none}
.gph-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:flex-start;justify-content:center;padding:4vh 14px;overflow-y:auto}
.gph-backdrop{position:fixed;inset:0;background:rgba(10,18,36,.6)}
.gph-dialog{position:relative;width:100%;max-width:720px;background:#fff;border-radius:18px;padding:30px 30px 26px;box-shadow:0 30px 70px rgba(0,0,0,.35)}
.gph-x{all:unset;position:absolute;top:12px;right:16px;font-size:30px;line-height:1;cursor:pointer;color:var(--gph-mute)}
.gph-title{margin:0 0 4px;font-size:24px}
.gph-topics{margin:0 0 18px;color:var(--gph-mute);font-size:14.5px}
.gph-form label{display:block;font-weight:600;font-size:14.5px;margin:0 0 14px}
.gph-form input[type=text],.gph-form input[type=email],.gph-form input[type=url],.gph-form select,.gph-form textarea{display:block;width:100%;margin-top:6px;padding:11px 13px;font:inherit;font-weight:400;border:1px solid #cfd7e3;border-radius:10px;background:#fff;color:var(--gph-ink)}
.gph-form textarea{resize:vertical;line-height:1.55}
.gph-form input:focus,.gph-form select:focus,.gph-form textarea:focus{outline:none;border-color:var(--gph-blue);box-shadow:0 0 0 3px rgba(11,94,215,.15)}
.gph-form input[type=file]{display:block;margin-top:6px;font-weight:400}
.gph-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gph-count{margin:-8px 0 16px;font-size:13px;color:var(--gph-mute)}
.gph-count.ok .gph-words{color:#008a20;font-weight:700}
.gph-rules{margin:4px 0 18px;padding:14px 16px 14px 34px;background:#f5f8fd;border-radius:10px;font-size:13.5px;color:var(--gph-mute);line-height:1.7}
.gph-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.gph-msg{padding:12px 14px;border-radius:10px;margin-bottom:14px;font-size:14.5px}
.gph-msg.ok{background:#e7f6ec;color:#0b6b2b}
.gph-msg.err{background:#fdecec;color:#a10f0f}
.gph-submit{all:unset;box-sizing:border-box;display:block;width:100%;text-align:center;cursor:pointer;background:var(--gph-blue);color:#fff;font-weight:700;font-size:16px;padding:14px;border-radius:11px}
.gph-submit[disabled]{opacity:.6;cursor:wait}
body.gph-lock{overflow:hidden}
@media (max-width:600px){.gph-row{grid-template-columns:1fr}.gph-dialog{padding:24px 18px}}
