/* Authentication surfaces use the same mineral/graphite system as public profiles. */
.auth-shell,.signin-modal{--auth-bg:#F3F5EF;--auth-ink:#101710;--auth-line:#D2DCD0;--auth-muted:#68746A;--auth-forest:#235E43;--auth-mint:#C9F0D2;color:var(--auth-ink);font-family:var(--sans);background:var(--auth-bg)}
body[data-surface=login] .content{max-width:1220px;padding:54px 36px 64px;margin:auto;min-height:calc(100svh - 76px)}
body[data-surface=login] .filters,body[data-surface=login] .toolbar{display:none}
.auth-shell{display:grid;grid-template-columns:1fr 1fr;min-height:620px;border:1px solid #CCD6CC;border-radius:12px;overflow:hidden}
.signin-modal{max-width:860px;border:1px solid #BFCBC0;border-radius:12px;box-shadow:0 24px 100px #07140C38}
.signin-modal .signin-grid{grid-template-columns:.86fr 1.14fr;min-height:570px}
.auth-shell .signin-art,.signin-modal .signin-art{display:flex;position:relative;flex-direction:column;justify-content:space-between;align-items:stretch;gap:0;padding:32px;background:#101710;color:#C9F0D2;border:0;overflow:hidden}
.auth-shell .signin-art::after,.signin-modal .signin-art::after{display:none}
.auth-art-top{display:flex;align-items:center;gap:10px;font-size:14px;color:#DFEBDE;font-weight:600}
.auth-horizon-mark{display:inline-block;width:23px;height:23px;border-radius:50%;background:currentColor;position:relative;flex:none}
.auth-horizon-mark:after{content:"";position:absolute;left:0;right:0;top:10px;height:2px;background:#101710}
.auth-form-brand{display:flex;gap:10px;align-items:center;font-weight:650;font-size:18px;letter-spacing:-.6px;margin:0 0 45px}
.auth-form-brand .auth-horizon-mark:after{background:#F3F5EF}
.auth-orbit-stage{display:grid;place-items:center;position:relative;min-width:0;min-height:280px;flex:1;margin:20px -32px}
.auth-orbit-stage:before{content:"";position:absolute;width:80%;aspect-ratio:1;border:1px solid #405C4538;border-radius:50%;transform:rotate(-18deg) scaleY(.6);pointer-events:none}
.auth-shell .bh-art,.signin-modal .bh-art{font-size:8.1px;line-height:1.08;color:#94B7A0;text-shadow:none;position:relative;z-index:1;max-width:100%;font-family:var(--mono);letter-spacing:0}
.auth-shell .bh-art .bh-tok,.signin-modal .bh-art .bh-tok{color:#D2F4CF;text-shadow:none}
.auth-shell .bh-art{font-size:11px}
.auth-art-bottom{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;color:#B6C6B6}
.auth-art-bottom>span{font-size:24px;line-height:1.1;letter-spacing:-.8px;font-weight:500}
.auth-art-bottom button{background:none;border:0;color:#A0B3A3;font:10px var(--mono);padding:8px 0;cursor:pointer}
.auth-art-bottom button:hover{color:#D2F4CF}
.auth-shell .signin-pane,.signin-modal .signin-pane{background:var(--auth-bg);min-width:0;display:flex;flex-direction:column;padding:36px}
.auth-shell .signin-pane{padding:44px 48px}
.signin-modal .modal-head,.auth-shell .modal-head{padding:0;border:0;position:relative;display:flex;align-items:flex-start;gap:8px}
.signin-modal .modal-head h2,.auth-shell .modal-head h1{font-size:32px;font-weight:650;line-height:1.08;letter-spacing:-1.4px;color:var(--auth-ink);margin:22px 0 10px}
.auth-shell .modal-head h1{font-size:43px;letter-spacing:-2px;margin-top:0}
.signin-modal .modal-head p,.auth-shell .modal-head p{font-size:14px;line-height:1.5;color:var(--auth-muted);margin:0 0 25px;max-width:330px}
.signin-modal .modal-head .x{position:absolute;right:-19px;top:-19px;width:34px;height:34px;border:1px solid var(--auth-line);background:transparent;color:#4C6151;border-radius:7px;font-size:22px}
.signin-modal .modal-body,.auth-shell .modal-body{padding:0;overflow:visible;flex:1}
.signin-options{display:grid;gap:10px;width:100%;min-height:92px}
.signin-options>#signin-gsi-btn{min-height:44px;max-width:100%;overflow:hidden}
.auth-provider,.auth-primary{display:flex;width:100%;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:12px 15px;border:1px solid #BBCABC;border-radius:7px;background:#FBFCF8;color:#18261C;font:550 14px var(--sans);cursor:pointer;line-height:1.3}
.auth-provider svg{flex:none}.auth-github,.auth-primary{background:#17251C;color:#F0F6EC;border-color:#17251C}
.auth-provider:hover:not(:disabled),.auth-primary:hover{background:#E5EEE2}.auth-github:hover:not(:disabled),.auth-primary:hover{background:#2B4B35}
.auth-provider:disabled{opacity:.48;cursor:not-allowed}.auth-provider-note{font-size:11px;line-height:1.4;color:var(--auth-muted)}
#signin-status{font-size:12px;line-height:1.55;color:#8B4E34;margin:12px 0;min-height:0;overflow-wrap:anywhere}
#signin-status:empty{display:none}
.auth-remembered{display:flex;align-items:center;gap:10px;border:1px solid var(--auth-line);border-radius:8px;background:#EAF0E7;padding:12px;margin:20px 0;min-width:0}
.auth-remembered .avatar{flex:none}.auth-remembered>div{min-width:0;flex:1}.auth-remembered strong{font-size:12px;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-remembered small{font-size:10px;color:var(--auth-muted);display:block;overflow-wrap:anywhere}
.auth-remembered .auth-text-link{font-size:10px;padding:5px 0;max-width:83px;text-align:right}
.auth-text-link{color:var(--auth-forest);background:transparent;border:0;padding:0;font:500 12px var(--sans);cursor:pointer;text-decoration:none}
.auth-text-link:hover{text-decoration:underline;text-underline-offset:3px}
.signin-modal .signin-benefits,.auth-shell .signin-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:29px 0 26px}
.signin-modal .signin-benefit,.auth-shell .signin-benefit{display:block;border-left:1px solid var(--auth-line);padding-left:12px;min-width:0}
.signin-modal .signin-benefit:first-child,.auth-shell .signin-benefit:first-child{padding-left:0;border-left:0}
.signin-modal .signin-benefit .ico,.auth-shell .signin-benefit .ico{display:block;width:24px;height:24px;background:transparent;color:#466D53;border-radius:0;margin-bottom:9px}
.signin-benefit .ico svg{width:24px;height:24px}.signin-modal .signin-benefit .t,.auth-shell .signin-benefit .t{font-size:11px;line-height:1.3;margin-bottom:5px;color:#233626}.signin-modal .signin-benefit .d,.auth-shell .signin-benefit .d{font-size:10px;line-height:1.55;color:var(--auth-muted)}
.auth-privacy{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.55;color:var(--auth-muted);margin:0 0 20px}.auth-privacy svg{width:17px;height:17px;flex:none}
.signin-modal .modal-foot,.auth-shell .modal-foot{padding:0;border:0;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;font-size:10px;line-height:1.5;color:var(--auth-muted)}
.auth-mini-orbit{display:inline-block;flex:none;width:17px;height:17px;border:1px solid currentColor;border-radius:50%;position:relative;animation:auth-orbit 1.8s linear infinite}
.auth-mini-orbit:after{content:"";position:absolute;left:-3px;top:4px;width:5px;height:5px;border-radius:50%;background:currentColor}
@keyframes auth-orbit{to{transform:rotate(360deg)}}
.auth-provider-skeleton{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;background:#E4EBDF;color:#57705A;font-size:12px;border-radius:7px}
.auth-provider-placeholder{height:46px;border:1px solid #D9E2D4;border-radius:7px;background:#E9EEE5}
.auth-success{display:flex;flex-direction:column;justify-content:center;min-height:100%;align-items:flex-start}.auth-success h1{font-size:38px;letter-spacing:-1.6px;line-height:1.1;margin:20px 0 12px}.auth-success>p{color:var(--auth-muted);font-size:14px;margin:0 0 20px}.auth-success .auth-remembered{width:100%;margin:4px 0 24px}.auth-success .auth-primary{margin-bottom:17px}.auth-success .auth-privacy{margin-top:35px;font-size:11px}.auth-success-check{width:42px;height:42px;border:1px solid #9BB9A1;border-radius:50%;color:#235E43;background:#DCEBD9;display:grid;place-items:center;font-size:22px}
.auth-account{position:relative}.auth-account .user-chip{cursor:pointer;background:var(--th-surface,#fff);border:1px solid var(--th-rule-strong,#a5b5a9);color:var(--th-text,#121714);border-radius:7px;display:flex;gap:8px;align-items:center;padding:6px 10px;font-family:var(--sans);text-align:left}.auth-account .user-chip strong{display:block;font-size:12px;max-width:145px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auth-account .user-chip small{font-size:9px;color:var(--th-muted,#56635a)}.auth-account-menu{position:absolute;right:0;top:calc(100% + 9px);min-width:235px;padding:9px;background:#F3F5EF;border:1px solid #C1D0BE;border-radius:8px;box-shadow:0 10px 45px #0A160C26;color:#18261C;z-index:800}.auth-account-menu[hidden]{display:none}.auth-menu-identity{padding:9px 11px 13px;border-bottom:1px solid #D2DCD0;margin-bottom:4px;font-size:11px;overflow-wrap:anywhere}.auth-account-menu button,.auth-account-menu a{display:block;width:100%;padding:11px;border:0;border-radius:4px;background:transparent;font:13px var(--sans);color:#18261C;text-decoration:none;text-align:left;cursor:pointer}.auth-account-menu button:hover,.auth-account-menu a:hover{background:#E1EADB}.auth-account-menu [data-account-signout]{border-top:1px solid #D2DCD0;border-radius:0;margin-top:4px}
/* Public navigation stays graphite in either theme; keep its subtitle legible. */
.discovery-header #auth-slot .user-chip small{color:#b3c1b6}
.auth-shell :focus-visible,.signin-modal :focus-visible,.auth-account :focus-visible{outline:2px solid #568762;outline-offset:4px}
@media(max-width:900px){body[data-surface=login] .content{padding:28px 24px}.auth-shell{grid-template-columns:.88fr 1.12fr;min-height:590px}.auth-shell .signin-pane{padding:32px}.auth-shell .bh-art{font-size:8px}.auth-shell .modal-head h1{font-size:36px}.auth-shell .auth-form-brand{margin-bottom:35px}}
@media(max-width:650px){body[data-surface=login] .content{padding:24px 16px 40px}.auth-shell{grid-template-columns:1fr;min-height:0}.signin-modal{width:100%;max-height:calc(100svh - 28px);overflow:auto}.signin-modal .signin-grid{grid-template-columns:1fr;min-height:0}.auth-shell .signin-art,.signin-modal .signin-art{display:flex;min-height:160px;height:160px;padding:18px 22px}.auth-art-top{font-size:12px}.auth-art-top .auth-horizon-mark{width:18px;height:18px}.auth-art-top .auth-horizon-mark:after{top:8px;height:2px}.auth-orbit-stage{position:absolute;inset:-4px 0 -26px 27%;min-height:0;margin:0;opacity:.85}.auth-shell .bh-art,.signin-modal .bh-art{font-size:6.2px}.auth-art-bottom{position:relative;z-index:2;margin-top:auto}.auth-art-bottom>span{font-size:21px}.auth-art-bottom button{font-size:9px;margin-left:auto}.auth-shell .signin-pane,.signin-modal .signin-pane{padding:28px 24px}.signin-modal .modal-head h2,.auth-shell .modal-head h1{font-size:30px;letter-spacing:-1.3px;margin:0 0 10px}.auth-shell .auth-form-brand{display:none}.signin-modal .modal-head .x{right:-10px;top:-16px}.signin-modal .modal-head p,.auth-shell .modal-head p{font-size:13px;margin-bottom:24px}.signin-modal .signin-benefits,.auth-shell .signin-benefits{margin:25px 0 23px;gap:9px}.signin-modal .signin-benefit,.auth-shell .signin-benefit{padding-left:9px}.signin-modal .signin-benefit .d,.auth-shell .signin-benefit .d{font-size:9px}.auth-success h1{font-size:32px}.auth-success .auth-form-brand{display:flex;margin-bottom:30px}.auth-account .user-chip>span:not(:last-child){display:none}.auth-account-menu{right:-5px;min-width:220px}}
@media(max-width:350px){.auth-shell .signin-pane,.signin-modal .signin-pane{padding:27px 18px}.auth-shell .modal-head h1,.signin-modal .modal-head h2{font-size:27px}.auth-remembered{padding:10px 8px;gap:7px}.auth-remembered .auth-text-link{font-size:9px;max-width:66px}.signin-benefit .ico{margin-bottom:7px}}
@media(prefers-reduced-motion:reduce){.auth-shell *,.signin-modal *,.auth-account *{animation:none!important;transition:none!important}}
.auth-shell h1,.signin-modal h2,.auth-form-brand{font-family:var(--th-display,"Hubot Sans",sans-serif);font-stretch:105%}
.auth-shell .modal-head,.auth-shell .modal-body,.auth-shell .modal-foot,.signin-modal .modal-head,.signin-modal .modal-body,.signin-modal .modal-foot{background:transparent}
.auth-shell .signin-options,.auth-shell .signin-benefits,.auth-shell .auth-remembered,.auth-shell #signin-status{max-width:400px}
.auth-shell .signin-pane{justify-content:center}

.ui-update-notice{position:fixed;right:22px;bottom:22px;display:flex;align-items:center;gap:12px;max-width:430px;padding:15px 16px;background:#F3F5EF;color:#18261C;border:1px solid #BFCFBC;border-radius:8px;box-shadow:0 10px 35px #0A160C1F;font:12px var(--sans,sans-serif);z-index:900}.ui-update-notice strong,.ui-update-notice span{display:block}.ui-update-notice span{color:#63745F;font-size:11px;line-height:1.5;margin-top:3px}.ui-update-notice button{flex:none;min-height:36px;padding:8px 12px;background:#235E43;color:#F3F5EF;border:1px solid #235E43;border-radius:6px;cursor:pointer;font:500 11px var(--sans,sans-serif)}.ui-update-notice .ui-update-dismiss{background:transparent;color:#536B58;border:0;font-size:19px;padding:5px;min-width:30px}.ui-update-notice :focus-visible{outline:2px solid #568762;outline-offset:3px}.modal .ui-update-notice{position:relative;right:auto;bottom:auto;max-width:none;margin:15px;box-shadow:none}@media(max-width:500px){.ui-update-notice{left:14px;right:14px;bottom:14px;gap:9px;padding:12px}.ui-update-notice button{padding:8px}.modal .ui-update-notice{left:auto;right:auto}}

/* Authentication remains a short, readable task on narrow screens. */
@media(max-width:650px){
  .auth-shell .signin-pane,.signin-modal .signin-pane{grid-row:1;padding:24px 20px}
  .auth-shell .signin-art,.signin-modal .signin-art{grid-row:2;height:144px;min-height:144px;padding:16px 20px}
  .auth-shell .modal-head h1,.signin-modal .modal-head h2,.auth-success h1{letter-spacing:-.035em}
  .signin-modal .modal-head h2{padding-right:52px}
  .signin-modal .modal-head .x{width:44px;height:44px;right:0;top:0;display:grid;place-items:center}
  .signin-modal .modal-head p,.auth-shell .modal-head p{font-size:15px;line-height:1.6;margin-bottom:20px}
  .auth-art-bottom button{min-height:44px;min-width:44px;font-size:12px;padding:8px;background:#101710;border:1px solid #405c45;border-radius:5px;color:#d2f4cf}
  .auth-text-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px;line-height:1.5}
  .auth-provider-note,.auth-privacy,#signin-status{font-size:13px;line-height:1.6}
  .auth-remembered{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;padding:12px 0;border:0;border-top:1px solid var(--auth-line);border-bottom:1px solid var(--auth-line);border-radius:0;background:transparent}
  .auth-remembered strong{font-size:14px}
  .auth-remembered small{font-size:12px}
  .auth-remembered .auth-text-link{grid-column:2;max-width:none;justify-self:start;text-align:left;font-size:13px;padding:8px 0}
  .signin-modal .signin-benefits,.auth-shell .signin-benefits{grid-template-columns:minmax(0,1fr);gap:14px;margin:24px 0}
  .signin-modal .signin-benefit,.auth-shell .signin-benefit{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:12px;padding:0;border:0}
  .signin-modal .signin-benefit .ico,.auth-shell .signin-benefit .ico{margin:0}
  .signin-modal .signin-pane .signin-benefit .t,.auth-shell .signin-pane .signin-benefit .t{font-size:14px;margin-bottom:3px}
  .signin-modal .signin-pane .signin-benefit .d,.auth-shell .signin-pane .signin-benefit .d{font-size:13px;line-height:1.5}
  .signin-modal .signin-pane .modal-foot,.auth-shell .signin-pane .modal-foot{font-size:12px;flex-wrap:wrap}
  .auth-success .auth-privacy{margin-top:20px;font-size:13px}
  .auth-account-menu{max-width:calc(100vw - 32px)}
  .auth-account-menu button,.auth-account-menu a{min-height:44px;display:flex;align-items:center;font-size:14px}
  .auth-menu-identity{font-size:12px}
  .ui-update-notice{flex-wrap:wrap;font-size:13px}
  .ui-update-notice>div{flex:1 1 160px;min-width:0}
  .ui-update-notice span{font-size:12px}
  .ui-update-notice button{min-height:44px;font-size:13px}
  .ui-update-notice .ui-update-dismiss{min-width:44px;min-height:44px}
}

.auth-password{display:grid;gap:.6rem;margin-bottom:1rem}.auth-password label{font-size:.8rem}.auth-password input{box-sizing:border-box;width:100%;padding:.7rem;background:transparent;color:inherit;border:1px solid #8886;border-radius:.3rem;font:inherit}
