/* ============================================================
   cc.css — the shared "app feel" layer for every /app/ page.
   Loaded AFTER each page's inline <style> so it wins ties.
   One place for: the unified button system, native-feeling touch
   behaviour, press feedback, input handling, and page transitions.
   ============================================================ */

/* ---- Native touch behaviour -------------------------------- */
*{-webkit-tap-highlight-color:transparent;}
html{-webkit-text-size-adjust:100%;}
body{overscroll-behavior-y:none;}
button,.btn,a{touch-action:manipulation;-webkit-touch-callout:none;}
button,.btn{user-select:none;-webkit-user-select:none;}
img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;}
.plscroll{-webkit-overflow-scrolling:touch;}

/* ---- Page-to-page cross-fade (MPA view transitions) --------- */
@view-transition{navigation:auto;}
@media(prefers-reduced-motion:reduce){
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important;}
}

/* ---- The ONE button system ---------------------------------- */
.btn{
  cursor:pointer;border:none;border-radius:13px;
  font-family:var(--body);font-weight:700;font-size:14.5px;
  padding:14px 0;width:100%;
  display:flex;align-items:center;justify-content:center;gap:7px;
  text-decoration:none!important;line-height:1.2;
}

/* ---- Press feedback: everything tappable responds ----------- */
button,.btn,.mcard,.mrow,.specbox a,[data-open],[data-act],[data-tab]{
  transition:transform .12s ease,filter .12s ease,opacity .12s ease;
}
button:not([disabled]):active,.btn:active,a.btn:active{
  transform:scale(.97);filter:brightness(.94);
}
.mcard:active,.mrow:active,a[href*="/app/"]:active{
  transform:scale(.985);filter:brightness(.97);
}
button[disabled]{opacity:.55;}

/* ---- Links: app chrome, not web pages ------------------------ */
a{text-decoration:none;}

/* ---- Inputs: no iOS focus-zoom, consistent fields ------------ */
input,textarea,select{
  font-size:16px!important;   /* <16px makes iOS zoom the page on focus */
  border-radius:11px;
  -webkit-appearance:none;appearance:none;
}
input[type=checkbox]{-webkit-appearance:checkbox;appearance:auto;width:18px;height:18px;accent-color:var(--safety);}
input[type=range]{-webkit-appearance:auto;appearance:auto;}
input[type=date]{-webkit-appearance:auto;appearance:auto;}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--teal)!important;box-shadow:0 0 0 3px rgba(26,107,122,.15);}
input[type=date]{min-height:47px;}

/* ---- Keyboard accessibility stays --------------------------- */
:focus-visible{outline:2px solid var(--teal);outline-offset:2px;}
button:focus:not(:focus-visible),.btn:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:none;}
