@import url('../assets/fonts/fonts.css');
:root{font-family:Inter,Arial,sans-serif;font-synthesis:none;color:#1a1a1a;--surface:#ffffffd9;--bg:#f7f4ec;--accent:#0d2a52;--positive:#1faf5a;--line:#d9dde3;--radius:16px;--legal-bg:#f6f8fa;--legal-surface:#fff;--legal-text:#1f2933;--legal-muted:#52616f;--legal-border:#d8e0e8;--legal-accent:#375a72;--legal-accent-hover:#28475f;--legal-active:#eaf0f4;--legal-overlay:rgba(15,23,42,.46)}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:var(--bg);padding:80px 24px 32px;line-height:1.55}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}a{color:var(--accent);text-underline-offset:4px}button,summary{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid #2ea8ff;outline-offset:4px}[hidden]{display:none!important}
:lang(hi){font-family:'Noto Sans Devanagari',Inter,sans-serif}:lang(th){font-family:'Noto Sans Thai',Inter,sans-serif}
h1{font-size:clamp(28px,3vw,32px);line-height:1.2;letter-spacing:-.025em;margin:0 0 24px}h2{font-size:22px;line-height:1.3;margin:0 0 16px}h3{font-size:18px;line-height:1.4}p{font-size:16px;margin:0 0 16px;overflow-wrap:break-word}p:last-child{margin-bottom:0}
.panel{width:100%;max-width:700px;margin:0 auto;padding:24px;border:1px solid #ffffffd9;border-radius:24px;background:var(--surface);box-shadow:0 16px 48px #0d2a5210,inset 0 1px #fff;backdrop-filter:blur(18px)}
.project-logo{display:block;width:96px;height:96px;object-fit:contain;margin:0 auto 24px}.project-panel h1{text-align:center}.back{display:inline-flex;align-items:center;min-height:48px;margin-bottom:16px;font-size:14px;text-decoration:none}
.actions{display:grid;gap:16px;margin-top:24px}.button{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid var(--accent);border-radius:14px;background:var(--accent);color:white;text-decoration:none;font-size:16px;line-height:1.4;font-weight:600;text-align:center;transition:background .15s,box-shadow .15s}
.button:hover{box-shadow:0 5px 16px #0d2a5226;filter:brightness(1.07)}.button:active{filter:brightness(.95)}.button.secondary{background:#ffffff88;color:var(--accent)}.button.positive{background:var(--positive);border-color:var(--positive);color:#fff}
.fmb{--bg:#f7f8fa;--accent:#0b1f3a;--positive:#b7e600;color:#161616;background:radial-gradient(ellipse at 80% 10%,#b7e6000d,transparent 60%),#f7f8fa}.fmb .actions{grid-template-columns:1fr 1fr}.trading{background:radial-gradient(ellipse at 10% 0%,#fff,#f7f4ec 70%)}.placeholder{padding:48px 24px;text-align:center}
.language-picker{position:absolute;right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));z-index:30;font-size:14px;color:#1a1a1a}
.language-picker summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid #bccbd8;border-radius:12px;background:#ffffffed;cursor:pointer}
.language-picker summary::-webkit-details-marker{display:none}.flag{width:24px;height:16px;flex:none;border-radius:2px;box-shadow:0 0 0 1px #8293a533}
.language-menu{position:absolute;right:0;top:100%;width:max-content;max-width:calc(100vw - 32px);padding-top:8px}
.language-menu>div{padding:4px;background:#fff;border:1px solid #d8e0e8;border-radius:16px;box-shadow:0 12px 40px #0a2e4f26;max-height:calc(100dvh - 84px);overflow:auto}
.language-menu a{display:flex;gap:12px;align-items:center;min-height:44px;padding:8px 12px;border-radius:10px;white-space:nowrap;text-decoration:none;color:#1f2933;font-weight:400}
.language-menu a:hover,.language-menu a[aria-current=page]{background:#eaf0f4}
.home{--avatar:clamp(136px,21dvh,184px);--overlap:calc(var(--avatar)*.3);color:#fff;background:#0a2e4f;padding:calc(var(--overlap) + 64px) 16px 16px;display:flex;flex-direction:column;isolation:isolate}
.sea{position:fixed;inset:-14px;z-index:-2;background-image:url('../assets/portrait-sea.webp');background-repeat:no-repeat;background-size:600% 100%;background-position:left top;filter:blur(9px)}
.home::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,#4ab2f014,#0046791f 50%,#092d4929)}
.home .panel{position:relative;max-width:520px;margin:auto;padding:calc(var(--avatar) - var(--overlap) + 24px) 24px 24px;text-align:center;background:linear-gradient(135deg,#c0def452,#185e9557 45%,#bed7de4d);border:1.5px solid #ffffffe6;color:white;box-shadow:inset 0 0 20px #ffffff0a,0 15px 45px #143b5712}
.portrait{position:absolute;top:calc(0px - var(--overlap));left:50%;transform:translateX(-50%);width:var(--avatar);aspect-ratio:1;border:2px solid white;border-radius:50%;overflow:hidden;box-shadow:0 12px 24px #103e5855;background:#41a1da}
/* Keep the existing avatar crop and appearance exactly. */
.portrait img{position:absolute;width:145%;height:145%;max-width:none;left:-22.5%;top:-3%;object-fit:cover;transform:scaleX(.96);transform-origin:center}
.home h1{margin-bottom:16px}.home p{line-height:1.5;margin-bottom:8px}.home .actions{gap:8px;margin-top:16px}.home .button{background:#d8eff23b;border:1.5px solid #ffffffe0;color:#fff;font-weight:400}.home .button:hover{background:#d9eff65c}.home .socials{margin-top:24px}.home h2{font-size:18px;font-weight:500;margin-bottom:12px}
.social-button{display:grid;grid-template-columns:1fr max-content 1fr;gap:12px}.social-button span{grid-column:2}.social-button img{grid-column:1;grid-row:1;justify-self:end;width:20px;height:20px;transition:opacity .15s}.social-button:hover img{opacity:.8}
.guide .panel{max-width:700px}.guide h1{font-size:24px;line-height:1.35}.guide-intro,.howto,.risk{padding:16px;border-radius:12px;margin-bottom:16px;background:#f2f6fa;border-left:3px solid #0d2a52}.howto{background:#edf7f0;border-color:#1faf5a}.risk{background:#fff3f1;border-color:#d93a3a}
.guide-intro p,.howto p,.risk p{font-size:16px}.risk h2,.guide-intro h2,.howto h2{font-size:16px;margin-bottom:8px}
.progress{margin:24px 0;padding:12px 16px;border-radius:14px;background:#ffffffe8;border:1px solid #d8e0e8;backdrop-filter:blur(12px);z-index:10;box-shadow:0 3px 14px #0d2a520d}
.progress.sticky{position:sticky;top:max(8px,env(safe-area-inset-top))}.progress-track{height:8px;background:#e1e7e4;border-radius:8px;overflow:hidden}#progress-fill{height:100%;width:0;background:#1faf5a;transition:width .25s}.progress-counter{font-size:14px;text-align:center;margin-top:8px}
.step{border:1px solid #d8e0e8;border-radius:16px;margin-bottom:16px;overflow:hidden;background:#fff}.step.complete{border-color:#1faf5a}.step.locked{background:#f7f8fa}
.step-head{display:flex;align-items:center;gap:8px;background:#f0f4f7;padding:16px}.step-toggle{display:flex;align-items:center;gap:12px;flex:1;border:0;background:transparent;padding:0;min-height:48px;text-align:left;font-size:17px;font-weight:600;line-height:1.4;color:#0d2a52}.step-toggle:disabled{color:#687580}.step-number{display:grid;place-items:center;flex:none;width:32px;height:32px;background:#0d2a52;color:white;border-radius:50%;font-size:16px}.complete .step-number{background:#1faf5a}.locked .step-number{background:#8c9eaf}
.step-label{display:flex;align-items:center;gap:8px;min-height:48px;font-size:14px;cursor:pointer;white-space:nowrap}.step-label input{width:20px;height:20px;accent-color:#1faf5a}
.step-content{padding:20px}.step-content ol{padding-left:24px;margin:0 0 24px;font-size:16px}.step-content li{padding-left:4px;margin-bottom:12px}.completion{border:1px solid #1faf5a;border-radius:16px;background:#eaf8ee;padding:20px;margin-bottom:16px}.completion h2{font-size:20px}.text-button{border:0;background:none;color:var(--accent);text-decoration:underline;padding:12px 0;font-size:14px;cursor:pointer}
#faq{margin-top:32px}#faq details{margin-bottom:12px;border:1px solid #d8e0e8;border-radius:12px;overflow:hidden;background:#fff}#faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;padding:16px;font-size:16px;font-weight:600;background:#f4f6f8}#faq summary::-webkit-details-marker{display:none}.faq-arrow{font-size:12px;transition:transform .2s}#faq details[open] .faq-arrow{transform:rotate(90deg)}.answer{padding:16px;border-top:1px solid #d8e0e8}.answer p{font-size:16px}
.guide-footer{margin-top:32px;display:flex;flex-direction:column;gap:8px;text-align:center;font-size:14px}.guide-footer a{display:inline-block;padding:8px}.guide-footer .text-button{margin:auto}.storage-status{font-size:14px;color:#833a1a;margin:16px 0}
.legal-page{background:var(--legal-bg);color:var(--legal-text)}.legal-page .panel{background:var(--legal-surface);border-color:var(--legal-border);box-shadow:none}.legal-copy h2{font-size:22px;margin:24px 0 16px}.legal-copy a{color:var(--legal-accent)}.legal-copy p{line-height:1.6}.legal-page .back{margin:24px 0 0;color:var(--legal-accent)}
.modal-open{overflow:hidden;scrollbar-gutter:stable}dialog{color:#1a1a1a;border:1px solid #d8e0e8;border-radius:24px;padding:24px;max-width:min(480px,calc(100vw - 32px));max-height:85dvh;overflow:auto;background:#fff;box-shadow:0 24px 80px #0d2a5233}dialog::backdrop{background:var(--legal-overlay)}dialog h2{padding-right:32px}.dialog-close{position:absolute;right:8px;top:8px;border:0;background:transparent;color:#375a72;width:44px;height:44px;font-size:28px}.modal-actions{display:grid;gap:12px;margin-top:24px}
.legal-dialog{width:720px;max-width:calc(100vw - 32px);padding:0;background:var(--legal-surface);color:var(--legal-text)}.legal-dialog [data-panel=legal]{padding:24px}.legal-dialog-header{position:sticky;top:0;background:#fff;z-index:1;padding-bottom:16px}.legal-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.legal-tabs button{min-height:48px;border:1px solid var(--legal-border);border-radius:12px;padding:8px;font-size:14px;background:white;color:var(--legal-text)}.legal-tabs [aria-selected=true]{background:var(--legal-active);border-color:var(--legal-accent)}.legal-dialog a{color:var(--legal-accent)}.legal-dialog :focus-visible{outline:2px solid var(--legal-accent)}.legal-copy{overflow-wrap:anywhere}
@media(min-width:601px) and (max-height:840px){.home{--avatar:clamp(112px,18dvh,160px);padding-top:calc(var(--overlap) + 16px)}.home .panel{padding-top:calc(var(--avatar) - var(--overlap) + 16px)}.home .socials{margin-top:16px}.home h1{font-size:28px}.home .actions{margin-top:12px}}
@media(min-width:601px) and (max-width:1366px) and (orientation:landscape){.home .panel{max-width:650px}}
@media(max-width:600px){body{padding:72px 16px 24px}.panel{padding:20px}.project-logo{width:80px;height:80px;margin-bottom:16px}.fmb .actions{grid-template-columns:1fr}.step-head{flex-wrap:wrap}.step-toggle{flex-basis:100%}.step-label{margin-left:auto}.step-content{padding:16px}.home{--avatar:clamp(112px,18dvh,160px);padding:calc(var(--overlap) + 64px) 12px 12px}.home .panel{padding:calc(var(--avatar) - var(--overlap) + 20px) 20px 20px}.home h1{font-size:28px}.home .socials{margin-top:20px}.home p{font-size:16px}.legal-dialog{max-width:100vw;width:100%;height:100dvh;max-height:100dvh;border-radius:0;margin:0}.legal-dialog [data-panel=legal]{padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom))}}
@media(max-width:600px) and (max-height:740px){.home{--avatar:112px;padding-top:calc(var(--overlap) + 16px)}.home .panel{padding-top:calc(var(--avatar) - var(--overlap) + 16px);padding-bottom:16px}.home h1{font-size:26px;margin-bottom:12px}.home .actions{margin-top:12px}.home .socials{margin-top:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
.legal-language-slot{height:48px;margin-bottom:16px}.legal-language-slot .language-picker{top:0;right:32px}.legal-dialog .dialog-close{position:sticky;float:right;z-index:40;top:8px;margin-bottom:-44px}.legal-dialog-header h2{font-size:22px}
.legal-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.legal-tabs button{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px) and (max-height:740px){.home{padding-bottom:8px}}
@media(max-width:600px) and (max-height:700px){.home{--avatar:104px;padding-top:calc(var(--overlap) + 4px);padding-bottom:4px}.home .panel{padding:calc(var(--avatar) - var(--overlap) + 8px) 16px 12px}.home h1{margin-bottom:8px}.home p{margin-bottom:4px}.home .actions{margin-top:8px}.home .socials{margin-top:12px}}

/* Locale-aware line breaking, with a static no-orphan fallback. */
.home h1{text-wrap:balance;word-break:normal;line-break:auto}
.home p{text-wrap:pretty;word-break:normal;line-break:auto;hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:6 3 3}
.keep-words{white-space:nowrap;hyphens:none;-webkit-hyphens:none}
strong{font-weight:700}

/* Compact navigation and a stationary legal toolbar. */
.back,.text-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:12px;background:#f2f6fa;color:var(--accent);text-decoration:none;font-size:14px;line-height:1.4;text-align:center}
.back:hover,.text-button:hover{background:#e6eef5;border-color:var(--accent)}
.support-card{display:flex;flex-direction:column;align-items:center;padding:16px;border:1px solid #bccbd8;border-radius:14px;background:#e6eef5;gap:4px}
.support-card>span{font-weight:600}.support-card a{overflow-wrap:anywhere;max-width:100%}
.guide-footer{gap:12px}.guide-footer .text-button{align-self:center;margin:0}
.legal-dialog [data-panel=legal]{padding:0 24px 24px}
.legal-dialog-header{padding-top:24px;top:0}
.legal-language-slot{position:relative}.legal-language-slot .language-picker{position:absolute;top:0;right:32px}
@media(min-width:1000px){body.trading,body.fmb,body.guide{padding-top:24px;padding-right:124px;padding-left:124px}}
@media(max-width:600px){.legal-dialog [data-panel=legal]{padding:0 16px calc(16px + env(safe-area-inset-bottom))}.legal-dialog-header{padding-top:calc(16px + env(safe-area-inset-top))}}

h1, h2, h3 { text-wrap: balance; }
body:not(.home) p, .step-content li {
  text-wrap: pretty;
  hyphens: auto;
  -webkit-hyphens: auto;
  hyphenate-limit-chars: 6 3 3;
}
.paragraph-tail {
  display: inline-block;
  max-inline-size: 100%;
  overflow-wrap: anywhere;
  hyphens: none;
  -webkit-hyphens: none;
}
.legal-copy .paragraph-tail {
  hyphens: manual;
  -webkit-hyphens: manual;
}
.home .button { font-weight: 600; }
.guide h1 { font-size: clamp(28px, 3vw, 32px); line-height: 1.2; }
.guide-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 8.5rem));
  justify-content: space-between;
  align-items: stretch;
  gap: 8px;
  margin-bottom: 16px;
}
.guide-nav .back { min-width: 0; margin: 0; overflow-wrap: anywhere; }
#restart { display: flex; width: fit-content; max-width: 100%; margin-inline: auto; }
.step-note {
  margin-bottom: 16px;
  padding: 12px 16px;
  border-left: 3px solid #d93a3a;
  border-radius: 12px;
  background: #fff3f1;
}
.step-content ol:has(+ .step-note) { margin-bottom: 16px; }
.support-card { padding: 12px 16px; font-size: 16px; }
.support-card a { padding: 0; font-weight: 400; }
.guide-footer [data-open-legal] {
  display: inline-flex;
  min-height: 44px;
  max-width: 100%;
  padding: 10px 16px;
  line-height: 1.4;
}
@media (max-width: 340px) {
  body.guide { padding-inline: 10px; }
  .guide .panel { padding-inline: 12px; }
  .guide-intro, .howto, .risk, .step-note, .answer { padding-inline: 10px; }
  body.legal-page { padding-inline: 10px; }
  .legal-page .panel, .legal-dialog [data-panel=legal] { padding-inline: 12px; }
}
