.mode-toggle{display:flex;gap:.375rem;justify-content:flex-end;margin-bottom:2rem}.toggle-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffffa6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.08);cursor:pointer;color:var(--color-muted);transition:background .22s ease,color .22s ease,border-color .22s ease;box-shadow:0 2px 8px #00000012}.toggle-btn:hover{background:#ffffffeb;color:var(--color-primary)}.toggle-btn.is-active{background:var(--color-primary);color:#faf0e2;border-color:var(--color-primary)}.article-body{max-width:40rem;margin-inline:auto}.article-body.has-fan-bottom{padding-bottom:190px}.article-body.has-film-sidebar{padding-right:175px;padding-bottom:3rem}@media(min-width:1024px){.article-body.has-film-sidebar{padding-right:195px}}@media(max-width:480px){.article-body.has-film-sidebar{padding-right:145px}}.article-para{color:var(--color-primary);opacity:.9;font-size:1rem;line-height:1.9;margin-bottom:1.5rem}@media(min-width:768px){.article-para{font-size:1.125rem;line-height:2}}.fan-dock{position:fixed;bottom:0;left:50%;transform:translate(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;padding-bottom:12px;width:480px;max-width:100vw;pointer-events:auto;transition:opacity .35s ease,transform .35s cubic-bezier(.16,1,.3,1)}.fan-dock.is-hidden{opacity:0;transform:translate(-50%) translateY(24px);pointer-events:none!important}.fan-pivot{position:relative;width:78px;height:117px;pointer-events:none}@media(min-width:768px){.fan-pivot{width:90px;height:135px}}.fan-card{position:absolute;inset:0;transform-origin:50% 100%;transform:rotate(0);cursor:pointer;border:none;padding:0;background:#ccc;border-radius:6px;overflow:hidden;box-shadow:1px 2px 12px #0000004d;transition:transform .5s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease;pointer-events:none}.fan-dock.is-expanded .fan-card{transform:rotate(var(--fan-angle, 0deg));pointer-events:auto}.fan-dock:not(.is-expanded) .fan-card:nth-child(2n){transform:rotate(1deg)}.fan-dock:not(.is-expanded) .fan-card:nth-child(3n){transform:rotate(-1.5deg)}.fan-card:before{content:"";position:absolute;inset:0;background:transparent;transition:background .3s ease;z-index:1;pointer-events:none;border-radius:inherit}.fan-dock.is-expanded .fan-card:hover{transform:rotate(var(--fan-angle, 0deg)) translateY(-58px) scale(1.07);z-index:200!important;box-shadow:4px 8px 32px #00000073;transition-delay:.1s!important}.fan-dock.is-expanded .fan-card:hover:before{background:#ffffff1a}.fan-card-img{width:100%;height:100%;object-fit:cover;display:block;user-select:none;pointer-events:none}.fan-card-num{position:absolute;bottom:4px;right:5px;font-size:.58rem;color:#ffffffa6;text-shadow:0 1px 3px rgba(0,0,0,.55);z-index:2;pointer-events:none;line-height:1;font-variant-numeric:tabular-nums}.fan-dock.is-expanded .fan-card.is-touch{transform:rotate(var(--fan-angle, 0deg)) translateY(-58px) scale(1.07);z-index:200!important;box-shadow:4px 8px 32px #00000073;transition-delay:.1s!important}.fan-dock.is-expanded .fan-card.is-touch:before{background:#ffffff1a}.fan-dock.is-expanded .fan-card.is-lifted{transform:rotate(var(--fan-angle, 0deg)) translateY(-58px) scale(1.07);z-index:200!important;box-shadow:4px 8px 32px #00000073;transition-delay:0ms!important}.fan-dock.is-expanded .fan-card.is-lifted:before{background:#ffffff26}.fan-preview{position:absolute;bottom:calc(100% + 16px);left:50%;transform:translate(-50%);width:130px;height:195px;border-radius:8px;overflow:hidden;box-shadow:0 12px 40px #00000080;pointer-events:none;animation:preview-pop .28s cubic-bezier(.16,1,.3,1) forwards;z-index:300}.fan-preview img{width:100%;height:100%;object-fit:cover;display:block}@keyframes preview-pop{0%{opacity:0;transform:translate(-50%) scale(.88) translateY(8px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}.fan-bubble{display:flex;align-items:center;gap:5px;margin-top:7px;background:#ffffffc7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:9999px;padding:5px 13px;font-size:.72rem;color:var(--color-muted);pointer-events:none;user-select:none;transition:opacity .22s ease,transform .22s ease;box-shadow:0 2px 10px #0000001a}.fan-dock.is-expanded .fan-bubble{opacity:0;transform:translateY(4px)}.fan-touch-area{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100px;height:140px;z-index:1;pointer-events:none;touch-action:pan-y;transition:width .3s ease,height .3s ease}.fan-dock.is-expanded .fan-touch-area{width:320px;height:200px}@media(pointer:coarse){.fan-touch-area{pointer-events:auto;z-index:150;touch-action:none}}.fan-count{margin-top:10px;background:#ffffffb8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:9999px;padding:.2rem .65rem;font-size:.68rem;color:var(--color-muted);letter-spacing:.05em;pointer-events:none;user-select:none}.film-sidebar{position:fixed;top:80px;right:0;bottom:0;width:155px;z-index:45;overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain;opacity:0;transform:translate(30px);pointer-events:none;transition:opacity .45s ease,transform .45s cubic-bezier(.16,1,.3,1)}.film-sidebar.is-ready{opacity:1;transform:translate(0);pointer-events:auto}.film-sidebar::-webkit-scrollbar{display:none}@media(min-width:1024px){.film-sidebar{width:175px}}@media(max-width:480px){.film-sidebar{width:128px;top:64px}}.film-strip{display:flex;min-height:100%;background:#080808de;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.film-perf{flex-shrink:0;width:13px;background-color:#050505;background-image:repeating-linear-gradient(to bottom,transparent 0px,transparent 5px,rgba(255,255,255,.13) 5px,rgba(255,255,255,.13) 13px,transparent 13px,transparent 24px)}.film-frames{flex:1;display:flex;flex-direction:column;gap:2px;padding:5px 0}.film-frame{position:relative;width:100%;aspect-ratio:2 / 3;overflow:hidden;cursor:pointer;border:none;padding:0;background:#1a1a1a;opacity:.36;transition:opacity .38s ease,transform .28s ease;flex-shrink:0}.film-frame:hover{opacity:.78;transform:scaleX(1.05)}.film-frame.is-active{opacity:1;box-shadow:inset 0 0 0 1.5px #ffffff61}.film-frame img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;user-select:none}.lightbox{position:fixed;inset:0;z-index:999;display:flex;align-items:center;justify-content:center;background:#000000eb;cursor:pointer;animation:lb-fade .25s ease forwards}@keyframes lb-fade{0%{opacity:0}to{opacity:1}}.lb-content{position:relative;max-width:92vw;max-height:92vh;cursor:default;animation:lb-scale .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes lb-scale{0%{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}.lb-img{max-width:92vw;max-height:88vh;object-fit:contain;display:block;border-radius:4px}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;backdrop-filter:blur(6px);border:none;color:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .22s ease}.lb-nav:hover{background:#ffffff38}.lb-prev{left:-58px}.lb-next{right:-58px}@media(max-width:639px){.lb-prev{left:6px}.lb-next{right:6px}}.lb-close{position:absolute;top:-46px;right:0;background:none;border:none;color:#ffffff8c;cursor:pointer;transition:color .22s ease;padding:6px;display:flex}.lb-close:hover{color:#fff}.lb-counter{position:absolute;bottom:-34px;left:50%;transform:translate(-50%);color:#fff6;font-size:.7rem;letter-spacing:.12em;white-space:nowrap}
