@font-face{font-family:"Nunito Sans";src:url(assets/nunito.woff2) format('woff2');font-style:normal;font-weight:100 1000;font-display:swap}
@font-face{font-family:Lora;src:url(assets/lora.woff2) format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
:root{--pink:#e78ca8;--berry:#a73e6b;--lavender:#dfd5ee;--plum:#563559;--paper:#fffdf8;--honey:#ffd875;--teal:#2f797b;--ink:#493448;color-scheme:light;font:16px/1.5 'Nunito Sans',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--pink);padding:16px;color:var(--ink)}button,input{font:inherit}button,a,label{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--teal);outline-offset:4px}button[hidden],[hidden]{display:none!important}h1,h2,p{margin:0}.storybook{max-width:1420px;margin:auto;background:var(--paper);border-radius:28px;overflow:hidden;box-shadow:0 10px 40px #56355915}.masthead{display:flex;align-items:center;gap:25px;padding:20px 40px;border-bottom:1px solid #eadde6}.brand{display:inline-flex;align-items:center;font-size:36px;font-weight:1000;letter-spacing:-3px;text-decoration:none;color:var(--teal);position:relative;line-height:1}.brand span:first-child{transform:rotate(-8deg)}.brand span:last-of-type{transform:rotate(8deg)}.brand b{position:absolute;right:-13px;top:-8px;font-size:15px;color:var(--berry);transform:rotate(20deg)}.back{font-size:14px;font-weight:800;text-decoration:none}.tools{display:flex;gap:8px;margin-left:auto}.tools button{border:0;border-radius:30px;background:#f9e4ed;padding:10px 15px;font-size:13px;min-height:44px;font-weight:800}#help{background:var(--plum);color:white}#help span{display:inline-grid;place-items:center;background:white;color:var(--plum);width:20px;height:20px;border-radius:50%;margin-left:6px}main{padding:26px 40px 32px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}h1{font:500 clamp(28px,3.1vw,44px)/1.15 Lora,Georgia,serif;letter-spacing:-1.6px;color:var(--plum)}.title-row p{margin-top:8px;color:#75576e}.small-button{border:1.5px solid #c9aec0;background:var(--paper);padding:10px 18px;min-height:44px;border-radius:23px;font-size:14px;font-weight:800;white-space:nowrap}.small-button:hover{background:#f9e4ed}.players{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.player{display:flex;align-items:center;gap:14px;padding:13px 20px;border:2px solid transparent;border-radius:22px;background:#f5f0f7;position:relative;transition:background .2s,border-color .2s}.player.active{border-color:var(--berry);background:#fce8ef}.player h2{font-size:18px;font-weight:900;line-height:1.4}.player p{font-size:13px;color:#705568}.player p strong{font-size:20px;color:var(--plum);margin-right:2px}.turn-tag{display:none;font-size:12px;margin-left:8px;background:var(--berry);color:white;padding:3px 8px;border-radius:12px;vertical-align:middle;white-space:nowrap}.player.active .turn-tag{display:inline-block}.portrait{height:62px;width:62px;border-radius:50%;flex-shrink:0;overflow:hidden;position:relative;background:#f7deb9;border:3px solid white}.you-portrait{display:grid;place-items:center;background:var(--honey);font-size:34px;color:#945612}.portrait img{position:absolute;max-width:none;width:235px;height:235px;object-fit:cover}.lina-portrait img{width:190px;height:190px;left:calc(50% - 79px);top:calc(50% - 63px)}.amor-portrait img{width:190px;height:190px;left:calc(50% - 134px);top:calc(50% - 96px)}.player.cheer .portrait{animation:cheer .65s ease-in-out 2}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:28px;align-items:start}.play-area{min-width:0}.friends-scene{height:205px;border-radius:24px 24px 0 0;overflow:hidden;position:relative;background:#dce9db}.scene-image{width:100%;height:100%;object-fit:cover;object-position:50% 36%;display:block}.friends-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 27%,#fffbf21a 44%,#fffbf2ed 70%,#fffbf2fa);pointer-events:none}.scene-caption{position:absolute;z-index:1;right:22px;top:18px;width:44%;height:calc(100% - 36px);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.round{font-size:12px;font-weight:900;background:white;padding:5px 12px;border-radius:18px;color:var(--plum)}.speech{background:white;border-radius:19px 19px 19px 4px;padding:15px 18px;box-shadow:0 4px 10px #5635590c;max-width:100%}.speech-name{font-size:12px;font-weight:900;color:var(--berry)}.speech p{font-size:18px;line-height:1.3;font-weight:900;margin-top:4px}.scene-heart{position:absolute;z-index:2;left:28%;top:26px;font-size:24px;color:var(--berry);text-shadow:0 1px white;animation:float-heart 4s ease-in-out infinite}.dice-tray{background:#e8dff2;position:relative;border-radius:0 0 26px 26px;padding:24px;text-align:center;border-bottom:0;overflow:hidden}.dice-tray:before{content:'';position:absolute;inset:9px;border:1.5px dashed #b79cc933;border-radius:20px;pointer-events:none}.tray-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;position:relative;text-align:left}.tray-heading h2{font-size:21px;font-weight:900}.tray-heading>span{font-size:12px;font-weight:800;background:#fffdf89c;padding:5px 10px;border-radius:20px;white-space:nowrap}#instruction{font-size:14px;line-height:1.4;margin-top:7px;min-height:40px;text-align:left;color:#6a4b69}.dice{display:flex;align-items:center;justify-content:center;gap:clamp(8px,1.2vw,16px);min-height:126px;margin:12px 0 2px}.die-wrap{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0}.die{--die-color:#563559;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:4px;padding:12px;width:clamp(54px,5.4vw,76px);height:clamp(54px,5.4vw,76px);border-radius:16px;border:2px solid white;background:linear-gradient(135deg,#fff,#fffaf3);box-shadow:0 6px 0 #cbbfd4,0 9px 12px #63447621;position:relative;transition:transform .15s,box-shadow .15s,background .15s}.die:not(:disabled):hover{transform:translateY(-5px) rotate(-3deg)}.die.kept{--die-color:#7e4b18;background:linear-gradient(135deg,#fff4c6,#ffe194);border-color:#d7a649;transform:translateY(-7px);box-shadow:0 5px 0 #c6a353,0 10px 12px #63447613}.die.best-omitted{opacity:.45}.die:disabled{opacity:1}.die.best-omitted:disabled{opacity:.45}.pip{border-radius:50%;background:var(--die-color);box-shadow:inset 0 1px 1px #0003}.pip.off{visibility:hidden}.die-label{height:17px;line-height:17px;font-size:12px;font-weight:900;color:#745270}.die-wrap.kept .die-label{color:#7e4b18}.die.empty .pip{opacity:.2}.rolling .die-wrap.roll-this .die{animation:roll-die .6s ease-in-out both;animation-delay:calc(var(--i)*35ms)}.rolling .die-wrap.roll-this .die-label{opacity:.35}.roll-dots{display:flex;gap:7px;justify-content:center;margin:5px 0 18px}.roll-dots i{width:7px;height:7px;background:#c4b1d1;border-radius:50%}.roll-dots i.used{background:var(--berry)}.turn-actions{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;position:relative}.roll-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:28px;background:var(--berry);color:white;padding:14px 28px;min-height:54px;font-size:17px;font-weight:900;box-shadow:0 5px 0 #7f2f52;transition:transform .15s,filter .15s}.roll-button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px)}.roll-button:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 #7f2f52}.roll-button:disabled{background:#bcaac5;box-shadow:0 5px 0 #a494ad;color:#fff}.roll-icon{font-family:serif;font-size:27px;line-height:1}.finish-button{border:0;background:#fffaf399;padding:10px 15px;border-radius:23px;min-height:44px;font-size:13px;font-weight:900;color:var(--plum)}.tray-note{font-size:12px;margin-top:21px;color:#765c7f}.turn-news{display:flex;gap:10px;align-items:flex-start;margin-top:16px;min-height:50px;padding:12px 16px;border-radius:16px;background:#f9e4ed;font-size:14px}.news-paw{color:var(--berry);font-size:19px;line-height:1.2}.watch-controls{display:flex;align-items:center;gap:12px;font-size:12px;margin-top:12px;flex-wrap:wrap}.watch-controls button#pace{border:0;background:#dfd5ee;padding:10px 16px;min-height:44px;border-radius:22px;font-size:12px;font-weight:900}.resume-note{font-size:12px;color:#775e74;margin-top:15px;text-align:center}.score-sheet{background:white;border:1.5px solid #e7dae7;border-radius:22px;padding:20px;box-shadow:0 5px 0 #eedee9}.sheet-title{display:flex;justify-content:space-between;align-items:center}.sheet-title h2{font-size:21px;font-weight:900}.sheet-title>span{font-size:28px;color:var(--berry);transform:rotate(-12deg)}#score-guide{font-size:12px;margin:5px 0 15px;color:#775e74;min-height:36px}table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}th:first-child{width:48%}th{font-weight:800;text-align:left}thead th{font-size:12px;color:#775e74;padding:0 0 8px}thead th:nth-child(n+2){text-align:center}td{text-align:center;font-weight:900;font-size:14px}tbody tr{border-top:1px solid #f1e7ef}tbody th{padding:6px 4px 6px 0}td{height:44px}tbody tr.section-start{border-top:2px solid #cdbbcf}.category-name{border:0;background:transparent;color:inherit;font-weight:800;font-size:12px;text-align:left;padding:6px 0;min-height:32px;cursor:help}.category-name:hover{text-decoration:underline;text-decoration-style:dotted}.category-mark{font-size:14px;color:#a73e6b;width:21px;display:inline-block;text-align:center;margin-right:4px}.score-choice{width:44px;min-height:38px;border:1.5px solid #bfa4cd;border-radius:10px;background:#f4edf8;color:#674673;font-weight:900;font-size:14px;transition:background .15s,transform .15s}.score-choice:hover:not(:disabled){background:#f9dce8;transform:scale(1.07);border-color:var(--berry)}.score-choice:disabled{border-color:transparent;background:transparent;opacity:.6}.score-choice.zero{color:#806d81;background:#faf6fc}.score-cell.recorded{color:var(--ink);background:#fff8eb}.score-cell.recent{background:#ffecb7;animation:score-pop .6s ease-out}.bonus-row{color:#79647b;background:#f8f4fa;font-size:12px}.bonus-row td{font-size:12px;height:33px}.bonus-row th{font-size:12px;font-weight:700;padding:5px}.bonus-hint{display:block;font-size:12px;font-weight:500}tfoot{border-top:2px solid #bb9fc0;background:#f9e4ed}tfoot th,tfoot td{padding:12px 8px}tfoot td{font-size:19px;color:var(--berry)}.sheet-note{font-size:12px;margin-top:12px;color:#775e74;text-align:center}footer{display:flex;justify-content:space-between;gap:15px;padding:19px 40px;border-top:1px solid #eaddE6;font-size:12px;color:#775e74}footer a{font-weight:900}dialog{border:0;border-radius:28px;padding:34px;background:var(--paper);color:var(--ink);width:min(530px,calc(100% - 30px));max-height:calc(100dvh - 32px);box-shadow:0 25px 80px #49344840}dialog::backdrop{background:#56355966;backdrop-filter:blur(4px)}dialog h2{font:500 31px/1.2 Lora,Georgia,serif;color:var(--plum);margin:7px 0 14px;letter-spacing:-.8px}dialog p{font-size:14px;margin:14px 0}dialog .close{position:absolute;right:13px;top:13px;width:44px;height:44px;border:0;background:#f9e4ed;border-radius:50%;font-size:25px;line-height:1}.welcome-dialog{text-align:center}.dialog-dice{display:inline-block;font-size:45px;color:var(--berry);transform:rotate(-14deg);line-height:1}.welcome-dialog h2{margin-top:12px}fieldset{border:0;padding:0;margin:22px 0}legend{font-weight:900;font-size:14px;margin-bottom:10px;width:100%}.mode-option{display:flex;align-items:center;gap:13px;text-align:left;border:2px solid #e8dbea;background:white;border-radius:18px;padding:14px;cursor:pointer;margin-top:10px}.mode-option:has(input:checked){border-color:var(--berry);background:#fce8ef}.mode-option input{accent-color:var(--berry);width:20px;height:20px;flex-shrink:0}.mode-option strong{font-size:15px;display:block}.mode-option small{display:block;font-size:12px;color:#775e74}.mode-option b{margin-left:auto;font-family:serif;font-size:26px;color:#a77325}.welcome-instruction{line-height:1.65}.small-print{font-size:12px!important;color:#775e74}ol{padding-left:23px;font-size:14px}li{padding:6px 0 6px 4px}summary{padding:8px 0;font-weight:900;font-size:14px;cursor:pointer}dl{font-size:13px}dt{font-weight:900;margin-top:10px}dd{margin:2px 0 8px}#help-dialog>.small-button{margin-top:12px}.dialog-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:22px}.dialog-actions .roll-button{font-size:14px;min-height:46px}#results{text-align:center}#results .trophy{font-size:65px;color:#c58a21;display:inline-block;animation:cheer .8s ease-in-out 2}#results .small-button{display:block;margin:16px auto 0}#podium{display:flex;justify-content:center;gap:15px;margin:22px 0}#podium>div{background:#f5ecf6;padding:12px 20px;border-radius:17px;font-weight:900;font-size:14px}#podium strong{display:block;color:var(--berry);font-size:25px}.confetti-bit{position:fixed;z-index:10;top:-25px;width:9px;height:16px;background:var(--color);border-radius:3px;pointer-events:none;animation:confetti-fall 2s ease-out forwards;animation-delay:var(--delay)}.skip{position:fixed;top:0;left:20px;z-index:100;background:white;padding:10px;transform:translateY(-150%)}.skip:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes roll-die{0%{transform:translateY(0) rotate(0)}25%{transform:translateY(-22px) rotate(-25deg)}60%{transform:translateY(-12px) rotate(22deg)}80%{transform:translateY(2px) rotate(-9deg)}100%{transform:translateY(0) rotate(0)}}@keyframes cheer{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-7px) rotate(-7deg)}70%{transform:translateY(-2px) rotate(7deg)}}@keyframes float-heart{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-6px) rotate(9deg)}}@keyframes score-pop{0%{transform:scale(1)}40%{transform:scale(1.14)}100%{transform:scale(1)}}@keyframes confetti-fall{to{transform:translateY(95vh) rotate(480deg);opacity:0}}
.paused *, .paused *:before, .paused *:after{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(min-width:1300px){.game-layout{grid-template-columns:minmax(0,1fr) 420px}.friends-scene{height:235px}.dice-tray{padding:30px}.dice{min-height:145px}.die{width:85px;height:85px;padding:14px}.speech p{font-size:21px}}
@media(max-width:1050px){body{padding:10px}main{padding:24px}.masthead{padding:18px 24px}.game-layout{grid-template-columns:minmax(0,1fr) 345px;gap:20px}.score-sheet{padding:16px}.player{padding:12px;gap:10px}.portrait{width:52px;height:52px}.turn-tag{display:block;margin:2px 0 0;width:max-content}.scene-caption{width:48%;right:15px}.speech{padding:13px}.speech p{font-size:16px}.dice-tray{padding:20px}.die{width:55px;height:55px;padding:9px;gap:3px;border-radius:12px}.dice{gap:10px}.tray-heading h2{font-size:18px}.roll-button{padding:13px 22px;font-size:16px}.watch-controls>span{display:none}footer{padding:18px 24px}}
@media(max-width:800px){.game-layout{grid-template-columns:minmax(0,1fr)}.score-sheet{max-width:100%;padding:22px}.friends-scene{height:205px}.die{width:70px;height:70px;padding:12px;border-radius:15px}.dice{gap:18px}.dice-tray{padding:24px}.scene-caption{width:40%;right:25px}.speech p{font-size:20px}.category-name{font-size:14px}table{font-size:14px}.score-choice{width:62px;min-height:44px}td{height:46px}.tools{gap:5px}.tools button{padding:10px;font-size:12px}#motion{font-size:0}#motion:after{content:'Ⅱ';font-size:18px}.paused #motion:after{content:'▷'}.title-row{align-items:flex-start}.title-row p{font-size:14px}}
@media(max-width:500px){body{padding:6px}.storybook{border-radius:22px}.masthead{padding:14px 16px;gap:15px}.brand{font-size:30px}.back{display:none}.tools button{padding:8px 10px;min-height:40px;font-size:12px}#help span{display:none}main{padding:20px 15px}.title-row{gap:10px;margin-bottom:18px}h1{font-size:29px;letter-spacing:-1.1px}.title-row p{font-size:12px;max-width:230px;line-height:1.4}.title-row>.small-button{font-size:12px;padding:8px 11px;min-height:40px}.players{gap:7px;margin-bottom:18px}.player{display:flex;flex-direction:column;gap:5px;padding:10px 4px;text-align:center;border-radius:16px}.player h2{font-size:14px}.player p{font-size:12px}.player p strong{font-size:17px}.portrait{width:48px;height:48px}.turn-tag{font-size:12px;margin:3px auto 0;padding:2px 5px;height:16px}.player:not(.active) h2:after{content:'';display:block;height:19px}.friends-scene{height:180px}.scene-image{object-position:38% 36%}.scene-caption{width:46%;right:12px;top:12px;height:calc(100% - 24px)}.speech{padding:10px 12px;border-radius:15px 15px 15px 3px}.speech p{font-size:15px}.speech-name{font-size:12px}.round{font-size:12px;padding:4px 9px}.scene-heart{left:28%;font-size:18px}.dice-tray{padding:18px 12px;border-radius:0 0 22px 22px}.tray-heading h2{font-size:17px}.tray-heading>span{font-size:12px;padding:4px 8px}#instruction{font-size:12px;min-height:36px}.dice{gap:9px;min-height:104px;margin-top:7px}.die{width:calc((100vw - 114px)/5);max-width:61px;height:calc((100vw - 114px)/5);max-height:61px;padding:9px;gap:3px;border-radius:12px}.dice.six{gap:7px}.dice.six .die{width:calc((100vw - 115px)/6);height:calc((100vw - 115px)/6);padding:7px;gap:2px;border-radius:10px}.die-label{font-size:12px}.roll-button{font-size:15px;padding:12px 22px;min-height:49px}.finish-button{font-size:12px;padding:10px}.turn-actions{gap:8px}.tray-note{font-size:12px}.turn-news{font-size:12px;padding:12px;min-height:52px}.score-sheet{padding:18px 14px;border-radius:20px}.sheet-title h2{font-size:20px}.score-choice{width:44px;font-size:14px}.category-name{font-size:12px}.category-mark{width:18px;margin-right:2px}.game-layout{gap:22px}footer{padding:15px;flex-direction:column;align-items:center;gap:7px;font-size:12px}dialog{padding:28px 22px}dialog h2{font-size:28px}.dialog-actions{gap:8px}.dialog-actions>.small-button{font-size:12px;padding:10px 13px}#podium{gap:8px}#podium>div{padding:12px}.mode-option{padding:12px}.watch-controls{gap:8px}.watch-controls .small-button{font-size:12px}}

.scene-cat{position:absolute;z-index:1;left:32%;bottom:-3px;width:142px;height:158px;object-fit:contain;transform-origin:50% 90%;filter:drop-shadow(0 5px 4px #56355922)}.scene-caption{z-index:2}body[data-player="2"] .scene-cat{animation:cat-wave 1.6s ease-in-out 2}@keyframes cat-wave{0%,100%{transform:rotate(0)}30%{transform:rotate(-6deg) translateY(-4px)}65%{transform:rotate(5deg)}}@media(max-width:500px){.scene-cat{width:100px;height:112px;left:27%}.die{min-width:44px;min-height:44px}.dice.six .die{min-width:44px;min-height:44px}}@media(max-width:360px){.dice{gap:6px}.dice.six{display:grid;grid-template-columns:repeat(3,52px);gap:13px 14px;min-height:170px}.dice.six .die{width:52px;height:52px;padding:9px}.scene-cat{width:90px;height:103px;left:25%}}

@media(min-width:801px) and (max-width:1050px){.dice.six{gap:8px}.dice.six .die{width:48px;height:48px}}@media(max-width:800px){.dice.six .die{width:clamp(44px,calc((100vw - 172px)/6),70px);height:clamp(44px,calc((100vw - 172px)/6),70px)}}@media(max-width:360px){.dice.six .die{width:52px;height:52px}}

@media(max-width:500px){tfoot td{font-size:14px}}
