.portal-home-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}
.portal-home-head h1{margin:14px 0 10px}.portal-home-head>div{min-width:0}
.portal-announcement{display:flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.portal-announcement>a:first-of-type{flex:1;min-width:0;overflow-wrap:anywhere}.portal-announcement>a:last-child{flex-shrink:0;font-size:13px;color:var(--muted)}
.portal-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 32px}
.portal-link-button{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;padding:10px 18px;min-height:44px;text-align:center}
.portal-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.portal-product-card{min-width:0;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.portal-product-card .row>div{min-width:0}.portal-product-card h3{margin-top:7px;font-size:18px;overflow-wrap:anywhere}
.portal-product-card .device{flex-shrink:0}.portal-product-card .detail-row{flex-wrap:wrap;gap:8px}
.portal-product-yield{display:grid;gap:6px;margin:22px 0 12px}.portal-product-yield strong{font-size:27px;line-height:1.3;color:var(--text)}
.portal-market-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.portal-market-links a{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--line);border-radius:10px;min-width:0;overflow-wrap:anywhere}
.portal-market-links span{font-size:12px;color:var(--muted)}.portal-home-about{white-space:pre-wrap;overflow-wrap:anywhere}
.portal-market-quote .portal-quote-price{font-size:23px;line-height:1.35}.portal-market-quote small{font-size:11px}.portal-market-quote .positive{color:var(--green)}.portal-market-quote .negative{color:#ff545b}
.drawer{overflow-y:auto;overscroll-behavior:contain}
.portal-demo-note{margin-top:24px}.portal-narrow{max-width:720px;margin-left:auto;margin-right:auto}.portal-reading{max-width:880px;margin-left:auto;margin-right:auto}
.portal-reading .page-head{margin-top:20px}.portal-reading h1{overflow-wrap:anywhere}.portal-reading h2:not(:first-child){margin-top:28px}
.portal-prose{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;margin:24px 0;font-size:15px}
.portal-article-list{display:grid}.portal-article-link{display:flex;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.portal-article-link:first-child{padding-top:0}.portal-article-link:last-child{border:0;padding-bottom:0}.portal-article-link>span:first-child{min-width:0}
.portal-article-link strong{display:block;font-size:17px;overflow-wrap:anywhere}.portal-article-link small{display:block;margin-top:8px;overflow-wrap:anywhere}
.portal-article-meta{color:var(--muted);font-size:12px;white-space:nowrap}.portal-empty{padding:24px 0}
.portal-setting{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.portal-setting:last-child{border:0}.portal-setting>div{min-width:0}.portal-setting p{margin-top:6px;font-size:13px}.portal-setting>a,.portal-setting>button{flex-shrink:0}
.portal-sample{padding:24px;border:1px dashed var(--line);border-radius:12px;background:var(--raised)}.portal-sample h2{margin:12px 0 6px}
.portal-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.portal-notice>span{min-width:0;overflow-wrap:anywhere}
.portal-form-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.portal-editor{display:block;width:100%;min-height:86px;max-height:420px;resize:vertical;margin-top:8px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--panel);color:var(--text);font:inherit;line-height:1.6}
.portal-editor:focus-visible{outline:2px solid #a7caff;outline-offset:3px}.portal-editor:disabled{opacity:.65}
.portal-admin-table{min-width:660px}.portal-table-text{max-width:330px;overflow-wrap:anywhere}
.portal-quick button,.portal-product-card button,.portal-setting a,.portal-admin-table button,.portal-notice button{min-height:44px}
@media(max-width:1199px){.portal-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-market-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.portal-home-head{align-items:flex-start;flex-direction:column;gap:16px}.portal-home-head h1{font-size:28px}.portal-quick{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-product-grid{grid-template-columns:minmax(0,1fr)}.portal-product-card{padding:20px}.portal-product-yield strong{font-size:25px}.portal-announcement{gap:8px;padding:12px}.portal-article-link{flex-direction:column;gap:10px}.portal-article-meta{white-space:normal}.portal-setting{align-items:flex-start;flex-wrap:wrap;gap:12px}.portal-notice{align-items:flex-start;flex-wrap:wrap}.portal-form-columns{grid-template-columns:1fr}.portal-reading{padding:20px}.portal-prose{font-size:14px}.portal-market-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:359px){.portal-market-links{grid-template-columns:1fr}.portal-announcement{flex-wrap:wrap}.portal-announcement>a:first-of-type{flex-basis:70%}}
