.tn-page{min-height:100vh;padding-top:80px;background:var(--paper);color:var(--ink)}.tn-cover{max-width:1080px;margin:0 auto;padding:4.5rem 2rem 2.5rem;text-align:center;border-bottom:1px solid var(--rule)}.tn-meta{display:flex;align-items:center;justify-content:center;gap:.85rem;margin-bottom:1.6rem}.tn-meta-num{font-family:var(--font-serif);font-style:italic;font-size:.95rem;color:var(--ink-mute)}.tn-meta-rule{width:32px;height:1px;background:var(--rule)}.tn-meta-label{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-mute)}.tn-hero-title{display:flex;flex-direction:column;gap:.4rem;line-height:1.1}.tn-hero-title .tn-en{font-family:var(--font-serif);font-style:italic;font-weight:500;font-size:clamp(2.2rem,6vw,3.6rem);color:var(--accent)}.tn-hero-title .tn-ja{font-family:var(--font-mincho);font-weight:700;font-size:clamp(1.5rem,4vw,2.2rem);letter-spacing:.08em}.tn-hero-tagline{margin-top:1.1rem;font-family:var(--font-mincho);color:var(--ink-soft)}.tn-body{max-width:1080px;margin:0 auto;padding:3rem 2rem 5rem}.tn-seealso{margin-top:2.5rem;text-align:center;font-family:var(--font-mincho);color:var(--ink-soft)}.tn-seealso a{color:var(--accent);text-underline-offset:3px}.tz-card{position:relative;width:156px;height:340px;border-radius:7px 7px 9px 9px;box-shadow:0 14px 30px -14px #1f1a1480,inset 0 0 0 1px #ffffff2e;transition:background .15s ease}.tz-card-hole{position:absolute;top:11px;left:50%;transform:translate(-50%);width:9px;height:9px;border-radius:50%;background:#00000047;box-shadow:inset 0 1px 2px #00000059}.tz-card-wishbox{position:absolute;inset:32px 12px 44px;display:flex;align-items:center;justify-content:center;overflow:hidden}.tz-card-wish{writing-mode:vertical-rl;font-family:var(--font-mincho);line-height:1.5;letter-spacing:.05em;white-space:pre-wrap;text-align:start;opacity:.96}.tz-card-namebox{position:absolute;left:12px;right:12px;bottom:12px;height:28px;padding-top:4px;border-top:1px solid transparent;display:flex;align-items:flex-end;justify-content:flex-start;overflow:hidden}.tz-card-name{font-family:var(--font-mincho);letter-spacing:.04em;line-height:1.2;text-align:left;white-space:normal;overflow-wrap:anywhere;opacity:.92}.tz-intro{display:flex;flex-direction:column;align-items:center;gap:2rem}.tz-preview--intro{transform:rotate(-3deg)}.tz-cta{font-family:var(--font-mincho);font-size:1.15rem;font-weight:700;letter-spacing:.06em;color:var(--paper-warm);background:var(--accent);border:none;border-radius:999px;padding:1rem 2.6rem;cursor:pointer;box-shadow:0 12px 24px -10px #b8593ab3;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.tz-cta:hover{transform:translateY(-2px);background:#a54c30;box-shadow:0 16px 30px -10px #b8593acc}.tz-intro-note{font-family:var(--font-mincho);color:var(--ink-mute);font-size:.92rem}.tz-form-grid{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:start}.tz-fields{display:flex;flex-direction:column;gap:1.6rem;min-width:0}.tz-field{display:flex;flex-direction:column;gap:.55rem}.tz-label{font-family:var(--font-mincho);font-weight:700;font-size:.92rem;color:var(--ink-soft);letter-spacing:.04em}.tz-picker{display:flex;flex-direction:column;gap:.7rem;max-width:420px}.tz-sv{position:relative;width:100%;height:160px;border-radius:10px;cursor:crosshair;touch-action:none;box-shadow:inset 0 0 0 1px var(--rule-soft)}.tz-sv-thumb{position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #00000059,0 2px 6px #0006;transform:translate(-50%,-50%);pointer-events:none}.tz-hue{position:relative;width:100%;height:16px;border-radius:999px;cursor:pointer;touch-action:none;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);box-shadow:inset 0 0 0 1px var(--rule-soft)}.tz-hue-thumb{position:absolute;top:50%;width:18px;height:18px;border-radius:50%;border:2px solid #fff;background:transparent;box-shadow:0 0 0 1px #00000059,0 2px 5px #00000059;transform:translate(-50%,-50%);pointer-events:none}.tz-hex{display:flex;align-items:center;gap:.6rem}.tz-hex-swatch{width:30px;height:30px;border-radius:7px;box-shadow:inset 0 0 0 1px var(--rule);flex:none}.tz-hex-input{font-family:var(--font-sans);font-size:.95rem;letter-spacing:.05em;text-transform:lowercase;width:8.5rem;padding:.5rem .7rem;border:1px solid var(--rule);border-radius:7px;background:var(--paper-warm);color:var(--ink)}.tz-hex-input:focus{outline:2px solid var(--accent-soft);outline-offset:1px}.tz-textarea,.tz-input{font-family:var(--font-sans);font-size:1rem;color:var(--ink);background:var(--paper-warm);border:1px solid var(--rule);border-radius:9px;padding:.8rem .95rem;width:100%;resize:vertical}.tz-textarea:focus,.tz-input:focus{outline:2px solid var(--accent-soft);outline-offset:1px}.tz-count{align-self:flex-end;font-size:.78rem;color:var(--ink-mute)}.tz-count.is-over{color:var(--accent);font-weight:700}.tz-error{color:var(--accent);font-size:.9rem;font-weight:500}.tz-actions,.tz-done-actions{display:flex;gap:.9rem;flex-wrap:wrap}.tz-btn{font-family:var(--font-mincho);font-weight:700;font-size:1rem;letter-spacing:.04em;padding:.75rem 1.8rem;border-radius:999px;cursor:pointer;border:1px solid transparent;text-decoration:none;transition:transform .18s ease,background .18s ease,opacity .18s ease}.tz-btn--primary{color:var(--paper-warm);background:var(--accent);box-shadow:0 10px 20px -10px #b8593ab3}.tz-btn--primary:hover{transform:translateY(-2px);background:#a54c30}.tz-btn--primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.tz-btn--ghost{color:var(--ink-soft);background:transparent;border-color:var(--rule)}.tz-btn--ghost:hover{background:var(--paper-soft)}.tz-preview-wrap{display:flex;flex-direction:column;align-items:center;gap:.8rem;position:sticky;top:100px}.tz-preview-label{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-mute)}.tz-preview{display:flex;justify-content:center}.tz-done{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.tz-done-mark{font-size:3rem}.tz-done-title{font-family:var(--font-mincho);font-weight:700;font-size:1.7rem}.tz-done-lead{font-family:var(--font-mincho);color:var(--ink-soft)}.tz-preview--done{margin:.6rem 0 1.4rem;transform:rotate(2deg)}@media(max-width:720px){.tz-form-grid{grid-template-columns:1fr;gap:2.2rem}.tz-preview-wrap{position:static;order:-1}}
