/* Heltebog (heltebog.theill.com). The app's look (Heltebog/App/Theme.swift): warm parchment, an oxblood accent like
   a leather-bound book, gold highlights, serif headings (the system serif), the sheet's numbers in the rounded face.
   No web fonts, nothing loaded from other sites. */
:root{color-scheme:light dark;
--page:#F5EFE3;--card:#FFFCF6;--ink:#2A211B;--muted:#6E6257;--line:#E4D9C6;
--accent:#9B2C24;--accent-ink:#8A241D;--soft:#F6E3DF;--gold:#B8862B;--gold-soft:#F5E8CC;--heal:#2F7D4F;--temp:#2F6E9E;
--shadow:0 1px 2px rgba(60,30,10,.06),0 14px 34px -16px rgba(60,30,10,.3);
--serif:ui-serif,"New York","Iowan Old Style",Georgia,"Hiragino Mincho ProN","Noto Serif",serif;
--round:ui-rounded,"SF Pro Rounded","Hiragino Maru Gothic ProN","Apple SD Gothic Neo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
--sans:-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",Roboto,"Hiragino Sans","Apple SD Gothic Neo","Noto Sans",sans-serif}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
--page:#13110F;--card:#221E1A;--ink:#F2EADF;--muted:#B3A898;--line:#3A342D;
--accent:#E46A5E;--accent-ink:#EF8378;--soft:#3A1F1C;--gold:#E3B65A;--gold-soft:#3A2E17;--heal:#5BC48A;--temp:#6AAEE0;
--shadow:0 1px 2px rgba(0,0,0,.35),0 16px 34px -16px rgba(0,0,0,.7)}}
:root[data-theme="dark"]{--page:#13110F;--card:#221E1A;--ink:#F2EADF;--muted:#B3A898;--line:#3A342D;
--accent:#E46A5E;--accent-ink:#EF8378;--soft:#3A1F1C;--gold:#E3B65A;--gold-soft:#3A2E17;--heal:#5BC48A;--temp:#6AAEE0;
--shadow:0 1px 2px rgba(0,0,0,.35),0 16px 34px -16px rgba(0,0,0,.7)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--page);color:var(--ink);font:400 17px/1.6 var(--sans);overflow-x:hidden}
a{color:var(--accent-ink)}img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:var(--card);padding:8px 12px;border-radius:10px;z-index:10}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}.narrow{max-width:760px}
h1,h2,h3{font-family:var(--serif);margin:0 0 .4em;font-weight:700;letter-spacing:-.015em;line-height:1.08}
h1{font-size:clamp(40px,5.4vw,68px);letter-spacing:-.025em}h2{font-size:clamp(30px,4vw,48px)}
h3{font-size:21px;line-height:1.25;letter-spacing:0}
h1 em,h2 em{font-style:italic;color:var(--accent)}
:lang(ko) h1,:lang(ko) h2,:lang(ko) h3,:lang(ko) .lead,:lang(ko) p{word-break:keep-all}
:lang(ja){--serif:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif}
:lang(ko){--serif:"AppleMyungjo","Noto Serif KR",serif}
:lang(ja) h1,:lang(ja) h2,:lang(ko) h1,:lang(ko) h2{letter-spacing:0;line-height:1.25}
:lang(ja) h1,:lang(ko) h1{font-size:clamp(32px,4.4vw,54px)}:lang(ja) h2,:lang(ko) h2{font-size:clamp(26px,3.4vw,40px)}
:lang(ja) h1 em,:lang(ja) h2 em,:lang(ko) h1 em,:lang(ko) h2 em{font-style:normal}
.lead{font-size:clamp(18px,1.9vw,21px);color:var(--muted);max-width:36em;margin:0}.muted{color:var(--muted);font-size:15px}
.top .wrap{display:flex;align-items:center;gap:26px;height:76px}
.brand{display:flex;align-items:center;gap:10px;font:700 24px var(--serif);color:var(--ink);text-decoration:none}
.brand img{border-radius:9px;box-shadow:0 5px 12px -5px rgba(110,30,20,.7)}
.top nav{margin-left:auto;display:flex;gap:24px}.top nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:16px}.top nav a:hover{color:var(--accent-ink)}
.pill{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border-radius:999px;padding:10px 18px;font-weight:700;font-size:15px;text-decoration:none;white-space:nowrap}
.pill.soon{background:var(--soft);color:var(--accent-ink)}
.hero{position:relative;overflow:hidden;isolation:isolate;padding:36px 0 20px}
.hero::before{content:"";position:absolute;inset:-20% -10% 20% 40%;z-index:-1;background:radial-gradient(closest-side,color-mix(in srgb,var(--gold) 22%,transparent),transparent)}
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.actions{display:flex;align-items:center;gap:24px;margin:30px 0 24px;flex-wrap:wrap}
.pill.big{padding:0 28px;min-height:58px;font-size:17px}
.pill.big.soon{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 2px var(--line)}
.more{font-weight:700;color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2.5px;text-underline-offset:6px}
.facts{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--muted);font-weight:600;font-size:15px}
.facts li{display:flex;align-items:center;gap:7px}.facts svg{width:18px;height:18px;color:var(--accent)}
.hero-art{position:relative;min-height:690px;display:grid;place-items:center}
/* the phone and the drawn sheet */
.phone{position:relative;z-index:2;width:310px;aspect-ratio:310/660;border-radius:54px;padding:11px;background:#1C1714;flex:none;
box-shadow:0 0 0 2px #3A302A,0 40px 80px -30px rgba(60,20,10,.55)}
.phone .island{position:absolute;top:20px;left:50%;width:84px;height:24px;margin-left:-42px;border-radius:14px;background:#1C1714;z-index:4}
.screen{height:100%;border-radius:44px;background:var(--page);color:var(--ink);overflow:hidden;position:relative;font-family:var(--sans);display:flex;flex-direction:column;gap:9px;padding:56px 12px 12px}
.screen .sym{display:block}
.roll{position:absolute;z-index:3;left:10px;right:10px;top:48px;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:16px;
background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(8px);box-shadow:0 0 0 2px var(--gold),0 12px 24px -10px rgba(0,0,0,.35)}
.roll div{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.roll b{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roll span{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}
.roll i{font-style:normal;font-weight:700;font-size:10px;color:var(--gold)}
.roll strong{font:800 32px/1 var(--round);color:var(--gold)}
.who{display:flex;align-items:center;gap:10px;margin-top:66px}
.emblem{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(160deg,#4E8FC4,#2F6E9E);color:#fff}
.emblem .sym{width:20px;height:20px}
.who h4{margin:0;font:700 18px/1.15 var(--serif)}.who p{margin:0;font-size:10.5px;color:var(--muted)}
.pills{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.pill-stat{display:flex;flex-direction:column;align-items:center;padding:6px 2px;border-radius:11px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.pill-stat strong{font:800 14px/1.1 var(--round)}.pill-stat span{font-size:8px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}
.pages{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.pages span{text-align:center;padding:7px 1px;border-radius:10px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);font-size:8px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pages .on{background:var(--accent);color:#fff;box-shadow:none}
.card{background:var(--card);border-radius:14px;padding:10px;box-shadow:inset 0 0 0 1px var(--line)}
.card .label{font-size:9.5px;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
:lang(ja) .card .label,:lang(ko) .card .label{text-transform:none}
.hpnum{display:flex;align-items:baseline;gap:4px}.hpnum strong{font:800 34px/1.05 var(--round)}.hpnum span{font:700 14px var(--round);color:var(--muted)}
.hpnum em{margin-left:auto;font:800 18px var(--round);color:var(--temp);font-style:normal}
.bar{display:flex;height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin:6px 0 9px}.bar i{background:var(--heal)}.bar u{background:var(--temp)}
.btns{display:flex;gap:6px}.b{flex:1;display:grid;place-items:center;height:34px;border-radius:11px;font-size:11px;font-weight:700}
.b.fill{background:var(--accent);color:#fff}.b.soft{background:var(--soft);color:var(--accent)}.b.sq{flex:none;width:34px;background:color-mix(in srgb,var(--temp) 14%,transparent);color:var(--temp)}
.b.sq .sym{width:15px;height:15px}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:6px}
.tile{display:flex;flex-direction:column;align-items:center;padding:6px 0;border-radius:10px;background:var(--page)}
.tile b{font-size:8.5px;letter-spacing:.06em;color:var(--accent)}.tile strong{font:800 19px/1.1 var(--round)}
.tile span{font-size:8.5px;font-weight:650;color:var(--muted);background:var(--line);border-radius:6px;padding:0 6px}
/* bands */
.band{padding:96px 0 16px}.band h2{max-width:17em}.band .lead{margin-top:4px}
.features{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feature{background:var(--card);border-radius:28px;padding:28px;box-shadow:var(--shadow);border-top:4px solid var(--accent)}
.feature>.sym{width:40px;height:40px;padding:8px;border-radius:12px;background:var(--soft);color:var(--accent);box-sizing:content-box;margin-bottom:14px}
.feature p{margin:0;color:var(--muted)}
.more-list{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px 28px}
.more-list li{display:flex;gap:14px}.more-list .sym{flex:none;width:26px;height:26px;color:var(--gold);margin-top:2px}
.more-list h3{font-size:18px;margin:0 0 4px}.more-list p{margin:0;color:var(--muted);font-size:16px}
.shots{display:flex;gap:24px;justify-content:center;margin-top:40px;flex-wrap:wrap}
.shots figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;width:250px}
.shots img{border-radius:34px;box-shadow:var(--shadow),0 0 0 1px var(--line)}
.shots figcaption{text-align:center;color:var(--muted);font-size:15px;font-weight:600;line-height:1.4}
.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.note{background:var(--card);border-radius:26px;padding:26px;box-shadow:var(--shadow)}
.note>.sym{width:40px;height:40px;padding:8px;border-radius:12px;background:var(--gold-soft);color:var(--gold);box-sizing:content-box;margin-bottom:14px}
.note p{margin:0;color:var(--muted)}
.duo{display:grid;grid-template-columns:1.05fr 1fr;gap:20px;align-items:stretch;padding-top:96px;padding-bottom:16px}
.duo section{border-radius:34px;padding:40px}
.leather{position:relative;overflow:hidden;isolation:isolate;color:#fff;background:linear-gradient(150deg,#B23A30,#8A241D 55%,#5A1611)}
.leather::after{content:"";position:absolute;inset:14px;border-radius:24px;border:2px dashed rgba(240,200,102,.55);z-index:-1}
.leather h2,.leather h2 em{color:#fff}.leather h2 em{color:#F0C866}.leather p{color:rgba(255,255,255,.92);max-width:32em}
.nots{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;font-weight:650}
.nots li{display:flex;align-items:center;gap:8px}.nots svg{width:18px;height:18px;flex:none;color:#F0C866}
.card-panel{background:var(--card);box-shadow:var(--shadow)}.card-panel p{color:var(--muted)}
.icons{display:flex;gap:14px;margin-top:22px}.icons img{width:60px;border-radius:14px}
.footer-srd{margin-top:22px!important;font-size:13px;opacity:.8}
/* faq */
.faq-band{padding-bottom:96px}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:48px;align-items:start}
.faq details{border-bottom:1.5px solid var(--line);padding:18px 0}.faq details:first-child{padding-top:4px}
.faq summary{font-weight:700;cursor:pointer;font-size:18px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--serif)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:50%;background:var(--soft);color:var(--accent-ink);display:grid;place-items:center;font-weight:800;font-size:21px;line-height:1}
.faq details[open] summary::after{content:"\2212"}.faq p{color:var(--muted);margin:10px 0 0}
.wrap.page{padding:56px 24px 80px}.wrap.page h2{font-size:28px;margin-top:40px}.tips li{margin:8px 0}
/* footer (layout B) */
.site-footer{border-top:1px solid var(--line);padding:40px 0;font-size:15px;line-height:1.5;color:var(--muted)}
.site-footer p{margin:0}.site-footer a{color:inherit;text-decoration:none}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px 40px}
.footer-id{display:grid;gap:6px;max-width:440px}
.footer-brand{display:inline-flex;align-items:center;gap:8px;justify-self:start;margin-bottom:4px;color:var(--ink);font:700 16px/1.3 var(--serif)}
.footer-brand img{width:20px;height:20px;border-radius:5px;box-shadow:0 0 0 1px var(--line);filter:grayscale(1);opacity:.5;transition:filter .2s,opacity .2s}
.footer-brand:hover img{filter:none;opacity:1}
.footer-made a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}
.footer-made a:hover,.footer-made a:focus-visible{color:var(--ink);text-decoration-color:currentColor}
.footer-side{display:flex;flex-direction:column;align-items:flex-end;gap:16px}
.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 20px}.footer-links a:hover{color:var(--ink)}
/* Language: a pill that opens a menu upwards. Plain links inside, so it works without JavaScript too. */
.language{position:relative;display:inline-block}
.language summary{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 16px 0 14px;border-radius:999px;background:var(--card);border:1px solid var(--line);
color:var(--ink);font:600 15px/1 var(--sans);list-style:none;cursor:pointer;user-select:none;-webkit-user-select:none;transition:border-color .2s}
.language summary::-webkit-details-marker{display:none}
.language summary:hover,.language[open] summary{border-color:var(--muted)}
.language summary svg{width:18px;height:18px;flex:none;color:var(--muted)}
.language summary .chevron{width:14px;height:14px;margin-left:2px;transition:transform .2s}
.language[open] summary .chevron{transform:rotate(180deg)}
.language ul{position:absolute;right:0;bottom:calc(100% + 10px);z-index:5;min-width:220px;max-height:70vh;overflow:auto;margin:0;padding:6px;list-style:none;
display:grid;gap:2px;background:var(--card);border-radius:22px;transform-origin:bottom right;box-shadow:0 24px 60px -24px rgba(30,15,90,.45),0 0 0 1px var(--line)}
.language[open] ul{animation:language-in .16s cubic-bezier(.2,.8,.2,1)}
@keyframes language-in{from{opacity:0;transform:translateY(6px) scale(.98)}}
.site-footer .language a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;border-radius:16px;color:var(--ink);font-size:16px}
.site-footer .language a:hover,.site-footer .language a:focus-visible{background:var(--soft);outline:none}
.language a[aria-current]{font-weight:650}.language a svg{width:18px;height:18px;color:var(--accent)}
/* responsive */
@media (max-width:1000px){.features,.notes,.more-list{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.hero-grid,.duo,.faq-grid{grid-template-columns:1fr}.hero{padding-top:20px}.hero-art{min-height:0;padding:20px 0}.faq-grid{gap:8px}}
@media (max-width:760px){.footer-top{flex-direction:column}.footer-side{align-items:flex-start}.footer-links{justify-content:flex-start}
.language ul{right:auto;left:0;transform-origin:bottom left}.top nav{display:none}.top .pill{margin-left:auto}}
@media (max-width:640px){.features,.notes,.more-list{grid-template-columns:1fr}.band{padding-top:72px}.duo section{padding:30px 24px}.nots{grid-template-columns:1fr}
.phone{width:290px}}
@media (max-width:400px){.wrap{padding:0 16px}.wrap.page{padding:40px 16px 64px}.phone{width:270px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.language[open] ul{animation:none}}
