@font-face{font-family:rflogo;src:url(fonts/rflogo.ttf) format('truetype');font-weight:400;font-style:normal;font-display:swap}
body{margin:0;background:#fff;color:#333;font-family:"Overpass",-apple-system,BlinkMacSystemFont,"Calibri",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",Arial,Helvetica,Geneva,Tahoma,Verdana,sans-serif;font-weight:400;font-size:12pt;line-height:1.5;overflow-x:hidden;}
:root{--primary-color:#00aa5b;--secondary-color:#0f766e;--error-color:#c8102e;--warning-color:#fbbc05;--text-color:#12151a;--light-gray:#f7f4ef;--medium-gray:#d9d3c8;--dark-gray:#2a3038;}
.fontSpotterContainer{margin:0 auto;display:flex;flex-direction:column;gap:15px;max-width:1500px;background:white;padding:15px;}
.rf-site-header .rf-header-actions{display:flex;align-items:center;gap:6px;line-height:50px;flex-shrink:0;margin-left:auto;padding-left:8px;box-sizing:border-box;}
.rf-site-header .rf-header-actions button#showRightPush{float:none;position:relative;top:auto;right:auto;line-height:50px;height:50px;}
.fs-header-auth-wrap{position:relative;display:flex;align-items:center;margin-top:-0.6em;z-index:10050;}
.fs-lang-switch{position:relative;display:flex;align-items:center;height:50px;z-index:10060;}
.fs-lang-switch-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;margin:0;padding:0 6px;height:50px;border:none;border-radius:0;background:transparent;cursor:pointer;line-height:50px;color:#fff;box-sizing:border-box;}
.fs-lang-switch-btn:hover,.fs-lang-switch:hover .fs-lang-switch-btn,.fs-lang-switch:focus-within .fs-lang-switch-btn{background:transparent;opacity:0.88;}
.fs-flag{display:block;width:22px;height:15px;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,0.12);flex-shrink:0;background:#ddd;}
.fs-flag svg{display:block;width:100%;height:100%;}
.fs-lang-caret{width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:4px solid #fff;opacity:0.9;margin-top:1px;}
.fs-lang-menu{position:absolute;top:calc(100% - 4px);right:0;margin:0;padding:10px 8px 8px;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(64px,1fr));gap:4px;min-width:min(320px,92vw);max-width:min(92vw,360px);background:#fff;border-radius:8px;box-shadow:0 8px 28px rgba(0,0,0,0.22);z-index:10060;line-height:normal;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(4px);transition:opacity 0.12s ease,visibility 0.12s ease,transform 0.12s ease;}
.fs-lang-switch:hover .fs-lang-menu,.fs-lang-switch:focus-within .fs-lang-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.fs-lang-menu a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px 5px;border-radius:6px;text-decoration:none;color:#222;box-sizing:border-box;}
.fs-lang-menu a:hover,.fs-lang-menu li.is-current a{background:#f3f7ff;}
.fs-lang-menu a[aria-current="page"]{outline:2px solid #00aa5b;outline-offset:-2px;}
.fs-lang-menu .fs-flag{width:28px;height:19px;}
.fs-lang-name{display:block;max-width:100%;font-size:0.62rem;font-weight:600;line-height:1.2;text-align:center;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* 面积约原 36×36 的一半 → 边长 36/√2 ≈ 25px */
.fs-auth-avatar-btn{width:25px;height:25px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,0.9);background:rgba(255,255,255,0.14);cursor:pointer;color:#fff;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;vertical-align:middle;transition:background 0.2s,border-color 0.2s;}
.fs-auth-avatar-btn:hover{background:rgba(255,255,255,0.26);border-color:#fff;}
.fs-header-auth-wrap:hover .fs-auth-avatar-btn{background:rgba(255,255,255,0.28);border-color:#fff;}
.fs-auth-avatar-btn--signed-in{background:rgba(255,255,255,0.95);color:#00aa5b;border-color:rgba(255,255,255,0.95);}
.fs-header-auth-wrap:hover .fs-auth-avatar-btn--signed-in{background:#fff;color:#0046c7;}
.fs-auth-avatar-inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:0.7rem;font-weight:700;line-height:1;text-transform:uppercase;}
.fs-auth-avatar-inner svg{width:14px;height:14px;opacity:0.95;}
.fs-auth-dropdown{position:absolute;top:calc(100% - 2px);right:0;min-width:220px;max-width:min(92vw,320px);padding:12px 14px 12px;padding-top:14px;background:#fff;border-radius:8px;box-shadow:0 8px 28px rgba(0,0,0,0.22);z-index:10050;text-align:left;line-height:normal;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(4px);transition:opacity 0.12s ease,visibility 0.12s ease,transform 0.12s ease;}
.fs-header-auth-wrap:hover .fs-auth-dropdown,.fs-header-auth-wrap:focus-within .fs-auth-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.fs-auth-dropdown-hint{margin:0 0 10px;font-size:0.8rem;color:#555;line-height:1.35;}
.fs-auth-dropdown-email{font-size:0.82rem;font-weight:600;color:#222;word-break:break-all;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #eee;}
.fs-auth-dropdown-btn{display:block;width:100%;padding:8px 12px;margin:0;font-size:0.85rem;font-weight:600;border-radius:6px;border:none;background:#00aa5b;color:#fff;cursor:pointer;text-align:center;box-sizing:border-box;}
.fs-auth-dropdown-btn:hover{background:#3367d6;}
.fs-auth-dropdown-btn--outline{background:#fff;color:#333;border:1px solid #ccc;}
.fs-auth-dropdown-btn--outline:hover{background:#f5f5f5;}
.fs-auth-dropdown-panel.hidden{display:none!important;}
.section{border-top:1px dashed lightgray;}
#segmentShortcutSection{border-top:none!important;margin-top:-25px;padding-top:20px;padding-left:0;padding-right:0;}
#segmentShortcutSection .action-container{margin-top:0;}
#segmentShortcutSection .segment-stats-line{margin-top:8px;}
/* —— ReceiptFont (kichu) 风格顶栏 —— */
/* fontSpotter 壳：顶栏随页滚动，不做主站式滚动吸顶（若误加 .smaller 也保持相对定位） */
body.fs-fontspotter-app header.fs-fontspotter-shell.rf-site-header,body.fs-fontspotter-app header.fs-fontspotter-shell.rf-site-header.smaller{position:relative !important;top:auto !important;left:auto !important;right:auto !important;width:100%;max-width:none;height:auto !important;min-height:0 !important;overflow:visible;box-shadow:none;background:#00aa5b;}
.rf-site-header{width:100%;overflow:visible;z-index:1010;background:#00aa5b;padding-top:0.3em;position:relative;box-sizing:border-box;}
.rf-site-header .nav-menu1{margin-left:auto;margin-right:auto;max-width:1500px;padding:0 1em;box-sizing:border-box;display:flex;align-items:center;flex-wrap:wrap;gap:0.35rem 0.75rem;min-height:2.75rem;overflow:visible;}
.rf-site-header #logo{height:1.5em;line-height:1.5em;font-size:30px;color:#fff;font-weight:700;text-align:left;float:none;margin:0;flex-shrink:0;}
.rf-site-header #logo .logoIcon{font-family:rflogo;font-size:1.5em;font-weight:300;color:#00aa5b;filter:contrast(40%) brightness(2);letter-spacing:3px;}
.rf-site-header #logo .logoIconRight{color:#fff;}
.rf-site-header #logo .logoText{display:none;font-weight:300;color:#fff;font-size:.8rem;font-style:italic;}
.rf-logo-home{text-decoration:none;color:inherit;float:none;flex-shrink:0;display:flex;align-items:center;gap:10px;}
.rf-logo-home:hover{filter:brightness(1.06);}
.fs-brand-icon{width:36px;height:36px;display:block;flex-shrink:0;border-radius:8px;}
nav#navMenuWideScreen{display:block;z-index:1;float:none;margin:0;padding:0;box-sizing:border-box;flex:1 1 auto;min-width:0;}
nav#navMenuWideScreen ul.menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:0 2.25rem;margin-top:-0.6em;}
nav#navMenuWideScreen ul.menu li{margin:0;padding:0;list-style:none;line-height:1.65rem;font-size:1rem;}
nav#navMenuWideScreen ul.menu li a{color:#fff;font-weight:300;text-decoration:none;}
nav#navMenuWideScreen ul.menu li a:hover{text-decoration:underline;}
nav#navMenuWideScreen ul.menu li.current-menu-item,nav#navMenuWideScreen ul.menu li.current-menu-parent{border-bottom:3px solid #fff;}
nav#navMenuWideScreen ul.menu li.menu-item-fontsMatched a{font-weight:400;font-style:italic;color:#fff;font-family:Georgia,"Times New Roman",serif;}
nav#navMenuWideScreen ul.menu li.menu-item-fontspotter a{white-space:nowrap;}
nav#navMenuWideScreen ul.menu li.menu-item-fontspotter a .rf-nav-spotter-o{position:relative;z-index:1;isolation:isolate;display:inline-block;vertical-align:baseline;line-height:1;text-shadow:0 0 10px rgba(255,255,255,0.35);}
nav#navMenuWideScreen ul.menu li.menu-item-fontspotter a .rf-nav-spotter-o .rf-nav-spotter-reticle{position:absolute;left:50%;top:50%;transform:translate(-48%,-44%);z-index:-1;width:1.12em;height:1.12em;pointer-events:none;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201024%201024%27%3E%3Cpath%20fill%3D%27%23f0f0f0%27%20d%3D%27M512%2013.568c17.92%200%2032.6144%2013.6448%2034.2784%2031.104l0.1536%203.328v14.848c221.0048%2016.7936%20397.9008%20193.7152%20414.72%20414.72h14.848a34.432%2034.432%200%200%201%203.328%2068.7104l-3.328%200.1536h-14.848c-16.7936%20221.0048-193.7152%20397.9008-414.72%20414.72v14.848a34.432%2034.432%200%200%201-68.7104%203.328l-0.1536-3.328v-14.848c-221.0048-16.7936-397.9264-193.7152-414.72-414.72h-14.848a34.432%2034.432%200%200%201-3.328-68.7104l3.328-0.1536h14.848c16.8192-221.0048%20193.7152-397.9008%20414.72-414.72v-14.848c0-19.0208%2015.4112-34.432%2034.432-34.432z%20m34.432%20118.4v108.032a34.432%2034.432%200%200%201-68.7104%203.328l-0.1536-3.328v-108.032c-182.9632%2016.4608-329.1392%20162.6368-345.6%20345.6h108.032a34.432%2034.432%200%200%201%203.328%2068.7104l-3.328%200.1536h-108.032c16.4352%20182.9632%20162.6368%20329.1648%20345.6%20345.6v-108.032a34.432%2034.432%200%200%201%2068.7104-3.328l0.1536%203.328v108.032c182.9632-16.4608%20329.1648-162.6624%20345.6-345.6h-108.032a34.432%2034.432%200%200%201-3.328-68.7104l3.328-0.1536h108.032c-16.4608-182.9632-162.6624-329.1648-345.6-345.6z%27/%3E%3C/svg%3E") center/contain no-repeat;}
.nav-menu .menu li.menu-item-fontspotter a{white-space:nowrap;}
.nav-menu .menu li.menu-item-fontspotter a .rf-nav-spotter-o{position:relative;z-index:1;isolation:isolate;display:inline-block;vertical-align:baseline;line-height:1;text-shadow:0 0 6px rgba(0,83,235,0.2);}
.nav-menu .menu li.menu-item-fontspotter a .rf-nav-spotter-o .rf-nav-spotter-reticle{position:absolute;left:50%;top:50%;transform:translate(-48%,-47%);z-index:-1;width:1.1em;height:1.1em;pointer-events:none;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201024%201024%27%3E%3Cpath%20fill%3D%27%23f0f0f0%27%20d%3D%27M512%2013.568c17.92%200%2032.6144%2013.6448%2034.2784%2031.104l0.1536%203.328v14.848c221.0048%2016.7936%20397.9008%20193.7152%20414.72%20414.72h14.848a34.432%2034.432%200%200%201%203.328%2068.7104l-3.328%200.1536h-14.848c-16.7936%20221.0048-193.7152%20397.9008-414.72%20414.72v14.848a34.432%2034.432%200%200%201-68.7104%203.328l-0.1536-3.328v-14.848c-221.0048-16.7936-397.9264-193.7152-414.72-414.72h-14.848a34.432%2034.432%200%200%201-3.328-68.7104l3.328-0.1536h14.848c16.8192-221.0048%20193.7152-397.9008%20414.72-414.72v-14.848c0-19.0208%2015.4112-34.432%2034.432-34.432z%20m34.432%20118.4v108.032a34.432%2034.432%200%200%201-68.7104%203.328l-0.1536-3.328v-108.032c-182.9632%2016.4608-329.1392%20162.6368-345.6%20345.6h108.032a34.432%2034.432%200%200%201%203.328%2068.7104l-3.328%200.1536h-108.032c16.4352%20182.9632%20162.6368%20329.1648%20345.6%20345.6v-108.032a34.432%2034.432%200%200%201%2068.7104-3.328l0.1536%203.328v108.032c182.9632-16.4608%20329.1648-162.6624%20345.6-345.6h-108.032a34.432%2034.432%200%200%201-3.328-68.7104l3.328-0.1536h108.032c-16.4608-182.9632-162.6624-329.1648-345.6-345.6z%27/%3E%3C/svg%3E") center/contain no-repeat;}
@keyframes rfSpotterArrow1{0%{opacity:1;transform:translate(-72px,-86px) rotate(-136.17deg)}3.00%{transform:translate(-65.86px,-80.04px) rotate(-135.52deg)}6.27%{transform:translate(-59.94px,-74.16px) rotate(-134.85deg)}9.53%{transform:translate(-54.23px,-68.35px) rotate(-134.13deg)}12.80%{transform:translate(-48.75px,-62.63px) rotate(-133.38deg)}16.07%{transform:translate(-43.48px,-56.98px) rotate(-132.59deg)}19.34%{transform:translate(-38.44px,-51.41px) rotate(-131.75deg)}22.60%{transform:translate(-33.61px,-45.91px) rotate(-130.87deg)}25.87%{transform:translate(-29px,-40.5px) rotate(-129.94deg)}29.13%{transform:translate(-24.61px,-35.16px) rotate(-128.95deg)}32.40%{transform:translate(-20.44px,-29.91px) rotate(-127.9deg)}35.66%{transform:translate(-16.48px,-24.73px) rotate(-126.79deg)}38.93%{transform:translate(-12.75px,-19.63px) rotate(-125.6deg)}42.20%{transform:translate(-9.23px,-14.6px) rotate(-124.35deg)}45.47%{transform:translate(-5.94px,-9.66px) rotate(-123.01deg)}48.73%{transform:translate(-2.86px,-4.79px) rotate(-121.59deg)}52.00%{transform:translate(0,0) rotate(-120.07deg)}90%{opacity:1;transform:translate(0,0) rotate(-120.07deg)}100%{opacity:0;visibility:hidden;transform:translate(0,0) rotate(-120.07deg)}}
@keyframes rfSpotterArrow2{0%{opacity:1;transform:translate(80px,-78px) rotate(-37.87deg)}7.00%{transform:translate(73.36px,-72.77px) rotate(-38.54deg)}10.00%{transform:translate(66.94px,-67.59px) rotate(-39.24deg)}13.00%{transform:translate(60.73px,-62.46px) rotate(-39.98deg)}16.00%{transform:translate(54.75px,-57.38px) rotate(-40.75deg)}19.00%{transform:translate(48.98px,-52.34px) rotate(-41.56deg)}22.00%{transform:translate(43.44px,-47.34px) rotate(-42.42deg)}25.00%{transform:translate(38.11px,-42.4px) rotate(-43.32deg)}28.00%{transform:translate(33px,-37.5px) rotate(-44.27deg)}31.00%{transform:translate(28.11px,-32.65px) rotate(-45.28deg)}34.00%{transform:translate(23.44px,-27.84px) rotate(-46.34deg)}37.00%{transform:translate(18.98px,-23.09px) rotate(-47.46deg)}40.00%{transform:translate(14.75px,-18.38px) rotate(-48.65deg)}43.00%{transform:translate(10.73px,-13.71px) rotate(-49.91deg)}46.00%{transform:translate(6.94px,-9.09px) rotate(-51.25deg)}49.00%{transform:translate(3.36px,-4.52px) rotate(-52.66deg)}52.00%{transform:translate(0,0) rotate(-54.16deg)}90%{opacity:1;transform:translate(0,0) rotate(-54.16deg)}100%{opacity:0;visibility:hidden;transform:translate(0,0) rotate(-54.16deg)}}
@keyframes rfSpotterArrow3{0%{opacity:1;transform:translate(62px,94px) rotate(51.34deg)}7.94%{transform:translate(57.07px,87.77px) rotate(51.93deg)}10.88%{transform:translate(52.28px,81.59px) rotate(52.53deg)}13.81%{transform:translate(47.63px,75.46px) rotate(53.15deg)}16.75%{transform:translate(43.13px,69.38px) rotate(53.8deg)}19.69%{transform:translate(38.76px,63.34px) rotate(54.46deg)}22.63%{transform:translate(34.53px,57.34px) rotate(55.15deg)}25.56%{transform:translate(30.45px,51.4px) rotate(55.86deg)}28.50%{transform:translate(26.5px,45.5px) rotate(56.59deg)}31.44%{transform:translate(22.7px,39.65px) rotate(57.35deg)}34.38%{transform:translate(19.03px,33.84px) rotate(58.13deg)}37.31%{transform:translate(15.51px,28.09px) rotate(58.94deg)}40.25%{transform:translate(12.13px,22.38px) rotate(59.78deg)}43.19%{transform:translate(8.88px,16.71px) rotate(60.65deg)}46.13%{transform:translate(5.78px,11.09px) rotate(61.55deg)}49.06%{transform:translate(2.82px,5.52px) rotate(62.47deg)}52.00%{transform:translate(0,0) rotate(63.43deg)}90%{opacity:1;transform:translate(0,0) rotate(63.43deg)}100%{opacity:0;visibility:hidden;transform:translate(0,0) rotate(63.43deg)}}
nav#navMenuWideScreen ul.menu li.menu-item-fontspotter a .rf-nav-spotter-o .rf-nav-spotter-arrow{position:absolute;left:50%;top:50%;width:24px;height:2px;margin-left:0;margin-top:-1px;pointer-events:none;z-index:5;border-radius:1px;transform-origin:0 50%;box-sizing:border-box;background:linear-gradient(90deg,#fff 0%,#f0f0f0 18%,rgba(255,255,255,0.45) 72%,transparent 100%);box-shadow:0 0 7px rgba(255,255,255,0.55);opacity:0}
nav#navMenuWideScreen ul.menu li.menu-item-fontspotter a .rf-nav-spotter-o .rf-nav-spotter-arrow::after{content:"";position:absolute;left:-1px;top:50%;transform:translateY(-50%);border-style:solid;border-width:3px 6px 3px 0;border-color:transparent #fff transparent transparent}
.nav-menu .menu li.menu-item-fontspotter a .rf-nav-spotter-o .rf-nav-spotter-arrow{position:absolute;left:50%;top:50%;width:24px;height:2px;margin-left:0;margin-top:-1px;pointer-events:none;z-index:5;border-radius:1px;transform-origin:0 50%;box-sizing:border-box;background:linear-gradient(90deg,#007a45 0%,#00aa5b 22%,rgba(0,170,91,0.35) 72%,transparent 100%);box-shadow:0 0 6px rgba(0,170,91,0.35);opacity:0}
.nav-menu .menu li.menu-item-fontspotter a .rf-nav-spotter-o .rf-nav-spotter-arrow::after{content:"";position:absolute;left:-1px;top:50%;transform:translateY(-50%);border-style:solid;border-width:3px 6px 3px 0;border-color:transparent #00aa5b transparent transparent}
button#showRightPush{font-size:28px;border:none;margin:0;padding:0 10px;background:#00aa5b;cursor:pointer;line-height:1;display:none;color:#fff;}
button#showRightPush .rf-menu-icon{display:block;width:1.1em;height:1.1em;vertical-align:middle;}
.nav-menu{border-left:3px solid;border-image:linear-gradient(267deg,rgba(128,128,128,0.6) 0,rgba(255,255,255,.999) 350px,rgba(255,255,255,0) 450px) 100 100 100;background:linear-gradient(180deg,rgba(255,255,255,1) 0,rgba(255,255,255,.999) 450px,rgba(255,255,255,0) 750px);position:fixed;top:0;right:-272px;width:272px;height:100%;z-index:1001;margin:0;padding:0;transition:right .25s ease;overflow-y:auto;box-sizing:border-box;}
.nav-menu.nav-menu-open{right:0;}
.nav-menu .menu{list-style:none;margin:0;padding:0;float:none;width:100%;}
.nav-menu .menu li{width:100%;float:none;margin:0;padding:0;}
.nav-menu .menu li a{display:block;color:#00aa5b;font-size:1.1em;font-weight:300;text-decoration:none;border-bottom:1px solid #f0f0f0;padding:1em;}
.nav-menu .menu li a:hover{background:#00aa5b;color:#fff!important;}
.nav-menu .menu li.current-menu-item a,.nav-menu .menu li.current-menu-parent a{font-weight:600;}
.nav-menu .menu li.menu-item-fontsMatched a{font-weight:400;font-style:italic;font-family:Georgia,"Times New Roman",serif;}
#hideRightPush{float:left;width:100%;text-align:right;padding:12px 14px 8px 0;margin:0;border:none;background:transparent;cursor:pointer;box-sizing:border-box;}
#hideRightPush::after{content:"\00d7";color:#333;font-size:1.75rem;line-height:1;font-weight:300;}
#hideRightPush:hover::after{color:red;}
.rf-nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:1000;}
body.rf-nav-drawer-open{overflow:hidden;}
nav#nav-menu-s2{display:none;}
@media screen and (max-width:1200px){.rf-site-header .nav-menu1{width:100%;max-width:none;padding:0 0.65rem 0 1em;float:none;box-sizing:border-box;justify-content:space-between;}
button#showRightPush{display:inline-flex;align-items:center;justify-content:center;float:none;position:relative;top:auto;right:auto;padding:0 8px;}
nav#navMenuWideScreen{display:none!important;}
nav#nav-menu-s2{display:block;}
.rf-site-header{min-height:3rem;}
.rf-site-header .rf-header-actions{margin-left:0;padding-left:0;}
}
@media screen and (max-width:768px){.rf-site-header #logo{font-size:1.4em;line-height:2.7em;height:2.5em;}
.rf-site-header .logoText{display:none;}
.rf-site-header .nav-menu1{width:100%;}
button#showRightPush{line-height:50px;}
}
@media screen and (min-width:1201px){.fs-lang-switch{margin-top:-0.6em;height:auto;}
.fs-lang-switch-btn{height:auto;line-height:1;padding:0;}
}
.rf-site-header::after{content:"";display:table;clear:both;}
h2{font-size:1.5rem;font-weight:600;margin-bottom:0.5rem;}
.result-title-row{display:flex;align-items:center;justify-content:flex-start;gap:10px 16px;flex-wrap:wrap;margin-top:1em;width:100%;max-width:100%;box-sizing:border-box;}
.result-title-row h2{margin:0;}
.result-title-heading-group{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;min-width:0;}
.result-title-meta{font-size:0.85rem;color:#5f6368;font-weight:500;line-height:1.25;margin:0;}
.test-usage-toggle{font-size:0.82rem;line-height:1;border:1px solid var(--medium-gray);background:#fff;color:var(--primary-color);border-radius:999px;padding:6px 10px;cursor:pointer;font-weight:700;}
.test-usage-toggle:hover{background:#f3f7ff;border-color:#b8c9ef;}
.test-usage-summary{font-size:0.82rem;color:#4b5563;background:#f8f9fa;border:1px dashed var(--medium-gray);border-radius:6px;padding:5px 8px;}
.hidden{display:none!important;}
.error-box{color:var(--error-color);margin-top:1rem;}
#uploadSection{border-top:none!important;}
.upload-area{position:relative;display:flex;flex-direction:row;align-items:stretch;min-height:100px;border:2px dashed var(--primary-color);padding:0;cursor:pointer;transition:all 0.3s ease;background-color:var(--light-gray);margin-bottom:10px;overflow:visible;}
.upload-area:hover,.upload-area.active{border:2px solid var(--primary-color);background-color:rgba(0,170,91,0.15);}
.upload-area:hover .upload-area-content,.upload-area.active .upload-area-content{background-color:rgba(0,170,91,0.15);}
.upload-area .upload-area-content:hover,.upload-area .upload-area-content.active{background-color:rgba(0,170,91,0.15);}
/* upload-sticky 已停用：上传区过高，不再吸顶 */
.upload-area h3{font-size:2rem;color:var(--primary-color);}
.upload-area p{color:var(--dark-gray);font-size:0.95rem;}
#fileInput{display:none;}
.instructions{font-size:0.85rem;border-left:6px solid var(--dark-gray);padding-left:0.5rem;color:var(--dark-gray);}
/* Beta：书签状贴在 upload-area 右上角；层级低于 upload-area-content，底部似被「压住」一点点 */
.upload-area>.fs-beta-bookmark{position:absolute;top:-24px;right:5px;z-index:5;display:inline-flex;align-items:flex-start;cursor:help;outline:none;pointer-events:auto;}
.upload-area>.fs-beta-bookmark:focus-visible{outline:2px solid var(--secondary-color);outline-offset:2px;border-radius:6px;}
.fs-beta-bookmark .fs-beta-pill{display:inline-flex;align-items:center;font-size:1rem;font-weight:700;padding:0px 10px 0 10px;color:#fff;background:var(--secondary-color);border-radius:6px 6px 0 0;}
.upload-area>.fs-beta-tooltip-portal{position:absolute;z-index:40;top:10px;right:12px;left:auto;transform:none;box-sizing:border-box;width:auto;max-width:min(50vw,300px);min-width:0;padding:10px 12px;background:var(--secondary-color);color:#fff;font-size:0.78rem;font-weight:500;line-height:1.4;text-align:left;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,0.22);overflow-wrap:break-word;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 0.18s ease,visibility 0.18s ease;}
.fs-beta-tooltip-inner{display:flex;flex-direction:column;align-items:stretch;gap:10px;}
.fs-beta-tooltip-manual-btn{margin:0;padding:8px 12px;font-size:0.76rem;font-weight:700;line-height:1.2;color:var(--secondary-color);background:#fff;border:none;border-radius:6px;cursor:pointer;box-shadow:0 1px 0 rgba(0,0,0,0.12);width:100%;box-sizing:border-box;}
.fs-beta-tooltip-manual-btn:hover{background:#f3f7ff;}
.upload-area>.fs-beta-tooltip-portal::before{content:'';position:absolute;left:auto;right:12px;bottom:100%;border:8px solid transparent;border-bottom-color:var(--secondary-color);}
.upload-area>.fs-beta-tooltip-portal::after{content:'';position:absolute;left:-22px;right:-22px;bottom:100%;height:24px;background:transparent;}
.upload-area:has(.fs-beta-bookmark:hover)>.fs-beta-tooltip-portal,.upload-area:has(.fs-beta-bookmark:focus-within)>.fs-beta-tooltip-portal,.upload-area>.fs-beta-tooltip-portal:hover{opacity:1;visibility:visible;pointer-events:auto;}
@media (prefers-reduced-motion:reduce){
.upload-area>.fs-beta-tooltip-portal{transition:none;}
}
#uploadSection .instructions{margin-bottom:10px;}
.upload-area-content{flex:1;min-width:0;min-height:80px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;position:relative;z-index:6;background-color:var(--light-gray);}
.instructions .ocr-result-text{background:rgba(0,170,91,0.12);padding:2px 6px;border-radius:4px;font-weight:600;}
.instructions code{background:#f0f0f0;padding:1px 4px;border-radius:3px;font-size:0.9em;}
.btn{background-color:var(--primary-color);color:white;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:all 0.3s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;}
.btn:hover{background-color:#3367d6;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,0.1);}
.btn-large{padding:14px 28px;font-size:1.1rem;}
.manual-cta-wrap{margin:0 auto;max-width:1500px;padding:0 15px;text-align:left;}
.manual-cta-wrap.manual-cta-floating{position:fixed;left:15px;right:auto;bottom:15px;transform:none;margin:0;padding:0 15px;max-width:calc(100vw - 30px);text-align:left;z-index:1100;}
.manual-cta-btn{display:inline-flex;align-items:center;justify-content:flex-start;padding:10px 15px;font-size:1rem;font-weight:600;line-height:1.2;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background 0.2s,transform 0.2s,box-shadow 0.2s;text-align:left;}
.manual-cta-btn:hover{background:#d84315;transform:translateY(-2px);box-shadow:0 4px 12px rgba(230,81,0,0.4);}
.manual-cta-btn:focus-visible{outline:2px solid #ff7043;outline-offset:2px;}
/* Footer 上方：近期识别缩略图展示 */
.recent-identification-showcase{border-top:1px solid #e6e6e6;}
.recent-identification-showcase.hidden{display:none!important;}
.recent-showcase-inner{margin:0 auto;}
.recent-showcase-heading{font-size:1.25rem;margin:0;color:#222;}
.recent-showcase-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 12px;}
@media (max-width:900px){.recent-showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:520px){.recent-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
.recent-showcase-cell{min-width:0;}
.recent-showcase-thumb-wrap{position:relative;overflow:hidden;background:#fff;border:1px solid #ddd;border-radius:8px;padding:6px;display:flex;align-items:center;justify-content:center;min-height:72px;aspect-ratio:4/3;}
.recent-showcase-thumb-wrap img{max-width:100%;max-height:120px;object-fit:contain;-webkit-user-drag:none;user-select:none;}
.recent-showcase-caption{position:absolute;bottom:6px;left:6px;z-index:1;max-width:calc(100% - 12px);font-size:0.75rem;line-height:1.2;text-align:left;word-break:break-word;color:#222;padding:4px 8px;background:rgba(255,255,255,0.92);border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,0.1);}
.recent-showcase-caption a{color:var(--primary-color);text-decoration:none;}
.recent-showcase-caption a:hover{text-decoration:underline;}
.recent-showcase-caption a.verdict-contact-link{color:#7c3aed !important;font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.recent-showcase-caption a.verdict-contact-link:hover{color:#5b21b6 !important;}
.recent-showcase-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px 56px;gap:14px;border-top:1px solid #e6e6e6;}
.recent-showcase-loading.hidden{display:none!important;}
.recent-showcase-spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:var(--primary-color,#1a73e8);border-radius:50%;animation:recent-spin 0.8s linear infinite;}
@keyframes recent-spin{to{transform:rotate(360deg);}}
.recent-showcase-loading-text{font-size:0.9rem;color:#999;}
.recent-showcase-thumb-wrap img{cursor:zoom-in;}
.btn-secondary{background-color:var(--light-gray);color:var(--text-color);border:1px solid #ccc;}
.btn-secondary:hover{background-color:var(--medium-gray);}
.action-container{display:flex;gap:15px;margin-top:20px;}
/* 字符网格样式 */
.segments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:15px;margin:20px 0;}
.char-segment{border:1px solid var(--medium-gray);border-radius:8px;overflow:hidden;cursor:pointer;transition:all 0.3s ease;}
.char-segment:hover{transform:translateY(-3px);box-shadow:0 4px 8px rgba(0,0,0,0.1);border-color:var(--primary-color);}
.char-segment.selected{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(0,170,91,0.28);}
.char-image{width:100%;height:40px;object-fit:contain;background-color:var(--light-gray);}
.char-input-container{display:flex;align-items:center;gap:10px;margin-top:10px;}
.char-input-container label{font-weight:500;}
.char-input{width:60px;padding:8px 12px;border:1px solid var(--medium-gray);border-radius:6px;font-size:1.1rem;text-align:center;}
/* 结果区域样式 */
.results-container{display:flex;flex-direction:column;gap:15px;margin-top:0px;}
.results-grid{--result-card-font-size:13px;--result-card-text-col-width:90px;display:flex;flex-direction:column;gap:10px;margin-top:0px;}
.font-card{cursor:pointer;border:1px solid var(--medium-gray);border-radius:10px;overflow:hidden;transition:all 0.3s ease;display:flex;flex-direction:column;}
.font-card:hover{box-shadow:0 6px 12px rgba(0,0,0,0.1);}
.font-card-link{display:block;text-decoration:none;color:inherit;width:100%;}
.font-card-link:hover .font-card{transform:translateY(-2px);box-shadow:0 8px 15px rgba(0,0,0,0.15);}
.font-card-row{display:flex;align-items:center;min-height:48px;flex-direction:row;}
.result-cards--text-right .font-card-row{flex-direction:row-reverse;}
.font-card-row .preview-container{flex:1;min-width:0;display:flex;justify-content:flex-start;align-items:center;background:#fff;padding-left:8px;padding-right:8px;overflow-x:auto;overflow-y:hidden;}
.font-card-row .preview-container .card-preview-img{height:64px;width:auto;max-width:none;max-height:none;object-fit:contain;display:block;flex-shrink:0;}
.font-card-right{width:var(--result-card-text-col-width,90px);min-width:0;flex-shrink:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:8px 12px;background:#fff;border-right:1px solid var(--medium-gray);box-sizing:border-box;}
.result-cards--text-right .font-card-right{border-right:none;border-left:1px solid var(--medium-gray);}
.results-grid .font-card .font-name-small{font-size:var(--result-card-font-size,13px);font-weight:600;}
.results-grid .font-card .font-similarity-small,
.results-grid .font-card .font-store-price-line,
.results-grid .font-card .font-similarity-stacked-label{font-size:calc(var(--result-card-font-size, 13px) * 0.92);}
.results-grid .font-card .font-similarity-stacked-value{font-size:calc(var(--result-card-font-size, 13px) * 1.08);font-weight:800;}
.results-grid .font-card .font-index-badge{font-size:calc(var(--result-card-font-size, 13px) * 0.95);min-width:2.1em;min-height:2.1em;padding:0 7px;box-sizing:border-box;}
.font-name-small{font-size:0.85rem;font-weight:600;color:var(--primary-color);text-align:left;word-break:break-word;line-height:1.2;width:100%;}
.font-name-small.font-name-obfuscated{display:flex;align-items:center;justify-content:flex-start;gap:8px;}
.font-result-index-only{min-height:2.1rem;align-items:center;}
.font-index-badge{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 8px;border-radius:999px;background:var(--primary-color);color:#fff;font-size:0.9rem;font-weight:700;line-height:1;box-sizing:border-box;}
.font-similarity-small{font-size:0.75rem;font-weight:700;color:var(--dark-gray);margin-top:4px;text-align:left;width:100%;}
.font-store-price-line{font-size:0.75rem;font-weight:700;color:var(--dark-gray);margin-top:4px;text-align:left;width:100%;display:inline-flex;align-items:baseline;flex-wrap:wrap;column-gap:0.02em;}
.font-store-price-line .font-store-price-currency,
.font-store-price-line .font-store-price-dec{font-size:0.68em;font-weight:700;line-height:1;vertical-align:0;align-self:center;position:relative;top:-0.12em;}
.font-store-price-line .font-store-price-int{font-size:1em;font-weight:700;}
.font-card-index-line{margin-bottom:4px;}
.font-similarity-stacked-label{font-size:0.75rem;font-weight:700;color:var(--dark-gray);margin-top:0;text-align:left;width:100%;}
.font-similarity-stacked-value{font-size:0.9rem;font-weight:800;color:var(--primary-color);margin-top:2px;text-align:left;width:100%;}
.font-similarity-obfuscated{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1.1;color:var(--dark-gray);}
.font-similarity-obfuscated .font-similarity-value{font-size:0.92rem;font-weight:800;color:var(--primary-color);}
.font-similarity-obfuscated .font-similarity-label{font-size:0.72rem;font-weight:700;color:var(--dark-gray);margin-top:2px;}
.font-test-preview-wrap{margin-top:10px;padding:10px;background:#f8f9fa;border-radius:6px;}
.font-test-preview-wrap .font-test-preview{display:block;max-width:100%;height:auto;max-height:64px;object-fit:contain;}
.test-text-wrap{display:flex;align-items:center;gap:8px;margin-bottom:15px;}
.test-text-wrap label{flex-shrink:0;font-weight:500;color:var(--text-color);}
.test-text-input-wrap{position:relative;flex:1;min-width:0;display:flex;align-items:center;}
.test-text-wrap input[type="text"]{flex:1;min-width:0;padding:8px 40px 8px 12px;border:1px solid var(--medium-gray);border-radius:6px;font-size:0.9rem;}
.test-text-enter-arrow{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:2rem;color:var(--primary-color);cursor:pointer;pointer-events:auto;user-select:none;line-height:1;}
.test-text-enter-arrow:hover{opacity:0.85;}
.test-text-enter-arrow.hidden{visibility:hidden;pointer-events:none;}
.font-header{color:#333333;padding:0 0 0 15px;display:flex;justify-content:space-between;align-items:center;}
.font-header h3{font-size:1rem;font-weight:400;}
.font-name{font-size:1.3rem;font-weight:600;}
.font-similarity{font-size:1.3rem;font-weight:900;background:rgba(255,255,255,0.2);padding:3px 10px;border-radius:10px 10px 0 0;text-align:center;color:var(--primary-color);}
.char-samples{background-color:white;display:flex;flex-wrap:wrap;gap:15px;}
.char-sample{display:flex;flex-direction:column;align-items:center;}
.sample-image{width:50px;height:50px;object-fit:contain;margin-bottom:5px;}
.char-label{font-size:0.85rem;color:var(--dark-gray);}
.preview-container{position:relative;width:100%;height:100%;display:flex;justify-content:flex-start;align-items:center;background:#fff;}
.preview-drag-wrap{display:inline-block;cursor:move;user-select:none;max-width:100%;max-height:300px;}
.preview-drag-wrap .preview-image{display:block;max-width:100%;max-height:300px;object-fit:contain;pointer-events:none;}
.preview-image{max-width:100%;max-height:300px;object-fit:contain;}
.preview-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,0.7);color:white;padding:10px 20px;border-radius:6px;opacity:0;transition:opacity 0.3s;white-space:nowrap;z-index:10;}
.upload-area.has-preview .upload-area-content:hover .preview-overlay{opacity:1;}
/* 右半部分：灰色分隔线 + 阈值区，白底，不触发上传 */
.upload-area-right{flex:1;min-width:0;display:flex;align-items:stretch;background:#fff;cursor:default;position:relative;}
.upload-area-right.hidden{display:none!important;}
.threshold-tooltip{position:absolute;top:8px;left:50%;transform:translateX(-50%);font-size:13px;line-height:1.2;background:orangered;color:#fff;padding:6px 10px;border-radius:6px;white-space:nowrap;pointer-events:none;z-index:1000;opacity:0;visibility:hidden;transition:opacity 0.15s,visibility 0.15s;box-shadow:0 4px 12px rgba(0,0,0,0.2);}
.binarize-preview-img-wrap{position:relative;display:inline-block;max-width:100%;max-height:100%;}
/* 悬停在 #finalResults 上时，右侧阈值预览图以浮层跟随鼠标便于对照 */
#binarizeCompareFloat{position:fixed;left:0;top:0;z-index:970;pointer-events:none;max-width:min(280px,38vw);max-height:min(340px,48vh);width:auto;height:auto;object-fit:contain;border:1px solid #ccc;border-radius:6px;box-shadow:0 8px 28px rgba(0,0,0,0.22);background:#fff;}
.upload-area-divider{width:2px;flex-shrink:0;background:#cccccc;}
.threshold-inline{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:12px;overflow:hidden;cursor:default;}
.threshold-inline .threshold-row{flex-shrink:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.threshold-inline .threshold-label{font-size:0.9rem;font-weight:600;color:var(--text-color);}
.threshold-inline .threshold-value{font-size:0.95rem;font-weight:700;color:var(--primary-color);min-width:2em;}
.threshold-inline .threshold-slider{flex:1;min-width:0;accent-color:var(--primary-color);}
.threshold-inline .threshold-preview-wrap{flex:1;min-height:0;background:#f5f5f5;border-radius:6px;display:flex;align-items:center;justify-content:center;padding:6px;padding-bottom:56px;margin-top:8px;overflow:visible;position:relative;}
.threshold-inline .threshold-preview-wrap .threshold-preview-img{max-width:100%;max-height:100%;object-fit:contain;}
.threshold-inline .threshold-preview-wrap .threshold-preview-placeholder{margin:0;font-size:0.85rem;color:var(--dark-gray);}
.threshold-preview-actions{position:absolute;right:8px;bottom:8px;z-index:6;display:flex;flex-direction:row;align-items:center;gap:8px;}
.threshold-ok-preview-btn,.threshold-preview-actions .threshold-rotate-90-btn{font-weight:800;line-height:1;border-radius:10px;border:3px solid var(--primary-color);background:rgba(255,255,255,0.97);color:var(--primary-color);cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,0.2);transition:background 0.2s ease,color 0.2s ease;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;}
.threshold-ok-preview-btn:hover,.threshold-ok-preview-btn:focus-visible,.threshold-preview-actions .threshold-rotate-90-btn:hover,.threshold-preview-actions .threshold-rotate-90-btn:focus-visible{background:var(--primary-color);color:#fff;outline:none;}
.threshold-ok-preview-btn{font-size:1rem;min-width:54px;min-height:46px;padding:0 12px;}
/* 仅阈值预览右下角 ↻90°：整体缩小约 1/4，避免误触区域过大 */
.threshold-preview-actions .threshold-rotate-90-btn{position:static;font-size:calc(1.05rem * 0.75);min-width:calc(51px * 0.75);min-height:calc(43px * 0.75);padding:0 calc(10px * 0.75);border-radius:calc(10px * 0.75);border-width:calc(3px * 0.75);box-shadow:0 calc(3px * 0.75) calc(12px * 0.75) rgba(0,0,0,0.2);}
.threshold-preview-actions .threshold-rotate-90-btn:disabled{opacity:0.65;cursor:wait;}
.upload-area-right.hidden .threshold-preview-actions .threshold-rotate-90-btn{visibility:hidden;}
.upload-area-right.hidden .threshold-preview-actions .threshold-ok-preview-btn{visibility:hidden;}
/* 裁切弹窗 */
#cropModal{z-index:9999;background:rgba(0,0,0,0.8);}
.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.7);display:flex;align-items:center;justify-content:center;z-index:3000;}
.modal p{margin:0;font-size:0.85rem;color:var(--secondary-color);}
.modal.hidden{display:none;}
/* —— 右下角：打开与「Font identification assistant」主弹窗相同内容 —— */
.fs-chat-dock{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:4000;font-family:inherit;pointer-events:none;display:none;}
.fs-chat-dock.fs-chat-dock--ready{display:block;}
.fs-chat-dock *{pointer-events:auto;}
/* 以下消息气泡类名供主弹窗 #verdictResultThread 内复用 */
.fs-chat-msg{display:flex;flex-direction:column;gap:6px;max-width:100%;}
.fs-chat-msg--user{align-self:flex-end;align-items:flex-end;}
.fs-chat-msg--assistant{align-self:flex-start;align-items:flex-start;}
.fs-chat-msg--system{align-self:center;align-items:center;max-width:95%;}
.fs-chat-msg-meta{font-size:0.7rem;color:#888;}
.fs-chat-msg-bubble{padding:10px 12px;border-radius:12px;font-size:0.88rem;line-height:1.45;word-break:break-word;white-space:pre-wrap;}
.fs-chat-msg--user .fs-chat-msg-bubble{background:#e8f0fe;color:#174ea6;border-bottom-right-radius:4px;}
.fs-chat-msg--assistant .fs-chat-msg-bubble{background:#f1f3f4;color:#202124;border-bottom-left-radius:4px;}
.fs-chat-msg--system .fs-chat-msg-bubble{background:#fff8e1;color:#5d4037;font-size:0.82rem;padding:6px 10px;}
.fs-chat-msg-thumb{max-width:220px;max-height:160px;border-radius:8px;border:1px solid #ddd;object-fit:contain;background:#f5f5f5;display:block;cursor:pointer;}
.fs-chat-msg-bubble a{color:#1557b0;text-decoration:underline;}
.fs-chat-msg-bubble a:hover{color:#0d47a1;}
.fs-chat-msg-bubble a.verdict-contact-link,
#verdictResultModal .verdict-result-thread a.verdict-contact-link{color:#7c3aed !important;font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.fs-chat-msg-bubble a.verdict-contact-link:hover,
#verdictResultModal .verdict-result-thread a.verdict-contact-link:hover{color:#5b21b6 !important;}
.fs-chat-fab{position:relative;width:52px;height:52px;border-radius:50%;border:none;background:#1a73e8;color:#fff;cursor:pointer;box-shadow:0 4px 14px rgba(26,115,232,0.45);display:flex;align-items:center;justify-content:center;transition:transform 0.15s ease,box-shadow 0.15s;}
.fs-chat-fab:hover{background:#1967d2;box-shadow:0 6px 18px rgba(26,115,232,0.5);}
.fs-chat-fab:focus-visible{outline:2px solid #fff;outline-offset:2px;}
.fs-chat-fab[aria-expanded="true"]{background:#1557b0;}
.fs-chat-fab-svg{display:block;}
.fs-chat-unread{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#d93025;color:#fff;font-size:0.72rem;font-weight:700;line-height:20px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,0.25);}
.fs-chat-unread.hidden{display:none;}
.fs-chat-fab--pulse{animation:fsChatFabPulse 0.9s ease 2;}
@keyframes fsChatFabPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.08);}}
#verdictResultModal{z-index:4500;}
#verdictResultModal.modal{background-color:rgba(18,22,28,0.4);backdrop-filter:blur(10px) saturate(116%);-webkit-backdrop-filter:blur(10px) saturate(116%);}
#verdictResultModal .modal-content.verdict-result-modal-content{max-width:520px;width:90%;}
#verdictResultModal .verdict-result-modal-body{margin:0;padding:0 4px;}
#verdictResultModal .verdict-result-thread{max-height:min(65vh,520px);min-height:140px;overflow-y:auto;padding:12px 14px;margin:0;border:1px solid #e8e8e8;border-radius:8px;background:#fafafa;flex-direction:column;gap:12px;display:flex;}
#verdictResultModal .verdict-result-thread .fs-chat-msg-bubble a{color:#1557b0;text-decoration:underline;}
#verdictResultModal .verdict-reply-to-staff{margin-top:10px;padding:8px 2px 4px 2px;border-top:1px solid #eee;}
#verdictResultModal .verdict-reply-to-staff.hidden{display:none;}
#verdictResultModal .verdict-reply-hint{margin:0 0 8px 0;font-size:0.85rem;color:#555;line-height:1.4;}
#verdictResultModal .verdict-hint-sep{margin:0 0.3em;opacity:0.55;}
#verdictResultModal .verdict-reply-hint a{color:#1557b0;text-decoration:underline;}
#verdictResultModal .verdict-reply-hint a:hover{color:#0d47a1;}
#verdictResultModal .verdict-reply-row{display:flex;gap:6px;align-items:flex-end;flex-wrap:nowrap;}
#verdictResultModal .verdict-user-reply-input{flex:1;min-width:0;font:inherit;padding:8px 10px;border:1px solid #ccc;border-radius:6px;resize:vertical;box-sizing:border-box;min-height:calc(2 * 1.35em + 16px);max-height:min(40vh,240px);line-height:1.35;align-self:auto;}
#verdictResultModal .verdict-user-send-btn{flex:0 0 auto;min-width:3.75rem;padding:4px 10px;border-radius:6px;border:1px solid #00aa5b;background:#00aa5b;color:#fff;font-weight:600;font-size:0.9em;line-height:1.25;cursor:pointer;box-sizing:border-box;align-self:flex-end;}
#verdictResultModal .verdict-user-send-btn:disabled{opacity:0.5;cursor:not-allowed;}
.modal-content{background-color:white;border-radius:8px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;padding:20px;}
.modal-header{position:relative;padding:0px;}
.modal-header h3{margin:0;font-size:1.8rem;}
.image-container{flex:1;overflow:hidden;margin-top:0.5rem;}
.image-container img{max-width:100%;display:block;}
.crop-toolbar{display:flex;gap:10px;}
.crop-tool{width:36px;height:36px;border:none;background:#f5f5f5;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:18px;color:#333;}
.crop-tool:hover{background:#e0e0e0;}
.close-btn{position:absolute;top:0;right:0;background:transparent;border:none;font-size:24px;cursor:pointer;color:#ff0000;font-weight:bold;z-index:10;}
.modal-actions{display:flex;justify-content:space-between;}
.zoom-controls{display:flex;gap:8px;align-items:center;}
/* Font preview modal */
.font-preview-modal-content{max-width:min(95vw,900px);}
.font-preview-modal-body{max-height:75vh;overflow-y:auto;padding:15px;display:flex;flex-direction:column;gap:14px;}
.font-preview-image-wrap{position:relative;display:flex;justify-content:center;align-items:center;background:#fff;min-height:160px;padding:10px;overflow:hidden;}
.font-preview-image-wrap img{max-width:100%;max-height:52vh;object-fit:contain;display:block;border-right:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0;}
.font-preview-fallback{color:var(--dark-gray);font-size:0.95rem;}
.font-preview-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:flex-start;}
.paypal-buy-now-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.paypal-buy-now-wrap form{margin:0;}
.paypal-buy-now-wrap .btn{white-space:nowrap;}
.preview-container{cursor:pointer;}
/* 手动识别模态框样式（z-index 高于 upload-sticky 与顶栏，避免挡在遮罩之上） */
#manualModal{display:flex;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:rgba(15,17,22,0.42);backdrop-filter:blur(10px) saturate(118%);-webkit-backdrop-filter:blur(10px) saturate(118%);align-items:center;justify-content:center;}
/* 与底部橙色 CTA 同形的长条 → 弹窗白底的 morph 过渡层 */
#manualModal .manual-modal-morph-layer{position:fixed;z-index:2003;pointer-events:none;box-sizing:border-box;opacity:0;visibility:hidden;}
#manualModal .manual-modal-morph-layer.manual-modal-morph-visible{opacity:1;visibility:visible;}
#manualModal .manual-modal-content.manual-modal-content--morph-wait{opacity:0!important;visibility:hidden!important;pointer-events:none!important;}
#manualModal .modal-content{background-color:#fff;border-radius:8px;max-width:500px;width:90%;box-shadow:0 5px 15px rgba(0,0,0,0.3);}
#manualModal .manual-modal-content{position:relative;z-index:2;max-width:520px;transform-origin:center center;backface-visibility:hidden;}
#manualModal .manual-modal-content.manual-modal-content--animating{will-change:transform,opacity;}
#manualModal .modal-header{display:flex;justify-content:space-between;align-items:center;}
#manualModal .modal-body{margin:0;}
#manualModal .instructions.manual-modal-instructions{border-left:none;padding-left:0;margin-bottom:0;}
#manualModal .manual-modal-lead{margin:0 0 14px 0;font-size:0.85rem;line-height:1;color:var(--secondary-color);}
#manualModal .manual-modal-email-row{display:flex;flex-direction:row;align-items:stretch;margin:0 0 4px 0;border:1px solid #ccc;border-radius:6px;overflow:hidden;background:#fff;box-sizing:border-box;height:42px;}
#manualModal .manual-modal-email-row #userEmail{flex:1;min-width:0;height:100%;box-sizing:border-box;margin:0;padding:0 12px;border:none;border-radius:0;font-size:0.95rem;line-height:1.2;}
#manualModal .manual-modal-email-row #userEmail:focus{outline:none;box-shadow:inset 0 0 0 2px rgba(0,83,235,0.25);}
#manualModal .manual-send-btn{flex-shrink:0;height:100%;min-height:0;margin:0;padding:0 14px;font-size:0.82rem;font-weight:600;line-height:1;border-radius:0;border:none;border-left:1px solid #ccc;box-sizing:border-box;white-space:nowrap;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;}
#manualModal .manual-send-btn:hover{transform:none;box-shadow:none;}
#manualModal .manual-send-btn:disabled{opacity:0.55;cursor:not-allowed;}
#manualModal .manual-modal-oauth{margin-top:18px;padding-top:4px;}
#manualModal .manual-modal-oauth-divider{height:1px;background:var(--medium-gray);margin-bottom:14px;}
#manualModal .manual-google-btn{width:100%;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;font-weight:600;}
#manualModal .manual-google-mark{flex-shrink:0;display:block;width:22px;height:22px;}
#manualModal .manual-modal-oauth-hint{margin:8px 0 0;font-size:0.82rem;color:var(--dark-gray);}
#manualModal .manual-modal-signed-in-status{margin:0 0 4px;font-size:0.9rem;line-height:1.35;color:var(--secondary-color);}
.char-tag{display:inline-block;padding:2px 8px;background:#e0e0e0;border-radius:4px;margin:0 2px;font-family:monospace;}
.char-input-container{margin-top:5px;}
.char-input{width:100%;text-align:center;padding:4px;}
/* 状态指示器 */
.status-indicator{display:flex;align-items:center;gap:10px;padding:15px;background-color:rgba(0,170,91,0.06);border-radius:8px;margin:20px 0;}
/* 大号 loading 圈：带重力感（ease-in-out）类似 Windows 默认 */
.spinner{width:52px;height:52px;border:4px solid rgba(0,170,91,0.15);border-top-color:var(--primary-color);border-radius:50%;animation:spin 0.9s cubic-bezier(0.4,0,0.2,1) infinite;}
@keyframes spin{0%{transform:rotate(0deg);}
100%{transform:rotate(360deg);}
}
#searchProgress,#segmentProgress,#manualProgress{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
#searchProgress .spinner,#segmentProgress .spinner,#manualProgress .spinner{flex-shrink:0;}
/* 响应式设计 */
@media (max-width:1024px){.container{grid-template-columns:1fr;}
.results-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));}
}
body.loading{cursor:wait;}
/* 不再使用全屏黑底+蓝底白字 overlay，仅保留页面内 loading 区域 */
footer{display:block;width:100%;max-width:100%;box-sizing:border-box;margin-top:1rem;border-top:1px solid var(--medium-gray);padding:1rem;}
.footerWrapper{max-width:1500px;margin:0 auto;box-sizing:border-box;}
.footerWrapper::after{content:"";display:table;clear:both;}
.footerLinks{width:auto;height:auto;float:left;box-sizing:border-box;max-width:100%;}
.footerLinks ul{margin:0;padding:0;}
.footerLinks li{float:left;margin-right:2em;list-style:none;}
.footerLinks a{color:var(--primary-color);font-weight:700;text-decoration:none;}
.footerText{float:right;box-sizing:border-box;}
.footerText span{color:#333}
.fs-page-h1{font-size:1.35rem;font-weight:700;margin:0 0 0.35rem;color:var(--text-color);line-height:1.3;}
#footerHelp{font-size:1.2rem;font-weight:bold;margin:0;text-align:center;width:100%;padding:2rem 2rem 0.3rem 2rem;background:#fff;line-height:2.4rem;clear:both;box-sizing:border-box;}
#footerHelp>span{font-size:1.1rem;}
#footerHelpButton{display:inline-flex;align-items:center;gap:0.45rem;padding:0.5rem 1rem;color:#fff;border-radius:5px;background:linear-gradient(#2dcc7a,#00aa5b);text-shadow:none;border:1px solid #00aa5b;text-decoration:none;font-weight:bold;vertical-align:middle;}
#footerHelpButton:hover{filter:brightness(1.06);}
#footerHelpButton .fs-wa-icon{width:1.65rem;height:1.65rem;flex-shrink:0;}
@media (max-width:768px){.footerLinks,.footerText{float:none;width:100%;}
.footerLinks li{margin:0 1.2em 0.6em 0;}
.fs-page-h1{font-size:1.2rem;}
}
/* 样本链接样式 */
.sample-link{color:var(--primary-color);text-decoration:none;font-weight:600;cursor:pointer;transition:all 0.3s ease;}
.sample-link:hover{color:var(--secondary-color);text-decoration:underline;}
/* 样本横条模态框 */
.samples-modal-content{max-width:600px;width:95%;}
.samples-grid{display:flex;flex-direction:column;gap:12px;padding:20px;}
.sample-item{position:relative;width:100%;height:60px;overflow:hidden;border-radius:8px;cursor:pointer;transition:all 0.3s ease;border:2px solid var(--medium-gray);}
.sample-item:hover{transform:translateY(-2px);box-shadow:0 6px 12px rgba(0,0,0,0.2);border-color:var(--primary-color);}
.sample-item img{width:100%;height:100%;object-fit:cover;display:block;}
/* 大图查看模态框 */
.image-view-content{max-width:95vw;max-height:95vh;width:auto;background:transparent;box-shadow:none;}
.image-view-container{position:relative;display:flex;justify-content:center;align-items:center;max-width:95vw;max-height:95vh;}
.image-view-container img{max-width:100%;max-height:95vh;object-fit:contain;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,0.5);}
#imageViewModal{background-color:rgba(0,0,0,0.9);}
#imageViewModal .close-btn{position:fixed;top:20px;right:30px;font-size:40px;color:white;background:rgba(0,0,0,0.6);width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;}
#imageViewModal .close-btn:hover{background:rgba(255,0,0,0.8);transform:rotate(90deg);}
/* 响应式横条布局 */
@media (max-width:768px){.samples-modal-content{max-width:95%;}
.sample-item{height:50px;}
.samples-grid{max-height:80vh;overflow-y:auto;}
}
@media (max-width:480px){.samples-modal-content{max-width:98%;}
.sample-item{height:40px;}
.samples-grid{gap:10px;max-height:75vh;}
}
/* 多区域选择 */
.region-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:16px;}
.region-choice-card{cursor:pointer;border:2px solid var(--medium-gray);border-radius:10px;overflow:visible;transition:all 0.3s ease;background:var(--light-gray);position:relative;}
.region-choice-card:hover{border-color:var(--primary-color);box-shadow:0 6px 12px rgba(0,0,0,0.15);transform:translateY(-2px);}
.region-choice-media{position:relative;background:#fff;border-radius:8px 8px 0 0;overflow:hidden;}
.region-choice-media img{width:100%;height:120px;object-fit:contain;background:#fff;display:block;}
/* 旋转改由阈值预览右下角操作；卡片内按钮已移除，保留规则以防缓存旧 DOM */
.region-choice-rotate-btn{display:none!important;pointer-events:none!important;}
.region-choice-card .region-text{padding:10px;font-size:0.9rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.region-choice-card .region-meta{font-size:0.75rem;color:var(--dark-gray);padding:0 10px 4px;}
.region-choice-card-footer{display:flex;justify-content:flex-end;padding:0 10px 8px;}
.region-choice-confirm-hint{font-size:calc(0.65rem + 1px);color:var(--dark-gray);line-height:1.2;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 0.2s ease,visibility 0.2s ease;}
.region-choice-card:hover .region-choice-confirm-hint{opacity:0.9;visibility:visible;}
@media (hover:none){.region-choice-confirm-hint{opacity:0.9;visibility:visible;}
}
/* 字符分割结果弹窗 */
.segmentation-modal-body{max-height:60vh;overflow-y:auto;}
#segmentationModal .modal-actions{justify-content:flex-end;}
/* View character segmentation 按钮缩小 */
.btn-segment-shortcut{padding:10px 15px;font-size:1rem;}
.segment-stats-line{font-size:0.875rem;color:#555;margin-top:8px;}
.segment-stats-manual-link{color:orangered;text-decoration:underline;cursor:pointer;font-weight:700;}
.manual-identify-link{color:#c62828;text-decoration:underline;cursor:pointer;font-weight:700;}
.manual-identify-link:hover{color:#b71c1c;}
.selected-region-thumb-wrap{margin-top:10px;padding-top:10px;border-top:1px solid #eee;}
.selected-region-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.selected-region-label{font-size:0.875rem;color:#555;}
.selected-region-close-btn{background:#f0f0f0;border:1px solid #ccc;border-radius:4px;width:26px;height:26px;font-size:1.2rem;line-height:1;cursor:pointer;color:#555;padding:0;}
.selected-region-close-btn:hover{background:#e0e0e0;color:#333;}
.selected-region-frame{position:relative;display:inline-block;border:2px solid #888;border-radius:6px;padding:6px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,0.1);overflow:hidden;}
.selected-region-thumb{display:block;width:auto;height:auto;max-width:none;max-height:none;vertical-align:middle;}
/* 区域选择弹窗 */
.region-choice-modal-body{max-height:70vh;overflow-y:auto;padding:15px;}
/* Two-Character Compare (Debug) 弹窗 */
.compare-debug-modal-content{max-width:min(95vw,900px);}
.compare-debug-modal-content .modal-body{max-height:75vh;overflow-y:auto;overflow-x:hidden;padding:15px;}
.compare-debug-segments-wrap{margin-bottom:1rem;overflow:visible;}
.compare-debug-segments-grid{display:grid;grid-template-columns:repeat(10,minmax(56px,1fr));gap:8px;}
.compare-debug-hint{font-size:0.9rem;color:var(--dark-gray);margin:0 0 12px 0;padding:0 15px;}
@media (max-width:700px){.compare-debug-segments-grid{grid-template-columns:repeat(6,minmax(52px,1fr));}
}
.compare-slots{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:16px;}
.compare-slot label{display:block;font-weight:600;margin-bottom:6px;}
.compare-slot-preview{min-height:80px;border:2px dashed var(--medium-gray);border-radius:8px;display:flex;align-items:center;justify-content:center;background:#fff;position:relative;}
.compare-slot-placeholder{color:var(--dark-gray);font-size:0.9rem;}
.compare-slot-preview img{max-width:100%;max-height:120px;object-fit:contain;}
.compare-char-input{width:100%;margin-top:8px;padding:6px 10px;border:1px solid var(--medium-gray);border-radius:6px;font-size:1rem;text-align:center;}
.compare-result-area{margin-top:24px;padding:16px;background:#fff;border-radius:8px;border:1px solid var(--medium-gray);}
.compare-result-area h4{margin:0 0 12px 0;}
.compare-steps-table{width:100%;border-collapse:collapse;font-size:0.9rem;}
.compare-steps-table th,.compare-steps-table td{border:1px solid var(--medium-gray);padding:10px;text-align:center;vertical-align:middle;}
.compare-steps-table th{background:var(--light-gray);}
.compare-step-img{max-width:128px;max-height:128px;object-fit:contain;display:block;margin:0 auto;}
.compare-metrics{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;}
.compare-metric{padding:8px 12px;background:var(--light-gray);border-radius:6px;}
.compare-metric strong{display:block;font-size:0.8rem;color:var(--dark-gray);}
.segment-actions-set{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap;}
.segment-actions-set .btn-small{padding:4px 10px;font-size:0.75rem;}
/* 图像不够清晰提示（单字切割面积过小） */
.low-resolution-warning{background:#fff3cd;border:2px solid #ffc107;color:#856404;padding:12px 16px;margin-bottom:16px;border-radius:8px;font-weight:600;text-align:center;}
@media (max-width:600px){.compare-slots{grid-template-columns:1fr;}
}
