.shell{flex-direction:column;max-width:520px;min-height:100dvh;margin:0 auto;display:flex}.shell__main{padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));flex-direction:column;flex:1;display:flex}.shell__main--dock{padding-bottom:calc(var(--tap) + var(--space-3) * 2 + var(--space-4) + 1px + env(safe-area-inset-bottom,0px))}.conn{z-index:20;padding:var(--space-2) var(--space-4);background:var(--margin);color:#14213d;text-align:center;font-size:15px;font-weight:600;position:sticky;top:0}.conn[hidden]{display:none}.topbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4) 0;display:flex}.topbar__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);font-size:15px;overflow:hidden}.boot,.center-view{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-4);text-align:center;flex-direction:column;flex:1;display:flex}.boot__title{font-size:56px;line-height:1}.center-view__title{font-size:28px;line-height:1.2}.center-view__text{max-width:32ch;font-size:18px}.center-view__note{box-sizing:border-box;text-align:left;width:100%;max-width:320px}.center-view__next{margin-bottom:var(--space-2);font-size:14px;font-weight:600}.center-view__steps{padding-left:var(--space-5);margin:0;font-size:18px;line-height:1.4}.form-error{min-height:1.4em;color:var(--margin);text-decoration:underline;-webkit-text-decoration-color:var(--margin);text-decoration-color:var(--margin);text-underline-offset:4px;font-weight:600;text-decoration-thickness:2px}.lobby{align-items:center;gap:var(--space-3);text-align:center;padding-top:var(--space-4);flex-direction:column;display:flex}.lobby__title{font-size:64px;line-height:1}.lobby__sub{font-size:24px}.lobby__text{max-width:34ch;color:var(--text)}.lobby__qr{margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius);background:#fff}.lobby__code{font-size:18px}.lobby__code-label{color:var(--text-muted);font-size:15px}.lobby__code-value{letter-spacing:.1em;font-variant-numeric:tabular-nums;font-size:32px}.writing,.writing-scan{gap:var(--space-4);flex-direction:column;display:flex}.writing__title{font-size:26px;line-height:1.2}.writing__note{gap:var(--space-3);padding:var(--space-4);flex-direction:column;display:flex}.note-field{flex-direction:column;gap:2px;display:flex}.note-field__label{color:var(--ink);font-size:14px;font-weight:600}.note-field__input{width:100%;min-height:48px;padding:var(--space-1) 0;border:0;border-bottom:2px solid var(--ink);color:var(--ink);caret-color:var(--ink);background:0 0;border-radius:0;font-size:22px}.note-field__input--area{resize:none;padding-top:var(--space-1);font-family:inherit;line-height:1.3;display:block;overflow:hidden}.note-field__input:disabled{opacity:.6}.note-field__input:focus-visible{outline-color:var(--ink);outline-offset:4px}.note-field__count{color:var(--ink);font-variant-numeric:tabular-nums;align-self:flex-end;font-size:14px}.note-field__count[hidden]{display:none}.note-field__count--near{font-weight:700}.c-scanner__title,.c-scanner__label{color:var(--text)}.c-scanner__input{min-height:48px;padding:0 var(--space-3);border:2px solid var(--ink-on-dark);border-radius:var(--radius);background:var(--ground-2);color:var(--text);font-size:22px}.c-scanner__error{text-decoration:underline;-webkit-text-decoration-color:var(--margin);text-decoration-color:var(--margin);text-underline-offset:4px;font-weight:600;text-decoration-thickness:2px}.c-scanner__submit,.c-scanner__cancel{min-height:48px;padding:0 var(--space-4);font:inherit;border-radius:var(--radius);border:2px solid var(--ink-on-dark);background:var(--ink);color:var(--paper);cursor:pointer;font-weight:600}.c-scanner__submit:disabled{opacity:.55;cursor:not-allowed}.c-scanner__cancel{color:var(--text);background:0 0}.qr-sheet{z-index:50;padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--ground);background-image:linear-gradient(var(--ground-grid) 1px, transparent 1px), linear-gradient(90deg, var(--ground-grid) 1px, transparent 1px);background-size:var(--grid-size) var(--grid-size);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.qr-sheet__paper{align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;width:100%;max-width:440px;display:flex}.qr-sheet__hint{font-weight:600}.qr-sheet__qr{padding:var(--space-3);border-radius:var(--radius);background:#fff}.qr-sheet__qr .c-qr__caption{display:none}.qr-sheet__code{flex-direction:column;align-items:center;display:flex}.qr-sheet__code-label{font-size:14px;font-weight:600}.qr-sheet__code-value{letter-spacing:.12em;font-variant-numeric:tabular-nums;font-size:40px;font-weight:700}.rv{box-sizing:border-box;width:100%;max-width:32rem;padding:var(--space-4) var(--space-4) calc(var(--tap) + var(--space-6) * 2 + env(safe-area-inset-bottom,0px));color:var(--text);gap:var(--space-3);flex-direction:column;margin:0 auto;display:flex;overflow-x:hidden}.rv__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.rv__round{margin:0;font-size:1.125rem;font-weight:600}.rv__num{font-family:var(--font-hand);color:var(--ink-on-dark);padding:0 .1em;font-size:2rem;line-height:1}.rv__timer{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:600}.rv__ruler{background:var(--ground-2);border-radius:2px;height:4px;overflow:hidden}.rv__ruler-fill{background:var(--ink-on-dark);height:100%;transition:width .25s linear}.rv__body{gap:var(--space-3);flex-direction:column;display:flex}.rv__title{color:var(--text-muted);margin:0;font-size:1rem;font-weight:600}.rv__hint{margin:0;font-size:1rem;line-height:1.4}.rv__empty p{margin:0;line-height:1.4}.rv__error{margin:var(--space-2) 0 0;color:var(--margin);text-align:center}.rv__own{border:1px solid var(--margin);padding:var(--space-3);background:var(--ground-2);border-radius:var(--radius)}.rv__own p{margin:0 0 var(--space-3);font-size:1.0625rem;line-height:1.4}.rv__own-close{min-height:44px}.rv__dock{padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--ground-2);border-top:1px solid var(--ground-grid);box-sizing:border-box;position:fixed;bottom:0;left:0;right:0}.rv__dock-row{gap:var(--space-3);max-width:32rem;margin:0 auto;display:flex}.rv__qr{width:var(--tap);height:var(--tap);min-height:var(--tap);flex-direction:column;flex:none;gap:2px;padding:0;font-size:.75rem;line-height:1}.rv__qr--wide{width:auto;padding:0 var(--space-4);flex-direction:row;flex:1;font-size:1.0625rem}.rv__qr-icon{display:block}.rv__action{width:100%;min-width:0;min-height:var(--tap);font-variant-numeric:tabular-nums;white-space:normal;flex:1;font-size:1.0625rem;display:block}.rv__action:disabled{opacity:1;color:var(--text);border:2px dashed var(--text-muted);cursor:default;background:0 0}.rv__scan{z-index:20;padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px));background:var(--ground);color:var(--text);box-sizing:border-box;position:fixed;inset:0;overflow-y:auto}.rv__scan .c-scanner{--color-error:var(--margin);--scanner-frame:var(--ink-on-dark);max-width:32rem;margin:0 auto}.rv__scan .c-scanner__title{margin:0;font-size:1.125rem}.rv__scan .c-scanner__error{color:var(--margin)}.rv__scan .c-scanner__input,.rv__scan .c-scanner__submit,.rv__scan .c-scanner__cancel{min-height:44px;font-size:1rem}.rv__scan .c-scanner__input{width:7ch}.nc,.nc__slot{position:relative}.nc__slot--out{z-index:2;pointer-events:none;animation:.6s cubic-bezier(.5,0,.75,.4) forwards nc-leave;position:absolute;top:0;left:0;right:0}.nc__slot--out .nc__real{visibility:hidden}.nc__slot--in .nc__real{animation:.8s step-end both nc-reveal}.nc__fold{perspective:1200px;pointer-events:none;position:absolute;inset:0}.nc__fold--in{animation:.8s cubic-bezier(.22,1,.36,1) both nc-arrive}.nc__half{position:absolute;inset:0}.nc__half--top{clip-path:inset(0 0 50%)}.nc__half--bottom{clip-path:inset(50% 0 0);backface-visibility:hidden}.nc__flap{transform-style:preserve-3d;transform-origin:50%;position:absolute;inset:0}.nc__fold--out .nc__flap{animation:.3s ease-in-out both nc-fold-down}.nc__fold--in .nc__flap{animation:.25s ease-in-out .55s both nc-fold-up}.nc__back{backface-visibility:hidden;background:color-mix(in srgb, var(--paper) 88%, var(--ink));border:1px solid var(--paper-grid);border-radius:0 0 4px 4px;position:absolute;inset:50% 0 0;transform:rotateX(180deg)}.nc__crease{background:color-mix(in srgb, var(--ink) 35%, var(--paper));opacity:0;height:2px;margin-top:-1px;position:absolute;top:50%;left:0;right:0}.nc__fold--out .nc__crease{animation:.3s ease-in both nc-crease}.nc__fold--in .nc__crease{animation:.25s ease-out .55s both nc-crease-in}.nc__sheet{padding:var(--space-4);box-sizing:border-box;transform:rotate(-1deg)}.nc__facts{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.nc__label{letter-spacing:.04em;color:color-mix(in srgb, var(--ink) 75%, var(--paper));font-size:.75rem;display:block}.nc__fact{font-family:var(--font-ui);color:var(--ink);overflow-wrap:anywhere;margin:2px 0 0;font-size:1.4rem;line-height:1.3}.nc__footnote{margin:var(--space-3) 0 0;color:var(--ink);font-size:.8125rem}.nc__margin{margin:var(--space-3) 0 0;padding:0 0 0 var(--space-5);gap:var(--space-2);flex-direction:column;list-style:none;display:flex;position:relative}.nc__margin:before,.rs__route:before{content:"";left:var(--space-2);top:calc(var(--space-1) * -1);bottom:calc(var(--space-1) * -1);background:var(--margin);width:2px;position:absolute}.nc__question{color:var(--text);overflow-wrap:anywhere;font-size:1rem;line-height:1.4}@keyframes nc-fold-down{0%{transform:rotateX(0)}to{transform:rotateX(180deg)}}@keyframes nc-fold-up{0%{transform:rotateX(180deg)}to{transform:rotateX(0)}}@keyframes nc-crease{0%{opacity:0}to{opacity:1}}@keyframes nc-crease-in{0%{opacity:1}to{opacity:0}}@keyframes nc-leave{0%,50%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-115%)}}@keyframes nc-arrive{0%,30%{opacity:0;transform:translate(115%)}34%{opacity:1}68%{opacity:1;transform:translate(0)}99.9%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(0)}}@keyframes nc-reveal{0%{visibility:hidden}to{visibility:visible}}@keyframes nc-flash{0%,to{outline:0 solid #0000}30%{outline:3px solid var(--focus);outline-offset:2px}}@media (prefers-reduced-motion:reduce){.nc__slot--out,.nc__fold{display:none}.nc__slot--in .nc__real{animation:none}.nc__slot--in .nc__real .nc__sheet{animation:.6s ease-out nc-flash}}.fv__title{color:var(--text);font-size:2rem;font-weight:800;line-height:1.1}.fv__sent{gap:var(--space-3);flex-direction:column;margin:0;display:flex}.fv__sign{font-family:var(--font-hand);color:var(--ink-on-dark);overflow-wrap:anywhere;font-size:2.25rem;line-height:1.1}.fv__ok{color:var(--ok);margin:0;font-size:1.5rem;font-weight:600}.fv__wrong{color:var(--margin);margin:0;font-size:1.25rem;font-weight:600}.fv__hint{padding:var(--space-2) var(--space-3);border:1px solid var(--margin);border-radius:var(--radius);margin:0;font-size:1.0625rem}.rs{gap:var(--space-5);flex-direction:column;display:flex}.rs__finish{font-size:2rem;font-weight:800;line-height:1.1}.rs__section{gap:var(--space-3);flex-direction:column;display:flex}.rs__name{font-family:var(--font-hand);color:var(--ink-on-dark);overflow-wrap:anywhere;margin:0;font-size:2.5rem;line-height:1.1}.rs__lost{padding:var(--space-2) var(--space-3);border:1px solid var(--margin);border-radius:var(--radius);margin:0;font-size:1.0625rem;line-height:1.4}.rs__warm{margin:0;font-size:1.0625rem;line-height:1.45}.rs__route{padding:0 0 0 var(--space-5);gap:var(--space-1);flex-direction:column;margin:0;list-style:none;display:flex;position:relative}.rs__sign{font-family:var(--font-hand);color:var(--ink-on-dark);overflow-wrap:anywhere;font-size:1.75rem;line-height:1.2}.rs__idx{min-width:1.5em;font-family:var(--font-ui);color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.875rem;display:inline-block}.rs__talked{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rs__talked li{padding:var(--space-2) var(--space-3);background:var(--ground-2);border-radius:var(--radius);overflow-wrap:anywhere;font-size:1.0625rem}
