html:has([data-companion-surface]),html:has([data-companion-surface]) body{height:100dvh;max-height:100dvh;overflow:hidden}html:has([data-companion-surface]) [class*=site-mochi-config],html:has([data-companion-surface]) [class*=site-mochi-mascot]{display:none!important}.companion-root{--c-ink:#140c18;--c-paper:#fff6ee;--c-pink:#ff8fcf;--c-cyan:#7ad7ff;--c-gold:#d4a017;--c-gray:#8a8680;--c-line:#140c18;height:100dvh;max-height:100dvh;overflow:hidden;color:var(--c-ink);font-family:var(--font-nunito),var(--font-sans),sans-serif;background:radial-gradient(circle at 18% 12%,rgba(255,143,207,.28),transparent 42%),radial-gradient(circle at 88% 18%,rgba(122,215,255,.26),transparent 46%),radial-gradient(circle at 50% 88%,rgba(212,160,23,.22),transparent 40%),linear-gradient(180deg,#fffaf4,#ffe9d6)}.companion-root *{box-sizing:border-box}.companion-desk{position:relative;width:100%;height:100dvh}.companion-logout{right:14px;z-index:40;background:#fff;color:var(--c-ink);font:inherit;cursor:pointer}.companion-logout,.leave-signal{position:fixed;top:14px;border-radius:999px;border:2px solid var(--c-ink);font-size:13px;font-weight:800;padding:6px 14px}.leave-signal{left:50%;transform:translateX(-50%);z-index:42;margin:0;background:var(--c-ink);color:#fff6ee;white-space:nowrap}.board-legend,.desk-legend{font-size:11px;font-weight:800;color:var(--c-ink);line-height:1.3;margin:0}.desk-legend{position:fixed;left:12px;right:12px;bottom:10px;z-index:20;text-align:center;pointer-events:none}.companion-login-card{position:fixed;left:50%;top:18%;transform:translateX(-50%);z-index:200;pointer-events:auto;isolation:isolate;overflow:visible;width:min(280px,86vw);background:#fff;border:2px solid var(--c-ink);border-radius:22px;padding:18px 16px 16px;box-shadow:8px 10px 0 var(--c-ink);text-align:center}.companion-login-hi{font-size:1.6rem;font-weight:800;margin:0 0 4px;color:var(--c-ink)}.companion-login-line{margin:0 0 12px;font-size:13px;font-weight:700;color:var(--c-ink)}.companion-login-hint{margin:10px 0 0;font-size:10px;font-weight:700;line-height:1.3;color:#5c564e;word-break:break-all}.companion-login-error{color:#9b123c;font-size:13px;font-weight:800;margin:8px 0 0}.ra-status{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:30;margin:0;padding:6px 14px;border-radius:999px;border:2px solid var(--c-ink);background:var(--c-gold);color:var(--c-ink);font:inherit;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer}.companion-google-btn{display:flex;justify-content:center;min-height:44px;position:relative;z-index:1;pointer-events:auto;isolation:isolate}.companion-google-btn iframe{pointer-events:auto}.companion-google-fallback{display:inline-flex;align-items:center;justify-content:center;min-height:44px;width:100%;border:2px solid var(--c-ink);border-radius:999px;background:#fff;color:var(--c-ink);font-size:14px;font-weight:800;cursor:pointer;pointer-events:auto}.companion-google-fallback:disabled{opacity:.55;cursor:wait}.companion-overlay{position:fixed;inset:0;z-index:160;pointer-events:none;overflow:visible}.companion-mascot,.companion-working-sprite{pointer-events:auto;border:0;padding:0;background:transparent}.companion-mascot{position:absolute;z-index:38;touch-action:none;-webkit-user-select:none;user-select:none;overflow:visible}.companion-mascot.is-dragging{z-index:50}.companion-mascot canvas,.companion-working-sprite canvas,.mascot-sprite,.mascot-sprite canvas{display:block;width:100%;height:100%;pointer-events:none}.companion-pet,.companion-pet-svg,.pet-note,.pet-think-dots,.pet-zzz{display:none!important}.mascot-alert,.mascot-bubble{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);width:max-content;max-width:min(240px,70vw);min-width:3.2em;padding:7px 11px;border:2px solid var(--c-ink);border-radius:16px 16px 16px 6px;background:#fff;color:var(--c-ink);font-size:13px;font-weight:800;line-height:1.25;white-space:nowrap;word-break:normal;overflow-wrap:normal;writing-mode:horizontal-tb;text-orientation:mixed;box-shadow:3px 4px 0 var(--c-ink);z-index:3}.mascot-alert{pointer-events:none}.mascot-bubble{pointer-events:auto;cursor:pointer}.mascot-bubble[data-bubble-placement=above-head]{bottom:calc(100% + 6px);top:auto;transform:translateX(-50%)}.mascot-bubble[data-bubble-placement=beside-left]{left:auto;right:calc(100% + 8px);bottom:50%;transform:translateY(50%)}.mascot-bubble[data-bubble-placement=beside-right]{left:calc(100% + 8px);bottom:50%;transform:translateY(50%)}.mascot-bubble[data-bubble-placement=below-feet]{bottom:auto;top:calc(100% + 6px);transform:translateX(-50%)}.companion-mascot[data-pack=mochi] .mascot-bubble{background:#ffd6ee}.companion-mascot[data-pack=lulox] .mascot-bubble{background:#c8f3ff}.companion-mascot[data-pack=nimbo] .mascot-bubble{background:#f6e4a4}.mascot-alert{background:var(--c-ink);color:#fff6ee;bottom:calc(100% + 52px)}@keyframes mascot-hop{0%,to{translate:0 0}50%{translate:0 -16px}}.companion-mascot.is-hop{animation:mascot-hop .55s ease-in-out infinite}.companion-mascot.is-kiss{filter:saturate(1.08)}.companion-mascot.is-apart{opacity:.88}.talk-window{position:fixed;z-index:420;width:min(320px,84vw);max-height:none;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:2px solid var(--c-ink);border-radius:18px;box-shadow:6px 8px 0 var(--c-ink);top:12%;left:50%;transform:translateX(-50%)}.talk-window.tint-pink{background:#ffe4f3}.talk-window.tint-cyan{background:#d9f6ff}.talk-window.tint-gold{background:#f6e7b2}.talk-window.tint-pink .miniapp-chrome,.talk-window.tint-pink .talk-chrome{background:#c2186a}.talk-window.tint-cyan .miniapp-chrome,.talk-window.tint-cyan .talk-chrome{background:#0a6e94}.talk-window.tint-gold .miniapp-chrome,.talk-window.tint-gold .talk-chrome{background:#6b4f0a}.talk-chrome{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;color:#fff;font-size:12px;font-weight:800;letter-spacing:.04em}.talk-close{border:0;background:transparent;color:#fff;font-size:18px;line-height:1;cursor:pointer}.talk-body{flex-direction:column;gap:8px;padding:8px 10px 10px;overflow:hidden;flex:1}.talk-body,.talk-log{display:flex;min-height:0}.talk-log{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;flex-direction:column;gap:6px}.talk-composer{flex:0 0 auto}.talk-typing{display:inline-flex;align-items:center;gap:4px;min-height:18px}.talk-dot{width:6px;height:6px;border-radius:50%;background:var(--c-ink);opacity:.35;animation:talk-dot 1.1s ease-in-out infinite}.talk-dot:nth-child(2){animation-delay:.18s}.talk-dot:nth-child(3){animation-delay:.36s}@keyframes talk-dot{0%,60%,to{opacity:.28;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.talk-empty,.talk-line{margin:0;font-size:13px;font-weight:700;line-height:1.3;color:var(--c-ink)}.talk-line.from-me{align-self:flex-end;background:#fff;border:2px solid var(--c-ink);border-radius:12px 12px 4px 12px;padding:5px 8px}.talk-line.from-them{align-self:flex-start;background:rgba(255,255,255,.7);border:2px solid var(--c-ink);border-radius:12px 12px 12px 4px;padding:5px 8px}.talk-composer{display:flex;gap:6px}.board-add input,.talk-composer input{flex:1;min-width:0;border:2px solid var(--c-ink);border-radius:12px;background:#fff;color:var(--c-ink);font:inherit;font-size:14px;font-weight:700;padding:7px 9px;outline:none}.talk-composer button{border:2px solid var(--c-ink);border-radius:12px;background:var(--c-ink);color:#fff6ee;font:inherit;font-size:13px;font-weight:800;padding:7px 12px;cursor:pointer}.talk-composer button:disabled{opacity:.35;cursor:default}.board-feel-gold{background:#f0d36a}.board-card-ops{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.board-mini-btn{border:2px solid var(--c-ink);border-radius:8px;background:#fff;color:var(--c-ink);font:inherit;font-size:10px;font-weight:800;padding:2px 6px;cursor:pointer}.board-mini{display:flex;gap:10px;overflow:auto;flex:1;min-height:0;height:100%;align-items:stretch;padding-bottom:8px}.board-column{min-width:240px;width:240px;flex:0 0 240px;background:#ebecf0;border:1px solid #d0cdc6;border-radius:12px;padding:8px;display:flex;flex-direction:column;min-height:0;max-height:100%;overflow:hidden}.board-cards{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.board-column .miniapp-add{flex:0 0 auto;margin-top:6px}.board-column.is-drop{background:#fff4c8;box-shadow:4px 4px 0 var(--c-ink)}.board-feel{cursor:grab;touch-action:none;user-select:none}.ra-wizard{gap:8px}.ra-wizard,.ra-wizard-steps{display:flex;flex-direction:column}.ra-wizard-steps{list-style:none;margin:0;padding:0;gap:10px}.ra-wizard-steps li{display:flex;gap:10px;align-items:flex-start}.ra-wizard-n{width:28px;height:28px;flex:0 0 28px;border-radius:50%;border:2px solid var(--c-ink);background:var(--c-gold);display:grid;place-items:center;font-size:13px;font-weight:800}.ra-wizard-steps strong{display:block;font-size:14px}.ra-wizard-steps p{margin:2px 0 8px;font-size:13px;font-weight:700;line-height:1.35}.ra-connect{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:2px solid var(--c-ink);background:var(--c-gold);color:var(--c-ink);font:inherit;font-size:14px;font-weight:800;padding:6px 16px;text-decoration:none;cursor:pointer}.ra-connect[disabled]{opacity:.4;cursor:default}.ra-game-hint{margin:0 0 8px;font-size:11px;font-weight:800}.ra-sky{position:fixed;top:0;left:0;right:0;z-index:350;height:72px;display:grid;place-items:center;background:rgba(20,12,24,.88);color:#fff6ee;font-size:14px;font-weight:800;pointer-events:none}.ra-sky.is-hot{background:#e24b4b}.ra-drag-card{position:fixed;z-index:360;width:132px;pointer-events:none;box-shadow:6px 8px 0 var(--c-ink)}.miniapp-window[data-miniapp-window=boards]{width:min(960px,94vw);height:min(78vh,720px);max-height:min(82vh,760px);overflow:hidden}.miniapp-full.is-minimized,.miniapp-window.is-minimized{transform:translate(-200vw,-200vh)!important;pointer-events:none!important}.ra-game{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;position:relative}.ra-game .feel-dots{margin-top:6px}.ra-game .feel-dot{width:12px;height:12px}.board-col-title{display:block;margin-bottom:6px}.board-col-title,.board-feel{font-size:11px;font-weight:800}.board-feel{border-radius:8px;padding:5px 6px;margin-bottom:5px;color:#140c18;border:1px solid #140c18}.board-card{cursor:grab;touch-action:none;user-select:none;background:#fff;border:1px solid #d8d4cc;border-radius:3px;box-shadow:0 1px 0 rgba(9,30,66,.2);padding:8px 10px;margin-bottom:8px;color:#172b4d;font-size:13px;font-weight:700}.board-card.is-on{box-shadow:0 0 0 2px #026aa7}.board-card-label{display:block;width:40px;height:8px;border-radius:4px;margin-bottom:6px;border:0}.board-feel-red{background:#e85d4c;color:#fff}.board-feel-orange{background:#f4a24c}.board-feel-yellow{background:#f2d35b}.board-feel-green{background:#6fbf73;color:#fff}.board-feel-blue{background:#4c8ddb;color:#fff}.board-feel-purple{background:#8a5cc8;color:#fff}.board-add{margin-top:4px}.feel-dots{display:flex;gap:6px}.feel-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--c-ink);padding:0;cursor:pointer}.feel-dot.is-on{outline:2px solid var(--c-ink);outline-offset:1px}.companion-working-sprite{display:block;margin:0 auto;pointer-events:none}.desk-faces{position:fixed;top:14px;left:14px;z-index:42;display:flex;gap:8px;pointer-events:auto}.desk-face{width:14px;height:14px;border-radius:50%;border:2px solid var(--c-ink);display:block;position:relative;font-size:0;line-height:0;color:transparent;cursor:default}.desk-tip{position:absolute;left:0;top:calc(100% + 8px);z-index:60;width:max-content;max-width:240px;padding:6px 10px;border-radius:10px;border:2px solid var(--c-ink);background:#fff;color:var(--c-ink);font-size:12px;font-weight:800;line-height:1.3;white-space:nowrap;writing-mode:horizontal-tb}.desk-face[data-dot=green]{background:#3dcc6f}.desk-face[data-dot=yellow]{background:#f0d24a}.desk-face[data-dot=red]{background:#e24b4b;color:#fff6ee}.app-dock{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:80;align-items:center;gap:8px;max-width:min(92vw,520px)}.app-dock,.app-dock-nav{display:flex;flex-wrap:wrap;justify-content:center}.app-dock-nav{gap:6px;padding:6px 8px;border-radius:999px;border:2px solid var(--c-ink);background:#fff6ee}.dock-btn,.ra-launcher,.ra-nav-btn,.ra-switch{border-radius:999px;border:2px solid var(--c-ink);background:var(--c-gold);color:var(--c-ink);font:inherit;font-size:13px;font-weight:800;padding:6px 14px;cursor:pointer}.app-dock-nav,.ra-nav{display:flex;flex-wrap:wrap;gap:6px}.dock-btn,.ra-nav-btn{background:#fff}.dock-btn.is-on,.miniapp-row button.is-on,.ra-nav-btn.is-on{background:var(--c-gold)}.miniapp-window{z-index:46;width:min(320px,86vw);max-height:70vh;background:#fff;border:2px solid var(--c-ink);border-radius:18px;box-shadow:6px 8px 0 var(--c-ink)}.miniapp-full,.miniapp-window{position:fixed;display:flex;flex-direction:column;overflow:hidden}.miniapp-full{inset:0;z-index:70;width:100vw;height:100dvh;max-height:100dvh;background:#fff6ee;border:0}.miniapp-full .miniapp-body{padding-bottom:72px}.miniapp-chrome{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;background:var(--c-ink);color:#fff6ee;font-size:12px;font-weight:800;letter-spacing:.04em;cursor:grab;touch-action:none;flex:0 0 auto}.win-resize{position:absolute;z-index:3;background:transparent;touch-action:none}.win-resize[data-dir=n]{top:0}.win-resize[data-dir=n],.win-resize[data-dir=s]{left:10px;right:10px;height:8px;cursor:ns-resize}.win-resize[data-dir=s]{bottom:0}.win-resize[data-dir=e]{top:10px;right:0;bottom:10px;width:8px;cursor:ew-resize}.win-resize[data-dir=w]{top:10px;left:0;bottom:10px;width:8px;cursor:ew-resize}.win-resize[data-dir=ne]{top:0;right:0;width:12px;height:12px;cursor:nesw-resize}.win-resize[data-dir=nw]{top:0;left:0;width:12px;height:12px;cursor:nwse-resize}.win-resize[data-dir=se]{bottom:0;right:0;width:12px;height:12px;cursor:nwse-resize}.win-resize[data-dir=sw]{bottom:0;left:0;width:12px;height:12px;cursor:nesw-resize}.miniapp-full .miniapp-chrome{cursor:default}.miniapp-body{padding:10px;min-height:0;overflow:auto;flex:1}.miniapp-body.ra-game{display:flex;flex-direction:column;overflow:hidden;min-height:0;height:100%;position:relative}.miniapp-kicker{margin:0 0 8px;font-size:12px;font-weight:800}.miniapp-clock{margin:0 0 10px;font-size:2rem;font-weight:800}.miniapp-row{display:flex;gap:6px}.miniapp-row.wrap{flex-wrap:wrap}.miniapp-add button,.miniapp-row button{border:2px solid var(--c-ink);border-radius:12px;background:#fff;color:var(--c-ink);font:inherit;font-size:13px;font-weight:800;padding:6px 10px;cursor:pointer}.miniapp-list{list-style:none;margin:0 0 8px;padding:0;flex-direction:column;font-size:13px;font-weight:700}.miniapp-add,.miniapp-list{display:flex;gap:6px}.miniapp-add input{flex:1;min-width:0;border:2px solid var(--c-ink);border-radius:12px;background:#fff;color:var(--c-ink);font:inherit;font-size:14px;font-weight:700;padding:7px 9px}.miniapp-video{width:100%;min-height:160px;border:0;border-radius:12px;margin-top:8px}@media (max-width:699px){.talk-window,.talk-window.tint-cyan,.talk-window.tint-gold,.talk-window.tint-pink{left:0;right:0;top:auto;bottom:0;transform:none;width:100vw;max-width:100vw;max-height:min(48dvh,420px);z-index:420;border-radius:18px 18px 0 0;display:flex}.talk-window .talk-log{flex:1 1 auto;min-height:0}}.board-feel.is-on{box-shadow:3px 3px 0 var(--c-ink)}.board-card-title{display:block}.board-card-meta{display:block;margin-top:3px;font-size:10px;font-weight:700;opacity:.85}.ra-card-modal{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:18px 12px;pointer-events:auto}.ra-card-backdrop{position:absolute;inset:0;border:0;padding:0;margin:0;background:rgba(20,12,24,.58);cursor:pointer}.ra-card-sheet{position:relative;z-index:1;width:min(720px,94vw);max-height:min(84vh,720px);overflow:auto;border:2px solid var(--c-ink);border-radius:12px;background:#fff;padding:16px 18px;display:flex;flex-direction:column;gap:8px;box-shadow:8px 12px 0 var(--c-ink)}.ra-checklist{font-size:13px;font-weight:700}.ra-checklist,.ra-checklist ul{display:flex;flex-direction:column;gap:4px}.ra-checklist ul{list-style:none;margin:0;padding:0}.ra-checklist label{display:flex;gap:6px;align-items:flex-start}.ra-card-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ra-field{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:800}.ra-field input,.ra-field select,.ra-field textarea{border:2px solid var(--c-ink);border-radius:10px;background:#fff;color:var(--c-ink);font:inherit;font-size:13px;font-weight:700;padding:6px 8px}.ra-links{list-style:none;margin:0;padding:0;font-size:12px;font-weight:700}.ra-links a{color:var(--c-ink)}