.bell-hero{--stage-width:min(52vw, 46rem);min-height:max(40rem, calc(var(--stage-width) * 1.1875));position:relative}.bell-grid{min-height:calc(var(--stage-width) * 1.1875 - var(--header-height) - clamp(3rem, 7vw, 6rem));align-items:center;padding-bottom:clamp(2rem,5vw,4rem);display:flex}.bell-copy{z-index:2;gap:1.5rem;max-width:36rem;display:grid;position:relative}.bell-copy .page-actions{margin-top:.5rem}.bell-stage{top:0;right:max(.5rem, (100% - var(--page)) / 2 - 2rem);width:var(--stage-width);aspect-ratio:640/760;position:absolute}.bell-art{width:100%;height:100%;overflow:visible}.bell-ink{stroke:var(--ink);stroke-width:14px;stroke-linecap:round;stroke-linejoin:round}.bell-rod{stroke:url(#bell-rod)}.bell-body,.bell-lip,.bell-handle,.bell-board-frame{fill:var(--white)}.bell-detail{stroke:var(--ink);stroke-width:7px;stroke-linecap:round}.bell-lanyard,.bell-handle{stroke-width:10px}.bell-ball{fill:var(--pink-hot)}.bell-wave{fill:none;stroke:var(--pink);stroke-width:10px;stroke-linecap:round;opacity:0;transform-box:view-box;transform-origin:360px 452px}.bell-board-frame{stroke-width:10px}.bell-board .bell-detail{stroke-width:6px}.bell-board-label{fill:var(--ink-2);letter-spacing:-.01em;font-size:19px;font-weight:600}.bell-mark{fill:none;stroke:var(--ink);stroke-width:6.5px;stroke-linecap:round}.bell-mark-strike{stroke:var(--pink-hot)}.bell-hit,.bell-pull{z-index:3;-webkit-tap-highlight-color:transparent;position:absolute}.bell-hit{cursor:pointer;border-radius:45% 45% 14% 14%;width:50%;height:46%;top:18%;left:31%}.bell-pull{border-radius:var(--radius-l);cursor:grab;touch-action:none;width:18%;height:32%;top:66%;left:47%}.bell-pull:active{cursor:grabbing}.bell-hit:focus-visible,.bell-pull:focus-visible{outline-offset:6px}.bell-hint{z-index:2;border-radius:var(--radius-pill);background:var(--mist);color:var(--ink-2);font-size:var(--text-micro);transition:opacity .4s var(--ease-out), translate .6s var(--ease-settle);align-items:center;gap:.5rem;padding:.4rem .85rem;font-weight:600;display:inline-flex;position:absolute;top:31%;left:2%}.bell-hint:after{content:"";background:currentColor;border-radius:1px;width:1.5rem;height:2px}.bell-hero.is-touched .bell-hint{opacity:0;translate:.75rem}.bell-replies{z-index:2;width:min(21rem,78vw);height:6rem;position:absolute;top:64%;left:-4%}.bell-reply{background:var(--white);box-shadow:var(--shadow-float);transform-origin:50% 0;transition:transform .7s var(--ease-settle), opacity .5s var(--ease-out);border-radius:1.25rem;grid-template-columns:2.4rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.85rem .9rem;display:grid;position:absolute;inset:0 0 auto}.bell-reply>*{transition:opacity .3s var(--ease-out)}.bell-reply[data-slot="0"]{z-index:3}.bell-reply[data-slot="1"]{z-index:2;transform:translateY(.85rem)scale(.94)}.bell-reply[data-slot="2"]{z-index:1;transform:translateY(1.7rem)scale(.88)}.bell-reply[data-slot=out]{z-index:0;opacity:0;transform:translateY(2.4rem)scale(.82)}.bell-reply:not([data-slot="0"])>*{opacity:0}.bell-reply.is-new{animation:bell-reply-out .82s var(--ease-settle)}.bell-reply-avatar{background:var(--pink-deep);width:2.4rem;height:2.4rem;color:var(--white);border-radius:50%;place-items:center;font-size:.8125rem;font-weight:600;display:grid}.bell-reply-text{min-width:0;line-height:1.3;display:grid}.bell-reply-name{text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:600;overflow:hidden}.bell-reply-name span{color:var(--ink-3);font-weight:400}.bell-reply-message{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.bell-reply-tag{border-radius:var(--radius-pill);background:var(--pink-deep);color:var(--white);padding:.25rem .6rem;font-size:.75rem;font-weight:600}.bell-reply-warm .bell-reply-tag{background:var(--pink-soft);color:var(--pink-ink)}.bell-reply-calm .bell-reply-avatar,.bell-reply-calm .bell-reply-tag{background:var(--mist);color:var(--ink-2)}.motion .bell-hero .bell-ink,.motion .bell-hero .bell-detail{stroke-dasharray:1;stroke-dashoffset:1px;animation:bell-draw 1.3s var(--ease-draw) forwards}.motion .bell-hero .bell-mount .bell-ink{animation-delay:.1s}.motion .bell-hero .bell-canon,.motion .bell-hero .bell-body{animation-delay:.25s}.motion .bell-hero .bell-detail,.motion .bell-hero .bell-lip{animation-delay:.55s}.motion .bell-hero .bell-clapper .bell-ink{animation-delay:.8s}.motion .bell-hero .bell-board .bell-ink,.motion .bell-hero .bell-board .bell-detail{animation-delay:.95s}.motion .bell-hero .bell-ball,.motion .bell-hero .bell-board-label,.motion .bell-hero .bell-tally{opacity:0;animation:bell-fade .5s var(--ease-out) 1.3s forwards}.motion .bell-hero .bell-mark.is-new{stroke-dasharray:1;stroke-dashoffset:1px;animation:bell-draw .42s var(--ease-out) .12s forwards}.motion .bell-replies{opacity:0;animation:bell-fade .6s var(--ease-out) 1.2s forwards}.motion .bell-hint{opacity:0;animation:bell-fade .6s var(--ease-out) 2.4s forwards}.bell-stage.is-ringing .bell-wave{animation:bell-wave 1.1s var(--ease-out) calc(var(--w) * .11s)}@keyframes bell-draw{to{stroke-dashoffset:0}}@keyframes bell-fade{to{opacity:1}}@keyframes bell-wave{0%{opacity:0;scale:.9}30%{opacity:1}to{opacity:0;scale:1.08}}@keyframes bell-reply-out{0%{opacity:0;transform:translate(55%,-95%)scale(.35)rotate(-10deg)}}.todo{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:2.5rem clamp(2rem,6vw,6rem);display:grid}.todo-side{top:calc(var(--header-height) + 2.5rem);gap:1.5rem;display:grid;position:sticky}.todo-side .lead{max-width:27rem}.todo-count{align-items:baseline;gap:.9rem;margin-top:1rem;display:flex}.todo-count-number{letter-spacing:-.06em;min-width:1ch;font-size:clamp(5.5rem,12vw,10.5rem);font-weight:600;line-height:.8}.todo-count-label{color:var(--ink-2);font-size:var(--text-lead);font-weight:500}.todo-list{border-top:1px solid var(--line)}.todo-item{border-bottom:1px solid var(--line);grid-template-columns:2.75rem minmax(0,1fr);gap:clamp(1rem,2vw,1.5rem);padding-block:clamp(1.4rem,2.6vw,2rem);display:grid}.todo-box{border:4.5px solid var(--ink);width:2.75rem;height:2.75rem;transition:background-color .4s var(--ease-out), border-color .4s var(--ease-out);border-radius:.85rem;place-items:center;margin-top:.1rem;display:grid}.todo-box svg{width:1.75rem;height:1.75rem;overflow:visible}.todo-box path{fill:none;stroke:var(--white);stroke-width:5.5px;stroke-linecap:round;stroke-linejoin:round}.todo-item:not(.todo-yours) .todo-box{border-color:var(--ink);background:var(--ink)}.todo-task{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(1.375rem,2.3vw,2rem);font-weight:600;line-height:1.15}.todo-words{display:inline;position:relative}.todo-item:not(.todo-yours) .todo-words{color:var(--ink-3)}.todo-strike{width:calc(100% + .08em);height:.32em;position:absolute;top:58%;left:-.04em;overflow:visible;translate:0 -45%}.todo-strike path{fill:none;stroke:var(--pink);stroke-width:9px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}.todo-done{max-width:34rem;color:var(--ink-2);margin-top:.55rem;line-height:1.55}.todo-yours .todo-box{border-color:var(--pink-hot);box-shadow:0 0 0 .45rem var(--pink-soft)}.todo-yours .todo-done{color:var(--pink-ink);font-weight:500}.motion .todo-item:not(.todo-yours) .todo-box{background:0 0}.motion .todo-item:not(.todo-yours) .todo-box path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .42s var(--ease-out) .12s}.motion .todo-item:not(.todo-yours) .todo-words{color:var(--ink);transition:color .5s var(--ease-out) .3s}.motion .todo-strike path{stroke-dashoffset:1px;transition:stroke-dashoffset .7s var(--ease-draw) .26s}.motion .todo-item:not(.todo-yours) .todo-done{opacity:0;transition:opacity .5s var(--ease-out) .42s, translate .7s var(--ease-settle) .42s;translate:0 .5rem}.motion .todo-item.is-done:not(.todo-yours) .todo-box{background:var(--ink)}.motion .todo-item.is-done .todo-box path,.motion .todo-item.is-done .todo-strike path{stroke-dashoffset:0}.motion .todo-item.is-done:not(.todo-yours) .todo-words{color:var(--ink-3)}.motion .todo-item.is-done .todo-done{opacity:1;translate:0}.motion .todo-yours.is-done .todo-box{animation:todo-wait 2.2s var(--ease-out) .6s infinite}@keyframes todo-wait{0%,to{box-shadow:0 0 0 .45rem var(--pink-soft)}50%{box-shadow:0 0 0 .85rem var(--pink-mist)}}.floor-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,.85fr);align-items:start;gap:1.5rem clamp(2rem,4vw,4rem);display:grid}.floor-plan{border-radius:var(--radius-xl);background:var(--mist);margin:0;padding:clamp(.75rem,2vw,1.5rem);position:relative}.floor-art{width:100%;height:auto;overflow:visible}.floor-wall{stroke:var(--ink);stroke-width:12px;stroke-linecap:round;stroke-linejoin:round}.floor-door{stroke:var(--ink-quiet);stroke-width:3px;stroke-dasharray:2 9;stroke-linecap:round}.floor-window{stroke:var(--ink);stroke-width:6px;stroke-linecap:round}.floor-top{fill:var(--white);stroke:var(--ink);stroke-width:6px;transition:fill .3s var(--ease-out), stroke .3s var(--ease-out)}.floor-chair{fill:var(--white);stroke:var(--ink-quiet);stroke-width:5px}.floor-screen{stroke:var(--ink);stroke-width:7px;stroke-linecap:round}.floor-bell path{fill:var(--white);stroke:var(--ink);stroke-width:4px;stroke-linejoin:round}.floor-bell .floor-bell-wave{fill:none;stroke:var(--pink);stroke-linecap:round}.floor-bell-ball{fill:var(--pink-hot)}.motion .floor-wall{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.6s var(--ease-draw)}.motion .floor-plan.is-in .floor-wall{stroke-dashoffset:0}.floor-labels{pointer-events:none;position:absolute;inset:clamp(.75rem,2vw,1.5rem)}.floor-label{top:var(--y);left:var(--x);text-align:center;white-space:nowrap;justify-items:center;font-size:clamp(.6875rem,1.1vw,.9375rem);line-height:1.2;display:grid;position:absolute;translate:-50% -50%}.floor-label strong{font-weight:600}.floor-label span{color:var(--ink-2);font-size:.85em}.floor-side{gap:1.5rem;display:grid}.floor-roles{border-top:1px solid var(--line)}.floor-role{border-bottom:1px solid var(--line);border-radius:var(--radius-s);cursor:default;transition:background-color var(--duration-ui) var(--ease-out);gap:.25rem;padding:1rem .75rem;display:grid}.floor-role:hover,.floor-role:focus-visible{background:var(--pink-mist)}.floor-role-name{letter-spacing:-.02em;font-size:1.1875rem;font-weight:600}.floor-role-can{color:var(--ink-2);font-size:var(--text-small);line-height:1.5}.floor-rule{border-radius:var(--radius-l);background:var(--pink-mist);color:var(--ink-2);font-size:var(--text-small);gap:.4rem;padding:1.25rem 1.35rem;line-height:1.55;display:grid}.floor-rule-title{color:var(--ink);letter-spacing:-.015em;font-size:1.125rem;font-weight:600}.motion .floor-plan.is-in .floor-member .floor-top{animation:floor-reply 18s var(--ease-out) calc(1.2s + var(--d) * 3s) infinite}.motion .floor-plan.is-in .floor-bell-wave{animation:floor-ring 3s var(--ease-out) 1.2s infinite}.floor-bell-wave{opacity:0}@keyframes floor-reply{0%,13%,to{fill:var(--white);stroke:var(--ink)}2%,9%{fill:var(--pink-soft);stroke:var(--pink-deep)}}@keyframes floor-ring{0%,45%,to{opacity:0}10%{opacity:1}}.floor-layout:has(.floor-role:is(:hover,:focus-visible)) .floor-top{animation:none}.floor-layout:has(.floor-role-owner:is(:hover,:focus-visible)) .floor-owner .floor-top,.floor-layout:has(.floor-role-admin:is(:hover,:focus-visible)) .floor-admin .floor-top,.floor-layout:has(.floor-role-member:is(:hover,:focus-visible)) .floor-member .floor-top,.floor-layout:has(.floor-role-viewer:is(:hover,:focus-visible)) .floor-viewer .floor-top{fill:var(--pink-soft);stroke:var(--pink-deep)}@media (width>=1000px) and (width<=1300px){.bell-hero{--stage-width:48vw}.bell-copy{max-width:44vw}.bell-replies{width:min(21rem,46%);left:2%}}@media (width<=1100px){.floor-layout{grid-template-columns:1fr}.floor-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media (width<=999px){.bell-hero{--stage-width:min(100%, 30rem);min-height:0;padding-top:var(--header-height)}.bell-grid{flex-direction:column;align-items:stretch;min-height:0}.bell-stage{width:var(--stage-width);order:-1;width:min(72%,24rem);margin:0 0 1rem auto;position:relative;right:auto}.bell-replies{width:min(15.5rem,64vw);top:66%;left:-42%}.bell-reply-tag{display:none}.bell-reply{grid-template-columns:2.1rem minmax(0,1fr);padding:.7rem .75rem}.bell-reply-avatar{width:2.1rem;height:2.1rem}.bell-hint{top:30%;left:-40%}.todo{grid-template-columns:1fr}.todo-side{position:static}.todo-count{display:none}}@media (width<=640px){.floor-side{grid-template-columns:1fr}.floor-label span{display:none}}
