:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;background:#100f22;color:#f4eeff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% 30%,#35205366,transparent 65%),radial-gradient(ellipse at 95% 60%,#06647244,transparent 65%);min-height:100svh}main{max-width:460px;margin:auto;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}small{font-size:9px;letter-spacing:2px;color:#b8a5d5}h1{font-size:29px;letter-spacing:1px;margin:7px 0 0;font-style:italic}h1 span{display:block;font-size:10px;font-style:normal;font-weight:500;letter-spacing:3px;margin-top:4px;color:#dfc2ee}button{font:inherit;color:inherit;border:1px solid #645471;background:#211c32;border-radius:10px;min-height:44px;padding:9px 13px;touch-action:manipulation}button:active{transform:translateY(2px)}button:disabled{opacity:.45}#sound{font-size:10px}.machine{border:1px solid #b87bf7;border-radius:18px;overflow:hidden;box-shadow:0 0 22px #a951df33,inset 0 0 8px #ad52ff55;background:#181428}.marquee{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(100deg,#352143,#211f3b);padding:16px 12px;border-bottom:2px solid #50d5d5}.marquee span{font-size:8px;letter-spacing:1px;color:#7de8df}.marquee b{font-size:15px;letter-spacing:2px;color:#ffd8f5;text-shadow:0 0 12px #f986db}canvas{width:100%;display:block;touch-action:none;background:#111322}.status{display:flex;align-items:center;gap:10px;padding:0 13px;background:#100f1e;min-height:48px;border-top:1px solid #4b3b63}#phase{font-size:9px;letter-spacing:1px;color:#71ece0;min-width:52px}.status p{font-size:12px;margin:8px 0}.panel{padding:14px;background:linear-gradient(#292139,#1e1b2e)}label{font-size:10px;letter-spacing:2px;color:#79e4e3}label span{letter-spacing:0;color:#b7abc9;font-size:10px;margin-left:10px}input{width:100%;height:34px;accent-color:#77e6df;touch-action:none}#drop{width:100%;background:linear-gradient(110deg,#cb62bb,#9255d7);border:1px solid #f3b3e8;box-shadow:0 4px 0 #542b70,0 0 14px #d85dbc44;font-weight:800;letter-spacing:2px;font-size:18px;height:54px}#drop span{font-size:10px;margin-left:8px}.hint{text-align:center;color:#c1b2ce;font-size:10px;margin-top:13px}footer{display:flex;gap:10px;margin-top:14px}footer button{flex:1;font-size:12px}#total{background:#66508c;padding:2px 8px;border-radius:8px;margin-left:6px}.version{font-size:9px;color:#a394b3;display:flex;justify-content:space-between;margin:14px 0 0}dialog{width:calc(100% - 40px);max-width:400px;background:#201b32;border:1px solid #bc7de7;border-radius:18px;padding:24px;color:#f3eaff}dialog::backdrop{background:#090b19cc}dialog h2{font-size:18px;letter-spacing:2px}dialog p{font-size:12px;color:#cbbbd8}.cards{display:flex;gap:12px;margin:24px 0}.cards div{flex:1;text-align:center;font-size:40px;background:#30273e;border-radius:12px;padding:18px 5px}.cards b{display:block;font-size:12px;margin:12px 0}.cards strong{display:block;font-size:26px;color:#82e5df}#close{width:100%}@media(max-height:750px){main{padding-top:10px}header{margin-bottom:10px}canvas{max-height:43svh;object-fit:contain}.marquee{padding:12px}.panel{padding:10px}.hint{margin-top:10px}}

.cards .prize-art{display:block;width:100%;max-width:120px;height:auto;max-height:none;margin:0 auto;background:transparent;touch-action:auto}

.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cards b{font-size:11px}dialog{max-height:85svh;overflow-y:auto}

.workshop{display:flex;align-items:center;gap:10px;position:relative;margin:0 0 14px;padding:5px 14px 5px 3px;border:1px solid #62516e;border-radius:14px;background:linear-gradient(115deg,#342739,#19182c);overflow:hidden}.performer{width:116px;height:100px;flex:0 0 116px}.workshop-copy{min-width:0}.workshop-copy small{font-size:8px;letter-spacing:1.5px;color:#cfb291}.workshop-copy b{display:block;font-size:14px;margin:6px 0}.workshop-copy span{font-size:10px;color:#bdb2cb}.workshop-copy p{font-size:9px;color:#a998b0;margin:6px 0 0}.live-light{position:absolute;right:10px;top:10px;width:5px;height:5px;border-radius:50%;background:#645471}.workshop.is-playing .live-light{background:#81e7ce;box-shadow:0 0 9px #81e7ce}.workshop.is-playing #performanceStatus{color:#81e7ce}.beaver-body{transform-origin:70px 90px}.paw{transform-box:fill-box;transform-origin:50% 20%}.music-notes{opacity:0}.is-playing .beaver-body{animation:beaver-sway 1.1s ease-in-out infinite alternate}.is-playing .paw{animation:beaver-key .55s ease-in-out infinite alternate}.is-playing .paw-right{animation-delay:-.55s}.is-playing .music-notes{animation:beaver-notes 1.6s ease-in-out infinite}@keyframes beaver-sway{from{transform:rotate(-2deg)}to{transform:rotate(2deg)}}@keyframes beaver-key{from{transform:translateY(-3px) rotate(-5deg)}to{transform:translateY(1px) rotate(3deg)}}@keyframes beaver-notes{0%,100%{opacity:.25;transform:translateY(1px)}50%{opacity:1;transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.workshop *{animation:none!important}.is-playing .music-notes{opacity:1}}@media(max-width:350px){.performer{width:95px;flex-basis:95px}.workshop{gap:5px}.workshop-copy b{font-size:13px}}

header{flex-wrap:wrap;gap:8px}.header-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.header-actions button{font-size:10px;padding:8px}#total{padding:2px 5px;margin-left:3px}.gesture-hint{font-size:10px;color:#c1b2ce;margin:10px 12px 2px;text-align:center}.controls{position:relative;padding:0 12px}.controls summary{min-height:44px;display:flex;align-items:center;font-size:11px;color:#82e5df;cursor:pointer;padding-right:85px}.controls summary::before{content:'＋';margin-right:6px}.controls[open] summary::before{content:'−'}.controls .panel{border-radius:10px;margin-bottom:8px}.machine-tools{display:flex;justify-content:flex-end;margin-top:-44px;padding:0 12px 4px;pointer-events:none}.machine-tools button{font-size:10px;position:relative;pointer-events:auto}.controls[open]+.machine-tools{margin-top:0}#restockConfirm{width:100%;background:#65408b}.dialog-actions{display:flex;gap:8px}.dialog-actions button{flex:1}@media(max-width:380px){header h1{font-size:24px}header small{font-size:8px;letter-spacing:1px}h1 span{letter-spacing:1px}.header-actions{gap:4px}.header-actions button{padding:7px 6px}}

#collection{scroll-behavior:auto}#collectionTitle:focus{outline:none}

.hall-return{display:inline-block;position:relative;padding:0;border:0;background:transparent;color:#b8a5d5;font-size:9px;font-weight:600;letter-spacing:1.1px;line-height:1.25;text-decoration:none;touch-action:manipulation}.hall-return::after{position:absolute;inset:-8px -6px;content:""}.hall-return:active{color:#82e5df}.hall-return:focus-visible{outline:2px solid #82e5df;outline-offset:4px}
