/* Public presentation only. Content is visible before JS and with reduced motion. */
:is(.site,.auth,.xunl-legacy-tool) { --public-ease:cubic-bezier(.2,.7,.2,1); }
:is(.site,.auth,.xunl-legacy-tool) .btn { transition:background-color .16s,border-color .16s,color .16s,transform .16s var(--public-ease),box-shadow .16s; }
:is(.site,.auth,.xunl-legacy-tool) .btn:active:not(:disabled) { transform:scale(.985); }
:is(.site,.auth,.xunl-legacy-tool) .btn:focus-visible { outline:3px solid var(--brand,#2f6bff);outline-offset:3px; }
.site :is(.pain,.mod,.plan),.auth .choose button { transition:border-color .2s,box-shadow .2s,transform .2s var(--public-ease); }
.pnav .dd:focus-within .dd-panel { display:grid; }
.pnav .dd[data-public-dismissed] .dd-panel { display:none; }
.pnav .dd-panel { transform-origin:top center; }
.site .faq summary { min-height:44px;align-items:center;gap:16px; }
.site .faq summary::after { display:inline-block;transition:transform .18s var(--public-ease); }
.site .faq details[open] summary::after { transform:rotate(180deg); }
.auth .seg button { transition:background-color .15s,color .15s,box-shadow .15s; }
.xunl-legacy-tool [data-public-submit] button[aria-busy="true"] { cursor:progress; }
.xunl-legacy-tool [data-public-submit] button[aria-busy="true"]::before { content:"";width:1em;height:1em;flex:0 0 1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:public-spin .8s linear infinite; }
/* These three native tools keep one real submit button, next to their essential inputs. */
.xunl-legacy-tool [data-legacy-workflow] .legacy-workflow-actions { display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 18px; }
.xunl-legacy-tool [data-legacy-workflow] .legacy-workflow-actions #btnGen { min-height:48px;min-width:190px;font-weight:700; }
.xunl-legacy-tool .legacy-workflow-hint,.xunl-legacy-tool .legacy-example-bar>span { color:var(--muted,#617187);font-size:15px;line-height:1.6; }
.xunl-legacy-tool .legacy-example-bar { display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px; }
.xunl-legacy-tool .legacy-example-status { padding:10px 13px;background:var(--brand-soft,#edf2ff);border:1px solid var(--line,#dce3ee);border-radius:8px;color:var(--ink,#172a47);font-size:15px; }
.xunl-legacy-tool .legacy-prompt-options { margin:14px 0 18px;border:1px solid var(--line,#dce3ee);border-radius:9px;background:var(--card,#fff); }
.xunl-legacy-tool .legacy-prompt-options>summary { padding:13px 15px;cursor:pointer;min-height:48px;font-weight:600; }
.xunl-legacy-tool .legacy-prompt-options>summary small { display:block;color:var(--muted,#617187);font-weight:400;font-size:14px;padding-left:18px; }
.xunl-legacy-tool .legacy-prompt-options-body { padding:0 15px 4px; }
.xunl-legacy-tool .legacy-verify-submit { display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 16px; }
.xunl-legacy-tool .legacy-verify-submit>.input-group { flex:1 1 280px;margin:12px 0 18px!important;min-height:48px; }
.xunl-legacy-tool .legacy-verify-submit>.form-label { flex-basis:100%;order:3; }
.xunl-legacy-tool .legacy-verify-submit>.legacy-workflow-actions { flex:0 1 auto; }
@media (max-width:600px) {
  .xunl-legacy-tool [data-legacy-workflow] .legacy-workflow-actions { width:100%; }
  .xunl-legacy-tool [data-legacy-workflow] .legacy-workflow-actions #btnGen { flex:1 1 180px; }
  .xunl-legacy-tool .legacy-verify-submit>.input-group { flex-basis:100%;margin-bottom:0!important; }
  .xunl-legacy-tool .legacy-verify-submit>.legacy-workflow-actions { margin-top:0; }
}
@keyframes public-spin { to { transform:rotate(360deg); } }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  :is(.site,.auth,.xunl-legacy-tool) .btn:hover:not(:disabled) { transform:translateY(-1px); }
  .site :is(.pain,.mod,.plan):hover { border-color:#a6bcf3;box-shadow:0 10px 24px -18px rgba(30,64,175,.4);transform:translateY(-3px); }
  .site .hero-shot .feed .msg { animation:public-demo-in .4s var(--public-ease) both; }
  .site .hero-shot .feed .msg:nth-child(2) { animation-delay:.08s; }
  .site .hero-shot .feed .msg:nth-child(3) { animation-delay:.16s; }
  .site .hero-shot .feed .msg:nth-child(4) { animation-delay:.24s; }
  .site .hero-shot .bar-row .b i { transform-origin:left;animation:public-bar-in .6s var(--public-ease) both; }
}
@keyframes public-demo-in { from { opacity:.65;transform:translateX(6px); } to { opacity:1;transform:none; } }
@keyframes public-bar-in { from { transform:scaleX(.75); } to { transform:scaleX(1); } }
@media (prefers-reduced-motion:reduce) {
  :is(.site,.auth,.xunl-legacy-tool) :is(.btn,.tool,.pain,.mod,.plan,.choose button,.seg button,.faq summary::after) { transition:none; }
  :is(.site,.auth,.xunl-legacy-tool) .btn:active:not(:disabled),.site .tool:hover { transform:none; }
  .xunl-legacy-tool [data-public-submit] button[aria-busy="true"]::before { animation:none;border-style:dotted; }
}
@media print { :is(.site,.auth,.xunl-legacy-tool) * { animation:none!important;transition:none!important; } }
