:root{--lime:#c5e14b;--red:#db4349;--slate:#d1dde2;--black:#000;--white:#fff;--navy:#101e29;--display:"Hanken Grotesk", "Pretendard", sans-serif;--body:"Pretendard", "Apple SD Gothic Neo", sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--frame:12px}html.m,html.m body{background:var(--lime);color:var(--black);overscroll-behavior:none;height:100%;margin:0;overflow:hidden}.m *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}.m-root{background:var(--lime);font-family:var(--body);-webkit-user-select:none;user-select:none;touch-action:none;font-size:16px;line-height:1.6;position:fixed;inset:0}.m-frame{padding:calc(var(--frame) + env(safe-area-inset-top)) var(--frame) calc(var(--frame) + env(safe-area-inset-bottom));position:absolute;inset:0}.m-panel{background:var(--slate);flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.m-full{background:var(--lime);position:absolute;inset:0}.m-hdr{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;z-index:3;flex:none;justify-content:space-between;align-items:center;padding:18px 18px 0;font-size:9px;font-weight:700;display:flex;position:relative}.m-hdr .dot{background:var(--red);vertical-align:middle;border-radius:50%;width:5px;height:5px;margin-left:8px;animation:1.8s ease-in-out infinite m-pulse;display:inline-block}.m-scene{flex:1;min-height:0;position:relative}.m-stage{transition:opacity .35s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.m-stage.hush{opacity:.55}.m-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.m-os{z-index:2;pointer-events:none;flex-direction:column;flex:none;justify-content:flex-end;gap:8px;min-height:26%;padding:10px 18px 6px;display:flex;position:relative}.m-line{opacity:0;max-width:34ch;margin:0;font-size:15px;line-height:1.6;transition:opacity .25s cubic-bezier(.2,.7,.2,1),transform .25s cubic-bezier(.2,.7,.2,1);transform:translateY(8px)}.m-line.in{opacity:1;transform:none}.m-label{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;opacity:.5;font-size:8px;font-weight:700}.m-ftr{z-index:2;flex:none;padding:6px 18px 14px;position:relative}.m-wave{width:100%;height:14px;display:block}.m-ftr-line{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;opacity:.7;border-top:1px solid #00000040;justify-content:space-between;margin-top:8px;padding-top:8px;font-size:8px;font-weight:700;display:flex}.m-reset{appearance:none;font:inherit;color:var(--red);cursor:pointer;pointer-events:auto;background:0 0;border:0;border-radius:0;margin:-4px 0;padding:4px 0 4px 14px}.m-choice{appearance:none;font-family:var(--body);color:var(--black);white-space:nowrap;cursor:pointer;z-index:2;background:0 0;border:0;border-radius:0;padding:8px 10px;font-size:12px;font-weight:700;transition:opacity .3s,color .2s;position:absolute;transform:translate(-50%,-50%)}.m-choice.chosen{color:var(--red)}.m-choice.dim{opacity:0}.m-log{height:200px;font-family:var(--mono);letter-spacing:.04em;pointer-events:none;z-index:2;flex-direction:column;justify-content:center;padding:0 18px;font-size:12px;display:flex;position:absolute;bottom:12px;left:0;right:0}.m-log div{opacity:0;white-space:pre;transition:opacity 80ms linear}.m-log div.in{opacity:1}.m-log div.out{opacity:0;transition:opacity .15s linear}.m-cardslot{z-index:2;position:absolute;bottom:12px;left:18px;right:18px}.m-card{background:var(--white);color:var(--black);border:1px solid var(--black);cursor:pointer;flex-direction:column;gap:8px;padding:12px 14px;animation:.6s cubic-bezier(.2,.7,.2,1) m-rise;display:flex}.m-card .cid{font-family:var(--mono);letter-spacing:.06em;font-size:13px;font-weight:700}.m-card .meta{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;grid-template-columns:auto 1fr;gap:3px 14px;font-size:8px;display:grid}.m-card .meta span:nth-child(odd){opacity:.45;font-weight:700}.m-card .meta span:nth-child(2n){text-align:right;font-weight:900}.m-ticket{aspect-ratio:2.4;background:#ffe3b3;width:100%;position:relative;overflow:hidden}.m-cardfull{z-index:4;background:var(--slate);align-items:center;padding:18px;display:flex;position:absolute;inset:0}.m-card.full{gap:14px;width:100%;padding:18px 16px;animation:none}.m-card.full .m-ticket{aspect-ratio:1.5}.m-card.full .cid{font-size:16px}@keyframes m-pulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes m-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
