/* app.css — shared by 13 pages. Authored nowhere else: edit this file, not the
   HTML. Tokens and @font-face live in /brand.css, which every page also loads. */
*{box-sizing:border-box; margin:0; padding:0; -webkit-tap-highlight-color:transparent;}
html{font-size:16px;}
body{font-family:'Inter Tight', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif; background:var(--cream); color:var(--ink); line-height:1.45; min-height:100vh;}
.wrap{max-width:var(--w-app);margin:0 auto;padding:0 16px 96px}
/* ---------- header ---------- */
header{position:sticky;top:0;z-index:50;background:rgba(244,241,234,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);padding:0}
.hrow{max-width:none;width:100%;margin:0;display:flex;align-items:center;justify-content:space-between;gap:18px;height:74px;padding-left:clamp(24px,4vw,72px);padding-right:clamp(20px,3vw,48px)}
.wordmark{display:flex; align-items:center; gap:7px; font-family:var(--font-brand); font-weight:500; font-size:21px; letter-spacing:-.035em; color:var(--brick); white-space:nowrap;} .wordmark svg{width:20px;height:20px;} .wordmark .slash{font-family:'JetBrains Mono',ui-monospace,monospace; font-size:.8rem; font-weight:500; opacity:.9;}
.wordmark .peak{color:var(--white);} .wordmark .dot{color:var(--brick); font-size:1.2em;}
.htag{font-size:.7rem; color:var(--muted);}
.hbtn{background:transparent; border:1.5px solid var(--brick); color:var(--brick); font-family:inherit; font-size:.78rem; font-weight:600; padding:7px 14px; border-radius:100px; cursor:pointer;}
.hbtn:active{background:var(--brick); color:#fff;}
/* ---------- home ---------- */
.hero{padding:26px 2px 6px;}
.kicker{font-size:.72rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; color:var(--brick);}
h1{font-size:1.55rem; font-weight:900; line-height:1.15; margin:6px 0 4px;}
.sub{color:var(--muted); font-size:.92rem;}
.meta-card{background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); padding:16px; margin:18px 0 8px;}
.meta-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.field label{display:block; font-size:.7rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:4px;}
.field input, .field select{width:100%; font-family:inherit; font-size:.95rem; padding:9px 10px; border:1.5px solid var(--line); border-radius:9px; background:#fbfaf8; color:var(--ink); min-height:42px; line-height:1.2;}
.field input:focus, .field select:focus{outline:none; border-color:var(--brick);}
.field input[type=date]{text-align:left;}
.field input[type=date]::-webkit-date-and-time-value{text-align:left; margin:0;}
.field input[type=date]::-webkit-calendar-picker-indicator{margin-left:auto;}
.list-grid{display:flex; flex-direction:column; gap:10px; margin-top:14px;}
.list-card{background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); padding:14px 16px; display:flex; align-items:center; gap:14px; cursor:pointer; border:1.5px solid transparent; text-align:left; width:100%; font-family:inherit;}
.list-card:active{border-color:var(--brick);}
.lc-ring{flex:0 0 44px;}
.lc-body{flex:1; min-width:0;}
.lc-title{font-weight:900; font-size:.98rem;}
.lc-tag{font-size:.78rem; color:var(--muted); margin-top:2px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.lc-arrow{color:var(--brick); font-weight:900; font-size:1.1rem;}
.ring{transform:rotate(-90deg);} .ring .bg{stroke:var(--lineDefault);} .ring .fg{stroke:var(--green); transition:stroke-dashoffset .4s;}
.ring-label{font-size:.62rem; font-weight:900; fill:var(--ink); transform:rotate(90deg); transform-origin:center;}
.rules{margin:26px 0 8px; background:var(--green); color:#C9D2C9; border-radius:var(--radius); padding:18px 16px;}
.rules h3{font-family:'JetBrains Mono',ui-monospace,monospace; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:#A8BCA8; font-weight:500; margin-bottom:10px;}
.rule{display:flex; gap:10px; padding:7px 0; border-top:1px solid #4A6B4E; font-size:.86rem;}
.rule:first-of-type{border-top:none;}
.rule b{color:var(--white);}
.rule .n{color:#A8BCA8; font-weight:900; flex:0 0 16px;}
.provenance{font-size:.75rem; color:var(--muted); text-align:center; margin:20px 8px 0; line-height:1.55;}
.provenance b{color:var(--ink);}
/* ---------- checklist view ---------- */
.cl-head{padding:22px 2px 4px; position:relative;}
.cl-reset{position:absolute; top:22px; right:2px; background:transparent; border:1.5px solid var(--brick); color:var(--brick); font-family:inherit; font-size:.78rem; font-weight:600; padding:7px 13px; border-radius:100px; cursor:pointer;}
.cl-reset:active{background:var(--brick); color:#fff;}
.backlink{background:none; border:none; font-family:inherit; color:var(--brick); font-weight:900; font-size:.85rem; cursor:pointer; padding:0; margin-bottom:10px;}
h2{font-size:1.3rem; font-weight:900; line-height:1.2;}
.cl-tag{color:var(--muted); font-size:.86rem; margin-top:3px;}
.progressbar{height:7px; background:var(--line); border-radius:99px; margin:14px 0 4px; overflow:hidden;}
.progressbar i{display:block; height:100%; background:var(--brick); border-radius:99px; transition:width .3s;}
.pb-label{font-size:.75rem; color:var(--muted); font-weight:700;}
.section-title{font-size:.72rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; color:var(--brick); margin:22px 2px 8px;}
.item{background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); margin-bottom:10px; overflow:hidden; border-left:4px solid transparent; transition:border-color .2s;}
.item.done{border-left-color:var(--brick);}
.item-main{display:flex; gap:12px; padding:13px 14px; align-items:flex-start; cursor:pointer;}
.chk{flex:0 0 26px; height:26px; border:2px solid var(--muted); border-radius:8px; margin-top:1px; display:flex; align-items:center; justify-content:center; background:#fbfaf8; transition:all .15s;}
.item.done .chk{background:var(--brick); border-color:var(--brick);}
.chk svg{opacity:0; transform:scale(.5); transition:all .15s;}
.item.done .chk svg{opacity:1; transform:scale(1);}
.item-body{flex:1; min-width:0;}
.item-action{display:block; font-weight:700; font-size:.94rem;}
.item.done .item-action{color:var(--muted);}
.item-why{display:block; font-size:.8rem; color:var(--muted); margin-top:3px;}
.item-stamp{font-size:.72rem; color:var(--brick); font-weight:900; margin-top:5px; display:none;}
.item.done .item-stamp{display:block;}
.item-tools{display:flex; gap:8px; padding:0 14px 11px 52px;}
.tool-btn{background:#f2f0ea; border:none; font-family:inherit; font-size:.72rem; font-weight:900; color:var(--ink); padding:6px 11px; border-radius:8px; cursor:pointer; letter-spacing:.03em;}
.tool-btn.evd{color:var(--brick);}
.tool-btn.has-note{background:var(--brick); color:var(--white);}
.evidence{display:none; margin:0 14px 12px 52px; background:#f4f7f5; border-left:3px solid var(--brick); border-radius:0 10px 10px 0; padding:11px 12px;}
.evidence.open{display:block;}
.evd-fail{font-size:.72rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; color:var(--brick-deep); margin-bottom:4px;}
.evidence p{font-size:.8rem; color:#3c3b37; margin-bottom:6px;}
.evidence a{color:var(--brick-deep); font-size:.72rem; word-break:break-all;}
.note-row{display:none; margin:0 14px 12px 52px;}
.note-row.open{display:block;}
.note-row textarea{width:100%; font-family:inherit; font-size:.85rem; border:1.5px solid var(--line); border-radius:9px; padding:9px; min-height:56px; background:#fbfaf8; resize:vertical;}
/* temp log */
.temp-card{background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); padding:14px 16px; margin:10px 0;}
.temp-card h4{font-size:.8rem; font-weight:900; letter-spacing:.05em;}
.temp-card .tc-sub{font-size:.75rem; color:var(--muted); margin-bottom:10px;}
.temp-row{display:grid; grid-template-columns:1fr 90px 84px; gap:8px; align-items:center; padding:6px 0; border-top:1px solid #f0eee8;}
.temp-row label{font-size:.85rem; font-weight:700;}
.temp-row input{font-family:inherit; font-size:.95rem; padding:8px; border:1.5px solid var(--line); border-radius:8px; width:100%; text-align:center; background:#fbfaf8;}
.temp-flag{font-size:.72rem; font-weight:900; text-align:center; border-radius:8px; padding:7px 0;}
.temp-flag.ok{background:#E4EAE4; color:var(--green);}
.temp-flag.bad{background:#f6e3dd; color:var(--brick-deep);}
.temp-flag.idle{background:#f2f0ea; color:var(--muted);}
.temp-proc{font-size:.74rem; color:var(--muted); margin-top:10px; padding-top:9px; border-top:1px solid #f0eee8;}
/* signoff */
.signoff{background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); padding:16px; margin:20px 0 10px;}
.signoff h4{font-size:.72rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; color:var(--brick); margin-bottom:10px;}
.so-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px;}
.so-confirm{display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:10px; border-top:1px solid #f0eee8;}
.so-confirm span{font-size:.85rem; font-weight:700;}
.seg{display:flex; border:1.5px solid var(--line); border-radius:9px; overflow:hidden;}
.seg button{font-family:inherit; font-size:.8rem; font-weight:900; padding:7px 16px; border:none; background:#fbfaf8; color:var(--muted); cursor:pointer;}
.seg button.on-y{background:var(--brick); color:var(--white);}
.seg button.on-n{background:var(--brick-deep); color:var(--white);}
/* footer bar */
.fab{position:fixed; bottom:0; left:0; right:0; background:linear-gradient(to top, var(--cream) 70%, rgba(235,233,228,0)); padding:10px 16px 18px; z-index:15;}
.fab-inner{max-width:680px; margin:0 auto; display:flex; gap:10px;}
.btn{flex:1; font-family:inherit; font-weight:700; font-size:.95rem; padding:14px; border-radius:100px; border:none; cursor:pointer; letter-spacing:.01em;}
.btn.primary{background:var(--brick); color:var(--white);}
.btn.primary:active{background:var(--brick-deep);}
.btn.green{background:var(--brick); color:var(--white);}
.btn.green:active{background:var(--brick-deep);}
.btn.ghost{background:var(--white); color:var(--ink); box-shadow:var(--shadow);}
/* report */
.score-hero{background:var(--green); color:#C9D2C9; border-radius:var(--radius); padding:20px 18px; margin:16px 0; display:flex; align-items:center; gap:18px;}
.score-num{font-size:2.6rem; font-weight:900; color:var(--white); line-height:1;}
.score-sub{font-size:.8rem; color:#C9D2C9;}
.grade{font-size:.72rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; padding:4px 10px; border-radius:99px; display:inline-block; margin-top:6px;}
.grade.g-run{background:var(--green); color:#fff;}
.grade.g-watch{background:var(--amber); color:var(--white);}
.grade.g-risk{background:var(--brick-deep); color:var(--white);}
.rep-list{background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); padding:4px 16px; margin-bottom:10px;}
pre.report-text{display:none;}
/* toast */
.toast{position:fixed; bottom:88px; left:50%; transform:translateX(-50%) translateY(20px); background:var(--ink); color:var(--white); font-size:.85rem; font-weight:700; padding:11px 18px; border-radius:99px; opacity:0; pointer-events:none; transition:all .25s; z-index:40; white-space:nowrap;}
.toast.show{opacity:1; transform:translateX(-50%) translateY(0);}
/* update pill */
.update-pill{position:fixed; left:50%; transform:translateX(-50%); bottom:calc(88px + env(safe-area-inset-bottom)); z-index:60; display:flex; align-items:center; gap:12px; background:var(--ink); color:var(--white); padding:10px 12px 10px 18px; border-radius:100px; box-shadow:var(--shadow-panel); font-size:.86rem; font-weight:700; max-width:calc(100% - 32px);}
.update-pill .up-refresh{font-family:inherit; font-weight:800; font-size:.82rem; background:var(--brick); color:var(--white); border:none; border-radius:100px; padding:7px 14px; cursor:pointer;}
.update-pill .up-x{background:none; border:none; color:var(--white); font-size:1.1rem; line-height:1; cursor:pointer; opacity:.7; padding:0 4px;}
.view{display:none;} .view.active{display:block;}
#printAll{display:none}body.print-mode header,body.print-mode .view,body.print-mode .fab{display:none !important}body.print-mode #printAll{display:block;max-width:var(--w-read);margin:0 auto;padding:20px 20px 80px}body.print-mode .pa-bar{display:flex}.pa-bar{display:none;gap:10px;align-items:center;justify-content:space-between;max-width:var(--w-read);margin:0 auto;padding:14px 20px}.pa-table{width:100%;border-collapse:collapse}.pa-table th,.pa-table td{padding:0;text-align:left;font-weight:inherit}.pa-brand i{font-family:var(--font-mono);font-style:normal;font-size:11px}.pa-footer{border-top:1px solid var(--line);margin-top:10px;padding-top:5px;font-size:9.5px;color:var(--muted)}@media print{  .pa-bar{display:none !important}

  body.printing-all header, body.printing-all .view, body.printing-all .fab{display:none !important}
  body.printing-all #printAll{display:block !important}
  @page{margin:14mm}

  header, .fab, .backlink, .item-tools, .btn{display:none !important;}
  body{background:#fff;} .item, .meta-card, .rep-list{box-shadow:none; border:1px solid #ddd;}
  .rep-item-photos img{break-inside:avoid;}
}
nav a:hover{color:var(--brick)}@media(max-width:640px){.hrow{height:62px;gap:12px;padding-left:16px;padding-right:16px}.wordmark{font-size:17px;gap:7px}nav a{font-size:13.5px}}.pa-report .cl-head h2{margin:0 0 4px}
/* the printable document: styled the same on screen (print view) and on paper */
#printAll thead{display:table-header-group}
#printAll tfoot{display:table-footer-group}
#printAll .pa-head{margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid #C24F1F}
#printAll .pa-head b{display:block;font-size:20px;color:#1C1A17}
#printAll .pa-head span{font-size:11px;color:#8A8478}
#printAll .pa-list{break-inside:auto;margin:0 0 18px}
#printAll h2{font-size:15px;margin:14px 0 2px;color:#C24F1F;break-after:avoid}
#printAll .pa-tag{font-size:10.5px;color:#8A8478;margin:0 0 8px}
#printAll h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8A8478;margin:10px 0 4px;break-after:avoid}
#printAll .pa-items{list-style:none;margin:0;padding:0}
#printAll .pa-items li{display:flex;gap:8px;padding:5px 0;border-bottom:1px solid #ECE7DC;break-inside:avoid}
#printAll .pa-box{flex:0 0 11px;height:11px;margin-top:3px;border:1.2px solid #8A8478;border-radius:2px}
#printAll .pa-items b{display:block;font-size:11.5px;font-weight:600;color:#1C1A17}
#printAll .pa-items i{display:block;font-size:10px;font-style:normal;color:#5A554C}
.pa-brand{display:block;padding-bottom:6px;margin-bottom:12px;border-bottom:1px solid var(--line);font-family:var(--font-brand);font-weight:500;font-size:17px;letter-spacing:-.035em;color:var(--brick)}
.pa-brand svg{vertical-align:-3px;margin-right:6px}
.pa-brand i{font-family:var(--font-mono);font-style:normal;font-size:11px}
/* ---------- per-check photos (camera capture) ---------- */
.tool-btn.cam-tool.has-photo{background:var(--brick); color:var(--white);}
.photo-row{display:flex; flex-wrap:wrap; gap:8px; padding:0 14px 12px 52px;}
.photo-row:empty{display:none;}
.photo-thumb{width:56px; height:56px; padding:0; border:1.5px solid var(--line); border-radius:var(--radius-sm); overflow:hidden; background:var(--sunken); cursor:pointer;}
.photo-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
/* camera viewfinder / photo viewer (full-screen dark stage) */
.cam-modal{position:fixed; inset:0; z-index:80; background:rgba(0,0,0,.92); display:flex; flex-direction:column;}
.cam-stage{flex:1; min-height:0; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.cam-video{max-width:100%; max-height:100%; width:auto; height:auto;}
.cam-modal .pv-img{max-width:100%; max-height:100%; object-fit:contain;}
.cam-controls{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px 20px calc(16px + env(safe-area-inset-bottom));}
.cam-spacer{flex:0 0 64px;}
.cam-btn{font-family:inherit; font-weight:700; font-size:.95rem; padding:12px 18px; border-radius:100px; border:none; cursor:pointer; background:var(--white); color:var(--ink);}
.cam-btn.pv-del{background:var(--brick-deep); color:var(--white);}
.cam-shot{flex:0 0 64px; width:64px; height:64px; border-radius:50%; background:var(--white); border:5px solid var(--brick); cursor:pointer;}
.cam-shot:active{background:var(--brick);}
/* ---------- itemized shift report (screen + print, same DOM for both) ---------- */
.rep-list-block{padding:14px 0; border-top:1px solid var(--line-soft);}
.rep-list-block:first-child{border-top:none; padding-top:2px;}
.rep-list-head{display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:6px;}
.rep-list-head .rname{font-weight:900; font-size:.95rem;}
.rep-list-head .rpct{font-weight:900; font-size:.9rem; color:var(--brick);}
.rep-sec-title{font-size:.68rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin:12px 0 4px;}
.rep-item{display:flex; gap:10px; padding:6px 0; border-top:1px solid var(--line-soft);}
.rep-item:first-of-type{border-top:none;}
.rep-item-ind{flex:0 0 18px; font-size:.9rem; line-height:1.4; color:var(--muted);}
.rep-item.rep-done .rep-item-ind{color:var(--brick);}
.rep-item-body{flex:1; min-width:0;}
.rep-item-action{display:block; font-size:.86rem; font-weight:500;}
.rep-item.rep-done .rep-item-action{color:var(--body);}
.rep-item-time{display:block; font-size:.72rem; color:var(--brick); font-weight:700; margin-top:2px;}
.rep-item-note{display:block; font-size:.78rem; color:var(--body); margin-top:2px; font-style:italic;}
.rep-item-photos{display:flex; flex-wrap:wrap; gap:6px; margin-top:6px;}
.rep-item-photos img{width:130px; height:130px; object-fit:cover; border-radius:var(--radius-sm); border:1px solid var(--line); display:block;}
.rep-temps{margin-top:2px;}
.rep-temp-row{display:flex; justify-content:space-between; gap:10px; padding:5px 0; border-top:1px solid var(--line-soft); font-size:.84rem;}
.rep-temp-row:first-child{border-top:none;}
.rep-temp-flag{font-weight:900; font-size:.78rem;}
.rep-temp-flag.ok{color:var(--green);}
.rep-temp-flag.bad{color:var(--brick-deep);}
.rep-temp-flag.idle{color:var(--muted);}
.rep-signoff{margin-top:10px; padding-top:10px; border-top:1px solid var(--line-soft); font-size:.82rem; display:flex; flex-direction:column; gap:3px;}
.rep-signoff b{font-weight:900;}
#printAll .rep-item-photos{display:block;}
#printAll .rep-item-photos img{display:block; margin:0 0 6px; width:auto; height:auto; max-width:100%; max-height:500px; break-inside:avoid; page-break-inside:avoid;}
#printAll .rep-list-head{border-bottom:1px solid var(--brick); padding-bottom:4px; break-after:avoid; page-break-after:avoid;}
/* ---------- PWA install sheet + hub chip ---------- */
.install-chip{display:inline-flex; align-items:center; gap:6px; background:none; border:1.5px solid var(--brick); color:var(--brick); font-family:inherit; font-weight:800; font-size:.75rem; padding:7px 13px; border-radius:100px; cursor:pointer; margin:14px 0 0;}
.install-chip:active{background:var(--brick); color:var(--white);}
.install-scrim{position:fixed; inset:0; z-index:84; background:rgba(0,0,0,.38); opacity:0; transition:opacity .3s ease;}
.install-scrim.show{opacity:1;}
.install-sheet{position:fixed; left:0; right:0; bottom:0; z-index:85; max-width:520px; margin:0 auto; background:var(--white); border-radius:var(--radius-lg) var(--radius-lg) 0 0; box-shadow:var(--shadow-panel); padding:20px 20px calc(20px + env(safe-area-inset-bottom)); transform:translateY(100%); transition:transform .3s ease;}
.install-sheet.show{transform:translateY(0);}
.install-handle{width:36px; height:4px; border-radius:99px; background:var(--line); margin:0 auto 16px;}
.install-close{position:absolute; top:14px; right:14px; background:none; border:none; font-size:1.4rem; line-height:1; color:var(--muted); cursor:pointer; padding:6px;}
.install-head{display:flex; align-items:center; gap:12px; margin-bottom:16px;}
.install-icon{width:46px; height:46px; border-radius:12px; flex:0 0 46px; display:block;}
.install-title{font-family:var(--font-brand); font-weight:600; font-size:1.05rem; color:var(--ink); line-height:1.25;}
.install-value{font-size:.82rem; color:var(--muted); margin-top:3px; line-height:1.4;}
.install-btn{width:100%; background:var(--brick); color:var(--white); border:none; border-radius:100px; padding:14px; font-family:inherit; font-weight:800; font-size:.95rem; cursor:pointer;}
.install-btn:active{background:var(--brick-deep);}
.install-steps{background:var(--sunken); border-radius:var(--radius); padding:6px 14px;}
.install-step{display:flex; align-items:center; gap:12px; padding:10px 0; font-size:.86rem; color:var(--ink); font-weight:600; border-top:1px solid var(--line);}
.install-step:first-child{border-top:none;}
.install-glyph{flex:0 0 30px; width:30px; height:30px; border-radius:8px; background:var(--white); border:1.5px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--brick);}
.install-glyph.install-plus{font-size:1.2rem; font-weight:900;}
.install-dismiss{display:block; margin:16px auto 0; background:none; border:none; color:var(--muted); font-family:inherit; font-size:.85rem; font-weight:700; cursor:pointer; padding:6px;}
/* ---------- "New record" confirm sheet (same scrim/sheet as install) ---------- */
.nr-title{font-family:var(--font-brand); font-weight:600; font-size:1.1rem; color:var(--ink); margin:2px 0 8px;}
.nr-body{font-size:.85rem; color:var(--muted); line-height:1.5; margin-bottom:18px;}
.nr-actions{display:flex; flex-direction:column; gap:10px;}
.nr-actions .btn{flex:none; width:100%;}
.btn.danger{background:var(--brick-deep); color:var(--white);}
.btn.danger:active{background:var(--ink);}

/* app-home-link */

/* header: visible link back to the marketing site, opens in a new tab */
.site-link{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12.5px;font-weight:500;color:var(--brick);text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;opacity:.82;transition:opacity .15s ease;}
.site-link:hover{opacity:1;text-decoration:underline;}
@media(max-width:640px){.site-link{font-size:11.5px;}}
