.page,.onboard{background:var(--bg);max-width:520px;min-height:100dvh;margin:0 auto}.page-topbar-action{height:32px;color:var(--fg2);align-items:center;font-size:13px;text-decoration:none;display:flex;position:absolute;bottom:0;right:16px}.page-body{padding:18px var(--gutter) 40px}.onboard{flex-direction:column;height:100dvh;display:flex}.onboard-top{height:32px;padding-top:env(safe-area-inset-top);box-sizing:content-box;flex:none;align-items:center;display:flex;position:relative}.onboard-progress{height:3px;margin:0 var(--gutter) 0 52px;background:var(--line);border-radius:2px;flex:1;overflow:hidden}.onboard-progress>span{background:var(--accent);height:100%;transition:width .3s;display:block}.onboard-body{padding:28px var(--gutter) 24px;-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.onboard-title{font-family:var(--serif);margin:0 0 8px;font-size:24px;font-weight:600;line-height:1.4}.onboard-hint{color:var(--fg2);margin:0 0 24px;font-size:14px;line-height:1.6}.onboard-narration{font-family:var(--kai);color:var(--fg2);margin:0 0 28px;font-size:18px;line-height:1.85}.onboard-options{flex-direction:column;gap:10px;display:flex}.onboard-option{border:1px solid var(--line);width:100%;font-family:var(--sans);text-align:left;color:var(--fg);cursor:pointer;background:0 0;border-radius:12px;padding:14px 18px;font-size:16px}.onboard-option.is-active{border-color:var(--accent);color:var(--accent)}.onboard-field{margin-bottom:20px;display:block}.onboard-label{color:var(--fg2);margin-bottom:8px;font-size:13px;display:block}.onboard-input{border:1px solid var(--line);background:var(--card);width:100%;font-family:var(--sans);color:var(--fg);border-radius:10px;padding:12px 14px;font-size:16px}.onboard-input:focus{border-color:var(--accent);outline:none}.onboard-preview{min-height:1.9em;font-family:var(--serif);color:var(--accent);white-space:pre;margin:4px 0 0;font-size:17px;line-height:1.85}.onboard-foot{padding:10px var(--gutter) calc(14px + env(safe-area-inset-bottom));flex:none}.onboard-error{color:var(--accent);text-align:center;margin:0 0 8px;font-size:13px}.primary-button{background:var(--fg);width:100%;height:48px;font-family:var(--sans);color:var(--bg);cursor:pointer;border:0;border-radius:24px;font-size:16px}.primary-button:disabled{opacity:.35;cursor:default}.charter{counter-reset:charter;margin:0;padding:0;list-style:none}.charter-article{counter-increment:charter;padding:0 0 18px 26px;position:relative}.charter-article:before{content:counter(charter);font-family:var(--serif);color:var(--accent);font-size:15px;position:absolute;top:1px;left:0}.charter-promise{font-family:var(--serif);font-size:16.5px;font-weight:600;line-height:1.6;display:block}.charter-explanation{color:var(--fg2);margin-top:2px;font-size:13.5px;line-height:1.6;display:block}.cards{flex-direction:column;gap:18px;display:flex}.card{background:var(--card);width:100%;font-family:var(--sans);text-align:left;color:var(--fg);cursor:pointer;border:0;border-radius:16px;flex-direction:column;padding:0 0 16px;text-decoration:none;display:flex;overflow:hidden}.portrait{aspect-ratio:4/5;background:linear-gradient(160deg, var(--scene-from), var(--scene-mid) 55%, var(--scene-to));justify-content:center;align-items:center;width:100%;max-height:46dvh;display:flex}.portrait.is-large{border-radius:16px;max-height:58dvh}.portrait-initial{font-family:var(--serif);color:#ffffffd9;font-size:64px}.card-name{font-family:var(--serif);margin:14px 18px 4px;font-size:22px;font-weight:600}.card-intro{font-family:var(--serif);color:var(--fg2);margin:0 18px 8px;font-size:15px;line-height:1.75}.card-meta{color:var(--fg2);margin:0 18px;font-size:12.5px}.portrait.has-image{object-fit:cover;display:block}.card-cover{aspect-ratio:4/5;background:linear-gradient(160deg, var(--scene-from), var(--scene-mid) 55%, var(--scene-to));width:100%;max-height:58dvh;display:block;position:relative;overflow:hidden}.card-cover-image{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.card-cover:after{content:"";pointer-events:none;background:linear-gradient(#0c0a0800 0%,#0c0a0873 40%,#0c0a08c7 100%);position:absolute;inset:40% 0 0}.card-cover-text{z-index:1;color:#fff;text-shadow:0 1px 8px #00000059;flex-direction:column;padding:0 0 14px;display:flex;position:absolute;bottom:0;left:0;right:0}.card-cover-text .card-name{color:#fff;margin-top:0}.card-cover-text .card-intro{font-family:var(--kai);color:#ffffffe6;margin-bottom:0}.card-meta.is-below-cover{margin-top:12px}.preview .card-meta{margin:0}.preview-name{font-family:var(--serif);margin:18px 0 6px;font-size:26px;font-weight:600}.preview-intro{font-family:var(--serif);margin:0 0 10px;font-size:17px;line-height:1.85}.settings-section{border-bottom:1px solid var(--line);margin-bottom:18px;padding:8px 0 26px}.settings-section:last-child{border-bottom:0}.settings-heading{font-family:var(--serif);margin:0 0 14px;font-size:18px;font-weight:600}.settings-total{color:var(--fg2);justify-content:space-between;align-items:baseline;margin:0 0 10px;font-size:14px;display:flex}.settings-total strong{font-family:var(--serif);color:var(--fg);font-size:22px}.settings-rows{margin:0 0 10px;padding:0;list-style:none}.settings-row{border-top:1px solid var(--line);color:var(--fg);justify-content:space-between;padding:10px 0;font-size:14px;text-decoration:none;display:flex}.settings-note{color:var(--fg2);margin:0 0 12px;font-size:13px;line-height:1.6}.settings-about{margin:0 0 12px;font-size:14px}.settings-about dt{color:var(--fg2);margin-top:10px;font-size:12.5px}.settings-about dd{margin:2px 0 0}.settings-fingerprint{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}
