/* TinyTools mobile-first usability layer.
   Keep this file independent from the tool engine so the UI can evolve without touching processing logic. */

html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{font-size:16px;line-height:1.55}
button,input,textarea,select{font-size:16px}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}

/* Improve readability on every screen, not only phones. */
.brand b{font-size:18px}
.brand small{font-size:13px}
.topbar nav button,.topbar nav a{font-size:15px}
.page-head p,.hero p{font-size:17px}
.panel-title h2{font-size:18px}
.panel-title span,.panel-title div{font-size:14px}
.field span{font-size:15px}
.tool-card p,.recipe-card p{font-size:15px}
.tool-meta,.tool-foot{font-size:13px}
.muted{font-size:14px}

/* Touch targets */
.actions button,.panel-title button,.result-actions button,.next-row button,.filters button{min-height:44px}
.field input[type=text],.field input[type=number],.field select{min-height:46px;font-size:16px}

@media(max-width:1024px){
  .home,.workspace-page{width:min(100% - 28px,900px)}
  .work-layout{grid-template-columns:1fr}
  .page-head{align-items:flex-start}
  .privacy-card{min-width:240px}
  .result-assets{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:768px){
  body{background:#f6f7fb;font-size:16px}
  .app-shell{padding-bottom:env(safe-area-inset-bottom)}

  .topbar{height:66px;padding:0 16px;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(15,23,42,.06)}
  .brand{gap:10px;min-height:48px}
  .brand-mark{width:44px;height:44px;border-radius:14px;font-size:14px}
  .brand b{font-size:18px;line-height:1.1}
  .brand small{font-size:12px;margin-top:4px}
  .topbar nav{gap:6px}
  .topbar nav a{display:none}
  .topbar nav button{min-height:44px;padding:0 10px;font-size:15px}

  .home,.workspace-page{width:calc(100% - 24px);max-width:none}
  .workspace-page{padding:16px 0 34px}
  .back{min-height:44px;margin:0 0 12px;font-size:16px;display:flex;align-items:center}

  /* Home becomes a compact app launcher. */
  .hero{padding:36px 0 28px;text-align:left}
  .consumer-hero{border-radius:24px;padding:28px 20px!important;margin-top:14px!important}
  .hero .eyebrow{font-size:13px;letter-spacing:.04em}
  .hero h1{font-size:34px!important;line-height:1.12!important;letter-spacing:-.035em!important;margin:10px 0 12px!important}
  .hero p{font-size:16px!important;line-height:1.65!important;margin:0!important}
  .search-wrap{margin:20px 0 0!important;max-width:none!important}
  .search-wrap input{min-height:54px;border-radius:16px;padding:0 16px;font-size:16px;box-shadow:0 8px 22px rgba(60,54,170,.08)}
  .trust-row{gap:8px!important;margin-top:16px!important;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;justify-content:flex-start!important}
  .trust-row::-webkit-scrollbar{display:none}
  .trust-row span{font-size:13px!important;white-space:nowrap;padding:8px 10px!important}

  .quick-category-section,.section{padding:24px 0!important}
  .quick-title small,.section .eyebrow{font-size:13px!important;letter-spacing:.04em!important}
  .quick-title h2,.section-head h2,.next-section h2,.notes h2{font-size:24px!important;line-height:1.25;margin-top:5px!important}
  .section-head{align-items:flex-end;gap:10px;margin-bottom:14px}
  .section-head .muted{font-size:13px}
  .quick-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .quick-category-card{min-height:108px!important;border-radius:18px!important;padding:15px!important;align-items:flex-start!important}
  .quick-category-card>span{font-size:28px!important}
  .quick-category-card b{font-size:17px!important}
  .quick-category-card small{font-size:13px!important;line-height:1.4!important;margin-top:5px!important}
  .quick-category-card i{display:none}

  .filters{gap:8px;margin-bottom:14px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}
  .filters button{flex:none;padding:9px 15px;font-size:15px;white-space:nowrap}
  .tool-grid,.recipe-grid{grid-template-columns:1fr!important;gap:10px!important}
  .tool-card,.recipe-card{border-radius:18px!important;padding:17px!important}
  .tool-icon-ui,.recipe-icon-ui{width:46px!important;height:46px!important;font-size:23px!important;border-radius:14px!important}
  .tool-card h3,.recipe-card h3{font-size:19px!important;margin:12px 0 6px!important}
  .tool-card p,.recipe-card p{font-size:15px!important;line-height:1.6!important;min-height:0!important}
  .tool-meta,.tool-foot{font-size:13px!important}

  /* Tool header: title first, privacy becomes a compact status chip. */
  .page-head{display:block!important;margin:0 0 14px!important;padding:20px!important;border-radius:22px!important;gap:0!important}
  .page-head .eyebrow{font-size:14px!important;letter-spacing:.02em!important}
  .page-head h1{font-size:32px!important;line-height:1.15!important;margin:8px 0 8px!important;letter-spacing:-.035em!important}
  .page-head p{font-size:16px!important;line-height:1.6!important;margin:0!important}
  .privacy-card{min-width:0!important;width:auto!important;display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:7px!important;margin-top:14px!important;padding:8px 11px!important;border-radius:999px!important}
  .privacy-card b{font-size:13px!important;white-space:nowrap}
  .privacy-card span{font-size:12px!important;line-height:1.3!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}

  .restore-banner{font-size:14px;border-radius:14px;padding:12px 14px;margin-bottom:12px}
  .work-layout{display:block!important}
  .panel{border-radius:20px!important;padding:18px!important;box-shadow:0 6px 24px rgba(45,55,90,.04)!important;margin-bottom:12px}
  .panel-title{margin-bottom:14px;gap:10px}
  .panel-title h2{font-size:19px!important;line-height:1.3}
  .panel-title span,.panel-title div{font-size:13px!important}

  .dropzone{min-height:180px!important;border-radius:18px!important;padding:20px 14px;background:#fafaff!important}
  .dropzone label{gap:8px!important;padding:12px}
  .dropzone label b{font-size:19px!important;line-height:1.4}
  .dropzone label span{font-size:14px!important;line-height:1.5}

  .text-input{min-height:210px;font-size:20px!important;line-height:1.6!important;padding:16px!important;border-radius:16px!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
  .text-input::placeholder{font-size:16px;color:#a0a5b4}

  .field{grid-template-columns:1fr!important;gap:7px!important;margin-bottom:16px!important}
  .field span{font-size:15px!important;font-weight:650;color:#30364a}
  .field input[type=text],.field input[type=number],.field select{width:100%;min-height:50px!important;border-radius:13px!important;padding:0 13px!important;font-size:17px!important;background:#fff}
  .field input[type=checkbox]{justify-self:start;width:24px!important;height:24px!important}

  .actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin-top:18px!important}
  .actions .primary{order:-1;width:100%;min-height:56px!important;border-radius:15px!important;font-size:18px!important;font-weight:800!important;box-shadow:0 10px 24px rgba(103,95,255,.22)}
  .actions button:not(.primary){width:100%;min-height:48px!important;font-size:15px!important;border-radius:13px!important}

  .steps li{font-size:16px!important;padding:13px 0!important;align-items:center}
  .steps em{font-size:12px!important}
  .asset-row{padding:10px 0}
  .asset-row b{font-size:14px!important}
  .asset-row small{font-size:13px!important}
  .asset-icon{width:46px;height:36px}

  .result-panel{margin-top:0!important}
  .message{font-size:15px;padding:13px 14px;border-radius:14px}
  .progress-log span{font-size:12px!important;padding:6px 9px!important}
  .result-assets{grid-template-columns:1fr!important;gap:10px!important}
  .result-card{border-radius:16px!important;padding:13px!important}
  .result-card img{height:auto!important;max-height:320px;border-radius:12px!important}
  .file-block{height:120px!important;font-size:18px;border-radius:12px!important}
  .result-info b{font-size:16px!important}
  .result-info small{font-size:13px!important}
  .text-result{font-size:14px!important;line-height:1.55!important;max-height:260px!important}
  .result-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
  .result-actions button{min-height:48px!important;font-size:16px!important;border-radius:13px!important}
  .empty-result{padding:26px 18px!important;font-size:15px!important;line-height:1.6}

  .next-section{padding-top:20px!important}
  .next-row{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
  .next-row button{min-height:48px!important;font-size:15px!important;border-radius:13px!important}
  .notes{margin-top:0!important}
  .notes p{font-size:14px!important;line-height:1.7!important}

  footer{width:calc(100% - 28px)!important;margin-top:18px!important;padding:22px 0 calc(28px + env(safe-area-inset-bottom))!important;font-size:13px!important;line-height:1.6!important}
}

@media(max-width:420px){
  .home,.workspace-page{width:calc(100% - 20px)}
  .consumer-hero{padding:24px 17px!important}
  .hero h1{font-size:31px!important}
  .quick-category-grid{grid-template-columns:1fr 1fr!important}
  .quick-category-card{min-height:104px!important;padding:13px!important}
  .page-head{padding:18px 16px!important}
  .page-head h1{font-size:29px!important}
  .panel{padding:16px!important}
  .text-input{font-size:19px!important;min-height:190px}
  .next-row{grid-template-columns:1fr!important}
}

@media(pointer:coarse){
  button,.brand,.tool-card,.recipe-card,.quick-category-card{touch-action:manipulation}
  button:active,.tool-card:active,.recipe-card:active,.quick-category-card:active{transform:scale(.985)}
}
