:root{--color-ink:#f2f2f2;--color-ink-muted:#9a9a9a;--color-brand:#fff;--color-brand-deep:#e8e8e8;--color-accent:#d0d0d0;--color-surface:#ffffff12;--color-border:#ffffff29;--color-bg:#0c0c0c;--font-display:"Zen Kaku Gothic New", "Hiragino Sans", "Noto Sans JP", sans-serif;--font-body:"Zen Kaku Gothic New", "Hiragino Sans", "Noto Sans JP", sans-serif;--ease-out:cubic-bezier(.22, 1, .36, 1);--radius:10px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{min-height:100dvh;font-family:var(--font-body);color:var(--color-ink);background:var(--color-bg);margin:0;line-height:1.6}#root{min-height:100dvh}button,input,a{font:inherit}.app{justify-content:center;align-items:center;min-height:100dvh;padding:clamp(1.5rem,4vw,3rem) 1.25rem;display:flex;position:relative;overflow:hidden}.bg-atmosphere{animation:atmosphere-drift 18s var(--ease-out) infinite alternate;pointer-events:none;background:radial-gradient(75% 55% at 20% 15%,#ffffff12,#0000 55%),radial-gradient(60% 45% at 85% 80%,#ffffff0a,#0000 50%),linear-gradient(165deg,#161616 0%,#0c0c0c 48%,#080808 100%);position:absolute;inset:0}.bg-atmosphere:after{content:"";opacity:.55;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E");position:absolute;inset:0}@keyframes atmosphere-drift{0%{transform:scale(1)translate(0)}to{transform:scale(1.04)translate(-1%,1%)}}.shell{z-index:1;width:min(100%,440px);animation:rise-in .7s var(--ease-out) both;position:relative}.shell-wide{width:min(100%,640px)}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.brand{text-align:center;margin-bottom:2rem}.brand-name{font-family:var(--font-display);letter-spacing:.08em;color:var(--color-brand);animation:brand-fade 1s var(--ease-out) both;margin:0;font-size:clamp(2.75rem,10vw,3.75rem);font-weight:700;line-height:1.15}button.brand-link{color:inherit;cursor:pointer;text-align:center;background:0 0;border:none;padding:0;display:inline-block}button.brand-link:hover,button.brand-link:focus-visible{opacity:.85;outline:none}@keyframes brand-fade{0%{opacity:0;letter-spacing:.2em}to{opacity:1;letter-spacing:.08em}}.brand-lead{max-width:22rem;color:var(--color-ink-muted);margin:.85rem auto 0;font-size:.95rem;font-weight:400}.create-form{flex-direction:column;gap:1.25rem;display:flex}.field{flex-direction:column;gap:.45rem;display:flex}.field-label{letter-spacing:.06em;color:var(--color-ink-muted);font-size:.8rem;font-weight:500}.field-input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%;color:var(--color-ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.85rem 1rem;transition:border-color .2s,box-shadow .2s}.field-input:focus{border-color:#ffffff73;outline:none;box-shadow:0 0 0 3px #ffffff1a}.field-input::placeholder{color:#6b6b6b}.field-textarea{resize:vertical;min-height:8rem;line-height:1.55}.hp-field{opacity:0;pointer-events:none;width:0;height:0;position:absolute;left:-9999px}.form-error{color:#f0a8a8;margin:0;font-size:.875rem}.form-success,.contact-success{color:var(--color-ink-muted);flex-direction:column;gap:.75rem;display:flex}.contact-success p{color:var(--color-ink);margin:0 0 .5rem}.contact-lead{color:var(--color-ink-muted);margin:0 0 1.5rem;font-size:.925rem}.contact-status{color:var(--color-ink-muted);margin:0;font-size:.875rem}.inline-link{color:var(--color-accent);font:inherit;text-underline-offset:.15em;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.inline-link:hover,.inline-link:focus-visible{color:var(--color-brand);outline:none}.btn{border-radius:var(--radius);cursor:pointer;transition:transform .2s var(--ease-out), background .2s ease, opacity .2s ease;border:none;justify-content:center;align-items:center;gap:.4rem;padding:.85rem 1.25rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--color-brand);color:#0c0c0c;width:100%;margin-top:.35rem;font-size:1rem}.btn-primary:hover{background:var(--color-brand-deep)}.btn-secondary{background:var(--color-brand);color:#0c0c0c;flex-shrink:0;padding:.7rem 1rem;font-size:.875rem}.btn-secondary:hover{background:var(--color-brand-deep)}.link-btn{width:100%;color:var(--color-ink-muted);text-underline-offset:.2em;cursor:pointer;text-align:center;background:0 0;border:none;margin-top:1.75rem;padding:0;font-size:.875rem;text-decoration:underline;display:block}.link-btn:hover{color:var(--color-brand)}.countdown-view{text-align:center;animation:rise-in .55s var(--ease-out) both}.countdown-title{font-family:var(--font-display);color:var(--color-ink);letter-spacing:.04em;word-break:break-word;margin:0;font-size:clamp(1.5rem,5vw,1.85rem);font-weight:700;line-height:1.35}.countdown-date{color:var(--color-ink-muted);margin:.5rem 0 0;font-size:.95rem}.countdown-number{animation:number-pop .8s var(--ease-out) .15s both;justify-content:center;align-items:baseline;gap:.35rem;margin:1.75rem 0 .5rem;display:flex}@keyframes number-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.countdown-prefix,.countdown-suffix{font-family:var(--font-display);color:var(--color-ink-muted);font-size:clamp(1.25rem,4vw,1.5rem);font-weight:500}.countdown-digits{font-family:var(--font-display);color:var(--color-brand);letter-spacing:-.02em;font-size:clamp(4.5rem,18vw,6.5rem);font-weight:700;line-height:1}.countdown-today{color:var(--color-accent);margin:.25rem 0 0;font-size:.9rem;font-weight:500}.btn-fullscreen{margin-top:1.5rem}.fullscreen-stage{z-index:1000;background:var(--color-bg);animation:rise-in .35s var(--ease-out) both;justify-content:center;align-items:center;padding:clamp(1.5rem,5vw,3rem);display:flex;position:fixed;inset:0}.fullscreen-stage:fullscreen{width:100%;height:100%}.fullscreen-stage .bg-atmosphere{z-index:0}.fullscreen-content{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(1rem,4vh,2.5rem);width:100%;max-width:96vw;display:flex;position:relative}.fullscreen-title{font-family:var(--font-display);color:var(--color-ink);letter-spacing:.04em;word-break:break-word;margin:0;font-size:clamp(1.75rem,6vw + 1rem,4.5rem);font-weight:700;line-height:1.3}.fullscreen-number{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.25em;display:flex}.fullscreen-prefix,.fullscreen-suffix{font-family:var(--font-display);color:var(--color-ink-muted);font-size:clamp(1.5rem,5vw + .5rem,3.5rem);font-weight:500}.fullscreen-digits{font-family:var(--font-display);color:var(--color-brand);letter-spacing:-.03em;font-size:clamp(5rem,22vw + 1rem,14rem);font-weight:700;line-height:.95}.fullscreen-date{color:var(--color-ink-muted);margin:0;font-size:clamp(.95rem,2vw + .4rem,1.35rem)}.fullscreen-exit{z-index:2;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-ink-muted);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:.7;padding:.55rem 1rem;font-size:.8rem;transition:opacity .2s;position:absolute;bottom:clamp(1rem,3vh,2rem);left:50%;transform:translate(-50%)}.fullscreen-exit:hover,.fullscreen-exit:focus-visible{opacity:1;outline:none}.share{text-align:left;margin-top:2.25rem}.share-label{letter-spacing:.06em;color:var(--color-ink-muted);text-align:center;margin:0 0 .6rem;font-size:.8rem;font-weight:500}.share-url-row{gap:.5rem;display:flex}.share-url-input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-width:0;color:var(--color-ink-muted);flex:1;padding:.7rem .85rem;font-size:.8rem}.share-url-input:focus{border-color:var(--color-brand);outline:none}.share-sns{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.75rem;display:grid}.btn-sns{padding:.75rem .5rem;font-size:.875rem}.btn-x{color:#fff;background:0 0;border:1px solid #ffffff59}.btn-x:hover{background:#ffffff1a;border-color:#ffffff8c}.btn-line{color:#fff;background:#06c755}.btn-line:hover{background:#05b34c}.legal{text-align:left;color:var(--color-ink-muted);font-size:.925rem}.legal-title{letter-spacing:.04em;color:var(--color-ink);margin:0 0 .35rem;font-size:clamp(1.35rem,4vw,1.65rem);font-weight:700}.legal-updated{color:#9a9a9ad9;margin:0 0 1.5rem;font-size:.8rem}.legal p{margin:0 0 1rem}.legal-section{margin-bottom:1.5rem}.legal-section h2{letter-spacing:.03em;color:var(--color-ink);margin:0 0 .55rem;font-size:1rem;font-weight:700}.legal ul{margin:0;padding-left:1.15rem}.legal li{margin-bottom:.75rem}.legal li strong{color:var(--color-ink);font-weight:500}.legal a{color:var(--color-accent);text-underline-offset:.15em;text-decoration:underline}.legal a:hover{color:var(--color-brand)}.legal-back{width:100%;margin-top:.5rem}.site-footer{text-align:center;margin-top:2.5rem}.footer-nav{flex-wrap:wrap;justify-content:center;gap:.75rem 1.25rem;display:flex}.footer-link{color:var(--color-ink-muted);letter-spacing:.04em;cursor:pointer;text-underline-offset:.2em;opacity:.75;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.footer-link:hover,.footer-link:focus-visible{opacity:1;color:var(--color-ink);outline:none}@media (width<=380px){.share-url-row{flex-direction:column}.btn-secondary{width:100%}}@media (prefers-reduced-motion:reduce){.bg-atmosphere,.shell,.brand-name,.countdown-view,.countdown-number{animation:none}.btn:hover{transform:none}}
