:root{
  --home-purple:#4b2d75;
  --home-purple-deep:#3a215c;
  --home-purple-word:#7040a0;
  --home-accent:#d7c4ff;
  --home-line:rgba(255,255,255,.30);
  --home-panel:rgba(12,23,48,.62);
  --home-panel-strong:rgba(8,19,42,.76);
}

html,body{background:var(--hank-blue);color:var(--hank-white)}
.hank-blue-page{
  background:linear-gradient(180deg,var(--hank-blue) 0%,var(--hank-blue) 7%,#3a63c3 27%,#484797 45%,#493879 62%,var(--home-purple-deep) 100%);
  color:var(--hank-white);
}
.home-root{width:min(1220px,94vw);margin-inline:auto;padding-bottom:84px;outline:none}

/* Preserve the canonical H.A.N.K. logo scale/height/offset, then place Home beside it
   without allowing the app name to shrink or recenter the canonical wordmark. */
.home-brand{
  position:relative;
  width:min(1090px,90vw);
  margin:42px auto -14px;
  transform:translateX(-38px);
  display:block;
}
.home-brand img{
  display:block;
  width:100%;
  max-width:1090px;
  height:auto;
}
.home-brand-name{
  position:absolute;
  left:88.5%;
  top:47.5%;
  color:var(--home-purple-word);
  font-family:"Segoe Script","Brush Script MT",cursive;
  font-size:clamp(42px,5vw,78px);
  font-style:italic;
  font-weight:700;
  letter-spacing:-.035em;
  line-height:.9;
  transform:translateY(-50%);
  white-space:nowrap;
  text-shadow:0 3px 8px rgba(0,0,0,.68),0 0 16px rgba(112,64,160,.38);
}

.home-page{display:grid;gap:20px;width:100%}
.home-toolbar{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.home-toolbar .hank-button{min-width:128px;border-color:rgba(255,255,255,.44);background:rgba(37,43,92,.46);color:white}
.home-toolbar .hank-button:hover,.home-toolbar .hank-button:focus-visible{background:rgba(87,54,133,.64)}
.home-landing-empty{min-height:40vh}
.home-connected{display:grid;gap:28px}
.home-grouping{display:flex;justify-content:center;gap:10px;align-items:center;flex-wrap:wrap}
.home-grouping select,.home-group-form input{padding:10px 12px;border:1px solid var(--home-line);border-radius:10px;background:rgba(10,18,40,.72);color:white;font:inherit}
.home-group{display:grid;gap:12px}
.home-group h2{text-align:left;color:#fff;letter-spacing:.04em;margin:0 0 2px 14px;text-shadow:0 2px 8px rgba(0,0,0,.38)}
.home-empty-group{padding:18px;border:1px dashed rgba(255,255,255,.30);border-radius:16px;color:rgba(255,255,255,.78);text-align:center;background:rgba(0,0,0,.10)}
.home-device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px}
.home-card{min-width:0;padding:18px;border:1px solid var(--home-line);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.075),var(--home-panel-strong));box-shadow:0 18px 38px rgba(0,0,0,.22)}
.home-device-card{appearance:none;color:white;text-align:left;font:inherit;cursor:pointer}
.home-device-card strong{display:block;color:var(--home-accent);font-size:18px}
.home-device-meta{display:flex;justify-content:space-between;gap:12px;margin-top:8px;color:#e1e5f2;font-size:13px}
.home-status{display:inline-flex;margin-top:10px;padding:4px 9px;border:1px solid currentColor;border-radius:999px;color:#f0edff;font-size:12px;text-transform:capitalize}
.home-status[data-state="connected"]{color:#dfffe7}
.home-status[data-state="available"]{color:#eee7ff}
.home-status[data-state="setup_required"]{color:#ffe8b5}
.home-status[data-state="unsupported"]{color:#ffcccc}
.home-device-detail{display:grid;gap:16px}
.home-measurements{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.home-measurement{text-align:center;padding:14px;border:1px solid var(--home-line);border-radius:14px;background:rgba(255,255,255,.055)}
.home-measurement strong{display:block;color:var(--home-accent);font-size:22px}
.home-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.home-actions .hank-button[disabled]{opacity:.45;cursor:not-allowed}
.home-muted{color:#e3e5ef}
.home-error{padding:12px;border:1px solid #ffd0d0;border-radius:12px;background:rgba(120,20,20,.5);text-align:center}

/* Canonical sign-in composition. */
.home-login-panel{width:min(520px,88vw);margin:0 auto 48px}
.home-login-panel .hank-button{margin-top:4px}

/* Manual Room / Function group creation. */
.home-group-manager{width:min(900px,100%);margin:0 auto;border:1px solid var(--home-line);border-radius:18px;background:rgba(8,17,38,.42);overflow:hidden}
.home-group-manager>summary{padding:13px 18px;cursor:pointer;text-align:center;color:#fff;font-weight:600}
.home-group-manager-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 18px 18px}
.home-group-editor{display:grid;gap:10px;padding:14px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.045)}
.home-group-editor h3{margin:0;color:#fff;font-size:18px}
.home-group-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.home-group-list{display:flex;flex-wrap:wrap;gap:7px;min-height:30px;align-items:center}
.home-group-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid rgba(255,255,255,.30);border-radius:999px;background:rgba(0,0,0,.18);font-size:13px;color:#fff}
.home-group-chip button{appearance:none;border:0;background:transparent;color:rgba(255,255,255,.78);cursor:pointer;font-size:16px;line-height:1;padding:0}

/* Connections deliberately mirror Lifestyle card proportions and structure. */
.home-connection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px}
.home-connection-card{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  margin:0;
  padding:clamp(18px,2.4vw,30px);
  border:1px solid var(--home-line);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(4,8,20,.72));
  box-shadow:0 18px 42px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.055);
  display:grid;
  align-content:start;
  gap:8px;
}
.home-connection-heading{display:flex;align-items:start;justify-content:space-between;gap:8px;flex-wrap:wrap}
.home-connection-heading h2{margin:0;color:#fff;font-size:19px;text-align:left}
.home-connection-status{display:inline-block;border:1px solid var(--home-line);border-radius:20px;padding:5px 9px;font-size:13px;color:var(--home-accent)}
.home-connection-card p{margin:0;line-height:1.5;color:#f1f2f7}
.home-connection-description{min-height:3em}
.home-connection-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.home-connection-actions .hank-button{min-width:118px}

/* Profile mirrors the simpler account-settings treatment used elsewhere in H.A.N.K. */
.home-account-panel{width:min(1200px,94vw);margin-inline:auto;padding:20px 22px;border:1px solid var(--home-line);border-radius:18px;background:rgba(20,37,77,.42);box-shadow:0 18px 40px rgba(0,0,0,.18)}
.home-account-row{display:grid;grid-template-columns:auto minmax(140px,1fr) auto minmax(140px,1fr) auto minmax(210px,1.2fr) auto minmax(120px,.75fr) auto;gap:8px;align-items:center}
.home-account-row label,.home-contact-row label{white-space:nowrap}
.home-account-row input,.home-contact-row input{box-sizing:border-box;min-width:0;min-height:38px;padding:7px 9px;border:1px solid #222;border-radius:3px;background:#fff;color:#111;font:inherit}
.home-account-row input[disabled]{background:#dfe4ef;color:#4c5260}
.home-account-panel h2{margin:20px 0 12px;color:#fff;font-size:22px}
.home-contact-current{margin:0 0 12px}
.home-contact-row{display:grid;grid-template-columns:auto minmax(180px,1fr) auto minmax(180px,1fr) auto;gap:8px;align-items:center}
.home-account-status{margin:10px 0 0;min-height:1.2em}

/* Four app-specific agent blocks: category label at left, four large tiles in a row. */
.home-agent-page{display:grid;gap:22px;width:100%}
.home-agent-category{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:start;padding:18px;border:1px solid var(--home-line);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(9,20,47,.68));box-shadow:0 18px 40px rgba(0,0,0,.18)}
.home-agent-category h2{margin:8px 0 0;text-align:left;color:#fff;font-size:22px;font-weight:600;text-shadow:0 2px 8px rgba(0,0,0,.46)}
.home-agent-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.home-agent-tile{appearance:none;min-width:0;min-height:176px;padding:16px 12px;border:2px solid rgba(255,255,255,.30);border-radius:18px;background:rgba(255,255,255,.10);color:#fff;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;box-shadow:0 12px 28px rgba(0,0,0,.13)}
.home-agent-tile:hover,.home-agent-tile:focus-visible{border-color:rgba(255,255,255,.66);background:rgba(255,255,255,.18)}
.home-agent-initial{width:88px;height:88px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:30px}
.home-agent-name{font-size:20px;font-weight:500}
.home-agent-alias{font-size:14px;color:rgba(255,255,255,.82)}

/* Shopping List: a lightweight Home equivalent of Work's pop-up notepad. */
.home-shopping-overlay[hidden]{display:none}
.home-shopping-overlay{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:24px;background:rgba(3,7,18,.66);backdrop-filter:blur(5px)}
.home-shopping-dialog{box-sizing:border-box;width:min(640px,94vw);max-height:min(760px,88vh);display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;gap:16px;padding:22px;border:1px solid rgba(255,255,255,.34);border-radius:22px;background:linear-gradient(160deg,rgba(44,71,137,.98),rgba(58,33,92,.98));box-shadow:0 28px 90px rgba(0,0,0,.52);color:#fff}
.home-shopping-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.home-shopping-header h2{margin:0;font-size:27px;font-weight:600}
.home-shopping-close{appearance:none;width:40px;height:40px;border:1px solid rgba(255,255,255,.34);border-radius:12px;background:rgba(0,0,0,.16);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.home-shopping-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}
.home-shopping-add textarea{box-sizing:border-box;width:100%;min-height:66px;resize:vertical;padding:11px 12px;border:1px solid rgba(255,255,255,.38);border-radius:12px;background:rgba(255,255,255,.94);color:#171926;font:inherit;line-height:1.35}
.home-shopping-add .hank-button{align-self:stretch;min-width:112px}
.home-shopping-list{min-height:120px;overflow:auto;display:grid;align-content:start;gap:8px;padding-right:4px}
.home-shopping-empty{padding:28px 12px;text-align:center;color:rgba(255,255,255,.72);border:1px dashed rgba(255,255,255,.28);border-radius:14px}
.home-shopping-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid rgba(255,255,255,.22);border-radius:13px;background:rgba(7,13,31,.30)}
.home-shopping-item input[type="checkbox"]{width:20px;height:20px;margin:0;accent-color:var(--home-purple-word);cursor:pointer}
.home-shopping-text{box-sizing:border-box;width:100%;min-width:0;padding:7px 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:#fff;font:inherit}
.home-shopping-text:focus{outline:none;border-color:rgba(255,255,255,.44);background:rgba(255,255,255,.08)}
.home-shopping-item.is-checked .home-shopping-text{text-decoration:line-through;color:rgba(255,255,255,.58)}
.home-shopping-delete{appearance:none;border:0;background:transparent;color:rgba(255,255,255,.76);font-size:22px;cursor:pointer;padding:4px 7px;border-radius:8px}
.home-shopping-delete:hover,.home-shopping-delete:focus-visible{background:rgba(255,255,255,.10);color:#fff}
.home-shopping-footer{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.16);padding-top:14px}
.home-shopping-footer .hank-button{min-width:128px}

/* Shared Chat expects #tiles to own the full available height. */
body.hank-chat-mode .home-root{width:100%;max-width:none;height:100%;min-height:0;margin:0;padding:0}
body.hank-chat-mode .home-brand,body.hank-chat-mode .hank-question{display:none!important}
body.hank-chat-mode .hank-gate-inner{height:100%;min-height:0}

@media(max-width:1100px){
  .home-agent-category{grid-template-columns:1fr}
  .home-agent-category h2{margin:0 0 2px}
  .home-agent-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-brand{width:min(900px,86vw);transform:translateX(-18px)}
  .home-brand-name{left:87.5%;font-size:clamp(38px,6vw,66px)}
}
@media(max-width:980px){
  .home-account-row,.home-contact-row{grid-template-columns:1fr 1fr}
  .home-account-row label,.home-contact-row label{white-space:normal}
  .home-account-row .hank-button,.home-contact-row .hank-button{grid-column:1/-1;justify-self:start}
}
@media(max-width:720px){
  .home-root{width:min(100% - 24px,1220px)}
  .home-toolbar{position:static}
  .home-toolbar .hank-button{min-width:0;flex:1 1 30%}
  .home-device-grid,.home-connection-grid{grid-template-columns:1fr}
  .home-device-meta{flex-direction:column;gap:4px}
  .home-landing-empty{min-height:28vh}
  .home-brand{width:min(560px,calc(100vw - (2 * var(--hank-content-gutter))));margin-top:42px;transform:none}
  .home-brand-name{left:84%;top:47.5%;font-size:clamp(28px,8vw,48px)}
  .home-account-row,.home-contact-row,.home-group-manager-body{grid-template-columns:1fr}
  .home-account-row label,.home-contact-row label{margin-top:6px}
  .home-agent-row{grid-template-columns:1fr 1fr;gap:12px}
  .home-agent-tile{min-height:154px}
  .home-shopping-overlay{padding:12px}
  .home-shopping-dialog{width:100%;max-height:92vh;padding:16px}
  .home-shopping-add{grid-template-columns:1fr}
}
@media(max-width:440px){
  .home-agent-row{grid-template-columns:1fr}
  .home-agent-tile{min-height:140px}
  .home-brand{width:min(94vw,430px)}
  .home-brand-name{left:79%;font-size:clamp(26px,9vw,40px)}
  .home-group-form{grid-template-columns:1fr}
}
