*{margin:0;padding:0;box-sizing:border-box;}
body{background:#ffffff;overflow:hidden;font-family:"Times New Roman",Times,serif;}

/* ticker */
.ticker{position:fixed;top:0;left:0;width:100%;height:40px;background:#ffffff;border-bottom:2px solid #000;overflow:hidden;z-index:1000;}
.ticker-inner{display:flex;width:max-content;animation:ticker-scroll 20s linear infinite;}
.ticker-item{font-family:"Times New Roman",Times,serif;font-size:20px;line-height:40px;white-space:nowrap;padding-right:60px;}
@keyframes ticker-scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* buttons */
.buttons{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);display:flex;gap:40px;z-index:500;}
.circle-btn{width:80px;height:80px;border:3px solid #000;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:filter .2s;}
.circle-btn img{width:100%;height:100%;object-fit:cover;}
.circle-btn:hover{filter:brightness(1.3);} 

/* central rotating SOB */
.sob-center{position:absolute;top:50%;left:50%;width:240px;height:240px;transform:translate(-50%,-50%);animation:spin 6s linear infinite;border-radius:50%;pointer-events:none;z-index:400;}
@keyframes spin{from{transform:translate(-50%,-50%) rotate(0deg);}to{transform:translate(-50%,-50%) rotate(360deg);}}

/* bouncing icons */
.sob-small{position:absolute;width:60px;height:60px;border-radius:50%;pointer-events:none;z-index:200;}

/* XP window */
.xp-window{position:fixed;top:25%;right:20px;width:19vw;min-width:275px;background:#c0c0c0;border:2px solid #000;z-index:600;font-family:Tahoma,Arial,sans-serif;}
.xp-title{display:flex;justify-content:space-between;align-items:center;background:#000080;color:#fff;padding:4px 6px;}
.xp-text{font-size:12px;}
.xp-btn{display:inline-block;width:16px;height:16px;text-align:center;line-height:16px;margin-left:4px;background:#c0c0c0;color:#000;font-weight:700;border:1px solid #404040;cursor:pointer;}
.xp-body{background:#ffffff;border-top:1px solid #808080;padding:4px;width:100%;text-align:center;}
.xp-body img{width:100%;height:auto;display:block;margin:0 auto;}

.textbox{max-height:160px;overflow-y:auto;background:#fff;border:1px solid #808080;padding:6px;font-size:12px;line-height:1.3em;}

/* rainbow anim reused */
@keyframes rainbow{0%{color:#ff0000;}16%{color:#ff7f00;}32%{color:#ffff00;}48%{color:#00ff00;}64%{color:#0000ff;}80%{color:#4b0082;}100%{color:#9400d3;}}

.fast-rainbow{animation:rainbow 0.4s linear infinite;font-weight:700;font-family:monospace;font-size:21px;}

.token-window{top:auto;bottom:calc(120px + 5vh);left:50%;transform:translateX(-50%);width:max-content;min-width:unset;padding:0;background:#ffffff;border:2px solid #000;}