/* Writer tool styles — copied from the approved template index.html (lines for .lbl … .stage); only the grid wrapper is new (.tool-writer). */
.lbl{display:block;font:600 15px/1.3 var(--font-sans);color:var(--ink);margin:0 0 7px}
.lbl em{font-style:normal;font-weight:400;color:var(--muted)}
select,input,textarea{width:100%;font:400 17px/1.45 var(--font-sans);color:var(--ink);background:var(--surface);border:1px solid var(--line-input);
  border-radius:14px;padding:12px 14px;min-height:50px;-webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s}
select{font-weight:600;padding-right:44px;cursor:pointer;
  background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1.5 1.5 7 7l5.5-5.5' fill='none' stroke='%2307744C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center}
@media (prefers-color-scheme:dark){select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1.5 1.5 7 7l5.5-5.5' fill='none' stroke='%232BD49A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
textarea{min-height:120px;resize:vertical;field-sizing:content}
.h-occ select{min-height:54px;font-size:18px}
#w-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 12px}
.w-field>span{display:block;font:600 14.5px/1.3 var(--font-sans);color:var(--ink);margin:0 0 6px}
.h-form{display:flex;flex-direction:column;gap:16px;padding:18px}
.h-form .sect{margin:6px 0 -6px}
#w-reset{align-self:flex-start;margin-top:-8px}
#w-warn{display:flex;flex-direction:column;gap:10px}
#w-warn:empty{display:none}
#w-warn>div{display:flex;flex-direction:column;gap:8px;padding:13px 15px 13px 44px;border-radius:var(--r-note);font-size:15px;line-height:1.5;position:relative}
#w-warn>div::before{content:"!";position:absolute;left:14px;top:13px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font:800 13px/1 var(--font-sans);color:var(--surface)}
#w-warn p{margin:0;color:var(--ink-2)}
#w-warn button{align-self:flex-start;min-height:40px;padding:0 14px;border-radius:var(--r-banner);border:0;font:600 15px/1 var(--font-sans);cursor:pointer;background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-input)}
.w-warn-red{background:var(--danger-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 35%,transparent)}
.w-warn-red::before{background:var(--danger)}
.w-warn-amber{background:var(--warning-soft)}
.w-warn-amber::before{background:var(--warning)}
.actions{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.actions .btn{min-height:50px}
.always{font-size:15px;color:var(--ink-2);margin:-4px 0 0;line-height:1.5}
.cta-block{border-top:1px solid var(--line);padding-top:18px;margin-top:2px}
.cta-block .btn{width:100%;min-height:56px;line-height:1.25;padding:10px 20px}
#w-cta-note{font-size:15px;color:var(--ink-2);margin:12px 0 0;line-height:1.5}
.free{font-size:14.5px;color:var(--muted);margin:6px 0 0}

/* stage: green App Store panel with the phone cropped at the bottom (SS1/SS2 art) */
.stage{position:relative;border-radius:var(--r-big);overflow:hidden;padding:26px 18px 0}
.stage .phone{width:min(100%,340px);margin-bottom:-120px}
.stage .phone .screen{min-height:0;padding-bottom:130px}
.stage .phone .eyebrow{color:var(--muted)}
.stage .eyebrow.ps{margin:4px 0 10px}
.preview{background:var(--accent-soft);color:var(--ink);border-radius:var(--r-card);padding:15px 16px;font-size:16.5px;line-height:1.5;word-wrap:break-word;transition:transform .25s}
#w-count{margin:12px 2px 0;font:500 14.5px/1.45 var(--font-sans);color:var(--ink-2)}
#w-count b{color:var(--ink);font:700 1em/1 var(--font-mono);font-variant-numeric:tabular-nums}
#w-count small{display:block;font:400 13.5px/1.45 var(--font-sans);color:var(--muted);margin-top:4px}
#w-status{display:inline-flex;align-items:center;gap:8px;margin:12px 0 0;padding:7px 12px 7px 9px;border-radius:var(--r-pill);font:600 14.5px/1.3 var(--font-sans)}
#w-status::before{content:"";width:18px;height:18px;flex:none;border-radius:50%;background:currentColor;
  -webkit-mask:radial-gradient(circle,#000 99%,transparent);mask:radial-gradient(circle,#000 99%,transparent)}
#w-status[data-state=ok]{color:var(--accent);background:var(--accent-soft)}
#w-status[data-state=risk]{color:var(--danger);background:var(--danger-soft)}
.stage-head{color:var(--on-green);font:800 24px/1.1 var(--font-sans);letter-spacing:-.03em;text-align:center;margin:0 0 18px}
.stage .pill-float{top:auto;bottom:40px;right:-6px;transform:rotate(-4deg);font-size:15px;padding:8px 16px 8px 8px}
.stage .pill-float .ck{width:28px;height:28px}
body:has(#w-status[data-state=risk]) .pill-ok{display:none}
@media (max-width:979px){.stage .pill-float{display:none}.stage-head{display:none}.stage{padding:14px 14px 0}
  .stage .phone{padding:9px;border-radius:50px}.stage .phone .screen{border-radius:41px}
  .stage .navrow{display:none}.stage .sbar{height:38px;padding-top:0;font-size:14px}.stage .phone .island{top:9px;height:28px}
  .stage .body{padding:2px 14px 0}.stage .eyebrow.ps{margin:0 0 8px}.preview{font-size:16px;padding:12px 14px}
  #w-count{font-size:13px;margin-top:9px}#w-count small{font-size:13px;line-height:1.4}#w-status{margin-top:9px;font-size:14px}
  .h-form .sect{display:none}.h-form{padding-top:16px}.meta .long{display:none}}
@media (min-width:980px){.stage{padding:40px 36px 0}.stage .phone{margin-bottom:-60px}.stage .phone .screen{padding-bottom:90px}}

/* new: writer as an in-page tool (use-case pages + /message-writer/) */
.tool-writer{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;grid-template-areas:"occ" "stage" "form"}
.tool-writer .h-occ{grid-area:occ}.tool-writer .stage{grid-area:stage}.tool-writer .h-form{grid-area:form}
@media (min-width:980px){
  .tool-writer{grid-template-columns:minmax(0,1fr) minmax(0,480px);column-gap:48px;row-gap:18px;grid-template-areas:"occ stage" "form stage";grid-template-rows:auto 1fr}
  .tool-writer .stage{position:sticky;top:84px;align-self:start}
}
