/* 星空と笹を主役にした、和の七夕の画面。既存フォームの動作・縦書きは維持。 */
:root{--bg:#080f22;--surface:#15233a;--text:#f3f0e8;--muted:#b7c4d4;--gold:#e8c98d;--line:#53647b;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',Georgia,serif}
html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:#080f22;isolation:isolate}button,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:wait;opacity:.6}main{position:relative;z-index:1}.night-sky{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 55% 50%,#193d4f55,transparent 65%),linear-gradient(160deg,#070d20,#111f37 55%,#111b2d)}.milky-way{position:absolute;width:160vw;height:33vw;min-height:250px;top:28%;left:-30%;transform:rotate(-36deg);filter:blur(12px);opacity:.6;background:radial-gradient(ellipse at 50% 50%,#acbdd62e,transparent 58%),repeating-radial-gradient(ellipse at 38% 50%,#b7d2e60c 0 2%,transparent 4% 7%);mask-image:radial-gradient(ellipse,#000 15%,transparent 70%)}.starfield{position:absolute;inset:0;background-image:radial-gradient(1px 1px at 7% 21%,#fff9 90%,transparent),radial-gradient(1px 1px at 39% 57%,#d5e4f899 90%,transparent),radial-gradient(1.5px 1.5px at 69% 29%,#f8edcebb 90%,transparent),radial-gradient(1px 1px at 88% 71%,#e0e7ff99 90%,transparent),radial-gradient(.7px .7px at 22% 88%,#d8e8ffaa 90%,transparent);background-size:257px 229px,383px 311px,601px 493px,271px 359px,173px 193px;animation:twinkle 8s ease-in-out infinite alternate}.starfield.distant{transform:rotate(19deg) scale(1.15);opacity:.4;animation-delay:-4s;background-size:181px 197px,223px 257px,413px 397px,191px 173px,131px 157px}.moon{position:absolute;right:13%;top:16%;width:52px;height:52px;border-radius:50%;box-shadow:inset 7px -2px 0 #ecdfb7;transform:rotate(-25deg);filter:drop-shadow(0 0 20px #f5df9a55);opacity:.75}
.topbar{max-width:1240px;height:84px;border-bottom-color:#d0dcf21c;padding-inline:36px;gap:24px}.brand{font-size:21px;letter-spacing:.12em}.brand-mark{height:36px;width:25px;font-size:17px;border-color:#cdb37a88;transform:rotate(-5deg)}nav{margin-left:auto;gap:22px}.nav-link{min-height:48px;font-size:14px;letter-spacing:.08em;padding:12px 5px}.terms-link{margin-left:20px;font-size:13px;min-height:48px}.intro{max-width:1000px;display:block;text-align:center;padding:52px 24px 4px}.intro .eyebrow{font-family:var(--serif);letter-spacing:.3em;font-size:12px;color:#d8c49c}.intro h1{font-size:clamp(34px,4.6vw,53px);font-weight:400;line-height:1.6;letter-spacing:.14em;text-shadow:0 0 35px #b9d6ee20;margin:16px 0 13px}.intro-copy{font:14px/2 var(--serif);letter-spacing:.1em;color:#ccd5df;margin:0 0 24px}.intro-actions{justify-content:center;flex-wrap:wrap;align-items:center;gap:12px}.button{border-radius:6px;min-height:48px;font-size:14px;font-weight:500;letter-spacing:.06em}.primary{background:linear-gradient(135deg,#f0d8a2,#ddbd7b);color:#192437;box-shadow:0 4px 25px #ead39814;border:1px solid #f6dfad}.primary:hover{background:#f4dfb2;box-shadow:0 0 28px #ead39826}.quiet,.outline{border-color:#b5c5da66;background:#15243e66}.quiet:hover,.outline:hover{background:#283c5488}.scene-link{color:#c5d2e1;font:13px var(--serif);letter-spacing:.07em;padding:14px 10px;text-decoration:none}.scene-link span{margin-left:9px}.scene-link:hover{color:#ffe3ab}.season-note{font-size:11px;letter-spacing:.1em;margin-top:23px;padding:0;color:#a9b9cc}.season-dot{width:4px;height:4px;margin-right:7px;vertical-align:middle}
.content-grid{display:block;max-width:1240px;padding:0 36px 60px}.bamboo-panel{border:0;background:transparent;border-radius:0;overflow:visible;position:relative;padding-top:12px}.panel-heading{position:absolute;left:0;top:52px;padding:0;display:block;z-index:2;max-width:220px}.panel-heading .eyebrow{font-size:10px;letter-spacing:.16em}.panel-heading h2{font:21px var(--serif);letter-spacing:.12em}.count-label{display:block;margin-top:9px;font-size:11px;color:#acbdd0}.tree-stage{height:620px;max-width:100%;background:radial-gradient(ellipse at 50% 72%,#5687831a,transparent 60%);overflow:visible}.bamboo-frame{position:absolute;height:600px;width:600px;max-width:100%;left:50%;bottom:24px;transform:translateX(-50%)}.bamboo-image{width:100%;height:100%;object-fit:contain;display:block;filter:saturate(.36) brightness(.91) drop-shadow(0 0 20px #b0ca8310);transform-origin:13% 90%;animation:bamboo-breeze 10s ease-in-out infinite alternate}.bamboo-ground{position:absolute;bottom:1%;left:1%;width:80%;height:7%;background:radial-gradient(ellipse,#749d7a26,transparent 68%);filter:blur(8px)}.tree-tags{inset:0}.hanging{width:38px;height:132px;min-height:0;max-height:none;padding:12px 9px 8px;box-shadow:0 8px 20px #0005,0 0 20px #dfe8fa0d;opacity:.95;font:14px/1.4 var(--serif);border:1px solid #fff7;transform-origin:50% -25px;border-radius:0 0 2px 2px}.hanging.pink{background:linear-gradient(#f3c0cc,#dc9cb1)}.hanging.blue{background:linear-gradient(#c0deed,#92b9d5)}.hanging.gold{background:linear-gradient(#f5e3a6,#dfc178)}.hanging.violet{background:linear-gradient(#dcccea,#b9a1d6)}.hanging.white{background:linear-gradient(#fff9e8,#dfddcf)}.tree-empty{inset:auto 0 48px;z-index:2;gap:5px;pointer-events:none}.tree-empty .text-button{pointer-events:auto}.empty-stamp{display:none}.tree-empty strong{font-size:16px;letter-spacing:.08em;text-shadow:0 2px 10px #08101d}.tree-empty span:not(.empty-stamp){font-size:12px;color:#b9c7d7}.tree-empty .text-button{font:13px var(--serif);padding:6px;min-height:44px}.tree-caption{bottom:5px;font:12px var(--serif);letter-spacing:.18em;color:#adbbce}
.side-panel{margin:30px auto 0;max-width:1060px;width:100%;padding:34px;border:1px solid #bdc9dc26;border-radius:14px;background:linear-gradient(135deg,#263b4d66,#17263d99);backdrop-filter:blur(12px);box-shadow:0 20px 70px #03091633}.filter-box{border-color:#c8d8ed22;padding-bottom:22px}.filter-head h3{font-size:17px;letter-spacing:.1em}.filter-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:14px}.filter-fields label:first-child{grid-column:auto}.filter-fields label{font-size:12px}.filter-fields select,#mine-sort{min-height:46px;border-radius:5px;border-color:#9caec34d;background:#0e1c2fd9;padding:8px 12px}.list-heading{padding:30px 0 20px}.list-heading h3{font-size:24px;letter-spacing:.1em}.list-heading .eyebrow{font-size:10px;letter-spacing:.18em}.wish-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.wish-card{grid-template-columns:3px minmax(0,1fr) 46px;gap:13px;min-height:146px;border-color:#d0dfed21;background:#0d1c30a6;padding:20px 14px;border-radius:7px;transition:background .25s,border-color .25s}.wish-card:hover{border-color:#c9b78366;background:#22354d9e}.wish-snippet{font:17px/1.8 var(--serif);-webkit-line-clamp:3}.wish-meta{font-size:10px;line-height:1.7;margin-top:10px}.card-tools{font-size:11px;color:#acbdd0}.card-tools .star-button{padding:6px 2px;min-width:44px;min-height:44px;color:#ecd095}.empty-list,.state-message{grid-column:1/-1;background:transparent;border:0;text-align:center;padding:25px 12px;line-height:2}.empty-list strong{font-size:20px;letter-spacing:.1em}.wish-list>.text-button{grid-column:1/-1;justify-self:center}.privacy-note{border-color:#c8d8ed22;font-size:12px;margin-top:25px;padding-top:20px;line-height:1.8}.privacy-note span{font-size:18px}.side-panel>#invite-create{display:block;width:auto;margin:18px auto 0;font:14px var(--serif);padding-inline:28px}.footer-note{border-color:#d0dcf21c;max-width:1168px;padding:24px 0 54px;font:12px/1.8 var(--serif);align-items:center;gap:20px}.art-credit{display:block;margin-top:7px;font:10px/1.7 var(--sans);color:#a3b5cb}.art-credit a{color:inherit;text-underline-offset:3px}.footer-link{font-size:12px}.dialog{background:linear-gradient(145deg,#23364a,#142239);border-color:#a1b1c45c;border-radius:12px}.dialog-head h2,.success-dialog h2{letter-spacing:.08em}.icon-button{border-radius:50%;border-color:#c2d0e150}.paper-preview{box-shadow:0 10px 35px #0005,0 0 25px #cde3f314}.form-fields textarea,.form-fields select,.form-fields input:not([type=checkbox]):not([type=radio]){background:#0e1a2d99;border-color:#a1b4cc66;border-radius:5px}.mobile-cta{background:#101d31e6;border-color:#aabbd133}.toast{background:#f2eadb;border-radius:7px}.detail-vertical{overflow-wrap:anywhere}.invite-card{background:#162a3c;border-color:#8fa4b955;border-radius:7px}
@keyframes twinkle{from{opacity:.48}to{opacity:.9}}@keyframes bamboo-breeze{from{transform:rotate(-.7deg)}to{transform:rotate(.7deg)}}
@media(min-width:1400px){.intro{padding-top:65px}.tree-stage{height:660px}.bamboo-frame{width:650px;height:650px}}
@media(max-width:1000px){.panel-heading{position:relative;top:auto;left:auto;text-align:center;max-width:none;margin-top:24px}.panel-heading .eyebrow{display:none}.panel-heading h2{font-size:18px}.count-label{margin-top:4px}.tree-stage{height:580px}.bamboo-frame{width:560px;height:560px}.wish-list{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{padding-inline:24px}.footer-note{margin-inline:24px}.moon{right:8%;top:14%}}
@media(max-width:600px){.topbar{height:72px;padding:0 17px;gap:8px}.brand{font-size:17px;letter-spacing:.04em;gap:7px}.brand-mark{height:29px;width:21px;font-size:14px}nav{gap:12px}.nav-link{font-size:12px;padding:12px 0;letter-spacing:0}.terms-link{display:none}.intro{padding:38px 18px 0}.intro .eyebrow{font-size:10px;letter-spacing:.18em}.intro h1{font-size:34px;letter-spacing:.08em;line-height:1.6;margin:14px 0}.intro-copy{font-size:12px;line-height:2;margin-bottom:20px}.intro-actions{gap:10px}.intro-actions .button{min-height:48px;padding:10px 17px;font-size:13px}.scene-link{flex-basis:100%;font-size:12px;padding:4px 8px;min-height:44px;display:flex;justify-content:center;align-items:center}.season-note{margin-top:5px;font-size:10px}.content-grid{padding:0 14px 32px}.panel-heading{margin-top:24px}.panel-heading h2{font-size:17px}.count-label{font-size:10px}.tree-stage{height:calc(100vw + 65px);min-height:350px;max-height:580px}.bamboo-frame{width:100%;height:auto;aspect-ratio:1;bottom:65px}.bamboo-image{width:100%;height:100%}.tree-empty{bottom:32px;gap:3px}.tree-empty strong{font-size:14px}.tree-empty span:not(.empty-stamp){font-size:11px}.tree-caption{font-size:10px;letter-spacing:.1em;bottom:3px}.hanging{width:30px;height:100px;padding:9px 6px;font-size:11px}.hanging:before{height:18px!important;top:-19px!important}.side-panel{margin-top:25px;padding:22px 16px;border-radius:10px}.filter-head h3{font-size:16px}.filter-fields{grid-template-columns:1fr 1fr;gap:12px}.filter-fields label:first-child{grid-column:1/-1}.wish-list{grid-template-columns:1fr;gap:10px}.wish-card{min-height:113px;padding:17px 12px}.wish-snippet{font-size:16px;-webkit-line-clamp:2}.wish-meta{font-size:11px}.list-heading{padding-top:24px}.list-heading h3{font-size:21px}.privacy-note{font-size:11px}.footer-note{margin:0 18px;padding:24px 0 120px;display:block;text-align:center}.footer-note div{justify-content:center;margin-top:14px}.art-credit{font-size:10px}.moon{width:34px;height:34px;top:16%;right:7%;opacity:.4}.milky-way{top:30%;opacity:.7}.dialog{padding:22px 18px}.success-actions{grid-template-columns:1fr}.preview-column{padding-top:18px}.mobile-cta{padding:10px 16px calc(10px + env(safe-area-inset-bottom));backdrop-filter:blur(12px)}.mobile-cta .button{font-size:14px}}
@media(max-width:360px){.brand{font-size:15px}.nav-link{font-size:11px}nav{gap:10px}.intro h1{font-size:30px}.hanging{width:26px;padding-inline:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bamboo-image,.starfield,.hanging{animation:none!important}}

@media(min-width:1001px){.intro h1 br{display:none}.intro h1{font-size:clamp(36px,4vw,50px)}}

/* 投稿した短冊画像と、拡大してたどる笹 */
.tree-tools{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:28px auto 14px;color:var(--muted);font-size:12px}.tree-tools>span{max-width:370px;line-height:1.8}.zoom-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.zoom-buttons button{min-width:44px;min-height:44px;border:1px solid #b3c4d455;background:#182940bd;border-radius:6px;font:16px var(--sans)}.zoom-buttons #zoom-fit{font-size:12px;padding:8px 12px}.zoom-range-label{font-size:10px;display:flex;align-items:center;gap:8px}.zoom-range-label input{width:110px;accent-color:var(--gold)}#zoom-level{min-width:44px;text-align:center;font-size:12px}.bamboo-panel{padding-top:65px}.panel-heading{top:22px}.tree-stage{height:auto;min-height:0;max-height:none;overflow:visible}.tree-viewport{height:700px;width:100%;overflow:auto;position:relative;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;cursor:grab;border:1px solid #b6cce21f;border-radius:14px;background:radial-gradient(ellipse at 50% 65%,#304f521f,transparent 65%);scrollbar-color:#658088 #0c192a;scrollbar-width:thin}.tree-viewport.dragging{cursor:grabbing;user-select:none}.bamboo-space{position:relative;min-width:100%;min-height:100%;width:100%;height:1050px}.bamboo-frame{position:absolute;inset:0 auto auto 50%;width:680px;height:680px;max-width:none;transform-origin:50% 0;transform:translateX(-50%) scale(1.5)}.bamboo-image{animation:none;user-select:none;pointer-events:none}.tree-tags{z-index:1}.hanging{overflow:visible}.hanging::after{content:'';position:absolute;inset:-6px;z-index:-1}.tree-empty{position:relative;inset:auto;margin:20px 12px 0}.tree-caption{position:relative;inset:auto;text-align:center;margin:18px 0 0}.success-dialog{width:min(620px,calc(100% - 28px));overflow:auto;max-height:92dvh;padding:28px 24px}.success-dialog .flight-scene{height:110px}.success-dialog.photo-ready .flight-scene{display:none}.share-photo{margin:20px auto 12px;max-width:300px}.share-photo img{display:block;width:100%;height:auto;border:1px solid #e6e0d155;border-radius:7px;box-shadow:0 8px 35px #0005}.share-photo figcaption{font-size:11px;line-height:1.7;color:var(--muted);margin-top:10px}.success-actions #share-photo{grid-column:1/-1}.preview-text{align-items:center;overflow:visible}.preview-column-text{height:auto;min-height:1em;max-height:15em;align-self:center;white-space:pre}.detail-vertical{display:flex;flex-direction:row-reverse;align-items:center;justify-content:flex-start;writing-mode:horizontal-tb;max-height:none;max-width:100%;overflow:auto;gap:.25em;min-height:300px;padding:12px 0}.detail-column{writing-mode:vertical-rl;text-orientation:upright;white-space:pre;flex:none;line-height:1.5}.detail-paper{min-width:0}.detail-name{flex:none}.share-photo img:focus-visible{outline:3px solid var(--gold)}
@media(min-width:1400px){.tree-viewport{height:800px}}
@media(max-width:1000px){.bamboo-panel{padding-top:12px}.panel-heading{position:relative;top:auto}.tree-tools{margin-top:18px}.tree-viewport{height:620px}}
@media(max-width:600px){.tree-tools{display:block;margin:17px 0 12px}.tree-tools>span{display:block;font-size:11px;margin-bottom:10px}.zoom-buttons{gap:6px;justify-content:center}.zoom-range-label{font-size:0;gap:0}.zoom-range-label input{width:105px}.zoom-buttons #zoom-fit{font-size:11px;padding:8px}.tree-viewport{height:520px;border-radius:10px}.bamboo-space{height:640px}.bamboo-frame{width:350px;height:350px;aspect-ratio:auto}.tree-stage{height:auto;min-height:0;max-height:none}.tree-empty{inset:auto;margin-top:18px}.tree-caption{inset:auto}.success-dialog{padding:28px 18px}.share-photo{max-width:260px}.success-actions #share-photo{grid-column:auto}.success-dialog h2{font-size:23px}.detail-vertical{font-size:19px}.preview-text{height:255px;align-items:center}.preview-column-text{height:auto;max-height:15em}}
@media(prefers-reduced-motion:reduce){.tree-viewport{scroll-behavior:auto}}

.success-dialog{width:min(700px,calc(100% - 28px))}.share-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,1fr);align-items:center;gap:22px;margin-top:18px}.share-photo{margin:0 auto;max-width:250px}.share-controls .success-actions{grid-template-columns:1fr;margin-top:12px}.share-controls .success-actions>*{grid-column:1}.share-controls #share-status{font-size:12px;line-height:1.8;margin:0}.share-controls .button{min-height:44px}.success-dialog .success-mark{width:36px;height:36px;font-size:23px}.success-dialog h2{font-size:23px;line-height:1.45}.success-dialog #success-destination{font-size:13px;margin:9px 0}.share-photo figcaption{font-size:10px}
@media(max-width:600px){.share-layout{grid-template-columns:1fr;gap:14px}.share-photo{max-width:220px}.success-dialog h2{font-size:22px}.share-controls .success-actions{grid-template-columns:1fr 1fr}.share-controls .success-actions>*{grid-column:auto}.share-controls .success-actions #share-photo,.share-controls .success-actions .close-success{grid-column:1/-1}}

.hanging{padding:8px 4px;display:flex;align-items:center;justify-content:center;writing-mode:horizontal-tb}.hanging-copy{display:flex;flex-direction:row-reverse;align-items:center;justify-content:center;line-height:1.3}.hanging-column{writing-mode:vertical-rl;text-orientation:upright;white-space:pre;flex:none;line-height:1.3}

/* 上端をそろえ、列全体を左右中央へ。詳細にも実際の短冊の紙色を表示。 */
.preview-text{align-items:flex-start;justify-content:center}.preview-column-text{align-self:flex-start}.hanging{scale:.333333;align-items:flex-start}.hanging-copy{align-items:flex-start}.hanging::after{inset:-18px -45px}.detail-paper{position:relative;display:flex;align-items:flex-start;justify-content:center;gap:0;width:min(100%,320px);min-height:430px;margin:10px auto 22px;padding:40px 24px 70px;border:1px solid #ffffff90;border-radius:0 0 3px 3px;background:#91bce0;color:#263349;box-shadow:0 12px 35px #0005}.detail-paper:before{content:'';position:absolute;top:12px;left:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:#26334988;box-shadow:inset 0 1px 2px #0007}.detail-paper.pink{background:linear-gradient(#f3c0cc,#dc9cb1)}.detail-paper.blue{background:linear-gradient(#c0deed,#92b9d5)}.detail-paper.gold{background:linear-gradient(#f5e3a6,#dfc178)}.detail-paper.violet{background:linear-gradient(#dcccea,#b9a1d6)}.detail-paper.white{background:linear-gradient(#fff9e8,#dfddcf)}.detail-paper .detail-vertical{display:flex;flex-direction:row-reverse;align-items:flex-start;justify-content:center;gap:0;min-height:0;max-height:none;width:100%;max-width:100%;padding:0;overflow:auto;color:#263349}.detail-column{width:1.5em;line-height:1.5;align-self:flex-start}.detail-paper .detail-name{position:absolute;bottom:22px;right:20px;left:20px;writing-mode:horizontal-tb;text-align:right;color:#304052;font:14px/1.6 var(--serif);overflow-wrap:anywhere}
@media(max-width:600px){.preview-text{align-items:flex-start}.preview-column-text{align-self:flex-start}.detail-paper{min-height:410px;padding:38px 20px 65px}}

.invite-dialog{width:min(600px,calc(100% - 28px))}.invite-url{display:block;width:100%;min-height:48px;border:1px solid #9cb3ca77;background:#0d1d31;color:#f4eddf;border-radius:6px;padding:12px;font:13px/1.7 var(--sans);overflow-wrap:anywhere}.invite-share-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.invite-share-buttons .button{min-height:48px}.invite-share-buttons #invite-native,.invite-share-buttons #invite-enter{grid-column:1/-1}.invite-dialog>#issued-invite-revoke{display:block;margin:12px auto 0}.invite-dialog .preview-caption{text-align:left;line-height:1.8}@media(max-width:420px){.invite-share-buttons{grid-template-columns:1fr}.invite-share-buttons>*{grid-column:1!important}}

.photo-target-link{display:block;text-align:center;text-decoration:none;margin:10px 0;font-size:13px}.share-controls .success-actions .button{white-space:normal}

.ad-dialog{width:350px;max-width:calc(100% - 24px);padding:16px;animation:none!important;transition:none!important}.ad-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.ad-heading h2{font-size:22px;margin:0}.ad-heading .eyebrow{margin:0 0 4px}.ad-close{width:44px;height:44px;flex-shrink:0;border:1px solid #8190a0;border-radius:50%;background:#20334a;color:#fff;font-size:26px;cursor:pointer}.ad-description,.ad-note{font-size:12px;line-height:1.8}.ad-slot{width:300px;height:250px;max-width:100%;margin:24px auto;background:#17263c;overflow:hidden}.ad-slot iframe{width:300px;height:250px;border:0;display:block}.ad-actions{display:grid;gap:12px;margin-top:24px}.ad-dialog::backdrop{animation:none!important;transition:none!important}

.site-ad{position:relative;z-index:1;width:100%;padding:10px 0;display:flex;flex-direction:column;align-items:center;gap:5px;background:rgba(10,20,34,.92);border-color:rgba(211,223,237,.12);border-style:solid;border-width:0 0 1px}.site-ad-bottom{border-width:1px 0 0;margin-top:20px;margin-bottom:94px}.site-ad-label{font-size:10px;letter-spacing:.12em;color:#a6b4c5}.site-ad iframe{display:block;width:320px;height:50px;max-width:100%;border:0;background:#17263c}.site-ad-top{min-height:88px}.site-ad-bottom{min-height:88px}@media(max-width:359px){.site-ad iframe{width:320px;max-width:none}.site-ad{overflow-x:auto;align-items:flex-start}.site-ad-label{align-self:center}.site-ad iframe{margin-left:auto;margin-right:auto}}

/* 短冊は縦長の紙の比率を保ち、本文と署名を別々の領域へ収める。 */
.paper-preview,.detail-paper{position:relative;display:block;box-sizing:border-box;width:min(100%,270px);height:auto;min-height:0;aspect-ratio:270/650;padding:0;flex-shrink:0;overflow:hidden}
.paper-preview{width:min(100%,230px)}
.paper-preview .preview-text,.detail-paper .detail-vertical{position:absolute;inset:38px 20px 30px 46px;width:auto;height:auto;min-height:0;max-height:none;max-width:none;padding:0;margin:0;display:flex;flex-direction:row-reverse;align-items:flex-start;justify-content:center;writing-mode:horizontal-tb;overflow:hidden;gap:0;line-height:1.2;color:#263349}
.paper-text-column{display:block;flex:0 0 1.5em;width:1.5em;writing-mode:vertical-rl;text-orientation:upright;white-space:pre;line-height:1.5;letter-spacing:0;align-self:flex-start;overflow:visible}
.paper-preview .preview-name,.detail-paper .detail-name{position:absolute;top:auto;right:auto;left:16px;bottom:22px;width:22px;height:36%;max-height:180px;margin:0;padding:0;display:flex;align-items:flex-start;justify-content:flex-end;writing-mode:vertical-rl;text-orientation:upright;text-align:start;white-space:pre;overflow:hidden;color:#304052;font:14px/1.2 var(--serif);letter-spacing:0}
.hanging{overflow:hidden;display:block;padding:0;width:38px;height:132px;min-height:0;max-height:none}
.hanging-copy{position:absolute;inset:12px 4px 8px 10px;display:flex;flex-direction:row-reverse;align-items:flex-start;justify-content:center;overflow:hidden;gap:0;line-height:1.2}
.hanging-name{position:absolute;left:2px;bottom:6px;width:7px;height:36%;writing-mode:vertical-rl;text-orientation:upright;display:flex;justify-content:flex-end;white-space:pre;overflow:hidden;font:8px/1.2 var(--serif);color:#304052}
.sns-icon{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;width:58px;padding:10px}
.sns-icon svg{display:block;width:26px;height:26px;flex:none;fill:currentColor}
.share-controls .success-actions{display:flex;flex-wrap:wrap;gap:10px}.share-controls .success-actions>.button:not(.sns-icon){flex:1 0 100%}.share-controls .success-actions>.sns-icon{flex:1 1 0}
.star-launch-layer{position:fixed;inset:0;z-index:2147483647;pointer-events:none;overflow:hidden}
.star-launch-layer span{position:absolute;left:var(--star-x);top:var(--star-y);color:#ffe1a0;text-shadow:0 0 12px #ffd36b,0 0 28px #edb851;line-height:1}
.star-launch-main{font-size:34px;animation:gift-star-launch 1.4s ease-out both}.star-launch-spark{font-size:19px;opacity:0;animation:gift-star-burst 1.4s ease-out both}
@keyframes gift-star-launch{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}15%{opacity:1}65%{opacity:1;transform:translate(-50%,calc(-1 * var(--star-rise))) scale(1.1)}100%{opacity:0;transform:translate(-50%,calc(-1 * var(--star-rise) - 25px)) scale(.3)}}
@keyframes gift-star-burst{0%,45%{opacity:0;transform:translate(-50%,calc(-1 * var(--star-rise))) scale(.2)}65%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--spark-x)),calc(-1 * var(--star-rise) + var(--spark-y))) scale(.7)}}
.star-launch-layer.reduced-motion .star-launch-main{animation:none;transform:translate(-50%,-50%);opacity:1}.star-launch-layer.reduced-motion .star-launch-spark{display:none}
@media(prefers-reduced-motion:reduce){.star-launch-main,.star-launch-spark{animation:none!important}.star-launch-spark{display:none}}
