:root{--ink: #000000;--surface: #ffffff;--accent: #eeff00;--accent-hover: #e2f200;--accent-pale: #fbffd1;--accent-ink: #5c6600;--secondary: #6b6b6b;--muted: #9a9a93;--disabled-text: #a8a8a2;--disabled-bg: #ededea;--hairline: #e2e2de;--hairline-soft: #ddddd8;--destructive: #e11d26;--destructive-dark: #ff5a5a;--desk: #c9c9c4;--wash: #f4f4f1;--wash-dim: #fafaf8;--on-dark-dim: #6e6e6e;--on-dark-rule: #2a2a2a;--ink-hover: #333333;--destructive-wash: #fff0f0}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%;overscroll-behavior:none}body{font-family:Archivo,Noto Sans JP,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;text-wrap:pretty;background:var(--surface);overflow:hidden}#root{height:100%}.app-desk{display:flex;justify-content:center;align-items:flex-start;min-height:var(--app-h, 100dvh)}.app-frame{width:100%;height:var(--app-h, 100dvh);background:var(--surface);position:relative;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 479px){.app-frame{position:fixed;inset:0;width:auto;height:auto}}.app-width{width:100%}.app-top-space{flex:none;height:max(env(safe-area-inset-top),8px)}@media (min-width: 480px){body{background:var(--desk);overflow:auto}.app-frame{max-width:393px;min-height:852px}.app-width{max-width:393px}.app-top-space{height:52px}}button,input,textarea,select{font-family:inherit;color:var(--ink)}a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}a:hover{color:var(--accent-ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:1px}::-webkit-scrollbar{display:none}input::placeholder{color:var(--muted);font-weight:500}.h-acc:hover:not(:disabled){background:var(--accent)!important}.h-acc2:hover:not(:disabled){background:var(--accent-hover)!important}.h-pale:hover:not(:disabled){background:var(--accent-pale)!important}.h-ink:hover:not(:disabled){background:var(--ink-hover)!important}.h-wash:hover:not(:disabled){background:var(--wash)!important}.h-red:hover:not(:disabled){background:var(--destructive-wash)!important}.h-bd:hover:not(:disabled){border-color:var(--ink)!important}@keyframes upIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes stepIn{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes blink{0%,to{opacity:1}50%{opacity:.15}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
