@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@400;500;600;700;900&display=swap');
.birth-fields{display:grid;grid-template-columns:1.25fr 1fr;gap:12px;max-width:410px;margin:27px auto 0;text-align:left}.birth-fields label{font-size:12px;color:#d2d4c6}.birth-fields label span{font-size:10px;color:#8e9a88;margin-left:6px}.birth-fields input{color-scheme:dark;display:block;min-width:0;width:100%;height:45px;border:1px solid #58604d;background:#19211cc9;color:#eee9dc;padding:10px;margin-top:8px;border-radius:0;font:14px system-ui}.primary:disabled{opacity:.5;cursor:wait}
:root{--bg:#141a18;--paper:#eee9dc;--ink:#29322c;--muted:#788379;--gold:#c5a779;--red:#974d3a;--line:rgba(42,52,44,.17)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:#e5e4da;font-family:system-ui,-apple-system,'Malgun Gothic',sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button{transition:background .2s,transform .2s}button:hover{transform:translateY(-2px)}[hidden]{display:none!important}.nav{max-width:1200px;margin:auto;padding:25px 36px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff12}.brand{font-family:'Noto Serif KR',serif;font-size:18px;font-weight:700;letter-spacing:2px;text-decoration:none;color:inherit;display:flex;gap:12px;align-items:center}.seal{background:var(--red);padding:4px 8px;font-size:19px;font-weight:400;color:#f5e9d3}.quiet{background:none;border:0;color:#c4c9bd;font-size:13px;padding:10px}.quiet span{color:var(--gold);margin-left:8px}.hero{position:relative;min-height:565px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}.hero-copy{position:relative;z-index:1;padding:56px 20px 38px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--gold);font-weight:600}.hero h1{font-family:'Noto Serif KR',serif;font-size:clamp(48px,7vw,80px);font-weight:500;line-height:1.4;letter-spacing:-4px;margin:18px 0 20px}.hero em{font-style:normal;color:#d2b587}.intro{font-size:14px;line-height:1.95;color:#acb5a9}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:65px;margin:24px 0 5px;padding:18px 26px;background:#bc9c6e;border:1px solid #d1b485;color:#19201b;font-weight:700;font-size:16px}.primary:hover{background:#ddc197}.small{font-size:11px;line-height:1.8;color:#869184}.landscape{position:absolute;inset:0;pointer-events:none}.landscape svg{position:absolute;width:100%;height:70%;bottom:0;opacity:.8}.moon{position:absolute;width:210px;height:210px;right:17%;top:45px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#d2ccb51f,#b1b59c07 70%);box-shadow:0 0 90px #c0bfa30a}.vertical{position:absolute;right:max(7%,24px);top:100px;writing-mode:vertical-rl;color:#818b6f;letter-spacing:10px;font-family:serif;font-size:15px}.welcome{padding:28px 20px 60px;text-align:center;color:#899281;font-size:12px}.welcome i{display:inline-block;width:40px;height:1px;background:#4b5648;vertical-align:middle;margin:0 16px}.welcome p{font-family:'Noto Serif KR',serif;font-size:17px;line-height:2;color:#aab29e;margin:40px 0 0}.dossier{max-width:920px;margin:15px auto 75px;background:var(--paper);color:var(--ink);padding:30px 56px 34px;box-shadow:0 20px 80px #0004;position:relative;scroll-margin-top:20px;background-image:radial-gradient(#50402b09 .7px,transparent .7px);background-size:5px 5px}.paper-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;font-size:10px;letter-spacing:2px;color:#73786a}.identity{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:33px 0 27px}.identity .eyebrow{color:var(--red);letter-spacing:2px}.identity h2{font:600 48px/1.4 'Noto Serif KR',serif;margin:8px 0 14px;letter-spacing:3px}.identity p:last-child{font:14px/1.9 'Noto Serif KR',serif;max-width:580px;margin-bottom:0}.identity-stamp{border:3px double #974d3a99;color:var(--red);font:24px 'Noto Serif KR',serif;padding:13px 11px;writing-mode:vertical-rl;letter-spacing:7px;flex-shrink:0;transform:rotate(5deg)}dl{margin:0}.overview{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-block:1px solid var(--line);padding:20px 0}.overview dt{font-size:10px;color:#777e70;margin-bottom:7px}.overview dd{font-size:13px;font-weight:600;margin:0;line-height:1.6}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;padding:32px 0}.story-grid h3{font:600 17px 'Noto Serif KR',serif;margin:0 0 22px}.story-grid h3 span{color:var(--red);font-size:13px;margin-right:10px}.facts>div{margin-bottom:16px}.facts dt{font-size:10px;color:#7a7d6e;margin-bottom:5px}.facts dd{font-size:13px;line-height:1.85;margin:0;word-break:keep-all;overflow-wrap:anywhere}.connection{padding:25px 28px;border-left:3px solid var(--red);background:#ded8c777}.connection .eyebrow{color:var(--red);font-size:10px}.connection h3{font:600 21px 'Noto Serif KR',serif;margin:14px 0}.connection>p:last-child{font-size:13px;line-height:1.9;margin-bottom:0}details{border-block:1px solid var(--line)}summary{cursor:pointer;font-size:12px;padding:20px 0;list-style:none;display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;padding:15px 0}.opening{text-align:center;padding:38px 10px 25px}.opening .eyebrow{color:var(--red);font-size:10px;letter-spacing:1.5px}.opening>p:nth-child(2){font:500 21px/1.9 'Noto Serif KR',serif;word-break:keep-all}.end-mark{display:block;color:var(--red);font-size:9px;margin-top:25px}.actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.actions button,dialog button{border:1px solid #adb09c;padding:12px 16px;background:transparent;color:var(--ink);font-size:12px}.actions .ink-button{background:var(--ink);color:var(--paper);border-color:var(--ink)}.again{display:block;margin:24px auto 0;background:none;border:0;border-bottom:1px solid #aaa993;padding:8px;color:#686d5e;font-size:12px}.history{max-width:920px;margin:0 auto 60px;padding:25px 30px;background:#1e2822;border:1px solid #3d4b3f;scroll-margin-top:20px}.history-heading{display:flex;align-items:center;justify-content:space-between}.history h2{font:22px 'Noto Serif KR',serif}.history-item{display:flex;border-top:1px solid #ffffff12;align-items:center;gap:12px;padding:12px 0}.history-item .load{flex:1;text-align:left;border:0;background:none;color:#e2e2d4;padding:8px;font-size:15px}.history-item small{display:block;color:#93a18e;margin-top:6px;font-size:11px}.history-item .remove{background:none;border:0;color:#a8af9e;padding:12px}footer{border-top:1px solid #ffffff12;max-width:1100px;padding:28px 30px 40px;margin:auto;display:flex;gap:25px;align-items:center;font-size:11px;color:#7e8b7d}footer>span{font-family:'Noto Serif KR',serif;font-size:14px;color:#b4b8a6}footer p{flex:1}footer a{color:#9da792;text-decoration:none}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:14px 22px;background:#e4decb;color:#253027;font-size:13px;box-shadow:0 5px 35px #0005;z-index:10;max-width:90%;width:max-content;pointer-events:none;opacity:0;transition:opacity .2s}#toast.show{opacity:1}dialog{border:1px solid #a6aa95;background:var(--paper);color:var(--ink);padding:28px;max-width:min(480px,90vw)}dialog::backdrop{background:#0009}dialog h2{font:23px 'Noto Serif KR',serif}dialog p{font-size:13px;line-height:1.7}dialog input{width:100%;padding:12px;margin:10px 0 20px;border:1px solid #aaa;background:#fff9;font-size:13px}@media(max-width:640px){.nav{padding:18px 20px}.brand{font-size:15px}.hero{min-height:510px}.hero-copy{padding-top:40px}.vertical{right:17px;top:70px;font-size:11px}.moon{right:-30px;width:170px;height:170px}.intro{font-size:12px}.small{font-size:10px}.welcome{font-size:10px}.welcome i{width:15px;margin:0 7px}.welcome p{font-size:15px}.dossier{margin:8px 12px 40px;padding:20px 23px}.paper-top{font-size:8px;letter-spacing:1px}.identity{padding:24px 0}.identity h2{font-size:36px}.identity p:last-child{font-size:12px}.identity-stamp{font-size:18px;padding:10px 7px}.overview{grid-template-columns:repeat(2,1fr);gap:17px}.story-grid{grid-template-columns:1fr;gap:22px;padding:25px 0}.story-grid section+section{border-top:1px solid var(--line);padding-top:24px}.facts dd{font-size:12px}.connection{padding:18px}.connection h3{font-size:18px}.detail-grid{grid-template-columns:1fr}.opening{padding:30px 0 20px}.opening>p:nth-child(2){font-size:18px}.opening .eyebrow{font-size:9px;letter-spacing:0}.actions button{padding:11px 10px;font-size:11px}.history{margin:0 12px 35px;padding:18px}footer{flex-wrap:wrap;gap:10px;padding:25px 22px}footer p{flex-basis:100%;order:3;margin:0}footer a{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Keep the primary action above optional inputs and inside short viewports. */
.nav{padding-top:16px;padding-bottom:16px}
.hero{min-height:0}
.hero-copy{padding:clamp(18px,4svh,36px) 20px 26px}
.hero h1{font-size:clamp(42px,9svh,68px);line-height:1.2;margin:14px 0 18px}
.hero .intro{margin:12px 0;line-height:1.75}
.hero .primary{margin:14px 0 6px;padding:16px 26px;min-height:52px}
.birth-fields{margin-top:18px}
@media(max-height:500px){
  .nav{padding-top:8px;padding-bottom:8px}
  .hero-copy{padding-top:12px}
  .hero-copy>.eyebrow{margin:6px 0;font-size:10px}
  .hero h1{font-size:34px;line-height:1.15;margin:10px 0;letter-spacing:-2px}
  .hero h1 br{display:none}
  .hero .intro{font-size:11px;margin:8px 0}
  .hero .primary{margin-top:8px;padding:12px 26px;min-height:48px}
  .vertical{top:40px}
}
#full-settings section+section{margin-top:36px}#full-settings h3{font-size:1.05rem;margin-bottom:20px}#full-settings dd{overflow-wrap:anywhere}#generation-mode{color:#68644f}footer a{color:inherit}.paper-top{overflow-wrap:anywhere}#random-again{font-size:.85rem}
