/* Release&Dream PRO — its own look: black, ivory and a thin gold line */
:root{--p-bg:#0B0B0D;--p-panel:#121215;--p-panel-2:#17171B;--p-line:#26262C;--p-gold:#C8A864;--p-gold-hi:#DCC28A;--p-text:#F2EEE7;--p-muted:#A09B93;--p-faint:#6E6A64}
body.pro{background:var(--p-bg);color:var(--p-text)}
body.pro .btn{background:var(--p-gold);color:#16130C}
body.pro .btn:hover{background:var(--p-gold-hi)}
body.pro .btn-ghost{background:transparent;color:var(--p-text);border:1px solid var(--p-line)}
body.pro .btn-ghost:hover{background:rgba(255,255,255,.04)}
body.pro :focus-visible{outline-color:var(--p-gold-hi)}
.pro-mark{display:inline-flex;align-items:center;gap:10px;color:var(--p-text);text-decoration:none}
.pro-mark img{width:34px;height:34px;border-radius:50%}
.pro-mark span{font-family:var(--serif);font-size:1.15rem;letter-spacing:.01em}
.pro-mark b{font-family:var(--sans);font-weight:600;font-size:.68rem;letter-spacing:.14em;color:var(--p-gold);border:1px solid rgba(200,168,100,.5);border-radius:4px;padding:2px 6px}

/* ---------- sign in / sign up ---------- */
.auth{min-height:100vh;min-height:100svh;display:grid;grid-template-rows:auto 1fr auto;padding:calc(env(safe-area-inset-top,0px) + 18px) 20px calc(env(safe-area-inset-bottom,0px) + 18px)}
.auth-top{display:flex;justify-content:space-between;align-items:center;max-width:1080px;width:100%;margin:0 auto}
.auth-top a.back{color:var(--p-muted);text-decoration:none;font-size:.9rem;min-height:44px;display:inline-flex;align-items:center}
.auth-top a.back:hover{color:var(--p-text)}
.auth-card{align-self:center;justify-self:center;width:min(440px,100%);margin:32px 0;padding:34px 28px 28px;background:var(--p-panel);border:1px solid var(--p-line);border-radius:22px;position:relative;overflow:hidden}
.auth-card::before{content:"";position:absolute;left:28px;right:28px;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--p-gold),transparent)}
.auth-card h1{font-family:var(--serif);font-weight:500;font-size:2.1rem;line-height:1.08;margin:0 0 6px}
.auth-card .sub{margin:0 0 22px;color:var(--p-muted);font-size:.97rem}
.tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;border:1px solid var(--p-line);border-radius:999px;margin-bottom:20px}
.tabs button{min-height:40px;border:0;border-radius:999px;background:transparent;color:var(--p-muted);font-size:.92rem;cursor:pointer}
.tabs button[aria-selected="true"]{background:rgba(200,168,100,.14);color:var(--p-text)}
.google{width:100%;min-height:52px;border-radius:12px;border:1px solid var(--p-line);background:#fff;color:#1f1f1f;font-weight:500;font-size:.98rem;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer}
.google:hover{background:#f2f2f2}
.or{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--p-faint);font-size:.82rem}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--p-line)}
.field{display:grid;gap:6px;margin-bottom:12px}
.field label{font-size:.86rem;color:var(--p-muted)}
.field input{min-height:50px;padding:0 14px;border-radius:12px;border:1px solid var(--p-line);background:var(--p-panel-2);color:var(--p-text);font:inherit;font-size:1rem}
.field input:focus{outline:2px solid var(--p-gold-hi);outline-offset:1px;border-color:transparent}
.auth-card .btn{width:100%;border-radius:12px;margin-top:6px}
.auth-msg{margin:12px 0 0;min-height:1.2em;font-size:.9rem;color:var(--p-gold-hi)}
.auth-fine{margin:16px 0 0;font-size:.8rem;color:var(--p-faint);line-height:1.5}
.auth-fine a{color:var(--p-muted)}
.auth-foot{text-align:center;font-size:.8rem;color:var(--p-faint)}
.soon-box{margin:0 0 18px;padding:12px 14px;border:1px solid rgba(200,168,100,.35);border-radius:12px;font-size:.88rem;color:var(--p-gold-hi);background:rgba(200,168,100,.06)}

/* ---------- PRO app shell ---------- */
.app{display:grid;grid-template-columns:1fr;min-height:100vh;min-height:100dvh}
@media(min-width:1100px){.app{grid-template-columns:240px 1fr 360px}}
.side{display:none;border-right:1px solid var(--p-line);padding:22px 16px;flex-direction:column;gap:6px}
@media(min-width:1100px){.side{display:flex}}
.side nav{display:grid;gap:2px;margin-top:22px}
.side a,.tabbar a{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:10px;color:var(--p-muted);text-decoration:none;font-size:.95rem}
.side a[aria-current="page"],.side a:hover{color:var(--p-text);background:rgba(255,255,255,.04)}
.side a .tag,.pro-tile .tag{margin-left:auto;font-size:.68rem;color:var(--p-faint);border:1px solid var(--p-line);border-radius:999px;padding:1px 8px}
.side .out{margin-top:auto;border:0;background:transparent;color:var(--p-faint);text-align:left;min-height:44px;padding:0 12px;cursor:pointer;font:inherit;font-size:.9rem}
.side .out:hover{color:var(--p-text)}
.main{padding:calc(env(safe-area-inset-top,0px) + 18px) 20px 100px;max-width:900px;width:100%;margin:0 auto}
.main-top{display:flex;justify-content:space-between;align-items:center}
@media(min-width:1100px){.main-top .pro-mark{visibility:hidden}}
.hello{margin:34px 0 8px;font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,8vw,3rem);line-height:1.05}
.hello-sub{margin:0 0 26px;color:var(--p-muted)}
.pro-grid{display:grid;gap:12px}
@media(min-width:700px){.pro-grid{grid-template-columns:1fr 1fr}}
.pro-tile{display:grid;gap:8px;padding:22px;border:1px solid var(--p-line);border-radius:18px;background:var(--p-panel);text-decoration:none;color:var(--p-text)}
.pro-tile:hover{border-color:rgba(200,168,100,.45)}
.pro-tile h2{font-family:var(--serif);font-weight:500;font-size:1.45rem;margin:0;display:flex;align-items:center;gap:8px}
.pro-tile p{margin:0;color:var(--p-muted);font-size:.93rem}
.preview-bar{margin:0 0 16px;padding:10px 14px;border-radius:12px;border:1px dashed rgba(200,168,100,.45);color:var(--p-gold-hi);font-size:.85rem}

/* AI coach panel: always on the right on desktop, a button + sheet on phones */
.coach{display:none;border-left:1px solid var(--p-line);background:var(--p-panel);flex-direction:column;height:100vh;height:100dvh;position:sticky;top:0}
@media(min-width:1100px){.coach{display:flex}}
.coach-head{padding:20px 20px 14px;border-bottom:1px solid var(--p-line)}
.coach-head h2{margin:0;font-family:var(--serif);font-weight:500;font-size:1.35rem}
.coach-head p{margin:2px 0 0;font-size:.8rem;color:var(--p-faint)}
.coach-log{flex:1;overflow-y:auto;padding:18px 20px;display:grid;align-content:start;gap:10px}
.bubble{max-width:88%;padding:11px 14px;border-radius:14px;font-size:.93rem;line-height:1.5}
.bubble.bot{background:var(--p-panel-2);border:1px solid var(--p-line)}
.bubble.me{justify-self:end;background:rgba(200,168,100,.14)}
.coach-form{display:flex;gap:8px;padding:14px;border-top:1px solid var(--p-line)}
.coach-form input{flex:1;min-width:0;min-height:46px;padding:0 14px;border-radius:12px;border:1px solid var(--p-line);background:var(--p-bg);color:var(--p-text);font:inherit;font-size:.95rem}
.coach-form button{min-height:46px;padding:0 16px;border-radius:12px}
.coach-note{margin:0;padding:0 20px 14px;font-size:.74rem;color:var(--p-faint)}
.coach-fab{position:fixed;right:18px;bottom:calc(env(safe-area-inset-bottom,0px) + 84px);width:56px;height:56px;border-radius:50%;border:0;background:var(--p-gold);color:#16130C;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 30px -10px rgba(0,0,0,.8);z-index:5}
@media(min-width:1100px){.coach-fab{display:none}}
.coach.sheet-open{display:flex;position:fixed;inset:auto 0 0 0;height:80vh;height:80dvh;border:1px solid var(--p-line);border-radius:20px 20px 0 0;z-index:20}
.coach-close{display:none;border:0;background:transparent;color:var(--p-muted);min-height:44px;padding:0 6px;cursor:pointer;float:right;font:inherit}
.coach.sheet-open .coach-close{display:inline-block}
.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-around;padding:6px 8px calc(env(safe-area-inset-bottom,0px) + 6px);background:rgba(11,11,13,.94);border-top:1px solid var(--p-line);z-index:4}
.tabbar a{flex-direction:column;gap:2px;min-height:52px;justify-content:center;font-size:.72rem;padding:0 8px}
.tabbar a[aria-current="page"]{color:var(--p-gold-hi)}
@media(min-width:1100px){.tabbar{display:none}}
@media(min-width:1100px){.main-top [data-signout]{display:none}}

.remember{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;margin:4px 0 14px;font-size:.86rem;line-height:1.45;color:var(--p-faint);cursor:pointer}
.remember[hidden]{display:none}
.remember input{width:20px;height:20px;margin:1px 0 0;accent-color:#e7a98a}
.remember b{font-weight:500;color:inherit;filter:brightness(1.35)}

/* forgot password */
.forgot{margin:-4px 0 10px;text-align:right}
.forgot.center{text-align:center;margin:10px 0 0}
.forgot button{background:none;border:0;padding:0;min-height:36px;color:var(--p-muted);font:inherit;font-size:.88rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.forgot button:hover{color:var(--p-text)}
.remember a{color:inherit}
.auth-top{gap:14px}.auth-top .pro-mark{flex:none}.auth-top a.back{text-align:right;line-height:1.25}@media(max-width:430px){.auth-top .pro-mark span{font-size:.98rem}.auth-top a.back{font-size:.82rem;max-width:7.5em}}
