/* Photoprompt Auth 1.0.0 */
:root{
  --pp-auth-paper:#f3f0e9;
  --pp-auth-paper-2:#ece8df;
  --pp-auth-ink:#101010;
  --pp-auth-rust:#cd542f;
  --pp-auth-moss:#566052;
  --pp-auth-line:rgba(16,16,16,.14);
  --pp-auth-soft:rgba(16,16,16,.58);
}

body.pp-auth-route{background:var(--pp-auth-paper);}
body.pp-auth-route #primary,
body.pp-auth-route .site-main,
body.pp-auth-route .entry-content{max-width:none!important;width:100%!important;margin:0!important;padding:0!important;}

.pp-auth-page{
  min-height:100svh;
  padding:calc(var(--pp-shell-measured-bottom,var(--pp-shell-static-bottom,118px)) + clamp(24px,4vh,48px)) clamp(18px,2vw,38px) clamp(48px,7vh,96px);
  box-sizing:border-box;
  background:
    radial-gradient(circle at 82% 18%,rgba(205,84,47,.08),transparent 29%),
    linear-gradient(135deg,var(--pp-auth-paper),#f8f5ef 54%,var(--pp-auth-paper-2));
  color:var(--pp-auth-ink);
}

.pp-auth-shell{
  width:min(100%,1540px);
  min-height:min(780px,calc(100svh - 190px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(460px,.82fr);
  overflow:hidden;
  border:1px solid rgba(16,16,16,.14);
  border-radius:28px;
  background:#fffdfa;
  box-shadow:0 34px 90px rgba(16,16,16,.12);
}

.pp-auth-visual{
  position:relative;
  min-height:760px;
  overflow:hidden;
  isolation:isolate;
  background:#0e0f0e;
  color:#f7f3ec;
}

.pp-auth-visual::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:92px 92px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 92%);
}

.pp-auth-visual::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.16) 56%,rgba(0,0,0,.84));
}

.pp-auth-shot{
  --x:12%;--y:13%;--r:-4deg;--w:56%;--h:46%;
  position:absolute;
  left:var(--x);top:var(--y);
  width:var(--w);height:var(--h);
  margin:0;
  transform:rotate(var(--r)) scale(.97);
  transform-origin:center;
  overflow:hidden;
  border:9px solid #f2efe8;
  background:
    var(--pp-auth-bg,linear-gradient(135deg,#2d322c,#111)) center/cover no-repeat;
  box-shadow:0 26px 66px rgba(0,0,0,.38);
  opacity:.68;
  transition:transform 900ms cubic-bezier(.2,.7,.2,1),opacity 900ms ease,filter 900ms ease;
  filter:saturate(.78) contrast(1.02);
}
.pp-auth-shot::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(0,0,0,.7));}
.pp-auth-shot span,.pp-auth-shot strong{position:absolute;z-index:2;left:18px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.08em;}
.pp-auth-shot span{top:16px;font-size:9px;color:rgba(255,255,255,.78)}
.pp-auth-shot strong{bottom:16px;font-size:clamp(18px,2vw,30px);line-height:.95;letter-spacing:-.03em;color:#fff;max-width:86%;}
.pp-auth-shot--2{--x:45%;--y:9%;--r:4deg;--w:43%;--h:39%;}
.pp-auth-shot--3{--x:33%;--y:43%;--r:2deg;--w:55%;--h:42%;}
.pp-auth-shot.is-active{z-index:2;opacity:1;transform:rotate(var(--r)) scale(1.02);filter:saturate(1) contrast(1.04);}

.pp-auth-visual__copy{position:absolute;z-index:5;left:clamp(28px,4vw,66px);bottom:clamp(30px,5vh,64px);max-width:530px;}
.pp-auth-visual__copy>span,.pp-auth-visual__copy>small{display:block;font:700 9px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:#c36a48;}
.pp-auth-visual__copy strong{display:block;margin:15px 0 20px;font:850 clamp(46px,5vw,82px)/.86 Inter,Arial,sans-serif;letter-spacing:-.065em;text-transform:none;color:#f6f2eb;}
.pp-auth-visual__copy>small{color:rgba(246,242,235,.5);}

.pp-auth-panel{display:flex;align-items:center;justify-content:center;padding:clamp(34px,5vw,84px);background:#fffdfa;}
.pp-auth-panel__inner{width:min(100%,590px);}
.pp-auth-kicker{margin-bottom:16px;font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--pp-auth-rust);}
.pp-auth-panel h1{margin:0;font:850 clamp(52px,5vw,78px)/.88 Inter,Arial,sans-serif;letter-spacing:-.065em;word-break:normal;overflow-wrap:normal;hyphens:none;color:var(--pp-auth-ink);}
.pp-auth-lead{margin:22px 0 34px;max-width:520px;font:500 17px/1.55 Inter,Arial,sans-serif;letter-spacing:-.02em;color:rgba(16,16,16,.64);}

.pp-auth-social{display:grid;gap:10px;margin:0 0 26px;}
.pp-auth-social .nsl-container,.pp-auth-social .nsl-container-buttons{width:100%!important;max-width:none!important;margin:0!important;}
.pp-auth-social .nsl-container a{width:100%!important;max-width:none!important;box-sizing:border-box!important;}
.pp-auth-social .nsl-button{min-height:52px!important;border-radius:8px!important;box-shadow:none!important;}

.pp-auth-divider{display:flex;align-items:center;gap:14px;margin:10px 0 26px;color:rgba(16,16,16,.42);font:700 9px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.1em;text-transform:uppercase;}
.pp-auth-divider::before,.pp-auth-divider::after{content:"";height:1px;flex:1;background:var(--pp-auth-line);}

.pp-auth-form{display:grid;gap:18px;}
.pp-auth-form__split{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.pp-auth-field{display:grid;gap:8px;min-width:0;}
.pp-auth-field__label{font:700 12px/1.2 Inter,Arial,sans-serif;color:rgba(16,16,16,.86);}
.pp-auth-field__control{position:relative;display:flex;align-items:center;min-height:56px;border:1px solid rgba(16,16,16,.16);border-radius:9px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;}
.pp-auth-field__control:focus-within{border-color:rgba(205,84,47,.7);box-shadow:0 0 0 3px rgba(205,84,47,.09);}
.pp-auth-field__icon{display:grid;place-items:center;width:48px;flex:0 0 48px;color:rgba(16,16,16,.44);}
.pp-auth-field__icon svg,.pp-auth-password-toggle svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;}
.pp-auth-field input{width:100%;min-width:0;height:54px;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:0 14px 0 0!important;font:600 14px/1 Inter,Arial,sans-serif;color:#111!important;}
.pp-auth-field input::placeholder{color:rgba(16,16,16,.34);font-weight:500;}
.pp-auth-password-toggle{display:grid;place-items:center;width:46px;height:46px;margin-right:4px;border:0;background:transparent;color:rgba(16,16,16,.45);cursor:pointer;border-radius:8px;}
.pp-auth-password-toggle:hover,.pp-auth-password-toggle.is-active{color:var(--pp-auth-rust);background:rgba(205,84,47,.07);}

.pp-auth-form__meta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:-2px;font:600 12px/1.35 Inter,Arial,sans-serif;}
.pp-auth-form__meta a,.pp-auth-switch a,.pp-auth-terms a{color:var(--pp-auth-rust);text-decoration:none;}
.pp-auth-form__meta a:hover,.pp-auth-switch a:hover,.pp-auth-terms a:hover{text-decoration:underline;text-underline-offset:3px;}
.pp-auth-check,.pp-auth-terms{display:flex;align-items:flex-start;gap:9px;cursor:pointer;color:rgba(16,16,16,.66);}
.pp-auth-check input,.pp-auth-terms input{position:absolute;opacity:0;pointer-events:none;}
.pp-auth-check>span,.pp-auth-terms>span{width:17px;height:17px;flex:0 0 17px;border:1px solid rgba(16,16,16,.24);border-radius:4px;background:#fff;position:relative;}
.pp-auth-check input:checked+span,.pp-auth-terms input:checked+span{background:var(--pp-auth-moss);border-color:var(--pp-auth-moss);}
.pp-auth-check input:checked+span::after,.pp-auth-terms input:checked+span::after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);}
.pp-auth-terms{margin:4px 0 0;font:500 12px/1.5 Inter,Arial,sans-serif;}
.pp-auth-terms em{font-style:normal;}

.pp-auth-submit{width:100%;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 18px 0 22px;border:1px solid var(--pp-auth-rust);border-radius:9px;background:linear-gradient(135deg,#d6653f,var(--pp-auth-rust));color:#fff;text-decoration:none;font:800 11px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 16px 34px rgba(205,84,47,.16);transition:transform .2s ease,filter .2s ease;}
.pp-auth-submit:hover{transform:translateY(-1px);filter:brightness(.97);}
.pp-auth-submit span:last-child{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f8f5ef;color:var(--pp-auth-rust);font-size:18px;}
.pp-auth-secondary{display:inline-flex;margin-top:12px;color:rgba(16,16,16,.68);font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;}
.pp-auth-switch{margin:24px 0 0;text-align:center;font:600 13px/1.5 Inter,Arial,sans-serif;color:rgba(16,16,16,.56);}
.pp-auth-message{margin:0 0 18px;padding:14px 16px;border:1px solid;border-radius:8px;font:600 13px/1.45 Inter,Arial,sans-serif;}
.pp-auth-message--error{border-color:rgba(205,84,47,.28);background:rgba(205,84,47,.07);color:#8e391f;}
.pp-auth-message--success{border-color:rgba(86,96,82,.3);background:rgba(86,96,82,.08);color:#3f4a3d;}
.pp-auth-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:34px;padding-top:20px;border-top:1px solid var(--pp-auth-line);font:700 8px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.11em;color:rgba(16,16,16,.36);}
.pp-auth-logged{display:grid;gap:10px;}
.pp-auth-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;}

@media(max-width:1120px){
  .pp-auth-shell{grid-template-columns:minmax(0,.86fr) minmax(430px,1fr);}
  .pp-auth-visual{min-height:700px;}
  .pp-auth-panel{padding:44px;}
  .pp-auth-visual__copy strong{font-size:clamp(42px,5vw,64px);}
}

@media(max-width:880px){
  .pp-auth-page{padding-left:14px;padding-right:14px;}
  .pp-auth-shell{display:flex;flex-direction:column;min-height:auto;border-radius:20px;}
  .pp-auth-panel{order:1;padding:clamp(28px,7vw,52px) clamp(20px,6vw,44px);}
  .pp-auth-visual{order:2;min-height:420px;}
  .pp-auth-visual__copy{left:28px;bottom:28px;}
  .pp-auth-visual__copy strong{font-size:52px;}
  .pp-auth-shot{border-width:6px;}
}

@media(max-width:620px){
  .pp-auth-page{padding-top:calc(var(--pp-shell-measured-bottom,var(--pp-shell-static-bottom,76px)) + 14px);padding-bottom:34px;}
  .pp-auth-shell{border-radius:16px;}
  .pp-auth-panel{padding:28px 20px 30px;}
  .pp-auth-panel h1{font-size:clamp(48px,14vw,64px);}
  .pp-auth-lead{font-size:15.5px;margin:18px 0 28px;}
  .pp-auth-form__split{grid-template-columns:1fr;}
  .pp-auth-form__meta{align-items:flex-start;flex-direction:column;}
  .pp-auth-visual{min-height:330px;}
  .pp-auth-visual__copy strong{font-size:44px;}
  .pp-auth-visual__copy small{display:none;}
  .pp-auth-shot{width:62%;height:46%;}
  .pp-auth-shot--2{left:38%;width:49%;height:40%;}
  .pp-auth-shot--3{left:31%;top:42%;width:58%;height:44%;}
}

@media(prefers-reduced-motion:reduce){
  .pp-auth-shot,.pp-auth-submit,.pp-auth-field__control{transition:none!important;}
}

/* Best-effort compatibility with common dark-mode hooks in the Photoprompt theme. */
html[data-theme="dark"] .pp-auth-page,
body.dark-mode .pp-auth-page,
body.pp-dark .pp-auth-page{background:#0d0e0d;color:#f4f0e8;}
html[data-theme="dark"] .pp-auth-shell,
body.dark-mode .pp-auth-shell,
body.pp-dark .pp-auth-shell{border-color:rgba(255,255,255,.12);background:#171817;}
html[data-theme="dark"] .pp-auth-panel,
body.dark-mode .pp-auth-panel,
body.pp-dark .pp-auth-panel{background:#171817;}
html[data-theme="dark"] .pp-auth-panel h1,
body.dark-mode .pp-auth-panel h1,
body.pp-dark .pp-auth-panel h1{color:#f4f0e8;}
html[data-theme="dark"] .pp-auth-lead,
body.dark-mode .pp-auth-lead,
body.pp-dark .pp-auth-lead{color:rgba(244,240,232,.66);}
html[data-theme="dark"] .pp-auth-field__label,
body.dark-mode .pp-auth-field__label,
body.pp-dark .pp-auth-field__label{color:rgba(244,240,232,.84);}
html[data-theme="dark"] .pp-auth-field__control,
body.dark-mode .pp-auth-field__control,
body.pp-dark .pp-auth-field__control{border-color:rgba(255,255,255,.14);background:#101110;}
html[data-theme="dark"] .pp-auth-field input,
body.dark-mode .pp-auth-field input,
body.pp-dark .pp-auth-field input{color:#f4f0e8!important;}


/* 1.0.1 visual calmness refinement */
.pp-auth-visual{
  background:
    radial-gradient(circle at 18% 78%,rgba(205,84,47,.08),transparent 24%),
    linear-gradient(180deg,#090a09,#0f1110 55%,#090909);
}
.pp-auth-visual::after{
  background:
    linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.76) 28%,rgba(0,0,0,.26) 52%,rgba(0,0,0,.1) 100%),
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.18) 56%,rgba(0,0,0,.8));
}
.pp-auth-shot{
  border-width:8px;
  opacity:.9;
  filter:saturate(.9) contrast(1.04);
}
.pp-auth-shot strong{display:none;}
.pp-auth-shot::before{background:linear-gradient(180deg,transparent 68%,rgba(0,0,0,.38));}
.pp-auth-shot span{left:14px;top:14px;font-size:8px;letter-spacing:.11em;color:rgba(255,255,255,.88);}
.pp-auth-shot--1{--x:42%;--y:10%;--r:-4deg;--w:42%;--h:50%;}
.pp-auth-shot--2{--x:56%;--y:8%;--r:3.5deg;--w:31%;--h:31%;}
.pp-auth-shot--3{--x:50%;--y:49%;--r:2deg;--w:37%;--h:36%;}
.pp-auth-shot.is-active{transform:rotate(var(--r)) scale(1.015);}
.pp-auth-visual__copy{
  left:clamp(28px,4vw,54px);
  bottom:clamp(28px,5vh,52px);
  max-width:min(40%,440px);
  padding-right:24px;
}
.pp-auth-visual__copy strong{
  margin:14px 0 16px;
  font-size:clamp(48px,5.2vw,78px);
  line-height:.9;
  text-wrap:balance;
}
.pp-auth-visual__copy::after{
  content:"";
  display:block;
  width:78px;
  height:1px;
  margin-top:18px;
  background:rgba(246,242,235,.26);
}
@media(max-width:1120px){
  .pp-auth-visual__copy{max-width:min(43%,370px);}
  .pp-auth-shot--1{--x:40%;--w:45%;}
  .pp-auth-shot--2{--x:54%;--w:33%;}
  .pp-auth-shot--3{--x:47%;--w:41%;}
}
@media(max-width:880px){
  .pp-auth-shot strong{display:none;}
  .pp-auth-visual__copy{max-width:min(70%,420px);padding-right:0;}
  .pp-auth-visual__copy::after{width:64px;}
}
@media(max-width:620px){
  .pp-auth-shot--1{left:12%;top:10%;width:62%;height:47%;}
  .pp-auth-shot--2{left:38%;top:7%;width:49%;height:40%;}
  .pp-auth-shot--3{left:30%;top:44%;width:58%;height:44%;}
  .pp-auth-visual__copy{max-width:80%;}
}


/* 1.0.2 headline spacing + calmer composition */
.pp-auth-visual__copy{
  max-width:min(47%, 560px);
  z-index:5;
}
.pp-auth-visual__copy strong{
  display:flex;
  flex-direction:column;
  gap:.08em;
  font-size:clamp(50px, 5.15vw, 82px);
  line-height:.92;
  letter-spacing:-0.05em;
  text-wrap:balance;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.pp-auth-visual__copy strong span{
  display:block;
  max-width:12.5ch;
}
.pp-auth-visual__copy strong span:last-child{
  max-width:13.5ch;
}
.pp-auth-shot--1{--x:50%;--y:11%;--r:-4deg;--w:31%;--h:49%;}
.pp-auth-shot--2{--x:62%;--y:8%;--r:3deg;--w:28%;--h:31%;}
.pp-auth-shot--3{--x:56%;--y:50%;--r:2deg;--w:32%;--h:35%;}
@media(max-width:1180px){
  .pp-auth-visual__copy{max-width:min(50%, 520px);}
  .pp-auth-visual__copy strong{font-size:clamp(46px,4.8vw,72px);}
  .pp-auth-shot--1{--x:52%;--w:32%;}
  .pp-auth-shot--2{--x:63%;--w:28%;}
  .pp-auth-shot--3{--x:58%;--w:34%;}
}
@media(max-width:980px){
  .pp-auth-visual__copy{max-width:min(58%, 500px);}
  .pp-auth-visual__copy strong{font-size:clamp(40px,6.6vw,60px);}
  .pp-auth-visual__copy strong span{max-width:none;}
}
@media(max-width:620px){
  .pp-auth-visual__copy strong{
    gap:.04em;
    font-size:clamp(34px,10.8vw,50px);
  }
}


/* 1.0.3 Variant A — clean editorial auth visual */
.pp-auth-shell{grid-template-columns:minmax(0,.94fr) minmax(470px,.86fr);}
.pp-auth-visual{min-height:760px;background:#0b0c0b;}
.pp-auth-visual::before{opacity:.45;background-size:110px 110px;}
.pp-auth-visual::after{
  background:
    linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,.02) 52%,rgba(0,0,0,.08)),
    linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.18) 58%,rgba(0,0,0,.78));
}
.pp-auth-shot{display:none!important;}
.pp-auth-cover-photo{
  position:absolute;
  inset:clamp(28px,4vw,58px) clamp(28px,4vw,58px) clamp(230px,27vh,290px);
  margin:0;
  overflow:hidden;
  border:1px solid rgba(246,242,235,.16);
  border-radius:16px;
  background:var(--pp-auth-bg,linear-gradient(135deg,#2f342f,#101110)) center/cover no-repeat;
  box-shadow:0 30px 70px rgba(0,0,0,.28);
}
.pp-auth-cover-photo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.22));
}
.pp-auth-cover-photo__index,.pp-auth-cover-photo__mark{
  position:absolute;z-index:2;top:18px;
  font:700 8px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72);
}
.pp-auth-cover-photo__index{left:18px;}
.pp-auth-cover-photo__mark{right:18px;color:rgba(255,255,255,.42);}
.pp-auth-visual__copy{
  left:clamp(28px,4vw,58px);right:clamp(28px,4vw,58px);bottom:clamp(34px,5vh,58px);
  max-width:none;padding:0;
}
.pp-auth-visual__copy strong{
  display:flex;flex-direction:column;gap:.02em;margin:14px 0 12px;
  font-size:clamp(44px,4.7vw,72px);line-height:.92;letter-spacing:-.055em;
}
.pp-auth-visual__copy strong span{max-width:none;}
.pp-auth-visual__copy p{
  max-width:520px;margin:0 0 18px;
  font:500 15px/1.5 Inter,Arial,sans-serif;letter-spacing:-.02em;color:rgba(246,242,235,.68);
}
.pp-auth-visual__copy::after{width:70px;margin-top:18px;}
.pp-auth-social{display:grid;gap:10px;margin:0 0 24px;}
.pp-auth-social__label{
  font:800 8px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.12em;text-transform:uppercase;color:rgba(16,16,16,.42);
}
.pp-auth-social__buttons{display:grid;gap:10px;}
.pp-auth-social__buttons .nsl-container,.pp-auth-social__buttons .nsl-container-buttons{width:100%!important;max-width:none!important;margin:0!important;}
.pp-auth-social__buttons .nsl-button{min-height:54px!important;border-radius:9px!important;box-shadow:none!important;}
@media(max-width:1120px){
  .pp-auth-shell{grid-template-columns:minmax(0,.8fr) minmax(440px,1fr);}
  .pp-auth-cover-photo{inset:34px 34px 240px;}
  .pp-auth-visual__copy{left:34px;right:34px;bottom:42px;}
}
@media(max-width:880px){
  .pp-auth-visual{min-height:500px;}
  .pp-auth-cover-photo{inset:24px 24px 190px;}
  .pp-auth-visual__copy{left:28px;right:28px;bottom:28px;}
  .pp-auth-visual__copy strong{font-size:clamp(42px,8vw,58px);}
}
@media(max-width:620px){
  .pp-auth-visual{min-height:430px;}
  .pp-auth-cover-photo{inset:18px 18px 175px;}
  .pp-auth-visual__copy strong{font-size:clamp(38px,11vw,50px);}
  .pp-auth-visual__copy p{font-size:14px;}
}
