@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,700;1,9..40,400&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap");:root{--bg:#060d14;--bg-elevated:#0c1520;--panel:#101c2c;--panel-2:#152436;--line:#24384f;--text:#eaf1f8;--muted:#8fa3b8;--accent:#2dd4bf;--accent-2:#38bdf8;--buy:#34d399;--buy-bg:rgba(52,211,153,0.12);--sell:#fb7185;--sell-bg:rgba(251,113,133,0.12);--warn:#fbbf24;--radius:16px;--shadow:0 18px 50px rgba(0,0,0,0.35);--font-display:"DM Sans",sans-serif;--font-body:"IBM Plex Sans",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:radial-gradient(1100px 520px at 8% -12%,#14324a 0,transparent 55%),radial-gradient(900px 480px at 100% 0,#0f2f2c 0,transparent 48%),var(--bg);color:var(--text);font-family:var(--font-body)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.header{z-index:40;background:color-mix(in srgb,var(--bg) 92%,transparent)}.header,.header-sticky{border-bottom:1px solid var(--line)}.header-sticky{position:-webkit-sticky;position:sticky;top:0;z-index:45;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 86%,transparent)}.header-top{padding:.55rem 1.25rem;display:flex;justify-content:space-between}.header-tools,.header-top{max-width:1240px;margin:0 auto;align-items:center;gap:.75rem}.header-tools{padding:0 1.25rem .65rem;display:grid;grid-template-columns:1fr auto;grid-gap:.75rem}.header-user{display:inline-flex;align-items:center;gap:.55rem;flex-shrink:0}.header-logout{padding:.35rem .75rem;font-size:.85rem}.brand{display:inline-flex;align-items:center;text-decoration:none;min-width:0}.brand-spacer{display:block;width:1px;height:44px}.brand-logo{height:44px;width:auto;max-width:min(200px,48vw);object-fit:contain}.nav{display:flex;gap:.35rem;align-items:center;white-space:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{padding:.35rem .7rem;border-radius:999px;color:var(--muted);transition:color .15s ease,background .15s ease;flex-shrink:0}.nav a:hover{color:var(--text);background:rgba(255,255,255,.04)}.search{position:relative}.search input{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:.62rem 1rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.search input:focus{border-color:color-mix(in srgb,var(--accent-2) 70%,var(--line));box-shadow:0 0 0 3px rgba(56,189,248,.15)}.search-results{position:absolute;left:0;right:0;top:calc(100% + 6px);margin:0;padding:.4rem;list-style:none;background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);max-height:320px;overflow:auto;box-shadow:var(--shadow)}.search-results button{width:100%;display:flex;justify-content:space-between;gap:1rem;background:transparent;border:0;color:var(--text);padding:.7rem .8rem;border-radius:10px;cursor:pointer;text-align:left}.search-results button:hover{background:var(--panel)}.search-results span{color:var(--muted)}.main{max-width:1240px;margin:0 auto;padding:1.6rem 1.25rem 3.5rem;overflow-x:clip}.page-title{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.6rem,3vw,2.1rem);margin:0 0 .35rem}.page-sub{color:var(--muted);margin:0 0 1.25rem;line-height:1.5}.grid{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:900px){.grid,.header-tools{grid-template-columns:1fr}.brand-logo{height:34px}.header-top{padding:.4rem .9rem}.header-tools{padding:0 .9rem .5rem}.header-sticky{position:-webkit-sticky;position:sticky;top:0}.nav-user{max-width:36vw;overflow:hidden;text-overflow:ellipsis}.market-strip{position:relative}}.panel{background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 92%,#fff 2%),var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem 1.2rem;box-shadow:0 10px 30px rgba(0,0,0,.18)}.panel h2,.panel h3{margin:0 0 .85rem;font-family:var(--font-display);letter-spacing:-.02em}.tv-wrap{height:520px;padding:0;overflow:hidden;position:relative}.chart-shell,.tv-chart{height:100%;width:100%}.chart-shell{position:relative}.chart-overlay{position:absolute;inset:0;display:grid;place-items:center;background:color-mix(in srgb,#0d1824 70%,transparent);pointer-events:none}.chart-note{position:absolute;left:12px;bottom:8px;margin:0;font-size:.75rem;max-width:90%}.row{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-bottom:1rem}.auth-form input,.btn,.btn-buy,.btn-sell,.chip,.field input,.ghost,select{border-radius:12px;border:1px solid var(--line);background:var(--bg-elevated);color:var(--text);padding:.7rem 1.05rem;transition:transform .12s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.btn{background:linear-gradient(120deg,#2dd4bf,#22d3ee 55%,#38bdf8);color:#04201c;border:0;font-weight:700;cursor:pointer;box-shadow:0 8px 24px rgba(45,212,191,.25)}.btn:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(45,212,191,.32)}.btn:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.btn-buy{background:linear-gradient(120deg,#34d399,#10b981);color:#052e1f;box-shadow:0 8px 22px rgba(52,211,153,.22)}.btn-buy,.btn-sell{border:0;font-weight:700;cursor:pointer}.btn-sell{background:linear-gradient(120deg,#fb7185,#f43f5e);color:#fff;box-shadow:0 8px 22px rgba(244,63,94,.22)}.btn-buy:hover,.btn-sell:hover{transform:translateY(-1px)}.ghost{background:transparent;cursor:pointer;color:var(--muted)}.ghost:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.chip{cursor:pointer;border-radius:999px;padding:.45rem .95rem;color:var(--muted)}.chip.active{border-color:transparent;color:#04201c;background:linear-gradient(120deg,var(--accent),var(--accent-2));font-weight:650}.chip.buy.active{background:linear-gradient(120deg,#34d399,#10b981)}.chip.sell.active{background:linear-gradient(120deg,#fb7185,#f43f5e);color:#fff}.chip.buy{color:var(--buy);border-color:color-mix(in srgb,var(--buy) 40%,var(--line))}.chip.buy:hover:not(:disabled){background:color-mix(in srgb,var(--buy) 18%,transparent)}.chip.sell{color:var(--sell);border-color:color-mix(in srgb,var(--sell) 40%,var(--line))}.stock-head{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.interval-chips{display:flex;flex-wrap:nowrap;align-items:stretch;width:100%;gap:.3rem;overflow:hidden}.interval-chip{flex:1 1;min-width:0;padding:.4rem .15rem;border-radius:10px;text-align:center;font-size:clamp(.72rem,2.6vw,.88rem);font-weight:650;letter-spacing:.02em;white-space:nowrap}@media (max-width:900px){.stock-head{gap:.55rem}.interval-chips{gap:.22rem}.interval-chip{padding:.38rem .1rem;font-size:.72rem;border-radius:8px}}.chip:disabled{opacity:.45;cursor:not-allowed}.price-alert{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line)}.price-alert-modal{margin-top:0;padding-top:0;border-top:none}.price-alert-title{margin:0 0 .25rem;font-size:1.05rem;font-family:var(--font-display)}.price-alert-sub{margin:0 0 .85rem}.price-alert-row{display:flex;gap:.65rem;align-items:flex-end;flex-wrap:wrap}.price-alert-row .field span{display:block;font-size:.78rem;color:var(--muted);margin-bottom:.3rem}.price-alert-row input{width:100%;min-width:8rem}.price-alert-hint{margin:.45rem 0 0;font-size:.85rem}.price-alert-pcts{display:grid;grid-gap:.45rem;gap:.45rem;margin-top:.9rem}.price-alert-pct-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.muted{color:var(--muted)}.signal-al{color:var(--buy)}.signal-sat{color:var(--sell)}.signal-notr{color:var(--warn)}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.75rem;gap:.75rem}.metric{background:var(--bg-elevated);border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem}.metric span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:.25rem}.metric strong{font-size:1.12rem;letter-spacing:-.02em}.metric.positive{background:var(--buy-bg);border-color:color-mix(in srgb,var(--buy) 35%,var(--line))}.metric.negative{background:var(--sell-bg);border-color:color-mix(in srgb,var(--sell) 35%,var(--line))}.ai-box{white-space:pre-wrap;line-height:1.55;color:#d5e3f0}.disclaimer{margin-top:.85rem;font-size:.82rem;color:var(--muted)}.auth-shell{min-height:calc(100vh - 120px);display:grid;place-items:center}.auth-card{width:min(460px,100%);padding:1.5rem 1.4rem 1.35rem}.auth-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.85rem;margin:0 0 1.35rem;padding:.35rem 0 .15rem}.auth-brand-logo{width:min(300px,92%);height:auto;object-fit:contain;filter:drop-shadow(0 10px 28px rgba(45,212,191,.18))}.auth-brand-compact .auth-brand-logo{width:min(220px,80%)}.auth-brand-sub{margin:0;font-size:.95rem;line-height:1.5;max-width:30ch}.auth-card-title{font-size:1.45rem;text-align:center;margin-top:0}.header-guest .brand-logo{height:40px;max-width:180px}.auth-form,.field-grid{display:grid;grid-gap:.8rem;gap:.8rem}.auth-form input,.field input{width:100%;border-radius:12px}.auth-form input:focus,.field input:focus{outline:none;border-color:color-mix(in srgb,var(--accent-2) 70%,var(--line));box-shadow:0 0 0 3px rgba(56,189,248,.14)}.field label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.35rem}.info-box{background:rgba(56,189,248,.08);border:1px solid color-mix(in srgb,var(--accent-2) 35%,var(--line));border-radius:12px;padding:.85rem 1rem;color:#cfe8f8;line-height:1.5;word-break:break-all}.info-box a{color:var(--accent-2);text-decoration:underline}.alert-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:.75rem;gap:.75rem}.alert-list li,.portfolio-card{display:flex;justify-content:space-between;gap:1rem;align-items:center;background:var(--bg-elevated);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;transition:border-color .15s ease,transform .15s ease}.portfolio-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-1px)}.portfolio-card .meta{color:var(--muted);font-size:.88rem;margin-top:.25rem}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin:1.4rem 0 .75rem}.section-head h2{margin:0;font-family:var(--font-display);font-size:1.2rem;letter-spacing:-.02em}.trade-layout{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);grid-gap:1rem;gap:1rem;margin-bottom:1rem;width:100%}.holdings-panel,.trade-form-panel{min-width:0;max-width:100%;overflow:hidden}@media (max-width:980px){.trade-layout{grid-template-columns:1fr}}.side-toggle{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem}.side-toggle .chip{text-align:center;border-radius:12px;padding:.7rem;width:100%}.holding-cards{display:none}.holdings-table-wrap{display:block}.holding-card{border:1px solid var(--line);border-radius:14px;background:var(--bg-elevated);padding:.85rem .95rem;display:grid;grid-gap:.7rem;gap:.7rem}.holding-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.holding-card-top small{font-weight:500;opacity:.85}.holding-card-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.55rem .75rem;gap:.55rem .75rem}.holding-card-grid span{display:block;color:var(--muted);font-size:.72rem;margin-bottom:.15rem}.holding-card-grid strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.95rem}.holding-card-actions{display:flex;gap:.45rem}.holding-card-actions .ghost{flex:1 1;text-align:center}@media (max-width:900px){.holding-cards{display:grid;grid-gap:.75rem;gap:.75rem}.holdings-table-wrap{display:none}.portfolio-card{flex-direction:column;align-items:stretch}.portfolio-card-actions{width:100%}.portfolio-card-actions .btn,.portfolio-card-actions .ghost{flex:1 1;text-align:center}.portfolio-create-row{flex-direction:column;align-items:stretch}.portfolio-create-row .btn{width:100%}.field-grid{grid-template-columns:1fr}}.portfolio-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.92rem}.portfolio-table td,.portfolio-table th{text-align:left;padding:.8rem .55rem;border-bottom:1px solid var(--line);white-space:nowrap}.portfolio-table th{color:var(--muted);font-weight:500;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.portfolio-table tbody tr:hover td{background:rgba(255,255,255,.02)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.badge.al{background:var(--buy-bg);color:var(--buy)}.badge.sat{background:var(--sell-bg);color:var(--sell)}.table-wrap{overflow-x:auto;border-radius:14px;max-width:100%;-webkit-overflow-scrolling:touch}.btn-sm{padding:.45rem .75rem;font-size:.82rem;border-radius:10px}.ticker-strip{border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg-elevated) 88%,transparent)}.ticker-inner{max-width:1240px;margin:0 auto;padding:.45rem 1.25rem;display:grid;grid-template-columns:auto 1fr;grid-gap:.75rem;gap:.75rem;align-items:center}.ticker-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);padding:.35rem .65rem;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:999px;white-space:nowrap}.ticker-empty .ticker-hint{margin:0;font-size:.88rem;color:var(--muted)}.ticker-empty .ticker-hint a{color:var(--accent-2);text-decoration:underline}.ticker-viewport{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.ticker-track{display:flex;gap:.35rem;width:max-content;animation:ticker-scroll linear infinite}.ticker-strip:hover .ticker-track{animation-play-state:paused}@keyframes ticker-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.ticker-item{display:inline-flex;align-items:baseline;gap:.45rem;padding:.4rem .85rem;border-radius:999px;border:1px solid var(--line);background:var(--panel);white-space:nowrap;transition:border-color .15s ease,background .15s ease}.ticker-item:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));background:var(--panel-2)}.ticker-sym{font-weight:700;letter-spacing:-.02em}.ticker-price{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.9rem}.ticker-chg{font-size:.82rem;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ticker-item.up .ticker-chg{color:var(--buy)}.ticker-item.down .ticker-chg{color:var(--sell)}.ticker-sep{display:inline-flex;align-items:center;padding:.3rem .65rem;margin:0 .15rem;border-radius:999px;font-size:.68rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line);background:transparent}.ticker-item.fx .ticker-sym{color:#ff8a9a}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0;gap:0;margin:.5rem 0 0}.detail-cell{padding:.75rem .85rem;border-top:1px solid var(--line)}.detail-cell:nth-child(odd){border-right:1px solid var(--line)}.detail-cell dt{margin:0 0 .25rem;color:#b8c9dc;font-size:.78rem}.detail-cell dd{margin:0;color:var(--text);font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.stock-last{font-size:1.15rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stock-overview h2{font-family:var(--font-display)}.stock-overview-trigger{display:block;width:100%;margin-top:1rem;text-align:left;cursor:pointer;color:var(--text);background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 92%,#fff 2%),var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem 1.2rem;box-shadow:0 10px 30px rgba(0,0,0,.18);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.stock-overview-trigger:hover{border-color:color-mix(in srgb,var(--accent-2) 45%,var(--line));background:var(--panel-2);box-shadow:0 12px 34px rgba(0,0,0,.24)}.stock-overview-trigger h2{color:var(--text);font-family:var(--font-display)}.stock-overview-trigger .stock-last{color:var(--accent-2);font-size:1.2rem}.stock-overview-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.65rem;gap:.65rem;margin-top:.75rem}.stock-overview-preview span{display:flex;flex-direction:column;gap:.25rem;background:color-mix(in srgb,var(--bg-elevated) 80%,var(--panel-2));border:1px solid color-mix(in srgb,var(--line) 85%,#fff 8%);border-radius:12px;padding:.65rem .75rem}.stock-overview-preview small{font-size:.72rem;color:#b8c9dc;text-transform:uppercase;letter-spacing:.04em}.stock-overview-preview strong{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.98rem;font-weight:650}.stock-overview-hint{margin:.75rem 0 0;font-size:.84rem;color:var(--accent-2)}.modal-root{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(4,8,16,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-panel{width:min(100%,32rem);max-height:min(88vh,720px);overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 64px rgba(0,0,0,.45)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.1rem .65rem;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;background:var(--bg);z-index:1}.modal-head h2{margin:0;font-size:1.05rem;font-family:var(--font-display)}.modal-close{flex-shrink:0;width:2rem;height:2rem;border:1px solid var(--line);border-radius:10px;background:var(--bg-elevated);color:var(--muted);font-size:1.35rem;line-height:1;cursor:pointer}.modal-close:hover{color:var(--text)}.modal-body{padding:1rem 1.1rem 1.15rem}@media (max-width:600px){.modal-root{padding:.65rem;align-items:flex-end}.modal-panel{width:100%;max-height:92vh;border-bottom-left-radius:0;border-bottom-right-radius:0}.stock-overview-preview{grid-template-columns:1fr}}.admin-panel{padding:0;overflow:hidden}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:720px}.admin-table td,.admin-table th{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--line);vertical-align:middle}.admin-table th{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;background:var(--bg-elevated)}.admin-table tbody tr:hover td{background:rgba(255,255,255,.02)}.admin-email{word-break:break-all}.admin-actions{display:flex;flex-wrap:wrap;gap:.45rem}.role-badge{display:inline-flex;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:650;background:rgba(255,255,255,.06);color:var(--muted)}.role-badge.role-admin{background:rgba(56,189,248,.14);color:var(--accent-2)}.badge-ok{color:var(--buy)}.badge-ok,.badge-wait{font-weight:650;font-size:.85rem}.badge-wait{color:var(--warn)}.auth-form input,.field .symbol-picker input,.field input,.watch-form input{width:100%;border-radius:12px;border:1px solid var(--line);background:var(--bg-elevated);color:var(--text);padding:.7rem 1rem}.field input[type=date]{color-scheme:dark}.symbol-picker{position:relative}.watch-symbol-field{display:grid;grid-gap:.35rem;gap:.35rem;flex:1 1;min-width:180px;font-size:.8rem;color:var(--muted)}.watch-form{display:flex;flex-wrap:wrap;gap:.85rem;align-items:flex-end}.watch-form label:not(.watch-symbol-field){display:grid;grid-gap:.35rem;gap:.35rem;flex:1 1;min-width:180px;font-size:.8rem;color:var(--muted)}@media (max-width:900px){.nav{gap:.3rem}.ticker-inner{grid-template-columns:auto 1fr;gap:.5rem;padding:.4rem .9rem}.ticker-item{padding:.3rem .65rem;font-size:.84rem}.admin-actions{flex-direction:column;align-items:stretch}.admin-actions .btn,.admin-actions .ghost{width:100%;text-align:center}.detail-cell{padding:.65rem .55rem}}@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}.ticker-viewport{overflow-x:auto}}.home-movers{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:900px){.home-movers{grid-template-columns:1fr}}.movers-tone{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.25rem .6rem;border-radius:999px}.movers-tone.up{color:var(--buy);background:var(--buy-bg)}.movers-tone.down{color:var(--sell);background:var(--sell-bg)}.news-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.85rem;gap:.85rem}.news-list li{padding:.85rem 0;border-bottom:1px solid var(--line)}.news-list li:last-child{border-bottom:0;padding-bottom:0}.news-list a{color:var(--text);transition:color .15s ease}.news-list a:hover{color:var(--accent-2)}.news-meta{margin-top:.3rem;font-size:.8rem;display:flex;flex-wrap:wrap;gap:.35rem}.news-summary{margin:.4rem 0 0;font-size:.88rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}