.results{
width:100%;
max-width:var(--pw1);
display:none;
}
.results.active{
display:block;
}
.result-card{
animation:cardIn 100ms ease;
position:relative;
scroll-margin-top:var(--gap);
}
@keyframes cardIn{
from{opacity:0}
to{opacity:1}
}
.result-card+.result-card{
border-top:none;
margin-top:8px;
}
.result-header{
display:flex;
align-items:center;
justify-content:space-between;
margin-top:20px;
margin-bottom:0;
}
.result-source{
font-size:0.85rem;
color:var(--cl2);
text-transform:uppercase;
letter-spacing:1px;
font-weight:600;
font-family:var(--ff2);
}
.result-media:empty{display:none;}
.result-media{
margin-bottom:24px;
position:relative;
}
.media-thumb{
max-width:100%;
height:auto;
cursor:pointer;
}
.result-title{
word-break:break-word;
overflow-wrap:break-word;
font-size:1.3rem;
font-weight:700;
margin-bottom:12px;
line-height:1.4;
font-family:var(--ff1);
}
.result-card.followup .result-title{
font-size:1rem;
font-weight:600;
font-family:var(--ff2);
color:var(--cl2);
margin-bottom:8px;
}
.result-title.quote{
border-left:3px solid var(--ac1);
padding-left:14px;
font-weight:500;
font-style:italic;
font-size:1.05rem;
color:var(--cl2);
font-family:var(--ff2);
line-height:1.6;
margin-bottom:16px;
margin-top:4px;
border-radius:0;
}
.result-body{
word-break:break-word;
overflow-wrap:break-word;
font-size:1.05rem;
line-height:1.75;
color:var(--cl2);
font-family:var(--ff1);
}
.result-body p{
margin-bottom:16px;
}
.result-body p:last-child{
margin-bottom:0;
}
.result-body li{
margin-bottom:8px;
}
.result-body table{
font-family:var(--ff1);
border-collapse:collapse;
width:100%;
margin:12px 0;
display:block;
overflow-x:auto;
}
.result-body table th,
.result-body table td{
padding:8px 12px;
text-align:left;
border:1px solid rgba(255,255,255,0.12);
white-space:nowrap;
}
.result-body table th{
background:rgba(255,255,255,0.06);
font-weight:600;
}
.result-body table tr:nth-child(even){
background:rgba(255,255,255,0.03);
}
.wide-table-wrap{
overflow-x:auto;
width:min(1000px,calc(100vw - 32px));
position:relative;
left:50%;
transform:translateX(-50%);
margin:12px 0;
}
.wide-table-wrap table{
display:table;
width:100%;
min-width:max-content;
margin:0;
}
.result-body h2,
.result-body h3,
.result-body h4{
font-family:var(--ff1);
color:var(--cl1);
margin:28px 0 12px;
line-height:1.3;
}
.result-body p+h2,
.result-body p+h3,
.result-body p+h4,
.result-body ul+h2,
.result-body ul+h3,
.result-body ul+h4,
.result-body ol+h2,
.result-body ol+h3,
.result-body ol+h4{
margin-top:28px;
}
.result-body hr{
border:none;
margin:20px 0;
}
.result-body strong{
color:var(--cl1);
}
.result-body a{
color:var(--lnk);
}
.result-body a strong,
.result-body strong a{
color:var(--lnk);
}
.collapsible-section{
margin-top:16px;
margin-bottom:16px;
background:rgba(255,255,255,0.02);
border-radius:0;
padding:14px 16px;
}
.collapsible-top{
display:flex;
align-items:center;
justify-content:space-between;
}
.collapsible-header{
display:inline-flex;
align-items:center;
gap:8px;
padding:10px 0;
cursor:pointer;
color:var(--cl3);
font-size:0.95rem;
font-family:var(--ff2);
font-weight:600;
letter-spacing:0.04em;
text-transform:uppercase;
background:none;
border:none;
border-radius:0;
transition:color 100ms;
}
.collapsible-header:hover{
color:var(--cl1);
text-decoration:underline;
}
.copy-transcript-btn{
display:table;
padding:6px 18px;
font-size:0.78rem;
font-family:var(--ff2);
font-weight:600;
background:transparent;
border:1px solid var(--bc1);
color:var(--cl3);
border-radius:100px;
cursor:pointer;
transition:background 100ms,color 100ms,border-color 100ms;
}
.copy-transcript-btn:hover{
background:var(--bg3);
color:var(--cl2);
}
.collapsible-arrow{
display:table;
width:9px;
height:9px;
border-right:2px solid currentColor;
border-bottom:2px solid currentColor;
transform:rotate(45deg);
transition:transform 100ms;
margin-left:8px;
margin-top:-1px;
}
.collapsible-header.collapsed .collapsible-arrow{
transform:rotate(-45deg);
}
.collapsible-content{
font-family:var(--ff1);
font-size:0.95rem;
line-height:1.7;
color:var(--cl2);
white-space:pre-wrap;
padding-bottom:12px;
text-align:left;
}
.result-actions{
display:flex;
flex-direction:column;
align-items:center;
gap:8px;
margin-top:20px;
width:100%;
}
.result-actions>.stream-done-row{
order:0;
}
.result-model-note{
margin-top:28px;
text-align:center;
font-family:var(--ff2);
font-size:0.82rem;
color:var(--cl3);
}
.source-link{
margin-top:16px;
padding-top:12px;
border-top:1px solid var(--border);
}
.source-link-item{margin-bottom:8px;}
.source-link-item:last-child{margin-bottom:0;}
.source-link a{
color:var(--ac1);
font-size:17px;
word-break:break-all;
}
.card-separator{
padding:16px 0;
}
.pdf-pages{
font-size:0.75rem;
color:var(--c3);
background:rgba(255,255,255,0.08);
padding:2px 8px;
border-radius:100px;
}
.pdf-view-link{
font-size:0.75rem;
color:var(--ac1);
text-decoration:none;
}
.pdf-view-link:hover{
text-decoration:underline;
}
.media-single{
text-align:center;
}
.media-single .media-grid-item{
width:auto;
max-width:300px;
display:inline-block;
}
.media-single .media-grid-item:has(img){
width:auto;
display:inline-block;
}
.media-single .media-grid-item:has(video){
width:auto;
display:inline-block;
}
.media-single .media-grid-item img{
max-width:300px;
max-height:200px;
width:auto;
height:auto;
object-fit:contain;
cursor:pointer;
display:block;
}
.media-single .media-grid-item video{
max-width:100%;
max-height:400px;
width:auto;
height:auto;
object-fit:contain;
display:block;
}
.media-single .media-grid-item.yt-short{
height:300px;
width:auto;
aspect-ratio:9/16;
margin:0;
}
.media-compact{
display:flex;
gap:8px;
}
.media-compact .media-grid-item{
width:120px;
height:120px;
flex-shrink:0;
}
.media-compact .media-grid-item img,
.media-compact .media-grid-item video{
width:100%;
height:100%;
object-fit:cover;
border-radius:0;
cursor:pointer;
}
.media-grid{
display:flex;
flex-wrap:wrap;
gap:6px;
}
.media-grid-item{
overflow:hidden;
position:relative;
}
.media-grid .media-grid-item{
width:128px;
height:128px;
flex:0 0 128px;
aspect-ratio:1/1;
}
.media-grid .media-grid-item img,
.media-grid .media-grid-item video{
height:100%;
width:100%;
object-fit:cover;
display:block;
}
.media-grid .media-grid-item img{
cursor:pointer;
}
.result-links{
margin-top:16px;
margin-bottom:0;
display:flex;
flex-direction:column;
gap:0;
overflow:hidden;
box-sizing:border-box;
}
.link-row{
display:flex;
align-items:center;
gap:8px;
}
.result-links a{
display:block;
color:#9aa0a6;
font-size:1rem;
font-family:var(--ff2);
text-decoration:none;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
min-width:0;
}
.result-links a:hover{
color:#8ab4f8;
text-decoration:underline;
}
.loading-spinner{
width:32px;
height:32px;
border:3px solid rgba(255,255,255,0.1);
border-top-color:var(--ac1);
border-radius:100px;
animation:spin 0.8s linear infinite;
}
@keyframes spin{
to{transform:rotate(360deg)}
}
.stream-cursor{
display:inline-block;
width:2px;
height:1em;
background:var(--ac1);
margin-left:2px;
animation:cursor-blink 0.8s step-end infinite;
vertical-align:text-bottom;
}
@keyframes cursor-blink{
50%{opacity:0}
}
.stream-done-row{
position:relative;
display:inline-flex;
align-items:center;
justify-content:center;
margin:0;
padding:0;
animation:donePulse 0.4s ease-out;
}
.stream-done-row::after{
content:attr(data-model);
position:absolute;
left:50%;
bottom:calc(100% + 10px);
transform:translateX(-50%);
background:var(--bg2);
color:var(--cl1);
padding:10px 16px;
font-size:15px;
font-weight:500;
font-family:var(--ff2);
white-space:nowrap;
opacity:0;
pointer-events:none;
transition:opacity 100ms;
z-index:80;
border-radius:0;
box-shadow:var(--bs2);
}
.stream-done-row:hover::after{
opacity:1;
}
.stream-done-icon{
width:22px;
height:22px;
flex-shrink:0;
mask-size:contain;
mask-repeat:no-repeat;
mask-position:center;
-webkit-mask-size:contain;
-webkit-mask-repeat:no-repeat;
-webkit-mask-position:center;
cursor:default;
}
@keyframes donePulse{
0%{transform:scale(0);opacity:0}
60%{transform:scale(1.15)}
100%{transform:scale(1);opacity:1}
}
.loading-label{
font-size:13px;
color:rgba(255,255,255,0.4);
letter-spacing:0.3px;
}
.loading-label-dots{display:inline-flex;align-items:center;gap:5px;height:13px;}
.loading-label-dots i{width:5px;height:5px;border-radius:50%;background:currentColor;display:inline-block;animation:loading-pulse 1.2s infinite ease-in-out both;}
.loading-label-dots i:nth-child(1){animation-delay:-0.32s;}
.loading-label-dots i:nth-child(2){animation-delay:-0.16s;}
@keyframes loading-pulse{0%,80%,100%{opacity:0.25;transform:scale(0.6);}40%{opacity:1;transform:scale(1);}}
.phase-status{
margin:12px 0 0 0;
background:var(--bg2);
font-family:var(--ff2);
font-size:17px;
color:var(--cl2);
}
.result-card > .phase-status{display:none!important;}
.phase-status [hidden]{display:none!important;}
.phase-status-row{
display:flex;
align-items:center;
gap:14px;
list-style:none;
user-select:none;
}
.phase-status-current{
flex:1;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
color:var(--cl1);
font-size:17px;
}
.phase-step-count{
font-size:17px;
color:var(--cl2);
display:inline-flex;
align-items:center;
gap:8px;
flex-shrink:0;
white-space:nowrap;
}
.phase-step-count::before{content:'>';display:inline-block;font-size:17px;line-height:1;color:var(--ac1);transition:transform 0.15s;width:14px;text-align:center;font-family:var(--ff3);font-weight:600;}
.phase-timer{
font-family:var(--ff3);
font-variant-numeric:tabular-nums;
color:var(--ac1);
font-weight:600;
font-size:17px;
flex-shrink:0;
}
.phase-status.phase-done .phase-status-current{color:var(--cl2);}
.phase-status.phase-done .phase-timer{color:#2ecc71;}
.phase-status.phase-failed .phase-timer{color:var(--ac1);}
.phase-step-list{
margin:0;
padding:0 16px 12px 16px;
list-style:none;
}
.phase-step-list li{
display:flex;
gap:12px;
padding:4px 0;
font-size:17px;
color:var(--cl2);
}
.phase-step-time{
font-family:var(--ff3);
font-variant-numeric:tabular-nums;
color:var(--cl3);
flex-shrink:0;
min-width:46px;
font-size:17px;
}
.phase-step-msg{flex:1;}
.phase-model-tag{
font-family:var(--ff3);
font-size:13px;
color:var(--cl2);
flex-shrink:0;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
max-width:180px;
}
.phase-status.phase-done .phase-model-tag{color:#2ecc71;}
.phase-status.phase-failed .phase-model-tag{color:#e74c3c;}
.phase-detail{padding:16px;display:flex;flex-direction:column;gap:14px;}
.phase-section{display:flex;flex-direction:column;gap:6px;}
.phase-section-title{
font-family:var(--ff3);
font-size:12px;
letter-spacing:0.6px;
text-transform:uppercase;
color:var(--cl3);
font-weight:600;
}
.phase-model-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;}
.phase-model-item{
display:flex;
flex-direction:column;
gap:4px;
}
.phase-model-item.phase-model-fallback{background:rgba(241,196,15,0.06);padding:8px 12px;}
.phase-model-head{
display:flex;
align-items:center;
gap:8px;
flex-wrap:wrap;
font-size:15px;
}
.phase-model-label{color:var(--cl3);font-size:13px;}
.phase-model-name{color:var(--cl1);font-weight:600;font-family:var(--ff3);}
.phase-model-route{
font-size:11px;
font-family:var(--ff3);
text-transform:uppercase;
letter-spacing:0.5px;
color:var(--ac1);
}
.phase-model-time{
margin-left:auto;
font-family:var(--ff3);
font-variant-numeric:tabular-nums;
color:var(--cl3);
font-size:13px;
}
.phase-model-reason{
color:var(--cl2);
font-size:1rem;
line-height:1.45;
}
.phase-step-model\:start,.phase-step-model\:fallback{color:var(--cl1);}
.phase-step-model\:fallback .phase-step-msg{color:#f1c40f;}
.phase-actions{display:flex;justify-content:flex-end;}
.phase-copy-btn{
font-family:var(--ff3);
font-size:15px;
color:var(--cl2);
background:rgba(255,255,255,0.04);
border:0;
padding:8px 16px;
cursor:pointer;
transition:background 0.15s,color 0.15s;
}
.phase-copy-btn:hover{background:rgba(255,255,255,0.08);color:var(--cl1);}
.phase-copy-btn.phase-copy-ok{color:#2ecc71;}
.phase-status.phase-has-model.phase-done,.phase-status.phase-has-model.phase-done *{font-size:1rem;font-family:var(--ff2);}
.media-single .media-grid-item.yt-landscape{
width:100%;
max-width:none;
aspect-ratio:16/9;
}
.lang-menu{
position:absolute;
top:0;
right:0;
z-index:10;
}
.lang-btn{
width:48px;
height:48px;
display:flex;
align-items:center;
justify-content:center;
background:none;
border:none;
color:var(--cl3);
cursor:pointer;
transition:color 100ms;
padding:0;
}
.lang-btn:hover{
color:var(--cl1);
}
.lang-btn svg{
width:28px;
height:28px;
}
.lang-dropdown{
display:none;
position:absolute;
top:56px;
right:0;
background:var(--bg2);
border:1px solid var(--bc1);
border-radius:0;
min-width:160px;
box-shadow:var(--bs1);
overflow:hidden;
}
.lang-dropdown.open{
display:flex;
flex-direction:column;
}
.lang-dropdown button{
display:flex;
align-items:center;
gap:8px;
padding:12px 18px;
background:none;
border:none;
color:var(--cl2);
font-size:1.1rem;
font-family:var(--ff2);
cursor:pointer;
text-align:left;
transition:background 100ms,color 100ms;
}
.lang-dropdown button:hover{
background:var(--bg3);
color:var(--cl1);
}
.lang-dropdown button.active{
color:var(--ac1);
}
.translating .result-body{
opacity:0.4;
transition:opacity 100ms;
}
.media-grid-item.yt-active,
.media-single .media-grid-item.yt-active{
width:100%;
border-radius:0;
background:#000;
height:auto;
max-height:400px;
aspect-ratio:16/9;
position:relative;
overflow:hidden;
}
.media-grid-item.yt-active iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
border:0;
border-radius:0;
}
.result-body ul,
.result-body ol{
list-style:none;
padding-left:14px;
}
.result-body ul>li{
list-style:none;
position:relative;
padding-left:22px;
display:block;
}
.result-body ol>li{
list-style:none;
position:relative;
padding-left:32px;
display:block;
}
.result-body .li-bullet,
.result-body .li-num{
position:absolute;
color:var(--cl3);
user-select:none;
-webkit-user-select:none;
pointer-events:none;
}
.result-body .li-num{
top:0;
left:0;
width:26px;
text-align:right;
line-height:1.75;
}
.result-body .li-bullet{
top:0.66em;
left:4px;
width:0.4em;
height:0.4em;
background:var(--cl3);
border-radius:100px;
color:transparent;
overflow:hidden;
}
.suggestion-chips{
margin-top:16px;
padding-top:12px;
}
.suggestion-chip{
display:block;
padding:2px 0;
font-size:1rem;
font-family:var(--ff2);
background:none;
border:none;
color:var(--lnk);
cursor:pointer;
text-align:left;
line-height:1.4;
text-decoration:none;
text-underline-offset:3px;
text-decoration-thickness:1px;
}
.suggestion-chip:hover{
color:var(--lnk);
text-decoration:underline;
}
.result-files{
margin:12px 0 8px;
border:1px solid rgba(255,255,255,0.1);
border-radius:0;
overflow:hidden;
}
.result-files-hdr{
padding:8px 12px;
font-size:0.8rem;
font-weight:600;
color:var(--cl3);
text-transform:uppercase;
letter-spacing:0.05em;
background:rgba(255,255,255,0.04);
border-bottom:1px solid rgba(255,255,255,0.08);
font-family:var(--ff2);
}
.result-file{
display:flex;
align-items:center;
gap:8px;
padding:8px 12px;
border-bottom:1px solid rgba(255,255,255,0.05);
font-family:var(--ff2);
}
.result-file:last-child{
border-bottom:none;
}
.result-file .file-icon{
font-size:1.1em;
flex-shrink:0;
}
.result-file a{
color:var(--cl2);
text-decoration:none;
font-size:0.9rem;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
flex:1;
}
.result-file a:hover{
color:var(--cl1);
text-decoration:underline;
}
.result-file .file-size{
color:var(--cl3);
font-size:0.8rem;
flex-shrink:0;
opacity:0.7;
}
.tool-result{
padding:8px 0;
}
.tool-result p{
margin:0 0 12px;
color:var(--cl2);
font-size:0.95rem;
}
.tool-result .tool-meta{
color:var(--cl3);
font-size:0.8rem;
margin-bottom:12px;
opacity:0.7;
}
.tool-download-btn{
display:inline-block;
padding:8px 20px;
background:var(--ac1);
color:#fff;
border-radius:100px;
text-decoration:none;
font-size:0.9rem;
font-weight:600;
transition:opacity 100ms;
}
.tool-download-btn:hover{
opacity:0.85;
}
.qr-result .media-single img{
max-width:360px;
image-rendering:pixelated;
}
.speed-result{text-align:center;padding:20px 0;}
.speed-gauges{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin:16px 0;}
.speed-gauge{flex:1;min-width:140px;max-width:200px;background:var(--bg2);border-radius:0;padding:20px 16px;text-align:center;}
.speed-gauge .gauge-label{font-size:0.75rem;color:var(--cl3);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:8px;}
.speed-gauge .gauge-value{font-size:2rem;font-weight:700;color:var(--cl1);font-family:var(--ff2);line-height:1.1;}
.speed-gauge .gauge-unit{font-size:0.8rem;color:var(--cl3);margin-top:4px;}
.speed-gauge.testing .gauge-value{animation:pulse-val 0.8s ease-in-out infinite;}
@keyframes pulse-val{0%,100%{opacity:1;}50%{opacity:0.4;}}
.speed-bar{height:6px;background:var(--bg3);border-radius:0;margin:20px 0 8px;overflow:hidden;}
.speed-bar-fill{height:100%;background:linear-gradient(90deg,var(--ac1),#ff8844);border-radius:0;transition:width 100ms ease;width:0%;}
.speed-status{font-size:0.85rem;color:var(--cl3);margin-bottom:12px;}
.speed-btn{display:inline-block;padding:10px 28px;background:var(--ac1);color:#fff;border:none;border-radius:100px;font-size:0.95rem;font-weight:600;cursor:pointer;transition:opacity 100ms;font-family:var(--ff2);margin-top:12px;}
.speed-btn:hover{opacity:0.85;}
.speed-btn:disabled{opacity:0.5;cursor:not-allowed;}
.ip-result{padding:12px 0;}
.ip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:12px 0;}
.ip-item{background:var(--bg2);border-radius:0;padding:14px 16px;}
.ip-item .ip-label{font-size:0.7rem;color:var(--cl3);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;}
.ip-item .ip-value{font-size:1.05rem;color:var(--cl1);font-family:var(--ff2);word-break:break-all;}
.ip-item.ip-main{grid-column:1/-1;text-align:center;}
.ip-item.ip-main .ip-value{font-size:1.8rem;font-weight:700;font-family:var(--ff3);}
.password-result{padding:12px 0;}
.password-display{background:var(--bg2);border-radius:0;padding:16px 20px;font-family:var(--ff3);font-size:1.3rem;color:var(--cl1);word-break:break-all;text-align:center;margin:12px 0;user-select:all;cursor:pointer;position:relative;letter-spacing:0.02em;}
.password-display:hover::after{content:'Click to copy';position:absolute;top:-28px;left:50%;transform:translateX(-50%);font-size:0.7rem;color:var(--cl3);font-family:var(--ff2);}
.password-options{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:12px 0;}
.password-options label{font-size:0.85rem;color:var(--cl2);display:flex;align-items:center;gap:6px;cursor:pointer;}
.password-options input[type="checkbox"]{accent-color:var(--ac1);}
.password-options input[type="range"]{accent-color:var(--ac1);width:120px;}
.password-strength{height:4px;border-radius:0;margin:8px 0 16px;background:var(--bg3);}
.password-strength-fill{height:100%;border-radius:0;transition:width 100ms, background 100ms;}
.dice-result{text-align:center;padding:20px 0;}
.dice-display{font-size:4rem;margin:16px 0;line-height:1.2;}
.dice-label{font-size:1.2rem;color:var(--cl2);margin-bottom:16px;}
.dice-btn{display:inline-block;padding:10px 24px;background:var(--ac1);color:#fff;border:none;border-radius:100px;font-size:0.95rem;font-weight:600;cursor:pointer;transition:all 100ms;font-family:var(--ff2);margin:4px;}
.dice-btn:hover{opacity:0.85;}
@keyframes dice-spin{0%{transform:rotate(0deg) scale(1);}50%{transform:rotate(180deg) scale(1.2);}100%{transform:rotate(360deg) scale(1);}}
.dice-rolling{animation:dice-spin 0.4s ease-in-out;}
.timer-result{text-align:center;padding:20px 0;}
.timer-display{font-size:3.5rem;font-weight:700;font-family:var(--ff3);color:var(--cl1);margin:16px 0;letter-spacing:0.05em;}
.timer-controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:12px 0;}
.timer-btn{padding:8px 20px;background:var(--bg3);color:var(--cl1);border:1px solid var(--bc1);border-radius:100px;font-size:0.9rem;cursor:pointer;font-family:var(--ff2);transition:all 100ms;}
.timer-btn:hover{background:var(--bc1);}
.timer-btn.active{background:var(--ac1);color:#fff;border-color:var(--ac1);}
.timer-presets{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:8px 0;}
.timer-preset{padding:6px 14px;background:var(--bg2);color:var(--cl2);border:1px solid var(--bc1);border-radius:100px;font-size:0.8rem;cursor:pointer;font-family:var(--ff2);transition:all 100ms;}
.timer-preset:hover{border-color:var(--ac1);color:var(--ac1);}
.palette-result{padding:12px 0;}
.palette-colors{display:flex;border-radius:0;overflow:hidden;height:120px;margin:12px 0;}
.palette-swatch{flex:1;cursor:pointer;position:relative;transition:flex 100ms;}
.palette-swatch:hover{flex:1;}
.palette-swatch .swatch-hex{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-size:0.7rem;font-family:var(--ff3);color:#fff;background:rgba(0,0,0,0.5);padding:2px 8px;border-radius:0;opacity:0;transition:opacity 100ms;white-space:nowrap;}
.palette-swatch:hover .swatch-hex{opacity:1;}
.palette-info{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0;}
.palette-chip{display:flex;align-items:center;gap:8px;background:var(--bg2);border-radius:0;padding:8px 12px;cursor:pointer;transition:opacity 100ms;}
.palette-chip:hover{opacity:1;}
.palette-chip .chip-dot{width:20px;height:20px;border-radius:100px;flex-shrink:0;}
.palette-chip .chip-hex{font-family:var(--ff3);font-size:0.85rem;color:var(--cl2);}
.convert-result{padding:12px 0;}
.convert-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:12px 0;}
.convert-input{background:var(--bg2);border:1px solid var(--bc1);border-radius:0;padding:12px 16px;color:var(--cl1);font-size:1.2rem;font-family:var(--ff3);width:100%;text-align:center;}
.convert-input:focus{outline:none;border-color:var(--ac1);}
.convert-arrow{color:var(--cl3);font-size:1.5rem;}
.convert-select{background:var(--bg2);border:1px solid var(--bc1);border-radius:0;padding:8px 12px;color:var(--cl1);font-size:0.9rem;font-family:var(--ff2);width:100%;}
.convert-categories{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;}
.convert-cat{padding:6px 14px;background:var(--bg2);color:var(--cl2);border:1px solid var(--bc1);border-radius:100px;font-size:0.8rem;cursor:pointer;font-family:var(--ff2);transition:all 100ms;}
.convert-cat:hover,.convert-cat.active{border-color:var(--ac1);color:var(--ac1);}
.textcount-result{padding:12px 0;}
.textcount-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:12px 0;}
.textcount-item{background:var(--bg2);border-radius:0;padding:14px 16px;text-align:center;}
.textcount-item .tc-value{font-size:1.8rem;font-weight:700;color:var(--cl1);font-family:var(--ff2);}
.textcount-item .tc-label{font-size:0.7rem;color:var(--cl3);text-transform:uppercase;letter-spacing:0.05em;margin-top:4px;}
.textcount-textarea{width:100%;min-height:120px;background:var(--bg2);border:1px solid var(--bc1);border-radius:0;padding:12px;color:var(--cl1);font-size:0.95rem;font-family:var(--ff2);resize:vertical;margin-bottom:12px;}
.textcount-textarea:focus{outline:none;border-color:var(--ac1);}
.whois-result{padding:12px 0;}
.whois-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0;}
.whois-item{background:var(--bg2);border-radius:0;padding:12px 16px;}
.whois-item .whois-label{font-size:0.7rem;color:var(--cl3);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;}
.whois-item .whois-value{font-size:0.95rem;color:var(--cl1);font-family:var(--ff2);}
.whois-raw{background:var(--bg2);border-radius:0;padding:12px 16px;font-family:var(--ff3);font-size:0.75rem;color:var(--cl3);max-height:200px;overflow-y:auto;white-space:pre-wrap;margin-top:12px;display:none;}
.whois-toggle{font-size:0.8rem;color:var(--lnk);cursor:pointer;margin-top:8px;display:inline-block;}
.whois-toggle:hover{text-decoration:underline;}
.hash-result{padding:12px 0;}
.hash-input{width:100%;min-height:80px;background:var(--bg2);border:1px solid var(--bc1);border-radius:0;padding:12px;color:var(--cl1);font-size:0.95rem;font-family:var(--ff2);resize:vertical;margin-bottom:12px;}
.hash-input:focus{outline:none;border-color:var(--ac1);}
.hash-list{display:flex;flex-direction:column;gap:8px;}
.hash-row{background:var(--bg2);border-radius:0;padding:10px 14px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:opacity 100ms;}
.hash-row:hover{opacity:1;}
.hash-row .hash-algo{font-size:0.75rem;color:var(--cl3);text-transform:uppercase;min-width:60px;font-weight:600;}
.hash-row .hash-val{font-family:var(--ff3);font-size:0.8rem;color:var(--cl2);word-break:break-all;flex:1;}
.dice-clickable{cursor:pointer;transition:transform 100ms ease;user-select:none;}
.dice-clickable:hover{transform:none;}
.dice-clickable:active,.dice-clickable.dice-pressed{transform:scale(0.85);}
.eightball-ball{
width:180px;
height:180px;
background:radial-gradient(circle at 40% 35%,#444,#111);
border-radius:100px;
margin:0 auto 16px;
position:relative;
cursor:pointer;
transition:transform 100ms;
display:flex;
align-items:center;
justify-content:center;
}
.eightball-clickable:active{
transform:scale(0.9);
}
.eightball-window{
width:90px;
height:90px;
background:radial-gradient(circle,#1a1a4e,#0a0a2a);
border-radius:100px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
padding:8px;
}
.eightball-triangle{
font-size:1.2rem;
color:#4466ff;
transition:opacity 100ms;
}
.eightball-answer{
font-size:0.65rem;
text-align:center;
font-weight:700;
transition:opacity 100ms;
line-height:1.2;
}
.eightball-positive{color:#4cff4c;}
.eightball-neutral{color:#ffcc00;}
.eightball-negative{color:#ff4444;}
.eightball-eight{
position:absolute;
bottom:12px;
font-size:2rem;
font-weight:900;
color:#fff;
opacity:0.15;
}
@keyframes eightball-shake{
0%,100%{transform:rotate(0deg);}
10%{transform:rotate(-8deg);}
20%{transform:rotate(8deg);}
30%{transform:rotate(-6deg);}
40%{transform:rotate(6deg);}
50%{transform:rotate(-3deg);}
60%{transform:rotate(3deg);}
70%{transform:rotate(-1deg);}
80%{transform:rotate(1deg);}
}
.eightball-shaking{
animation:eightball-shake 0.8s ease;
}
.wheel-container{
position:relative;
width:300px;
margin:0 auto;
}
.wheel-canvas{
display:block;
margin:0 auto;
cursor:pointer;
}
.wheel-pointer{
position:absolute;
top:-5px;
left:50%;
transform:translateX(-50%);
font-size:1.8rem;
color:var(--cl1);
z-index:2;
filter:drop-shadow(0 2px 3px rgba(0,0,0,0.5));
}
.wheel-result-text{
text-align:center;
font-size:1.8rem;
font-weight:800;
margin:16px 0;
min-height:2rem;
}
.wheel-options-edit{
margin-top:12px;
}
.wheel-options-input{
width:100%;
min-height:80px;
background:var(--bg2);
border:1px solid var(--br);
color:var(--cl1);
padding:8px;
font-size:0.85rem;
resize:vertical;
border-radius:0;
}
.uuid-row{
display:flex;
align-items:center;
justify-content:space-between;
padding:10px 12px;
background:var(--bg2);
border:1px solid var(--br);
margin-bottom:4px;
cursor:pointer;
font-family:monospace;
font-size:0.85rem;
transition:background 100ms;
}
.uuid-row:hover{background:transparent;
background:var(--bg3);
}
.uuid-val{
color:var(--cl1);
}
.uuid-copied{
color:var(--ac1);
font-size:0.75rem;
opacity:0;
transition:opacity 100ms;
}
.base64-tabs{
display:flex;
gap:0;
margin-bottom:12px;
}
.base64-tab{
flex:1;
text-align:center;
padding:8px;
cursor:pointer;
background:var(--bg2);
border:1px solid var(--br);
color:var(--cl3);
font-size:0.85rem;
font-weight:600;
transition:all 100ms;
border-radius:100px;
}
.base64-tab.active{
background:var(--ac1);
color:#fff;
border-color:var(--ac1);
}
.base64-input{
width:100%;
min-height:60px;
background:var(--bg2);
border:1px solid var(--br);
color:var(--cl1);
padding:10px;
font-size:0.85rem;
font-family:monospace;
resize:vertical;
border-radius:0;
}
.base64-arrow{
text-align:center;
font-size:1.5rem;
color:var(--cl3);
margin:8px 0;
}
.base64-output{
padding:10px;
background:var(--bg2);
border:1px solid var(--br);
color:var(--ac1);
font-family:monospace;
font-size:0.85rem;
word-break:break-all;
min-height:40px;
cursor:pointer;
transition:border-color 100ms;
}
.json-input{
width:100%;
min-height:100px;
background:var(--bg2);
border:1px solid var(--br);
color:var(--cl1);
padding:10px;
font-size:0.85rem;
font-family:monospace;
resize:vertical;
border-radius:0;
}
.json-actions{
display:flex;
gap:8px;
margin:8px 0;
justify-content:center;
}
.json-output{
padding:10px;
background:var(--bg2);
border:1px solid var(--br);
color:var(--cl2);
font-family:monospace;
font-size:0.8rem;
max-height:400px;
overflow:auto;
white-space:pre-wrap;
word-break:break-all;
}
.json-status{
margin-top:6px;
font-size:0.8rem;
font-weight:600;
text-align:center;
}
.countdown-label{
text-align:center;
font-size:1.1rem;
font-weight:600;
color:var(--cl2);
margin-bottom:16px;
text-transform:capitalize;
}
.countdown-display{
display:flex;
align-items:center;
justify-content:center;
gap:4px;
}
.countdown-unit{
display:flex;
flex-direction:column;
align-items:center;
padding:12px 16px;
background:var(--bg2);
border:1px solid var(--br);
min-width:70px;
}
.cd-val{
font-size:2.5rem;
font-weight:800;
color:var(--cl1);
line-height:1;
}
.cd-lbl{
font-size:0.7rem;
color:var(--cl3);
text-transform:uppercase;
margin-top:4px;
}
.countdown-sep{
font-size:2rem;
font-weight:800;
color:var(--cl3);
}
.colorconv-preview{
border:1px solid var(--br);
}
.colorconv-grid{
display:flex;
flex-direction:column;
gap:8px;
}
.colorconv-row{
display:flex;
align-items:center;
gap:10px;
}
.colorconv-row label{
width:40px;
font-size:0.8rem;
font-weight:700;
color:var(--cl3);
}
.colorconv-row .convert-input{
flex:1;
font-family:monospace;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
input[type=number]{-moz-appearance:textfield;}
body.modal-open{
overflow:hidden;
}
.text-modal-overlay{
position:fixed;
inset:0;
background:rgba(0,0,0,.6);
z-index:9999;
display:flex;
justify-content:flex-end;
animation:tm-in 120ms ease;
}
@keyframes tm-in{from{opacity:0}to{opacity:1}}
@keyframes tm-slide{from{transform:translateX(100%)}to{transform:translateX(0)}}
.text-modal{
width:min(620px,90vw);
height:100%;
background:var(--bgc);
display:flex;
flex-direction:column;
animation:tm-slide 200ms cubic-bezier(.16,1,.3,1);
border-left:1px solid var(--bc1);
}
.text-modal-header{
display:flex;
align-items:center;
justify-content:space-between;
padding:16px 20px;
border-bottom:1px solid var(--bc1);
flex-shrink:0;
}
.text-modal-title{
font-family:var(--ff2);
font-size:0.8rem;
font-weight:600;
text-transform:uppercase;
letter-spacing:0.05em;
color:var(--cl3);
}
.text-modal-actions{
display:flex;
align-items:center;
gap:8px;
}
.text-modal-act{
width:42px;
height:42px;
background:none;
border:none;
color:var(--cl3);
cursor:pointer;
padding:0;
border-radius:100px;
display:flex;
align-items:center;
justify-content:center;
transition:background 100ms,color 100ms,border-color 100ms,transform 140ms cubic-bezier(0.34,1.56,0.64,1),box-shadow 140ms;
}
.text-modal-act:hover{
background:var(--bg3);
color:var(--cl1);
}
.text-modal-act:active{transform:scale(0.92);}
.text-modal-act.tm-act-copied,.text-modal-act.tm-act-copied:hover{
background:rgba(240,85,51,0.18);
color:var(--ac1);
transform:scale(0.84);
box-shadow:0 0 0 2px rgba(240,85,51,0.4);
}
.text-modal-src{
width:42px;
height:42px;
color:var(--cl3);
padding:0;
border:none;
border-radius:100px;
display:flex;
align-items:center;
justify-content:center;
transition:background 100ms,color 100ms,border-color 100ms;
text-decoration:none;
}
.text-modal-src:hover{
background:var(--bg3);
color:var(--ac1);
}
.text-modal-body{
flex:1;
overflow-y:auto;
overscroll-behavior:contain;
padding:var(--gap);
font-family:var(--ff1);
font-size:1.05rem;
line-height:1.75;
color:var(--cl1);
white-space:pre-wrap;
word-break:break-word;
}
.text-modal-section-label{
font-family:var(--ff2);
font-size:0.75rem;
font-weight:600;
text-transform:uppercase;
letter-spacing:0.05em;
color:var(--cl3);
margin-bottom:8px;
padding-bottom:6px;
border-bottom:1px solid var(--bc1);
}
.text-modal-section-label:not(:first-child){
margin-top:20px;
}
.log-modal-body{
padding:0;
}
.log-modal-pre{
background:none;
border:0;
border-radius:0;
margin:0;
padding:16px 20px;
font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
font-size:12px;
line-height:1.5;
color:var(--cl1);
white-space:pre-wrap;
word-break:break-word;
}
.chill-img{
margin:4px 0 14px;
display:inline-block;
position:relative;
}
.chill-img img{
display:block;
max-width:360px;
max-height:320px;
width:auto;
height:auto;
transition:opacity 100ms;
}
.chill-img img:hover{
opacity:0.92;
}
.chill-img.loading{
width:360px;
height:200px;
border-radius:0;
border:1px solid var(--cl2);
background:var(--cl1);
display:flex;
align-items:center;
justify-content:center;
}
.chill-img-spinner{
width:28px;
height:28px;
border:3px solid var(--cl2);
border-top-color:var(--cl3);
border-radius:100px;
animation:chill-spin 0.8s linear infinite;
}
@keyframes chill-spin{
to{transform:rotate(360deg);}
}
.chill-img-source{
display:inline-block;
font-size:11px;
color:var(--cl3);
opacity:0.55;
text-decoration:none;
margin-top:4px;
padding:2px 0;
}
.chill-img-source:hover{
opacity:1;
text-decoration:underline;
}
.page-cite{
display:inline-block;
padding:0 6px;
margin:0 2px;
background:rgba(80,140,220,0.12);
color:#2a67b8;
border:1px solid rgba(80,140,220,0.35);
border-radius:0;
font-size:0.82em;
font-weight:600;
cursor:pointer;
line-height:1.4;
vertical-align:baseline;
transition:background 100ms;
}
.page-cite:hover{
background:rgba(80,140,220,0.22);
}
.pdf-meta{
display:flex;
flex-wrap:wrap;
gap:10px;
align-items:center;
margin:6px 0 10px;
font-size:0.88em;
color:#666;
}
.pdf-truncated{
color:#a85;
background:rgba(200,160,60,0.1);
border:1px solid rgba(200,160,60,0.3);
padding:2px 8px;
border-radius:0;
font-size:0.85em;
}
.pdf-filename{
color:var(--cl2);
font-weight:500;
max-width:260px;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
.verify-btn{color:#2a67b8;}
.verify-btn:hover{color:#1a4fa0;}
.pdf-view-btn{color:#2a67b8;}
.pdf-view-btn:hover{color:#1a4fa0;}
.text-modal.pdf-drawer{
width:min(760px,92vw);
display:flex;
flex-direction:column;
}
.pdf-drawer-body{
padding:0;
white-space:normal;
background:var(--bg2,#f5f5f5);
flex:1 1 auto;
overflow-y:scroll;
overflow-x:hidden;
min-height:0;
scrollbar-width:thin;
scrollbar-color:#555 #222;
}
.pdf-drawer-body::-webkit-scrollbar{width:6px;height:6px;}
.pdf-drawer-body::-webkit-scrollbar-track{background:#222;}
.pdf-drawer-body::-webkit-scrollbar-thumb{background:#555;border-radius:3px;}
.pdf-drawer-body::-webkit-scrollbar-thumb:hover{background:#777;}
.pdf-drawer-footer{
flex:0 0 auto;
padding:10px 16px;
border-top:1px solid var(--bc1);
font-family:var(--ff2);
font-size:0.78rem;
font-weight:600;
letter-spacing:0.04em;
text-transform:uppercase;
color:var(--cl3);
text-align:center;
background:var(--bg1);
}
.pdf-drawer-page{
margin:0;
width:100%;
scroll-margin-top:0;
border-radius:0;
transition:box-shadow 100ms,outline-color 100ms;
outline:2px solid transparent;
position:relative;
background:#fff;
border-bottom:1px solid var(--bc1);
box-sizing:content-box;
}
.pdf-drawer-page:last-child{border-bottom:none;}
.pdf-drawer-page canvas{
display:block;
width:100%;
height:100%;
}
.pdf-drawer-loading{
padding:40px 20px;
text-align:center;
color:var(--cl3);
font-family:var(--ff2);
font-size:0.9rem;
}
.pdf-hl-layer{
display:none;
}
.pdf-hl-box{
position:absolute;
background:rgba(255,225,0,0.38);
border-bottom:2px solid rgba(220,160,0,0.85);
mix-blend-mode:multiply;
border-radius:1px;
animation:pdf-hl-pulse 1.2s ease-out 1;
}
@keyframes pdf-hl-pulse{
0%{background:rgba(255,225,0,0.85);}
100%{background:rgba(255,225,0,0.38);}
}
.textLayer{
position:absolute;
text-align:initial;
inset:0;
overflow:clip;
opacity:1;
line-height:1;
-webkit-text-size-adjust:none;
text-size-adjust:none;
forced-color-adjust:none;
transform-origin:0 0;
caret-color:CanvasText;
z-index:1;
}
.textLayer :is(span,br){
color:transparent;
position:absolute;
white-space:pre;
cursor:text;
transform-origin:0% 0%;
}
.textLayer > :not(.markedContent),.textLayer .markedContent span:not(.markedContent){
z-index:1;
}
.textLayer span.markedContent{
top:0;
height:0;
}
.textLayer span[role="img"]{
user-select:none;
cursor:default;
}
.textLayer ::selection{
background:rgba(0,100,255,0.28);
}
.textLayer br::selection{
background:transparent;
}
.textLayer .endOfContent{
display:block;
position:absolute;
inset:100% 0 0;
z-index:0;
cursor:default;
user-select:none;
}
.textLayer.selecting .endOfContent{
top:0;
}
.pdf-drawer-page.pdf-drawer-page-flash{
outline-color:rgba(80,140,220,0.65);
box-shadow:0 0 0 4px rgba(80,140,220,0.18);
}
@media (min-width:1100px){
body.pdf-split-mode{--pdf-drawer-w:min(calc(50vw - 32px),800px);--pdf-drawer-zone:calc(var(--pdf-drawer-w) + 32px);}
body.pdf-split-mode .text-modal-overlay.pdf-drawer-overlay{
position:fixed;
top:0;
right:0;
bottom:0;
left:auto;
width:calc(var(--pdf-drawer-zone) + 16px);
background:transparent;
pointer-events:none;
animation:none;
display:block;
}
body.pdf-split-mode .text-modal-overlay.pdf-drawer-overlay .text-modal.pdf-drawer{
pointer-events:auto;
position:fixed;
top:16px;
right:16px;
bottom:16px;
left:auto;
width:var(--pdf-drawer-w);
max-width:800px;
height:auto;
border:1px solid var(--bc1);
border-radius:var(--br1);
box-shadow:var(--bs1);
overflow:hidden;
animation:tm-slide 200ms cubic-bezier(.16,1,.3,1);
}
body.pdf-split-mode main{
padding-right:var(--pdf-drawer-zone);
transition:padding-right 100ms ease;
}
body.pdf-split-mode main.has-results .input-box{
left:calc((100vw - var(--pdf-drawer-zone)) / 2);
transform:translateX(-50%);
max-width:calc(100vw - var(--pdf-drawer-zone) - 48px);
width:calc(100vw - var(--pdf-drawer-zone) - 48px);
}
}
.pdf-float-btn{
position:fixed;
top:84px;
right:24px;
width:52px;
height:52px;
display:flex;
align-items:center;
justify-content:center;
background:transparent;
border:none;
border-radius:100px;
color:var(--cl2);
cursor:pointer;
transition:background 100ms,color 100ms;
}
.pdf-float-btn:hover{
background:var(--bg3);
color:var(--cl1);
}
.pdf-float-btn svg{
width:26px;
height:26px;
}
body.pdf-drawer-open .pdf-float-btn{
display:none;
}
.text-float-btn{
position:fixed;
bottom:24px;
right:24px;
width:var(--iz1);
height:var(--iz1);
display:flex;
align-items:center;
justify-content:center;
background:transparent;
border:none;
border-radius:100px;
color:var(--cl2);
cursor:pointer;
transition:background 100ms,color 100ms;
}
.text-float-btn:hover{
background:var(--bg3);
color:var(--cl1);
}
.text-float-btn svg{
width:22px;
height:22px;
}
body.text-modal-open .text-float-btn{
display:none;
}
.sel-popup{
position:fixed;
z-index:100;
display:flex;
gap:1px;
background:var(--bc1);
box-shadow:var(--bs1);
border-radius:0;
overflow:hidden;
user-select:none;
}
.sel-btn{
background:var(--bg3);
color:var(--cl1);
border:none;
border-radius:0;
font-family:var(--ff2);
font-size:13px;
font-weight:600;
letter-spacing:.02em;
padding:8px 14px;
cursor:pointer;
line-height:1;
}
.sel-btn:hover{
background:var(--ac1);
color:#fff;
}
.phishing-standalone{
margin:0 auto 16px auto;
padding:14px 18px;
background:var(--bg2);
color:var(--cl1);
box-shadow:var(--bs2);
line-height:1.75;
width:100%;
max-width:1400px;
box-sizing:border-box;
}
.phishing-standalone .phishing-details a{color:var(--ac1);text-decoration:underline;cursor:pointer;}
.phishing-standalone .phishing-details a:hover,.phishing-standalone .phishing-details a:focus,.phishing-standalone .phishing-details a:active{opacity:1;color:var(--ac1);}
.phishing-standalone .phishing-details .phishing-deadlink{color:inherit;text-decoration:none;cursor:text;word-break:break-all;user-select:text;}
.phishing-standalone .phishing-unsub-link:hover,.phishing-standalone .phishing-unsub-link:focus,.phishing-standalone .phishing-unsub-link:active{opacity:1;color:var(--ac1);}
.phishing-standalone .phishing-top{display:block;padding:10px 0;}
.phishing-standalone .phishing-details{display:block;padding-bottom:10px;}
.phishing-standalone .phishing-header{
display:flex;
align-items:center;
gap:10px;
margin-bottom:0;
min-height:26px;
}
.phishing-standalone .phishing-icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:22px;
height:22px;
border-radius:50%;
font-size:1rem;
font-weight:700;
color:#fff;
flex:0 0 auto;
}
.phishing-standalone .phishing-verdict{
flex:1;
font-family:var(--ff2);
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
}
.phishing-tree-label{font-family:var(--ff2);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--cl3);opacity:.75;padding:8px 0 0 0;margin:0;font-weight:600;}
.phishing-standalone+.phishing-standalone{margin-top:-10px;}
.phishing-pending{
border-color:#4dabf7;
background:rgba(77,171,247,.08);
}
.phishing-pending-inner{
display:flex;
align-items:center;
gap:10px;
color:var(--cl2);
font-weight:600;
}
.phishing-spinner{
width:14px;
height:14px;
border:2px solid rgba(77,171,247,.25);
border-top-color:#4dabf7;
border-radius:50%;
animation:phishing-spin .9s linear infinite;
flex:0 0 auto;
}
@keyframes phishing-spin{to{transform:rotate(360deg);}}
.phishing-legit{background:rgba(47,158,68,.08);}
.phishing-legit .phishing-icon{background:#2f9e44;}
.phishing-legit .phishing-verdict{color:#69db7c;}
.phishing-suspicious{background:rgba(245,159,0,.10);}
.phishing-suspicious .phishing-icon{background:#f59f00;}
.phishing-suspicious .phishing-verdict{color:#ffd43b;}
.phishing-scam{background:rgba(201,42,42,.14);}
.phishing-scam .phishing-icon{background:#c92a2a;}
.phishing-scam .phishing-verdict{color:#ff6b6b;}
.phishing-unavailable{background:rgba(120,130,150,.10);}
.phishing-unavailable .phishing-icon{background:#5a6270;}
.phishing-unavailable .phishing-verdict{color:#adb5bd;}
.phishing-standalone .phishing-summary{
margin:4px 0 10px 0;
color:var(--cl1);
}
.phishing-standalone .phishing-flags-title{
font-family:var(--ff2);
font-weight:700;
font-size:11px;
letter-spacing:.06em;
text-transform:uppercase;
margin:8px 0 4px 0;
}
.phishing-standalone .phishing-flags-title-red{color:#ff6b6b;}
.phishing-standalone .phishing-flags-title-green{color:#69db7c;}
.phishing-standalone .phishing-flags-list{
margin:0 0 6px 0;
padding-left:20px;
}
.phishing-standalone .phishing-flags-list li{
margin:2px 0;
color:var(--cl1);
}
.phishing-standalone .phishing-red li::marker{color:#ff6b6b;}
.phishing-standalone .phishing-green li::marker{color:#69db7c;}
.phishing-standalone .phishing-recommendation{
margin-top:10px;
padding:8px 10px 8px 0;
background:transparent;
border:0;
font-size:13px;
color:var(--cl1);
display:flex;
align-items:flex-start;
gap:12px;
}
.phishing-standalone .phishing-recommendation::before{
content:"";
flex:0 0 auto;
width:14px;
height:14px;
border-radius:50%;
background:var(--ac1);
margin-top:5px;
}
.phishing-legit .phishing-recommendation::before{background:#2f9e44;}
.phishing-suspicious .phishing-recommendation::before{background:#f59f00;}
.phishing-scam .phishing-recommendation::before{background:#c92a2a;}
.phishing-unavailable .phishing-recommendation::before{background:#5a6270;}
.phishing-standalone .phishing-unsub-btn{
flex:0 0 auto;
margin-left:auto;
font-family:var(--ff2);
font-weight:700;
font-size:11px;
letter-spacing:.06em;
text-transform:uppercase;
color:var(--ac1);
background:transparent;
border:1px solid rgba(255,255,255,.18);
padding:4px 14px;
border-radius:100px;
cursor:pointer;
line-height:1.3;
}
.phishing-standalone .phishing-unsub-btn:hover{background:rgba(255,255,255,.06);}
.phishing-standalone .phishing-unsub-btn-open{background:rgba(255,255,255,.08);}
.phishing-standalone .phishing-unsub-reveal[hidden]{display:none;}
.phishing-standalone .phishing-unsub-reveal{
margin:8px 0 0 0;
padding:8px 10px;
background:rgba(0,0,0,.25);
border-left:2px solid var(--ac1);
color:var(--cl1);
display:flex;
flex-wrap:wrap;
align-items:center;
gap:8px;
}
.phishing-standalone .phishing-unsub-link{
font-family:var(--ff2);
font-size:17px;
color:var(--ac1);
text-decoration:underline;
word-break:break-all;
flex:0 1 auto;
}
.phishing-standalone .phishing-unsub-note[hidden]{display:none;}
.phishing-standalone .phishing-unsub-note{
font-family:var(--ff2);
font-weight:700;
font-size:10px;
letter-spacing:.06em;
text-transform:uppercase;
color:#69db7c;
padding:4px 10px;
background:rgba(105,219,124,.08);
border-left:2px solid #69db7c;
margin:0;
}
.phishing-standalone .phishing-unsub-note-raw{
color:#ffd43b;
background:rgba(255,212,59,.08);
border-left-color:#ffd43b;
}
.video-fallback-ui{
position:absolute;
inset:0;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:10px;
background:rgba(0,0,0,.75);
color:#fff;
font-family:var(--ff1);
padding:20px;
text-align:center;
border-radius:inherit;
}
.video-fallback-msg{
font-size:1rem;
opacity:.95;
}
.video-fallback-btn{
display:inline-block;
padding:8px 14px;
background:#fff;
color:#111;
text-decoration:none;
border-radius:6px;
font-size:13px;
font-weight:600;
}
.video-fallback-btn:hover{
background:#f0f0f0;
}
.media-grid-item:has(video){
position:relative;
}
.result-meta{
display:flex;
justify-content:center;
align-items:center;
gap:10px;
margin-top:18px;
flex-wrap:wrap;
}
.result-meta:empty{
display:none;
}
.model-icon-wrap{
position:relative;
display:inline-flex;
align-items:center;
justify-content:center;
z-index:2;
overflow:visible;
}
.model-icon-btn{
width:44px;
height:44px;
display:inline-flex;
align-items:center;
justify-content:center;
background:transparent;
border:0;
border-radius:0;
padding:4px;
cursor:pointer;
position:relative;
z-index:42;
}
.model-icon-btn:hover .model-icon{transform:none;}
.model-icon{
display:inline-block;
width:36px;
height:36px;
background-color:#fff;
-webkit-mask:var(--icon) center/contain no-repeat;
mask:var(--icon) center/contain no-repeat;
transition:transform 0.15s ease;
}
.model-icon[data-brand="mistral"]{background-color:#fa520f;}
.model-icon[data-brand="claude"]{background-color:#d97757;}
.model-icon[data-brand="gemini"]{background-color:#4285f4;}
.model-icon[data-brand="meta"]{background-color:#0866ff;}
.model-icon[data-brand="deepseek"]{background-color:#4d6bfe;}
.model-icon[data-brand="qwen"]{background-color:#615ced;}
.model-icon[data-brand="zai"]{background-color:#3b82f6;}
.model-icon[data-brand="nvidia"]{background-color:#76b900;}
.model-icon[data-brand="minimax"]{background-color:#00a8ff;}
.model-icon[data-brand="perplexity"]{background-color:#20b8cd;}
.model-icon[data-brand="microsoft"]{background-color:#00a4ef;}
.model-icon[data-brand="bytedance"]{background-color:#f02d3a;}
.model-icon[data-brand="cohere"]{background-color:#d18ee2;}
.model-icon-wrap.model-log-open{
z-index:45;
}
.model-icon-wrap.model-log-open .model-icon-btn{
background:var(--bg2);
}
.model-icon-wrap.model-log-open .model-icon{
background:transparent;
-webkit-mask:none;
mask:none;
position:relative;
transform:none;
}
.model-icon-wrap.model-log-open .model-icon::before,
.model-icon-wrap.model-log-open .model-icon::after{
content:'';
position:absolute;
top:50%;
left:50%;
width:28px;
height:3px;
background:var(--cl1);
transform:translate(-50%,-50%) rotate(45deg);
}
.model-icon-wrap.model-log-open .model-icon::after{
transform:translate(-50%,-50%) rotate(-45deg);
}
.model-icon-wrap.model-log-open::after{
display:none;
}
.model-icon-wrap::after{
content:attr(data-tooltip);
position:absolute;
bottom:calc(100% + 8px);
left:50%;
transform:translateX(-50%);
background:#000;
color:#fff;
font-family:var(--ff2);
font-size:0.95rem;
font-weight:500;
padding:8px 14px;
white-space:nowrap;
opacity:0;
pointer-events:none;
transition:opacity 0.15s ease;
z-index:10;
}
.model-icon-wrap:hover::after{
opacity:1;
}
.model-log-stage{
display:none;
order:98;
width:100%;
max-width:var(--pw1);
margin-top:16px;
scroll-margin-top:72px;
}
.model-log-stage.model-log-open{
display:block;
}
.model-log-stage .phase-status{
display:block!important;
margin:0;
background:var(--bg2);
border:1px solid var(--bc1);
border-radius:0;
box-shadow:none;
max-height:min(58vh,560px);
overflow:auto;
}
@media(max-width:700px){
.model-log-stage{
width:100%;
max-width:calc(100vw - 16px);
}
.model-log-stage .phase-status{
max-height:54vh;
}
}
