@font-face{font-family:Atelier Display;src:url(/fonts/NewsreaderDisplay-normal-latin.woff2) format("woff2");font-style:normal;font-weight:400 500;font-display:swap}@font-face{font-family:Atelier Display;src:url(/fonts/NewsreaderDisplay-italic-latin.woff2) format("woff2");font-style:italic;font-weight:400 500;font-display:swap}@font-face{font-family:Atelier Sans;src:url(/fonts/SplineSans-400-latin.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}.two-pens-page{margin:0;background:#e8e0d2;color-scheme:light}.two-pens{--ink: #443e32;--soft-ink: #625a4b;--paper: #f7f2e6;--card: #fffdf7;--line: #d6ccb8;--accent: #5a5f3c;--warn: #8a3b26;--serif: "Atelier Display", Georgia, serif;--sans: "Atelier Sans", Arial, sans-serif;max-width:1180px;margin:0 auto;padding:24px 16px 64px;color:var(--ink);font:16px / 1.6 var(--sans)}.two-pens *{box-sizing:border-box}.two-pens :focus-visible{outline:2px solid var(--accent);outline-offset:3px}.two-pens h1,.two-pens h2,.two-pens h3{font-family:var(--serif);font-weight:500;line-height:1.2;margin:0 0 .4em}.two-pens h1{font-size:clamp(1.8rem,4vw,2.6rem)}.two-pens h2{font-size:1.5rem}.two-pens h3{font-size:1.15rem}.two-pens p{margin:0 0 .75em}.two-pens a{color:inherit}.tp-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;border:0!important;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tp-muted{color:var(--soft-ink)}.tp-small{font-size:.85rem}.tp-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--soft-ink);margin:0 0 .3em}.tp-lede{font-family:var(--serif);font-style:italic;font-size:1.3rem}.tp-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0}.tp-button,.two-pens .neon-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 16px;border:1px solid var(--ink);border-radius:999px;background:var(--card);color:var(--ink);font:inherit;text-decoration:none;cursor:pointer}.tp-button.is-primary{background:var(--ink);color:var(--paper)}.tp-button.is-quiet{border-color:var(--line);background:transparent}.tp-button[disabled]{opacity:.5;cursor:default}.tp-button.is-pen{border-color:var(--pen)}.tp-link{background:none;border:0;padding:2px 0;color:var(--accent);text-decoration:underline;font:inherit;cursor:pointer}.tp-icon{min-width:36px;min-height:36px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);cursor:pointer}.tp-field{display:grid;gap:4px;margin:10px 0}.tp-field>span{font-size:.9rem;color:var(--soft-ink)}.tp-field.is-inline{display:inline-grid;margin:0}.two-pens input:not([type=checkbox]):not([type=radio]):not([type=file]),.two-pens select,.two-pens textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:inherit}.two-pens textarea{resize:vertical}.tp-manuscript{min-height:50vh;font-family:var(--serif)!important;font-size:1.1rem!important;line-height:1.75!important;padding:18px 20px!important}.tp-manuscript[readonly]{background:#f0eadc!important}.tp-check{display:flex;gap:8px;align-items:flex-start;margin:10px 0}.tp-fieldset{border:1px solid var(--line);border-radius:12px;padding:8px 14px 14px;display:flex;flex-wrap:wrap;gap:12px}.tp-error{color:var(--warn)}.tp-notice{padding:10px 14px;border-left:4px solid var(--accent);background:#efe9d8;border-radius:6px}.tp-hint{font-style:italic;color:var(--soft-ink)}.tp-hero{margin:12px 0 24px;max-width:640px}.tp-home-actions{margin-bottom:24px}.tp-saved{list-style:none;padding:0;display:grid;gap:8px}.tp-file-note{color:var(--soft-ink);border-top:1px dashed var(--line);padding-top:8px}.tp-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:flex-end}.tp-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.tp-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin:12px 0 18px}.tp-tab{border:0;border-bottom:3px solid transparent;background:none;padding:10px 14px;font:inherit;color:var(--soft-ink);cursor:pointer;white-space:nowrap}.tp-tab.is-on{color:var(--ink);border-bottom-color:var(--ink)}.tp-badge{display:inline-block;min-width:1.4em;margin-left:6px;padding:0 6px;border-radius:999px;background:var(--warn);color:#fff;font-size:.8rem}.tp-panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:0 0 18px}.tp-intro{color:var(--soft-ink);max-width:70ch}.tp-details{margin:14px 0;border-top:1px solid var(--line);padding-top:8px}.tp-details>summary{cursor:pointer;font-family:var(--serif);font-size:1.1rem}.tp-pen{display:inline-flex;align-items:center;gap:6px}.tp-pen-initials{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 4px;border-radius:50%;border:2px solid var(--pen, var(--ink));background:var(--card);font-size:.75rem;letter-spacing:.04em;color:var(--ink)}.tp-steps{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}.tp-step{border:1px solid var(--line);border-radius:999px;background:var(--card);padding:4px 12px;font:inherit;font-size:.9rem;color:var(--ink);cursor:pointer}.tp-step.is-current{border-color:var(--ink);background:var(--ink);color:var(--paper)}.tp-step.is-done .tp-step-number:after{content:" ✓"}.tp-suits{display:flex;flex-wrap:wrap;gap:6px}.tp-chip{border:1px solid var(--line);border-radius:999px;background:var(--card);padding:4px 12px;font:inherit;color:var(--ink);cursor:pointer}.tp-chip.is-on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.tp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:14px 0}.tp-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:0 2px #d9ceb8}.tp-card-suit{text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;color:var(--soft-ink)}.tp-card-question{font-family:var(--serif);font-style:italic}.tp-bible-suit{margin:16px 0}.tp-bible-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:8px 0}.tp-bible-card>summary{cursor:pointer}.tp-guide{list-style:none;padding:10px 14px;margin:12px 0;border-left:3px solid var(--accent);background:#f1ecdc;border-radius:0 10px 10px 0}.tp-guide-entry+.tp-guide-entry{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.tp-guide-question{font-family:var(--serif);font-size:1.05rem;margin:0}.tp-guide-layers{display:grid;gap:4px;justify-items:start}.tp-guide-why,.tp-guide-deeper{margin:4px 0}.tp-guide-deeper ul{margin:0;padding-left:18px}.tp-guide-mistakes-title{font-weight:600;margin:6px 0 0}.tp-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:14px;overflow-x:auto;padding-bottom:8px}.tp-column{background:#efe8d7;border:1px solid var(--line);border-radius:12px;padding:12px}.tp-chapters{list-style:none;padding:0;display:grid;gap:8px}.tp-chapter-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;gap:6px}.tp-chapter-open{display:grid;text-align:left;border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}.tp-chapter-title{font-family:var(--serif);font-size:1.05rem}.tp-chapter-moves{display:flex;gap:4px}.tp-editor-meta{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end}.tp-left-off{border:1px solid var(--line);border-radius:12px;padding:12px 16px;background:var(--card);margin:10px 0}.tp-left-off blockquote{margin:6px 0;font-family:var(--serif);font-style:italic}.tp-notes{list-style:none;padding:0;display:grid;gap:8px}.tp-note{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 12px}.tp-note.is-handoff{border-left:4px solid var(--accent)}.tp-note q{display:block;font-style:italic;color:var(--soft-ink)}.tp-checklist{padding-left:0;list-style:none}.tp-dialog-modal{position:fixed;inset:0;display:grid;place-items:center;padding:16px;background:#2b261d88;z-index:20}.tp-dialog-modal>form,.tp-dialog-modal>div{width:min(560px,100%);max-height:90vh;overflow:auto;background:var(--paper);border-radius:14px;padding:20px}.tp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:12px 0}.tp-stat{display:grid;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}.tp-stat-value{font-family:var(--serif);font-size:1.6rem}.tp-stat progress{width:100%;accent-color:var(--accent)}.tp-beatmap{list-style:none;padding:0;display:grid;gap:6px}.tp-beatmap li{display:grid;grid-template-columns:minmax(120px,1fr) 3fr auto;gap:10px;align-items:center}.tp-bar{height:10px;border-radius:999px;background:linear-gradient(90deg,var(--accent) var(--fill),#e2dac7 var(--fill))}.tp-milestones{list-style:none;padding:0}.tp-milestones li.is-reached{font-weight:600}.tp-conflicts{list-style:none;padding:0;display:grid;gap:12px}.tp-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tp-live-banner{display:flex;flex-wrap:wrap;gap:14px;padding:8px 12px;border-radius:10px;background:var(--card);border:1px solid var(--line);margin:10px 0}.tp-invite{--font-mono: var(--sans);--font-brand: var(--serif);--text: var(--ink);--cyan: var(--ink);--muted: var(--soft-ink);--pink: var(--accent);--red: var(--warn);--border-bright: var(--line)}.tp-invite .room-create-title{font-size:1.5rem;letter-spacing:0;text-transform:none}.tp-invite .room-create-btn,.tp-invite .room-create-link-btn{min-height:40px;border-radius:999px;font-size:.95rem;letter-spacing:0;text-transform:none}.tp-invite .room-create-btn.is-primary:not(:disabled){background:var(--ink);color:var(--paper)}.tp-shell{--text: var(--ink);--fg: var(--ink);--muted: var(--soft-ink);--cyan: var(--accent);--border-bright: var(--line);--font-mono: var(--sans);--font-body: var(--sans);--font-brand: var(--serif);--mp-field-bg: var(--card)}.two-pens .room-chat{background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 6px 24px #2b261d33}.two-pens .room-chat input{background:var(--card);color:var(--ink)}.tp-shell .arcade-title{font-family:var(--serif);font-size:1.6rem}.tp-shell .arcade-message{padding:10px 14px;border-radius:10px;background:var(--card);border:1px solid var(--line)}@media(max-width:720px){.two-pens{padding:16px 12px 48px}.tp-editor-meta{grid-template-columns:1fr}.tp-board{grid-auto-flow:row;grid-auto-columns:auto}.tp-compare{grid-template-columns:1fr}.tp-header{align-items:flex-start}}@media(prefers-reduced-motion:reduce){.two-pens *{transition:none!important;animation:none!important}}.tp-letter{position:relative;max-width:640px;margin:24px auto}.tp-letter h2:focus{outline:none}.tp-seal{display:grid;place-items:center;width:64px;height:64px;margin:0 0 12px;border-radius:50% 46% 52% 48%;background:radial-gradient(circle at 35% 30%,#b0624a,#8a3b26 70%);color:#fbe9dc;font:500 20px / 1 var(--serif);letter-spacing:1px;box-shadow:inset 0 0 0 4px #7a321f55,0 2px 4px #2b261d33;transform:rotate(-8deg)}.tp-since{padding-left:20px;display:grid;gap:4px}.tp-since-note{margin:12px 0;padding:10px 14px;border-left:4px solid var(--accent);background:var(--card);border-radius:0 10px 10px 0}.tp-since-note blockquote{margin:4px 0 0;font-family:var(--serif);font-style:italic;font-size:18px}.tp-with-you{display:block;color:var(--accent);font-weight:500}.tp-send-letter{margin:12px 0;padding:12px 16px;border:1px dashed var(--accent);border-radius:12px;background:var(--card)}.tp-send-letter h3{margin-top:0}.tp-asks{display:grid;gap:4px}.tp-note.is-reply{margin-left:24px}.tp-note.is-love{border-color:#c9a08e}.tp-note.is-love q:before{content:"♥ ";font-style:normal;color:var(--warn)}.tp-asks .tp-check,.tp-next .tp-check{display:flex;gap:8px;align-items:flex-start;text-align:left;margin:4px 0}.tp-check input[type=radio],.tp-check input[type=checkbox]{margin-top:.3em;flex:none}.tp-restart{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:12px 0}.tp-restart h2:focus,.tp-send-letter h3:focus,.tp-desk h1:focus,.tp-panel h2:focus{outline:none}.tp-more>summary{cursor:pointer;list-style:none}.tp-more>summary::-webkit-details-marker{display:none}.tp-more[open]>.tp-more-body{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}dialog.tp-dialog-modal{width:min(560px,calc(100% - 32px));max-height:90vh;overflow:auto;border:0;border-radius:14px;padding:20px;background:var(--paper);color:var(--ink)}dialog.tp-dialog-modal::backdrop{background:#2b261d88}@media(max-width:480px){.tp-tabs{flex-wrap:wrap;overflow:visible}}.tp-letter-book{font-size:1rem;font-family:var(--sans);color:var(--soft-ink);margin:0 0 8px}
