*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh;background:#000;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='10' y='30' font-size='20' fill='%23333'%3E%E2%98%85%3C/text%3E%3Ctext x='60' y='70' font-size='15' fill='%23222'%3E%E2%9C%A8%3C/text%3E%3C/svg%3E");font-family:Comic Sans MS,Comic Sans,Arial,sans-serif;overflow-x:hidden}.header{padding:10px;background:linear-gradient(90deg,#f0f,#0ff,#f0f);text-align:center}.title{font-size:clamp(1.8rem,12vw,5rem);color:#fff;text-shadow:4px 4px 0 red,-3px -3px 0 #00f,2px -2px 0 #0f0;animation:rainbow-shift 2s linear infinite}@keyframes rainbow-shift{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(1turn)}}.sparkle{position:fixed;pointer-events:none;z-index:999;animation:blink .8s step-end infinite}@keyframes blink{50%{opacity:0}}.star-left{top:100px;left:15px;font-size:30px}.star-right{top:60px;right:20px;font-size:25px}.bulletin-board{position:relative;min-height:calc(100vh - 80px);padding:20px}.photo-wrapper{position:absolute}.photo-wrapper:hover{transform:scale(1.2)!important;z-index:100!important}.pushpin{display:none}.photo-frame{background:none;padding:0;border:none;box-shadow:none}.photo-frame img{display:block;width:100%;height:auto;border:4px solid #f0f;box-shadow:3px 3px 0 #0ff;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.resize-handle{position:absolute;bottom:-6px;right:-6px;width:16px;height:16px;background:#ff0;border:2px solid #000;cursor:se-resize;opacity:0;transition:opacity .2s}.photo-wrapper:hover .resize-handle{opacity:1}.photo-wrapper:nth-child(3n) .photo-frame img{border-color:#0f0;box-shadow:3px 3px 0 red}.photo-wrapper:nth-child(3n+1) .photo-frame img{border-color:#ff0;box-shadow:3px 3px 0 #f0f}.photo-wrapper:nth-child(3n+2) .photo-frame img{border-color:#0ff;box-shadow:3px 3px 0 #0f0}.add-photo-btn{position:fixed;bottom:15px;right:15px;background:#ff0;border:3px dashed red;padding:10px 15px;font-family:Arial,sans-serif;font-size:1rem;font-weight:700;color:#000;cursor:pointer;z-index:1000}.add-photo-btn:hover{background:#0ff;border-color:#00f}.add-photo-btn:before{content:">>> "}.add-photo-btn:after{content:" <<<"}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:2000}.modal{background:#000;border:5px solid #f0f;padding:20px;max-width:320px;width:90%;text-align:center}.modal-titlebar{display:none}.modal-close{position:absolute;top:-15px;right:-15px;background:red;border:3px solid #fff;width:30px;height:30px;font-size:16px;font-weight:700;cursor:pointer;color:#fff;border-radius:0}.modal-content{color:#0f0;font-family:Arial,sans-serif}.modal-content p{margin-bottom:15px;font-size:18px;color:#ff0}.file-input-wrapper{margin:20px 0}.file-input-wrapper input[type=file]{display:none}.file-input-label{display:inline-block;background:#333;border:2px solid #0ff;padding:10px 20px;cursor:pointer;color:#0ff;font-size:14px}.file-input-label:hover{background:#0ff;color:#000}.upload-btn{background:#0f0;border:3px solid #ff0;padding:12px 30px;font-family:Arial,sans-serif;font-size:1.1rem;font-weight:700;color:#000;cursor:pointer;margin-top:15px}.upload-btn:disabled{background:#333;border-color:#666;color:#666;cursor:not-allowed}.upload-btn:hover:not(:disabled){background:#ff0}.footer-marquee{position:fixed;bottom:0;left:0;right:0;background:#000;border-top:3px solid #f0f;padding:8px 0;overflow:hidden;z-index:999}.footer-marquee-text{display:inline-block;white-space:nowrap;animation:scroll-left 15s linear infinite;font-family:Arial,sans-serif;font-size:14px;color:#0f0}.footer-marquee-text span{color:#ff0}.footer-marquee-text b{color:#0ff}@keyframes scroll-left{0%{transform:translateX(100vw)}to{transform:translateX(-100%)}}@media (max-width:768px){.bulletin-board{min-height:auto;padding:10px 10px 100px;display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start}.photo-wrapper{position:relative!important;left:auto!important;top:auto!important;width:48%!important;margin:-10px -5px}.photo-wrapper:nth-child(4n){transform:rotate(-5deg)!important;margin-top:15px}.photo-wrapper:nth-child(4n+1){transform:rotate(4deg)!important;margin-top:-5px}.photo-wrapper:nth-child(4n+2){transform:rotate(-3deg)!important;margin-top:20px}.photo-wrapper:nth-child(4n+3){transform:rotate(6deg)!important;margin-top:0}.add-photo-btn{bottom:50px;right:10px;padding:8px 12px;font-size:.9rem}}