:root{--ink:#16324a;--ink2:#47657d;--aqua:#29b6f6;--aqua2:#0288d1;--leaf:#58c05a;--glass:#ffffffc7;--line:#ffffffe6;--shadow:0 10px 34px #14466e47;--r:18px;color:var(--ink);-webkit-tap-highlight-color:transparent;font-family:Frutiger,Frutiger Linotype,Segoe UI,Myriad Pro,Roboto,Helvetica Neue,system-ui,-apple-system,BlinkMacSystemFont,Noto Sans,Ubuntu,Cantarell,sans-serif;font-size:15px}*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;background:#bfe9ff;height:100%;margin:0;overflow:hidden}.app{-webkit-user-select:none;user-select:none;position:fixed;top:0;bottom:0;left:0;right:0}.scene{touch-action:none;top:0;bottom:0;left:0;right:0;position:absolute!important}h2,h3,h4,p{margin:0}h2{font-size:1.3rem;font-weight:650}h3{color:var(--aqua2);margin-top:14px;margin-bottom:6px;font-size:1rem}h4{color:var(--ink2);margin:10px 0 6px;font-size:.85rem;font-weight:600}p{text-wrap:pretty;line-height:1.5}small{color:var(--ink2);font-size:.8rem}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}textarea,input,select{-webkit-user-select:text;user-select:text}.glass{border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow), inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(10px)saturate(1.3);background:linear-gradient(#fffffff2 0%,#ffffffbd 42%,#e2f4ffd1 100%)}.btn{background:linear-gradient(#fff 0%,#eef8ff 48%,#d5ecfb 52%,#e9f6ff 100%);border:1px solid #78aacdb3;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:9px 16px;font-weight:600;text-decoration:none;transition:transform 80ms,filter .15s;display:inline-flex;position:relative;box-shadow:0 2px 6px #14466e29,inset 0 1px #fff}.btn:hover{filter:brightness(1.04)}.btn:active{transform:translateY(1px)scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn:focus-visible{outline-offset:2px;outline:3px solid #ffb300}.tab:focus-visible{outline-offset:2px;outline:3px solid #ffb300}.answer:focus-visible{outline-offset:2px;outline:3px solid #ffb300}input:focus-visible{outline-offset:2px;outline:3px solid #ffb300}textarea:focus-visible{outline-offset:2px;outline:3px solid #ffb300}.btn.primary{color:#fff;text-shadow:0 1px 1px #003c6480;background:linear-gradient(#7fd8ff 0%,#35b8f5 48%,#0b98e0 52%,#29b0f0 100%);border-color:#0277bd}.btn.danger{color:#fff;background:linear-gradient(#ff9f8f,#e2533f 52%,#ef6a57);border-color:#b23a2e}.btn.small{min-height:32px;padding:5px 11px;font-size:.85rem}.btn.big{border-radius:16px;flex-direction:column;gap:2px;width:100%;padding:13px 18px;font-size:1.05rem}.btn.big small{font-size:.75rem;font-weight:400}.btn.primary small{color:#e9f7ff}.icon-btn{background:#fff9;border:0;border-radius:50%;flex:none;width:34px;height:34px;font-size:.95rem}.icon-btn:hover{background:#fff}.link{color:var(--aqua2);background:0 0;border:0;padding:0;text-decoration:underline}.row{justify-content:center;align-items:center;gap:8px;margin-top:10px;display:flex}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.fine{color:var(--ink2);margin-top:8px;font-size:.82rem}.note{background:#fff4c8cc;border:1px solid #f3dc8c;border-radius:12px;margin-top:10px;padding:8px 12px;font-size:.92rem}.empty{color:var(--ink2);text-align:center;padding:14px;font-size:.92rem}.loading{background:linear-gradient(#6ec6ff,#c9f0ff 60%,#bdf0b0);place-content:center;justify-items:center;gap:14px;font-weight:600;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.orb,.logo-orb{background:radial-gradient(circle at 32% 28%,#fff,#8fe0ff 38%,#1e9be0 72%,#0b6fb5);border-radius:50%;width:54px;height:54px;animation:1.6s ease-in-out infinite bob;box-shadow:0 6px 18px #0a64aa73,inset 0 -6px 12px #003c784d}@keyframes bob{50%{transform:translateY(-8px)}}.fade{opacity:0;pointer-events:none;z-index:60;background:#0d2a3f;transition:opacity .24s;position:absolute;top:0;bottom:0;left:0;right:0}.fade.on{opacity:1;pointer-events:auto}.menu{pointer-events:none;background:linear-gradient(90deg,#bee9ff8c,#0000 62%);align-items:center;padding:clamp(14px,5vw,70px);display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.menu-card{pointer-events:auto;flex-direction:column;gap:10px;width:min(400px,100%);max-height:100%;padding:24px;display:flex;overflow:auto}.logo{letter-spacing:-.02em;background:linear-gradient(#0b7fc9,#19a974);color:#0000;-webkit-background-clip:text;background-clip:text;align-items:center;gap:12px;font-size:clamp(2rem,7vw,2.8rem);font-weight:700;display:flex}.logo-orb{flex:none;width:42px;height:42px;animation-duration:3s}.credit{text-align:center;color:var(--aqua2);border-top:1px solid #a0c8e199;padding-top:8px;font-weight:600;display:none}.credit b{color:var(--ink)}.menu>.credit-tag{right:max(12px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));pointer-events:none;border-radius:999px;padding:6px 14px;font-size:.9rem;font-weight:600;position:absolute}.tagline{color:var(--ink2);margin-bottom:6px}.creator{pointer-events:none;align-items:center;padding:clamp(10px,3vw,40px);display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.creator-card{pointer-events:auto;flex-direction:column;gap:6px;width:min(430px,100%);max-height:100%;padding:18px;display:flex;overflow:auto}.creator-body{min-height:150px}.field{flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;display:flex}input,textarea,select{background:#ffffffeb;border:1px solid #a9cbe0;border-radius:12px;width:100%;min-width:0;padding:9px 12px;box-shadow:inset 0 2px 4px #14466e1a}textarea{resize:vertical;line-height:1.45}.tabs{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.tabs.scroll{scrollbar-width:thin;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.tab{white-space:nowrap;background:#ffffffa6;border:1px solid #b7d6e8;border-radius:999px;flex:none;padding:6px 12px;font-size:.85rem;font-weight:600}.tab.on{color:#fff;background:linear-gradient(#8adcff,#1ea7ea);border-color:#0288d1}.opts{flex-wrap:wrap;gap:6px;display:flex}.opt{background:#fff;border:1px solid #b7d6e8;border-radius:12px;padding:7px 12px;font-size:.88rem;font-weight:600}.opt.on{border-color:var(--aqua2);box-shadow:inset 0 0 0 2px var(--aqua);background:#dff3ff}.swatches{flex-wrap:wrap;gap:7px;display:flex}.swatch{border:2px solid #fff;border-radius:50%;width:32px;height:32px;box-shadow:0 1px 4px #00000059,inset 0 6px 8px #ffffff59}.swatch.on{outline:3px solid var(--aqua2);outline-offset:2px}.interest-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:10px 0;display:grid}.interest{text-align:left;background:#ffffffd9;border:1px solid #b7d6e8;border-radius:14px;align-items:center;gap:8px;padding:10px;font-size:.88rem;font-weight:600;display:flex}.interest span{font-size:1.4rem}.interest.on{background:linear-gradient(#e2ffe0,#b9f0b4);border-color:#3ea845;box-shadow:inset 0 0 0 2px #58c05a}.hud{pointer-events:none;padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));transition:opacity .2s;position:absolute;top:0;bottom:0;left:0;right:0}.hud>*,.hud-top>*{pointer-events:auto}.hud.dim{opacity:.25}.hud.dim>*,.hud.dim .hud-top>*{pointer-events:none}.hud-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex;pointer-events:none!important}.who{border-radius:999px;align-items:center;gap:10px;min-width:0;padding:7px 14px 7px 7px;display:flex}.who>div{flex-direction:column;min-width:0;line-height:1.2;display:flex}.who small{white-space:nowrap;text-overflow:ellipsis;max-width:38vw;overflow:hidden}.who .time{border-left:1px solid #b7d6e8;align-items:flex-end;padding-left:10px}.avatar{color:#fff;background:radial-gradient(circle at 32% 28%,#b7ecff,#29b6f6 55%,#0277bd);border-radius:50%;flex:none;place-content:center;width:38px;height:38px;font-weight:700;display:grid;box-shadow:inset 0 -4px 8px #003c784d}.avatar.npc{background:radial-gradient(circle at 32% 28%,#ffe2b7,#ff9d4d 55%,#e2622a)}.hud-btns{gap:6px;display:flex}.hbtn{border-radius:14px;flex-direction:column;align-items:center;gap:1px;min-width:52px;padding:6px 10px;font-size:1.2rem;display:flex;position:relative}.hbtn span{font-size:.66rem;font-weight:600}.badge{color:#fff;background:#ff5252;border:2px solid #fff;border-radius:999px;place-content:center;min-width:18px;height:18px;font-size:.68rem;font-style:normal;font-weight:700;display:grid;position:absolute;top:-4px;right:-4px}.minimap{right:max(8px, env(safe-area-inset-right));box-shadow:var(--shadow);cursor:pointer;background:#cfe9c8;border:2px solid #fff;border-radius:16px;position:absolute;top:76px}.minimap.big{z-index:5}.marker-tip{white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:5px 8px 5px 12px;font-size:.85rem;font-weight:600;display:flex;position:absolute;top:70px;left:50%;transform:translate(-50%)}.marker-tip button{background:#00000014;border:0;border-radius:50%;width:22px;height:22px;font-size:.7rem}.prompt{left:50%;bottom:max(26px, env(safe-area-inset-bottom));border-radius:999px;align-items:center;gap:10px;max-width:80vw;padding:10px 18px;font-weight:650;animation:.18s ease-out pop;display:flex;position:absolute;transform:translate(-50%)}@keyframes pop{0%{opacity:0;transform:translate(-50%)scale(.9)}}kbd{color:#fff;background:linear-gradient(#7fd8ff,#0b98e0);border-radius:8px;padding:2px 9px;font-family:inherit;font-weight:700;box-shadow:0 2px #0277bd}.joystick{left:max(22px, env(safe-area-inset-left));bottom:max(26px, env(safe-area-inset-bottom));touch-action:none;background:radial-gradient(circle,#ffffff47,#ffffff80);border:2px solid #ffffffd9;border-radius:50%;place-content:center;width:124px;height:124px;display:grid;position:absolute;box-shadow:0 4px 16px #14466e40}.knob{pointer-events:none;background:radial-gradient(circle at 32% 28%,#fff,#8fe0ff 45%,#1e9be0);border-radius:50%;width:54px;height:54px;box-shadow:0 3px 8px #0a64aa80}.act-btn{right:max(26px, env(safe-area-inset-right));bottom:max(44px, env(safe-area-inset-bottom));background:radial-gradient(circle at 32% 28%,#b7ecff,#29b6f6 55%,#0277bd);border:3px solid #fff;border-radius:50%;width:78px;height:78px;font-size:2rem;animation:1.4s infinite pulse;position:absolute;box-shadow:0 6px 16px #0a64aa80}@keyframes pulse{50%{box-shadow:0 6px 16px #0a64aa80,0 0 0 10px #29b6f640}}.fps{color:#b9ffb0;background:#0000008c;border-radius:8px;padding:3px 8px;font:600 12px ui-monospace,monospace;position:absolute;top:70px;left:10px}.quest{left:50%;bottom:max(84px, calc(env(safe-area-inset-bottom) + 70px));flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:94vw;padding:8px 12px;font-size:.88rem;font-weight:600;display:flex;position:absolute;transform:translate(-50%)}.thirds{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none!important}.thirds i{background:#ffffff8c;position:absolute;box-shadow:0 0 2px #0006}.thirds i:first-child{width:1px;top:0;bottom:0;left:33.33%}.thirds i:nth-child(2){width:1px;top:0;bottom:0;left:66.66%}.thirds i:nth-child(3){height:1px;top:33.33%;left:0;right:0}.thirds i:nth-child(4){height:1px;top:66.66%;left:0;right:0}.toasts{top:max(64px, calc(env(safe-area-inset-top) + 56px));pointer-events:none;z-index:70;flex-direction:column;align-items:center;gap:6px;width:max-content;max-width:92vw;display:flex;position:absolute;left:50%;transform:translate(-50%)}.toast{box-shadow:var(--shadow);text-align:center;background:linear-gradient(#fffe,#e4f6ffee);border:1px solid #fff;border-radius:999px;gap:8px;padding:7px 16px;font-size:.88rem;font-weight:600;animation:.25s ease-out drop;display:flex}@keyframes drop{0%{opacity:0;transform:translateY(-12px)}}.overlay{z-index:40;background:#0d325052;place-items:center;padding:10px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.modal{flex-direction:column;width:min(520px,100%);max-height:min(92dvh,760px);animation:.2s ease-out rise;display:flex}.modal.wide{width:min(720px,100%)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.modal-head{border-bottom:1px solid #a0c8e199;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px 10px 18px;display:flex}.h-icon{margin-right:8px}.modal-body{overscroll-behavior:contain;padding:12px 18px 16px;overflow-y:auto}.modal-foot{border-top:1px solid #a0c8e199;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}.setting{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;font-size:.9rem;font-weight:600;display:flex}.seg{background:#fff;border:1px solid #a9cbe0;border-radius:999px;flex-wrap:wrap;display:inline-flex;overflow:hidden}.seg button{background:0 0;border:0;min-height:34px;padding:6px 12px;font-size:.84rem;font-weight:600}.seg button.on{color:#fff;background:linear-gradient(#8adcff,#1ea7ea)}.help-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:10px;display:grid}.help-grid ul{margin:0;padding-left:18px;font-size:.9rem;line-height:1.6}.help-grid h3{margin-top:0}.search{margin:8px 0 2px}.act-list{flex-direction:column;gap:6px;margin-top:6px;display:flex}.act-row,.venue-row{text-align:left;background:#ffffffb8;border:1px solid #cfe4f1;border-radius:14px;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.act-row.rec{background:linear-gradient(90deg,#e2ffe0e6,#ffffffb8);border-color:#8fd694}.venue-row:hover{border-color:var(--aqua);background:#fff}.act-icon{text-align:center;flex:none;width:36px;font-size:1.6rem}.act-info{flex-direction:column;flex:1;min-width:0;display:flex}.act-info small{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.go{color:var(--aqua2);font-size:1.4rem}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:#fff;border:2px solid #b7d6e8;border-radius:999px;padding:4px 10px;font-size:.84rem;font-weight:600}.dialog-wrap{padding:10px;padding-bottom:max(12px, env(safe-area-inset-bottom));z-index:30;pointer-events:none;justify-content:center;display:flex;position:absolute;top:auto;bottom:0;left:0;right:0}.dialog{pointer-events:auto;width:min(620px,100%);max-height:70dvh;padding:12px 14px;animation:.2s ease-out rise;overflow:auto}.dialog header{align-items:center;gap:10px;display:flex}.dialog header>div:nth-child(2){flex-direction:column;flex:1;line-height:1.2;display:flex}.say{margin:10px 2px;font-size:1.02rem}.choices{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px;display:grid}.choices button{text-align:left;background:linear-gradient(#fff,#e9f6ff);border:1px solid #b7d6e8;border-radius:12px;min-height:40px;padding:9px 12px;font-size:.9rem;font-weight:600}.choices button:hover{border-color:var(--aqua2);background:#dff3ff}.choices button:disabled{opacity:.6}.ex{flex-direction:column;gap:10px;display:flex}.ex.center{text-align:center;align-items:center}.big-text{font-size:1.08rem;font-weight:600}.ring{border-radius:50%;place-content:center;width:150px;height:150px;transition:background .9s linear;display:grid;box-shadow:inset 0 0 0 1px #fff,0 4px 14px #14466e33}.ring>div{background:radial-gradient(circle at 32% 28%,#fff,#e3f5ff);border-radius:50%;place-content:center;justify-items:center;width:122px;height:122px;display:grid}.ring b{font-size:2.6rem;line-height:1}.breath{place-content:center;width:190px;height:190px;display:grid;position:relative}.breath-orb{background:radial-gradient(circle at 32% 28%,#fff,#a5e8ff 40%,#29b6f6 78%,#0288d1);border-radius:50%;transition:transform linear;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:0 8px 26px #0a78be66}.breath b{color:#fff;text-shadow:0 2px 6px #00467899;font-size:2.4rem;position:relative}.answers{flex-direction:column;gap:7px;width:100%;display:flex}.answers.grid2{grid-template-columns:1fr 1fr;max-width:340px;display:grid}.answer{text-align:left;background:linear-gradient(#fff,#eef8ff);border:1px solid #b7d6e8;border-radius:14px;min-height:46px;padding:11px 14px;font-weight:600}.grid2 .answer,.row .answer{text-align:center;flex:1;font-size:1.2rem}.answer.good{background:#c9f5c5;border-color:#3ea845}.answer.bad{background:#ffd6d0;border-color:#e2533f}.checks{flex-direction:column;gap:6px;display:flex}.check{cursor:pointer;background:#ffffffbf;border:1px solid #cfe4f1;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-weight:500;display:flex}.check.on{background:#dcf8d8;border-color:#58c05a}.check input,.goal input{accent-color:#2e9d3a;flex:none;width:20px;height:20px}.plan-row{gap:6px;margin-top:6px;display:flex}.plan-row select{width:auto;max-width:44%}.plan-row .btn{flex:none}.reading{-webkit-user-select:text;user-select:text;background:#fffdf5;border:1px solid #eadfc4;border-radius:12px;max-height:44dvh;padding:14px 16px;font-family:Georgia,Times New Roman,serif;overflow:auto}.reading h3{color:#5b3a29;margin:0}.reading p{margin-top:10px;line-height:1.65}.discover{background:linear-gradient(#fff,#e8f7ff);border:1px solid #b7d6e8;border-radius:16px;flex-direction:column;align-items:center;gap:4px;width:100%;padding:14px;display:flex}.discover span{font-size:2.6rem}.discover b{font-size:1.15rem}.pads{gap:6px;display:flex}.pads i{aspect-ratio:1;background:#dbe7ef;border:1px solid #b7d6e8;border-radius:10px;width:clamp(26px,8vw,40px)}.pads i.beat{background:#9adcff}.pads i.now{transform:scale(1.18);box-shadow:0 0 0 3px #ffb300}.pads i.beat.now{background:#ff9d4d}.tap{color:#fff;touch-action:none;background:radial-gradient(circle at 32% 28%,#ffd9a8,#ff9d4d 55%,#e2622a);border:4px solid #fff;border-radius:50%;width:150px;height:150px;font-size:1.3rem;font-weight:800;box-shadow:0 8px 20px #c85a1473}.tap.good{filter:brightness(1.25);transform:scale(.95)}.tap.bad{filter:grayscale(.7)}.tap:disabled{opacity:.5}.strings{background:linear-gradient(90deg,#8a5a3c,#b5793f);border-radius:12px;flex-direction:column;width:100%;padding:6px 0;display:flex}.string{touch-action:none;background:0 0;border:0;align-items:center;gap:10px;padding:7px 12px;display:flex}.string span{text-align:left;color:#fff3e0;flex:none;width:104px;font-size:.75rem}.string i{background:linear-gradient(#fff,#c9c9c9);border-radius:3px;flex:1;box-shadow:0 1px 2px #00000080}.string.vib i{animation:.3s linear vib}@keyframes vib{25%{transform:translateY(-2px)}75%{transform:translateY(2px)}}.chord{touch-action:none;background:linear-gradient(#fff,#e9f6ff);border:1px solid #b7d6e8;border-radius:14px;flex-direction:column;min-width:78px;padding:8px 14px;display:flex}.chord b{font-size:1.3rem}.chord.next{border-color:#ff9800;animation:.9s infinite pulse2;box-shadow:0 0 0 3px #ffcc80}@keyframes pulse2{50%{transform:scale(1.06)}}.song{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.song span{background:#e3edf3;border-radius:8px;padding:4px 9px;font-weight:700}.song .ok{background:#b9f0b4}.song .cur{background:#ffcc80}.paint{aspect-ratio:3/2;touch-action:none;cursor:crosshair;background:#fffdf7;border:2px solid #fff;border-radius:12px;width:100%;box-shadow:0 2px 10px #14466e4d}.math{font-size:2.4rem;font-weight:700}.simon{grid-template-columns:1fr 1fr;gap:10px;width:min(250px,70vw);display:grid}.simon button{aspect-ratio:1;opacity:.6;touch-action:none;border:3px solid #fff;border-radius:22px;box-shadow:inset 0 -8px 14px #0003}.simon button.lit{opacity:1;transform:scale(1.05);box-shadow:0 0 22px,inset 0 8px 14px #ffffff80}.type-target{background:#fff;border:1px solid #cfe4f1;border-radius:12px;padding:10px 12px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.15rem;line-height:1.7}.type-target .ok{color:#2e9d3a}.type-target .bad{color:#b23a2e;background:#ffd6d0}.type-target .cur{border-bottom:3px solid var(--aqua)}.statbar-top{justify-content:space-between;font-size:.9rem;font-weight:600;display:flex}.lv{color:var(--ink2)}.gain{color:#2e9d3a}.bar{background:#a0c3d773;border-radius:999px;height:14px;margin:4px 0 8px;overflow:hidden;box-shadow:inset 0 1px 3px #14466e40}.bar i{border-radius:999px;min-width:6px;height:100%;transition:width .9s cubic-bezier(.2,.9,.3,1);display:block}.levelup{color:#c77700;margin:-4px 0 8px;font-weight:700}.kpis{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:6px 0 10px;display:grid}.kpis div{text-align:center;background:#ffffffbf;border:1px solid #cfe4f1;border-radius:14px;flex-direction:column;padding:8px;display:flex}.kpis b{color:var(--aqua2);font-size:1.4rem}.chart{background:#ffffffb3;border:1px solid #cfe4f1;border-radius:14px;width:100%}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin-top:10px;display:grid}.stat-card{text-align:left;background:#ffffffbf;border:1px solid #cfe4f1;border-radius:14px;padding:10px}.stat-card.on{border-color:var(--aqua2);background:#fff;grid-column:1/-1}.stat-card p{margin-top:6px;font-size:.9rem}.log-row{border-bottom:1px solid #a0c8e180;flex-wrap:wrap;align-items:center;gap:10px;padding:7px 4px;display:flex}.log-row small{text-align:right;margin-left:auto}.gallery{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;display:grid}.gallery button{background:#fff;border:1px solid #cfe4f1;border-radius:12px;flex-direction:column;gap:4px;padding:5px;display:flex}.gallery img{aspect-ratio:3/2;object-fit:cover;border-radius:8px;width:100%}.lightbox{z-index:80;background:#081e30db;place-content:center;justify-items:center;gap:10px;padding:14px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.lightbox img{border:3px solid #fff;border-radius:12px;max-width:94vw;max-height:78dvh}.cal-head{text-transform:capitalize;justify-content:space-between;align-items:center;margin:4px 0 8px;display:flex}.cal{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-dow{text-align:center;color:var(--ink2);font-size:.75rem;font-weight:700}.cal-day{background:#ffffffbf;border:1px solid #cfe4f1;border-radius:10px;flex-direction:column;align-items:center;min-height:42px;padding:3px;font-size:.88rem;font-weight:600;display:flex}.cal-day.today{border-color:#ff9800}.cal-day.sel{border-color:var(--aqua2);background:linear-gradient(#c8eeff,#8ad6fb)}.dots{gap:3px;height:8px;display:flex}.dot{border-radius:50%;width:7px;height:7px;display:inline-block}.dot.act{background:#29b6f6}.dot.goal{background:#ff9800}.dot.done{background:#43a047}.goal{background:#ffffffbf;border:1px solid #cfe4f1;border-radius:12px;align-items:center;gap:8px;margin-top:5px;padding:6px 8px;display:flex}.goal label{cursor:pointer;flex:1;align-items:center;gap:8px;display:flex}.goal.done label{color:var(--ink2);text-decoration:line-through}.moods{gap:4px;display:flex}.moods button{filter:grayscale(.7);background:0 0;border:1px solid #0000;border-radius:50%;width:40px;height:40px;font-size:1.5rem}.moods button.on{filter:none;border-color:var(--aqua);background:#fff}.entry{-webkit-user-select:text;user-select:text;background:#ffffffc7;border:1px solid #cfe4f1;border-radius:12px;margin-top:6px;padding:8px 12px}.entry header{justify-content:space-between;align-items:center;display:flex}.entry p{white-space:pre-wrap}.habits{flex-direction:column;gap:5px;margin-top:8px;display:flex}.habit{grid-template-columns:minmax(96px,1fr) repeat(7,32px) 34px;align-items:center;gap:4px;display:grid}.habit.head small{text-align:center;text-transform:uppercase}.habit-name{flex-direction:column;min-width:0;font-size:.88rem;font-weight:600;display:flex}.hcheck{color:#fff;background:#fff;border:1px solid #b7d6e8;border-radius:9px;width:32px;height:32px;padding:0;font-weight:800}.hcheck.on{background:linear-gradient(#8fe08a,#43a047);border-color:#2e7d32}@media (max-width:640px){:root{font-size:14px}.menu>.credit-tag{display:none}.credit{display:block}.hbtn span{display:none}.hbtn{min-width:42px;padding:7px 8px}.who .time small{display:none}.who small{max-width:30vw}.menu,.creator{background:0 0;align-items:flex-end;padding:8px}.menu-card,.creator-card{width:100%;max-height:62dvh}.creator-card{max-height:54dvh}.creator-body{min-height:110px}.modal{max-height:94dvh}.overlay{padding:6px}.plan-row{flex-wrap:wrap}.plan-row select{flex:1;max-width:none}.habit{grid-template-columns:minmax(70px,1fr) repeat(7,28px) 30px;gap:3px}.hcheck{width:28px;height:28px}}@media (max-height:480px) and (orientation:landscape){.menu-card,.creator-card{max-height:96dvh}.menu-card{gap:6px;padding:12px}.btn.big{padding:7px 14px}.joystick{width:104px;height:104px}.minimap{top:64px}}@media (prefers-reduced-motion:reduce){*{transition-duration:10ms!important;animation:none!important}}
