:root{--bg-deep:#0b1030;--ink:#0d1130;--ink-soft:#3a3f66;--candle:#fab36d;--starlight:#e7effc;--card-gold:#ffd89a;--card-gold-dim:#ffd89a73;--card-text:#f4ecd8;--card-text-dim:#f4ecd8b3;--font-serif:var(--loaded-zen-maru), "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN", sans-serif;--font-sans:var(--loaded-zen-maru), "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN", sans-serif;--font-mono:var(--loaded-zen-maru), "Zen Maru Gothic", ui-monospace, monospace}@supports (color:lab(0% 0 0)){:root{--candle:lab(78.8294% 20.9679 46.3774);--starlight:lab(94.1323% -.973195 -7.43576)}}*{box-sizing:border-box}html,body{font-family:var(--font-sans);color:var(--ink);-webkit-font-smoothing:antialiased;background:linear-gradient(#faf6ed 0%,#f1ead9 100%);min-height:100vh;margin:0;padding:0}.app{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.app.app-view-mode{background:var(--app-bg);flex-direction:column;align-items:center;min-height:100dvh;padding:32px 16px 48px;display:flex}.view-header{text-align:center;width:100%;max-width:480px;margin-bottom:20px}.view-title{color:var(--text);align-items:center;gap:8px;margin:0;font-size:18px;font-weight:500;display:inline-flex}.view-main{flex-direction:column;align-items:center;gap:24px;width:100%;max-width:480px;display:flex}.view-card-wrap{justify-content:center;width:100%;display:flex}.view-actions{flex-direction:column;gap:10px;width:100%;display:flex}.view-actions .btn{justify-content:center;width:100%}.view-footer-note{color:var(--ink-soft,#3c322899);text-align:center;margin:12px 0 0;font-size:12px}.app-header{background:#faf6ed;border-bottom:1px solid #0d113014;flex-direction:column;gap:2px;padding:28px 40px 20px;display:flex;position:relative}.app-title{font-family:var(--font-serif);letter-spacing:.04em;align-items:center;gap:10px;margin:0;font-size:22px;font-weight:500;display:flex}.app-title-mark{background:var(--candle);flex-shrink:0;width:10px;height:10px;transform:rotate(45deg);box-shadow:0 0 18px #ffc882cc}.app-sub{color:var(--ink-soft);letter-spacing:.08em;font-size:12px;font-family:var(--font-mono);padding-left:20px}.app-main{grid-template-columns:minmax(380px,460px) 1fr;min-height:0;display:grid}.form-pane{background:#faf6ed;border-right:1px solid #0d113014;max-height:calc(100vh - 95px);padding:28px 32px 80px;overflow-y:auto}.preview-pane{background:linear-gradient(#ece3cf 0%,#d9cfb6 100%);flex-direction:column;align-items:center;gap:20px;max-height:calc(100vh - 95px);padding:28px 32px;display:flex;overflow-y:auto}@media (max-width:900px){.app-main{grid-template-columns:1fr}.form-pane,.preview-pane{border-right:none;max-height:none}.preview-pane{border-bottom:1px solid #0d113014;order:-1;padding:20px 16px}.form-pane{padding:20px 20px 60px}.app-header{align-items:center;padding:18px 20px 14px}.app-header .app-sub{padding-left:0}}.form-section{margin-bottom:26px}.form-section-title{font-family:var(--font-serif);color:var(--ink-soft);letter-spacing:.14em;align-items:center;gap:8px;margin:0 0 12px;font-size:13px;font-weight:500;display:flex}.form-section-title:before{content:"";background:var(--candle);flex-shrink:0;width:6px;height:6px;transform:rotate(45deg)}.form-row{margin-bottom:12px}.form-row-split{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field-label-form{letter-spacing:.08em;color:var(--ink-soft);font-size:11px;font-family:var(--font-mono);margin-bottom:4px;display:block}input[type=text],input[type=number],input[type=date],select,textarea{width:100%;font-family:var(--font-sans);color:var(--ink);background:#fefcf6;border:1px solid #0d11302e;border-radius:6px;padding:9px 12px;font-size:13px;transition:border .18s,box-shadow .18s}input:focus,select:focus,textarea:focus{border-color:#d8944d;border-color:lab(67.1998% 21.4767 47.6455);outline:none;box-shadow:0 0 0 3px #f3c49759;box-shadow:0 0 0 3px lab(82.4587% 13.0504 29.3573/.35)}textarea{resize:vertical;min-height:72px;line-height:1.5}.chip-group{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.chip-option{cursor:pointer;-webkit-user-select:none;user-select:none;min-height:44px;font-size:13px;font-family:var(--font-sans);color:var(--ink-soft);background:#fefcf6;border:1px solid #0d11302e;border-radius:999px;justify-content:center;align-items:center;padding:10px 14px;transition:all .15s;display:inline-flex}.chip-option:hover{color:var(--ink);border-color:#d8944d;border-color:lab(67.1998% 21.4767 47.6455)}.chip-option.active{color:#472400;color:lab(18.347% 20.8358 37.2458);background:#ffdebe;background:lab(90.6366% 9.37563 21.5508);border-color:#e09036;border-color:lab(67.1002% 25.8334 58.261)}.file-upload{cursor:pointer;background:#fefcf6;border:1px dashed #0d113040;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;font-size:12px;transition:all .15s;display:flex}.file-upload:hover{background:#fff;border-color:#d8944d;border-color:lab(67.1998% 21.4767 47.6455)}.file-upload-thumb{background:#0d113014 50%/cover;border-radius:4px;flex-shrink:0;width:38px;height:38px}.file-upload-text{color:var(--ink-soft);flex:1}.file-upload input{display:none}.ratio-tabs{background:#0d11300d;border-radius:8px;gap:6px;padding:4px;display:flex}.ratio-tab{cursor:pointer;color:var(--ink-soft);font-size:12px;font-family:var(--font-sans);background:0 0;border:none;border-radius:5px;flex:1;min-height:44px;padding:7px 10px;transition:all .15s}.ratio-tab:hover{color:var(--ink)}.ratio-tab.active{color:var(--ink);background:#fff;box-shadow:0 1px 4px #0d113014}.actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.btn{cursor:pointer;font-family:var(--font-sans);color:var(--ink);background:#fff;border:1px solid #0d113033;border-radius:6px;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-size:13px;text-decoration:none;transition:all .15s;display:inline-flex}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0d11301a}.btn-primary{color:#fff3d6;background:#142c55;background:lab(18.1523% 2.77129 -28.0976);border-color:#0000}.btn-primary:hover{background:#082047;background:lab(12.2568% 4.35811 -27.9736)}.btn-ghost{background:0 0;border-color:#0d113026}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.share-url{font-size:11px;font-family:var(--font-mono);word-break:break-all;color:var(--ink-soft);background:#0d11300d;border-radius:4px;max-height:60px;margin-top:10px;padding:8px 10px;overflow-y:auto}.hint{color:var(--ink-soft);margin-top:6px;font-size:11px;line-height:1.5}.toast{background:var(--ink);color:#fff3d6;z-index:100;border-radius:6px;padding:10px 18px;font-size:13px;animation:.25s ease-out toastIn;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0003}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.preview-label{font-family:var(--font-mono);letter-spacing:.2em;color:#0d113080;text-transform:uppercase;font-size:10px}.card-stage{flex:1;justify-content:center;align-items:center;width:100%;display:flex}.sky-card{background:var(--bg-deep);color:var(--card-text);font-family:var(--font-serif);isolation:isolate;border-radius:6px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0d113059,0 2px 6px #0003}.sky-card.ratio-portrait{--card-w:420px;width:var(--card-w);min-height:calc(var(--card-w) * 16 / 9)}.sky-card.ratio-tall{aspect-ratio:3/4;width:480px}.sky-card.ratio-landscape{aspect-ratio:16/9;width:760px}.sky-card.ratio-square{aspect-ratio:1;width:540px}@media (max-width:900px){.sky-card.ratio-portrait{--card-w:min(360px, 78vw)}.sky-card.ratio-tall{width:min(400px,82vw)}.sky-card.ratio-landscape{width:min(680px,92vw)}.sky-card.ratio-square{width:min(480px,85vw)}}.sky-bg{z-index:0;position:absolute;inset:0}.bg-gradient{position:absolute;inset:0}.bg-night{background:radial-gradient(120% 60% at 50% 100%,#5082be47,#0000 60%),radial-gradient(80% 60% at 50% 95%,#6496d238,#0000 55%),linear-gradient(#050723 0%,#0a1038 25%,#12204a 50%,#1f3060 75%,#3a4c85 92%,#5a78a8 100%)}.bg-dawn{background:radial-gradient(100% 50% at 50% 85%,#ffc89699,#0000 60%),linear-gradient(#3a2d7e 0%,#7a4a8e 20%,#b86890 45%,#e89070 70%,#f4bc88 88%,#ffdcb0 100%)}.bg-morning{background:radial-gradient(100% 50% at 50% 90%,#fff5d2a6,#0000 60%),linear-gradient(#7ab0e0 0%,#a8cff0 30%,#d5e5f5 55%,#f5e0c5 80%,#ffedd0 100%)}.bg-noon{background:radial-gradient(circle at 70% 20%,#fffff08c,#0000 50%),linear-gradient(#6aa0d8 0%,#95c0e5 40%,#c5dff0 70%,#e5f0fa 100%)}.bg-sunset{background:radial-gradient(100% 60% at 50% 100%,#ff785a66,#0000 60%),linear-gradient(#2a1a5a 0%,#5a2d70 22%,#a0446e 44%,#e07050 66%,#f0a055 82%,#f8c878 100%)}.bg-aurora{background:linear-gradient(#03071f 0%,#06163a 30%,#0c2850 55%,#1e3a68 75%,#4a5a7a 100%)}.vignette{pointer-events:none;background:radial-gradient(#0000 50%,#00000059 100%);position:absolute;inset:0}.starfield{pointer-events:none;position:absolute;inset:0}.star{background:#fff;border-radius:50%;animation:3s ease-in-out infinite twinkle;position:absolute;box-shadow:0 0 4px #ffffe6cc}@keyframes twinkle{0%,to{opacity:.6;transform:scale(1)}50%{opacity:.15;transform:scale(.7)}}.shooting-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.shooting-star{opacity:0;background:#fff;border-radius:50%;width:2px;height:2px;animation:7s ease-in infinite shoot;position:absolute;box-shadow:0 0 8px 2px #fff0c8e6}.shooting-star:after{content:"";transform-origin:100%;background:linear-gradient(90deg,#0000,#fff0c8d9);width:90px;height:1px;position:absolute;top:50%;right:100%;transform:translateY(-50%)rotate(26.57deg)}@keyframes shoot{0%{opacity:0;transform:translate(0)}5%{opacity:1}20%{opacity:0;transform:translate(120px,60px)}to{opacity:0;transform:translate(120px,60px)}}.clouds{pointer-events:none;position:absolute;inset:0}.cloud{filter:blur(30px);opacity:.5;border-radius:50%;position:absolute}.cloud-a{background:radial-gradient(#ffc8a0b3,#0000 70%);width:70%;height:22%;bottom:8%;left:-15%}.cloud-b{background:radial-gradient(#b496c899,#0000 70%);width:55%;height:18%;bottom:18%;right:-10%}.cloud-c{filter:blur(40px);background:radial-gradient(#8c82c859,#0000 70%);width:50%;height:15%;top:35%;left:20%}.candle-glow-wrap{pointer-events:none;position:absolute;inset:0}.candle-glow{filter:blur(40px);mix-blend-mode:screen;border-radius:50%;position:absolute}.glow-a{background:radial-gradient(circle,#ffc882b3,#0000 70%);width:40%;height:30%;animation:4s ease-in-out infinite flicker;bottom:-5%;left:30%}.glow-b{background:radial-gradient(circle,#ffdcaa66,#0000 70%);width:25%;height:20%;animation:5.5s ease-in-out .5s infinite flicker;top:20%;right:10%}@keyframes flicker{0%,to{opacity:.8;transform:scale(1)}50%{opacity:.5;transform:scale(1.08)}}.sky-frame{z-index:1;pointer-events:none;position:absolute;inset:14px}.frame-corner{border-color:var(--card-gold-dim);border-style:solid;border-width:0;width:24px;height:24px;position:absolute}.frame-corner.tl{border-top-width:1px;border-left-width:1px;top:0;left:0}.frame-corner.tr{border-top-width:1px;border-right-width:1px;top:0;right:0}.frame-corner.bl{border-bottom-width:1px;border-left-width:1px;bottom:0;left:0}.frame-corner.br{border-bottom-width:1px;border-right-width:1px;bottom:0;right:0}.sky-content{z-index:2;flex-direction:column;flex:1;padding:14px 24px 24px;display:flex;position:relative}.card-header{text-align:center;margin-bottom:14px}.eyebrow{font-family:var(--font-sans);letter-spacing:.3em;color:var(--card-gold);opacity:.85;text-transform:uppercase;align-items:center;gap:8px;font-size:9.5px;font-weight:300;display:inline-flex}.hero{grid-template-columns:42% 1fr;align-items:stretch;gap:14px;margin-bottom:14px;display:grid}.hero-avatar{min-width:0;min-height:0;display:block;position:relative}.avatar-tall{aspect-ratio:3/4;border:1px solid var(--card-gold-dim);background:#0d11308c;border-radius:8px;width:100%;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 30px #ffc88226}.avatar-tall img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.avatar-tall-placeholder{font-family:var(--font-mono);color:var(--card-text-dim);letter-spacing:.15em;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:8.5px;display:flex;position:absolute;inset:0}.placeholder-feather-tall{opacity:.6;width:36px;height:68px}.avatar-tall-glow{pointer-events:none;border-radius:8px;position:absolute;inset:0;box-shadow:inset 0 -30px 40px #ffb46e2e}.hero-info{flex-direction:column;justify-content:center;gap:8px;min-width:0;display:flex}.ign{font-family:var(--font-serif);letter-spacing:.06em;color:var(--card-text);text-shadow:0 0 20px #ffdcaa66;word-break:break-word;margin:0;font-size:18px;font-weight:500;line-height:1.15}.tagline{font-family:var(--font-serif);color:var(--card-text-dim);letter-spacing:.04em;margin:0;font-size:11.5px;font-style:italic;line-height:1.35}.friend-code-line{justify-content:center;margin:6px 0 10px;display:flex}.friend-code-text{font-family:var(--font-mono);letter-spacing:.08em;color:var(--card-text);border:1px solid var(--card-gold-dim);white-space:nowrap;text-overflow:ellipsis;background:#0d113059;border-radius:3px;max-width:100%;padding:3px 12px;font-size:11px;overflow:hidden}.hero-stats{flex-direction:column;gap:2px;margin-top:0;margin-bottom:0;display:flex}.hero-stat{display:block}.hero-stat-value{font-family:var(--font-serif);color:var(--card-text);letter-spacing:.04em;word-break:break-word;font-size:15px;font-weight:400;line-height:1.2}.since-stack{flex-direction:column;gap:0;display:flex}.since-year{font-size:15px;line-height:1.25}.since-season{color:var(--card-text-dim);font-size:11px;line-height:1.3}.hero-stat-label{font-family:var(--font-sans);color:var(--card-gold);letter-spacing:.2em;text-transform:uppercase;margin-top:0;margin-bottom:1px;font-size:8px;font-weight:300}.details-block{flex-direction:column;flex:1;gap:4px;min-height:0;display:flex}.sky-divider{align-items:center;gap:8px;margin:2px 0 4px;display:flex}.divider-line{background:linear-gradient(90deg, transparent, var(--card-gold-dim), transparent);flex:1;height:1px}.divider-label{font-family:var(--font-sans);letter-spacing:.3em;color:var(--card-gold);text-transform:uppercase;white-space:nowrap;font-size:9px;font-weight:300}.fields{flex-direction:column;gap:4px;display:flex}.sns-pick-row{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.sns-pick-btn{font-size:11px;font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-soft);cursor:pointer;background:#faf6ed;border:1px solid #0d11302e;border-radius:999px;min-height:44px;padding:5px 10px;transition:all .15s}.sns-pick-btn:hover{background:#f0ead8}.sns-pick-btn.active{background:var(--ink);color:#faf6ed;border-color:var(--ink)}.field-row{justify-content:space-between;align-items:baseline;gap:10px;padding:2px 0;font-size:11.5px;display:flex}.field-label{font-family:var(--font-sans);letter-spacing:.15em;color:var(--card-text-dim);white-space:nowrap;font-size:9.5px;font-weight:300}.field-value{font-family:var(--font-serif);color:var(--card-text);text-align:right;word-break:break-word;font-size:12px}.section-label{font-family:var(--font-sans);letter-spacing:.3em;color:var(--card-gold);text-transform:uppercase;font-size:9px;font-weight:300}.section-label-row{justify-content:space-between;align-items:baseline;gap:8px;margin-top:2px;display:flex}.irregular-badge{font-family:var(--font-serif);color:var(--card-gold);letter-spacing:.05em;white-space:nowrap;font-size:10px}.time-meter{margin-bottom:0}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip{font-family:var(--font-sans);border:1px solid var(--card-gold-dim);color:var(--card-text);letter-spacing:.04em;background:#ffdcaa1a;border-radius:999px;padding:3px 8px;font-size:10px}.bio{font-family:var(--font-serif);color:var(--card-text);white-space:pre-wrap;margin:0;font-size:11.5px;line-height:1.6}.sns{flex-direction:column;gap:3px;display:flex}.sns-item{font-family:var(--font-mono);color:var(--card-text);letter-spacing:.04em;align-items:baseline;gap:8px;font-size:10.5px;display:inline-flex}.sns-tag{letter-spacing:.2em;border:1px solid var(--card-gold-dim);color:var(--card-gold);text-transform:uppercase;background:#ffd89a26;border-radius:3px;padding:1px 6px;font-size:8px}.ratio-landscape .hero{grid-template-columns:28% 1fr}.ratio-landscape .avatar-tall{aspect-ratio:3/5;max-height:80px;overflow:hidden}.ratio-landscape .sky-content{padding:20px 24px 16px}.ratio-landscape .card-header{margin-bottom:8px}.ratio-landscape .ign{font-size:16px}.ratio-landscape .hero{margin-bottom:6px}.ratio-landscape .choices-grid{margin-top:0}.ratio-landscape .choices-col{gap:0}.ratio-landscape .choice-row{padding:1px 0}.ratio-square .hero{grid-template-columns:36% 1fr}.ratio-square .ign{font-size:16px}.ratio-square .avatar-tall{aspect-ratio:1;overflow:hidden}.ratio-square .choices-grid{margin-top:0}.ratio-square .choices-col{gap:0}.ratio-square .choice-row{padding:1px 0}.ratio-square .card-header{margin-bottom:8px}.ratio-tall .hero{grid-template-columns:34% 1fr}.ratio-tall .avatar-tall{aspect-ratio:3/5}.ratio-tall .ign{font-size:17px}.ratio-tall .card-header{margin-bottom:10px}.choices-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:6px;display:grid}.choices-col{flex-direction:column;gap:3px;display:flex}.choice-row{border-bottom:1px dashed #ffdcaa2e;flex-direction:column;align-items:flex-start;gap:1px;padding:3px 0;font-size:10.5px;line-height:1.25;display:flex}.choice-label{font-family:var(--font-sans);letter-spacing:.1em;color:var(--card-text-dim);white-space:nowrap;font-size:9.5px;font-weight:300}.choice-value{font-family:var(--font-serif);color:var(--card-text);text-align:left;word-break:break-word;font-size:11px}.ratio-portrait .sky-content{padding:8px 24px 10px}.ratio-portrait .card-header,.ratio-portrait .hero{margin-bottom:10px}.ratio-portrait .choices-grid{--choices-scale:1;gap:calc(6px * var(--choices-scale,1)) 12px;grid-template-columns:1fr 1fr;margin-top:2px}.ratio-portrait .choices-col{gap:calc(2px * var(--choices-scale,1))}.ratio-portrait .choice-row{padding:calc(4px * var(--choices-scale,1)) 0;gap:0}.ratio-portrait .choice-label{font-size:calc(9px * var(--choices-scale,1));line-height:1.2}.ratio-portrait .choice-value{font-size:calc(12px * var(--choices-scale,1));line-height:1.25}.ratio-landscape .choice-row{font-size:9.5px}.ratio-landscape .choice-label{font-size:8.5px}.ratio-landscape .choice-value,.ratio-square .choice-row{font-size:10px}.ratio-tall .choice-row{font-size:10.5px}.choices-form{flex-direction:column;gap:14px;display:flex}.choices-form-row{flex-direction:column;gap:6px;display:flex}.choices-form-label{font-family:var(--font-sans);color:var(--ink);font-size:13px;font-weight:400}.radio-chip-group{flex-wrap:wrap;gap:6px;display:flex}.radio-chip{font-size:13px;font-family:var(--font-sans);color:var(--ink-soft);cursor:pointer;background:#faf6ed;border:1px solid #0d113033;border-radius:999px;min-height:44px;padding:8px 14px;transition:all .15s}.radio-chip:hover{background:#f0ead8}.radio-chip.active{background:var(--ink);color:#faf6ed;border-color:var(--ink)}.sun-disc{filter:blur(2px);pointer-events:none;border-radius:50%;position:absolute}.sun-dawn{background:radial-gradient(circle,#fff0c8,#ffb878 60%,#0000 75%);width:80px;height:80px;bottom:10%;left:50%;transform:translate(-50%);box-shadow:0 0 80px 40px #ffb47873}.sun-morning{background:radial-gradient(circle,#fff,#fff2c8 55%,#0000 80%);width:60px;height:60px;top:18%;right:14%;box-shadow:0 0 70px 30px #fff0c880}.sun-noon{background:radial-gradient(circle,#fff,#ffeea0 60%,#0000 80%);width:56px;height:56px;top:10%;right:20%;box-shadow:0 0 90px 40px #fff0b499}.sun-sunset{background:radial-gradient(circle,#ffe4a0,#ff9060 55%,#0000 75%);width:90px;height:90px;bottom:15%;left:62%;box-shadow:0 0 100px 50px #ff825a73}.aurora-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.aurora{filter:blur(40px);mix-blend-mode:screen;opacity:.6;width:140%;height:40%;animation:12s ease-in-out infinite alternate auroraMove;position:absolute;left:-20%}.aurora-a{background:linear-gradient(90deg,#0000,#5be59e 20%,#6acff0 50%,#b47de8 80%,#0000);top:10%;transform:skewY(-6deg)}.aurora-b{opacity:.45;background:linear-gradient(90deg,#0000,#76e8b0 30%,#8ab9f0 70%,#0000);animation-delay:-4s;top:30%;transform:skewY(4deg)}.aurora-c{opacity:.35;background:linear-gradient(90deg,#0000,#a0e8d0 40%,#c49af0 60%,#0000);animation-delay:-8s;top:50%;transform:skewY(-3deg)}@keyframes auroraMove{0%{transform:translate(-5%)skewY(-6deg)}to{transform:translate(5%)skewY(-4deg)}}.clouds-dawn .cloud-a{background:radial-gradient(#ffb48ccc,#0000 70%)}.clouds-dawn .cloud-b{background:radial-gradient(#e696aa99,#0000 70%)}.clouds-morning .cloud{opacity:.7}.clouds-morning .cloud-a{background:radial-gradient(#ffffffd9,#0000 70%);top:20%;bottom:auto;left:-10%}.clouds-morning .cloud-b{background:radial-gradient(#ffffffb3,#0000 70%);top:50%;bottom:auto}.clouds-morning .cloud-c{background:radial-gradient(#fff0dc8c,#0000 70%)}.clouds-noon .cloud{opacity:.8}.clouds-noon .cloud-a{background:radial-gradient(#ffffffe6,#0000 70%);top:30%;bottom:auto}.clouds-noon .cloud-b{background:radial-gradient(#fffc,#0000 70%);top:15%;bottom:auto}.clouds-noon .cloud-c{background:radial-gradient(#fff9,#0000 70%)}.clouds-sunset .cloud-a{background:radial-gradient(#ffa064bf,#0000 70%)}.clouds-sunset .cloud-b{background:radial-gradient(#c86e8c99,#0000 70%)}.clouds-sunset .cloud-c{background:radial-gradient(#8c5a9666,#0000 70%)}.glow-dawn .glow-a{background:radial-gradient(circle,#ffc896a6,#0000 70%)}.glow-sunset .glow-a{background:radial-gradient(circle,#ff9664b3,#0000 70%)}.vignette-soft{background:radial-gradient(#0000 60%,#0000002e 100%)!important}.time-meter{padding:3px 2px 0}.time-meter-bar{border:1px solid var(--card-gold-dim);background:#0d113059;border-radius:2px;gap:1px;height:10px;padding:2px;display:flex}.time-tick{background:#f4ecd81a;border-radius:1px;flex:1;transition:background .2s}.time-tick.major{background:#f4ecd833}.time-tick.active{background:linear-gradient(#ffe4a0,#ff9e60);box-shadow:0 0 6px #ffb464b3}.time-meter-labels{font-family:var(--font-mono);color:var(--card-text-dim);letter-spacing:.08em;justify-content:space-between;margin-top:2px;font-size:8.5px;display:flex}.theme-picker{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.theme-swatch{cursor:pointer;aspect-ratio:4/3;background:#000;border:1px solid #0d11302e;border-radius:8px;padding:0;transition:all .15s;position:relative;overflow:hidden}.theme-swatch:hover{border-color:#d8944d;border-color:lab(67.1998% 21.4767 47.6455);transform:translateY(-1px)}.theme-swatch.active{border-color:#b86b00;border-color:lab(52.9888% 31.6325 88.3606);box-shadow:0 0 0 2px #f3c49780;box-shadow:0 0 0 2px lab(82.4587% 13.0504 29.3573/.5)}.theme-swatch-inner{position:absolute;inset:0}.theme-swatch-label{font-family:var(--font-serif);color:#fff;text-align:center;text-shadow:0 1px 4px #000c;letter-spacing:.04em;font-size:10px;position:absolute;bottom:4px;left:0;right:0}.theme-swatch-night .theme-swatch-inner{background:linear-gradient(#050723 0%,#12204a 50%,#3a4c85 85%,#5a78a8 100%)}.theme-swatch-dawn .theme-swatch-inner{background:linear-gradient(#1a1845 0%,#7a4a6e 45%,#f2a878 85%,#fdd9a6 100%)}.theme-swatch-morning .theme-swatch-inner{background:linear-gradient(#5a8cc4 0%,#c2d6e8 55%,#fbe6c4 100%)}.theme-swatch-noon .theme-swatch-inner{background:linear-gradient(#4a82b8 0%,#aacae0 70%,#d4e5f0 100%)}.theme-swatch-sunset .theme-swatch-inner{background:linear-gradient(#2a1a5a 0%,#a0446e 44%,#e07050 70%,#f8c878 100%)}.theme-swatch-aurora .theme-swatch-inner{background:linear-gradient(#03071f 0%,#0c2850 55%,#4a5a7a 100%)}.theme-swatch-aurora .theme-swatch-inner:after{content:"";filter:blur(6px);opacity:.55;background:linear-gradient(90deg,#0000,#5be59e 30%,#b47de8 70%,#0000);height:20%;position:absolute;inset:30% 0 0}.theme-swatch-custom .theme-swatch-inner{background:repeating-linear-gradient(45deg,#9696b440,#9696b440 6px,#64648259 6px 12px),linear-gradient(135deg,#40639c,#333463);background:repeating-linear-gradient(45deg,#9696b440,#9696b440 6px,#64648259 6px 12px),linear-gradient(135deg,lab(41.3303% 1.05423 -35.4233),lab(23.6619% 10.0331 -28.2371))}.theme-swatch-custom .theme-swatch-inner:before{content:"＋";color:#ffffffd9;text-shadow:0 2px 6px #00000080;justify-content:center;align-items:center;font-size:22px;display:flex;position:absolute;inset:0}.bg-custom-image{position:absolute;inset:-20px;overflow:hidden}.bg-custom-image img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.bg-custom-overlay{background:linear-gradient(#0003 0%,#00000059 100%);position:absolute;inset:0}.bg-custom-placeholder{color:#ffdcaa80;font-family:var(--font-serif);letter-spacing:.1em;pointer-events:none;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0}.custom-bg-upload{cursor:pointer;background:#fafaf7;border:1px dashed #0d113033;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.custom-bg-upload input[type=file]{display:none}.custom-bg-thumb{background:linear-gradient(135deg,#9aa0b4,#5a6080) 50%/cover;border-radius:6px;flex-shrink:0;width:48px;height:48px}.sns-icon-row{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.sns-icon{border:1px solid var(--card-gold-dim);color:var(--card-text);cursor:pointer;background:0 0;border-radius:12px;align-items:center;gap:4px;padding:3px 7px 3px 4px;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex}.sns-icon svg{flex-shrink:0;width:12px;height:12px}.sns-id{font-family:var(--font-mono);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;max-width:90px;font-size:9px;overflow:hidden}.sns-icon:hover{color:var(--card-gold);background:#ffd89a26}span.sns-icon{cursor:default}span.sns-icon:hover{color:var(--card-text);background:0 0}.ratio-landscape .sns-icon svg{width:11px;height:11px}.ratio-landscape .sns-id{max-width:70px;font-size:8.5px}.sky-footer{flex-direction:column;padding-top:24px;display:flex}.sky-footer:has(.friend-code-line){padding-top:6px}.date-stamp{pointer-events:none;justify-content:center;align-items:center;gap:8px;display:flex}.date-stamp-line{background:linear-gradient(90deg, transparent, var(--card-gold-dim), transparent);width:24px;height:1px}.date-stamp-text{font-family:var(--font-mono);letter-spacing:.25em;color:var(--card-gold);opacity:.7;text-transform:uppercase;font-size:8.5px}.sky-card.theme-dawn .vignette,.sky-card.theme-morning .vignette,.sky-card.theme-noon .vignette{background:radial-gradient(#0000 65%,#00000026 100%)}.sky-card.theme-morning,.sky-card.theme-noon{--card-text:#2a1e50;--card-text-dim:#2a1e50b8;--card-gold:#8b5a20;--card-gold-dim:#8b5a208c}.sky-card.theme-morning .ign,.sky-card.theme-noon .ign{text-shadow:none}.sky-card.theme-dawn .details-block,.sky-card.theme-dawn .friend-code-text,.sky-card.theme-dawn .date-stamp{--card-text:#2a1e50;--card-text-dim:#2a1e50b8;--card-gold:#8b5a20;--card-gold-dim:#8b5a208c}.sky-card.theme-dawn .details-block,.sky-card.theme-morning .details-block,.sky-card.theme-noon .details-block{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff59;border-radius:6px;padding:8px 10px}.sky-card.theme-dawn .friend-code-text,.sky-card.theme-morning .friend-code-text,.sky-card.theme-noon .friend-code-text{color:#2a1e50;background:#ffffff80;border-color:#8b5a2080}.sky-card.theme-morning .sns-icon,.sky-card.theme-noon .sns-icon,.sky-card.theme-dawn .sns-icon{background:#ffffff4d}.sky-card.theme-dawn .date-stamp-text,.sky-card.theme-morning .date-stamp-text,.sky-card.theme-noon .date-stamp-text{opacity:.9}.app-footer{text-align:center;background:#faf6ed;border-top:1px solid #0d113014;flex-direction:column;align-items:center;gap:6px;padding:14px 40px;display:flex}.footer-made-by{color:var(--ink-soft);font-size:12px;font-family:var(--font-mono);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.footer-made-by:hover{color:var(--ink)}.footer-made-by svg{width:14px;height:14px}.footer-disclaimer{color:#3a3f66d9;font-size:10px;font-family:var(--font-sans);max-width:600px;line-height:1.5}.footer-policy{font-size:11px;font-family:var(--font-sans);margin:0}.footer-policy-link{color:#3a3f66e6;text-underline-offset:2px;text-decoration:underline}.footer-policy-link:hover{color:var(--ink)}.hint-link{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.hint-link:hover{color:var(--ink-soft)}@media (max-width:900px){.app-footer{padding:12px 20px}}input[type=text],input[type=number],input[type=search],input[type=url],input[type=email],textarea,select{font-size:16px}@media (max-width:400px){.sky-card.ratio-portrait{--card-w:min(360px, 86vw)}.ratio-portrait .sky-content{padding:6px 20px 8px}.ratio-portrait .card-header,.ratio-portrait .hero{margin-bottom:6px}.ratio-portrait .ign{font-size:16px}.ratio-portrait .tagline{font-size:10.5px}.ratio-portrait .hero-stat-value,.ratio-portrait .since-year{font-size:14px}.ratio-portrait .since-season{font-size:10px}.ratio-portrait .hero-stat-label{font-size:7.5px}.sky-card.theme-dawn.ratio-portrait .details-block,.sky-card.theme-morning.ratio-portrait .details-block,.sky-card.theme-noon.ratio-portrait .details-block{padding:5px 7px}.ratio-portrait .choices-grid{gap:calc(4px * var(--choices-scale,1)) 10px;margin-top:1px}.ratio-portrait .choices-col{gap:calc(1px * var(--choices-scale,1))}.ratio-portrait .choice-row{padding:calc(3px * var(--choices-scale,1)) 0;gap:0}.ratio-portrait .choice-label{font-size:calc(8px * var(--choices-scale,1));line-height:1.15}.ratio-portrait .choice-value{font-size:calc(10.5px * var(--choices-scale,1));line-height:1.2}.friend-code-line{margin:4px 0 6px}.friend-code-text{padding:2px 10px;font-size:10px}.sky-footer{padding-top:16px}.sky-footer:has(.friend-code-line){padding-top:4px}.time-meter{padding:2px 2px 0}.time-meter-bar{height:8px}}.preview-bar{z-index:30;min-height:44px;padding:8px 16px;padding-top:calc(8px + env(safe-area-inset-top,0px));-webkit-backdrop-filter:blur(8px);color:#f4ecd8;font-family:var(--font-sans);letter-spacing:.02em;cursor:pointer;pointer-events:none;background:linear-gradient(#0d1130f2,#0d1130e0);border:none;border-bottom:1px solid #ffdcaa40;grid-template-columns:1fr auto 1fr;align-items:center;font-size:13px;transition:transform .22s cubic-bezier(.22,.61,.36,1);display:grid;position:fixed;top:0;left:0;right:0;transform:translateY(-110%)}.preview-bar.is-visible{pointer-events:auto;transform:translateY(0)}.preview-bar:hover{background:linear-gradient(#1a2248f5,#1a2248e6)}.preview-bar-label{grid-column:2;align-items:center;gap:10px;display:inline-flex}.preview-bar-dot{background:#ffdca8;border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite preview-bar-pulse;display:inline-block;box-shadow:0 0 10px #ffdca8cc}@keyframes preview-bar-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.preview-bar-chevron{opacity:.7;grid-column:3;justify-self:end;font-size:11px}.preview-drawer-wrap{z-index:40;flex-direction:column;display:flex;position:fixed;inset:0}.preview-drawer-backdrop{-webkit-backdrop-filter:blur(4px);background:#080a1c8c;animation:.18s ease-out preview-drawer-fade;position:absolute;inset:0}@keyframes preview-drawer-fade{0%{opacity:0}to{opacity:1}}.preview-drawer-panel{padding-left:16px;padding-right:16px;padding-top:calc(4px + env(safe-area-inset-top,0px));padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));background:linear-gradient(#0d1130 0%,#1a2048 100%);border-bottom:1px solid #ffdcaa4d;border-radius:0;max-height:100dvh;animation:.26s cubic-bezier(.22,.61,.36,1) preview-drawer-slide;position:relative;overflow-y:auto;box-shadow:0 18px 40px #00000073}@keyframes preview-drawer-slide{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.preview-drawer-header{z-index:1;background:linear-gradient(#0d1130 0%,#0d1130f2 100%);justify-content:space-between;align-items:center;padding:4px 0 6px;display:flex;position:sticky;top:0}.preview-drawer-title{font-family:var(--font-sans);letter-spacing:.25em;color:#ffdcaacc;font-size:11px}.preview-drawer-close{color:#f4ecd8;cursor:pointer;background:#ffffff0f;border:1px solid #ffdcaa4d;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;line-height:1;display:inline-flex}.preview-drawer-close:hover{background:#ffffff1f}.preview-drawer-body{padding-top:2px}body:has(.preview-drawer-wrap){overscroll-behavior:contain}.policy-page{min-height:100vh;color:var(--ink);font-family:var(--font-sans);background:linear-gradient(#faf6ed 0%,#f1ead9 100%);padding:32px 20px 56px;line-height:1.8}.policy-inner{max-width:720px;margin:0 auto}.policy-nav{margin-bottom:16px}.policy-nav-bottom{text-align:center;margin-top:40px;margin-bottom:0}.policy-back{color:var(--ink-soft);border-radius:6px;padding:6px 10px;font-size:13px;text-decoration:none;transition:background-color .15s;display:inline-block}.policy-back:hover{color:var(--ink);background:#0d11300d}.policy-header{border-bottom:1px solid #0d11301a;margin:8px 0 32px;padding-bottom:16px}.policy-title{color:var(--ink);letter-spacing:.02em;margin:0 0 6px;font-size:22px;font-weight:500}.policy-updated{color:var(--ink-soft);margin:0;font-size:12px}.policy-section{margin-bottom:28px}.policy-section h2{color:var(--ink);letter-spacing:.02em;margin:0 0 10px;font-size:17px;font-weight:500}.policy-section h3{color:var(--ink);margin:18px 0 6px;font-size:14px;font-weight:500}.policy-section p{color:var(--ink-soft);margin:0 0 10px;font-size:13.5px}.policy-section ul{color:var(--ink-soft);margin:0 0 12px;padding-left:20px;font-size:13.5px}.policy-section ul li{margin-bottom:6px}.policy-section strong{color:var(--ink);font-weight:500}.policy-section a{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.policy-section a:hover{color:var(--ink-soft)}@media (max-width:600px){.policy-page{padding:20px 16px 40px}.policy-title{font-size:19px}.policy-section h2{font-size:15px}.policy-section h3,.policy-section p,.policy-section ul{font-size:13px}}.btn:focus-visible,.radio-chip:focus-visible,.theme-swatch:focus-visible,.sns-pick-btn:focus-visible,.preview-bar:focus-visible,.preview-drawer-close:focus-visible,.policy-back:focus-visible,.chip-option:focus-visible,.footer-made-by:focus-visible,.footer-policy-link:focus-visible,.hint-link:focus-visible,.file-upload:focus-within,.custom-bg-upload:focus-within{outline-offset:2px;border-radius:6px;outline:2px solid #d8944d;outline:2px solid lab(67.1998% 21.4767 47.6455)}.preview-bar:focus-visible{outline-offset:-3px}@media (prefers-reduced-motion:reduce){.star,.shooting-star,.aurora,.glow-a,.glow-b,.preview-bar-dot{animation:none!important}.preview-drawer-panel,.preview-drawer-backdrop,.toast,.preview-bar{transition:none!important;animation:none!important}.btn:hover{transform:none!important}}
