#noticeLauncher{position:fixed;left:20px;bottom:calc(22px + env(safe-area-inset-bottom));z-index:150;padding:15px 21px;border:1px solid #e6bd52;border-radius:99px;background:linear-gradient(115deg,#14110a,#493711,#14110a);color:#ffe6a0;font-size:1rem;font-weight:800;box-shadow:0 7px 26px #0005;cursor:pointer;overflow:hidden;isolation:isolate;animation:nbGlow 3.5s ease-in-out infinite}#noticeLauncher span{margin-right:8px;font-size:22px}#noticeLauncher::before{content:"";position:absolute;inset:-40% auto -40% -70%;width:45%;background:linear-gradient(90deg,transparent,#ffe4a644,transparent);transform:skewX(-20deg);z-index:-1;animation:nbShimmer 5s infinite}#noticeBoard,#noticeViewer{padding:0;background:#12100c;color:#f8e6b9;border:1px solid #bd9642;box-shadow:0 25px 90px #0008;border-radius:24px;overflow:hidden}#noticeBoard{position:fixed;margin:0;left:20px;top:auto;bottom:calc(94px + env(safe-area-inset-bottom));width:min(440px,calc(100vw - 40px));max-height:76dvh;transform-origin:bottom left}#noticeBoard[open]{animation:nbExpand .42s cubic-bezier(.16,1,.3,1)}#noticeBoard.closing{animation:nbCollapse .22s ease forwards}#noticeBoard::backdrop,#noticeViewer::backdrop{background:#0008;backdrop-filter:blur(4px)}.nb-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid #b591353b;background:linear-gradient(120deg,#241d10,#100f0c)}.nb-head h2{margin:0;font:700 23px Georgia,serif;color:#ffe5a0}.nb-head button,.nb-head a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:7px 12px;border:1px solid #947837;background:#211b0e;color:#ffe8ab;border-radius:12px;font-size:16px;cursor:pointer;text-decoration:none}.nb-posters{overflow:auto;max-height:calc(76dvh - 76px);padding:14px;overscroll-behavior:contain}.nb-poster{position:relative;display:block;width:100%;padding:0;margin:0 0 16px;border:1px solid #9a7c32;border-radius:14px;overflow:hidden;cursor:zoom-in;background:#201b12;animation:nbPoster .4s ease both}.nb-poster img{display:block;width:100%;height:auto}.nb-poster.past img{filter:grayscale(1)}.nb-past{position:absolute;top:10px;left:10px;border-radius:99px;padding:6px 12px;background:#171717e8;color:white;font-size:1rem}.nb-message{padding:25px;font-size:16px;line-height:1.6;color:#e9dcbd}#noticeViewer{width:min(1100px,96vw);max-height:94dvh;margin:auto}#noticeViewer[open]{animation:nbExpand .3s ease}.nb-controls{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.nb-full-scroll{overflow:auto;max-height:calc(94dvh - 100px);padding:12px}.nb-full-scroll img{display:block;height:auto;width:100%;max-width:none;margin:auto}#noticeZoomValue{font-size:1rem}#noticeLauncher:focus-visible,#noticeBoard :focus-visible,#noticeViewer :focus-visible{outline:3px solid #ffda70;outline-offset:3px}@keyframes nbGlow{50%{box-shadow:0 0 0 5px #d8ae3d14,0 7px 28px #d8ae3d44}}@keyframes nbShimmer{0%,30%{left:-70%}70%,100%{left:150%}}@keyframes nbExpand{from{opacity:0;transform:translateY(25px) scale(.9)}to{opacity:1;transform:none}}@keyframes nbCollapse{to{opacity:0;transform:translateY(18px) scale(.95)}}@keyframes nbPoster{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:600px){#noticeLauncher{left:12px;padding:12px 15px;font-size:1rem;max-width:calc(100vw - 110px)}#noticeBoard{left:8px;bottom:calc(10px + env(safe-area-inset-bottom));width:calc(100vw - 16px);max-height:88dvh;border-radius:24px 24px 12px 12px}.nb-posters{max-height:calc(88dvh - 80px)}#noticeViewer .nb-head{flex-wrap:wrap}#noticeViewer .nb-full-scroll{max-height:calc(94dvh - 160px)}}@media(prefers-reduced-motion:reduce){#noticeLauncher,#noticeLauncher::before,#noticeBoard[open],#noticeBoard.closing,#noticeViewer[open],.nb-poster{animation:none!important}.hero-bg,.hero-bg2{animation:none!important;transition:none!important;transform:none!important}}

#noticeLauncher,.nb-head button,.nb-head a,#noticeZoomValue,.nb-past{font-size:1rem}.nb-message{font-size:1.125rem;line-height:1.7}@media(max-width:670px){#noticeLauncher{bottom:calc(94px + env(safe-area-inset-bottom))}}
