:root{--ink:#0f1115;--ink-soft:#161a21;--surface:#1a1d24;--line:#262b34;--text:#e8e4dc;--muted:#8b93a1;--amber:#eab308;--amber-deep:#a97a1c;--danger:#ef4444;--serif:"Nanum Myeongjo", "RIDIBatang", Batang, serif;--sans:"Noto Sans KR", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", sans-serif;--gutter:clamp(1.25rem, 5vw, 4rem)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--ink);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.7;overflow-x:hidden}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input{font-family:inherit}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip{background:var(--amber);color:var(--ink);z-index:100;border-radius:0 0 6px;padding:.6rem 1rem;position:absolute;top:0;left:-9999px}.skip:focus{left:0}:where(a,button,input):focus-visible{outline:2px solid var(--amber);outline-offset:3px}.masthead{padding:1.5rem var(--gutter);justify-content:space-between;align-items:center;display:flex}.wordmark{font-family:var(--serif);letter-spacing:.06em;color:var(--text);font-size:1.15rem;font-weight:800}.wordmark.small{font-size:.95rem}.masthead-link{color:var(--muted);border-radius:6px;padding:.4rem .7rem;font-size:.8125rem;transition:color .2s,background-color .2s}.masthead-link:hover{color:var(--text);background:var(--surface)}.masthead-nav .install-link{font-size:.75rem}.masthead-nav{align-items:center;gap:.25rem;display:flex}.masthead-cta{color:var(--ink);background:var(--amber);border-radius:6px;padding:.4rem .85rem;font-size:.8125rem;font-weight:600;transition:background-color .2s}.masthead-cta:hover{background:#f5c531}.stage{padding:clamp(2.5rem, 9vh, 6rem) var(--gutter) clamp(3rem, 8vh, 5rem);max-width:60rem}.eyebrow{letter-spacing:.32em;color:var(--amber-deep);margin-bottom:clamp(1.5rem,4vh,2.5rem);font-size:.75rem}.passage{font-family:var(--serif);letter-spacing:-.01em;font-size:clamp(1.6rem,5.2vw,3.1rem);font-weight:400;line-height:1.62}.passage .line{color:#4b515d;width:fit-content;max-width:100%;transition:color .5s;display:block;position:relative}.passage .line:after{content:"";background:var(--amber);transform-origin:0;height:2px;position:absolute;bottom:-.12em;left:0;right:0;transform:scaleX(0)}.hanja{color:var(--muted);margin-left:.06em;font-size:.62em}@media (prefers-reduced-motion:no-preference){.passage .line{animation:11s cubic-bezier(.4,0,.2,1) infinite read;animation-delay:calc(var(--i) * 1.5s)}.passage .line:after{animation:11s cubic-bezier(.4,0,.2,1) infinite underline;animation-delay:calc(var(--i) * 1.5s)}}@media (prefers-reduced-motion:reduce){.passage .line{color:var(--text)}}@keyframes read{0%,2%{color:#4b515d}9%,58%{color:var(--text)}70%,to{color:#4b515d}}@keyframes underline{0%{transform-origin:0;transform:scaleX(0)}9%{transform-origin:0;transform:scaleX(1)}58%{transform-origin:100%;transform:scaleX(1)}66%,to{transform-origin:100%;transform:scaleX(0)}}.sounding{align-items:flex-end;gap:3px;height:22px;margin-top:clamp(1.75rem,5vh,2.75rem);display:flex}.beat{background:var(--amber);opacity:.55;border-radius:1px;width:2px;height:20%}@media (prefers-reduced-motion:no-preference){.beat{animation:1.5s ease-in-out infinite beat}.beat:first-child{animation-delay:0s}.beat:nth-child(2){animation-delay:80ms}.beat:nth-child(3){animation-delay:.16s}.beat:nth-child(4){animation-delay:.24s}.beat:nth-child(5){animation-delay:.32s}.beat:nth-child(6){animation-delay:.4s}.beat:nth-child(7){animation-delay:.48s}.beat:nth-child(8){animation-delay:.56s}.beat:nth-child(9){animation-delay:.64s}.beat:nth-child(10){animation-delay:.72s}.beat:nth-child(11){animation-delay:.8s}.beat:nth-child(12){animation-delay:.88s}}@keyframes beat{0%,to{opacity:.35;height:20%}50%{opacity:1;height:100%}}.source{color:var(--muted);letter-spacing:.02em;margin-top:.75rem;font-size:.75rem}.free-note{color:var(--amber);letter-spacing:.01em;margin-top:clamp(1.75rem,5vh,2.5rem);font-size:.9375rem;font-weight:600}.stage-cta{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.btn-solid{background:var(--amber);color:var(--ink);border-radius:2px;padding:.85rem 1.75rem;font-size:.9375rem;font-weight:700;transition:transform .12s,filter .2s}.btn-solid:hover{filter:brightness(1.08)}.btn-solid:active{transform:translateY(1px)}.btn-solid.wide{width:100%}.btn-solid.apk-btn{text-align:center;width:fit-content;margin:0 auto;padding:.6rem 1.3rem;font-size:.875rem;display:block}.btn-solid:disabled{opacity:.5;cursor:progress}.btn-line{color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:.85rem 1.25rem;font-size:.9375rem;transition:color .2s,border-color .2s}.btn-line:hover{color:var(--text);border-color:var(--muted)}.ledger{border-top:1px solid var(--line);padding:0 var(--gutter);max-width:60rem}.entry{border-bottom:1px solid var(--line);grid-template-columns:7rem 1fr;align-items:baseline;gap:clamp(1rem,4vw,2.5rem);padding:1.75rem 0;display:grid}.entry-key{font-family:var(--serif);color:var(--amber);letter-spacing:.04em;font-size:1.0625rem;font-weight:700}.entry-val{color:var(--muted);max-width:34rem;font-size:.9375rem}.enter{padding:clamp(3.5rem, 12vh, 7rem) var(--gutter);justify-content:center;display:flex}.enter-inner{width:100%;max-width:23rem}.enter-head{margin-bottom:1.75rem}.enter-head h2{font-family:var(--serif);letter-spacing:.02em;margin-bottom:.4rem;font-size:1.75rem;font-weight:800}.enter-head p{color:var(--muted);font-size:.875rem}.google-btn{color:#1f1f1f;width:100%;font-family:var(--sans);background:#fff;border-radius:2px;justify-content:center;align-items:center;gap:.65rem;padding:.9rem 1.25rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:filter .2s,transform .12s;display:flex}.google-btn:hover{filter:brightness(.94)}.google-btn:active{transform:translateY(1px)}.enter-note{color:var(--muted);margin-top:1.1rem;font-size:.8125rem;line-height:1.6}.field{margin-bottom:.9rem;display:block}.field>span{color:var(--muted);letter-spacing:.04em;margin-bottom:.35rem;font-size:.75rem;display:block}.field input{background:var(--ink-soft);border:1px solid var(--line);width:100%;color:var(--text);border-radius:2px;outline:none;padding:.8rem .9rem;font-size:.9375rem;transition:border-color .2s}.field input::placeholder{color:#5a616d}.field input:focus{border-color:var(--amber)}.error{color:var(--danger);margin:.25rem 0 .9rem;font-size:.8125rem}#auth-submit{margin-top:.6rem}.switch{color:var(--muted);text-align:center;margin-top:1.25rem;font-size:.8125rem}.switch-btn{color:var(--amber);font-size:inherit;text-underline-offset:3px;margin-left:.3rem;font-weight:500;text-decoration:underline}.foot{border-top:1px solid var(--line);padding:1.75rem var(--gutter) 2.5rem;flex-wrap:wrap;align-items:baseline;gap:.9rem;display:flex}.foot-note{color:var(--muted);font-size:.75rem}@media (width<=560px){.entry{grid-template-columns:1fr;gap:.4rem}.stage-cta>*{text-align:center;flex:100%}}.join-steps{flex-direction:column;gap:.6rem;margin-top:1.5rem;list-style:none;display:flex}.join-steps li{color:var(--muted);align-items:center;gap:.65rem;font-size:.8125rem;display:flex}.join-steps span{border:1px solid var(--line);width:20px;height:20px;color:var(--amber);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.6875rem;font-weight:700;display:flex}.divider{color:var(--muted);align-items:center;gap:.75rem;margin:1.5rem 0 1.25rem;font-size:.75rem;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.mode-switch{background:var(--ink-soft);border:1px solid var(--line);border-radius:3px;gap:.25rem;margin-bottom:1rem;padding:.2rem;display:flex}.mode-btn{color:var(--muted);border-radius:2px;flex:1;padding:.55rem;font-size:.8125rem;font-weight:500;transition:background-color .2s,color .2s}.mode-btn.active{background:var(--surface);color:var(--text);font-weight:600}.forgot-line{text-align:right;margin:-.35rem 0 .5rem}.link-inline{color:var(--muted);text-underline-offset:3px;font-size:.75rem;text-decoration:underline}.link-inline:hover{color:var(--text)}.foot-links{gap:1rem;margin-left:auto;font-size:.75rem;display:flex}.foot-links a{color:var(--muted);text-decoration:none}.foot-links a:hover{color:var(--text)}.check a{color:var(--amber)}.install-backdrop{z-index:60;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.install-sheet{background:var(--ink-soft);border:1px solid var(--line);width:min(28rem,100%);padding:1.5rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom,0px));border-bottom:none;border-radius:14px 14px 0 0;animation:.24s ease-out install-rise}@keyframes install-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.install-sheet{animation:none}}.install-sheet h3{font-family:var(--serif);margin-bottom:.5rem;font-size:1.25rem}.install-lead{color:var(--muted);margin-bottom:1.25rem;font-size:.875rem;line-height:1.6}.install-guide{border:1px solid var(--line);border-radius:8px;padding:.9rem 1rem;font-size:.875rem;line-height:1.6}.install-guide p{margin:0}.install-guide p+p{color:var(--muted);margin-top:.35rem}.install-later{width:100%;color:var(--muted);margin-top:1rem;padding:.7rem;font-size:.875rem;display:block}.install-later:hover{color:var(--text)}body.앱안 .masthead,body.앱안 .stage,body.앱안 #works,body.앱안 .ledger{display:none}body.앱안 .enter{padding-top:2rem}
