.ct{padding:0 24px clamp(96px,12vw,140px)}.ct-grid{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);align-items:start;gap:clamp(28px,5vw,64px);display:grid}.ct-stage{place-items:start stretch;min-height:520px;display:grid}.ct-letter{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-lift);transform-origin:50% 0;flex-direction:column;gap:22px;padding:clamp(24px,4vw,44px);display:flex}.ct-letter.folding{pointer-events:none;animation:.6s cubic-bezier(.6,0,.3,1) forwards ct-fold}@keyframes ct-fold{40%{transform:perspective(900px)rotateX(-18deg)scale(.96)}to{opacity:0;transform:perspective(900px)rotateX(-80deg)scale(.6)translateY(-30px)}}.ct-sentence{font-size:var(--fs-d4);font-weight:var(--w-medium);text-wrap:pretty;line-height:2.3}.ct-in,.ct-select select{font:inherit;font-weight:var(--w-semibold);vertical-align:baseline;color:var(--text);border:0;border-bottom:2px dashed var(--gold);background:color-mix(in srgb, var(--gold) 8%, transparent);border-radius:8px 8px 2px 2px;outline:none;padding:0 .35em;line-height:1.6;transition:background-color .2s,border-color .2s}.ct-in{field-sizing:content;min-width:4.5em;max-width:100%}.ct-topics{flex-direction:column;gap:10px;display:flex}.ct-topics-q{font-size:var(--fs-md);color:var(--text-2);font-weight:var(--w-medium)}.ct-topics>div{flex-wrap:wrap;gap:8px;display:flex}.ct-topic{border-radius:var(--r-pill);border:1px solid var(--line-strong);height:36px;color:var(--text-2);font:inherit;font-size:var(--fs-md);cursor:pointer;background:0 0;padding:0 14px;transition:background .15s,color .15s,border-color .15s}.ct-topic:hover{border-color:var(--text-3);color:var(--text)}.ct-topic.on{background:var(--ink);border-color:var(--ink);color:var(--on-ink);font-weight:var(--w-semibold)}.ct-topic:focus-visible{outline:2px solid var(--text);outline-offset:2px}.ct-reply{font-size:var(--fs-md);color:var(--text-2);flex-direction:column;gap:6px;max-width:360px;display:flex}.ct-reply small{color:var(--text-3)}.ct-in.wide{min-width:7em}.ct-in::placeholder{color:var(--text-3);font-weight:var(--w-medium)}.ct-in:focus,.ct-select select:focus{background:color-mix(in srgb, var(--gold) 18%, transparent);border-bottom-style:solid}.ct-select{display:inline-block;position:relative}.ct-select select{appearance:none;cursor:pointer;padding-inline-end:1.3em}.ct-select:after{content:"▾";inset-inline-end:.35em;color:var(--gold-deep);pointer-events:none;font-size:.6em;position:absolute;top:50%;transform:translateY(-50%)}.ct-body{resize:vertical;background:repeating-linear-gradient(180deg, transparent 0 calc(2.1em - 1px), var(--line-strong) calc(2.1em - 1px) 2.1em);width:100%;min-height:230px;font-size:var(--fs-xl);color:var(--text);background-attachment:local;border:0;outline:none;padding:0 4px;line-height:2.1em}.ct-body::placeholder{color:var(--text-3)}.ct-body:focus-visible{outline:none}.ct-letter:focus-within{border-color:var(--line-strong)}.ct-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding-top:18px;display:flex}.ct-count{font-size:var(--fs-sm);color:var(--text-3)}.ct-err{font-size:var(--fs-md);font-weight:var(--w-semibold);color:var(--red)}.ct-foot .btn{margin-inline-start:auto}.ct-env{width:min(360px,90%);animation:ct-env 1.2s var(--ease-out) both;place-self:center;margin-top:60px;position:relative}.ct-env svg{filter:drop-shadow(0 30px 40px #11131840);width:100%;display:block}.ct-env .body{fill:var(--surface);stroke:var(--line-strong);stroke-width:2px}.ct-env .flap{fill:none;stroke:var(--line-strong);stroke-width:2px;stroke-linejoin:round}.ct-env .fold{fill:none;stroke:var(--line);stroke-width:2px}.ct-seal{background:var(--gold-coin);border-radius:50%;place-items:center;width:64px;height:64px;animation:.5s cubic-bezier(.3,1.6,.5,1) .35s both ct-seal;display:grid;position:absolute;top:57%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 16px #a06c1080,inset 0 -4px 8px #0000002e}.ct-seal .mark{color:#6b4708;width:40px;margin-top:2px}.ct-seal .mk-gold{fill:#6b4708}@keyframes ct-env{0%{opacity:0;transform:translateY(20px)scale(.9)}70%{opacity:1;transform:none}to{opacity:1;transform:translateY(-40px)scale(.96)}}@keyframes ct-seal{0%{opacity:0;transform:translate(-50%,-50%)scale(2.2)}}.ct-receipt{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg) var(--r-lg) 0 0;width:min(440px,100%);box-shadow:var(--shadow-lift);animation:lp-in .6s var(--ease-out) both;flex-direction:column;justify-self:center;gap:18px;padding:28px 28px 40px;display:flex;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/18px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/18px 100%}.ct-receipt-top{border-bottom:2px dashed var(--line-strong);align-items:center;gap:10px;padding-bottom:16px;display:flex}.ct-receipt-top .mark{width:44px}.ct-receipt-top b{font-size:var(--fs-xl);font-weight:var(--w-semibold)}.ct-receipt dl{flex-direction:column;gap:10px;margin:0;display:flex}.ct-receipt dl>div{font-size:var(--fs-md);justify-content:space-between;gap:16px;display:flex}.ct-receipt dt{color:var(--text-3)}.ct-receipt dd{font-weight:var(--w-semibold);text-align:left;margin:0}.ct-receipt dd.ltr{font-family:var(--mono);font-size:var(--fs-lg);letter-spacing:.06em;color:var(--gold-deep)}.ct-receipt p{border-top:2px dashed var(--line-strong);font-size:var(--fs-md);color:var(--text-2);padding-top:16px;line-height:1.9}.ct-receipt .btn{align-self:flex-start}.ct-side{flex-direction:column;gap:10px;display:flex}.ct-side>b{font-size:var(--fs-sm);color:var(--text-3);margin-bottom:4px}.ct-way{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);text-align:start;font:inherit;color:inherit;cursor:pointer;transition:border-color .2s, transform .3s var(--ease-spring);align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.ct-way:hover{border-color:var(--gold);transform:translateY(-2px)}.ct-way svg{color:var(--gold-deep);flex:none;margin-top:3px}.ct-way strong{font-size:var(--fs-lg);font-weight:var(--w-semibold);display:block}.ct-way small{font-size:var(--fs-sm);color:var(--text-2);line-height:1.8;display:block}@media (width<=900px){.ct-grid{grid-template-columns:minmax(0,1fr)}.ct-stage{min-height:0}}@media (width<=520px){.ct{padding-inline:12px}.ct-body{font-size:var(--fs-lg)}}
