*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;overscroll-behavior:none;background:var(--ink-deep);color:var(--ui-white);font-family:Hiragino Sans,Noto Sans JP,Yu Gothic UI,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.6;-webkit-text-size-adjust:100%}.app,body,html{overflow:hidden}.app{position:relative;width:100vw;height:100vh;height:100dvh}.sky{inset:0;background:var(--concept-sky)}.sky,.sky__blob{position:absolute}.sky__blob{border-radius:50%;background:rgba(247,247,247,.16)}.intro{position:absolute;inset:0;padding:40px calc(24px + env(safe-area-inset-right, 0px)) calc(32px + env(safe-area-inset-bottom, 0px)) calc(24px + env(safe-area-inset-left, 0px));display:flex;flex-direction:column;align-items:center}.intro__title{margin:0;color:var(--ink-deep);font-size:27px;font-weight:700;letter-spacing:.02em}.intro__lead{margin:8px 0 0;color:var(--ink-deep);font-size:13px;text-align:center}.intro__stage{flex:1 1;min-height:0;width:100%;padding-top:var(--intro-bubble-reserve);align-items:center;justify-content:center}.intro__figure,.intro__stage{position:relative;display:flex}.intro__figure{width:min(var(--intro-figure-w),var(--intro-figure-w-max));max-height:100%}.intro__bubble{bottom:calc(100% + var(--bubble-tail-gap));right:var(--intro-bubble-right);white-space:nowrap;margin:0;padding:var(--bubble-pad-y) var(--bubble-pad-x);border:var(--bubble-line-width) solid var(--bubble-line);border-radius:999px;color:var(--bubble-text);font-size:var(--bubble-font);font-weight:var(--bubble-weight);line-height:var(--bubble-leading);animation:bubble-pop var(--bubble-pop) ease-out both}.intro__bubble,.intro__bubble:after{position:absolute;background:var(--bubble-fill)}.intro__bubble:after{content:"";bottom:calc(-1 * var(--bubble-tail-h) + var(--bubble-line-width));right:var(--bubble-tail-inset);width:var(--bubble-tail-w);height:var(--bubble-tail-h);-webkit-clip-path:polygon(0 0,100% 0,50% 100%);clip-path:polygon(0 0,100% 0,50% 100%)}@keyframes bubble-pop{0%{transform:scale(var(--bubble-pop-from));opacity:0}to{transform:scale(1);opacity:1}}.intro__concept{width:100%;height:auto;max-height:100%;object-fit:contain}.intro__concept--pop{animation:concept-pop var(--intro-pop) var(--pop-ease) var(--intro-pop-count) both}@keyframes concept-pop{0%{transform:scale(.72);opacity:0}to{transform:scale(1);opacity:1}}.intro__foot{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.intro__hint{opacity:.86}.intro__error,.intro__hint{margin:0;color:var(--ink-deep);font-size:12px}.intro__error{max-width:30ch;font-weight:700;text-align:center}.pill{position:relative;padding:15px 30px;border:none;border-radius:999px;background:var(--concept-teal);color:var(--ui-white);font:inherit;font-size:17px;font-weight:700;cursor:pointer}.pill:focus{outline:none}.pill:focus-visible{outline:none;box-shadow:var(--pill-focus-ring)}.pill:hover:not(:disabled){background:var(--pill-hover)}.pill:active:not(:disabled){background:var(--pill-pressed)}.pill:disabled{opacity:.6;cursor:progress}.pill--quiet{background:none;color:var(--ink-deep)}.pill--quiet:hover:not(:disabled){background:var(--pill-quiet-hover)}.pill--quiet:active:not(:disabled){background:var(--pill-quiet-pressed)}.stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--ink-deep)}.frame{position:relative;max-width:100%;max-height:100%}.stage__canvas{display:block;width:100%;height:100%;border-radius:var(--screen-radius);touch-action:none}.tap-hint{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;pointer-events:none}.tap-hint__ring{position:absolute;inset:0;border:2px solid var(--ui-white);border-radius:50%;animation:tap-hint-pulse var(--tap-hint-pulse) ease-out infinite}.tap-hint__icon{left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;filter:drop-shadow(0 1px 2px rgba(18,62,74,.45))}.tap-hint__icon,.tap-hint__label{position:absolute;top:50%;color:var(--ui-white);animation:tap-hint-fade var(--tap-hint-pulse) ease-out infinite}.tap-hint__label{left:calc(50% + 30px);transform:translateY(-50%);text-shadow:var(--text-shadow);font-size:13px;letter-spacing:.08em;white-space:nowrap;pointer-events:none}@keyframes tap-hint-fade{0%,to{opacity:.55}35%{opacity:1}}@keyframes tap-hint-pulse{0%{transform:scale(.6);opacity:0}35%{transform:scale(1);opacity:.9}to{transform:scale(1.5);opacity:0}}.pull{position:fixed;top:env(safe-area-inset-top,0);left:50%;z-index:4;display:flex;flex-direction:column;align-items:center;gap:6px;transform:translate(-50%,calc(var(--pull-travel) * var(--pull-progress) - 100%));opacity:calc(.4 + .6 * var(--pull-progress));pointer-events:none}.pull[data-armed=true] .pull__ring{border-color:var(--concept-teal);border-top-color:var(--ui-white)}.pull[data-armed=true] .pull__label{font-weight:700}.pull[data-reloading=true]{transform:translate(-50%,calc(var(--pull-travel) - 100%));opacity:1;transition:transform var(--pull-release) ease-out}.pull[data-reloading=true] .pull__ring{animation:pull-spin var(--pull-spin) linear infinite}.pull__ring{width:var(--pull-ring);height:var(--pull-ring);border-top-color:rgba(255,255,255,.5);border:var(--pull-ring-line) solid rgba(255,255,255,.5);border-top:var(--pull-ring-line) solid var(--concept-teal);border-radius:50%;background:rgba(18,62,74,.25);transform:rotate(calc(var(--pull-progress) * 270deg))}.pull__label{margin:0;color:var(--ui-white);text-shadow:var(--text-shadow);font-size:12px;letter-spacing:.06em;white-space:nowrap}@keyframes pull-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.pull[data-reloading=true] .pull__ring{animation:none}.pull[data-reloading=true]{transition:none}}.controls{position:absolute;left:0;right:0;bottom:0;padding:28px calc(var(--edge) + env(safe-area-inset-right, 0px)) calc(var(--controls-bottom) + var(--remain-reserve) + env(safe-area-inset-bottom, 0px)) calc(var(--edge) + env(safe-area-inset-left, 0px));background:linear-gradient(to bottom,var(--scrim-zero) 0,var(--scrim-zero) 34%,var(--scrim-mid) 66%,var(--scrim-strong) 100%);display:flex;flex-direction:column;align-items:center;gap:12px}@media (max-height:720px){.controls{padding-top:16px;gap:8px}.conditions{gap:8px}.choice__item{font-size:17px}}.controls--side{top:0;left:auto;width:max-content;min-width:var(--side-band-min);max-width:calc(100% * var(--side-band-max-ratio));padding:20px calc(14px + env(safe-area-inset-right, 0px)) calc(20px + var(--remain-reserve) + env(safe-area-inset-bottom, 0px)) 14px;background:linear-gradient(to right,var(--scrim-zero),var(--scrim-strong));justify-content:center;gap:22px}.conditions{width:100%;display:flex;flex-direction:column;align-items:center;gap:14px;border:none;margin:0;padding:0}.conditions--locked{opacity:.72}.controls--side .conditions{gap:40px;min-height:0;overflow:clip}.choice{display:flex;align-items:baseline;flex-wrap:nowrap;gap:12px;white-space:nowrap}.controls--side .choice{display:grid;grid-template-columns:max-content max-content;grid-column-gap:10px;column-gap:10px;grid-row-gap:4px;row-gap:4px;justify-content:start}.choice__label{min-width:3.4em;white-space:nowrap;color:rgba(247,247,247,.82);text-align:right;text-shadow:var(--text-shadow);font-size:12px;letter-spacing:.12em}.controls--side .choice__label{grid-column:1/-1;min-width:0;text-align:left}.choice__item{padding:2px 0;white-space:nowrap;border:none;background:none;color:rgba(247,247,247,.88);font:inherit;font-size:19px;text-shadow:var(--text-shadow);cursor:pointer}.choice__item[aria-pressed=true]{color:var(--ui-white);font-weight:700;box-shadow:inset 0 -3px 0 0 var(--concept-orange)}.choice__item:disabled{cursor:default}.choice__note{white-space:nowrap;color:rgba(247,247,247,.82);text-shadow:var(--text-shadow);font-size:13px}@media (max-width:430px){.choice{gap:8px}.choice__label{min-width:2.8em;font-size:11px;letter-spacing:.06em}.choice__item{font-size:17px}.choice__note{font-size:11px}}@media (max-height:480px){.controls--side{padding:10px calc(14px + env(safe-area-inset-right, 0px)) calc(10px + var(--remain-reserve) + env(safe-area-inset-bottom, 0px)) 14px;gap:14px}.controls--side .conditions{gap:12px}.controls--side .choice{row-gap:2px}.controls--side .choice__label{font-size:11px;letter-spacing:.06em}.controls--side .choice__item{font-size:16px}.controls--side .choice__note{font-size:11px}}@media (max-height:380px){.controls--side{padding:6px calc(14px + env(safe-area-inset-right, 0px)) calc(6px + var(--remain-reserve) + env(safe-area-inset-bottom, 0px)) 14px;gap:10px}.controls--side .conditions{gap:8px}.controls--side .choice{row-gap:0}.controls--side .choice__item{font-size:15px}}.shutter{position:relative;flex:0 0 auto;width:var(--shutter-size);height:var(--shutter-size);border:none;border-radius:50%;background:var(--concept-yellow);cursor:pointer}.shutter:disabled{opacity:.5;cursor:progress}.shutter:after{content:"";position:absolute;inset:-10px;border:3px solid rgba(254,223,37,.55);border-radius:50%;opacity:0}.shutter--pressed:after{animation:shutter-ripple var(--shutter-ripple) ease-out infinite}@keyframes shutter-ripple{0%{inset:-2px;opacity:.9}to{inset:-22px;opacity:0}}.shutter-ring{position:relative;flex:0 0 auto;width:var(--shutter-size);height:var(--shutter-size)}.shutter-ring .shutter{position:absolute;inset:0}.shutter-ring svg{position:absolute;inset:-9px;width:calc(var(--shutter-size) + 18px);height:calc(var(--shutter-size) + 18px);transform:rotate(-90deg)}.remain{top:calc(100% + var(--remain-gap));left:50%;transform:translateX(-50%);white-space:nowrap;color:var(--concept-orange);font-size:var(--remain-font);line-height:var(--remain-leading);font-weight:700;letter-spacing:.14em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"tnum"}.remain,.status{position:absolute;margin:0;text-shadow:var(--text-shadow)}.status{left:calc(var(--edge) + env(safe-area-inset-left, 0px));right:calc(var(--edge) + env(safe-area-inset-right, 0px));bottom:calc(4px + env(safe-area-inset-bottom, 0px));color:rgba(247,247,247,.72);font-size:11px;text-align:center}.record{position:absolute;inset:0;padding:calc(16px + env(safe-area-inset-top, 0px)) calc(20px + env(safe-area-inset-right, 0px)) calc(18px + env(safe-area-inset-bottom, 0px)) calc(20px + env(safe-area-inset-left, 0px));display:flex;flex-direction:column;gap:10px}.record__head{display:flex;align-items:baseline;justify-content:space-between}.record__title{margin:0;color:var(--ink-deep);font-size:21px;font-weight:700}.record__subtitle{margin:4px 0 0;color:var(--ink-deep);font-size:12px;opacity:.86}.record__shot{position:relative;flex:1 1;margin:0 -20px;overflow:hidden;display:flex;align-items:center;justify-content:center}.record__frame{position:relative;height:100%;max-width:100%}.record__media{display:block;width:100%;height:100%;object-fit:contain}.record__kind{position:absolute;left:14px;bottom:12px;margin:0;color:var(--ui-white);text-shadow:0 1px 3px rgba(18,62,74,.85);font-size:11px}.record__choice{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.record__choice .choice__label{min-width:0;color:var(--ink-deep);text-align:left;text-shadow:none;opacity:.86}.record__actions{display:flex;align-items:center;gap:12px;width:100%;padding-bottom:4px}.record__actions .pill,.record__close{white-space:nowrap}.record__actions .pill{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;font-size:16px;text-decoration:none}.record__actions .pill--quiet{padding-left:16px;padding-right:16px}.pill__icon{width:18px;height:18px;flex:none}.record__actions>:last-child{margin-left:auto}.record__actions .pill--send{flex-direction:column;gap:2px;padding:9px 22px;line-height:1.2}.pill__line{display:inline-flex;align-items:center;gap:8px}.record__send-hint{font-size:10px;font-weight:400;line-height:1.2;letter-spacing:.02em;white-space:nowrap}.record__close{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;border:none;border-radius:999px;background:none;color:var(--ink-deep);opacity:.82;font:inherit;font-size:14px;cursor:pointer}.record__close:focus{outline:none}.record__close:focus-visible{outline:none;box-shadow:var(--pill-focus-ring)}.record__close:active{opacity:1}.record__note{margin:0;min-height:1.2em;color:var(--ink-deep);font-size:12px}.debug{position:absolute;top:0;left:0;right:0;z-index:20;max-height:46vh;overflow-y:auto;padding:8px 10px;background:rgba(18,62,74,.82);color:var(--ui-white);font-family:ui-monospace,monospace;font-size:10px;line-height:1.5}.debug__row{display:flex;flex-wrap:wrap;gap:8px}.debug__warn{color:var(--concept-orange);font-weight:700}.debug__log{margin:6px 0 0;padding:0;list-style:none}.debug__level--error{color:var(--concept-orange)}.debug__level--warn{color:var(--concept-yellow)}.debug__level--ok{color:var(--concept-sky)}.debug__controls{display:flex;gap:8px;margin-top:6px}.debug__button{border:1px solid var(--ui-white);border-radius:999px;padding:3px 10px;background:none;color:var(--ui-white);font:inherit;font-size:10px;cursor:pointer}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}@media (pointer:coarse){.choice__item{padding:6px 0}}@media (hover:hover) and (pointer:fine){.stage__canvas{cursor:pointer}.choice__item:hover:not(:disabled){color:var(--ui-white)}}@media (max-height:560px){.intro{padding:14px 20px 16px}.intro__title{font-size:21px}.intro__lead{margin-top:4px;font-size:12px}.intro__stage{padding-top:var(--intro-bubble-reserve-short)}.intro__figure{width:min(var(--intro-figure-w-short),var(--intro-figure-w-max-short))}.intro__foot{gap:8px}.intro__hint{font-size:11px}.pill{padding:11px 24px;font-size:15px}}@media (min-width:561px) and (min-height:561px){.stage{padding:var(--stage-pad)}}