:root{--bg: oklch(.12 0 0);--surface: oklch(.17 .004 210);--ink: oklch(.93 .005 200);--muted: oklch(.66 .012 200);--primary: oklch(.78 .1 200);--accent: oklch(.8 .13 80);--mono: "Nanum Gothic Coding", ui-monospace, Consolas, monospace;--radius: 4px;--gap: 1rem}*,*:before,*:after{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--mono);font-size:16px;line-height:1.6;-webkit-text-size-adjust:100%}#root{max-width:640px;margin:0 auto;padding:2rem 1rem 1.5rem;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;gap:1.75rem}main{flex:1}p{margin:0}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.header{display:flex;flex-direction:column;align-items:center}.stage{display:flex;justify-content:center;width:100%;overflow-x:auto}.totem{margin:0;font-family:var(--mono);font-size:min(1.375rem,calc((100vw - 2.5rem) / 23));line-height:1.15;white-space:pre;color:var(--ink)}.stage-accent .totem{color:var(--accent)}.stage-muted .totem{color:var(--muted)}.stage-primary .totem{color:var(--primary)}.search{display:flex;align-items:center;gap:.5rem;background:var(--surface);border:1px solid transparent;border-radius:var(--radius);padding:.625rem .75rem}.search:focus-within{border-color:var(--primary)}.search-prompt{color:var(--primary);font-weight:700;flex:none}.search:has(.search-input:placeholder-shown:focus) .search-prompt{animation:blink 1.1s steps(1,end) infinite}.search-input{flex:1;min-width:0;background:none;border:none;color:var(--ink);font:inherit;padding:0;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-input::placeholder{color:var(--muted)}.search-input::-webkit-search-cancel-button,.search-input::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:none}.search-clear{flex:none;background:none;border:none;color:var(--muted);font:inherit;line-height:1;padding:.25rem .4rem;border-radius:var(--radius);cursor:pointer}.search-clear:hover{color:var(--ink)}.search-clear:active{color:var(--primary)}.output{margin-top:var(--gap)}.results{display:flex;flex-direction:column}.result{display:flex;align-items:baseline;gap:.5rem;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--surface);color:var(--ink);font:inherit;padding:.6rem .5rem;cursor:pointer}.result:last-child{border-bottom:none}.result:hover,.result-active{background:var(--surface)}.result:active{color:var(--primary)}.result-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-year{color:var(--muted);font-size:.8125rem;flex:none}.badge{flex:none;color:var(--muted);font-size:.8125rem}.badge-has{color:var(--accent)}.badge-pending{color:var(--primary)}.badge-review{flex:none;color:var(--primary);font-size:.6875rem}.card{background:var(--surface);border-radius:var(--radius);padding:1.5rem 1.25rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}.verdict{font-size:1.625rem;font-weight:700;color:var(--muted)}.verdict-has{color:var(--accent)}.verdict-pending{color:var(--primary);font-size:1.375rem}.dots{margin-left:.5rem;font-size:.875rem;letter-spacing:.05em;vertical-align:.2em}.where{color:var(--ink);font-size:.9375rem}.note{color:var(--muted);font-size:.875rem;max-width:34ch}.card-title{margin:.5rem 0 0;font-size:1rem;font-weight:700}.card-year{color:var(--muted);font-weight:400}.card-title-en{color:var(--muted);font-size:.8125rem}.review-note{margin-top:.25rem;color:var(--muted);font-size:.8125rem}.state{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;padding:1.5rem 0}.state-line{font-size:1.0625rem;font-weight:700}.state-sub{color:var(--muted);font-size:.875rem}.empty{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem}.latest-label{margin-top:.5rem;color:var(--muted)}.link-button{margin-top:.5rem;background:none;border:none;border-bottom:1px solid var(--muted);color:var(--primary);font:inherit;font-size:.875rem;padding:0 0 .15rem;cursor:pointer}.link-button:hover{border-bottom-color:var(--primary)}.link-button:active{color:var(--ink)}.admin{display:flex;flex-direction:column;gap:.5rem}.admin-note{color:var(--muted);font-size:.8125rem}.admin-heading{margin:1.25rem 0 0;font-size:.9375rem;font-weight:700}.admin-count{color:var(--muted);font-weight:400;font-size:.8125rem}.admin-status{color:var(--muted);font-size:.75rem;word-break:break-word}.admin-rows{display:flex;flex-direction:column}.admin-row{display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--surface);color:var(--ink);text-decoration:none;padding:.4rem .25rem}a.admin-row:hover{background:var(--surface)}.admin-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem}.admin-year,.admin-added{flex:none;color:var(--muted);font-size:.75rem}.admin-days{flex:none;color:var(--primary);font-size:.75rem}.totem-thumb{flex:none;width:64px;height:41px;overflow:hidden;display:block}.totem-thumb pre{margin:0;width:152px;font-family:var(--mono);font-size:.5rem;line-height:1.1;white-space:pre;color:var(--accent);transform:scale(.42);transform-origin:0 0}.totem-none{color:var(--muted);font-size:.625rem;line-height:41px}.footer{color:var(--muted);font-size:.75rem;text-align:center;display:flex;flex-direction:column;gap:.25rem}.mark{letter-spacing:.08em}@keyframes blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@keyframes enter{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.enter{animation:enter .18s ease-out}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
