.castle-arrival{z-index:6;box-sizing:border-box;border:2px solid var(--green);background:color-mix(in srgb, var(--surface) 94%, transparent);max-width:min(320px,100% - 2rem);color:var(--text);backdrop-filter:blur(10px);pointer-events:none;border-radius:4px;align-items:center;gap:.7rem;padding:.7rem .8rem;animation:.45s cubic-bezier(.16,1,.3,1) both castle-arrival-in;display:flex;position:absolute;top:1rem;left:1rem;box-shadow:0 8px 24px #0000004d}.castle-arrival>span:first-child{background:var(--green);width:2.5rem;height:2.5rem;color:var(--body);flex:none;place-items:center;font-size:1.35rem;display:grid}.castle-arrival>span:last-child{gap:.08rem;min-width:0;display:grid}.castle-arrival small{color:var(--green);font:950 .55rem var(--font-friendly);letter-spacing:.08em}.castle-arrival strong{font:850 .78rem var(--font-friendly);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@keyframes castle-arrival-in{0%{opacity:0;transform:translateY(-10px)}}@media (prefers-reduced-motion:reduce){.castle-arrival{animation:none}}.castle-certificate-dialog:not([open]){display:none}.castle-certificate-dialog{box-sizing:border-box;width:min(680px,100vw - 2rem);max-width:none;max-height:calc(100dvh - 2rem);color:var(--text);overscroll-behavior:contain;background:0 0;border:0;padding:0;animation:.28s cubic-bezier(.16,.88,.28,1.08) both certificate-popup;overflow:auto}.castle-certificate-dialog::backdrop{backdrop-filter:blur(5px);background:#1d2021c2}.castle-certificate-dialog .castle-certificate-maker{border:2px solid var(--yellow);background:linear-gradient(135deg, color-mix(in srgb, var(--yellow) 8%, var(--surface)), var(--surface));box-shadow:0 14px 36px #0000003d, 0 0 26px color-mix(in srgb, var(--yellow) 8%, transparent);border-radius:16px;grid-template-columns:auto minmax(0,1fr);gap:.9rem 1rem;margin:0;padding:1.15rem;display:grid;position:relative}.castle-certificate-dialog .certificate-close{z-index:1;background:var(--surface-raised);width:40px;height:40px;color:var(--text-soft);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:.65rem;right:.65rem}.castle-certificate-dialog .certificate-close:hover,.castle-certificate-dialog .certificate-close:focus-visible{background:var(--line);color:var(--text);outline:2px solid var(--yellow);outline-offset:2px}.castle-certificate-dialog .certificate-seal{background:var(--yellow);width:3.2rem;height:3.2rem;color:var(--body);box-shadow:0 0 0 5px color-mix(in srgb, var(--yellow) 16%, transparent);border-radius:50%;justify-content:center;align-items:center;font-size:1.8rem;display:inline-flex}.castle-certificate-dialog .castle-kicker{color:var(--yellow);font-family:var(--font-friendly);letter-spacing:.12em;font-size:.66rem;font-weight:950;display:block}.castle-certificate-dialog .certificate-invitation h2{color:var(--text);font-family:var(--font-friendly);margin:.12rem 0 0;font-size:1.15rem}.castle-certificate-dialog .certificate-invitation{padding-right:2.8rem}.castle-certificate-dialog .certificate-invitation p{color:var(--text-soft);font-family:var(--font-friendly);margin:.35rem 0 0}.castle-certificate-dialog form{grid-column:2}.castle-certificate-dialog form>label{color:var(--text-faint);font-family:var(--font-friendly);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.35rem;font-size:.72rem;font-weight:900;display:block}.castle-certificate-dialog .certificate-name-row{gap:.5rem;display:flex}.castle-certificate-dialog .certificate-name-row input{box-sizing:border-box;border:2px solid var(--line);background:var(--body);min-width:0;min-height:44px;color:var(--text);font:700 1rem var(--font-friendly);border-radius:10px;flex:1;padding:.65rem .8rem}.castle-certificate-dialog .certificate-name-row button{--action-color:var(--yellow);min-height:44px;padding:.45rem .7rem;font-size:.78rem}.castle-certificate-dialog .certificate-name-row .action-button-icon{border-radius:6px;width:1.8rem;height:1.8rem;font-size:1rem}.castle-certificate-dialog .certificate-name-row button[disabled]{cursor:wait}.castle-certificate-dialog form>small{color:var(--text-faint);margin-top:.4rem;font-size:.72rem;display:block}.castle-certificate-dialog .certificate-error{min-height:1.1em;color:var(--red);margin-top:.25rem;font-size:.74rem;display:block}@keyframes certificate-popup{0%{opacity:0;transform:translateY(18px)scale(.96)}}@media (height<=520px){.castle-certificate-dialog{width:min(720px,100vw - 1rem);max-height:calc(100dvh - 1rem)}.castle-certificate-dialog .castle-certificate-maker{gap:.45rem .75rem;padding:.75rem}.castle-certificate-dialog .certificate-seal{width:2.5rem;height:2.5rem;font-size:1.35rem}.castle-certificate-dialog .certificate-invitation h2{margin:0;font-size:1.05rem}.castle-certificate-dialog .certificate-invitation p{margin-top:.15rem;font-size:.78rem}.castle-certificate-dialog form>label{margin-bottom:.2rem}.castle-certificate-dialog form>small{margin-top:.2rem}}@media (width<=640px){.castle-certificate-dialog .castle-certificate-maker{grid-template-columns:1fr;padding:1rem}.castle-certificate-dialog .certificate-seal{width:2.8rem;height:2.8rem}.castle-certificate-dialog form{grid-column:1}.castle-certificate-dialog .certificate-name-row{flex-direction:column}}@media (prefers-reduced-motion:reduce){.castle-certificate-dialog{animation:none}}.castle-loading,.castle-fallback{color:var(--text-faint);font-family:var(--font-friendly);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;font-size:.82rem;display:flex;position:absolute;inset:0}.castle-fallback-again{opacity:.72;font-size:.76rem}.castle-loading svg{color:var(--aqua);font-size:2rem;animation:1.2s ease-in-out infinite castle-build-pulse}.castle-fallback>span{color:var(--yellow);font-size:2.3rem}.castle-fallback strong{color:var(--text)}.castle-fallback small{color:var(--text-faint)}@keyframes castle-build-pulse{50%{color:var(--yellow);transform:translateY(-5px)rotate(8deg)}}@media (prefers-reduced-motion:reduce){.castle-loading svg{animation:none}}
