/* Kosuki site extras: install button, account prompts, mobile menu logo and actions, iPhone install sheet.
   Colors come from the theme palette, with the Kosuki colors as fallbacks. */
:root{--ks-washi:var(--wp--preset--color--washi,#F3F1EC);--ks-paper:var(--wp--preset--color--paper,#FBFAF6);--ks-sumi:var(--wp--preset--color--sumi,#1E1D1A);--ks-stone:var(--wp--preset--color--stone,#6B675F);--ks-line:var(--wp--preset--color--hairline,#DAD5C9);--ks-shu:var(--wp--preset--color--shu,#C23B28);--ks-ai:var(--wp--preset--color--ai,#26436B);--ks-kinari:var(--wp--preset--color--kinari,#EAE6DC)}

/* Header actions */
.kosuki-hdr{display:flex;align-items:center;gap:.75rem;margin:0}
.kosuki-install-btn{display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-size:.875rem;font-weight:600;line-height:1;color:var(--ks-shu);background:transparent;border:1.5px solid var(--ks-shu);border-radius:999px;padding:.5rem .85rem;min-height:36px;cursor:pointer;white-space:nowrap}
.kosuki-install-btn:hover{background:var(--ks-shu);color:var(--ks-paper)}
.kosuki-install-btn[hidden]{display:none}
.kosuki-install-btn.is-block{width:100%;justify-content:center;font-size:1rem;min-height:48px;border-radius:10px;background:var(--ks-shu);color:var(--ks-paper)}
.kosuki-hdr__acct{display:none;align-items:center;gap:.75rem;font-size:.95rem}
.kosuki-hdr__signin{color:var(--ks-sumi);text-decoration:none;font-weight:600}
.kosuki-hdr__signin:hover{text-decoration:underline}
.kosuki-hdr__join{color:var(--ks-paper);background:var(--ks-ai);text-decoration:none;font-weight:600;border-radius:999px;padding:.5rem .95rem;line-height:1}
.kosuki-hdr__join:hover{opacity:.9}
@media (min-width:782px){.kosuki-hdr__acct{display:inline-flex}}
@media (max-width:360px){.kosuki-install-btn:not(.is-block) span{display:none}.kosuki-install-btn:not(.is-block){padding:.5rem}}

/* Account prompt card */
.kosuki-join{display:flex;gap:1rem;align-items:flex-start;background:var(--ks-paper);border:1px solid var(--ks-line);border-radius:12px;padding:1.25rem;box-shadow:0 1px 2px rgba(30,29,26,.04),0 8px 24px -12px rgba(30,29,26,.12)}
.kosuki-join__seal{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:6px;background:var(--ks-shu);color:var(--ks-paper);font-family:'Kosuki Seal',var(--wp--preset--font-family--mincho,serif);font-weight:800;font-size:22px;line-height:1;transform:rotate(-4deg);box-shadow:inset 0 0 0 2px var(--ks-shu),inset 0 0 0 3.5px var(--ks-paper)}
.kosuki-join__text{min-width:0}
.kosuki-join p{margin:0}
.kosuki-join__title{font-family:var(--wp--preset--font-family--recoleta,Recoleta,serif);font-weight:400;font-synthesis:none;font-size:1.25rem;line-height:1.2;letter-spacing:-.01em;color:var(--ks-sumi)}
.kosuki-join__body{color:var(--ks-stone);margin-top:.35rem !important;line-height:1.5}
.kosuki-join__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem !important}
.kosuki-join__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.6rem 1.1rem;border-radius:10px;font-weight:600;text-decoration:none;line-height:1.2;color:var(--ks-sumi);background:var(--ks-kinari)}
.kosuki-join__btn.is-primary{background:var(--ks-ai);color:var(--ks-paper)}
.kosuki-join__btn:hover{opacity:.92}
.kosuki-join.is-compact{padding:1rem}
.kosuki-join.is-compact .kosuki-join__seal{display:none}
.kosuki-join.is-menu{padding:1rem;box-shadow:none}
.kosuki-join.is-menu .kosuki-join__btn{flex:1}

/* Line under the Track button on exam and guide pages */
.kosuki-dates__acct{font-size:.9em;color:var(--ks-stone);margin:.75rem 0 0}

/* Mobile menu: logo at the top, actions at the bottom (the theme styles the menu itself) */
.kosuki-menu-head{display:none;align-items:center;gap:.7rem;text-decoration:none;color:var(--ks-sumi)}
.is-menu-open .kosuki-menu-head{display:flex}
.kosuki-menu-head .kosuki-seal{flex:none}
.kosuki-menu-head__name{font-family:var(--wp--preset--font-family--baloo,var(--wp--preset--font-family--hind),sans-serif);font-weight:800;font-size:1.6rem;letter-spacing:-.01em;line-height:1}
.kosuki-menu-head__name::after{content:"\2122";font-size:.5em;vertical-align:.95em;margin-left:.08em;line-height:0}
.kosuki-menu-foot{display:none;gap:.75rem;margin-top:auto;padding-top:1.5rem}
.is-menu-open .kosuki-menu-foot{display:grid}
.kosuki-menu-acct{background:var(--ks-paper);border:1px solid var(--ks-line);border-radius:12px;padding:1rem}
.kosuki-menu-acct p{margin:0}
.kosuki-menu-acct .kosuki-join__btn{flex:1}

/* iPhone install sheet */
.kosuki-sheet{border:0;padding:0;background:transparent;max-width:100%;width:100%;margin:auto auto 0;color:var(--ks-sumi)}
.kosuki-sheet::backdrop{background:rgba(30,29,26,.45)}
.kosuki-sheet__in{background:var(--ks-paper);border-radius:18px 18px 0 0;padding:1.5rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));max-width:520px;margin:0 auto;text-align:left}
.kosuki-sheet__in img{border-radius:12px;display:block}
.kosuki-sheet h2{font-family:var(--wp--preset--font-family--recoleta,Recoleta,serif);font-weight:400;font-synthesis:none;font-size:1.4rem;letter-spacing:-.01em;margin:.9rem 0 .5rem}
.kosuki-sheet ol{margin:0 0 .75rem;padding-left:1.25rem;line-height:1.7}
.kosuki-sheet svg{vertical-align:-4px;color:var(--ks-ai)}
.kosuki-sheet p{color:var(--ks-stone);margin:0 0 1rem}
.kosuki-sheet__ok{width:100%;min-height:48px;border:0;border-radius:10px;background:var(--ks-ai);color:var(--ks-paper);font:inherit;font-weight:600;cursor:pointer}

/* ---------- One size system (1.5.2): 48px buttons, 40px header pills ---------- */
.kosuki-install-btn,.kosuki-hdr__join{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:40px;padding:0 14px;border-radius:999px;font-size:15px;font-weight:600;line-height:1;white-space:nowrap}
.kosuki-hdr__signin{display:inline-flex;align-items:center;min-height:40px;font-size:15px}
.kosuki-install-btn.is-block{min-height:48px;border-radius:10px;font-size:16px}
.kosuki-join__actions{display:flex;flex-wrap:wrap;gap:.5rem}
.kosuki-join__btn{box-sizing:border-box;flex:1 1 140px;min-height:48px;padding:0 20px;border-radius:10px;font-size:16px;line-height:1.2;white-space:nowrap}
.kosuki-join .k-lnk{flex:1 1 100%;justify-content:center;justify-self:auto}
.kosuki-sheet__ok{min-height:48px;border-radius:10px;font-size:16px}
@media (max-width:480px){.kosuki-join{flex-direction:column;gap:.75rem}}

/* Account page: Create account and Sign in */
.kosuki-acct{display:grid;gap:1rem;max-width:480px}
.kosuki-acct__lead{color:var(--ks-stone);margin:0}
.kosuki-acct__tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--ks-kinari);border-radius:12px;padding:4px;gap:4px}
.kosuki-acct__tabs a{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:9px;font-weight:600;text-decoration:none;color:var(--ks-stone)}
.kosuki-acct__tabs a.is-on{background:var(--ks-paper);color:var(--ks-sumi);box-shadow:0 1px 2px rgba(30,29,26,.08)}
.kosuki-acct__card{background:var(--ks-paper);border:1px solid var(--ks-line);border-radius:12px;padding:1.25rem;box-shadow:0 1px 2px rgba(30,29,26,.04),0 10px 24px -16px rgba(30,29,26,.18)}
.kosuki-acct__title{font-family:var(--wp--preset--font-family--recoleta,Recoleta,serif);font-size:1.4rem;margin:0 0 .25rem;font-synthesis:none}
.kosuki-acct__form{display:grid;gap:1rem;margin:0}
.kosuki-acct__form p{margin:0;display:grid;gap:.35rem}
.kosuki-acct__form label{font-weight:600;font-size:.95rem}
.kosuki-acct__form label span{font-weight:400;color:var(--ks-stone)}
.kosuki-acct__form input[type=text],.kosuki-acct__form input[type=email],.kosuki-acct__form input[type=password]{box-sizing:border-box;width:100%;min-height:48px;padding:0 14px;border:1px solid var(--ks-line);border-radius:10px;background:var(--ks-washi);font:inherit;color:var(--ks-sumi)}
.kosuki-acct__form input:focus{outline:3px solid var(--ks-shu);outline-offset:1px}
.kosuki-acct__consent{border:1px solid var(--ks-line);border-radius:10px;padding:.75rem 1rem;margin:0;display:grid;gap:.6rem}
.kosuki-acct__consent legend{font-weight:600;font-size:.95rem;padding:0 .25rem}
.kosuki-acct__consent label{font-weight:400;display:flex;gap:.6rem;align-items:flex-start;line-height:1.4}
.kosuki-acct__consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--ks-ai);flex:none}
.kosuki-acct__small{font-size:.875rem;color:var(--ks-stone)}
.kosuki-acct__submit{width:100%;border:0;cursor:pointer;font:inherit;font-weight:600}
.kosuki-acct__error{margin:0 0 1rem;padding:.75rem 1rem;border-radius:10px;background:color-mix(in srgb,var(--ks-shu) 10%,var(--ks-paper));color:var(--ks-shu);font-weight:600}
.kosuki-acct__hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}
