/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-2xl:1.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}}:root{--color-paper:lab(95.3991% .829667 5.29344);--color-paper-2:lab(91.924% .960499 6.058);--color-ink:lab(11.8008% 3.12769 6.33955);--color-ink-soft:lab(19.919% 3.42681 6.99408);--color-muted:lab(33.8828% 1.69632 5.10784);--color-faint:lab(42.0179% 1.08954 4.47608);--color-rule:lab(71.0393% 1.32471 6.79617);--color-rule-strong:lab(32.7163% 3.06489 8.8897);--color-focus:lab(34.6886% -16.2334 22.8711);--color-overlay:lab(9.48558% 2.77182 5.40485/.68);--color-overlay-text:lab(86.1137% .707865 4.53497);--color-overlay-rule:lab(86.1137% .707865 4.53497/.25);--font-display:var(--font-noto-serif-sc,"Songti SC"), "STSong", serif;--font-body:var(--font-noto-sans-sc,"PingFang SC"), "Microsoft YaHei", sans-serif;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:5.5rem;--space-4xl:7rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.375rem;--text-2xl:2rem;--tracking-brand:.3em;--tracking-title:.34em;--tracking-subtitle:.42em;--tracking-button:.28em;--tracking-date:.18em;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--dur-loader:.9s;--dur-reduced:.12s;--dur-loader-reduced:1.4s;--layout-card:22.5rem;--layout-cover:21rem;--layout-cover-height:min(calc((100vw - (var(--space-lg) * 2)) * .75), 15.75rem);--button-min-width:10rem;--control-height:2.875rem;--ring-size:3rem;--reveal-distance:.5rem;--scale-pressed:.98;--opacity-disabled:.5;--rule-thin:1px;--rule-medium:2px;--rule-focus:2px;--focus-offset:3px;--radius-card:.5rem;--radius-pill:999px;--radius-circle:50%;--shadow-card:0 12px 36px lab(18.7641% 3.06508 6.27629/.14);--z-raised:10;--z-modal:400}*,:before,:after{box-sizing:border-box}html,body{background:var(--color-paper);min-height:100%;color:var(--color-ink);margin:0;overflow-x:clip}body,button{font-family:var(--font-body)}button{-webkit-tap-highlight-color:transparent}.page-shell{min-height:100dvh;padding-inline:max(var(--space-lg), env(safe-area-inset-left));padding-bottom:max(var(--space-lg), env(safe-area-inset-bottom));flex-direction:column;display:flex;position:relative}.brand-mark{top:max(var(--space-lg), env(safe-area-inset-top));right:max(var(--space-xs), env(safe-area-inset-right));z-index:var(--z-raised);align-items:center;gap:var(--space-xs);writing-mode:vertical-rl;text-orientation:upright;letter-spacing:var(--tracking-brand);display:flex;position:absolute}.brand-mark strong{font-family:var(--font-display);font-size:var(--text-base);font-weight:600}.brand-mark span{width:var(--rule-thin);height:var(--space-md);background:var(--color-rule-strong)}.brand-mark small{color:var(--color-muted);font-size:var(--text-xs)}.main-stage{width:100%;padding:var(--space-3xl) 0 var(--space-xl);flex:1;justify-content:center;align-items:center;display:flex}.pending-state,.result-state{width:min(100%, var(--layout-card));flex-direction:column;align-items:center;display:flex}.pending-state{animation:reveal var(--dur-long) var(--ease-out) both}.date-line,.result-header p{color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-date);margin:0}.pending-state h1,.result-header h1{font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-style:normal;font-weight:400}.pending-state h1{margin-top:var(--space-sm);font-size:var(--text-2xl);letter-spacing:var(--tracking-title);text-indent:var(--tracking-title)}.subtitle{margin:var(--space-2xs) 0 var(--space-xl);color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:var(--tracking-subtitle);text-indent:var(--tracking-subtitle)}.cover-stage{width:min(100%, var(--layout-cover));height:var(--layout-cover-height);margin:0 0 var(--space-xl);background:var(--color-paper-2);box-shadow:var(--shadow-card);overflow:clip}.cover-stage img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.primary-button,.secondary-button{min-width:var(--button-min-width);min-height:var(--control-height);border:var(--rule-thin) solid var(--color-ink);border-radius:var(--radius-pill);padding:var(--space-sm) var(--space-xl);font-size:var(--text-sm);letter-spacing:var(--tracking-button);text-indent:var(--tracking-button);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.primary-button{background:var(--color-ink);color:var(--color-paper)}.secondary-button{color:var(--color-ink);background:0 0}:is(.primary-button:focus-visible,.secondary-button:focus-visible){outline:var(--rule-focus) solid var(--color-focus);outline-offset:var(--focus-offset)}.primary-button:active,.secondary-button:active{transform:scale(var(--scale-pressed))}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:var(--opacity-disabled)}.result-state{padding-top:var(--space-md);animation:reveal var(--dur-long) var(--ease-out) both}.result-header{margin-bottom:var(--space-lg);text-align:center}.result-header h1{font-size:var(--text-lg);letter-spacing:var(--tracking-title);text-indent:var(--tracking-title)}.result-header p{margin-top:var(--space-xs)}.sign-card{aspect-ratio:3/4;border-radius:var(--radius-card);background:var(--color-paper-2);width:100%;box-shadow:var(--shadow-card);margin:0;position:relative;overflow:clip}.sign-card img{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity var(--dur-long) var(--ease-out);-webkit-user-select:auto;user-select:auto;display:block}.sign-card img.is-ready{opacity:1}.card-wait{background:var(--color-paper-2);color:var(--color-muted);font-family:var(--font-display);letter-spacing:var(--tracking-button);place-items:center;display:grid;position:absolute;inset:0}.save-tip{margin:var(--space-md) 0 var(--space-lg);color:var(--color-faint);font-size:var(--text-xs);letter-spacing:var(--tracking-date)}.actions{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;display:grid}.actions .primary-button,.actions .secondary-button{width:100%;min-width:0;padding-inline:var(--space-sm)}.quiet-footer{align-items:center;gap:var(--space-xs);padding-top:var(--space-lg);color:var(--color-muted);text-align:center;flex-direction:column;display:flex}.quiet-footer strong{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:var(--tracking-brand);text-indent:var(--tracking-brand);font-weight:400}.quiet-footer span{width:var(--space-xl);height:var(--rule-thin);background:var(--color-rule)}.quiet-footer small{color:var(--color-faint);font-size:var(--text-xs);letter-spacing:var(--tracking-date)}.drawing-layer{z-index:var(--z-modal);justify-content:center;align-items:center;gap:var(--space-sm);background:var(--color-overlay);color:var(--color-paper);animation:fade-in var(--dur-short) var(--ease-out) both;flex-direction:column;display:flex;position:fixed;inset:0}.drawing-layer strong{font-family:var(--font-display);font-size:var(--text-base);letter-spacing:var(--tracking-button);text-indent:var(--tracking-button);font-weight:400}.drawing-layer small{color:var(--color-overlay-text);font-size:var(--text-xs);letter-spacing:var(--tracking-date)}.drawing-ring{width:var(--ring-size);height:var(--ring-size);border:var(--rule-medium) solid var(--color-overlay-rule);border-top-color:var(--color-paper);border-radius:var(--radius-circle);animation:spin var(--dur-loader) linear infinite}@keyframes reveal{0%{opacity:0;transform:translateY(var(--reveal-distance))}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media (hover:hover) and (pointer:fine){.primary-button:hover{background:var(--color-ink-soft)}.secondary-button:hover{background:var(--color-ink);color:var(--color-paper)}}@media (min-width:40rem){.page-shell{padding-inline:var(--space-xl)}.main-stage{padding-top:var(--space-4xl)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:var(--dur-reduced)!important;transition-duration:var(--dur-reduced)!important;animation-iteration-count:1!important}.drawing-ring{animation-duration:var(--dur-loader-reduced)!important}}
