.ip-history-detail-row{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}
.ip-history-detail-value{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0}
.ip-history-address{min-width:0;overflow-wrap:anywhere}
.ip-history-open{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex:none;padding:5px 7px;font-size:10px;font-weight:500;line-height:16px;background:#17352c;border:1px solid #386653;border-radius:7px;color:#a8edcb;box-shadow:inset 0 1px #a4ffd610;transition:transform .2s,box-shadow .2s,border-color .2s}
.ip-history-open svg{width:13px;height:13px;transition:transform .3s}.ip-history-open:hover{border-color:#73d8af;box-shadow:0 0 15px #55e4ad24}.ip-history-open:hover svg{transform:rotate(-35deg)}
.ip-history-modal{width:min(650px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:25px;border:1px solid #457f68;border-radius:18px;background:radial-gradient(ellipse at 100% 0,#1c473b88,transparent 65%),#0d1b20;color:#dcece3;box-shadow:0 25px 100px #000b,0 0 40px #4ee0a322;overflow:auto;scrollbar-width:thin;scrollbar-color:#3c6b56 #10231c}
.ip-history-modal[open]{animation:ip-history-in .25s ease-out}.ip-history-modal::backdrop{background:#02090bd6;backdrop-filter:blur(9px)}
.ip-history-header,.ip-history-tools,.ip-history-list-heading,.ip-history-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ip-history-header h2{margin:7px 0 0;font-size:22px}.ip-history-eyebrow{font:10px Consolas,monospace;letter-spacing:.18em;color:#7ac4a4}
.ip-history-close{width:32px;height:32px;padding:0;font-size:25px;line-height:1;background:#18372d;color:#c1ecd8;border:1px solid #385e4e;border-radius:9px;font-weight:400}
.ip-history-device-name{font-size:12px;line-height:1.6;color:#a2bdb0;margin:14px 0 9px;overflow-wrap:anywhere}.ip-history-tools{justify-content:flex-end;margin-bottom:12px}.ip-history-refresh{font-size:11px;padding:6px 11px}
.ip-history-current{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;position:relative;border:1px solid #386c54;border-radius:12px;padding:13px 15px;background:linear-gradient(135deg,#214a3644,#10231c);box-shadow:inset 0 1px #9cffc818}
.ip-history-caption{grid-column:1/-1;display:block;color:#9fc4b0;font-size:11px;letter-spacing:.05em}.ip-history-ip{font-family:Consolas,'Courier New',monospace;overflow-wrap:anywhere}.ip-history-current-address{grid-column:1;display:block;font-size:24px;line-height:1.5;margin:3px 0;color:#9cffc9;letter-spacing:.025em}
.ip-history-country{display:block;color:#bed5ca;font-size:14px;line-height:1.55;margin-top:0;overflow-wrap:anywhere}.ip-history-time{display:block;font:13px/1.5 Consolas,system-ui,sans-serif;color:#a3bdb0}.ip-history-current>:is(.ip-history-country,.ip-history-time){grid-column:1}.ip-history-current>.ip-history-actions{grid-column:2;grid-row:2/5;align-self:center;margin:0}
.ip-history-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:11px}.ip-history-small{padding:5px 9px;font-size:11px;background:#19382a;color:#bce2ce;border:1px solid #3d6752;border-radius:6px;font-weight:500}.ip-history-current>.ip-history-editor{grid-column:1/-1}
.ip-history-danger{background:#3b2028;color:#ff9cae;border:1px solid #8d4958}.ip-history-danger:hover{box-shadow:0 0 13px #f5526d20;border-color:#d57788}
.ip-history-list-heading{margin:17px 0 11px}.ip-history-list-heading h3{font-size:13px;margin:0}.ip-history-list-heading>span{padding:3px 9px;border:1px solid #345947;border-radius:16px;font:11px Consolas,monospace;color:#9bc4ae}
.ip-history-list{display:grid;gap:9px;border-left:1px solid #355b49;margin-left:6px;padding-left:20px}.ip-history-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:center;position:relative;padding:10px 13px;border:1px solid #2e4d3e;border-radius:10px;background:linear-gradient(130deg,#1c322866,#10201a44);animation:ip-history-row .25s ease-out}
.ip-history-record:before{content:'';position:absolute;left:-25px;top:22px;width:7px;height:7px;border-radius:50%;background:#83dcb1;box-shadow:0 0 0 4px #1b3b2b,0 0 11px #5dd6a133}
.ip-history-record>strong{grid-column:1;grid-row:1;display:block;font-size:17px;line-height:1.5;margin:0;color:#d2e8da}.ip-history-record>.ip-history-time{grid-column:1;grid-row:3}.ip-history-record>.ip-history-country{grid-column:1;grid-row:2}.ip-history-record>.ip-history-actions{grid-column:2;grid-row:1/4;align-self:center;margin:0}.ip-history-record>.ip-history-editor{grid-column:1/-1;grid-row:4}.ip-history-empty,.ip-history-loading{font-size:12px;color:#91aa9a;padding:20px 5px;margin:0}.ip-history-loading{animation:ip-history-pulse 1s ease-in-out infinite}
.ip-history-more{display:block;margin:18px auto 0;font-size:11px;padding:8px 15px}
.ip-history-notice{padding:11px 14px;margin:0 0 14px;border:1px solid #3a7656;border-radius:8px;background:#1d473455;font-size:12px;line-height:1.6;color:#b9e5cd;animation:ip-history-row .2s ease-out}.ip-history-notice.error{background:#48272c55;border-color:#985260;color:#ffbdc7}.ip-history-notice[hidden]{display:none}
.ip-history-editor{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px;margin:15px 0 0;padding-top:14px;border-top:1px solid #355941}.ip-history-editor label{font-size:11px;color:#9fbfae;min-width:0}.ip-history-editor input{width:100%;min-width:0;padding:9px 10px;font-size:12px;line-height:20px;box-sizing:border-box;background:#0b1b15;border-color:#3a5f49}.ip-history-editor-actions{grid-column:1/-1;justify-content:flex-end;gap:9px}.ip-history-editor-actions button{padding:7px 12px;font-size:11px}.ip-history-save{background:#70dca8;color:#0a3020}.ip-history-modal button:disabled{opacity:.5;cursor:wait;transform:none;filter:none}
.ip-history-confirm{padding:17px;margin-bottom:16px;border:1px solid #ad596a;border-radius:12px;background:linear-gradient(135deg,#4a2431,#291b25);animation:ip-history-row .2s ease-out}.ip-history-confirm>strong{color:#ffadbf;font-size:14px}.ip-history-confirm p{font-size:12px;line-height:1.75;margin:9px 0;color:#d9b7be}.ip-history-confirm code{display:block;color:#ffd7df;margin-bottom:16px}
html[data-theme=light] .ip-history-open{background:#eef3f0;border-color:#a8bcb0;box-shadow:none}
html[data-theme=light] .ip-history-modal{background:linear-gradient(145deg,#fff,#edf3f0);border-color:#a0b6a7;box-shadow:0 24px 80px #0f172a38}
html[data-theme=light] .ip-history-modal :is(.ip-history-current,.ip-history-record){background:linear-gradient(135deg,#fff,#f0f6f2);border-color:#bed1c4;box-shadow:none}
html[data-theme=light] .ip-history-list{border-color:#bacdc1}html[data-theme=light] .ip-history-record:before{background:#427959;box-shadow:0 0 0 4px #e3ede6}
html[data-theme=light] .ip-history-modal :is(.ip-history-editor input,.ip-history-small,.ip-history-close){background:#f1f5f2;border-color:#aebfb3}
html[data-theme=light] body .ip-history-modal .ip-history-current-address{color:#155e3e!important}html[data-theme=light] body .ip-history-modal .ip-history-time{color:#64748b!important}
html[data-theme=light] .ip-history-notice{background:#e7f2eb;border-color:#aac5b5}html[data-theme=light] .ip-history-confirm,html[data-theme=light] .ip-history-notice.error{background:#fff0f2;border-color:#d8a2ae}
html[data-theme=light] body .ip-history-modal .ip-history-danger,html[data-theme=light] body .ip-history-confirm>strong{color:#a62643!important;border-color:#c58d9b}
@keyframes ip-history-in{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@keyframes ip-history-row{from{opacity:0;transform:translateY(7px)}}@keyframes ip-history-pulse{50%{opacity:.45}}
@media(max-width:600px){.ip-history-modal{padding:19px 16px;max-height:calc(100dvh - 24px)}.ip-history-current-address{font-size:20px}.ip-history-editor{grid-template-columns:1fr}.ip-history-current{padding:12px}.ip-history-record{padding:9px 11px;column-gap:8px}.ip-history-record>.ip-history-actions,.ip-history-current>.ip-history-actions{gap:5px}.ip-history-small{padding:5px 7px}.ip-history-record>strong{font-size:16px}.ip-history-list{padding-left:17px}.ip-history-record:before{left:-22px}.ip-history-detail-row{gap:8px}.ip-history-detail-value{gap:6px}}
@media(prefers-reduced-motion:reduce){.ip-history-modal[open],.ip-history-record,.ip-history-loading,.ip-history-notice,.ip-history-confirm{animation:none}.ip-history-open,.ip-history-open svg{transition:none}.ip-history-modal::backdrop{backdrop-filter:none}}
