@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');
:root{font-family:Nunito,ui-rounded,'Trebuchet MS',sans-serif;color:#514560;font-synthesis:none;font-size:16px;--purple:#827093;--pink:#edc4c8;--cream:#fffaf0;--border:#fff9efaa}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#d5d4e4}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,canvas:focus-visible{outline:3px solid #78618c;outline-offset:4px}button{border:0}button:disabled{opacity:.45;cursor:not-allowed}button:not(:disabled):hover{filter:brightness(1.04)}button:not(:disabled):active{transform:translateY(1px)}[hidden]{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}header{position:fixed;left:32px;right:32px;top:24px;display:flex;align-items:center;gap:16px;pointer-events:none}.brand{display:flex;align-items:center;gap:10px}.brand-icon{font-size:48px;line-height:1;color:#9d83a4}.brand strong{font-size:32px;line-height:1;font-weight:900;letter-spacing:1px}.brand div>span{display:block;font-size:12px;letter-spacing:1.5px;margin-top:3px}.clock{margin-left:auto;padding:10px 24px;background:#fffaf0da;border:2px solid #fff9ef;border-radius:22px;text-align:center;box-shadow:0 5px 0 #817a9310}.clock strong{font-size:26px;letter-spacing:2px;display:block;line-height:1.1}.clock>span{font-size:13px}.wallet{display:flex;align-items:center;gap:9px;background:#fff3cedf;border:2px solid #fff9ed;border-radius:22px;padding:17px 20px}.wallet>span:first-child{color:#c79243;font-size:25px}.wallet strong{font-size:22px}.coin-label{font-size:13px}.left-panel{position:fixed;top:142px;left:32px;width:245px;pointer-events:none}.place{margin-bottom:24px}.eyebrow{font-weight:800;font-size:12px;letter-spacing:2px;color:#81778d}.place h1{font-size:24px;line-height:1.2;margin:9px 0}.muted{color:#716878;font-size:14px}.card{background:#fffaf0e8;border:2px solid var(--border);border-radius:21px;padding:18px;box-shadow:0 6px 20px #63577409;pointer-events:auto;margin-top:12px}.card-heading{display:flex;justify-content:space-between;font-size:13px;font-weight:800;color:#95829f}.card-heading>span:last-child{font-size:20px}.quest h2{font-size:18px;margin:12px 0 6px}.quest p{font-size:14px;line-height:1.55;margin:0 0 14px;color:#807487}.progress{height:7px;background:#ece4ed;border-radius:20px;overflow:hidden}.progress i{display:block;width:0;height:100%;background:#b6b99a;border-radius:20px;transition:width .3s}.quest-bottom{font-size:12px;display:flex;justify-content:space-between;align-items:center;margin-top:9px}.quest-bottom button{background:#a9b99e;color:#fff;border-radius:10px;padding:7px 12px}.level{padding:14px 18px}.level>span{font-size:13px;font-weight:800}.level .progress{margin:9px 0 3px}.level .progress i{background:#b99dcc}.level small{font-size:12px;color:#938899}.right-panel{position:fixed;right:30px;top:135px;display:flex;flex-direction:column;gap:10px}.circle{width:43px;height:43px;border-radius:50%;background:#fffaf0dd;border:2px solid #fff7ea;font-size:22px;box-shadow:0 4px 0 #8e809017}footer{position:fixed;bottom:15px;left:50%;transform:translateX(-50%);text-align:center;max-width:calc(100% - 28px)}.hint{font-size:13px;margin-bottom:13px;color:#63536d;background:#fff9f0bd;padding:7px 16px;border-radius:20px;white-space:nowrap;pointer-events:none}.dock{display:flex;justify-content:center;gap:5px;padding:9px;background:#fffaf0ed;border:2px solid #fffdf6;border-radius:26px;box-shadow:0 6px 0 #80718520,0 10px 30px #66567610}.dock button{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:13px;font-weight:800;min-width:91px;background:transparent;border-radius:17px;padding:9px 14px}.dock button:hover{background:#eee3ef}.dock button span{font-size:27px;line-height:1.2}.dock b{font-weight:800}.save-note{font-size:12px;margin-top:10px;color:#62576d}#toast{position:fixed;left:50%;top:112px;transform:translate(-50%,-10px);background:#fff9ee;color:#665274;padding:13px 25px;border:2px solid white;border-radius:30px;box-shadow:0 6px 25px #65547522;font-weight:800;opacity:0;transition:.2s;pointer-events:none;text-align:center;max-width:85vw;z-index:15}#toast.show{opacity:1;transform:translate(-50%,0)}#hover{position:fixed;pointer-events:none;background:#fffaf0ee;border-radius:12px;padding:9px 15px;font-size:14px;z-index:4;box-shadow:0 3px 12px #66547522}#placement{position:fixed;bottom:180px;left:50%;transform:translateX(-50%);border:2px solid white;border-radius:20px;padding:12px;background:#fff9ed;white-space:nowrap;font-size:14px;box-shadow:0 8px 30px #66547522}#placement button{padding:8px;border-radius:10px;margin-left:5px;background:#e9deee}dialog{border:2px solid #fff;border-radius:28px;background:#fffaf3;color:#514560;max-width:610px;width:calc(100% - 32px);max-height:80dvh;padding:28px;box-shadow:0 25px 90px #53476633}dialog::backdrop{background:#4c40513d;backdrop-filter:blur(5px)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.modal-head h2{font-size:25px;margin:5px 0 0}.close{width:36px;height:36px;border-radius:50%;background:#eee4ed;font-size:25px}.modal-text{font-size:15px;line-height:1.65;color:#7d7184}.inventory{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.item{padding:17px 8px;text-align:center;background:#f0e9ef;border-radius:17px}.item>span{display:block;font-size:29px;margin-bottom:8px}.item strong{display:block;font-size:14px}.item small{font-size:14px;display:block;margin-top:4px}.primary{background:#907a9e;color:white;font-weight:800;padding:12px 18px;border-radius:13px}.wide{width:100%;margin-top:18px}.recipe{display:flex;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid #e9e1e8}.recipe:last-child{border-bottom:0}.recipe .emoji{font-size:31px;width:43px;text-align:center}.recipe .desc{flex:1}.recipe h3{font-size:16px;margin:0 0 4px}.recipe p{font-size:13px;color:#86758d;margin:0;line-height:1.5}.recipe button{background:#e9dced;border-radius:12px;padding:10px 14px;font-size:14px;font-weight:800;white-space:nowrap}.row{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 20px}.row button{padding:10px 18px;border-radius:12px;background:#eee5ef;font-size:15px}.row button.selected{background:#9d84aa;color:#fff}.swatch{height:40px;width:40px;padding:0!important;border:3px solid white!important;box-shadow:0 0 0 1px #ddd!important}.swatch.selected{box-shadow:0 0 0 3px #91759f!important}label{font-size:14px;font-weight:800}.help-list{padding-left:22px;font-size:15px;line-height:1.8}.help-list li{margin:10px 0}#loading{position:fixed;inset:0;background:#e6dfe9;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;z-index:30;padding:24px}#loading>span{font-size:70px;color:#ac8fae;animation:breathe 2s infinite}#loading h2{font-size:23px}#loading p{max-width:450px;font-size:15px}#interact{display:none}@keyframes breathe{50%{transform:scale(1.1) rotate(15deg)}}@media(max-width:1000px){.left-panel{width:208px;left:20px}.place h1{font-size:21px}.card{padding:14px}.hint{font-size:12px}header{left:20px;right:20px}.right-panel{right:20px}}@media(max-width:650px){header{left:15px;right:15px;top:15px;gap:8px}.brand-icon{font-size:32px}.brand strong{font-size:24px}.brand div>span{font-size:10px;letter-spacing:.5px}.clock{padding:7px 11px;border-radius:17px}.clock strong{font-size:22px}.clock>span{font-size:11px}.wallet{padding:8px 11px;gap:4px;border-radius:17px}.wallet strong{font-size:18px}.coin-label{display:none}.left-panel{top:93px;left:15px;width:180px}.place{margin-bottom:10px}.place h1{font-size:18px}.place .eyebrow{font-size:10px}.place .muted{font-size:12px}.quest{padding:12px;border-radius:17px}.quest h2{font-size:15px;margin:5px 0}.quest p{font-size:12px;margin-bottom:8px}.card-heading{font-size:12px}.level{display:none}.right-panel{right:15px;top:98px;gap:8px}.circle{height:37px;width:37px;font-size:20px}footer{bottom:10px}.dock{gap:0;padding:5px;border-radius:21px}.dock button{min-width:0;width:65px;font-size:11px;padding:8px 4px;gap:5px}.dock button span{font-size:24px}.hint{display:none}.save-note{font-size:10px;margin-top:7px}#interact{display:block;position:fixed;right:16px;bottom:122px;padding:15px;border-radius:22px;background:#fff9eee8;font-weight:800;border:2px solid white;font-size:14px}#toast{top:82px;width:max-content;font-size:14px;padding:10px 18px}#placement{bottom:179px;white-space:normal;width:90%;font-size:13px;text-align:center}dialog{padding:21px;max-height:85dvh}.recipe{gap:10px}.recipe button{padding:10px}.inventory{gap:8px}.item{padding:12px 6px}.item strong{font-size:12px}}@media(max-height:620px){.left-panel{top:95px}.place{margin-bottom:8px}.level{display:none}.quest p{display:none}.hint{display:none}footer{bottom:8px}.dock button{padding:6px 13px}.save-note{margin-top:5px}}
/* Multiplayer, character creation and the card table. */
input,select{font:inherit;color:inherit;border:1px solid #d6c7d9;background:#fffefd;border-radius:12px;padding:11px;max-width:100%}input:focus{outline:2px solid #b798c9}#panel-body .field{display:block;width:100%;margin:8px 0 18px}.error{color:#a45d71;font-size:14px;min-height:20px}.creator-layout{display:grid;grid-template-columns:150px 1fr;gap:18px}.avatar-preview{width:150px;height:210px;display:block;border-radius:22px;background:#ede4ef;position:sticky;top:0}.creator-layout .row{gap:7px;margin:7px 0 13px}.creator-layout .row button{padding:8px 12px;font-size:14px}.creator-layout .swatch{width:33px;height:33px}.creator-layout label{font-size:13px}.sound-settings{margin:17px 0;padding:15px;background:#eee6ef;border-radius:15px;display:flex;align-items:center;gap:12px;font-size:14px}.sound-settings input{width:120px;max-width:45%}.room-code{font-size:30px;letter-spacing:5px;font-weight:900;text-align:center;padding:17px;background:#f0e4ee;border:1px dashed #bba7c6;border-radius:18px;margin:14px 0}.friend-actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.friend-actions button{background:#e9dcec;border-radius:12px;padding:10px 15px;font-weight:800}.friend-actions .primary{background:#917aa0}.friend-list{font-size:15px;line-height:1.9}.join-form{display:flex;gap:9px}.join-form input{min-width:0;flex:1;text-transform:uppercase;letter-spacing:2px}.join-form button{white-space:nowrap}.remote-name{position:fixed;pointer-events:none;font-weight:800;font-size:13px;padding:4px 10px;background:#fff9eecf;border:1px solid #fff;border-radius:13px;transform:translate(-50%,-100%);white-space:nowrap}#room-badge{position:fixed;left:32px;top:104px;background:#fff8edda;padding:6px 13px;border-radius:12px;font-size:12px;font-weight:800}#chat-toggle{position:fixed;bottom:150px;right:25px;background:#fff9ed;border:2px solid white;border-radius:18px;padding:12px;font-size:14px;font-weight:800}#chat-panel{position:fixed;right:25px;bottom:198px;width:290px;background:#fffaf3ed;border:2px solid white;border-radius:20px;box-shadow:0 8px 30px #63547722;overflow:hidden;z-index:7}.chat-heading{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;font-size:14px}.chat-heading button{background:transparent;font-size:23px}#chat-messages{height:150px;overflow-y:auto;padding:0 14px 12px;overflow-wrap:anywhere;font-size:14px;line-height:1.45}.chat-message{margin:8px 0}.chat-message b{color:#9b7cac;margin-right:5px}#chat-form{display:flex;padding:9px;border-top:1px solid #e7dfea;gap:7px}#chat-input{width:100%;min-width:0;font-size:14px;padding:8px}#chat-form button{background:#cdb9d7;border-radius:10px;padding:8px 10px;color:#fff}#fish-ui{position:fixed;left:50%;bottom:165px;transform:translateX(-50%);background:#fff9efed;border:2px solid white;border-radius:24px;padding:20px;text-align:center;z-index:6;min-width:280px;box-shadow:0 8px 35px #67597622}#fish-ui strong{font-size:20px}#fish-ui p{font-size:14px;margin:7px 0 14px}#fish-close{display:block;margin:10px auto 0;background:transparent;font-size:13px;color:#8f7d96}#fish-ui.bite{border-color:#b0bd95;background:#fafbdd}.card-table{border-radius:22px;background:#e5ecde;padding:18px;margin-bottom:18px}.opponent{display:flex;justify-content:space-between;font-size:14px;margin-bottom:16px;gap:10px}.discard-row{display:flex;justify-content:center;gap:18px;align-items:center}.uno-card{width:66px;height:96px;border:3px solid #fff;border-radius:12px;color:#5b4666;font-size:26px;font-weight:900;box-shadow:0 3px 0 #5c456a1c;position:relative;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:#d9cce3}.uno-card.pink{background:#ecb5c4}.uno-card.mint{background:#b6d1b6}.uno-card.blue{background:#b1c8e4}.uno-card.yellow{background:#edda9f}.uno-card.wild{background:linear-gradient(135deg,#ecb5c4 25%,#b1c8e4 25%,#b1c8e4 50%,#b6d1b6 50%,#b6d1b6 75%,#edda9f 75%)}.uno-card small{position:absolute;font-size:12px;left:5px;top:4px}.uno-hand{display:flex;gap:8px;padding:6px 3px 14px;overflow-x:auto}.uno-hand .uno-card{cursor:pointer}.uno-hand .uno-card:disabled{opacity:.52}.uno-status{font-size:16px;font-weight:800;text-align:center;margin:14px 0 7px}.uno-note{text-align:center;font-size:13px;margin:0;color:#7c7084}.uno-options{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:13px 0}.uno-options label{display:flex;align-items:center;gap:6px;font-size:14px}.uno-options select{padding:7px}.uno-rules{font-size:13px;line-height:1.7;color:#817187;margin-top:14px}.shop-note{font-size:13px;color:#8e7c97}.shop-top{display:flex;gap:20px;align-items:center}.shop-top .avatar-preview{width:130px;height:170px}.dock button{min-width:80px;padding-left:10px;padding-right:10px}.dock{gap:3px}
@media(max-width:650px){.dock button{width:54px;min-width:0;font-size:10px;padding:8px 3px}.dock button span{font-size:23px}.dock{gap:0}#room-badge{left:15px;top:80px;padding:3px 8px;font-size:10px}.left-panel{top:110px}#chat-toggle{right:15px;bottom:176px;padding:9px;font-size:12px}#chat-panel{right:14px;bottom:215px;width:min(290px,90vw)}#fish-ui{bottom:132px;max-width:90vw;padding:16px}#chat-messages{height:135px}.creator-layout{grid-template-columns:104px 1fr;gap:12px}.avatar-preview{width:104px;height:190px}.creator-layout .row{gap:5px}.creator-layout .row button{font-size:12px;padding:7px 9px}.creator-layout .swatch{width:28px;height:28px}.uno-card{width:57px;height:84px;font-size:23px}.room-code{font-size:24px;letter-spacing:3px}.sound-settings{flex-wrap:wrap}.shop-top{gap:12px}.shop-top .avatar-preview{width:104px;height:145px}}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.stats-grid>div{background:#f0e8ef;border-radius:13px;padding:12px}.stats-grid span{font-size:13px;display:block;color:#807286}.stats-grid strong{font-size:23px}.fish-collection{grid-template-columns:repeat(2,1fr)}.fish-collection .item>span{font-size:48px}.unseen>span{filter:grayscale(1);opacity:.4}.achievements{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.achievement{display:flex;align-items:center;gap:10px;background:#eee7ef;padding:12px;border-radius:15px;border:1px solid transparent}.achievement>span{font-size:30px;opacity:.5}.achievement.earned{background:#f5eed9;border-color:#e7d7a7}.achievement.earned>span{opacity:1}.achievement strong{font-size:13px;display:block}.achievement small{display:block;font-size:11px;margin:4px 0 7px}.achievement .progress{height:5px}.achievement>div{flex:1}.upgrade-list>summary{font-weight:800;cursor:pointer;padding:13px;background:#eae2ee;border-radius:14px}.recipe .desc{min-width:0}.recipe button{font-size:13px}.modal-text{overflow-wrap:anywhere}@media(max-width:650px){.achievements{grid-template-columns:1fr}.recipe{gap:8px}.recipe .emoji{width:25px;font-size:23px}.recipe h3{font-size:14px}.recipe p{font-size:12px}.recipe button{font-size:12px;padding:8px}.right-panel{gap:6px}.circle{width:34px;height:34px}.creator-layout .swatch{width:26px;height:26px}.join-form{flex-wrap:wrap}}
.brand strong{font-size:26px;letter-spacing:-.7px}.danger{background:#ecd1d3;color:#925b69;border-radius:13px;padding:12px}.daily-notes{margin:20px 0}.daily-note{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;background:#f0e8ef;margin:8px 0}.daily-note span{flex:1;font-size:15px;overflow-wrap:anywhere}.daily-note.done span{text-decoration:line-through;opacity:.5}.daily-note button{background:transparent;font-size:22px}.daily-note input{accent-color:#a38aac;width:20px;height:20px}.right-panel{gap:7px}.right-panel .circle{height:36px;width:36px;font-size:19px}.wide:not(.primary):not(.danger){border-radius:12px;padding:12px;background:#e9ddec}.brand div>span{letter-spacing:1px}@media(max-width:650px){.brand strong{font-size:18px}.brand-icon{display:none}.brand div>span{font-size:9px}.right-panel{gap:5px}.right-panel .circle{height:31px;width:31px;font-size:17px}.clock>span{font-size:10px}.clock strong{font-size:20px}}
