/* 88BB Market Intel IPO Radar v1.4 */
.ipo1-shell{display:grid;gap:18px}
.ipo1-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px;border:1px solid rgba(125,249,255,.18);border-radius:22px;background:linear-gradient(145deg,rgba(16,22,48,.92),rgba(9,12,29,.94));box-shadow:0 18px 50px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.04)}
.ipo1-intro-copy{max-width:800px}.ipo1-intro h2{margin:4px 0 8px;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.18}.ipo1-intro p{margin:0;color:var(--muted,#a9b0c7);line-height:1.7}
.ipo1-edge-badge{min-width:190px;padding:14px 16px;border:1px solid rgba(179,94,255,.34);border-radius:17px;background:rgba(107,42,190,.12)}.ipo1-edge-badge span{display:block;color:#b9c1dc;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.ipo1-edge-badge strong{display:block;margin-top:5px;font-size:1.02rem;color:#f2eaff}.ipo1-edge-badge small{display:block;margin-top:5px;color:#aeb7cf;line-height:1.45}
.ipo1-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.ipo1-stat{padding:15px;border:1px solid rgba(118,226,255,.14);border-radius:17px;background:rgba(12,17,38,.82)}.ipo1-stat span{display:block;color:#98a4c2;font-size:.78rem}.ipo1-stat strong{display:block;margin-top:5px;font-size:1.5rem;color:#f8fbff}.ipo1-stat small{display:block;margin-top:3px;color:#7f8aa8;font-size:.72rem}
.ipo1-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,.45fr) minmax(180px,.5fr) auto;gap:10px;padding:14px;border:1px solid rgba(127,148,255,.15);border-radius:18px;background:rgba(9,13,31,.86)}
.ipo1-control{display:grid;gap:6px}.ipo1-control label{font-size:.73rem;color:#909ab6}.ipo1-control input,.ipo1-control select{width:100%;min-height:43px;padding:9px 12px;border:1px solid rgba(139,159,219,.23);border-radius:12px;background:#0c1128;color:#f5f7ff;outline:none}.ipo1-control input:focus,.ipo1-control select:focus{border-color:rgba(95,231,255,.68);box-shadow:0 0 0 3px rgba(95,231,255,.08)}
.ipo1-refresh{align-self:end;min-height:43px;padding:9px 16px;border:1px solid rgba(113,236,255,.34);border-radius:12px;background:linear-gradient(135deg,rgba(42,198,224,.18),rgba(124,74,221,.18));color:#f6fbff;font-weight:700;cursor:pointer}.ipo1-refresh:hover{filter:brightness(1.12)}
.ipo1-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:#8e99b8;font-size:.8rem}.ipo1-meta b{color:#dce7ff}.ipo1-statusline{margin-left:auto}
.ipo1-groups{display:grid;gap:20px}.ipo1-group{display:grid;gap:11px}.ipo1-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ipo1-group-head h3{margin:0;font-size:1.06rem}.ipo1-group-head span{padding:4px 9px;border:1px solid rgba(154,164,218,.16);border-radius:999px;color:#aab4cf;font-size:.74rem;background:rgba(255,255,255,.025)}
.ipo1-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.ipo1-card{position:relative;overflow:hidden;border:1px solid rgba(130,151,217,.17);border-radius:20px;background:linear-gradient(155deg,rgba(17,23,49,.95),rgba(8,12,29,.97));box-shadow:0 14px 34px rgba(0,0,0,.18)}.ipo1-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,#5fe7ff,#af60ff,#ff5ebd);opacity:.78}.ipo1-card-main{padding:17px 18px 14px}.ipo1-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.ipo1-country{display:flex;align-items:center;gap:7px;color:#a7b2cf;font-size:.78rem}.ipo1-country b{color:#e9efff}.ipo1-company{margin:9px 0 4px;font-size:1.08rem;line-height:1.3;color:#fff}.ipo1-ticker{color:#78e8ff;font-size:.78rem;font-weight:800;letter-spacing:.04em}.ipo1-industry{margin:7px 0 0;color:#aeb8d0;font-size:.83rem;line-height:1.52}
.ipo1-score{display:grid;place-items:center;flex:0 0 66px;height:66px;border-radius:18px;border:1px solid rgba(134,239,255,.23);background:rgba(76,186,231,.08)}.ipo1-score strong{font-size:1.28rem}.ipo1-score small{font-size:.67rem;color:#9ba8c5}.ipo1-score em{font-style:normal;font-size:.68rem;color:#d8c4ff}
.ipo1-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.ipo1-chip{display:inline-flex;align-items:center;min-height:25px;padding:3px 8px;border:1px solid rgba(139,157,213,.16);border-radius:999px;background:rgba(255,255,255,.035);color:#bcc6dc;font-size:.69rem}.ipo1-chip.is-open{border-color:rgba(70,240,171,.28);color:#8df5c7;background:rgba(39,174,118,.1)}.ipo1-chip.is-upcoming,.ipo1-chip.is-listing_today{border-color:rgba(91,219,255,.3);color:#94eaff;background:rgba(44,166,212,.1)}.ipo1-chip.is-listed{border-color:rgba(187,113,255,.29);color:#d7b0ff;background:rgba(135,65,205,.1)}.ipo1-chip.is-strong_apply{border-color:rgba(54,237,177,.34);color:#8ff5d0}.ipo1-chip.is-skip{border-color:rgba(255,91,137,.3);color:#ff9bb7}
.ipo1-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:13px}.ipo1-fact{padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.026)}.ipo1-fact span{display:block;color:#7f8aa6;font-size:.66rem}.ipo1-fact strong{display:block;margin-top:4px;color:#edf3ff;font-size:.8rem;line-height:1.35;word-break:break-word}
.ipo1-prediction{margin-top:12px;padding:10px 11px;border:1px solid rgba(177,111,255,.16);border-radius:13px;background:rgba(132,70,194,.075)}.ipo1-prediction span{display:block;color:#a995c6;font-size:.67rem}.ipo1-prediction strong{display:block;margin-top:4px;color:#f0dcff;font-size:.84rem;line-height:1.45}
.ipo1-details{border-top:1px solid rgba(139,156,209,.12)}.ipo1-details summary{list-style:none;cursor:pointer;padding:11px 18px;color:#9fdfee;font-size:.79rem;font-weight:700}.ipo1-details summary::-webkit-details-marker{display:none}.ipo1-details summary:after{content:"＋";float:right}.ipo1-details[open] summary:after{content:"－"}.ipo1-detail-body{display:grid;gap:13px;padding:2px 18px 18px}.ipo1-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ipo1-detail{padding:10px;border-radius:12px;background:rgba(255,255,255,.026)}.ipo1-detail span{display:block;color:#7e89a7;font-size:.67rem}.ipo1-detail p{margin:5px 0 0;color:#d8def0;font-size:.79rem;line-height:1.55;white-space:pre-wrap}.ipo1-list-title{margin:0 0 6px;color:#9aa7c4;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.ipo1-list{margin:0;padding-left:18px;color:#cbd4e8;font-size:.79rem;line-height:1.6}.ipo1-sources{display:flex;flex-wrap:wrap;gap:7px}.ipo1-sources a{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 8px;border-radius:9px;background:rgba(63,180,220,.08);color:#8ee6fb;font-size:.69rem;text-decoration:none}.ipo1-sources a:hover{text-decoration:underline}
.ipo1-empty,.ipo1-error{padding:26px;border:1px dashed rgba(139,157,213,.22);border-radius:18px;text-align:center;color:#9da8c3;background:rgba(9,13,31,.54)}.ipo1-empty strong,.ipo1-error strong{display:block;margin-bottom:7px;color:#e9eeff}.ipo1-code{display:inline-block;margin-top:10px;padding:8px 11px;border-radius:10px;background:#090d20;color:#9cecff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem}
@media (max-width:980px){.ipo1-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.ipo1-toolbar{grid-template-columns:1fr 1fr}.ipo1-refresh{width:100%}.ipo1-grid{grid-template-columns:1fr}}
@media (max-width:640px){.ipo1-intro{display:grid;padding:16px}.ipo1-edge-badge{min-width:0}.ipo1-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ipo1-toolbar{grid-template-columns:1fr;padding:11px}.ipo1-meta{display:grid}.ipo1-statusline{margin-left:0}.ipo1-card-main{padding:15px 15px 12px}.ipo1-facts{grid-template-columns:1fr 1fr}.ipo1-detail-grid{grid-template-columns:1fr}.ipo1-score{flex-basis:58px;height:58px}.ipo1-company{font-size:1rem}}
