.community-section{padding-top:60px;padding-bottom:60px;border-top:1px solid var(--border)}
.community-kicker{font-size:10px;letter-spacing:2px;color:#ffb2d2;margin:0 0 12px;font-weight:700}
.community-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.community-header h2{font-family:Barlow,sans-serif;font-size:clamp(32px,4vw,48px);max-width:none;margin:0}.community-header p{color:#bca9c7;font-size:12px;line-height:1.7;max-width:560px}
.community-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;border:1px solid #ffd0e0;border-radius:5px;padding:12px 20px;background:#ffc0d8;color:#2c1730;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.community-button:disabled{opacity:.5;cursor:wait}
.tube-panel{display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:center;border:1px solid #eab3ce30;border-radius:10px;background:radial-gradient(ellipse at 15% 100%,#63345d38,transparent 60%),#201726;padding:34px;margin-bottom:30px}
.visitor-vessel{position:relative;width:130px;height:260px;margin:12px auto 22px;border:2px solid #cbb6d78a;border-radius:45% 45% 40% 40%/9% 9% 8% 8%;background:linear-gradient(90deg,#ffffff0c,transparent 35%,transparent 65%,#ffffff0e);box-shadow:inset 8px 0 18px #ffffff05,0 14px 30px #0003}
.visitor-vessel:before,.visitor-vessel:after{content:'';position:absolute;left:-2px;right:-2px;height:23px;border:2px solid #cbb6d78a;border-radius:50%;background:linear-gradient(90deg,#342039,#73516f,#302039);z-index:2}.visitor-vessel:before{top:-2px}.visitor-vessel:after{bottom:-2px;height:19px}
.tube-chamber{position:absolute;inset:20px 7px 10px;overflow:hidden;border-radius:0 0 44% 44%/0 0 7% 7%}
.tube-fill{position:absolute;bottom:0;left:0;right:0;height:0;background:linear-gradient(0deg,#ffa97c,#ff79bd 60%,#c897ef);transition:height 1.2s ease-out}
.tube-fill:before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:#ffe8f3}
.tube-vi{position:absolute;inset:0;display:grid;place-items:center;font-family:Anton,sans-serif;font-size:75px;letter-spacing:-3px;color:#fff1f7;opacity:.9;text-shadow:0 3px 20px #0009}
.tube-marks{position:absolute;inset:28px -55px 15px auto;display:flex;flex-direction:column;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#ac96b6}.tube-marks span:before{content:'';display:inline-block;width:9px;height:1px;background:#86648b;margin-right:7px;vertical-align:middle}
.tube-copy h3{font-size:12px;font-weight:500;color:#e2cfeb;margin:0 0 10px}.tube-numbers{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;font-variant-numeric:tabular-nums}.tube-numbers strong{font-family:Barlow,sans-serif;font-size:clamp(48px,6vw,70px);color:#ffd0e3;line-height:1}.tube-numbers>span{font-size:14px;color:#a78aaf}.tube-numbers small{font-size:11px;line-height:1.6;color:#c6adc9}
.tube-percent-line{display:flex;align-items:center;gap:10px;margin:18px 0 10px;font-size:11px;color:#e2c7dd}.tube-percent-line strong{padding:5px 9px;background:#ffb2d219;border:1px solid #ffb2d230;border-radius:4px;color:#ffc4de;font-variant-numeric:tabular-nums}.tube-note{font-size:11px;line-height:1.8;color:#bca6c4;max-width:510px;margin:0}.tube-caption{margin-top:16px;font-size:10px;color:#a78aaf;line-height:1.7}
.spoiler-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.spoiler-card{min-width:0;align-self:start;border:1px solid #ffffff21;border-radius:7px;padding:18px;background:#251b2c}.spoiler-meta{font-size:10px;color:#b7a2c1;margin:0 0 15px;overflow-wrap:anywhere}.spoiler-card summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;font-size:13px;font-weight:700;color:#ffd5e8;min-height:36px}.spoiler-card summary::-webkit-details-marker{display:none}.spoiler-plus{font-size:22px;font-weight:400}.spoiler-card details[open] .spoiler-plus{transform:rotate(45deg)}.spoiler-content{border-top:1px solid #ffffff16;margin-top:14px;padding-top:15px;overflow-wrap:anywhere}.spoiler-tag{font-size:9px;letter-spacing:.8px;color:#bca7c6}.spoiler-content h3{font-size:16px;line-height:1.5}.spoiler-content p{font-size:13px;line-height:1.8;white-space:pre-wrap;color:#ddcee4}.spoiler-content a{font-size:11px;color:#ffc0d8;text-decoration:underline}.spoiler-list-status{font-size:12px;color:#bca7c6;line-height:1.8;text-align:center;padding:22px 0}.spoiler-more{display:block;margin:auto}.community-footer{font-size:10px;text-align:right;color:#a78aaf;margin-top:20px}.community-footer a{text-decoration:underline}
.spoiler-dialog{width:min(540px,calc(100% - 28px));max-width:none;max-height:90dvh;padding:25px;overflow:auto}.spoiler-dialog h2{padding-right:45px;font-family:Barlow,sans-serif;font-size:32px}.spoiler-dialog>p{font-size:12px;line-height:1.7}.spoiler-close{position:absolute;right:15px;top:15px;border:1px solid #ffffff30;border-radius:4px;background:transparent;min-width:40px;min-height:40px;display:grid;place-items:center}.spoiler-form{display:grid;gap:15px}.spoiler-form>label{display:grid;gap:7px;font-size:12px;color:#ead3e5}.spoiler-form input,.spoiler-form textarea{font:16px Arial,sans-serif;background:#17101e;color:#fff2f8;border:1px solid #ffffff30;border-radius:4px;padding:12px;width:100%;min-width:0}.spoiler-form textarea{min-height:140px;resize:vertical}.spoiler-form .spoiler-consent{display:flex;align-items:flex-start;gap:10px;line-height:1.6;font-size:11px}.spoiler-consent input{width:18px;height:18px;flex-shrink:0;accent-color:#ffb2d2;margin-top:2px}.spoiler-form-status{font-size:12px;line-height:1.7;margin:0;color:#ffd0e3}.spoiler-form-status:empty{display:none}
@media(max-width:700px){.community-header{align-items:start;flex-direction:column;gap:12px}.tube-panel{grid-template-columns:1fr;gap:16px;padding:26px 20px}.visitor-vessel{height:220px;width:110px}.tube-copy{text-align:center}.tube-numbers,.tube-percent-line{justify-content:center}.tube-note{margin-inline:auto}.spoiler-list{grid-template-columns:1fr}.community-section{padding-block:40px}.community-header h2{font-size:34px}.community-button{font-size:11px}.spoiler-dialog{padding:22px 18px}}
@media(prefers-reduced-motion:reduce){.tube-fill{transition:none}}
