*{box-sizing:border-box;margin:0;padding:0}html,body{background:#2b2438;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}#app{justify-content:center;align-items:center;height:100dvh;display:flex}#frame{aspect-ratio:9/16;border-radius:6px;width:min(100vw,56.25dvh);position:relative;overflow:hidden}#game{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}#hud{pointer-events:none;color:#6b5a6e;position:absolute;inset:0}#depth{text-align:center;letter-spacing:.08em;color:#ffffffeb;text-shadow:0 1px 8px #a0648c40;font-size:clamp(20px,6vmin,34px);font-weight:200;transition:opacity .5s;position:absolute;top:4%;left:0;right:0}#effects{text-align:center;transition:opacity .3s;position:absolute;top:11%;left:0;right:0}.effect-row{-webkit-backdrop-filter:blur(8px);letter-spacing:.08em;color:#fffffff2;text-shadow:0 1px 6px #a0648c4d;background:#ffffff47;border-radius:999px;margin:0 .4em;padding:.15em .7em;font-size:clamp(11px,2.8vmin,14px);font-weight:300;display:inline-block}.effect-row.hidden{display:none}#mute{-webkit-backdrop-filter:blur(8px);color:#fffffff2;text-shadow:0 1px 6px #a0648c4d;pointer-events:auto;cursor:pointer;background:#ffffff47;border:1px solid #ffffff80;border-radius:999px;width:2.3em;height:2.3em;font-size:clamp(13px,3.4vmin,17px);line-height:1;transition:opacity .25s;position:absolute;top:2.6%;right:4%}#mute.muted{opacity:.45;text-decoration:line-through}#hint{text-align:center;letter-spacing:.06em;color:#ffffffd9;text-shadow:0 1px 6px #a0648c4d;font-size:clamp(13px,3.4vmin,17px);font-weight:300;transition:opacity .4s;position:absolute;bottom:12%;left:0;right:0}#results{justify-content:center;align-items:center;transition:opacity .35s;display:flex;position:absolute;inset:0}.results-card{-webkit-backdrop-filter:blur(14px);text-align:center;color:#7a5c72;background:#ffffff59;border:1px solid #ffffff80;border-radius:24px;padding:8% 12%}.results-label{letter-spacing:.14em;text-transform:uppercase;opacity:.8;font-size:clamp(13px,3.4vmin,17px);font-weight:300}#results-depth{color:#5f4a63;margin:.15em 0 .35em;font-size:clamp(40px,12vmin,68px);font-weight:200}.results-gems{letter-spacing:.06em;color:#b07f3f;margin-bottom:.3em;font-size:clamp(13px,3.4vmin,17px);font-weight:300}.results-score{letter-spacing:.1em;text-transform:uppercase;margin-bottom:.35em;font-size:clamp(15px,4vmin,20px);font-weight:400}.results-tap{letter-spacing:.08em;opacity:.7;font-size:clamp(12px,3vmin,15px);font-weight:300}.results-newbest{letter-spacing:.12em;text-transform:uppercase;color:#c98a1e;text-shadow:0 1px 10px #ffd0608c;margin:-.2em 0 .5em;font-size:clamp(13px,3.4vmin,17px);font-weight:500}.results-newbest.hidden{display:none}.results-time{letter-spacing:.08em;opacity:.75;margin-bottom:.3em;font-size:clamp(12px,3vmin,15px);font-weight:300}.results-best{letter-spacing:.08em;color:#a08a56;margin-bottom:.9em;font-size:clamp(12px,3vmin,15px);font-weight:300}#notice{-webkit-backdrop-filter:blur(10px);letter-spacing:.04em;text-align:center;color:#fffffff2;background:#3c30468c;border:1px solid #ffffff40;border-radius:999px;max-width:86%;padding:.5em 1.1em;font-size:clamp(11px,2.8vmin,14px);font-weight:300;transition:opacity .6s,visibility .6s;position:absolute;bottom:4%;left:50%;transform:translate(-50%)}#wardrobe-btn{-webkit-backdrop-filter:blur(8px);color:#fffffff2;text-shadow:0 1px 6px #a0648c4d;pointer-events:auto;cursor:pointer;background:#ffffff47;border:1px solid #ffffff80;border-radius:999px;width:2.3em;height:2.3em;font-size:clamp(13px,3.4vmin,17px);font-weight:300;line-height:1;transition:opacity .25s,visibility .25s;position:absolute;top:2.6%;left:4%}#unlock-toast{-webkit-backdrop-filter:blur(10px);letter-spacing:.1em;text-align:center;color:#7a5320;text-shadow:0 1px 8px #fff0beb3;background:#ffd66e66;border:1px solid #ffe296bf;border-radius:999px;max-width:86%;padding:.55em 1.2em;font-size:clamp(12px,3vmin,15px);font-weight:400;transition:opacity .4s,visibility .4s;position:absolute;top:16%;left:50%;transform:translate(-50%);box-shadow:0 2px 18px #ffd06059}#wardrobe{pointer-events:auto;background:#3c30464d;justify-content:center;align-items:center;transition:opacity .25s,visibility .25s;display:flex;position:absolute;inset:0}.wardrobe-card{-webkit-backdrop-filter:blur(16px);color:#7a5c72;background:#fff6;border:1px solid #ffffff8c;border-radius:24px;flex-direction:column;width:86%;max-height:82%;display:flex;overflow:hidden}.wardrobe-head{justify-content:space-between;align-items:center;padding:4.5% 6% 2%;display:flex}.wardrobe-title{letter-spacing:.16em;text-transform:uppercase;opacity:.85;font-size:clamp(14px,3.8vmin,19px);font-weight:300}.wardrobe-close{color:#7a5c72;cursor:pointer;background:0 0;border:none;padding:0 .2em;font-size:clamp(20px,5.5vmin,28px);font-weight:200;line-height:1}.wardrobe-scroll{overscroll-behavior:contain;padding:0 6% 6%;overflow-y:auto}.wardrobe-section{letter-spacing:.18em;text-transform:uppercase;opacity:.6;justify-content:space-between;align-items:baseline;margin:1.1em 0 .5em;font-size:clamp(11px,2.8vmin,14px);font-weight:400;display:flex}.wardrobe-count{letter-spacing:.08em;opacity:.85;font-size:clamp(9px,2.3vmin,11.5px)}.wardrobe-grid{grid-template-columns:repeat(3,1fr);gap:.7em 3%;display:grid}.ward-tile{cursor:pointer;color:inherit;background:#ffffff4d;border:2px solid #fff6;border-radius:16px;flex-direction:column;align-items:center;padding:7% 4% 8%;font-family:inherit;transition:border-color .2s,box-shadow .2s;display:flex}.ward-tile.equipped{border-color:#e0a83ee6;box-shadow:0 0 14px #ffd06073}.ward-tile.locked{cursor:default}.ward-tile.locked .ward-swatch{opacity:.55;filter:grayscale(.45)}.ward-tile.tier3{border-color:#e0a83e6b;position:relative}.ward-tile.tier3.equipped{border-color:#e0a83ee6}.ward-tier-badge{color:#c98a1ee6;pointer-events:none;font-size:clamp(10px,2.6vmin,13px);position:absolute;top:.28em;right:.45em}.ward-swatch{width:clamp(40px,11vmin,68px);height:clamp(40px,11vmin,68px)}.ward-name{letter-spacing:.04em;margin-top:.45em;font-size:clamp(10px,2.6vmin,13px);font-weight:400}.ward-tile.locked .ward-name{opacity:.6}.ward-sub{letter-spacing:.03em;opacity:.65;min-height:2.2em;margin-top:.2em;font-size:clamp(8px,2.1vmin,10.5px);font-weight:300;line-height:1.25}.ward-tile.equipped .ward-sub{color:#c98a1e;opacity:.9}.ward-tile.locked .ward-sub{color:#a08a56}#mode-select{-webkit-backdrop-filter:blur(8px);pointer-events:auto;background:#ffffff47;border:1px solid #ffffff80;border-radius:999px;transition:opacity .25s,visibility .25s;display:flex;position:absolute;top:2.6%;left:50%;overflow:hidden;transform:translate(-50%)}#mode-select button{letter-spacing:.08em;color:#ffffffbf;text-shadow:0 1px 6px #a0648c4d;cursor:pointer;background:0 0;border:none;padding:.5em .95em;font-family:inherit;font-size:clamp(11px,2.8vmin,14px);font-weight:300;line-height:1;transition:background .2s,color .2s}#mode-select button.active{color:#7a5c72;text-shadow:none;background:#ffffff73;font-weight:400}#daily-label{letter-spacing:.1em;color:#ffffffe6;text-shadow:0 1px 6px #a0648c59;border-radius:999px;padding:.25em .9em;font-size:clamp(11px,2.8vmin,14px);font-weight:300;transition:opacity .25s,visibility .25s;position:absolute;top:7.2%;left:50%;transform:translate(-50%)}#calendar-btn{-webkit-backdrop-filter:blur(8px);color:#fffffff2;text-shadow:0 1px 6px #a0648c4d;letter-spacing:.08em;pointer-events:auto;cursor:pointer;background:#ffffff47;border:1px solid #ffffff80;border-radius:999px;padding:.45em .9em;font-family:inherit;font-size:clamp(11px,2.8vmin,14px);font-weight:300;line-height:1;transition:opacity .25s,visibility .25s;position:absolute;top:10.6%;left:50%;transform:translate(-50%)}.results-daily{letter-spacing:.08em;color:#8a6a9a;margin-bottom:.9em;font-size:clamp(12px,3vmin,15px);font-weight:300}.results-daily.hidden{display:none}#share-btn{color:#7a5320;letter-spacing:.1em;pointer-events:auto;cursor:pointer;background:#ffd66e59;border:1px solid #e0a83eb3;border-radius:999px;margin:0 auto 1em;padding:.5em 1.6em;font-family:inherit;font-size:clamp(12px,3.2vmin,16px);font-weight:400;line-height:1;transition:background .2s;display:block;box-shadow:0 2px 14px #ffd0604d}#share-btn.hidden{display:none}#calendar{pointer-events:auto;background:#3c30464d;justify-content:center;align-items:center;transition:opacity .25s,visibility .25s;display:flex;position:absolute;inset:0}.calendar-card{-webkit-backdrop-filter:blur(16px);color:#7a5c72;background:#fff6;border:1px solid #ffffff8c;border-radius:24px;width:88%;padding:4.5% 4% 5%}.calendar-head{align-items:center;gap:.4em;margin-bottom:.8em;display:flex}.calendar-title{text-align:center;letter-spacing:.14em;text-transform:uppercase;opacity:.85;flex:1;font-size:clamp(13px,3.6vmin,18px);font-weight:300}.calendar-nav,.calendar-close{color:#7a5c72;cursor:pointer;background:0 0;border:none;padding:0 .3em;font-family:inherit;font-size:clamp(18px,5vmin,26px);font-weight:200;line-height:1}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-weekdays div{text-align:center;letter-spacing:.1em;opacity:.55;padding-bottom:.4em;font-size:clamp(9px,2.3vmin,11px);font-weight:400}.calendar-day{text-align:center;border:1.5px solid #0000;border-radius:10px;min-height:3.1em;padding:.25em .1em .2em}.calendar-day.played{background:#ffd66e52;border-color:#ffd66e66}.calendar-day.today{border-color:#7a5c72a6}.calendar-daynum{opacity:.8;font-size:clamp(10px,2.6vmin,13px);font-weight:400}.calendar-best{letter-spacing:.02em;color:#b07f3f;min-height:1.1em;font-size:clamp(8px,2.1vmin,10.5px);font-weight:500}.hidden{opacity:0;visibility:hidden}
