*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{-webkit-font-smoothing:antialiased}.app{color:#f9fafb;justify-content:center;align-items:stretch;min-height:100vh;display:flex}.app--bg{background:radial-gradient(circle at top,#4c1d95 0,#020617 40%,#022c22)}.app__card{background:radial-gradient(circle at 0 0,#38bdf82e,#0000 55%),#0f172af5;border:none;flex-direction:column;gap:16px;width:100%;max-width:480px;padding:16px 14px 18px;display:flex;box-shadow:0 20px 48px #000000d9}@media (min-width:640px){.app__card{border:1px solid #94a3b8b3;max-width:520px;padding:20px 18px 22px}}.app__card--setup{max-width:460px}.app__card--game{max-width:520px}.app__title{margin:0 0 4px;font-size:1.5rem;font-weight:650}.app__subtitle{color:#e2e8f0d9;margin:0;font-size:.9rem}.app__label{color:#e2e8f0;margin-top:12px;font-size:.85rem;display:block}.app__textarea{color:#f9fafb;resize:vertical;background:#0f172af5;border:1px solid #94a3b8e6;border-radius:16px;outline:none;width:100%;min-height:160px;margin-top:6px;padding:10px 12px;font-size:.9rem}.app__textarea:focus{border-color:#2dd4bfe6;box-shadow:0 0 0 1px #2dd4bfd9}.app__setup-footer{flex-direction:column;gap:10px;margin-top:14px;display:flex}@media (min-width:480px){.app__setup-footer{flex-direction:row;justify-content:space-between;align-items:center}}.app__hint{color:#94a3b8f2;font-size:.78rem}.app__button{cursor:pointer;white-space:nowrap;border:none;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:.9rem;transition:transform .1s,box-shadow .1s,background .15s,color .15s;display:inline-flex}.app__button--primary{color:#020617;background:linear-gradient(90deg,#34d399,#38bdf8);font-weight:600;box-shadow:0 10px 20px #082f49e6}.app__button--primary:hover{transform:translateY(-1px);box-shadow:0 14px 26px #082f49}.app__button--primary:active{transform:translateY(0);box-shadow:0 8px 16px #082f49d9}.app__button--ghost{color:#e5e7eb;background:#0f172aeb;border:1px solid #94a3b8d9;padding-inline:14px}.app__button--ghost:hover{background:#0f172afa;transform:translateY(-1px)}.app__button--ghost:active{transform:translateY(0)}.app__header{flex-direction:column;gap:10px;display:flex}.app__controls{flex-wrap:wrap;gap:8px;display:flex}.app__dice-area{flex-direction:column;align-items:center;gap:8px;display:flex}.app__dice-wrapper{cursor:pointer;perspective:900px;background:radial-gradient(circle at 0 0,#3b82f62e,#0000 55%),#0f172af7;border:1px solid #94a3b8b3;border-radius:22px;gap:18px;padding:16px 14px;transition:transform .12s,box-shadow .12s;display:inline-flex}.app__dice-wrapper:hover{transform:translateY(-2px);box-shadow:0 18px 36px #0f172ae6}.app__dice-wrapper:active{transform:translateY(0);box-shadow:0 12px 24px #0f172ad9}.app__dice-wrapper--rolling{cursor:wait}.app__dice-wrapper--pasch{animation:1s ease-out pasch-glow;box-shadow:0 0 0 2px #fbbf24cc,0 0 26px #fbbf24cc}.app__dice-wrapper--ultra{animation:1.6s ease-in-out infinite alternate ultra-breath,.28s ease-in-out 3 ultra-glitch;box-shadow:0 0 0 3px #f43f5ef2,0 0 40px #818cf8f2}.app__dice-footer{color:#cbd5e1d9;font-size:.8rem}.app__roll-info{margin-top:4px}.app__roll-badge{background:#0f172ae6;border:1px solid #94a3b8e6;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.8rem;display:inline-flex}.dice3d-wrapper{width:80px;height:96px;position:relative}@media (min-width:480px){.dice3d-wrapper{width:90px;height:104px}}.dice3d{--s:72px;--half:calc(var(--s)/2);width:var(--s);height:var(--s);transform-style:preserve-3d;transform-origin:50%;transition:transform .25s ease-out;position:absolute;top:0;left:50%;transform:translate(-50%)rotateX(-25deg)rotateY(30deg)}.dice3d--v1{transform:translate(-50%)rotateX(-25deg)rotateY(30deg)}.dice3d--v2{transform:translate(-50%)rotateX(65deg)rotateY(30deg)}.dice3d--v3{transform:translate(-50%)rotateX(-25deg)rotateY(-60deg)}.dice3d--v4{transform:translate(-50%)rotateX(-25deg)rotateY(120deg)}.dice3d--v5{transform:translate(-50%)rotateX(-115deg)rotateY(30deg)}.dice3d--v6{transform:translate(-50%)rotateX(155deg)rotateY(30deg)}.dice3d__face{background:radial-gradient(circle at 0 0,#f9fafb,#d1d5db);border:2px solid #0f172ae6;border-radius:14px;width:100%;height:100%;position:absolute;box-shadow:0 10px 18px #0f172acc}.dice3d__face--front{transform:translateZ(var(--half))}.dice3d__face--back{transform:rotateY(180deg)translateZ(var(--half))}.dice3d__face--right{transform:rotateY(90deg)translateZ(var(--half))}.dice3d__face--left{transform:rotateY(-90deg)translateZ(var(--half))}.dice3d__face--top{transform:rotateX(90deg)translateZ(var(--half))}.dice3d__face--bottom{transform:rotateX(-90deg)translateZ(var(--half))}.dice3d__shadow{filter:blur(2px);background:radial-gradient(#0f172ab3,#0000);border-radius:999px;height:14px;position:absolute;inset:auto 16% 0}.pip{background:radial-gradient(circle at 30% 30%,#111827,#020617);border-radius:999px;width:11px;height:11px;position:absolute}.pip--center{top:50%;left:50%;transform:translate(-50%,-50%)}.pip--top-left{top:22%;left:22%}.pip--top-right{top:22%;right:22%}.pip--bottom-left{bottom:22%;left:22%}.pip--bottom-right{bottom:22%;right:22%}.pip--middle-left{top:50%;left:22%;transform:translateY(-50%)}.pip--middle-right{top:50%;right:22%;transform:translateY(-50%)}.dice3d-wrapper--rolling .dice3d{animation:.8s ease-in-out infinite dice3d-roll}@keyframes dice3d-roll{0%{transform:translate(-50%)rotateX(-25deg)rotateY(30deg)}25%{transform:translate(-50%)rotateX(60deg)rotateY(110deg)}50%{transform:translate(-50%)rotateX(160deg)rotateY(-40deg)}75%{transform:translate(-50%)rotateX(-70deg)rotateY(210deg)}to{transform:translate(-50%)rotateX(-25deg)rotateY(390deg)}}.app__event{background:#0f172af5;border:1px solid #94a3b8d9;border-radius:18px;flex-direction:column;gap:6px;padding:12px 12px 14px;display:flex;position:relative;overflow:hidden}.app__event-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.app__event-title{color:#e5e7eb;margin:0;font-size:.9rem;font-weight:600}.app__event-text{color:#f9fafb;margin:0;font-size:.9rem;line-height:1.35}.app__event-badge{white-space:nowrap;border:1px solid #94a3b8e6;border-radius:999px;padding:2px 8px;font-size:.75rem}.app__event-badge--normal{background:#0f172ae6}.app__event-badge--pasch{background:#fbbf2429;border-color:#fbbf24e6}.app__event-badge--ultra{background:linear-gradient(120deg,#f43f5e33,#818cf84d);border-color:#f8fafcf2}.app__event-visual{opacity:.75;font-size:1.6rem;position:absolute;bottom:6px;right:10px}.app__event-visual--pasch{animation:.8s ease-out 2 pasch-twinkle}.app__event-visual--ultra{font-size:2rem;animation:1.1s ease-out ultra-spin}.app__event--pasch{background:radial-gradient(circle at 0 0,#fbbf2433,#0000 55%),#0f172afa;animation:.9s ease-out event-pasch-pulse}.app__event--ultra{background:radial-gradient(circle at 0 0,#f43f5e54,#0000 60%),radial-gradient(circle at 100% 100%,#818cf84d,#0000 55%),#0f172afa;animation:1.1s ease-out event-ultra-explode}.app__event--ultra:before{content:"";opacity:.18;mix-blend-mode:screen;background:conic-gradient(#f43f5e59,#818cf833,#fbbf244d,#f43f5e59);animation:1.6s linear infinite ultra-halo;position:absolute;inset:-40%}@keyframes pasch-glow{0%{box-shadow:0 0 #fbbf24cc,0 0 #fbbf2400}to{box-shadow:0 0 0 14px #fbbf2400,0 0 26px #fbbf24cc}}@keyframes ultra-breath{0%{transform:translateY(0)scale(1)}to{transform:translateY(-1px)scale(1.02)}}@keyframes ultra-glitch{0%{transform:translate(-1px)}25%{transform:translate(2px)}50%{transform:translate(-2px)}75%{transform:translate(1px)}to{transform:translate(0)}}@keyframes pasch-twinkle{0%{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}to{opacity:.75;transform:scale(1)}}@keyframes ultra-spin{0%{transform:scale(.8)rotate(-15deg)}50%{transform:scale(1.2)rotate(10deg)}to{transform:scale(1)rotate(0)}}@keyframes event-pasch-pulse{0%{box-shadow:0 0 #fbbf24b3}to{box-shadow:0 0 0 18px #fbbf2400}}@keyframes event-ultra-explode{0%{transform:scale(.98);box-shadow:0 0 #f43f5ecc}40%{transform:scale(1.03);box-shadow:0 0 0 22px #f43f5e00}to{transform:scale(1)}}@keyframes ultra-halo{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app__status{flex-wrap:wrap;gap:6px;margin-top:4px;font-size:.78rem;display:flex}.app__status-pill{background:#0f172ae6;border:1px solid #94a3b8e6;border-radius:999px;padding:3px 8px}.app__status-pill--open{background:#16a34a2e;border-color:#16a34ae6}.app__gift-progress{margin-top:8px;margin-bottom:8px;font-size:.8rem}.app__gift-progress-header{color:#e2e8f0e6;justify-content:space-between;margin-bottom:4px;display:flex}.app__gift-bar{background:#0f172ae6;border-radius:999px;width:100%;height:8px;position:relative;overflow:hidden}.app__gift-bar-fill{background:linear-gradient(90deg,#34d399e6,#38bdf8e6);border-radius:999px;transition:width .25s ease-out;position:absolute;inset:0}.app__gift-progress-hint{color:#94a3b8f2;margin:4px 0 0}.app__distribution-footer{justify-content:center;margin-top:6px;display:flex}.app__event--distribution{background:radial-gradient(circle at 0 0,#38bdf83d,#0000 50%),#0f172af5}.app__event-badge--distribution{background:#38bdf82e;border-color:#38bdf8e6}.app__event--open{background:radial-gradient(circle at 0 0,#22c55e42,#0000 55%),#0f172afa;animation:.8s ease-out event-open-pulse}.app__event-badge--open{background:#22c55e2e;border-color:#22c55ee6}.app__event-visual--open{animation:.8s ease-out open-bounce}.app__secret-button{color:#e5e7eb;cursor:pointer;background:#0f172af5;border:1px solid #94a3b8e6;border-radius:999px;align-self:flex-start;align-items:center;gap:4px;margin-top:8px;padding:5px 10px;font-size:.8rem;display:inline-flex}.app__secret-button:hover{background:#0f172a}.app__dice-wrapper--distribution{box-shadow:0 0 0 2px #38bdf8e6,0 0 22px #38bdf8cc}.app__dice-wrapper--open{box-shadow:0 0 0 2px #22c55ee6,0 0 26px #22c55ed9}@keyframes event-open-pulse{0%{box-shadow:0 0 #22c55ecc}to{box-shadow:0 0 0 18px #22c55e00}}@keyframes open-bounce{0%{transform:translateY(4px)scale(.9)}50%{transform:translateY(-2px)scale(1.08)}to{transform:translateY(0)scale(1)}}
